CM System Patch for Version 7.3 build 201306R01 (Patch id: 730_20140214)


The latest patch for version 7.3 is available and can be downloaded using the links below. This patch fixes issues with preview when sys_folderid or folderid exist in preview with no url; commons-codec-1.3.jar no longer missing in developer tools and added a new generate method for $rx.location.generate.

Changes In This Release

  • Fixed issues when sys_folderid or sys_siteid exist in preview url without a value.

  • Added new generate method for $rx.location.generate that allows passing of an assembly item for correct folder and site fixup, but allows overriding of the item , filter (e.g. “preview” or “public”), and context. Only the IPSAssemblyItem is required other values are set to defaults based upon context if null. Some error/warning messages have also been improved.

  • Resolved missing commons-codec-1.3.jar in developer tools.

Read Me for reference:

Rhythmyx Patch for Version 7.3.0 build 201306R01

Patch id: 730_20140214

Patch Install Toolkit version: 1.0

Patch Installation:

  1. Shutdown or close all Rhythmyx applications (server, workbench, etc.).

  2. Install the Rhythmyx Patch Install Toolkit by extracting to {installation root}.

If you do not have the toolkit, contact Percussion Software Technical Support to obtain it. If the toolkit
is already installed, go directly to step 2. The toolkit is installed if the following directory exists:
{installation root}/Patch/InstallToolkit.

  1. Extract into {installation root}/Patch.

  2. Go to {installation root}/Patch/730_20140214 and run install.bat (Windows) or (Unix) in order to install
    the patch. Uninstall.bat/.sh can be used to uninstall the patch. On Unix systems, the user must have execute
    permissions in order to launch the shell script(s). During both install and uninstall, the following warning
    message will be seen in the console:

    “Unable to locate tools.jar. Expected to find it in {installation root}\lib ools.jar.”

    This message is expected and can be ignored.

  3. See “Additional Configuration” for manual steps which may be required after installing/uninstalling the patch.

Changes In This Release

  • Fixed issues when sys_folderid or sys_siteid exist in preview url without a value.
  • Added new generate method for $rx.location.generate that allows passing of an assembly item for correct folder and site fixup, but allows overriding of the item , filter (e.g. “preview” or “public”), and context. Only the IPSAssemblyItem is required other values are set to defaults based upon context if null. Some error/warning messages have also been improved.
  • Resolved missing commons-codec-1.3.jar in developer tools.

Change List

B-01480 - Removing the value of folderidstr and siteidstr will no longer cause an error during preview.

D-01427 - Added new location generate parameters to handle missing case for customers where context of filter needed modifying.

D-01438 - commons-codec-1.5.jar has been changed to commons-codec-1.3.jar in buildDevToolsSource#2 in order to solve it from being missing.

Additional Steps

Nothing needs to be done unless you see the following warning message in the server.log file. If you are an advanced template developer you may be interested in the changed methods for future template design.

method of $rx.location.generate with parameters templateinfo, item, folderpath, filter, siteid, context is deprecated

Patch B-01331 Introduced a new version of $rx.location.generate that would allow site and folderid fixup to work correctly.
There was a required change in this patch (see instructions for B-01331) to the User Velocity Macros file to pass $sys.assemblyItem to make the current assembly folder
and site id available. This change deprecated the old method which also allowed the filter and the context to be specified. Some customers may be using this legacy method in their own templates and a warning would be thrown. The new version did not allow setting the filter or context. This patch introduces another version of $rx.location.generate that allows setting the filter and context.

There are now three main versions of $rx.location.generate that can be used, excluding exsting methods using page number which have not changed. In each case the folder and site id will be calculated and are obtained from the assemblyItem passed in and also using the folder and site fix up functionality if turned on. See Patch B-01299

This is the existing standard version used in rffSnTitleLink. It generates a link to the default template of the item being rendered using the same context and filter

public String generate(IPSAssemblyItem asm)



The following allows a template id or template name to be passed in and also the node to create the link to. This will error if the template is not allowed for the content type of the item passed in but will use the default template if templateinfo is null and will use the current item if the item is null.

public String generate(IPSAssemblyItem asm, Object templateinfo, Node item)


$rx.location.generate($sys.assemblyItem, "rffPgEiGeneric", $sys.item)

This is the same as above but also allows specifying a filter name and context. These will be the same as the passed
in IPSAssemblyItem e.g. current page if null.

