This is a confidential document to be shared only with current RSuite customers and others designated by Orbis Technologies, Inc.
Copyright © 2017 Orbis Technologies, Inc. All rights reserved.
For more information on RSuite CMS or Orbis Technologies, Inc. visit these web sites:
The PDF version of this document is created with the RenderX XEP FO engine integrated with the DITA Open Toolkit. See www.renderx.com for product details.
RSuite® CMS is a robust content management application, especially suited to loading, storing, managing, transforming, and exporting XML documents within the context of a publishing enterprise.
This book contains instructions for installing RSuite Edit, a WYSIWYG editor with which you can edit DITA files directly from the RSuite UI. RSuite Edit is RSuite’s integration of CKEditor™ a product of CKSource™.
The audience for this book is RSuite administrators and developers. The procedures assume the ability to create an RSuite plug-in and to code an extension that adds function to RSuite and RSuite Editor, for instance adding an action to the context menus associated with specific types of managed objects.
The principal set-up steps are described in Installing the RSuite Edit plug-in and Configuring the customer plug-in: Since customer environments vary and RSuite CMS is highly customizable, the RSuite Edit plug-in does not assign context menu actions. They must be assigned by a customer plug-in. The customer plug-in can also be used to deliver custom transforms and CKEditor plug-ins.> : >
Since customer environments vary and RSuite CMS is highly customizable, the RSuite Edit plug-in does not assign context menu actions. They must be assigned by a customer plug-in. The customer plug-in can also be used to deliver custom transforms and CKEditor plug-ins.
RSuite Edit uses transforms when it checks out (opens) and checks in (saves) content. The RSuite Edit plug-in delivers DITA-to-XHTML and XHTML-to-DITA transforms, but you can override either one, or both, with a custom transform in the customer plug-in.
The built-in transforms are in the WebContent folder of the RSuite Edit plug-in: ../WebContent/xslt/rsuiteEditDita2xhtml/rsuiteEditDita2xhtml.xsl and ../WebContent/xslt/rsuiteEditXhtml2dita/rsuiteEditXhtml2dita.xsl. The default tag mappings that they implement are listed at RSuite Edit built-in transformsThis appendix describes the built-in transforms delivered by the RSuite Edit plug-in. .
<transformToHtml>@pluginId@\xslt\customdita2xhtml\mypurposeDita2Xhtml.xsl</transformToHtml>
<transformToXml>@pluginId@\xslt\customxhtml2dita\mypurposeXhtml2Dita.xsl</transformToXml>
<extensionProvider id="rsuite.WebEditing"> <rsuiteEditConfig> <editInstanceConfig> … <transformToHtml>@pluginId@\xslt\customDita2Xhtml\mypurposeDita2Xhtml.xsl</transformToHtml> <transformToXml>@pluginId@\xslt\customXhtml2Dita\mypurposeXhtml2Dita.xsl</transformToXml> … </editInstanceConfig> </rsuiteEditConfig> </extensionProvider>
CKEditor properties can be changed in the rsuite.WebEditing extension point in a customer RSuite plug-in. There is a list of CKEditor configuration properties on the CKEditor Web site (https://docs.ckeditor.com/#!/api/CKEDITOR.config).
Property values are changed with <PROPERTY> elements grouped within a <PROPERTYMAP> element.
<extensionProvider id="rsuite.WebEditing"> <rsuiteEditConfig> <editInstanceConfig> <propertyMap> <property><name>colorButton_colorsPerRow</name><value>8</value></property> <property><name>language</name><value>es</value></property> <property><name>codeSnippet_languages</name> <value>{javascript: 'JavaScript', php: 'PHP'}</value></property> <property><name>scayt_multiLanguageMode</name><value>false</value></property> </propertyMap> </editInstanceConfig> </rsuiteEditConfig> </extensionProvider>Properties can have various data types.
<property><name>language</name><value>es</value></property>
<property><name>colorButton_colorsPerRow</name><value>8</value></property>
<property><name>codeSnippet_languages</name> <value>{javascript: 'JavaScript', php: 'PHP'}</value></property>
<property><name>blockedKeystrokes</name><value>[ CKEDITOR.CTRL + 66, CKEDITOR.CTRL + 73, CKEDITOR.CTRL + 85 ]</value></property>
<property><name>browserContextMenuOnCtrl</name><value>false</value></property>
This appendix describes the initial CKEditor settings delivered by the RSuite Edit plug-in.
The RSuite Edit plug-in installs RSuite Edit with the CKEditor defaults except for the settings shown in Figure 2. CKEditor defaults are documented on the CKEditor Web site.
config.defaultLanguage = "en"; config.language = RSICKEDITOR.getLang("cmsLocale"); config.languages = ['es:Spanish', 'en:English’]; /**we have full translations for these two languages */ config.extraAllowedContent="div[*]{*}(*);ul[*]{*}(*);img[*]{*}(*);ol[*]{*}(*);span[*]{*}(*); td[*]{*}(*); p[*]{*}(*);li[*]{*}(*);b[*]{*}(*);i[*]{*}(*);em[*]{*}(*);strong[*]{*}(*); sup[*]{*}(*);sub[*]{*}(*);a[*]{*}(*);h1[*]{*}(*);h2[*]{*}(*);h3[*]{*}(*);h4[*]{*}(*); h5[*]{*}(*);h6[*]{*}(*)”; config.removePlugins += 'image, horizontalrule, about’; config.removeButtons = 'horizontalrule, rsiannotationComment, lineutils, lite, widget’; config.removeDialogTabs = 'image:advanced;link:advanced’; config.toolbarGroups = [ {name: 'clipboard', groups: ['clipboard', 'undo']}, {name: 'editing', groups: ['find', 'selection', 'spellchecker', 'editing']}, {name: 'links', groups: ['links']}, {name: 'insert', groups: ['insert']}, {name: 'rsi', groups: ['rsi']}, {name: 'forms', groups: ['forms']}, {name: 'tools', groups: ['tools']}, {name: 'document', groups: ['document']}, {name: 'others', groups: ['others']}, '/', {name: 'basicstyles', groups: ['basicstyles', 'cleanup']}, {name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi', 'paragraph']}, {name: 'styles', groups: ['styles']}, {name: 'colors', groups: ['colors']}, {name: 'lite', groups: ['lite']}, {name: 'about', groups: ['about']} ]; /** * config.readOnly = true * config.readOnly = false * uncomment, based upon some conditions which may change according to the extension point configuration */
This appendix describes the built-in transforms delivered by the RSuite Edit plug-in.
RSuite Edit includes transforms for:
In most cases, the original DITA mark-up is restored in the saved file. In two cases, the original DITA mark-up is replaced by a different but functionally equivalent mark-up. After the first editing session, the mark-up is stable.
The built-in transforms can be overridden by custom transforms. See Configuring custom transforms.
Original DITA and DITA saved from XHTML | DITA is mapped to this XHTML |
---|---|
<b class="+ topic/ph hi-d/b "> | <strong data-dita-class="+ topic/ph hi-d/b "> |
<body class="- topic/body "> | <div data-dita-class="- topic/body "> |
<bodydiv class="- topic/bodydiv "> | <div data-dita-class="- topic/bodydiv "> |
<em class="+ topic/ph hi-d/i “ |
<em data-dita-class="+ topic/ph hi-d/i “> |
|
<sup data-footnote-id="id"> |
<i class="+ topic/ph hi-d/i "> | <em data-dita-class="+ topic/ph hi-d/i “ > |
<image class="- topic/image "> | <img data-dita-class="- topic/image "> |
<li class="- topic/li "> | <li data-dita-class="- topic/p "> |
<linethrough |
<s id ="id"> |
<ol class="- topic/ol "> | <ol data-dita-class="- topic/ol "> |
<p class="- topic/p "> | <p data-dita-class="- topic/p "> |
<ph class="- topic/ph "> | <span data-dita-class="- topic/ph "> |
<ph class="- topic/ph " outputclass="ice-del ice-cts-1 “> | <del class="ice-cts-1 ice-del "> |
<ph class="- topic/ph " outputclass="ice-ins ice-cts-1 ”> | <ins class="ice-cts-1 ice-ins "> |
<section class= "- topic/section " > | <div data-dita-class="- topic/section "> |
<sectiondiv class="- topic/sectiondiv"> |
<div data-dita-class="- topic/sectiondiv "> |
<strong class="+ topic/ph hi-d/b "> |
<strong data-dita-class="+ topic/ph hi-d/b "> |
<subsection |
<div |
<title class="- topic/title "> | <h1 data-dita-class="- topic/title " > |
<topic class="- topic/topic "> | <div data-dita-class="- topic/topic "> |
<ul class="- topic/ul "> | <ul data-dita-class="- topic/ul "> |
<xref class="- topic/xref "> | <a data-dita-class="- topic/xref "> |