A couple of weeks ago, Engage shut down our offices for a day so that everyone in the company could work on making DNN better. The primary component that we wanted to focus on was the rich text editor, specifically making some investments in the CKEditor provider, so that it can replace the Telerik RadEditor provider (the community had already decided to migrate to the CKEditor for a number of reasons, so we wanted to ensure that we were migrating to something that we would want to use). I wanted to give a quick rundown of what we accomplished and what's next for the CKEditor in DNN.
Firstly, we contributed a new HTML Editor Manager module to the DNN core, which provides a place for any HTML Editor Provider to configure its settings (the current/old HTML Editor Manager page/module is specific to the RadEditor).
Secondly, in addition to that core contribution, we had a few contributions specifically to the CKEditor provider. Ingo Herbote has a well-thought-of provider for the CKEditor, which we used as a starting point. We standardized the editor's settings to use DNN's form patterns. We also adjusted how it renders content by default, so that as you're editing content, the site's styles are applied (including pulling in CSS from default, module, skin, container, and portal style sheets, as well as a custom style sheet just for the editor, if configured).
We also made some progress in other areas, but not enough to submit those changes as complete contributions. We're hopeful that we can finish that investment in the short term and get some more clean up into the project.
At this point in time, the HTML Editor Manager contribution will ship with DNN 7.4.0. In addition, the CKEditor provider will also ship in DNN 7.4.0 as an additional provider (i.e. RadEditor will still be installed by default). At some point in the future (probably no later than the DNN 7.5.0 release, but potentially earlier, in a point release to DNN 7.4.x), the RadEditor provider will no longer be the default, and new DNN installs will get the CKEditor provider by default.
One of the major tasks that DNN is undertaking for version 7.5 is to separate the Platform itself from the extensions that plug into that platform. As we were working on this provider, we realized that it made sense to start that task now by putting this provider in its own project, rather than within the DNN Platform repository. After some discussion among various folks, we settled on having the provider owned, managed, and maintained by DNN Connect, the non-profit association whose mission it is to promote and stimulate the open source DNN Platform. So, all of the work on the provider is now hosted on GitHub as part of the DNN Connect organization.
We think that this exercise ended up as a success. It was great to have everyone at Engage investing in the Platform, and getting used to both the mechanics of how to contribute and the idea of enhancing the open source projects that we depend on. I'd like to issue a challenge for other shops in the DNN ecosystem to consider taking some time to contribute, as well. As we work together to make our shared components better, we all win together. If you have any questions on how to get started contributing, personally or corporately, feel free to contact me for some guidance.