際際滷

際際滷Share a Scribd company logo
Workshop Automatic Export
          Bert Leunis
Hippo Gettogether April 20, 2012
Set up the demo project locally
Check out the demo project from:

 http://svn.onehippo.org/repos/hippo/hippo-
  training-autoexport/trunk
 build it with: mvn clean install
 run it with: mvn -Pcargo.run
Agenda
1. Developer at work, creating configuration
2. What can Automatic Export do to help you?
3. Tips & Tricks
What's in a Days Work?
Things you make as a Hippo Developer:

 java code (HippoBeans, HstComponents)
 templates (JSP, Freemarker)
 repository content (type definitions, hst
  configuration, etc)
LOCAL    CMS
PROJECT


          CONTENT




           SITE
Building & Running

1. Build your project: mvn clean install

2. Run your project: mvn -Pcargo.run
LOCAL     RUNNING
PROJECT   CONTAINER


           cms.war


            content.jar




           site.war
CMS starts up....

1. CMS will check if content needs to be
   bootstrapped.
2. All entries in all hippoecm-extension.xml files
   are processed.
3. Every entry points to a packaged file, and
   that is bootstrapped into the repository.
4. The hippoecm-extension.xml file of your
   content.jar from your project is processed.
LOCAL     RUNNING
                                 STORAGE
PROJECT   CONTAINER


           cms.war                Repository


            content.jar

                          BOOTSTRAP




           site.war
Developer at work

1. You use the cms and console to update
   some configuration, say create a new
   document type.
2. Now the changed configuration must be
   stored in the content module of your project
   so it can be bootstrapped next time.
3. You need the actual data there as xml file.
4. You need an entry in the hippoecm-
   extension file.
LOCAL         RUNNING
                                 STORAGE
 PROJECT       CONTAINER


                 cms.war


                  content.jar
                                 Repository




                 site.war

                                  1. EXPORT
                                CONFIG AS XML
2. UPDATE HIPPOECM-
    EXTENSION.XML
This is tiring and cumbersome work

1. You need to be accurate about which nodes
   to export.
2. Place the exported xml in your content
   module.
3. Write a correct entry in hippoecm-extension.
   xml.
4. This is error prone and boring.
5. Luckily there is now...
LOCAL         RUNNING
                                 STORAGE
 PROJECT       CONTAINER


                 cms.war


                  content.jar
                                 Repository




                 site.war
        AUTOMATIC EXPORT !! 1. EXPORT
                                CONFIG AS XML
2. UPDATE HIPPOECM-
    EXTENSION.XML
Yes, Automatic Export can do for
you:

1. Export the changed xml files
2. Write an entry in hippoecm-extension.xml if
   necessary.
3. You can configure the behavior of the
   export.
Basic export: new document type
 log in at http://localhost:8080/cms as admin
 go to the documents perspective and to the
  Configuration tab
 create a new document type, say the
  agendadocument, add a field to it, click
  Done and Type actions / Commit
 check the log to see what the Automatic
  Export has exported
 check the new/changed files in your project
Enable / disable from the console
 log in at http://localhost:8080/cms/console as
  admin
 at the top right of your screen you see the
  status of the automatic export
 you can toggle the status here too
Configuration options
 log in at http://localhost:8080/cms/console as
   admin
 navigate to:
   /hippo:configuration/hippo:modules
   /autoexport/hippo:moduleconfig
Here you can configure 3 basic characteristics:
1. Exclusion patterns
2. Filter uuids
3. Multiple modules
1. Exclusion patterns
 define them with the multivalued "excluded"
  property
 the value is a path in the repository
 use the wildcard * for path elements
 use the wildcards ** for paths

In our demo project you can see that there are
two exclusion patterns defined for the /hst:
hst/hst:configuration path. They prevent that
the unpublished changes in the Channel
Manager are exported.
Test the given exclusion pattern
 In the cms, go to the Channel perspective,
  click on the channel name, and click Edit
  templates.
 Change the homepage template by adding
  the list component to the container.
 Click Save and Close.
 Check the logs to see that nothing is
  exported.
 Click publish templates, check the logs
  again.
2. Filter uuids from the exported file
 In exported document content you need the
  uuids of the exported data. But in for
  example exported hst configuration, the uuid
  is just clutter.
 The multivalued "filteruuidpaths" property
  lets you define paths in the repository where
  configuration exists of which you do not want
  the uuids in the exports.
 For example: the hst config that was
  exported after the change in the Channel
  Manager does not contain jcr:uuid
3. Export to multiple content
modules
 If you work with multiple content modules,
  you can instruct the autoexport to send the
  exports from different content paths to
  different modules.
 Use the multivalued "modules" property in
  the autoexport config node.
 Values are formatted as modulename:
  /repositorypath
Export to the foocontent module
 in our demo, from two repository paths the
  autoexport will export to the foocontent
  module in the project
 add a node "foo" below the rootnode in the
  repository
 add a node too at the other path
 click "Write changes to repository"
 check the logs and the foocontent module in
  your project
