SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Michael Emmerich, Alkacon Software
Hidden features of
OpenCms
30.09.2015
● EL functions available for JSP templates
● Individual content settings for sitemaps
2
Agenda – Good to know…
● Logging in OpenCms
● Extending the XML Sitemap
● <cms:parse> Tag
3
Agenda – Did you know…
● Linkexclude
● Using the Workflow
4
Agenda – The hidden features
A short overview of useful EL functions
EL functions5
● Access to OpenCms core beans in your
JSP/Formaters
See the updated documentation and JavaDoc!
● Mostly used: ContentAccessBean, easy access
to XML contents:
● <cms:formatter var="content"> ... </cms:formatter>
● <cms:contentload ...> ... <cms:contentaccess
var="content" /> ... </cms:contentload>
6
EL functions
● CmsJspStandardContextBean cms
● Default entry point to EL functions, get access to other beans
● Some interesting properties of CmsJspStandardContextBean
● cms.locale
the locale for the current request
● cms.title
the title property of currently requested page (containerpage)
● cms.uri
Uri of the requested resource
● cms.isOnlineProject
check if you are in the online project
● cms.isEditMode
check if edit mode is enabled
● and much more…
7
EL functions
● Access to other useful beans:
● cms.requestContext
returns a request context bean with properties
● uri
Uri of the requested resource
● currentUser
Returns a bean with information about the current user
● and much more…
● cms.vfs
Returns a VFS bean that allows to explore the VFS
● Some resource
cms.vfs.resource[<site relative path>]
● Currently requested resource
cms.vfs.resource[cms.requestContext.uri]
8
EL functions
● Useful Beans for containers and elements
● cms.page (CmsContainerPageBean)
currently rendered container page
● cms.container (CmsContainerBean)
Get information on the container you are in
● cms.element (CmsContainerElementWrapper)
Get information for the currently rendered
container page element
● See the JavaDoc for all available methods
9
EL functions
How to configure content locations and content
types
Individual content settings for
sitemaps
10
● „Behaviour“ of content types is defined in
module config and can be overwritten in the
sitemap configuration
● Local content = store content in current
sitemap/.content folder
11
Individual content settings for
sitemaps
● Disable individual content types (useful in a
multi-site enviroment)
12
Individual content settings for
sitemaps
● Disable all content types and set them
individually
13
Individual content settings for
sitemaps
Adding individual logfiles
Logging in OpenCms14
● OpenCms uses log4j for logging
● Default: opencms.log in /logs folder
● Tool for non persistant changes in
Workplace Admin-View
● Only for Workplace Server!
● Customers called it: “Starship Enterprise”
15
Logging Tool in Workplace
16
Logging Tool in Workplace
Channel
Logfile
● Logging configuration in /classes/log4j.properties
● Individual logfiles for special log channels:
log4j.logger.com.mypackage.myclass=DEBUG,mlg
log4j.additivity.com.mypackage.myclass=false
log4j.appender.mlg=org.apache.log4j.RollingFileAppender
log4j.appender.mlg.File=${opencms.logfolder}mylog.log
log4j.appender.mlg.MaxFileSize=2mb
log4j.appender.mlg.MaxBackupIndex=15
log4j.appender.mlg.layout=org.apache.log4j.PatternLayout
log4j.appender.mlg.layout.ConversionPattern=%d{DATE} %5p
[%30.30C:%4L] %m%n
17
Logging Options
Additional output in XML-Sitemaps
Extending the XML-Sitemap18
● Dynamic XML-Sitemap
generation
● Uses all
Containerpages which
are part of the
navigation
● Additionally, all
permutations of
Detailpages are added
(eg. News)
19
The XML-Sitemap
20
Extending the XML-Sitemap
● Container page dates: Calculate last modification date
based on elements used on the Containerpage (slower)
● Sitemap generator class: Custom additions to sitemap
● Extend the class
org.opencms.site.xmlsitemap.CmsXmlSitemapGenerator
● Overwrite method
getInnerXmlForEntry(CmsXmlSitemapUrlBean entry)
 Create individual additional output for each entry of the
Sitemap
● Example from real life project:
● Multiple Sites in OpenCms which show identical content in
different locales
 Solution: Refer to same content in same or other locale XML-
