HowTo Install TinyMCE 3.x in Lenya 2.0.X

General remarks

  • TinyMCE will not work if uploads are disabled. So either you set uploads.enable in local.build.properties, or you modify the
  • build/lenya/webapp/WEB-INF/web.xml
  • file as follows
  • <init-param>
    • <param-name>enable-uploads</param-name> <param-value>true</param-value>
      </init-param>
  • and restart lenya.
  • The TinyMCE 3.x API is different from the 2.x API. For that reason, all plugins have to be rewritten. There is some information in the Migration Guide.
  • A patch is appended to this page (see installation intructions below)

Basic Installation

  • Get the TinyMCE Main package and Language packs from the Download page.
  • If you upgrade from tiny 2.x, make sure to delete all old files before installing.
  • Unpack the main package in
  • ..../modules/tinymce/resources/
  • Unpack the language packs in
  • ..../modules/tinymce/resources/tinymce/jscripts/tiny_mce/
  • Important: this is different from Tiny 2.x, where you unpack them at the higher level!

If your version of Lenya is older than 2.0.4, you also need to:

  • Download and unpack tinymce3patch.zip in
  • ..../modules/tinymce/resources/
  • Important: This patch overwrites some files in the tinymce/jscripts/tiny_mce/plugins subtree; if you want to go back to TinyMCE 2.x, you need to backup this subtree first.
  • Modify the file
  • ..../modules/tinymce/resources/javascript/tiny_config.js
  • by adding the following line to the list of configuration options:
    popup_css_add : "../modules/tinymce/css/lenya_dialog.css",
  • (This will make images and tables comply with the html strict schema, by showing only allowed attributes in the image and table popups.)
  • (Optional but recommended) Modify the file
  • ..../modules/tinymce/sitemap.xmap
  • as shown by the attached diff output:
  • Index: src/modules/tinymce/sitemap.xmap
    ===================================================================
    --- src/modules/tinymce/sitemap.xmap	(revision 1024205)
    +++ src/modules/tinymce/sitemap.xmap	(working copy)
    @@ -75,7 +75,7 @@
                 <!-- Check for language pack to render TinyMCE according to the 
                      requested locale. If it does not exist, fall back to English. --> 
                 <map:select type="resource-exists">
    -              <map:when test="fallback://lenya/modules/tinymce/resources/tinymce/jscripts/tiny_mce/langs/{request:locale}.js">
    +              <map:when test="fallback://lenya/modules/tinymce/resources/tinymce/jscripts/tiny_mce/langs/{request:locale/language}.js">
                     <map:transform src="fallback://lenya/modules/tinymce/xslt/page2edit.xsl">
                       <!-- the proxy path is set manually, since the document has already been
                            though the proxy transformer in the publication sitemap, and we can't
    @@ -84,7 +84,7 @@
                       <map:parameter name="continuationId" value="{flow-continuation:id}"/>
                       <map:parameter name="usecaseName" value="{request-param:lenya.usecase}"/>
                       <map:parameter name="publicationId" value="{page-envelope:publication-id}"/>
    -                  <map:parameter name="locale" value="{request:locale}"/>
    +                  <map:parameter name="locale" value="{request:locale/language}"/>
                       <map:parameter name="content" value="{request-param:tinymce.content}"/>
                     </map:transform>
                   </map:when>
    @@ -95,6 +95,7 @@
                       <map:parameter name="usecaseName" value="{request-param:lenya.usecase}"/>
                       <map:parameter name="publicationId" value="{page-envelope:publication-id}"/>
                       <map:parameter name="locale" value="en"/>
    +                  <map:parameter name="content" value="{request-param:tinymce.content}"/>
                     </map:transform>
                   </map:otherwise>
                 </map:select>
    
    
  • No labels