public String generate(IPSAssemblyItem asm Object templateinfo, Node item, String filter, Number context)


$rx.location.generate($sys.assemblyItem, "rffPgEiGeneric", "public" , 1)

Previous Patches

Patch 730_20140124

  • This patch contains code to support AjaxSwing currently in beta.
  • The clone wizard has been fixed.
  • Fixed issues with missing ephox images and html5 css file when upgrading from certain versions.

Known Issues

  • See separate AjaxSwing document with know issues and changes related to the AjaxSwing implementation

Additional Configuration:

  • See AjaxSwing installation guide for instructions.

Change List

D-01426 - Site Clone Wizard Failing

B-01472 - ephox images and rx_ephox_html5.css missing

Patch 730_20131220

  • Updated patch Readme format based upon Markdown syntax. Additional information is now placed by patch it represents, if upgrading from a previous patch check for configurations that may not have been included for other patch versions between your current and this patch.
  • This patch includes support for UTF-8 in Taxonomy administration
  • Improvements to how siteid and folder id in Ephox inline relationships are modified when the dependent item is moved, the relationship may not have been fixed up previously when the previous site or folder id were invalid. Also resolves issues fixing up these ids when multiple sites are mapped to the same site folder path. There would not be much impact of this when site fixup is turned on as the link would be fixed up on assembly.
  • Fixes for unpublishing. Using a relative path such as …/EI_Home.war as the publish path would prevent unpublish from working correctly.
  • fixes to pass isRemoval flag on assembly item correctly when item is being unpublished as part of the regular unpublish then publish, or unpublish is occuring from use of sys_unpublishChangedLocation=true property
  • Fix for folder/siteid fixup code to link by default to the site set for the parent snippet if it exists and the current relationships do not define a particular site or folder, this more closely resembles the old behavior in this case.
  • Fixes for threading issues in Content Explorer Applet
  • sys_lang was not being passed correctly from EditLive when requesting for translated version of Inline buttons and menus.
  • Sets Background connection validation checking by default. This can have a major performance improvement for publishing in particular. May require manually adding for old connections see additional steps.
  • Some other general error handling fixes

Known Issues

There is a known performance problem when first starting up content explorer and using the template and content type grouping options. It can initially takes a long time to cache some information the first time the menu actions are accessed, this is not resolved by fixing the caching config. If this is a problem the you can turn off this feature until we patch the issue in rxconfig/Server/


Additional Steps

New connections now add background connection validation, existing connections you may need to manually modify the connection properties. Edit AppServer/server/rx/deploy/rx-ds.xml file and add the following lines within the local-tx-datasource element


Change List

D-01330 - Taxonomy not supporting accent characters

D-01389 - In IE Content Explorer page gets loaded in Quirks mode by default

D-01400 - Publisher API not passing isRemoval flag

D-01409 - sys_publish equals publish when unpublishing an item

D-01410 - Unpublish failing to do removal when Assemble Item For Unpublish is selected

D-01411 - Moving item to a different site does not update siteID in relationship if the item exists in a site as well as a staging site

D-01416 - In folder/siteid fixup use site id of the parent snippet if there is one as the site hint when the parent snippet was inserted with an included siteid.

D-76836 Handle codebase properly and replace PSHttpConnection with non static version.

76821 Remove statics in applet and refernces to these statics in rxcx. Add null checks in PSContentExplorerApplet

D-76838 Remove statics

D-01415 - Html parameters in in request for translation package not passing sys_lang correctly - Applet InsertInline menu and button localization

D-76847 Close Resultsets

D-76846 Close stream correctly

D-76845 Fix error handling on failed publish

D-76844 Fix Exception eating stack

D-76848 null pointer in updateSessionTimeout

D-76605 deliveryhandler

D-76854 Add background checking to rx-ds.xml file

D-76853 Don’t start auditlogreaper until spring started

Additional Configuration:


Patch 730_20131125

This patch includes a major performance improvemnt to the speed of incremental publishing when the core content list query selects from a large number of items. e.g. a large site with many thousands of items. The order of processing has been modified to check the last modified date of all items before further processing or filtering.

This patch also includes some enhancements to the folder/site fixup code, a memory leak that would only be apparent when publishing many times over many days without a server restart. Also a change to improve the performance of the Publishing Design tab that was more apparent for a customer who has over 300 sites.

