ckeditor 1.0.2

Bug fixes

Fixes errors that may have prevented the previous release from working properly.

ckeditor 7.x-1.23

Bug fixes

Minor bug-fixing release of the CKEditor for Drupal module.
Upstream CKEditor library default version update due to its CVEs.

If you use the CKEditor module for Drupal 7.x, upgrade to CKEditor 7.x-1.23

Important note: If you use the CKEditor CDN, it is highly recommended to update the CKEditor JavaScript library to the newest version. To do so, edit the "CKEditor Global profile" settings in admin panel, at /admin/config/content/ckeditor/editg.

The current version can be found at https://cdn.ckeditor.com/.

Also, see the CKEditor - WYSIWYG HTML editor project page.

ckeditor 1.0.1

New features

To work around composer-related issues, allowing to install this module on Drupal 9.4: #3309065: Compatibility with Drupal 9.4.

ckeditor 1.0.0

Initial contrib release of CKEditor (4) module now that we're removing it from Drupal Core.

(No changes since RC1.)

ckeditor 7.x-1.22

Bug fixes

Minor bug-fixing release of the CKEditor for Drupal module.
Upstream CKEditor library default version update due to its two CVEs.

If you use the CKEditor module for Drupal 7.x, upgrade to CKEditor 7.x-1.22

Important note: If you use the CKEditor CDN, it is highly recommended to update the CKEditor JavaScript library to the newest version. To do so, edit the "CKEditor Global profile" settings in admin panel, at /admin/config/content/ckeditor/editg.

The current version can be found at https://cdn.ckeditor.com/.

Also, see the CKEditor - WYSIWYG HTML editor project page.

ckeditor 7.x-1.21

Bug fixes

This is a small bug-fixing release of the CKEditor for Drupal module.

If you use the CKEditor module for Drupal 7.x, upgrade to CKEditor 7.x-1.21

Important note: If you use the CKEditor CDN, it is highly recommended to update the CKEditor JavaScript library to the newest version. To do so, edit the "CKEditor Global profile" settings in admin panel, at /admin/config/content/ckeditor/editg.

The current version can be found at https://cdn.ckeditor.com/.

ckeditor 7.x-1.20

Bug fixes

This is a bug-fixing release of the CKEditor for Drupal module. It also contains updates of the default version of the CKEditor library itself.

If you use the CKEditor module for Drupal 7.x, upgrade to CKEditor 7.x-1.20

Important note: If you use the CKEditor CDN, it is highly recommended to update the CKEditor JavaScript library to the newest version (at least 4.16.2).
To do so, edit the "CKEditor Global profile" settings in admin panel, at /admin/config/content/ckeditor/editg.

ckeditor 7.x-1.19

Security update

Security update.

Install the latest version:

Important note: If you use the CKEditor CDN, it is highly recommended to update the CKEditor JavaScript library to the newest version (at least 4.14.0).
To do so, edit the "CKEditor Global profile" settings in admin panel, at /admin/config/content/ckeditor/editg.

Current version can be found at https://cdn.ckeditor.com/.

Also see the CKEditor - WYSIWYG HTML editor project page.

ckeditor 7.x-1.17

Bug fixes
Insecure

Major change: Media integration has been removed in 7.x-1.17, please use https://www.drupal.org/project/media_ckeditor for that plugin.

Changes since 7.x-1.16:

ckeditor 7.x-1.15

Bug fixes
New features
Insecure

Updated the default URL to CKEditor CDN to use the 4.4.3 version.
#2175565: (revert) Download Library with ckeditor.make for Simple Profile Integration removed ckeditor.make added in 7.x-1.14.

ckeditor 7.x-1.14

Bug fixes
New features
Insecure

This is an important bug fixing release, which also introduces a couple of new features. Loading CKEditor from an external URL is now supported - thanks to this feature, the CKEditor module is able to load CKEditor from CDN and the manual download of CKEditor library is now optional.

Important: the <code> tag isn't protected now by default in CKEditor, in wysiwygarea. If your installation of Drupal requires this, edit ckeditor.config.js and uncomment the relevant line.

ckeditor 7.x-1.13

New features
Bug fixes
Insecure

Key improvements in this release:
- Libraries API is used for CKEditor
- Better support for Drush

Full list of changes:

