CM System Patch for Version 7.2 build 201208R01 (Patch id:720_20140325)

Hello,

The latest patch for version 7.2 is available and can be downloaded using the links below.

http://cdn.percussion.com/downloads/cmsystem/Patches/7.2/720_20140325/Readme.txt
http://cdn.percussion.com/downloads/cmsystem/Patches/7.2/720_20140325/rxPatch720_720_20140325_201208R01.zip
http://cdn.percussion.com/downloads/cmsystem/Patches/7.2/720_20140325/rxPatch720_720_20140325_201208R01.zip.md5

Please note this patch has a known issue with EditLive inline content browser loading in IE10.

This patch updates Editlive 8 in order to fix non-default locales breaking Editlive, this patch also contains a fix for multi-server manager not cleaning up content type application files when installing an archive with no content type associated table schema.

The patch allows usage of original site information when folder fix-up was not enabled in the server.properties. This patch also fixed the original filename in binary metadata being used instead of the uploaded filename when using hashed binaries.

Read Me for reference:

Rhythmyx Patch for Version 7.2.0 build 201208R01

Patch id: 720_20140325

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.

  3. Extract 720_20140325.zip into {installation root}/Patch.

  4. Go to {installation root}/Patch/720_20140325 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.

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

Changes In This Release

  • Updated EditLive to latest version in order to fix issue with non-default locales causing EditLive to break.

  • Fixed issue where the multi-server manager was not cleaning up content type application files when installing an archive where there was no schema provided with the content type.

  • When using hashed binaries, filename is now always using uploaded filename for _filename field and not the original filename stored in the binary metadata.

  • Fixed missing original site information when site folder fixup was not enabled.

Change List

D-01452 - Updated EditLive 8 to latest version to fix issues with non-default locale.

D-01447 - MSM Creates Multiple Copies of same content type and does not clean up in the system.

**D-01481 - Fixed always using same filename even if the file was renamed. **

**D-01480 - Fix missing original site information when site folder fixup was not enabled **

Additional information

Previously, installing an archive via the multi-server manager with a new content type but missing associated table schema resulted in a column missing error. The content type application had some files left around in the system. As of this patch, the content type is cleaned up if the table schema is missing and throws back an error noting the missing table. When creating an archive using the multi-server manager you must include the table schema alongside the associated content type if the table schema is new or modified. If including a shared field file, you must also include the associated table schema as well.

Previous Patches


Patch 720_20140214

Changes In This Release

  • 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 if the context is null. Some of the error/warning messages have also been improved. See Additional steps for usage and examples.

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

  • Fixed issues with Rhythmyx 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.

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-01427 - Added new method for generate location parameters. **

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

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

Additional Steps

###New method for generate location (D-01427)####

Changes to $location.generate

For $rx.location.generate, 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

There was a required change in this patch 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 the existing methods using page number which have not changed. In each case the folder and site id will be calculated and are obtained from the assembly item passed in, and also uses 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 it 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)

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 access the original site and folderid of the page in calculating
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 elsewhere 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

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

Fixes Included from 720_20140131:

B-01480 - Added check to see if sys_siteid or folderid is null or blank string, if so it is set to null.

B-01471 - Patch config changed to include ephox images and rx_ephox_html5.css in 7.2 patch

Fixes Included from 720_20131209:

D-01330 - Taxonomy not supporting accent characters
D-01389 - In IE Content Explorer page gets loaded in Quirks mode by default
D-01390 - mime-map.properties is incorrectly identified as mime.properties in the readme
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 sitID in relationship if the item exists in a site as well as a staging site
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.

Fixes Included from Patch B-01384:

TK-01924 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.

Fixes Included from Patch B-01328:

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.
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 datatype 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-01189 Patch for folder and site ids improvements and fixes
See Additional Configuration
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.

###Additional Configuration:###

B-01299 and D-01189
In an item link relationship, this patch will resolve site and folder ids appropriately even if these ids are
incorrect or if they are not selected from EditLive content browser. The system can automatically resolve any broken
links based on item location in the folder structure, information from the current page being assembled, information
from the include folder and site selected in EditLive content browser.

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

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 this feature is enabled in the system and with multiple sites referring 
	to same folder path, we now need to decide the default site and configure rest of the site in groups.  For example, 
	in a Staging and Public sites setup where both configured from same folder path, the public site would be the default 
	as that is the site to which the item will be linked if no site information is provided and staging site need to be 
	configured as site group. There default site must not be configured. The sites not configured in groups are treated 
	as default sites. The site groups are configured using siteGroups.<groupName>=<siteid>[,siteid] property in 
	Root/rxconfig/Server/server.properties file.  For example 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.

D-01226
In content type editor, the warning message dialogue to prevent table cloning on field deletion will be displayed only if upgraded workbench is used. The workbench can be upgraded using below link.
http://{host}:{port}/Rhythmyx/Administration/DeveloperTools/InstData/Windows/VM/devToolsSetup.exe

Fixes Included from Patch B-01299:

D-01189 Patch for folder and site ids issues

Fixes Included from Patch CMS-522:

CMS-503 Adding an editlive field into a group in a content item breaks the inline links/images/templates

Fixes Included from Patch CMS-475:

CMS-472 Java 7u21 changs security model causing extra warning dialogs.
CMS-491 Failed Translate can remove items that were previously translated.

This version is required to resolve warnings with
Java 7u21. This version provides a different mechanism to enable the editor region
Instead of double clicking on the editor, each editor has a preview and design tab at the bottom (as well as code, if enabled in the config)
Clicking on design should open the area for edit. The width value in the control properties can also now be set to 100% to use
the full editor width if required