D-01398 Improve Caching of menu actions where only “targetStyle”,“target”,“launchesWindow” have changed.

If multiple Preview menu actions are created where only these properties are changed. For example if options for different window sizes, this change prevents multiple calls to the server for the list of templates improving performance. This is for a very particular use case where multiple menu options were being used where the only difference is the popup window size.

D-01393 Resolved error when linking to items under //Folders

Adding templates to slots from under //Folders structure was causing an error. It is still an error if we are attempting to generate a location to one of these items e.g. using rffSnTitleLink as the item does not have a publishing location within the site, but a reference to a callout stored in this structure e.g. rffBrief items or external link items would be allowed now.

D-01399 Run Incremental filter before all others

Publishing and item goes through a series of steps to filter out the items from the content list query. The incremental filter looks at the last modified date and was running after other filters. This filter often removes most items from the list most quickly, this has been moved to the first step and should improve performance for building the incremental content list for large sites where not many or no items have changed

D-01396 Publishing Design Tab takes a long time to load

Improves performance when there are a large number of sites.

D-01402 Slow memory leak when using transactional publishing over many iterations

A reference to temporary files used in transactional publishing was not being cleared. This could cause the memory usage to increase slowly over many days when continuously publishing

Patch B-01383

The main purpose of this patch was to provide support for Java 7u45. We recommend and support the latest version of the JRE to make sure our customers have the latest security fixes. If this patch is installed and a user is on a previous JRE version they may see some serurity warnings return.

Change List

TK-01923 Updates for Java 7u45

Oracle added further changes to the security model in Java 7u45 requring developer changes to the packaging of applet code. This update
addresses these issues and removes security warnings caused by the changes. The required chages are incompatible with changes required since
Java 7u21 to remove warning dialogs. Unless the client JRE is updated to update 45 these warnings will return with this patch to users
currently using older JRE versions since update 21.

As with previous version since Java 7u21 users may still see a dialog from the Publisher PERCUSSION SOFTWARE and when accessing the Editor form
from Ephox Corporation. These will warn the following

“This application will run with unrestricted access which may put your computer and personal information at risk. Run this application only if you
trust the location and publisher above”

This warning is now required for the applets to function and communicate with the browser via Javascript.

If the user selected the checkbox against “Do not show this again for apps from the publisher and location above” they should not see these dialogs

We recommend that all customers update to this Patch and Java version to take advantage of the security fixes Oracle have added in this release.

Patch B-01331

Note the improved template processing and Ephox may not work with old XSLT style templates from version 5.7 and before of the product and we suggest these templates are upgraded before upgrading to 7.3 or this patch.
This patch also uses a variety of other fixes listed below.

Change List

B-01300 Changed parser to remove extra HTMLTidy process and handle content that may not be well formed xml.

Ephox has been updated also to version 9 in this process. This change has many improvements over the existing
field processing. White space and other non xml content are now handled with minimal re-formatting. Spacing
from inline templates is now passed through without change so templates should be reviewed if a particular
spacing/format is require.
See the separate document for the full information about the changes.

B-01321 Preview is not passing additional HTTP Parameters

Extra html parameters set up in workbench for Menus are now passed through to preview url making them available to template.

B-01294 FTP unpublish issue

The file path for unpublish was sometimes miscalculated with ftp publishing causing unpublish failure.

D-01189 Patch for folder and site ids improvements and fixes

See Additional Configuration from Patch B-01299

D-01024 In content editor, calendar control’s Today button does not populate current date calendar control

Control has been updated to a jquery control. The “time” control parameter is still used to indicate if the date or both date and time should be used.

D-01226 Adding a field to Contact Content type - Workbench Freezes

Adding and Removing fields no longer causes entire content table to be copied. Changing field data type will still clone and recreate table. A warning is provided as this can take a long time for large content tables and those containing binaries.

D-01256 System validates for email id for notification even if notification is not enabled in workflow transition

Email address for all uses in transition role was being retrieved from LDAP even when no notification was being sent.

D-01298 Error in assembly is not causing publishing failure

Some errors in assembly were not triggering failure of page to be published and error message would be delivered.

Aditional Steps

The extra warning messages and prevention of table cloning on field deletion will not be available unless Workbench is upgraded. This patch
provides a new workbench version which can be downloaded from the server from the following path.


Modify User Velocity Macros

