SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
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!!

Mais conteúdo relacionado

Destaque

Introducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management PlatformIntroducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management PlatformNuxeo
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS Peter Broekroelofs
 
Cms integration of apache solr how we did it.
Cms integration of apache solr   how we did it.Cms integration of apache solr   how we did it.
Cms integration of apache solr how we did it.lucenerevolution
 
Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Hippo
 
JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content RepositoriesCarsten Ziegeler
 
Build Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBuild Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBob Paulin
 
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo gettogether april 2012 faceted navigation   a tale of daemonsHippo gettogether april 2012 faceted navigation   a tale of daemons
Hippo gettogether april 2012 faceted navigation a tale of daemonsHippo
 
The Zero Bullshit Architecture
The Zero Bullshit ArchitectureThe Zero Bullshit Architecture
The Zero Bullshit ArchitectureLars Trieloff
 
Hippo CMS Integration Patterns
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration PatternsJeroen Reijn
 
Life of St. Augustine of Hippo
Life of St. Augustine of HippoLife of St. Augustine of Hippo
Life of St. Augustine of HippoGenesis Labana
 
Hippo Nuxeo World 2011
Hippo Nuxeo World 2011Hippo Nuxeo World 2011
Hippo Nuxeo World 2011Hippo
 

Destaque (19)

What's new in JSR-283?
What's new in JSR-283?What's new in JSR-283?
What's new in JSR-283?
 
Introducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management PlatformIntroducing Apricot, The Eclipse Content Management Platform
Introducing Apricot, The Eclipse Content Management Platform
 
2008-12 OJUG JCR Demo
2008-12 OJUG JCR Demo2008-12 OJUG JCR Demo
2008-12 OJUG JCR Demo
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS App and web with Hippo CMS and AngularJS
App and web with Hippo CMS and AngularJS
 
JCR and ModeShape
JCR and ModeShapeJCR and ModeShape
JCR and ModeShape
 
Cms integration of apache solr how we did it.
Cms integration of apache solr   how we did it.Cms integration of apache solr   how we did it.
Cms integration of apache solr how we did it.
 
Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2Introducing Hippo CMS 10.2
Introducing Hippo CMS 10.2
 
JCR - Java Content Repositories
JCR - Java Content RepositoriesJCR - Java Content Repositories
JCR - Java Content Repositories
 
Build Your Own CMS with Apache Sling
Build Your Own CMS with Apache SlingBuild Your Own CMS with Apache Sling
Build Your Own CMS with Apache Sling
 
Hippo gettogether april 2012 faceted navigation a tale of daemons
Hippo gettogether april 2012 faceted navigation   a tale of daemonsHippo gettogether april 2012 faceted navigation   a tale of daemons
Hippo gettogether april 2012 faceted navigation a tale of daemons
 
The Zero Bullshit Architecture
The Zero Bullshit ArchitectureThe Zero Bullshit Architecture
The Zero Bullshit Architecture
 
Hippo CMS Integration Patterns
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration Patterns
 
Hippo CMS - A first look
Hippo CMS - A first lookHippo CMS - A first look
Hippo CMS - A first look
 
Introduction to JCR
Introduction to JCR Introduction to JCR
Introduction to JCR
 
Choosing Hippo CMS
Choosing Hippo CMSChoosing Hippo CMS
Choosing Hippo CMS
 
Life of St. Augustine of Hippo
Life of St. Augustine of HippoLife of St. Augustine of Hippo
Life of St. Augustine of Hippo
 
Hippo Nuxeo World 2011
Hippo Nuxeo World 2011Hippo Nuxeo World 2011
Hippo Nuxeo World 2011
 
JCR In 10 Minutes
JCR In 10 MinutesJCR In 10 Minutes
JCR In 10 Minutes
 

Semelhante a Hippo get together workshop automatic export

Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020
Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020
Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020Puppet
 
EMC Documentum xCP 2.x Tips for application migration v1.1
EMC Documentum xCP 2.x Tips for application migration v1.1EMC Documentum xCP 2.x Tips for application migration v1.1
EMC Documentum xCP 2.x Tips for application migration v1.1Haytham Ghandour
 
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Pantheon
 
PyCourse - Self driving python course
PyCourse - Self driving python coursePyCourse - Self driving python course
PyCourse - Self driving python courseEran Shlomo
 
EuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingEuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingAlessandro Molina
 
Oracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11gOracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11guzzal basak
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization modelEuropean Collaboration Summit
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdfAbid Malik
 
How to Export the Agile PLM Database
How to Export the Agile PLM DatabaseHow to Export the Agile PLM Database
How to Export the Agile PLM DatabasePLM Mechanic .
 
Using the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with SubversionUsing the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with SubversionDebbie Wilson
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntukesavan N B
 
Tutorial_Python1.pdf
Tutorial_Python1.pdfTutorial_Python1.pdf
Tutorial_Python1.pdfMuzamilFaiz
 
Don't Fear the Autotools
Don't Fear the AutotoolsDon't Fear the Autotools
Don't Fear the AutotoolsScott Garman
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Takayuki Shimizukawa
 
N hidden gems in hippo forge and experience plugins (dec17)
N hidden gems in hippo forge and experience plugins (dec17)N hidden gems in hippo forge and experience plugins (dec17)
N hidden gems in hippo forge and experience plugins (dec17)Woonsan Ko
 

Semelhante a Hippo get together workshop automatic export (20)

Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020
Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020
Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020
 
EMC Documentum xCP 2.x Tips for application migration v1.1
EMC Documentum xCP 2.x Tips for application migration v1.1EMC Documentum xCP 2.x Tips for application migration v1.1
EMC Documentum xCP 2.x Tips for application migration v1.1
 
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
 
PyCourse - Self driving python course
PyCourse - Self driving python coursePyCourse - Self driving python course
PyCourse - Self driving python course
 
EuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingEuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears Training
 
OpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and JenkinsOpenCms Days 2015 Workflow using Docker and Jenkins
OpenCms Days 2015 Workflow using Docker and Jenkins
 
Oracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11gOracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11g
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
Readme
ReadmeReadme
Readme
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
 
How to Export the Agile PLM Database
How to Export the Agile PLM DatabaseHow to Export the Agile PLM Database
How to Export the Agile PLM Database
 
Composer namespacing
Composer namespacingComposer namespacing
Composer namespacing
 
Using the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with SubversionUsing the Corporate Geographic Data Model with Subversion
Using the Corporate Geographic Data Model with Subversion
 
Setting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntuSetting up the hyperledger composer in ubuntu
Setting up the hyperledger composer in ubuntu
 
Tutorial_Python1.pdf
Tutorial_Python1.pdfTutorial_Python1.pdf
Tutorial_Python1.pdf
 
Don't Fear the Autotools
Don't Fear the AutotoolsDon't Fear the Autotools
Don't Fear the Autotools
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
 
Impl installation manual
Impl installation manualImpl installation manual
Impl installation manual
 
N hidden gems in hippo forge and experience plugins (dec17)
N hidden gems in hippo forge and experience plugins (dec17)N hidden gems in hippo forge and experience plugins (dec17)
N hidden gems in hippo forge and experience plugins (dec17)
 

Último

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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.