Sitemap with „alternate“ attribute
21
Extending the XML-Sitemap
22
Extending the XML-Sitemap
Example XML-sitemap output:
Modification of HTML output
The <cms:parse> tag23
● <cms:parse> allows to modify the HTML output of
content elements during delivery
● No changes to the content itself is made!
● Typical examples:
● Modification of Links
● (mailto Link -> Link to webform)
● Addition/modification of class attributes
● (internal/external links)
● Adjustments in the Text
● (replacement of shortcuts)
24
The <cms:parse> tag
● Usage in formatter:
● Important: Inline editing is not possible/useful
when using the <cms:parse> tag!
25
The <cms:parse> tag
● Two classes are needed:
● Parser, extending the
A_CmsConfiguredHtmlParser
Parser defines the custom Html Visitor
● Html Visitor, extending the CmsHtmlParser for
manipulating the HTML Code
● Little example: Add class to all links to
OpenCms website
26
The <cms:parse> tag
● The Parser example:
27
The <cms:parse> tag
● The Visitor example:
28
The <cms:parse> tag
29
The <cms:parse> tag
Demo
Demo Demo
Demo
デモ
Linkexcludes – what is this?
Linkexcludes30
● The Problem:
● Website is running at www.mysite.com
● OpenCms is configured that no
„/opencms/opencms/ is shown in URL
● Data stored at www.mysite.com/bigmedia should
not be stored in OpenCms
● BUT: OpenCms Linkmanager „grabs“
everything starting with www.mysite.com as
internal links
● LinkManager will show errors
31
Linkexcludes
● The Solution: Linkexcludes!
● Defined in /system/shared/linkexcludes
● All paths entered are not processed by the
internal link check
32
Linkexcludes
● A little configuration is required:
● In opencms-importexport.xml change
org.opencms.staticexport.CmsDefaultLinkSubstitutionHandler
to the advanced link substitution handler
org.opencms.staticexport.CmsAdvancedLinkSubstitutionHandler
33
Linkexcludes
34
The <cms:parse> tag
Demo
Demo Demo
Demo
デモ
OpenCms has a workflow?
Using the OpenCms Workflow35
● What - OpenCms has a Workflow?
● Yes – at least some kind of…..build after customer
requirements four years ago
● What does it do?
● Editor users are not allowed to publish
● They can send publish requests for content to be
published
● Adminstrators are notified of those requests and
publish the content
● All is done via the publish dialog
36
Using the OpenCms Workflow
● Configuration: Add the follwoing to the
opencms-system.xml
● All users of the defined
„workflowProjectManagerGroup“ will notified by
email
37
Using the OpenCms Workflow
● Step 1:
● User tries to publish, but has not enough
permissions to do so
38
Using the OpenCms Workflow
● Step 2:
● User switches to „release“, the publish dialog
behaves like during a „normal“ publication
39
Using the OpenCms Workflow
● Step 3:
● Adminstrator receives email
40
Using the OpenCms Workflow
● Step 4:
● By clicking on email or accessing the publish
dialog directly, the requested content can be
published
41
Using the OpenCms Workflow
42
Any questions?
Fragen?
Questions ?
¿Preguntas?質問
Questiones?
Michael Emmerich
Alkacon Software GmbH
http://www.alkacon.com
http://www.opencms.org
Thank you very much for your
attention!
43

Weitere ähnliche Inhalte

Was ist angesagt?

How to apply surcharges to the sales orders surcharges to the sales orders
How to apply surcharges to the sales orders surcharges to the sales ordersHow to apply surcharges to the sales orders surcharges to the sales orders
How to apply surcharges to the sales orders surcharges to the sales ordersSubramanyam Yadav
 
Selenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And AnswersSelenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And AnswersAjit Jadhav
 
Everything You Need To Know About Dynamic Forms, Christine Marshall
Everything You Need To Know About Dynamic Forms, Christine MarshallEverything You Need To Know About Dynamic Forms, Christine Marshall
Everything You Need To Know About Dynamic Forms, Christine MarshallCzechDreamin
 
Webinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedWebinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedEdureka!
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using seleniumshreyas JC
 
Send mail with attached report layout
Send mail with attached report layoutSend mail with attached report layout
Send mail with attached report layoutAhmed Elshayeb
 
Introduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewIntroduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewDisha Srivastava
 
