The Prometheus editor was written from scratch to address all major problems of the non-Prometheus version.
The original codebase was obviously used as a reference to make sure the Prometheus editor is stable and its editing features working properly right from the start. The major advantages are of the new editor are:
- Greatly reduced loading time (in fact the new editor loads about 3 times faster, and initializes on the client 6 times faster)
- Reduced HTML footprint due to semantic rendering
- Ability to have editors with different skins on the same page
- Full integration with AJAX, as well as when the editor is in HTML mode
- Much greater design-time support, including inline declarations of tools and all editor collections directly into the page.
- Fast, optimized dialog loading using the new RadWindow for Prometheus
- Completely redesigned content filters architecture to ensure XHTML output, as well as correct functioning when the editor is used to edit full HTML pages
- New Localization implementation using resource (resx) files, rather than XML - building upon the extensive support for editing resources in VS 2005
- Single-dll deployment (all editor resources, including the dialogs reside in the same dll) - which makes deployment as simple as dropping the Prometheus dll and registering an HTTP handler in the web.config.
- A new ToolStrip for organizing tools with similar functionality in a dropdown (e.g. the InsertFormElement, PasteStrip and FormatStripper built-in tools) - available to developers as well.
We chose to implement the new editor in "stages", and we focused on implementing a task completely before moving to the next. Here is a list of functional modules from non-Prometheus editor that are yet to be ported:
- AJAX Spellchecking
- Editor modules
- Docking of toolbars
- Several dialogs
- More skins
Currently we are working hard porting the remaining functionality for the Q2 SP1 coming around Oct 10th, and the two editors should end up having essentially the same functional modules.
In addition to this, after the service pack we plan on porting some of the Prometheus editor design changes to the non-Prometheus editor to increase its performance and usability. To be more specific, we plan to port the following:
- Port HTML mode to address problems with using AJAX when editor is in HTML mode
- Implement tool rendering using CSS sprites
- Implement the Prometheus "link and image path keeper" mechanism that guarantees URLs are preserved as entered
- Port the Content Filters implementation to address problems with working with full html pages
Doing those will result in the "non-Prometheus" editor loading much faster, producing correct XHTML content when using filters, keep links reliably in all scenarios and integrate well with AJAX.
the Telerik team