Upgrade our fork of the TinyMCE editor and host it in an NPM package

Description

We have a copy of the TinyMCE source code in edx-platform that was last updated in 2014. It seems like it was copied because there were a few edX-specific changes that needed to be made.

TinyMCE is now on version 4.7+ which includes a fix that will allow course authors to click on an image to edit it (they currently have to know to drag the cursor and highlight the image to edit).

Keeping vendor source files inside of a git repo is generally considered bad practice. We should instead fork the TinyMCE repository into the edX github organization and then make the ~7 edX specific changes (marked in the current code with EDX-prefixed comments) and publish it to our @edx NPM package repository so that the edx-platform can install it via NPM.

The NPM package name should then be added to the edx-platform package.json and to the NPM_INSTALLED_LIBRARIES so that it is copied to the django static assets folder.

The tinymce source will then be available at common/static/common/js/vendor instead of common/static/js/vendor/tinymce, so any reference to that folder should be updated (for example, in the require-config.js).

Be aware that there may be other dependencies of the edx-platform that are hosted outside of the edx-platform repo that rely on its TinyMCE editor (for example, in ORA). So make sure that those usages still work post-upgrade.

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Status

Assignee

Unassigned

Reporter

Tyler Hallada

Labels

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Priority

Unset
Configure