Selenium interview questions and answers
Selenium interview questions and answersSelenium interview questions and answers
Selenium interview questions and answerskavinilavuG
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelSalesforce Developers
 
QMetry test management for jira factsheet
QMetry test management for jira factsheetQMetry test management for jira factsheet
QMetry test management for jira factsheetSuketu Patel
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Hostway|HOSTING
 
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Edureka!
 

Was ist angesagt? (20)

How to apply surcharges to the sales orders surcharges to the sales orders
How to apply surcharges to the sales orders surcharges to the sales ordersHow to apply surcharges to the sales orders surcharges to the sales orders
How to apply surcharges to the sales orders surcharges to the sales orders
 
Selenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And AnswersSelenium Automation Testing Interview Questions And Answers
Selenium Automation Testing Interview Questions And Answers
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Everything You Need To Know About Dynamic Forms, Christine Marshall
Everything You Need To Know About Dynamic Forms, Christine MarshallEverything You Need To Know About Dynamic Forms, Christine Marshall
Everything You Need To Know About Dynamic Forms, Christine Marshall
 
Webinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedWebinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation Uncomplicated
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
Send mail with attached report layout
Send mail with attached report layoutSend mail with attached report layout
Send mail with attached report layout
 
Selenium with java
Selenium with javaSelenium with java
Selenium with java
 
Introduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewIntroduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiew
 
Selenium interview questions and answers
Selenium interview questions and answersSelenium interview questions and answers
Selenium interview questions and answers
 
Asp.net validation
Asp.net validationAsp.net validation
Asp.net validation
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security Model
 
Angular Unit Testing
Angular Unit TestingAngular Unit Testing
Angular Unit Testing
 
Selenium WebDriver training
Selenium WebDriver trainingSelenium WebDriver training
Selenium WebDriver training
 
QMetry test management for jira factsheet
QMetry test management for jira factsheetQMetry test management for jira factsheet
QMetry test management for jira factsheet
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
Selenium Page Object Model Using Page Factory | Selenium Tutorial For Beginne...
 
4.4 Naprawa układu jezdnego
4.4 Naprawa układu jezdnego4.4 Naprawa układu jezdnego
4.4 Naprawa układu jezdnego
 

Andere mochten auch

OpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersOpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersAlkacon Software GmbH & Co. KG
 
OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository Alkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - OpenCms content editor and pdf extensions
OpenCms Days 2014 - OpenCms content editor and pdf extensionsOpenCms Days 2014 - OpenCms content editor and pdf extensions
OpenCms Days 2014 - OpenCms content editor and pdf extensionsAlkacon Software GmbH & Co. KG
 
OpenCms Days 2016: OpenCms at the swiss seismological service
OpenCms Days 2016: OpenCms at the swiss seismological serviceOpenCms Days 2016: OpenCms at the swiss seismological service
OpenCms Days 2016: OpenCms at the swiss seismological serviceAlkacon Software GmbH & Co. KG
 
OpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsOpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsAlkacon Software GmbH & Co. KG
 
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace Alkacon Software GmbH & Co. KG
 
OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...
OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...
OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...Alkacon Software GmbH & Co. KG
 
OpenCms Days 2013 - Outsourcing OpenCms Template Design
OpenCms Days 2013 - Outsourcing OpenCms Template DesignOpenCms Days 2013 - Outsourcing OpenCms Template Design
OpenCms Days 2013 - Outsourcing OpenCms Template DesignAlkacon Software GmbH & Co. KG
 
OpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMIS
OpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMISOpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMIS
OpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMISAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - Responsive bootstrap templates reloaded
OpenCms Days 2014 - Responsive bootstrap templates reloadedOpenCms Days 2014 - Responsive bootstrap templates reloaded
OpenCms Days 2014 - Responsive bootstrap templates reloadedAlkacon Software GmbH & Co. KG
 

Andere mochten auch (20)

OpenCms Days 2015 Next generation repository
OpenCms Days 2015  Next generation repositoryOpenCms Days 2015  Next generation repository
OpenCms Days 2015 Next generation repository
 
OpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containersOpenCms Days 2015 Modern templates with nested containers
OpenCms Days 2015 Modern templates with nested containers
 
