Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Relaxing CNDs Hippo GetTogether

670 visualizaciones

Publicado el

Frank van Lankvelt shows how relaxing CNDs can make development and upgrade of Hippo implementations easier.

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Relaxing CNDs Hippo GetTogether

  1. 1. Relaxing CNDs Hippo GetTogether 20 aug 2010 Frank van Lankvelt • f.vanlankvelt@onehippo.com
  2. 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. 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
  4. 4. Demo
  5. 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.
  6. 6. Hippo:version tags hippoecm-extension.xml, use a hippo:version property. hippoecm-extension.xml: <?xml version="1.0" encoding="UTF-8"?> <sv:node xmlns:sv="http://www.jcp.org/jcr/sv/1.0" sv:name="hippo:initialize"> <sv:property sv:name="jcr:primaryType" sv:type="Name"> <sv:value>hippo:initializefolder</sv:value> </sv:property> <sv:property sv:name="hippo:version" sv:type="String"> <sv:value>hippogogreen-v1_1</sv:value> </sv:property> ... </sv:node>
  7. 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. 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>
  9. 9. Questions?

×