An old form of $rx.location.generate used in imghelp macro which comes with the Fast Forward User Velocity macros file does
not handle items in multiple folders well. To make use of the folder and site fixup here, you should change this to pass
$sys.assemblyItem as a parameter. This allows the function to accesse the original site and folderid of the page in caluclating
the correct folder and site for the passed in node. Some of the other parameters on this method are no longer required as the
values can be obtained from the $sys.assemblyItem. This should be changed elswhere in the template code it is also used with these
same parameters.

Change the following line in User Velocity Macros:
#macro(imghelp $image $template)$rx.location.generate($template, $image, $rx.location.folderPath($image),$sys.assemblyItem.getFilter().getName(), $sys.assemblyItem.getSiteId().longValue(), $tools.number.toNumber($tools.list.get($sys.params.get('sys_context'), 0)) )#end
#macro(imghelp $image $template)$rx.location.generate($sys.assemblyItem, $template, $image)#end

Review the separate document outlining the changes to Ephox and check if inline template code requires modifications.

Patch B-01299

This patch enables a new process to contexually calculate a valid site and folder id for a relationship based upon where it is being run. This takes into account the current folder and site id of the root page being assembled as well as any folder and site id that were specified in the relationship when the link was created. Before this broken links may occur if in the following cases due to the wrong folder site id.

  • No folder id passed, from a view, or search result
  • dependent items in multiple folders or sites (Copy as Link)
  • Multiple sites with the same root folder path

Note further enhancements to this have been made to more recent patches, it is suggested you upgrade this patch version.

This new feature allows the system to resolve the link path based on several criteria:

  1. Only one item: If an item is in only one folder in the entire system this feature should always link to only that

  2. One or more copy of an item: If a copy of an item is created using copy as link, the system automatically
    calculates the right item version to link to even if the include folder or site was not selected in the content
    browser. If include folder or site was not selected, the system will assume that the link is to the version that is
    in the closest folder path. Please note that for some unknown reason if such links are still broken, recreating the
    links by including the folder path in the content browser will ensure that the correct version of the item is linked.

Example use case: The original version of an item is in the local site, but you want to link to the copy of this
item from another site.
3. Multiple sites with same folder path: There may be cases where more than one site is configured pointing to the
same folder path. Such sites configurations allow publish the same site content to multiple servers like staging, qa
or production. If you currently have this setup, turning on autofixFolderSiteIds feature will log errors to indicate that additional configuration is required. If you have this configuration of see these messages in the server.log file see below for additional configuration.

Change List

D-01189 Publishing to Staging server de-activates “Rx inline links”

Additional Configuration

  • D-01189 Fixup site and folder ids

By default this feature is disabled. To enable add autofixFolderSiteIds=true property in
Root/rxconfig/Server/ file.

Some customers have more than one site definition pointing to the same root folder path in Content Explorer. Doing this would originally could numerous issues when linking between sites, this is becuase the system would treat the different site definitions the cause we now need to decide which of the site ids we link to when linking to an item in that folder. This works by assuming that one of the sites is the default, this would be the one we would link to if we have no further information. In a configuration where we have separate site definitions for development, staging and production sites pointing at the same path the production would normally be the default. Every other site with the same path needs to be assigned a group, e.g. development and staging groups.

The concept is that if we are publishing a development version of a site we would always link to a development version of another, site if available, if the other site does not have a development version we would create a link to the production version.

Once you have decided which site groups you have you need to modify the rxconfig/Server/ file to mark which sites are in which group. We do not need to include the default sites.

The site groups are configured using the following structure the groupName can be any name to identify the group. the property is set to a comma delimeted list of all sites in that group.


if staging site id is 305 then in file to
create staging site group you need to have siteGroups.staging=305. In case of multiple staging sites in the system,
separate the site ids by comma as siteGroups.staging=305,307.

You will see errors in the server.log file if you map the same site to more than one group, if you allocate all sites to groups (e.g. no default), or if there is more than one site still without a group set.

Patch B-01297

This fixes a patch install issue with Patch B-01267 where the updated EditLive files may not be updated based upon their timestamp.

Change List

D-01282 Update 7.3 patch 7.3 Install may not overwrite Ephox plugin jars

Patch B-01267

Fix for ephox in a field group

Change List

D-01257 : Inline controls in Ephox EditLive 8.1 broken when the edit live field is in a field group