OpenCms Days 2016: Keynote - Introducing OpenCms 10.5
OpenCms Days 2016:   Keynote - Introducing OpenCms 10.5OpenCms Days 2016:   Keynote - Introducing OpenCms 10.5
OpenCms Days 2016: Keynote - Introducing OpenCms 10.5
 
OpenCms Days 2016: Multilingual websites with OpenCms
OpenCms Days 2016:   Multilingual websites with OpenCmsOpenCms Days 2016:   Multilingual websites with OpenCms
OpenCms Days 2016: Multilingual websites with OpenCms
 
OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository OpenCms Days 2016: Next generation content repository
OpenCms Days 2016: Next generation content repository
 
OpenCms Days 2014 - OpenCms content editor and pdf extensions
OpenCms Days 2014 - OpenCms content editor and pdf extensionsOpenCms Days 2014 - OpenCms content editor and pdf extensions
OpenCms Days 2014 - OpenCms content editor and pdf extensions
 
OpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explainedOpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explained
 
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
 
OpenCms Days 2016: OpenCms at the swiss seismological service
OpenCms Days 2016: OpenCms at the swiss seismological serviceOpenCms Days 2016: OpenCms at the swiss seismological service
OpenCms Days 2016: OpenCms at the swiss seismological service
 
OpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCmsOpenCms Days 2016: Participation and transparency portals with OpenCms
OpenCms Days 2016: Participation and transparency portals with OpenCms
 
OpenCms Days 2015 OpenCms X marks the spot
OpenCms Days 2015 OpenCms X marks the spotOpenCms Days 2015 OpenCms X marks the spot
OpenCms Days 2015 OpenCms X marks the spot
 
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace OpenCms Days 2015  Creating Apps for the OpenCms 10 workplace
OpenCms Days 2015 Creating Apps for the OpenCms 10 workplace
 
OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...
OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...
OpenCms Days 2012 - How Software AG is optimizing workflows with OpenCms 8 an...
 
OpenCms Days 2015 OpenGovernment
OpenCms Days 2015 OpenGovernmentOpenCms Days 2015 OpenGovernment
OpenCms Days 2015 OpenGovernment
 
OpenCms Days 2013 - Social Connect for OpenCms Portal
OpenCms Days 2013 - Social Connect for OpenCms PortalOpenCms Days 2013 - Social Connect for OpenCms Portal
OpenCms Days 2013 - Social Connect for OpenCms Portal
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
 
OpenCms Days 2013 - Outsourcing OpenCms Template Design
OpenCms Days 2013 - Outsourcing OpenCms Template DesignOpenCms Days 2013 - Outsourcing OpenCms Template Design
OpenCms Days 2013 - Outsourcing OpenCms Template Design
 
OpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMIS
OpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMISOpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMIS
OpenCms Days 2012 - OpenCms 8.5: Accessing the VFS repository using CMIS
 
OpenCms Days 2014 - Responsive bootstrap templates reloaded
OpenCms Days 2014 - Responsive bootstrap templates reloadedOpenCms Days 2014 - Responsive bootstrap templates reloaded
OpenCms Days 2014 - Responsive bootstrap templates reloaded
 
OpenCms Days 2014 - Nested containers in action
OpenCms Days 2014 - Nested containers in actionOpenCms Days 2014 - Nested containers in action
OpenCms Days 2014 - Nested containers in action
 

Ähnlich wie OpenCms Days 2015 Hidden features of OpenCms

Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Per Henrik Lausten
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausWomen in Technology Poland
 
Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Sander Mangel
 
Mongo db tips and advance features
Mongo db tips and advance featuresMongo db tips and advance features
Mongo db tips and advance featuresSujith Sudhakaran
 
OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...
OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...
OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...Alkacon Software GmbH & Co. KG
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine ProjectDaniel Lima
 
Content-centric architectures - case study : Apache Sling
Content-centric architectures - case study : Apache SlingContent-centric architectures - case study : Apache Sling
Content-centric architectures - case study : Apache SlingFabrice Hong
 
EuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingEuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingAlessandro Molina
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JSFestUA
 
XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012Tim Clark
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fastDenis Karpenko
 
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...Codemotion
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCCarlo Bonamico
 
Eko10 Workshop Opensource Database Auditing
Eko10  Workshop Opensource Database AuditingEko10  Workshop Opensource Database Auditing
Eko10 Workshop Opensource Database AuditingJuan Berner
 