#1063482: Use Libraries API for CKEditor by nod_, wwalc, roderik, helior, hadsie: Use Libraries API for CKEditor
#1898294: Fatal error if Libraries module is enabled after CKEditor by kscheirer: Fatal error if Libraries module is enabled after CKEditor
#1961596: Add "feature_source" option so that ckeditor_profile component is visible in drush by jcisio: Added 'feature_source()' option so that ckeditor_profile() component is visible in Drush.
#1356026: Profile loses text formats when exported into a feature using Drush by Volx, hctom: Fixed Profile loses text formats when exported into a feature using Drush.
#1895278: WYSIWYG editor should allow Drupal to trigger 'formUpdated' event by wwalc WYSIWYG editor should allow Drupal to trigger 'formUpdated' event
#1957066: Use field_extra_fields to be able to position the "Rich text editor settings" fieldset by rudiedirkx: Use field_extra_fields to be able to position the "Rich text editor settings" fieldset
#1959754: CKFinder is not installed correctly - improve information in the status report by wwalc: CKFinder is not installed correctly - improve information in the status report
#1810910: Comments gets filtered out by ckeditor_filter_xss by mokaspar, jcisio, DeFr: Fixed Comments gets filtered out by ckeditor_filter_xss().
#1909318: Useless file inclusion in ckeditor.info by Simon Georges: Useless file inclusion in ckeditor.info.
#1603014: Modify original string for translation by anou, SebCorbin: Corrected strings used in Security section.
#1889010: Problem with CKFinder files upload when private download method is used by michal_cksource: Problem with CKFinder files upload when private download method is used
#1885950: Fix HTML validation for iframe in profile configuration. by michal_cksource: Fix HTML validation for iframe in profile configuration
#1885938: Disable div based editor on default by michal_cksource: Disable div based editor on default

ckeditor 7.x-1.8

Bug fixes
Insecure

This bug fixing release fixes just one small issue, which had to be fixed quickly, to remove incorrect error messages from the Status Report, which appeared when CKFinder was installed.

Fixed bugs:

- When CKFinder was installed, CKEditor module displayed incorrect error messages in the Status Report section of Drupal (CKEditor module was unable to find the path to CKFinder).

ckeditor 6.x-1.10

Bug fixes
Insecure

This bug fixing release fixes just one small issue, which had to be fixed quickly, to remove incorrect error messages from the Status Report, which appeared when CKFinder was installed.

Fixed bugs:

- When CKFinder was installed, CKEditor module displayed incorrect error messages in the Status Report section of Drupal (CKEditor module was unable to find the path to CKFinder).

ckeditor 7.x-1.6

Bug fixes
Insecure

This release fix problems caused by local repository failure during creating latest release (7.x-1.5).
#1337064: Fatal error: Call to undefined function db_fetch_object() Fix Fatal error: Call to undefined function db_fetch_object()

ckeditor 6.x-1.7

New features
Bug fixes
Insecure

New features:
#1308426: [D6] "Counter" plugin to count symbols and words inside CKEditor
Add plugin to count symbols and words inside CKEditor
#1297774: [D6] Add Drag & Drop toolbar configuration
Add Drag & Drop toolbar configuration
#1294394: [D6] Multi toolbar configuration, and different settings for each profile
Add multi toolbar configuration, and different settings for each profile