###Additional Configuration:
CMS-472
If you are using a custom version of the sys_EditLive control you will need to change or revert this to work with
the new ephox version. You will need to sync any changes with the version now in sys_resources\stylesheets\sys_Templates.xsl
There are a couple of changes to the configuration also. If the configuration is being loaded through the sys_Ephox_support xml application
The system file sys_Ephox_support/configfix.xsl will be overwritten with this patch. Custom changes will be overwritten
as can happen with any system file.

	The contents of the elj_config.xml will be dynamically modified with the changes to the config structure 
	and should work without change.  
	You should can also change the source file to match the new structure to keep this consistent.
	
	Config changes:
	Elements called customshrtMenuItem should be renamed customMenuItem.  
	plugins element should contain <plugin name="spelling" /> to enable spell checking.

Fixes Included from Patch CMS-437

CMS-447 - Cancel Publishing taking a long time and Locking up Publishing Design Tab
CMS-366 - Publishing Performance issue after 7.2 upgrade
CMS-442 - Security error on Administration applet due to combination of signed and unsigned jars
CMS-395 - Full Text Indexer never removes documents that error from it’s queue
CMS-396 - Full Text Search Indexer causes “GC Overhead Limit Exceeded” when encountering large numbers of indexing errors (This was an optimization of the process. There may still be issues with large documents. The indexing has been improved, but until the version of Lucene is upgraded there may still be issues.)
CMS-433 - Webservices fileupload does not set source filename and content type preventing files/images from being processed

###Additional Configuration:

CMS-433 - WebServices was not passing the content type or filepath for the sys_FileInfo and sys_imageInfoExtractor() extensions to process the uploaded file in the same way as a file uploaded through the editor form. Some customers may have been setting these fields explicitly on the item uploaded. If the filepath is now set explicitly on the image the file processing will now be done correctly. This change is required to make the PSOThumbnailGenerator to work correctly through WebServices. If this filepath is set the other supporting fields eg. _filename _size, _height etc. will now be generated automatically.

The following shows an example of setting the path based upon the original file, The filename could be set to any value. The server strips of any path parts to create _filename.

       DataHandler handler = new DataHandler(new FileDataSource(file));
       AttachmentPart part = new AttachmentPart(handler);
       part.setContentLocation(file.getPath()); 

Fixes Included from Patch CMS-417

CMS-366 - Publishing Performance issue after 7.2 upgrade
CMS-388 - In 7.2 create new item menu item throws exception if no Navigation.properties file or no navon items in the system
CMS-389 - In 7.1 and 7.2 exception occurs when user tries to rename toplevel folder with Navtree item in it
CMS-367 - Error in the server log while adding pptx, xlsx, docx files to the CMS
CMS-139 - Incorrect menu options for “drag and drop” context on items from different communities
CMS-172 - Expired Java Certificates in 7.1 and 7.2
CMS-426 - External Jars have expired certificates

###Additional Configuration:

CMS-367 - Update Rhythmyx\rxconfig\Server\mimemap.properties file with Microsoft office xml mime types

      potx=application/vnd.openxmlformats-officedocument.presentationml.template
      pptx=application/vnd.openxmlformats-officedocument.presentationml.presentation
      xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
      xltx=application/vnd.openxmlformats-officedocument.spreadsheetml.template
      docx=application/vnd.openxmlformats-officedocument.wordprocessingml.document
      dotx=application/vnd.openxmlformats-officedocument.wordprocessingml.template

Apache Tika is now being used for text extraction. The extra libraries may require you to increase the PermGen size to
256m in RhythmyxServer.bin.lax(Unix) or RhythmyxServer.lax(Windows) file in the root Percussion folder. Search for
MaxPermSize and change the setting e.g. --XX:MaxPermSize=256m

Fixes Included from Patch CMS-378:

CMS-369 - 7.2.0 MSM Workflow Archive Issues - Can’t create archive with workflows
CMS-374 - Improve performance of binary items by using load Minimal
CMS-375 - Large taxonomy trees load slowly on 7.2 compared to original taxonomy code
CMS-376 - Content Browser Pops up behind content explorer in ie 8,9

Fixes Included from Patch CMS-318::

CMS-301 - Translation of folder containing folder already translated causes original translated folder to have multiple parents.
CMS-298 - PSOThumbnailGenerator failing with WebServices Image save
CMS-297 - Removing sys_folderid from content list queries throws error
CMS-290 - Turning on log4j Debug in WebDav causes file contents to be lost
CMS-270 - Field validation error when uploading item through webdav throws error message saying Content-Type header not supported
CMS-289 - Extensions and validations need a way to identify an item change request has come from WebDav to prevent item from failing to update
CMS-266 - Post-upgrade issue, list of templates do not get filtered by community
RX-16093 - Workbench taking minutes to load 1st slot
RX-16094 - MSM takes minutes to load Table Schema node
RX-16358 - Validation rules do not work with child tables
CMS-288 - jexl function for assembling slot contents assembling items twice

###Additional Configuration:
CMS-298 - You can now turn off validation for fields in the case the item is modified through WebDav. This allows an item to be created but require a user to modify the field later.
This is done by passing a html parameter sys_client=WebDav that can be picked up in the validation. To prevent validation on Field Validation select the Prerequisites button and add a conditional where Single Html Parameter sys_client “NOT LIKE” the Literal WebDav.

CMS-266 - Templates in the Content Browser in 6.7 used to be filtered by community if this is required now an entry contentBrowserFilterTemplatesByComunity=true should be added to Rhythmy/rxconfig/Server/server.properties. (The fpath fixes this bug only on IE.)