Tips and Tricks - 1
Autoexport supports Deltas.
Tips and Tricks - 2
Autoexport tries to be clever about sequence
numbers for hippoecm-extension.xml.
Tips and Tricks - 3
Before you commit your changes to a
versioning system: rebuild your project & restart
with a new storage folder.
You may want to keep a copy of the storage
folder.
mvn -Pcargo.run -Drepo.path=storage
Tips and Tricks - 4
Do not change the content module manually in
your project while working with autoexport.

With autoexport you get a powerful tool, but
you have to be careful while you are using it.
Tips and Tricks - 5
Follow the setup of the content module as we
have it in the archetype.
Tips and Tricks - 6
 Give the autoexport a chance!
 http://wiki.onehippo.
  com/display/CMS7/Automatic+export+add-
  on
 Ask your questions on the mailing list.
All aboard!!

More Related Content

Viewers also liked (19)

PDF
What's new in JSR-283?
David Nuescheler
KEY
Introducing Apricot, The Eclipse Content Management Platform
Nuxeo
PDF
2008-12 OJUG JCR Demo
Paul Heaberlin
PDF
The Java Content Repository
nobby
PPTX
App and web with Hippo CMS and AngularJS
Peter Broekroelofs
ODP
JCR and ModeShape
Jozef Chocholacek
PDF
Cms integration of apache solr how we did it.
lucenerevolution
PDF
Introducing Hippo CMS 10.2
Hippo
PDF
JCR - Java Content Repositories
Carsten Ziegeler
PPT
Build Your Own CMS with Apache Sling
Bob Paulin
PDF
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo
PDF
The Zero Bullshit Architecture
Lars Trieloff
PDF
Hippo CMS Integration Patterns
Jeroen Reijn
PPT
Hippo CMS - A first look
Piergiorgio Lucidi
PDF
Introduction to JCR
David Nuescheler
PPTX
Choosing Hippo CMS
Anton Udovychenko
PPTX
Life of St. Augustine of Hippo
Genesis Labana
PPT
Hippo Nuxeo World 2011
Hippo
PDF
JCR In 10 Minutes
Bertrand Delacretaz
What's new in JSR-283?
David Nuescheler
Introducing Apricot, The Eclipse Content Management Platform
Nuxeo
2008-12 OJUG JCR Demo
Paul Heaberlin
The Java Content Repository
nobby
App and web with Hippo CMS and AngularJS
Peter Broekroelofs
JCR and ModeShape
Jozef Chocholacek
Cms integration of apache solr how we did it.
lucenerevolution
Introducing Hippo CMS 10.2
Hippo
JCR - Java Content Repositories
Carsten Ziegeler
Build Your Own CMS with Apache Sling
Bob Paulin
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo
The Zero Bullshit Architecture
Lars Trieloff
Hippo CMS Integration Patterns
Jeroen Reijn
Hippo CMS - A first look
Piergiorgio Lucidi
Introduction to JCR
David Nuescheler
Choosing Hippo CMS
Anton Udovychenko
Life of St. Augustine of Hippo
Genesis Labana
Hippo Nuxeo World 2011
Hippo
JCR In 10 Minutes
Bertrand Delacretaz

Recently uploaded (20)

PPTX
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) 際際滷s
Ravi Tamada
PDF
Scaling i.MX Applications Processors Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
PDF
Unlocking FME Flows Potential: Architecture Design for Modern Enterprises
Safe Software
PDF
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
PDF
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
PDF
UiPath Agentic AI ile Ak脹ll脹 Otomasyonun Yeni a脹
UiPathCommunity
PDF
Open Source Milvus Vector Database v 2.6
Zilliz
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
PPTX
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
PDF
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
PDF
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
PDF
Kubernetes - Architecture & Components.pdf
geethak285
PPTX
叶Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) 際際滷s
Ravi Tamada
Scaling i.MX Applications Processors Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
Unlocking FME Flows Potential: Architecture Design for Modern Enterprises
Safe Software
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
FME as an Orchestration Tool with Principles From Data Gravity
Safe Software
UiPath Agentic AI ile Ak脹ll脹 Otomasyonun Yeni a脹
UiPathCommunity
Open Source Milvus Vector Database v 2.6
Zilliz
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
LLM Search Readiness Audit - Dentsu x SEO Square - June 2025.pdf
Nick Samuel
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
Kubernetes - Architecture & Components.pdf
geethak285
叶Wondershare Filmora Crack 14.0.7 + Key Download 2025
sebastian aliya
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
Ad