Bug fixes:
#1278062: [D6] Allow security filters to run their 'prepare' code before 'process'
Allow security filters to run their 'prepare' code before 'process'
#1319668: [D6] Correct language list in the CKEditor profile configuration
Correct language list in the CKEditor profile configuration
#963208: [D6] Ckeditor implementation of hook_file_download globally undermines private file download system
Fix for CKEditor implementation of hook_file_download globally undermines private file download system
#1314262: [D6] Invalid link in CKEditor profile
Fix for invalid link in CKEditor profile
#1311926: [D6] Add jquery_ui support to the Drag & Drop toolbar configuration
Add jquery_ui support to the Drag & Drop toolbar configuration
#1310390: [D6] CKEDITOR_FORCE_SIMPLE_TOOLBAR_NAME undefined
Fix for undefined CKEDITOR_FORCE_SIMPLE_TOOLBAR_NAME name
#1310298: [D6] Notice: Undefined index: default in ckeditor_admin_profile_form() - when editing CKEditor profile
Fix Notice: Undefined index: default in ckeditor_admin_profile_form() - when editing CKEditor profile
#1296804: Tabledrag compatibility
Add patch for Tabledrag compatibility
#1300140: [D6] Correct messages and add language fixes
Correct messages and add language fixes
#1298302: [D6] Call to undefined function ckeditor_load_toolbar_options()
Fix to call to undefined function ckeditor_load_toolbar_options()
#1297570: [D6] Add sorting to the profiles list
Add sorting to the profiles list
#1297090: [D6] E_NOTICE when calling $conf['ckeditor_load_method'] in module file
Fix E_NOTICE when calling $conf['ckeditor_load_method'] in module file
#1286192: [D6] Fix for CKEditor support to Imagefield module textareas
Fix for CKEditor support to Imagefield module textareas
#1288664: [D6] CKeditor is not working in Views header and footer text areas
Fix for CKEditor is not working in Views header and footer text areas
#1289218: [D6] Disable Linktocontent and IMCE module selection if these modules are not installed
Disable Linktocontent and IMCE module selection if these modules are not installed

ckeditor 6.x-1.6

New features
Bug fixes
Insecure

New features:
#1224726: Use either underscores or hyphens for excluding/including, not both
Use either underscores or hyphens for excluding/including, not both

ckeditor 7.x-1.3

New features
Bug fixes
Insecure

New features:
#1187808: [D7] Not formatting text between code tags
Not formatting text between code tags
#1176208: [D7] Add plugins management in profile settings
Add plugins management in profile settings
#1179880: [D7] Add hook to register a plugin Add hook to register a plugin
#1231338: Features module support for Drupal 7 (exporting profiles)
Features module support for Drupal 7 (exporting profiles)
#1257308: [D7] Add loading sample toolbar to profile configuration
Add loading sample toolbar to profile configuration
#1258326: [D7] Add configuration option for setting CKEditor plugins directory
Add configuration option for setting CKEditor plugins directory
#1260892: [D7] Add regex to work with new CKEditor toolbar format (toolbar groups compatible with WAI-ARIA)
Add regex to work with new CKEditor toolbar format (toolbar groups compatible with WAI-ARIA)

Bug fixes:
#1186880: [D7] Handling arrays in the "Custom JavaScript configuration"
Handling arrays in the "Custom JavaScript configuration"
#1183218: [D7] Teasers for long paragraphs broken
Fix broken teasers for long paragraphs
#1176212: [D7] Remove not supported linktomenu and linktonode plugins
Remove not supported linktomenu and linktonode plugins
#1063646: [D7] Fix calling Undefined index: "loadPlugins" in ckeditor_admin_values_to_settings()
Fix calling Undefined index: "loadPlugins" in ckeditor_admin_values_to_settings()
#1032120: Formatting is lost when editing a node
Formatting is lost when editing a node
#1196166: [D7] Bug in custom JavaScript configuration - editor not showing in some cases
Bug in custom JavaScript configuration - editor not showing in some cases
#1201180: [D7] SCAYT spelling language does not match node language
SCAYT spelling language does not match node language
#1198068: Confusing behavior with IMCE button implementation
Confusing behavior with IMCE button implementation
#1190278: CKEditor does not work with the Insert module
CKEditor does not work with the Insert module
#1215032: Bad location of the configuration file in the description of CKEditor profile
Bad location of the configuration file in the description of CKEditor profile
#1216104: [D7] Bug in custom JavaScript configuration - semicolon problem
Bug in custom JavaScript configuration - semicolon problem
#1235142: README.TXT - Installing CKFinder - wrong permission name
README.TXT - Installing CKFinder - wrong permission name
#1245306: [D7] "Custom JavaScript configuration" field description is wrong

ckeditor 6.x-1.4

New features
Bug fixes
Insecure

