skip to navigation
skip to content

Products.TinyMCE 1.2.12

Adds support for TinyMCE, a platform independent web based Javascript HTML WYSIWYG editor, to Plone.

Latest Version: 1.4.3


Adds support for TinyMCE, a platform independent web based Javascript HTML WYSIWYG editor, to Plone.


Please send any changes, improvements, or suggestions regarding this Plone product to Four Digits


TinyMCE is tested on Plone 4, please submit any compatibility issues you may encounter.


Products.TinyMCE is an egg. The installing steps are:

  • Add Products.TinyMCE in your buildout.cfg to the eggs attributes
  • Run buildout and (re)start Zope
  • Use the quick installer to (re)install the product

buildout.cfg example

For basic installation use the following section in your buildout:

eggs =

An upgrade step is also available through portal_setup if you are updating from an earlier version.

buildout.cfg example using svn egg from the trunk

If you want to help testing, please use the development version from the Collective:

parts =

eggs =

recipe = zerokspot.recipe.git
as_eggs = true


1.2.12 (2012-05-08)

  • Add a missing nocall to prevent accidental rendering of the object passed to the widget. [sunew]
  • Fix accidental dependency on plone.namedfile. [thet]

1.2.11 (2012-04-18)

  • Fix original scale (dexterity-based images need ‘my_image/@@images/image’ instead of just ‘my_image’) [pbauer]
  • Allow upload of dexterity based images. This is aimed at but should work with all dexterity bases-images. [pbauer]
  • Fixed AttributeError: NoneType object has no attribute physicalPathToURL when getRequest cannot get a request. Use the REQUEST from the context in that case. [maurits]
  • Determine mimetype correctly for RichText widgets with ignoreContext = True (such as on add forms). (Requires >= 1.1.1) [davisagli]
  • Removed comma at the end of a dict in tiny_mce_init.js. This fixes javascript error on IE7. This was broken in 1.2.10. [vincentfretin]

1.2.10 (2012-01-29)

  • Fixed AttributeError: ‘ATDocumentFieldsView’ object has no attribute ‘absolute_url’ when using inline editing. Inline editing then still does not work though (checked on Plone 4.2 dev). [maurits]
  • Fixed a few test failures in combination with [maurits]
  • Do not fail with an AttributeError when the member has no wysiwyg_editor property. Fixes [maurits]
  • Initialize TinyMCE with “media_strict: false” to allow embed tags if they are removed from the list of nasty tags. Fixeѕ [rochecompaan]
  • Updated Spanish translation [hvelarde]