Hippo get together workshop automatic export

  • 1. Workshop Automatic Export Bert Leunis Hippo Gettogether April 20, 2012
  • 2. Set up the demo project locally Check out the demo project from: http://svn.onehippo.org/repos/hippo/hippo- training-autoexport/trunk build it with: mvn clean install run it with: mvn -Pcargo.run
  • 3. Agenda 1. Developer at work, creating configuration 2. What can Automatic Export do to help you? 3. Tips & Tricks
  • 4. What's in a Days Work? Things you make as a Hippo Developer: java code (HippoBeans, HstComponents) templates (JSP, Freemarker) repository content (type definitions, hst configuration, etc)
  • 5. LOCAL CMS PROJECT CONTENT SITE
  • 6. Building & Running 1. Build your project: mvn clean install 2. Run your project: mvn -Pcargo.run
  • 7. LOCAL RUNNING PROJECT CONTAINER cms.war content.jar site.war
  • 8. CMS starts up.... 1. CMS will check if content needs to be bootstrapped. 2. All entries in all hippoecm-extension.xml files are processed. 3. Every entry points to a packaged file, and that is bootstrapped into the repository. 4. The hippoecm-extension.xml file of your content.jar from your project is processed.
  • 9. LOCAL RUNNING STORAGE PROJECT CONTAINER cms.war Repository content.jar BOOTSTRAP site.war
  • 10. Developer at work 1. You use the cms and console to update some configuration, say create a new document type. 2. Now the changed configuration must be stored in the content module of your project so it can be bootstrapped next time. 3. You need the actual data there as xml file. 4. You need an entry in the hippoecm- extension file.
  • 11. LOCAL RUNNING STORAGE PROJECT CONTAINER cms.war content.jar Repository site.war 1. EXPORT CONFIG AS XML 2. UPDATE HIPPOECM- EXTENSION.XML
  • 12. This is tiring and cumbersome work 1. You need to be accurate about which nodes to export. 2. Place the exported xml in your content module. 3. Write a correct entry in hippoecm-extension. xml. 4. This is error prone and boring. 5. Luckily there is now...
  • 13. LOCAL RUNNING STORAGE PROJECT CONTAINER cms.war content.jar Repository site.war AUTOMATIC EXPORT !! 1. EXPORT CONFIG AS XML 2. UPDATE HIPPOECM- EXTENSION.XML
  • 14. Yes, Automatic Export can do for you: 1. Export the changed xml files 2. Write an entry in hippoecm-extension.xml if necessary. 3. You can configure the behavior of the export.
  • 15. Basic export: new document type log in at http://localhost:8080/cms as admin go to the documents perspective and to the Configuration tab create a new document type, say the agendadocument, add a field to it, click Done and Type actions / Commit check the log to see what the Automatic Export has exported check the new/changed files in your project
  • 16. Enable / disable from the console log in at http://localhost:8080/cms/console as admin at the top right of your screen you see the status of the automatic export you can toggle the status here too
  • 17. Configuration options log in at http://localhost:8080/cms/console as admin navigate to: /hippo:configuration/hippo:modules /autoexport/hippo:moduleconfig Here you can configure 3 basic characteristics: 1. Exclusion patterns 2. Filter uuids 3. Multiple modules
  • 18. 1. Exclusion patterns define them with the multivalued "excluded" property the value is a path in the repository use the wildcard * for path elements use the wildcards ** for paths In our demo project you can see that there are two exclusion patterns defined for the /hst: hst/hst:configuration path. They prevent that the unpublished changes in the Channel Manager are exported.
  • 19. Test the given exclusion pattern In the cms, go to the Channel perspective, click on the channel name, and click Edit templates. Change the homepage template by adding the list component to the container. Click Save and Close. Check the logs to see that nothing is exported. Click publish templates, check the logs again.
  • 20. 2. Filter uuids from the exported file In exported document content you need the uuids of the exported data. But in for example exported hst configuration, the uuid is just clutter. The multivalued "filteruuidpaths" property lets you define paths in the repository where configuration exists of which you do not want the uuids in the exports. For example: the hst config that was exported after the change in the Channel Manager does not contain jcr:uuid
  • 21. 3. Export to multiple content modules If you work with multiple content modules, you can instruct the autoexport to send the exports from different content paths to different modules. Use the multivalued "modules" property in the autoexport config node. Values are formatted as modulename: /repositorypath
  • 22. Export to the foocontent module in our demo, from two repository paths the autoexport will export to the foocontent module in the project add a node "foo" below the rootnode in the repository add a node too at the other path click "Write changes to repository" check the logs and the foocontent module in your project
  • 23. Tips and Tricks - 1 Autoexport supports Deltas.
  • 24. Tips and Tricks - 2 Autoexport tries to be clever about sequence numbers for hippoecm-extension.xml.
  • 25. Tips and Tricks - 3 Before you commit your changes to a versioning system: rebuild your project & restart with a new storage folder. You may want to keep a copy of the storage folder. mvn -Pcargo.run -Drepo.path=storage
  • 26. Tips and Tricks - 4 Do not change the content module manually in your project while working with autoexport. With autoexport you get a powerful tool, but you have to be careful while you are using it.
  • 27. Tips and Tricks - 5 Follow the setup of the content module as we have it in the archetype.
  • 28. Tips and Tricks - 6 Give the autoexport a chance! http://wiki.onehippo. com/display/CMS7/Automatic+export+add- on Ask your questions on the mailing list.