New features:
#1190280: [D6] Add configuration option for setting CKEditor's plugins directory
Add configuration option for setting CKEditor's plugins directory
#1080270: [D6] Not formatting text between code tags
Not formatting text between code tags
#1174144: [D6] Add plugins managment in profile settings
Add plugins managment in profile settings
#1095908: CKEditor not load when Apache mod_pagespeed is enabled
Add Google PageSpeed and Drupal JS/CSS aggregation support
#1117548: HTML Entities option configurable in each profile
Add HTML Entities configurable option in each profile
#738270: Add support for theme name in include/exclude in editor profile configuration
Add support for theme name in include/exclude in editor profile configuration
#1108900: Add warning message when wysiwyg module is enabled in Drupal 6
Add a warning message when the wysiwyg module is enabled in Drupal 6
#758936: Add automatic setting of the CKFinder library path based on CKEditor library path
Add automatic setting of the CKFinder library path based on CKEditor library path
#1165870: [D6] Improve manual selection of the user interface color
Improve manual selection of the user interface color
#1166936: Update user guide link
Update User Guide link
#1166972: Remove bullets from lists (Format, Font, etc.) in CKEditor on Garland theme
Remove bullets from drop-down lists (Format, Font, etc.) in CKEditor on Garland theme
#1167034: [D6] Add tableresize plugin support for CKEditor library >= 3.6
Add tableresize plugin support for CKEditor library >= 3.6
#1103872: Change name of ckeditor.make to ckeditor.make.example for drush make module
Change "ckeditor.make" name to "ckeditor.make.example" for drush make module

Bug fixes:
#975746: [D6] Handling arrays in the "Custom javascript configuration"
Handling arrays in the "Custom javascript configuration"
#1184792: [D6] Move CKEditor module to "User interface" package
Move CKEditor module to "User interface" package
#1177062: [D6] Fix broken teasers for long paragraphs
Fix broken teasers for long paragraphs
#1179912: [D6] Add hook to register plugin
Add hook to register plugin
#1179766: [D6] Fix calling undefined index: loadPlugins in ckeditor_admin_values_to_settings()
Fix calling undefined index: "loadPlugins" in ckeditor_admin_values_to_settings()
#1166984: Correct CKEditor simple toolbar
Correct CKEditor simple toolbar
#1099748: Fix drush make error when building a site with CKEditor

ckeditor 7.x-1.2

New features
Bug fixes
Insecure

New features:
#1134252: [D7] HTML Entities option configurable in each profile
Add HTML Entities configurable option in each profile
#1022986: Integration with Media Module
Add integration with Media Module
#1107882: Add warning message when wysiwyg module is enabled in Drupal 7
Add a warning message when the wysiwyg module is enabled in Drupal 7
#1165864: [D7] Add settting user interface color to "Select manually" after color change on UI Color Picker
Improve manual selection of the user interface color
#1158898: [D7] Google PageSpeed and Drupal JS/CSS aggregation support
Add Google PageSpeed and Drupal JS/CSS aggregation support
#1142600: Readme File Edit - There is No Core Upload Module in Drupal 7
Readme file edit - there is no core upload module in Drupal 7
#1170612: Add support for autogrow and tableresize plugin
Add support for autogrow and tableresize plugin