Extending JBoss EPP and Site Publisher your way
Extending JBoss EPP and Site Publisher your wayExtending JBoss EPP and Site Publisher your way
Extending JBoss EPP and Site Publisher your wayrafaelliu
 

Ähnlich wie OpenCms Days 2015 Hidden features of OpenCms (20)

OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCms Days 2014 - Updating to OpenCms 9.5OpenCms Days 2014 - Updating to OpenCms 9.5
OpenCms Days 2014 - Updating to OpenCms 9.5
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
 
Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017
 
Mongo db tips and advance features
Mongo db tips and advance featuresMongo db tips and advance features
Mongo db tips and advance features
 
Docker Logging Webinar
Docker Logging  WebinarDocker Logging  Webinar
Docker Logging Webinar
 
OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...
OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...
OpenCms Days 2012 - OpenCms 8.5: Creating "in place" editable pages with the ...
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
 
Content-centric architectures - case study : Apache Sling
Content-centric architectures - case study : Apache SlingContent-centric architectures - case study : Apache Sling
Content-centric architectures - case study : Apache Sling
 
Polymer 101
Polymer 101Polymer 101
Polymer 101
 
1. MySql plugins
1. MySql plugins1. MySql plugins
1. MySql plugins
 
EuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears TrainingEuroPython 2013 - Python3 TurboGears Training
EuroPython 2013 - Python3 TurboGears Training
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
 
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVC
 
Eko10 Workshop Opensource Database Auditing
Eko10  Workshop Opensource Database AuditingEko10  Workshop Opensource Database Auditing
Eko10 Workshop Opensource Database Auditing
 
Extending JBoss EPP and Site Publisher your way
Extending JBoss EPP and Site Publisher your wayExtending JBoss EPP and Site Publisher your way
Extending JBoss EPP and Site Publisher your way
 

Mehr von Alkacon Software GmbH & Co. KG

OpenCms Days 2014 - How Techem handles international customer portals
OpenCms Days 2014 - How Techem handles international customer portalsOpenCms Days 2014 - How Techem handles international customer portals
OpenCms Days 2014 - How Techem handles international customer portalsAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntOpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSAlkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...Alkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5Alkacon Software GmbH & Co. KG
 
OpenCms Days 2014 - Introducing the 9.5 OpenCms documentation
OpenCms Days 2014 - Introducing the 9.5 OpenCms documentationOpenCms Days 2014 - Introducing the 9.5 OpenCms documentation
OpenCms Days 2014 - Introducing the 9.5 OpenCms documentationAlkacon Software GmbH & Co. KG
 

Mehr von Alkacon Software GmbH & Co. KG (12)

OpenCms Days 2015 OpenCms at erarta
OpenCms Days 2015 OpenCms at erarta OpenCms Days 2015 OpenCms at erarta
OpenCms Days 2015 OpenCms at erarta
 
OpenCms Days 2015 Arkema, a leading chemicals company
OpenCms Days 2015 Arkema, a leading chemicals companyOpenCms Days 2015 Arkema, a leading chemicals company
OpenCms Days 2015 Arkema, a leading chemicals company
 
OpenCms Days 2014 - How Techem handles international customer portals
OpenCms Days 2014 - How Techem handles international customer portalsOpenCms Days 2014 - How Techem handles international customer portals
OpenCms Days 2014 - How Techem handles international customer portals
 
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and GruntOpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
OpenCms Days 2014 - Enhancing OpenCms front end development with Sass and Grunt
 
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TSOpenCms Days 2014 - OpenCms cloud setup with the FI-TS
OpenCms Days 2014 - OpenCms cloud setup with the FI-TS
 
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
OpenCms Days 2014 - OpenCms Module Development and Deployment with IntelliJ, ...
 
OpenCms Days 2014 - OpenCms 9 - A video tube?
OpenCms Days 2014 - OpenCms 9 - A video tube?OpenCms Days 2014 - OpenCms 9 - A video tube?
OpenCms Days 2014 - OpenCms 9 - A video tube?
 
OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5OpenCms Days 2014 - User Generated Content in OpenCms 9.5
OpenCms Days 2014 - User Generated Content in OpenCms 9.5
 
