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

Hello,

The latest patch for version 7.3 is available and can be downloaded using the links below:

http://cdn.percussion.com/downloads/cmsystem/Patches/7.3/730_20140312/rxPatch730_20140312_201306R01.zip.md5

http://cdn.percussion.com/downloads/cmsystem/Patches/7.3/730_20140312/rxPatch730_20140312_201306R01.zip

http://cdn.percussion.com/downloads/cmsystem/Patches/7.3/730_20140312/Readme.txt

Please note that there is a known issue with the content browser loading in Internet Explorer v10.

This patch contains the hierarchy node load performance fix which will lower the amount of loading time for content explorer, this patch also fixes inline links from being generated incorrectly and adds new variables for site information as well as the ability to test them in the JEXL test panel.

This patch also contains a fix for the inability to navigate in content explorer while doing edit all due to a missing or not included description for a site. The patch also contains the fix for database issues in database publishing when missing a cascade delete on a foreign key in a child record.

There is now prevention for newly submitted items from causing orphaned items and draft or newly created items that had not been checked in or made public are now searchable.

Read Me for reference:

Rhythmyx Patch for Version 7.3.0 build 201306R01

Patch id: 730_20140312

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 RxPatchInstallToolkit.zip 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 730_20140312.zip into {installation root}/Patch.

  2. Go to {installation root}/Patch/730_20140312 and run install.bat (Windows) or install.sh (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 with database publishing when Rhythmyx was deleting the parent record before the child record if the database was missing cascade delete from the child record’s foreign key constraint.

  • Added original site information to location schemes, see Additional steps for more information.

  • Fixed issue where having a site with no description would cause the inability to navigate while doing an edit all for an item.

  • Performance fix for workbench folders and template/content type grouping affecting Content Explorer loading times.

  • Updated the location generate information in the documentation located online. (http://help.percussion.com/cmsystem/).

  • Fixed issue where draft items that had not been checked in were unable to be found through a search, items are now indexed when updated or added during the first revision, and after the revision increments when the item is moved to a public state.

  • Added JavaScript to prevent newly submitted items from causing orphaned items.

Change List

**D-01406 - Added implementation of doing a cascading delete, this prevents Rhythmyx from deleting the parent record before it deletes the children records. **

D-01386 - Fixed inability to navigate to sites in content browser if no site description is provided in the site definition.

D-01417 - Fixed inline links being generated incorrectly.

D-01455 - Fixed JEXL testing to include original site information for inline links when using the new variables.

D-01414 - Fixed when search doesn’t return new items that have not been checked-in.

D-01453 - 7.3 and 7.2 Content editor URL missing sys_folderid parameter on validation failure

Additional Steps

###Additional information when using inline links (D-01417)###

There is now additional information available for inline links when you use the new variables added in this patch. In order to use these new variables, enter the publishing design tab in Rhythmyx and choose a Location theme from the Site_Folder_Assembly context. This new information will allow you to view both the site id and the original site id when you follow through an inline link.

Original Variables:

$sys.variables

$sys.site.id

$sys.site.path

$sys.site.globalTemplate

$sys.site.url

The new Variables:

$sys.orig.variables

$sys.orig.site.id

$sys.orig.site.path

$sys.orig.site.globalTemplate

$sys.orig.site.url

A link to a page in the same site as the source item will have both sets of information be the same. This information is important when linking from one site to another (cross site link); previously
only the information from the destination site was available.

The location scheme testing panel in the location scheme editor of the Publishing Design tab now has the ability to set the Original and Destination Site.

Previous Patches


Patch 730_20140214

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)

example:

$rx.location.generate($sys.assemblyItem)

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)

example:

$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)

example:

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

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/server.properties

templatesGroupingInCX=false
contentTypeGroupingInCX=false

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

      <background-validation>true</background-validation>
      <background-validation-millis>150000</background-validation-millis>
      <validate-on-match>false</validate-on-match>

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:

None.

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
again.

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.
https://s3.amazonaws.com/cdn.percussion.com/downloads/cmsystem/Patches/7.3/B-01331/Ephox-Changes-in-B-01331.pdf

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

D-01226
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.
http://{host}:{port}/Rhythmyx/Administration/DeveloperTools/InstData/Windows/VM/devToolsSetup.exe

http://{host}:{port}/Rhythmyx/Administration/DeveloperTools/InstData/Windows/VM/devToolsSetup.exe

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
to:
#macro(imghelp $image $template)$rx.location.generate($sys.assemblyItem, $template, $image)#end

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

https://s3.amazonaws.com/cdn.percussion.com/downloads/cmsystem/Patches/7.3/B-01331/Ephox-Changes-in-B-01331.pdf

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
    item.

  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/server.properties 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/server.properties 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.

siteGroups.<groupName>=<siteid>[,siteid]

if staging site id is 305 then in server.properties 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