Advanced features of OpenCms 6 · 2012. 4. 27. · OpenCms 6 technical overview (2) • OpenCms...

27
Advanced features of OpenCms 6 Alkacon Software GmbH March, 2006

Transcript of Advanced features of OpenCms 6 · 2012. 4. 27. · OpenCms 6 technical overview (2) • OpenCms...

  • Advanced features ofOpenCms 6

    Alkacon Software GmbHMarch, 2006

  • Index

    • Alkacon OpenCms 6 technical overview• Creating OpenCms templates with taglibs• Using and configuring the integrated full

    text search engine• Managing multilingual websites• Defining structured content using XML

    schema• Integrating "Direct Edit" functionality

  • OpenCms 6 technical overview

    • OpenCms has a strict 3-tier architecture– Workplace / Website front-end– OpenCms Core “middleware” logic– Database access layer separated in “drivers”

    • Shell access to the OpenCms database ifno web GUI is available

    • Module API for pluggable extensions• Content in is stored in XML structures• Flexible, file based data repository (VFS)

  • OpenCms 6 technicaloverview (2)

    • OpenCms leverages the power of manyproven OSS components– Lucene (search engine)– Dom4J (XML API)– Jtidy (HTML parser)– Doomdark JUG (UID Generator)– Log4j (Log file handler)– Digester (XML Configuration reader)– Commons DBCP/Pool (DB Connection)– Quartz (Scheduler)– Junit (Unit testing)– …

  • Creating OpenCms templateswith taglibs

    • OpenCms Templates are simple JSP pages– Taglib for accessing OpenCms functions– Can be combined with other taglibs (e.g.

    JSTL)– All taglib functions are also available in

    scriptlet API

    • Templates are simple resources in theOpenCms VFS, this means they– are version controlled– are workflow enabled (online / offline)– can be distributed in modules

  • Creating OpenCms templateswith taglibs (2)

    • Templates can have multiple sub-elements, for example:– Navigation element– Ad banner element– Article list element

    • A template usually formats / displays thecontent of one xmlpage/xmlcontent– However, content can also be used on

    multiple locations

    • The same templates can also be used toformat the output of other JSP pages

  • Creating OpenCms templateswith taglibs (3)

    Simple template example:

    OpenCms -

  • Demo Screenshot:A sample template

  • Using and configuring the fulltext search engine

    • OpenCms integrates the powerful Lucenefull text search engine

    • Creation of multiple indices is supported– Example: One index per language

    • Included are extractors for variouscommonly used document types– E.g. Word, Excel, PDF, XML, TXT, Html…

    • All searched content is also permissioncontrolled, i.e. users will only see theresults where they are allowed to “read”

  • Using and configuring the fulltext search engine (2)

    • Configuration is done in the fileopencms-search.xml

    • Full control over the output layout,default layout shows a Google-likeranking with highlighted search terms– Highlight function can also be configured

    • Also searches in properties (metainformation)

    • Restricted searches to subtrees of theVFS possible– E.g. for “search only in this department”

  • Demo Screenshot:Full text search output

  • Managing multilingual websites

    • OpenCms 6 editable content is mainlycomposed of two types– xmlpage (unstructured, WYSIWYG content)– xmlcontent (structured with XML schema)

    • Both types have a common XML structureto allow creation of content in multiplelanguages

    • The selected language is controlled by theconfigured locale handler– default: configure locale property on folder– alternative: use browser locale

  • Managing multilingualwebsites (2)

    Sample XML Page structure:

    Dieser Text ist in Deutsch]]>

    This text is in English]]>

  • Managing multilingualwebsites (3)

    Sample XML Content structure:

    This is the article 1 text

    content>

  • Managing multilingualwebsites (4)

    • Content in OpenCms can be created inany charset encoding supported by Java– UTF-8 is the default in version 6

    • Different encodings can be mixed in oneinstallation– One page could be using ISO-8859-1 while

    the others on the site use UTF-8

    • The WYSIWYG editor supports automaticconversion of “unknown” chars to HTMLentities (and vice-versa)– E.g. € for “€” symbol in ISO-8859-1

  • Demo Screenshot:Multilingual editing in UTF-8

  • Defining structured contentusing XML schema

    • XML content is one of the most powerfulfeatures of OpenCms 6

    • This allows simple creation of “Structuredcontent” according to a w3c XML schema– The XML schema used must itself follow

    another XML schema for xmlcontents

    • The XML schema used is also managed inthe OpenCms VFS

    • An editor for the xmlcontent isautomatically created using the schema

  • Defining structured contentusing XML schema (2)

    Sample XML Content schema:

  • Defining structured contentusing XML schema (3)

    Sample XML Content structure:

    This is the article 1 text

    content>

  • Defining structured contentusing XML schema (4)

    • XML content can also be mapped tocorresponding VFS properties orattributes– E.g. “Title” field to “Title” property

    • Some XML content types are predefinedin OpenCms– Work currently in progress– Predefined content types can be extended

    through an open API / configuration

    • A taglib API is available to access XMLcontent in lists, detail pages etc.

  • Defining structured contentusing XML schema (5)

    Sample XML Content list page:

  • Demo Screenshot:Structured content in XML Schema

  • Integrating "Direct Edit"functionality

    • “Direct edit” allows for access to theeditor through the website “front end”

    • All access is permission/lock controlled– No access if no “write” permission– Access disabled if file is currently locked

    • “Direct edit” is available only in the Offlineproject, not on the published Online site

    • Integration is very simple with just someadditional tags– HTML inserted can optionally be selected

  • Integrating "Direct Edit"functionality (2)

    “Direct edit” for a template example:

    OpenCms -

  • Demo Screenshot:Direct edit from the website

  • Integrating "Direct Edit"functionality (3)

    “Direct edit” on a XML content example:

  • Contact Addresses

    Alkacon OpenCms Contacts

    Alkacon Software GmbHAn der Wachsfabrik 1350996 CologneGermany

    http://www.alkacon.comhttp://www.opencms.org

    Advanced features of OpenCms 6IndexAlkacon OpenCms 6 technical over...Creating OpenCms templates with ...Using and configuring the integr...Managing multilingual websitesDefining structured content usin...Integrating "Direct Edit" functi...

    OpenCms 6 technical overviewOpenCms has a strict 3-tier arch...Workplace / Website front-endOpenCms Core “middleware” logicDatabase access layer separated ...Shell access to the OpenCms data...Module API for pluggable extensi...Content in is stored in XML stru...Flexible, file based data reposi...

    OpenCms 6 technical �overview (2...OpenCms leverages the power of m...Lucene (search engine)Dom4J (XML API)Jtidy (HTML parser)Doomdark JUG (UID Generator)Log4j (Log file handler)Digester (XML Configuration read...Commons DBCP/Pool (DB Connection...Quartz (Scheduler)Junit (Unit testing)…

    Creating OpenCms templates with ...OpenCms Templates are simple JSP...Taglib for accessing OpenCms fun...Can be combined with other tagli...All taglib functions are also av...Templates are simple resources i...are version controlledare workflow enabled (online / o...can be distributed in modules

    Creating OpenCms templates with ...Templates can have multiple sub-...Navigation elementAd banner elementArticle list elementA template usually formats / dis...However, content can also be use...The same templates can also be u...

    Creating OpenCms templates with ...Demo Screenshot:�A sample templa...Using and configuring the full t...OpenCms integrates the powerful ...Creation of multiple indices is ...Example: One index per languageIncluded are extractors for vari...E.g. Word, Excel, PDF, XML, TXT,...All searched content is also per...

    Using and configuring the full t...Configuration is done in the fil...Full control over the output lay...Highlight function can also be c...Also searches in properties (met...Restricted searches to subtrees ...E.g. for “search only in this de...

    Demo Screenshot:�Full text searc...Managing multilingual websitesOpenCms 6 editable content is ma...xmlpage (unstructured, WYSIWYG c...xmlcontent (structured with XML ...Both types have a common XML str...The selected language is control...default: configure locale proper...alternative: use browser locale

    Managing multilingual�websites (...Managing multilingual�websites (...Managing multilingual �websites ...Content in OpenCms can be create...UTF-8 is the default in version ...Different encodings can be mixed...One page could be using ISO-8859...The WYSIWYG editor supports auto...E.g. € for “€” symbol in I...

    Demo Screenshot:�Multilingual ed...Defining structured content usin...XML content is one of the most p...This allows simple creation of “...The XML schema used must itself ...The XML schema used is also mana...An editor for the xmlcontent is ...

    Defining structured content usin...Defining structured content usin...Defining structured content usin...XML content can also be mapped t...E.g. “Title” field to “Title” pr...Some XML content types are prede...Work currently in progressPredefined content types can be ...A taglib API is available to acc...

    Defining structured content usin...Demo Screenshot:�Structured cont...Integrating "Direct Edit" functi...“Direct edit” allows for access ...All access is permission/lock co...No access if no “write” permissi...Access disabled if file is curre...“Direct edit” is available only ...Integration is very simple with ...HTML inserted can optionally be ...

    Integrating "Direct Edit" functi...Demo Screenshot:�Direct edit fro...Integrating "Direct Edit" functi...Contact Addresses