Step by step guide for upgrading Hippo CMS to version 6.04.
Before you upgrade
Before you upgrade from Hippo CMS 6.03 to 6.04, consider upgrading to the latest minor 6.03.xx version (6.03.08 at the time of writing) if you haven't done so already. It makes the upgrade path to 6.04 smoother. A newer 6.03.xx version might even satisfy your requirements and make upgrading to 6.04 not necessary yet, giving you more time to asses its impact.
It is a good idea to plan a test phase in your upgrade path. Especially if you are using a heavily customized CMS there might be unforeseen compatibility issues. Issues can be discussed on the mailing list, support is available from Hippo
.
If you decide to use any new features available in Hippo CMS 6.04, inform your CMS users about it, and if necessary train them to use those new features.
Upgrade your CMS to version 6.04
Binary distribution
If you are using the binary distribution, download the new version from http://repository.hippocms.org/hippo-cms/v6.x/
, and unzip and run it.
Plain SVN checkout
If you are using a plain SVN checkout of Hippo CMS for your project, check out the tag (https://svn.hippocms.org/repos/hippo/hippo-cms/tags/Release-CMS-v6_04_00/
) and rebuild with your local configuration and build.properties.
Update customized CMS project
If you have your own customized CMS project (as described in Extending Hippo CMS), upgrade to Hippo CMS 6.04 by changing the svn:externals property to point to the corresponding SVN tag.
https://svn.hippocms.org/repos/hippo/hippo-cms/tags/Release-CMS-v6_04_00/editor/![]()
Build properties
Check your project's build.properties to see if you need to add any of the properties new in 6.04, and if any changed default value affects your build.properties.
Build properties new in 6.04
| property name | accepted values | default value | more info |
|---|---|---|---|
| cms.use.assets.workflow | on, off | off | How to enable workflow and version management on assets |
| cms.upload.overwrite | allow, rename | allow | |
| cms.tree.sortby | caption, index | caption | |
| maven.cocoon.repository.historypath | /files/${maven.cocoon.repository.name}.history |
Build properties with a new default value in 6.04
| property name | default value in 6.03 | default value in 6.04 | more info |
|---|---|---|---|
| cms.history.actions | off | on | How to configure version management |
| cms.references.view | off | on | Checking references to a document |
Workflow configuration
Use updated workflow ZIP file
If you are using a custom configuration, for example if you are using Oracle or SQL Server instead of MySQL, update the ReviewedActions.zip file in the workflow directory in your configuration. Use a ReviewedActions workflow version 1.04.02 or later (version number is in metadata.properties in the zip file). It is best to use to ReviewedActions.zip file supplied with the version of Hippo CMS you use (https://svn.hippocms.org/repos/hippo/hippo-cms/tags/Release-CMS-v6_04_00/editor/src/configurations/localdev/projects/localdev/workflows/ReviewedActions.zip
).
Convert absolute URIs in workflow database
Hippo CMS 6.04 uses relative URIs in the workflow database, as opposed to the absolute URIs used by version 6.03. Before upgrading, convert the existing entries in your workflow database with the SQL statement below (replace default with the appropriate namespace):
NOTE: if the site uses a projectdata_default table, you must update that table instead of osworkflow_default. The osworkflow_default table is depreciated not used anymore.
NOTE: when running the MySQL query, you can get a character encoding error with the Locate method. When this is the case, when logging in MySQL, also give the following parameter: --default-character-set=utf8. So for example:
mysql -u <username> --default-character-set=utf8 -p
MySQL will now use this default character set.
MySQL
UPDATE os_propertyentry SET STRING_VALUE = SUBSTRING(STRING_VALUE, LENGTH('/default/files/default.preview/content/') + LOCATE('/default/files/default.preview/content/', STRING_VALUE) ) WHERE ITEM_KEY='location' AND STRING_VALUE like '%/default/files/default.preview/content/%';
Oracle
update os_propertyentry set string_value = substr(string_value, instr(string_value, '/default/files/default.preview/content/') + length('/default/files/default.preview/content/')) where item_key = 'location' and instr(string_value, '/default/files/default.preview/content/') != 0
MS Sql
declare @path as varchar(255); declare @pathpattern as varchar(255); set @path = '/default/files/default.preview/content/'; set @pathpattern = '%' + @path + '%'; update os_propertyentry set string_value = substring(string_value, patindex(@pathpattern, string_value) + len(@path), 8000) where item_key = 'location' and string_value like @pathpattern
This SQL statement is also available in your SVN checkout:
https://svn.hippocms.org/repos/hippo/hippo-cms/tags/Release-CMS-v6_04_00/editor/src/sql/migrate-workflow-db-from-absolute-to-relative-paths.oracle.sql![]()
Reinitialize your repository
The new workflow features in Hippo CMS 6.04 require the repository to be reinitialized with the Repository Initialization Tool, version 1.01.01
or later, in order to make the corresponding new actions and privileges available in the CMS. Run the initialization tool with at least the following properties set to true:
operation.assignStandardPrivilegesToRoles=true operation.createReviewedActionsPrivilegesAndAssignToRoles=true operation.assignReviewedActionsHistoryPrivilegesToRoles=true
XML Document Editor
Schema changes
- Elements with a minOccurs attribute with value 0 will result in a repeater field from version 6.04.
Flow context
- the flow object "documentProperties" is refactored and renamed to "flowContext"
HTMLArea configuration
If you use a custom configuration for rich text fields (Xinha/HTMLArea), you need to make a small change in any HTMLArea initialization function you might have. Instead of generating the HTMLArea like this:
editor.generate();
Simply return the editor object as the initialization function's result:
return editor;
Template post-processing
This issue is only relevant if you use Xinha/HTMLArea!
In 6.03, the input for your post-processing XSL will be wrapped with a root element "result". This has been removed in 6.04. E.g. in 6.03 :
<result> <document> <!-- your xml structure (including document tag)--> ... </document> </result>
and in 6.04 this will simply be:
<document> <!-- your xml structure (including document tag)--> ... </document>
Changes in version 6.04.01 and later
Also check the upgrade path for minor 6.04.xx releases: