Creating a simple Webapplication (Tutorial, part I)

  • TARGET-AUDIENCE: *beginner* advanced expert
  • COCOON-RELEASES: 2.0.3, 2.0.4
  • DOCUMENT-STATUS: *draft* reviewed released

NOTE: Im currently working on this tutorial. Please don't use.


The use case

aaa

We need to serve a hierarchically structured website. The website contains only one sort of document. These documents are all written in XML notation using the same XSCHEMA (or DTD). Every page shall show where in the hierarchy the current document is laying, which documents are available in the same hierarchical depths and which #
documents refer directly to the current document as "child documents". The whole website shall be separated into sub-hierarchies containing different languages. The layout and most of the used graphical material shall be kept in one common place and used all over the site.

The whole application shall be easy maintainable, expandable and scalable. Special care shall be taken, that page layout can be modified with as little effort as possible. It shall further be possible to directly use XHTML fragments within the documentation. The editors may use any convenient XML editor for their authoring work.

This "Pflichtenheft" (fixme) is complex enough to be of certain interest, but not too complex so that we can show you the nuts and bolts in detail.

I. About the heart of cocoon "sitemap.xconf"

The sitemap is the place where you specify, what Cocoon shall do when a particular URL has been typed in from a Webbrowser.

submounting

<!-- Basic Website pipeline -->
<map:pipeline>

  <!-- 
  <map:match pattern="">
    <map:redirect-to session="false" uri="en/index.page"/>
  </map:match>

  <map:match pattern="en">
    <map:redirect-to session="false" uri="en/index.page"/>
  </map:match>

  <map:match pattern="en/">
    <map:redirect-to session="false" uri="en/index.page"/>
  </map:match>

  <map:match pattern="*/**">
    <map:mount check-reload="yes" 
               reload-method="synchron" 
               src="{1}/" 
               uri-prefix="{1}"/>
  </map:match>

</map:pipeline>

page metadata

  • AUTHOR: Hussayn Dabbous
  • REVIEWER-CONTACT:BR
  • No labels