Bug fixes:
#1164270: CKEditor module doesn't work with ckeditor_link module.
Fix to work with ckeditor_link module (http://drupal.org/project/ckeditor_link)
#1116516: CKeditor + Profile2 = Call to undefined function ckeditor_user_customize_form_validate() on uid=1
Fix to CKEditor and Profile2 - remove call to undefined function ckeditor_user_customize_form_validate() on uid=1
#1093028: Text written in rich text editor (WYSIWYG) mode disappears when switching to plain text editor mode
Text written in rich text editor (WYSIWYG) mode disappears when switching to plain text editor mode
#1102824: CKEDITOR loses all text when uploading image or file via field api
CKEditor loses all text when uploading an image or file via field API
#1109366: #1052604 Still Occuring - Call to undefined function ckeditor_user_customize_form_validate
Fix remove call to undefined function ckeditor_user_customize_form_validate
#1039810: Predefined Styles Path Errors
Fix to predefined styles path errors
#1095954: [D7] Prevent to call Toggle rich text link href="javascipt:..." multiple times
Fix to prevent calling "Toggle rich text link" multiple times
#1093038: CKEDITOR is not defined when using ckeditor_basic.js - Editor is not loading
CKEDITOR is not defined when using ckeditor_basic.js - Editor is not loading
#1169402: Duplicated path on error message when CKEditor is not installed correctly

ckeditor 6.x-1.3

New features
Bug fixes
Insecure

New features:
#1068026: CKEditor Link support Added support for CKEditor Link module
#906846: Support the Features module API to allow bundling of CKEditor's visibility settings
Support the Features module API to allow bundling of CKEditor's visibility settings
#969486: Add elFinder file manager support Added support for elFinder file manager support
#695264: Add support for CKEditor SWF Added support for CKEditor SWF module
#1037882: Add admin/build/views/* to 'Fields to exclude/include' section in Global Profile.
Add admin/build/views/* to 'Fields to exclude/include' section in Global Profile
#1050118: Added better support for Line break converter. CKEditor is now able to load properly content where new line characters were used
Added better support for Line break converter. CKEditor is now able to load properly content where new line characters were used to create new lines
#865710: Provide a "ckActiveId" variable for tracking the active editor
Provide a " Drupal.ckeditorActiveId" variable for tracking the active editor
#960576: Add loading ckeditor.css from theme.
Add loading ckeditor.css from theme
#1011178: Support the 'drush make' command
Added support for the 'drush make' command
#935566: Media Embed translation Added Media Embed translation
#940376: Migration from fck schema_version 6202
Added schema version 6202 from FCKeditor module during migration

Bug fixes:
#1019950: CKEditor Will Not Load CKEditor Will Not Load - remove CKEditor is not defined
#1022208: 'Send to rich text editor' fails with latest WebFM
'Send to rich text editor' fails with latest WebFM
#751672: table top border creates unwanted borderline
Table top border creates unwanted borderline
#1015822: IMCE button in not visible in toolbar (but is here) with CKEditor 3.5
IMCE button in not visible in toolbar with CKEditor 3.5
#964556: Drupal.ckeditorCompareVersion does not check properly version number

ckeditor 7.x-1.0

Bug fixes
Insecure

Changes vs CKEditor-6.x

The main change comparing to the CKEditor module for Drupal 6 is the way of enabling/disabling CKEditor on selected textareas.

In version 6.x users were forced to define the set of include/exclude rules based on the ID of textarea or the path to the page. In Drupal 7 things are now much more simple. All you have to do is to pick up the input formats where CKEditor should be enabled :-)

ckeditor 7.x-1.0-rc1

New features
Insecure

This is the first official release of CKEditor module for Drupal 7. Tested with Drupal RC2.

Main features:
- as always, enables CKEditor in Drupal and provides lots of configuration options to adjust easily the editor to your needs
- CKFinder integration
- CKEditor profiles are now assigned to input formats (yes!)

ckeditor 6.x-1.2

New features
Bug fixes
Insecure

This is the next stable release of the CKEditor module.
After a few months of testing and bug fixing by many users and developers, it's the right time to mark it as stable version.

In this release we made some important things:

  • add support for BiDi buttons as default in toolbars
  • fixed teaser break - now it works good and i hope problems with it never come back :-)

-- 2010-09-27
- #924020: Add BiDi buttons to toolbar as default by dczepierga: Add BiDi buttons to toolbar as default
- #818378: Not all css files are loaded by ahwebd&fmjrey: Not all css files are loaded

-- 2010-09-15
- #738474: Cannot edit or delete poorly named profile that include forward slashes by dczepierga: Cannot edit or delete poorly named profile that include forward slashes
- #742160: warning: strtok() expects parameter 1 to be string in ckeditor.page.inc on line 192 - when saving content by dczepierga: warning: strtok() expects parameter 1 to be string in ckeditor.page.inc
- #772396: Put ckeditor.utils.js in header for better aggregation by jcisio: Put ckeditor.utils.js in header for better aggregation

-- 2010-06-18
- #827238: README.txt should include the following information: README.txt should include the information about sites/all/libraries/
- #824918: Scayt enable/disable: Disabling, enabling Scayt

-- 2010-06-16
- #822948: Migrating from fckeditor to ckeditor causes postgresql error: Fixed: Migrating from fckeditor to ckeditor causes postgresql error
- #725086: CKEditor does not appear on windows with non-empty window.opener by Dmitriy.trt: Fixed CKEditor does not appear on windows with non-empty window.opener

-- 2010-06-14
- #814970: Teaser break not working with CKEditor 3.3: Fixed: Teaser break not working with CKEditor 3.3

-- 2010-05-07
- #776026: Output default values are kept when editing a ckeditor profile: Fixed: output default values are kept when editing a ckeditor profile

-- 2010-05-06

ckeditor 6.x-1.1

New features
Bug fixes
Insecure

This is the next stable release of the CKEditor module.

  • CKEditor now works with Panels :-)
  • Three new translations are now available: Spanish, German and French.
  • Some new configuration options were introduced: force paste as plain text, better control over the output formatting, changing LTR/RTL direction in the editing area.
  • A new plugin for IMCE is available.

-- 2010-03-10
- #674454: Add drush integration to download the CKEditor library Changed drush command name

-- 2010-03-09
- #736786: CKEditor is incompatible with Installation profiles. by irakli: CKEditor is incompatible with Installation profiles

-- 2010-03-06
- #732264: CKEditor + Panels - CKEditor dialogs not accessible Fixed ckeditor dialog when editor is running in modal window from ctools

-- 2010-03-05
- #733512: [IE] problem with showing editing area in Garland Fixed editing area size

-- 2010-03-04
- #731086: Notice: Undefined index: #rows / #value Notice: Undefined index: #rows / #value
- #703960: The CKEditor fails to load sporadically if the teaser of the node is empty by hinanui: The CKEditor fails to load sporadically if the teaser of the node is empty
- #703428: Add forcePasteAsPlainText to CKEditor profile Add forcePasteAsPlainText to CKEditor profile
- #707878: Where has the format source option gone Add output formatting
- #725880: RTL solution for actual editor content RTL solution for editor

-- 2010-03-02
- #729142: Notice: Undefined variable: filebroswer in ckeditor.module on line 703 Notice: Undefined variable: filebroswer in ckeditor.module on line 703
- #728212: Looks for contents.css in wrong location by morningtime: Looks for contents.css in wrong location
- #679976: ckeditor with Panels support Panels
- #721914: Opening IMCE window without Image Dialog Opening IMCE window without Image Dialog

-- 2010-03-01

ckeditor 6.x-1.0

New features
Bug fixes
Insecure

This is the first stable release of CKEditor module.
After ofer a month of testing the beta version by many users and developers, it is the right time to mark is as stable.
All major issues have been resolved, almost all features from its predecessor, FCKeditor module, have been ported.
CKEditor 3.1 required by this module was recently officially released, so I hope you'll enjoy using this module!

2010-01-14
- #680798: Editor too wide, requires scrolling horizontally Improved compatibility with NewsFlash theme

2010-01-12
- #680202: image preview not working in IE8 Fixed: image preview not working in IE8
- #664488: CKEditor grabs initial focus in IE (7) Fixed: CKEditor grabs initial focus in IE

2010-01-08
- #665108: CKeditor hide "Show summary in full view" checkbox Fixed: CKeditor Show summary in full view checkbox always checked in editing mode

2010-01-06
- #674454: Add drush integration to download the CKEditor library by Dave Reid: Add drush integration to download the CKEditor library.

2009-12-23
- #659278: Teaser button/text is missing, #666560: Compatibility with Resizable Body, #666616: Problems with teaser when WYSIWYG module is enabled Teaser buttons were missing when teasers were disabled by other modules

2009-12-22
- #663228: Link to node not working properly Fixed: Link to node not working properly
- #665108: CKeditor hide "Show summary in full view" checkbox Fixed: CKeditor hide "Show summary in full view" checkbox
- #662590: If more than one editor css file entered in "Edit CKEditor profile" > "Define CSS path", then NONE are used. Fixed: If more than one editor css file set in "Edit CKEditor profile" > "Define CSS path", then none are used
- Improvements in MediaEmbed plugin

2009-12-17
- #654626: some php notices Fixed PHP notice (Undefined offset in ckeditor_get_nodetype)

2009-12-16

ckeditor 6.x-1.x-dev

New features
Bug fixes

Dev release, generated 2 times per day. Contains the latest code, thus may be less stable than the official release.
On the other side, recent bug fixes can only be found here (and in the CVS repository).

See current changelog to see what have been fixed recently.

ckeditor 6.x-1.0-beta1

New features
Insecure

This is a first public version of the CKEditor module. It is a beta release, it has not been thoroughly tested so may contain some bugs (althoug we tried to avoid it).
If you have found a bug, have some problems with installation or anything else, check the issue tracker.

If you think you can translate this module into any other language, please check this out: Translations needed.

Subscribe with RSS Subscribe to Releases for CKEditor 4 - WYSIWYG HTML editor