2. Who am I?
Short CV:
theoretical physics in Utrecht
PhD in Amsterdam
(anti-virus) driver developer at Sophos (Oxford)
CMS frontend / plugin framework lead at Hippo
3. Introduction
Relaxing CNDs should make Updates and Upgrades easier. But:
How relaxed are "relaxing CNDs"?
Outline
1. demo
2. hippo:version tags
3. upgrade modules
4. limitations
5. outlook
5. Importing CNDs
Import CNDs either
Runtime:
"import CND" in the web console
Bootstrap:
hippo:initializeitem in hippoecm-extension.xml
Develop with runtime imports, update and upgrade projects
using bootstrap.
7. Upgrade modules
Upgrade modules are triggered using the hippo:version tags:
public void register(final UpdaterContext context) {
context.registerName("gogreen-update-v11");
context.registerStartTag("hippogogreen-v1_0");
context.registerEndTag("hippogogreen-v1_1");
Tags are used to identify "repository version"
Clean bootstrap has same tags as upgraded repository
Names are used in upgrades for ordering of module execution:
context.registerAfter("upgrade-v13a");
Plugins must use these too; projects should not need to
upgrade plugin configuration or content.
8. Limitations & Outlook
Only two operations possible within existing namespace
1. add a field to an existing type
2. add a new compound or document type
Improvements:
1. integration with document type editor
=> on the roadmap for Hippo CMS 7.5 release
2. automate svn / repository compare and synchronization?
3. declarative upgrade modules?
4. <more ideas here>