OpenCms Days 2014 - Using the SOLR collector
OpenCms Days 2014 - Using the SOLR collectorOpenCms Days 2014 - Using the SOLR collector
OpenCms Days 2014 - Using the SOLR collector
 
OpenCms Days 2014 Keynote - Step up to OpenCms 9.5
OpenCms Days 2014 Keynote - Step up to OpenCms 9.5OpenCms Days 2014 Keynote - Step up to OpenCms 9.5
OpenCms Days 2014 Keynote - Step up to OpenCms 9.5
 
OpenCms Days 2014 - Introducing the 9.5 OpenCms documentation
OpenCms Days 2014 - Introducing the 9.5 OpenCms documentationOpenCms Days 2014 - Introducing the 9.5 OpenCms documentation
OpenCms Days 2014 - Introducing the 9.5 OpenCms documentation
 
Open cms days 2013 - all dressed up_release
Open cms days 2013 - all dressed up_releaseOpen cms days 2013 - all dressed up_release
Open cms days 2013 - all dressed up_release
 

Kürzlich hochgeladen

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 

Kürzlich hochgeladen (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

OpenCms Days 2015 Hidden features of OpenCms

  • 1. Michael Emmerich, Alkacon Software Hidden features of OpenCms 30.09.2015
  • 2. ● EL functions available for JSP templates ● Individual content settings for sitemaps 2 Agenda – Good to know…
  • 3. ● Logging in OpenCms ● Extending the XML Sitemap ● <cms:parse> Tag 3 Agenda – Did you know…
  • 4. ● Linkexclude ● Using the Workflow 4 Agenda – The hidden features
  • 5. A short overview of useful EL functions EL functions5
  • 6. ● Access to OpenCms core beans in your JSP/Formaters See the updated documentation and JavaDoc! ● Mostly used: ContentAccessBean, easy access to XML contents: ● <cms:formatter var="content"> ... </cms:formatter> ● <cms:contentload ...> ... <cms:contentaccess var="content" /> ... </cms:contentload> 6 EL functions
  • 7. ● CmsJspStandardContextBean cms ● Default entry point to EL functions, get access to other beans ● Some interesting properties of CmsJspStandardContextBean ● cms.locale the locale for the current request ● cms.title the title property of currently requested page (containerpage) ● cms.uri Uri of the requested resource ● cms.isOnlineProject check if you are in the online project ● cms.isEditMode check if edit mode is enabled ● and much more… 7 EL functions
  • 8. ● Access to other useful beans: ● cms.requestContext returns a request context bean with properties ● uri Uri of the requested resource ● currentUser Returns a bean with information about the current user ● and much more… ● cms.vfs Returns a VFS bean that allows to explore the VFS ● Some resource cms.vfs.resource[<site relative path>] ● Currently requested resource cms.vfs.resource[cms.requestContext.uri] 8 EL functions
  • 9. ● Useful Beans for containers and elements ● cms.page (CmsContainerPageBean) currently rendered container page ● cms.container (CmsContainerBean) Get information on the container you are in ● cms.element (CmsContainerElementWrapper) Get information for the currently rendered container page element ● See the JavaDoc for all available methods 9 EL functions
  • 10. How to configure content locations and content types Individual content settings for sitemaps 10
  • 11. ● „Behaviour“ of content types is defined in module config and can be overwritten in the sitemap configuration ● Local content = store content in current sitemap/.content folder 11 Individual content settings for sitemaps
  • 12. ● Disable individual content types (useful in a multi-site enviroment) 12 Individual content settings for sitemaps
  • 13. ● Disable all content types and set them individually 13 Individual content settings for sitemaps
  • 15. ● OpenCms uses log4j for logging ● Default: opencms.log in /logs folder ● Tool for non persistant changes in Workplace Admin-View ● Only for Workplace Server! ● Customers called it: “Starship Enterprise” 15 Logging Tool in Workplace
  • 16. 16 Logging Tool in Workplace Channel Logfile
  • 17. ● Logging configuration in /classes/log4j.properties ● Individual logfiles for special log channels: log4j.logger.com.mypackage.myclass=DEBUG,mlg log4j.additivity.com.mypackage.myclass=false log4j.appender.mlg=org.apache.log4j.RollingFileAppender log4j.appender.mlg.File=${opencms.logfolder}mylog.log log4j.appender.mlg.MaxFileSize=2mb log4j.appender.mlg.MaxBackupIndex=15 log4j.appender.mlg.layout=org.apache.log4j.PatternLayout log4j.appender.mlg.layout.ConversionPattern=%d{DATE} %5p [%30.30C:%4L] %m%n 17 Logging Options
  • 18. Additional output in XML-Sitemaps Extending the XML-Sitemap18
  • 19. ● Dynamic XML-Sitemap generation ● Uses all Containerpages which are part of the navigation ● Additionally, all permutations of Detailpages are added (eg. News) 19 The XML-Sitemap
  • 20. 20 Extending the XML-Sitemap ● Container page dates: Calculate last modification date based on elements used on the Containerpage (slower) ● Sitemap generator class: Custom additions to sitemap
  • 21. ● Extend the class org.opencms.site.xmlsitemap.CmsXmlSitemapGenerator ● Overwrite method getInnerXmlForEntry(CmsXmlSitemapUrlBean entry)  Create individual additional output for each entry of the Sitemap ● Example from real life project: ● Multiple Sites in OpenCms which show identical content in different locales  Solution: Refer to same content in same or other locale XML- Sitemap with „alternate“ attribute 21 Extending the XML-Sitemap
  • 23. Modification of HTML output The <cms:parse> tag23
  • 24. ● <cms:parse> allows to modify the HTML output of content elements during delivery ● No changes to the content itself is made! ● Typical examples: ● Modification of Links ● (mailto Link -> Link to webform) ● Addition/modification of class attributes ● (internal/external links) ● Adjustments in the Text ● (replacement of shortcuts) 24 The <cms:parse> tag
  • 25. ● Usage in formatter: ● Important: Inline editing is not possible/useful when using the <cms:parse> tag! 25 The <cms:parse> tag
  • 26. ● Two classes are needed: ● Parser, extending the A_CmsConfiguredHtmlParser Parser defines the custom Html Visitor ● Html Visitor, extending the CmsHtmlParser for manipulating the HTML Code ● Little example: Add class to all links to OpenCms website 26 The <cms:parse> tag
  • 27. ● The Parser example: 27 The <cms:parse> tag
  • 28. ● The Visitor example: 28 The <cms:parse> tag
  • 30. Linkexcludes – what is this? Linkexcludes30
  • 31. ● The Problem: ● Website is running at www.mysite.com ● OpenCms is configured that no „/opencms/opencms/ is shown in URL ● Data stored at www.mysite.com/bigmedia should not be stored in OpenCms ● BUT: OpenCms Linkmanager „grabs“ everything starting with www.mysite.com as internal links ● LinkManager will show errors 31 Linkexcludes
  • 32. ● The Solution: Linkexcludes! ● Defined in /system/shared/linkexcludes ● All paths entered are not processed by the internal link check 32 Linkexcludes
  • 33. ● A little configuration is required: ● In opencms-importexport.xml change org.opencms.staticexport.CmsDefaultLinkSubstitutionHandler to the advanced link substitution handler org.opencms.staticexport.CmsAdvancedLinkSubstitutionHandler 33 Linkexcludes
  • 35. OpenCms has a workflow? Using the OpenCms Workflow35
  • 36. ● What - OpenCms has a Workflow? ● Yes – at least some kind of…..build after customer requirements four years ago ● What does it do? ● Editor users are not allowed to publish ● They can send publish requests for content to be published ● Adminstrators are notified of those requests and publish the content ● All is done via the publish dialog 36 Using the OpenCms Workflow
  • 37. ● Configuration: Add the follwoing to the opencms-system.xml ● All users of the defined „workflowProjectManagerGroup“ will notified by email 37 Using the OpenCms Workflow
  • 38. ● Step 1: ● User tries to publish, but has not enough permissions to do so 38 Using the OpenCms Workflow
  • 39. ● Step 2: ● User switches to „release“, the publish dialog behaves like during a „normal“ publication 39 Using the OpenCms Workflow
  • 40. ● Step 3: ● Adminstrator receives email 40 Using the OpenCms Workflow
  • 41. ● Step 4: ● By clicking on email or accessing the publish dialog directly, the requested content can be published 41 Using the OpenCms Workflow
  • 43. Michael Emmerich Alkacon Software GmbH http://www.alkacon.com http://www.opencms.org Thank you very much for your attention! 43