Step by step guide for upgrading Hippo CMS to version 6.05.
Before you upgrade
Before you upgrade from Hippo CMS 6.04 to 6.05, consider upgrading to the latest minor 6.04.xx version (6.04.03) if you haven't done so already. It makes the upgrade path to 6.05 smoother. A newer 6.04.xx version might even satisfy your requirements and make upgrading to 6.05 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.05, inform your CMS users about it, and if necessary train them to use those new features.
If you are upgrading from version 6.03.xx, please follow the Hippo CMS v6.03 to v6.04 upgrade path first, before upgrading to 6.05.
Upgrade your CMS to version 6.05
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
and rebuild with your local configuration and build.properties.
https://svn.hippocms.org/repos/hippo/hippo-cms/tags/Release-CMS-v6_05_00/![]()
Update customized CMS project
If you have your own customized CMS project (as described in Extending Hippo CMS), upgrade to Hippo CMS 6.05 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_05_00/editor![]()
Carefully check all your custom code and extensions to see if they still work as expected.
NOTE: Changed jms behavior
The jms-connection-manager configuration in config/jms-connection.xroles changed from nl.hippo.cocoon.components.jms.JMSConnectionManagerImpl to nl.hippo.cocoon.components.jms.CMS_JMSConnectionManagerImpl. Instead of having a set of events from one single jms event, we now only have one single event (performance wise more efficient).
But, when you have dasls in your extensions folder in ecaching pipelines, they won't get invalidated anymore. Therefor, if you upgrade your cms, and you have dasls in your extensions which are cached, you need to change the CMS_JMSConnectionManagerImpl to JMSConnectionManagerImpl again!!
Build properties
Check your project's build.properties to see if you need to add any of the properties new in 6.05, and if any changed default value affects your build.properties.
Build properties new in 6.05
These properties have been introduced in version 6.05. Add them to your build.properties if you want to use a value different from the default.
| property name | accepted values | default value | more info |
|---|---|---|---|
| jms.ignore | true, false | false | Default value false recommended. Only set to true if you know what you are doing. |
| cms.eventaware-store.maxobjects | int | 15000 | for 256 Mb use 15.000, for 512 Mb set to 30.000 |
Build properties deprecated in 6.05
These properties are no longer used by the build system and can be removed from your build.properties file.
| property name | more info |
|---|---|
| cms.datasource.serverscheduler.name | See Server Scheduler Store below |
| cms.datasource.serverscheduler.url | See Server Scheduler Store below |
| cms.datasource.serverscheduler.user | See Server Scheduler Store below |
| cms.datasource.serverscheduler.password | See Server Scheduler Store below |
| cms.datasource.serverscheduler.driver | See Server Scheduler Store below |
| cms.datasource.quartz.name | See Cocoon Scheduler Store below |
| cms.datasource.quartz.url | See Cocoon Scheduler Store below |
| cms.datasource.quartz.user | See Cocoon Scheduler Store below |
| cms.datasource.quartz.password | See Cocoon Scheduler Store below |
| cms.datasource.quartz.driver | See Cocoon Scheduler Store below |
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.05 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.
Database configuration
Server Scheduler Store
The server scheduler now uses a memory store instead of a persistent store. This means the following build properties are now deprecated, and can be removed from your build.properties files:
cms.datasource.serverscheduler.name=serverscheduler cms.datasource.serverscheduler.url=jdbc:mysql://localhost/serverscheduler_default cms.datasource.serverscheduler.user=root cms.datasource.serverscheduler.password=********** cms.datasource.serverscheduler.driver=com.mysql.jdbc.Driver
You can also delete the corresponding schema (serverscheduler_default in the example above) from your database server.
Cocoon Scheduler Store
The Cocoon scheduler now uses a memory store instead of a persistent store. This means the following build properties are now deprecated, and can be removed from your build.properties files:
cms.datasource.quartz.name=quartz cms.datasource.quartz.url=jdbc:hsqldb:hsql://localhost:9001/cocoonscheduler cms.datasource.quartz.user=cms cms.datasource.quartz.password=hippocms cms.datasource.quartz.driver=org.hsqldb.jdbcDriver
You can also delete the corresponding schema (cocoonscheduler_default in the example above) from your database server.
XML Document Editor
Required fields
Up to version 6.04 an element was considered required if it had a minOccurs attribute with a value >0 in the schema, e.g.
<xs:element name="title" type="xs:string" minOccurs="1"/>
However the concept of a required field in the editor is that the value is not empty, while XML Schema's minOccurs="1" only means that the element must exist (but may or may not be empty).
From version 6.05 to make a field required in the editor, a "required" validator must be defined in the business logic, e.g.
<rule for="/document/title"> <validation> <validator name="required">general.field-required</validator> </validation> </rule>
Also see Template validation.
Changes in version 6.05.01 and later
Also check the upgrade path for minor 6.05.xx releases: