We are proud to announce the release of CKEditor 4.3 Beta. This editor version is packed with new features, including plenty of new plugins and a groundbreaking new feature, Widget System! Since we are introducing so many exciting new features at once, we are releasing a beta version first to let everyone familiarize with them before the final release (that is due in a few weeks).
Widgets are special rich content units in that they are groups of elements which are treated as a single entity inside the editor.
Once developed, their structure (but not necessarily their content) is immutable and enforced by the CKEditor instance they are used in. These entities can thus be selected and deleted or moved freely as a whole around the editing area, keeping their predefined structure intact. At the same time all the individual parts of the widget (its "building blocks") can be edited or configured separately, again, without affecting the whole widget entity and its structure in the process.
Some scenarios where widgets would be most useful are:
- Captioned images that make it impossible to break the relationship between an image and its caption.
- Document templates that need to preserve the same form and just enable the user to fill in the designated parts.
- Block quotations with a caption that gives the quotation author and source.
- Annotations or references with source.
- Text blocks that should be repeated in multiple places across the page or pages with the same structure and styling.
- Content elements using external libraries that you want to isolate from the rest of the editor content.
The screenshot above shows a customized CKEditor instance that uses a few sample widgets: a captioned image ("Saturn V carrying Apollo 11"), a captioned quotation (Neil Armstrong's words), a simple box template (listing the mission crew), mathematical formula (orbit equation) as well as the dates inserted inline in the first paragraph.
Read more about this exciting new feature here. The Widget System is provided in the new Widget plugin that introduces the Widget API which gives you plenty of possibilities to create your own widgets.
Meanwhile, check also two new plugins based on the Widget System - Enhanced Image and Mathematical Formulas!
Enhanced Image Plugin
The new image plugin is based on the Widget System. It lets you create an image widget with integrated image captions, an option to center images, and dynamic "click and drag" resizing. Creating a captioned image as a widget gives you a number of benefits, like the ability to select, move, and delete the whole unit without the risk of leaving a stray caption behind.
The new Mathematical Formulas plugin introduces the MathJax widget. You can now use it to create or modify mathematical equations using TeX. What's interesting is that you can mix the equations with normal text in a paragraph because the equations can also be inserted inline.
The creation of the Widget System triggered the introduction of a few considerable updates and new features in the CKEditor API. Here is the summary of the most important ones:
editor.shiftEnterModeproperties – normalized versions of
- Dynamic editor settings. Starting from CKEditor 4.3 Beta, Enter mode values and content filter instances may be changed dynamically.
- "Fake" selection was introduced. It makes it possible to virtually select any element when the real selection remains hidden. See the
htmlParser.filterrules are not applied to non-editable elements anymore. To add a rule which will be applied to all elements you need to pass an additional argument to the
- And many, many others, including such new methods as
range.moveToClosestEditablePosition, as well as new methods for
New Language Plugin
Another new feature is the Language plugin that implements the Language toolbar button to support WCAG 3.1.2 Language of Parts. This feature is yet another option that will improve the accessibility of CKEditor. It lets you mark the language of content that you are creating which ensures that user agents can correctly present content written in multiple languages. This makes it possible for user agents and assistive technologies to present content according to the presentation and pronunciation rules for that language.
Last but not least, we introduced new smilies to go along the new CKEditor 4 line and its updated styling. We hope you will like the new editor face(s)! :-)
Note: Because CKEditor 4.3 introduces a whole lot of new code, we have decided to release a beta version first. This will give everyone time to learn the new features and try them out.
This Beta release is not available in CKBuilder. It is however also available in a dedicated section of the CKEditor Download page.
Try It Out!
If you do not want to install the new version, the CKEditor 4.3 Beta samples are available for everyone to play with.
Please use the CKEditor development website to report issues and suggestions through tickets.
We are really enthusiastic about the new CKEditor version and in particular, about the Widget System. We will be happy to hear from you and thankful for any suggestions that will help us improve this feature and tailor it to your expectations.