1.2.9 (2011-11-24)

  • Fixed content_css when the Plone Site id is ‘plone’. This is used to display the text during editing in the same layout as it appears when viewing. Fixes [maurits]
  • Add value attributes to Insert and Cancel input tags for the ploneimage popup template. When Chameleon is installed attributes that don’t already exist on a tag don’t get translated. [swampmonkey]
  • Include Products.CMFCore’s permissions.zcml to ensure Plone 4.1 compatibility. [thomasdesvenain]
  • Use aq_parent instead of getParentNode for Zope trunk compatibility. [elro]
  • Display error message when uploading a file with a name consisting only of spaces. Fixes [maurits]
  • Search does not work with Virtual Hosting (close #10308) [keul] [mamico]

1.2.8 (2011-09-19)

  • Fixed js error that made alternative editors unusable. Ref [thomasdesvenain]
  • Set the parent correctly for non-Archetypes content, so that relative links are generated correctly. [davisagli]
  • Support RichTextValues from when determining the mimetype of the field being edited. [davisagli]
  • When user tries to upload an image, if image type in content types registry is not allowed in current folder, TinyMCE tries to add an image of an other content type selected as an image type in TinyMCE settings. [thomasdesvenain]

1.2.7 (2011-07-05)

  • Internationalized js messages. French translation. [thomasdesvenain]
  • Do not give a TypeError ‘Could not adapt’ when trying to adapt a context that is not adaptable to IJSONFolderListing and friends. Instead return nothing in the ajax call. [maurits]
  • pep8 [iElectric]
  • Ported tests from doctests to unittests [iElectric]
  • Add hook to JSONDetails to allow subclasses to supplement or override the results [anthonygerrard]

1.2.6 (2011-05-12)

  • Changed the color of the background on the external editor to light gray to make the buttons more visible. [davidjonas]

1.2.5 (2011-05-12)

  • Add a CSS class to the Edit without visual editor note. [hannosch]
  • Avoid determining content type as text/plain on Dexterity add views. [davisagli]
  • In the link “Edit without visual editor”, append existing url-parameters. Fixes [WouterVH]

1.2.4 (2011-03-22)

  • Use uuidFor(obj) from plone.outputfilters instead of obj.UID() for plone.uuid compatibility. [elro]
  • Internationalization fixes. [thomasdesvenain]
  • Allows to use tinymce wysiwyg support outside of an Archetypes context. (Checks ‘force_wysiwyg’ variable value to check if wysiwyg support is enabled.) [thomasdesvenain]
  • Don’t acquire when determining the mimetype of the field being edited. [davisagli]
  • Fixed bug when rendering for anonymous users. [elro]
  • Remove isTinyMCEEnabled in kssregistry. Refs #11248 [jaroel]
  • Fixed #11597 TinyMCE Right Pane Depends on Center Pane. [Brainix]

1.2.3 (2011-02-24)

  • Suppress the WYSIWYG editor for fields whose text format is not HTML, and provide a “Edit without visual editor” link like kupu did so that the format can be switched from HTML to something else. [davisagli]
  • Fix wysiwyg_support to correctly respect a user’s preference to use no wysiwyg editor. [davisagli]
  • Correctly load image dialog for existing images using the @@images view for image scales. [davisagli]
  • Updated Norwegian translations. [mj]

1.2.2 (2011-02-10)

  • Use @@images view for image scales. [elro]
  • Get anchor names from listAnchorNames method of @@content_anchors. [elro]
  • Tweak ploneimage.js to use post data for setDescription for compatibility with latest zopes. (This makes the image dialogue incompatible with IE6.) [elro]
  • Fix quoting of description ploneimage.js [elro]
  • Make setDescription convert to unicode. [elro]

1.2.1 (2011-02-10)

  • Be explicit about catching exceptions. Bare excepts are asking for trouble in Zopeland folks. [elro]
  • Do not crash when getting a configuration with styles that have an empty line at the end. [maurits]
  • Handle Missing.Value for uid in JSONFolderListing. [elro]
  • Set text/css content type on tinymce-getstyle. [elro]
  • Add option ‘auto’ for directivity. The directivity will be set depending on the content or the portals default language. Fixes [csenger]
  • Make the spellchecker to be used configurable via the control panel utility. [jcbrand]
  • Added the ‘After the deadline’ spelling and grammar checker plugin. [jcbrand]

1.2.0 (2011-01-04)

  • Always use an image’s description as its caption, and make the image dialog edit the description field instead of the image’s alt text. This provides parity with how captions were handled by kupu, and avoids misusing the alt text. [davisagli]
  • When editing an image, correctly highlight it in the image dialog even if the link-by-uid setting changed since the image was added. This fixes [davisagli]
  • Remove the resolveuid Python script; a browser view with the same name in plone.outputfilters is now used instead to resolve UUIDs. [davisagli]
  • Deprecated various helpers in plone.outputfilters.setuphandlers since they now duplicate functions in plone.outputfilters. [davisagli]
  • Use the resolveuid and captioning transforms from plone.outputfilters instead of implementing our own. See for details. [davisagli]

1.1.7 (unreleased)

  • Make sure that tinymce-jsonconfiguration is traversed as a view in [davisagli]

1.1.6 (2011-01-04)

  • Fix capitalization of the title of the content_css setting. This fixes [dariog, davisagli]
  • Protect the control panel using the “Plone Site Setup: TinyMCE” permission, instead of the generic “Manage portal”. Also, add the Site Administrator role to the default roles for this permission, for forward compatibility with Plone 4.1. [davisagli]
  • Add tinymce-jsonconfiguration browser view and use it in the template Make it easier to customize [toutpt]

1.1.5 (2010-11-14)

  • Updated translations (de) [Plone translators]
  • Make sure we fail gracefully on unfound UIDs when kupu isn’t installed. [jbaldivieso]
  • Removed profiles/uninstall/portal-tinymce.txt as it needlessly triggered a call to add_editor right before calling remove_editor. [maurits]

1.1.4 (2010-09-28)

  • Updated translations (zh_TW) [Plone translators]

1.1.3 (2010-09-16)

  • Updated translations [Plone translators]
  • Fix lang and init files not loaded when @ in URL [jaroel]

1.1.2 (2010-08-05)

  • Fix regression that broke the resolveuid transform if an alt attribute was provided. [davisagli]

1.1.1 (2010-07-25)

1.1 (2010-07-23)

  • If we set a description within tinymce (which is written to the alt attribute of the image tag then) we want to keep that one as image caption. Added check for alt attribute in Products.TinyMCE.transforms.parser. [hpeteragitator]
  • In Products.TinyMCE.transforms.parser, added full_path = unquote(full_path) to remove any encoded characters from path before doing the catalog query. [hpeteragitator]
  • Make the wysiwyg_support macros fall back to the default editor if the current user has an editor preference that is no longer installed. Fixes [davisagli]
  • Fixed #undefined in style selection for lists. This closes [hannosch]
  • Hide the non-functioning advanced table options. This closes [hannosch]
  • Enhance Rob’s default table style fix by specifying a proper title and avoiding the duplication of the default plain entry. This refs [hannosch]
  • Removed redundant Image list from image dialog. This closes [hannosch]
  • Adopted TinyMCE’s build process to generate a minified version of the main JavaScript file. [hannosch]
  • Changed css registration, so it doesn’t cause an extra CSS download, but is merged with the other anonymous CSS files. [hannosch]
  • Set ‘plain’ as default table class. [robgietema]
  • Fixed issue with style dropdown in IE. [robgietema]
  • Fixed issue with inline editing of collections. [robgietema]
  • Set ordering of link and image dialogs to getObjPositionInParent. [robgietema]
  • Refactor resolveuid to use portal_catalog and not waking up object. [toutpt]
  • Add tinymce-plone3.css. fix #10683: TinyMCE / Plone3.3 display text too big [toutpt]

1.1rc13 (2010-07-02)

1.1rc12 (2010-06-03)

  • Remove tabindex deprecated html attribute [edegoute]
  • Fixed some i18n bugs (#10339, #9637). [dmunicio]
  • Added Spanish translations for plone.tinymce domain [dmunicio]
  • Updated to upstream translations. Added Georgian (ka) language. [vincentfretin]

1.1rc11 (2010-05-01)

  • Fix regression in handling of resolveuid links that don’t include an anchor. [davisagli]
  • Include a copy of so that links by UID can be resolved even when kupu is not installed and the transform is not applied (such as when inserting images in the first place). [davisagli]
  • Prefer xml.etree over elementtree. [hannosch]
  • Fixed test failure and avoid bare try/except statements related to portal factory and the save button. [hannosch]

1.1rc10 (2010-03-09)

  • Upgrade to TinyMCE 3.2.7. [robgietema]
  • Fixed fullscreen mode, ticket #10080. [robgietema]
  • Fixed search with Virtual Hosting, ticket #10308. [robgietema]
  • Specified empty value and title attributes in and to make i18ndude happy. [vincentfretin]
  • Added and updated languages from upstream. [vincentfretin]
  • Updated pop-ups to match the Plone 4 style, and increased the default window sizes a bit to avoid scrollbars. [limi]
  • Added content id so dialogs get the right style. [robgietema]
  • Don’t fail if kupu_library_tool is not available [naro]
  • #155 transform can now handle anchors in resolveuid links (added test in transforms.txt) [fRiSi]

1.1rc9 (2010-02-18)

  • Removed id=”region-content” from the templates, since it no longer has any function. See for more information. [limi]
  • Removed the font-size styling in content.css, Plone is responsible for these styles anyway. [limi]
  • Added ploneinlinestyles plugin so inline styles get filtered based on html filtering settings. [robgietema]
  • Changed list style to use classes (merge from xhtml-strict branche). [robgietema]
  • Added scope option to table cell dialog (merge from xhtml-strict branche). [robgietema]
  • Correct link to parent of current item. [arrowman]
  • Use → as breadcrubm separator instead of ‘-‘, like Plone does. [arrowman]
  • Added missing Finnish translations. [pingviini]

1.1rc8 (2009-12-21)

  • Fix when editing contextuals portlets. #117 [sylvainb]
  • Added a widget option: toolbar_width. [oliverroch]
  • Fixed: “Normal paragraph” default style didn’t reset css class. [oliverroch]
  • Show dimensions of original image in imageupload-popup. [tom_gross]

1.1rc7 (2009-11-18)

  • Link and image drawers now look at INavigationRoot and not at IPloneSiteRoot. [robgietema, hannosch]
  • Added support for LinguaPlone’s translation aware reference handling to the new lookup_uid method. [hannosch]
  • Removed translate calls inside TinyMCE utility. You don’t have access to the request inside a utility and therefor cannot translate anything. [hannosch]
  • Factored out resolveuid handling in the TinyMCEOutput parser to a lookup_uid method. [hannosch]
  • Review french translation from Nicolas LAURANCE [toutpt]
  • Add support for i18nized styles [toutpt]

1.1rc6 (2009-10-12)

  • Moved skin layer up. [robgietema]
  • Added an icon_expr to the control panel entry. [hannosch]
  • Fixed bug when editing the same field twice using inline editing. [robgietema]
  • Fixed bug where lists couldn’t get custom classes (thanks Artur Konstanczak). [robgietema]
  • Fixed translations for insert image/link button tooltips. [robgietema]
  • Use a span instead of p tag for the discreet style to allow the remove styles command/button to work properly. [esteele]
  • Corrected spelling of ‘contributors’ and renamed doc accordingly. [rockdj]
  • Fixed inserting images and links. [optilude]

1.1rc5 (2009-09-30)

  • Improved test coverage. [robgietema]
  • Moved inline style from templates to css files. [maartenkling]
  • Removed inline style style=”display:none;” from body tag from templates. [maartenkling]
  • Fixed bug where custom image classes wouldn’t stick after editing an image. [robgietema]
  • Removed z3c.json dependancy, changed to simplejson or built-in json. [kingel]
  • Register import/export handlers as zcml statements. [kingel]
  • Set javascript files as cachable and mergable. [robgietema]
  • Removed getInfoFromBrain method in JSONFolderListing and JSONSearch. [robgietema]
  • Added support for comment nodes in Generic Setup. [robgietema]
  • Changed hard coded css imports in dialogs to the generated plone.css. [robgietema]
  • Changed condition for Javascript includes. [robgietema]
  • Fix for static image sizes. [robgietema]
  • Added richTextWidget to list of valid classes for a rich text widget to support non-AT widgets. [robgietema]
  • Renamed configlet and moved to Plone section. [robgietema]
  • Removed browsercheck from isTinyMCEEnabled method. [robgietema]
  • Removed default values from interfaces/ since they are already set by the Generic Setup profile. [robgietema]
  • Removed .mo files from version control. [robgietema]
  • Added translations for simpleterms in controlpanel. [robgietema]
  • Get anchors from primary field and not from the ‘text’ field. [robgietema]
  • Fixed misspelled breadcrumbs. [robgietema]
  • Fix TinyMCEOutput parser to correctly recognise CDATA sections. TinyMCE puts the contents of script tags in CDATA sections. [optilude]
  • Add french translation. [toutpt]
  • Use AT mutator when setting title and description when uploading a file, otherwise this doesn’t work on blobs. [optilude]

1.1rc4 (2009-09-04)

  • Added hiding upload button when you don’t have permission to upload. [robgietema]
  • Fixed jumping when up one level is hidden. [robgietema]
  • Add allow_upload marker to results. [optilude]
  • Support iframe attributes. [optilude]
  • Fixed parent url when object is not folderish. [robgietema]
  • Added tests for adapters. [robgietema]
  • Fixed template error for Plone 4. [robgietema]
  • Fix evil use of test setup code in the views. [optilude]
  • Load plugins correctly. [optilude]
  • Fixing TinyMCEConfig call to use the same id as the id attribute gets set to (this makes it work in IE again and not error in FF). [evilbungle]
  • Several fixes to the Generic Setup import. [MatthewWilkes]
  • Fixed selecting link after uploading a file when using link by uid. [robgietema]
  • Fixed initialisation error in Safari. [robgietema]
  • Fixed error when inserting images in a new document and using uids. [robgietema]
  • Fixed error in definition list. [robgietema]
  • In the image and link drawers get the id of an item if the title is not specified. [robgietema]
  • Fixed width and height attributes getting undefined values. [robgietema]
  • UID links are now generated absolute and not relative so the body can be displayed in other contexts also. [maerteijn]
  • Upgrade to TinyMCE 3.2.6 [robgietema]
  • Fixed issue with preload image in IE returning the cached image. [robgietema]
  • Added default_editor fix for textFormatSelector also. [robgietema]
  • Added Finnish translations. [pingviini]
  • Make default_editor site property getter fail gracefully. [MatthewWilkes]
  • Fix bug that prevented user-specified plugins getting added. [MatthewWilkes]
  • Remove ploneimage and plonelink from the hardcoded plugins and add them to the control panel box. This allows people to select the default image and link dialogues. Readded dialogues removed in rc3. [MatthewWilkes]

1.1rc3 (2009-08-18)

  • Upgrade to TinyMCE 3.2.5. [robgietema]
  • Added support for definition lists. [robgietema]
  • Added autoresize plugin and removed autoresize bottom margin from control panel. [robgietema]
  • Added rooted feature, which roots the user to the current object. [robgietema]
  • Added plone.tinymce as i18n domain so control panel screens etc can be translated. [robgietema]
  • Added Dutch translation for plone.tinymce domain. [robgietema, ralphjacobs]
  • Renamed advlink to plonelink, advimage to ploneimage and style to plonestyle. [robgietema]
  • Rearranged image, link and table buttons. [robgietema]
  • Added support for ‘site default’ editor for Plone 4. [robgietema]
  • Get html filter settings from safe_html transform when available (Plone 4). [robgietema]
  • Fixed compatibility with Plone 4. [robgietema]
  • Added uninstall profile. [jaroel]
  • Created upgrade steps from 1.0. to 1.1. [jaroel, robgietema]
  • Removed json lib in favor of z3c.json package. [robgietema]
  • Removed jscripts/tiny_mce folder levels in the skin folder. [robgietema]
  • Removed fullpage and example plugin. [robgietema]
  • Moved all html templates from dtml to pt. [robgietema]
  • Use portal_type instead of meta_type for identification of resource types. [robgietema]
  • Added customtoolbarbutton property to the control panel so custom. toolbarbuttons can be added. [robgietema]
  • Added ploneCustom.css to dialogs. [robgietema]
  • The default image description (used for alt) is the image title. [robgietema]
  • When an image is uploaded en no title is specified the title will become the id. [robgietema]
  • Fixed issue with linkbyuid not working when images were not captioned. [robgietema]
  • Fixed save button in fullscreen mode. [robgietema]
  • Fixed error when styles and/or table styles were empty. [robgietema]
  • Added internal-link class to internal links. [robgietema]
  • A lot of minor bugfixes. [robgietema]
  • Modified the image drawer to retrieve the actual image scales for the image object selected. The ALT text box is pre-populated with the image description or if that’s empty then the image title. The upload / image details panels now toggle depending on the action you’re performing. [Ben Mason (sparcd), Per Thulin (pthulin), James Guest, Owen]
  • Fixed AttributeError: ‘NoneType’ object has no attribute ‘split’ when reinstalling TinyMCE from 1.1rc1 to 1.1rc2: adding the customplugins attribute fails as this attribute is not there yet (isn’t it ironic…). I cannot reproduce the error in a fresh site, but I have seen it in the wild. [maurits]

1.1rc2 (2009-06-08)

  • Added entity encoding configuration option. [robgietema]
  • Update to TinyMCE [robgietema]
  • Removed KSS dependency for initialization (KSS is still needed for inline editing). [robgietema]

1.1rc1 (2009-03-14)

  • Upgrade to TinyMCE 3.2.2. [robgietema]
  • Updated language packs (7 new languages added). [robgietema]
  • Added search function to image and link drawers including live search. [robgietema]
  • When a new link is inserted and the selected text contains an URL it is automatically prepopulated. [robgietema]
  • When a link is pasted the prefix is automatically stripped and put in the select box. [robgietema]
  • Headings and subheadings are now automatically put in the anchor tab of the link selection dialog as an available option. [robgietema]
  • Options to the control panel added to enable/disable the contextmenu. [robgietema]
  • Added visual feedback to save as draft button. [robgietema]
  • Added dialog to edit lang and dir attributes per tag. [robgietema]
  • Option added to include custom plugins. [robgietema]
  • Fixed issue when newlines were stripped in the transform. [maerteijn]
  • Fixed link dialog size in Firefox. [robgietema]
  • Fixed blockquote insert tag. [robgietema]
  • Fixed link and imagedrawer when current item is folderish. [robgietema]
  • Fixed issue with language configuration. [robgietema]



TinyMCE is a product developed by Moxiecode Systems

Plone 3

  • Plone 3 and TinyMCE 3 Adaption by Rob Gietema, Franklin Kingma, Ralph Jacobs, Martijn Jacobs, Maarten Kling and Roel Bruggink from Four Digits

Plone 2


  • Some code adapted from the FCKeditor Authors: Frederico Caldeira Knabben and Jean-mat Grimaldi (FCKeditor Plone Adaptation)
  • Some code adapted from the Kupu editor Authors: Paul Everitt, Guido Wesdorp, Duncan Booth and Philipp von Weitershausen
  • Some code adapted from the Epoz editor
File Type Py Version Uploaded on Size (md5) Source 2012-05-08 4MB