You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by th...@apache.org on 2009/12/02 14:58:28 UTC

svn commit: r886147 [4/6] - in /forrest/trunk/whiteboard: ./ FOR-1157/ cocoon-2.2-blocks/dispatcher/ dispatcher/ plugins/org.apache.forrest.plugin.internal.dispatcher/ plugins/org.apache.forrest.plugin.internal.dispatcher/lib/ plugins/org.apache.forres...

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/dispatcher-glossary.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/dispatcher-glossary.xml?rev=886147&r1=886146&r2=886147&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/dispatcher-glossary.xml (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/dispatcher-glossary.xml Wed Dec  2 13:58:18 2009
@@ -20,28 +20,25 @@
 <glossary>
   <title>Dispatcher Glossary</title>
   <introduction>
-    <p>
-      This is a glossary of terms and their definitions for the Dispatcher (aka
-      views).
-    </p>
+    <p>This is a glossary of terms and their definitions for the Dispatcher
+    (aka views).</p>
   </introduction>
   <part id="a">
     <title>A</title>
     <item id="AddContent">
       <term>Add content to this Glossary</term>
       <definitions>
-        <definition>This glossary is incomplete, please help where you can by adding definitions to
-        existing items where needed. Also, add new Dispatcher related Items to the glossary as
-        appropriate.</definition>
+        <definition>This glossary is incomplete, please help where you can by
+        adding definitions to existing items where needed. Also, add new
+        Dispatcher related Items to the glossary as appropriate.</definition>
       </definitions>
       <notes>
         <item-note>See 
         <link href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=112596689428172&amp;w=2#1">
-        Archive Mail</link>
-        </item-note>
+        Archive Mail</link></item-note>
         <item-note>See 
-        <link href="http://issues.apache.org/jira/browse/FOR-639">Issue FOR-639</link>
-        </item-note>
+        <link href="http://issues.apache.org/jira/browse/FOR-639">Issue
+        FOR-639</link></item-note>
       </notes>
     </item>
   </part>
@@ -50,15 +47,20 @@
     <item id="Contracts">
       <term>Contracts</term>
       <definitions>
-        <definition>A contract is a snippet of re-usable code that gets used in a structurer file.</definition>
-        <definition>Contracts can be used or omitted as neccessary, though a few are really compulsary in
-                      order to define a basic skeleton structure and to include some styling (CSS)</definition>
-        <definition>Contracts mainly come in three (3) types, static, semi-static &amp; dynamic.<br />
-                      Static Contracts are pre-defined snippets of code that need no further information.<br />
-                      Semi-static Contracts can include extra configuration variables, these would over-ride otherwise
-                      default variables.<br />
-                      Dynamic Contracts can have extra configuration variables, but can also define their own snippets
-                      of code information. (Such as extra CSS elements, or generic markup elements).</definition>
+        <definition>A contract is a snippet of re-usable code that gets used in
+        a structurer file.</definition>
+        <definition>Contracts can be used or omitted as neccessary, though a
+        few are really compulsary in order to define a basic skeleton structure
+        and to include some styling (CSS)</definition>
+        <definition>Contracts mainly come in three (3) types, static,
+        semi-static &amp; dynamic. 
+        <br />Static Contracts are pre-defined snippets of code that need no
+        further information. 
+        <br />Semi-static Contracts can include extra configuration variables,
+        these would over-ride otherwise default variables. 
+        <br />Dynamic Contracts can have extra configuration variables, but can
+        also define their own snippets of code information. (Such as extra CSS
+        elements, or generic markup elements).</definition>
       </definitions>
     </item>
     <item id="Class">
@@ -68,10 +70,12 @@
         <text>Name</text>
       </see>
       <definitions>
-        <definition>In the context of the dispatcher, a <strong>Class</strong> is used as an optional attribute to
-                            the forrest:hook. This converts to <code>
-<![CDATA[<div class="example"></div>]]></code>.
-                    </definition>
+        <definition>In the context of the dispatcher, a 
+        <strong>Class</strong>is used as an optional attribute to the
+        forrest:hook. This converts to 
+        <code>
+          <![CDATA[<div class="example"></div>]]>
+</code>.</definition>
       </definitions>
     </item>
   </part>
@@ -100,13 +104,14 @@
         <text>Views</text>
       </see>
       <definitions>
-        <definition>The Dispatcher is the codename for the Forrest Implementation of the Core J2EE
-        Dispatcher View. 
+        <definition>The Dispatcher is the codename for the Forrest
+        Implementation of the Core J2EE Dispatcher View. 
         <link href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/DispatcherView.html">
-        java.sun.com</link> has more information on its origins.</definition>
-        <definition>What we at 'Forrest' relate the Dispatcher to, is the overall technology and
-        implementation of the replacement 'skins' system. Combining 'Views', 'Contracts' , 'Themes'
-        enables separation of concerns to provide a fast and efficient documentation
+        java.sun.com</link>has more information on its origins.</definition>
+        <definition>What we at 'Forrest' relate the Dispatcher to, is the
+        overall technology and implementation of the replacement 'skins'
+        system. Combining 'Views', 'Contracts' , 'Themes' enables separation of
+        concerns to provide a fast and efficient documentation
         framework.</definition>
       </definitions>
     </item>
@@ -124,18 +129,19 @@
         <text>Structurer</text>
       </see>
       <definitions>
-        <definition>forrest:hooks is a concept of defining format independent hooks to structure
-        the output.</definition>
-        <definition>Hooks are used to help define the layout of a page. Hooks are only used to
-        define the structure in our output that is required to enable a theme to apply its look and
-        feel.</definition>
-        <definition>Hooks convert to layout <![CDATA[<div></div>]]> container blocks and usually only consist
-        of forrest:contracts</definition>
+        <definition>forrest:hooks is a concept of defining format independent
+        hooks to structure the output.</definition>
+        <definition>Hooks are used to help define the layout of a page. Hooks
+        are only used to define the structure in our output that is required to
+        enable a theme to apply its look and feel.</definition>
+        <definition>Hooks convert to layout 
+<![CDATA[<div></div>]]>
+container blocks and usually only consist of forrest:contracts</definition>
         <definition>Hooks are applied currently in the themes.core plugin as
-part of a themes structurer configuration file such as %themename
-%-html.panel.xml (e.g pelt-html.panel.xml) or included in such configuration
-files via a panel file such as %themename%-%format%.panel.xml (e.g
-pelt-html.panel.xml)</definition>
+        part of a themes structurer configuration file such as %themename
+        %-html.panel.xml (e.g pelt-html.panel.xml) or included in such
+        configuration files via a panel file such as
+        %themename%-%format%.panel.xml (e.g pelt-html.panel.xml)</definition>
       </definitions>
     </item>
   </part>
@@ -148,9 +154,12 @@
         <text>Class</text>
       </see>
       <definitions>
-        <definition>In the context of the dispatcher, a <strong>name</strong> is used as an optional attribute to 
-                the forrest:hook. This converts to <code>
-<![CDATA[<div id="example"></div>]]></code>.</definition>
+        <definition>In the context of the dispatcher, a 
+        <strong>name</strong>is used as an optional attribute to the
+        forrest:hook. This converts to 
+        <code>
+          <![CDATA[<div id="example"></div>]]>
+</code>.</definition>
       </definitions>
     </item>
   </part>
@@ -169,7 +178,8 @@
         <text>Tiles</text>
       </see>
       <definitions>
-        <definition>Panels is the new name for a tile - a collection of contracts. </definition>
+        <definition>Panels is the new name for a tile - a collection of
+        contracts.</definition>
       </definitions>
     </item>
   </part>
@@ -194,9 +204,12 @@
         <text>Themes</text>
       </see>
       <definitions>
-        <definition>The Structurer allows a user to define the layout and content of a site or parts of a site.</definition>
-        <definition>Structurer files contain hooks &amp; contracts which you can include to build up a site structure template</definition>
-        <definition>A completed structurer file defines an overall theme (look and feel) for a site</definition>
+        <definition>The Structurer allows a user to define the layout and
+        content of a site or parts of a site.</definition>
+        <definition>Structurer files contain hooks &amp; contracts which you
+        can include to build up a site structure template</definition>
+        <definition>A completed structurer file defines an overall theme (look
+        and feel) for a site</definition>
       </definitions>
     </item>
     <item id="Skins">
@@ -210,9 +223,12 @@
         <text>Dispatcher</text>
       </see>
       <definitions>
-        <definition>Skins is the name of the older alternative way for structuring and styling your site pages.</definition>
-        <definition>Skins is still used in Forrest versions 0.7 and 0.8-dev, though for 0.8-dev and beyond it can be
-                concidered an option with Dispatcher being the other.(It is enabled as the default option currently)</definition>
+        <definition>Skins is the name of the older alternative way for
+        structuring and styling your site pages.</definition>
+        <definition>Skins is still used in Forrest versions 0.7 and 0.8-dev,
+        though for 0.8-dev and beyond it can be concidered an option with
+        Dispatcher being the other.(It is enabled as the default option
+        currently)</definition>
       </definitions>
     </item>
   </part>
@@ -225,18 +241,25 @@
         <text>Panels</text>
       </see>
       <definitions>
-        <definition>A tile is a collection of contracts that are grouped together for easy inclusion into a theme.</definition>
-        <definition>Tiles was the original but deprecated name for a collection of contracts, it is now
-                                  re-named and re-implemented as a 'Panels'</definition>
+        <definition>A tile is a collection of contracts that are grouped
+        together for easy inclusion into a theme.</definition>
+        <definition>Tiles was the original but deprecated name for a collection
+        of contracts, it is now re-named and re-implemented as a
+        'Panels'</definition>
       </definitions>
     </item>
     <item id="Themes">
       <term>Themes</term>
       <definitions>
-        <definition>A more extensible and adaptable solution than its alternative 'Skins'. A 'Theme' is an overall content &amp; style set.</definition>
-        <definition>A master 'common' theme provides the basis in which you can extend, over-ride or add to in order to make your own theme, you do not
-                      have to create a complete theme from scratch, simply include/exclude/over-ride/add what you need. The current 'Pelt Theme' based on its
-                      'Pelt Skin' counterpart, but uses functionality and extends/inherits what it needs to from the 'common' theme.</definition>
+        <definition>A more extensible and adaptable solution than its
+        alternative 'Skins'. A 'Theme' is an overall content &amp; style
+        set.</definition>
+        <definition>A master 'common' theme provides the basis in which you can
+        extend, over-ride or add to in order to make your own theme, you do not
+        have to create a complete theme from scratch, simply
+        include/exclude/over-ride/add what you need. The current 'Pelt Theme'
+        based on its 'Pelt Skin' counterpart, but uses functionality and
+        extends/inherits what it needs to from the 'common' theme.</definition>
       </definitions>
     </item>
   </part>
@@ -249,9 +272,11 @@
         <text>Dispatcher</text>
       </see>
       <definitions>
-        <definition>Views is the older now deprecated name for what is now the 'Dispatcher'</definition>
-        <definition>Views also, confusingly, was used as a term for the Structurer, and forrest:views is a 
-                                  deprecated code that has been replaced with forrest:template.</definition>
+        <definition>Views is the older now deprecated name for what is now the
+        'Dispatcher'</definition>
+        <definition>Views also, confusingly, was used as a term for the
+        Structurer, and forrest:structurer is a deprecated code that has been
+        replaced with forrest:template.</definition>
       </definitions>
     </item>
   </part>

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/examples/index.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/examples/index.xml?rev=886147&r1=886146&r2=886147&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/examples/index.xml (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/examples/index.xml Wed Dec  2 13:58:18 2009
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -15,46 +15,48 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
-  "http://forrest.apache.org/dtd/document-v20.dtd">
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+"http://forrest.apache.org/dtd/document-v20.dtd">
 <document>
   <header>
     <title>Dispatcher (Draft - feature under development)</title>
   </header>
   <body>
-    <warning>
-      The "dispatcher" is new functionality which is still in development phase.
-      That is why it is in the "whiteboard" section of the Forrest distribution.
-      We are working at the moment on moving this plugin from the whiteboard
-      into the core plugins. Further all dispatcher related documents will be
-      moved into the plugin as well. See
-      <a 
-      href="http://forrest.apache.org/docs_0_90/status-themes.html">Status
-      of Themes: Skins and Dispatcher</a>.
-    </warning>
+    <warning>The "dispatcher" is new functionality which is still in
+    development phase. That is why it is in the "whiteboard" section of the
+    Forrest distribution. We are working at the moment on moving this plugin
+    from the whiteboard into the core plugins. Further all dispatcher related
+    documents will be moved into the plugin as well. See 
+    <a href="http://forrest.apache.org/docs_0_90/status-themes.html">Status of
+    Themes: Skins and Dispatcher</a>.</warning>
     <section id="introduction">
       <title>Introduction</title>
-      <p>
-              This section will grow and show example usage of contracts in action -
-              either standalone contracts or those that work in conjunction with
-              plugins. Contributions Welcome.
-      </p>
+      <p>This section will grow and show example usage of contracts in action -
+      either standalone contracts or those that work in conjunction with
+      plugins. Contributions Welcome.</p>
     </section>
     <section id="examples">
-            <title>Some examples to help you on your way</title>
-    <section id="pod-example">
-            <title>Enabling and adding the POD plugin</title>
-            <p>On this page you will see a link to a .pod version of this page. Below are
-               the steps taken :-</p>
-       <ul><li>Add POD plugin to forrest.properties file</li>
-                <li><code><![CDATA[org.apache.forrest.plugin.output.POD]]></code></li>
-        <li>Add contract to include pod link - this can either be enabled in a 
-                master theme file (such as pelt.fv) or on a per folder basis (by altering a
-                nested pelt.fv to point to modified *.panels.xml). In this case, we want a
-                modified option to only alter files in this examples folder.
-</li></ul>
-<fixme author="GM">Example not yet complete, will expand on it soon.</fixme>
-</section>
-</section>
+      <title>Some examples to help you on your way</title>
+      <section id="pod-example">
+        <title>Enabling and adding the POD plugin</title>
+        <p>On this page you will see a link to a .pod version of this page.
+        Below are the steps taken :-</p>
+        <ul>
+          <li>Add POD plugin to forrest.properties file</li>
+          <li>
+            <code>
+              <![CDATA[org.apache.forrest.plugin.output.POD]]>
+</code>
+          </li>
+          <li>Add contract to include pod link - this can either be enabled in
+          a master theme file (such as pelt.fv) or on a per folder basis (by
+          altering a nested pelt.fv to point to modified *.panels.xml). In this
+          case, we want a modified option to only alter files in this examples
+          folder.</li>
+        </ul>
+        <fixme author="GM">Example not yet complete, will expand on it
+        soon.</fixme>
+      </section>
+    </section>
   </body>
 </document>

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-contracts.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-contracts.xml?rev=886147&r1=886146&r2=886147&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-contracts.xml (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-contracts.xml Wed Dec  2 13:58:18 2009
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -15,111 +15,94 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V2.0//EN" "http://forrest.apache.org/dtd/howto-v20.dtd">
+<!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V2.0//EN"
+"http://forrest.apache.org/dtd/howto-v20.dtd">
 <howto>
   <header>
     <title>How to write a forrest:contract</title>
-    <abstract>
-      This How-To will explain how we wrote the contracts for the dispatcher and
-      hope afterwards you will be able to do the same.
-    </abstract>
-    <last-modified-content-date date="2007-03-24"/>
+    <abstract>This How-To will explain how we wrote the contracts for the
+    dispatcher and hope afterwards you will be able to do the same.</abstract>
+    <last-modified-content-date date="2007-03-24" />
   </header>
   <audience title="Intended Audience">
-    <warning>
-      The "Dispatcher" (aka "Views") is new functionality which is still in
-      development phase. That is why it is in the "whiteboard" section of the
-      Forrest distribution. This HowTo is a good start but still needs more
-      work. See <a href="ext:forrest/status-themes">Status of Themes: Skins and
-      Dispatcher</a>.
-    </warning>
-    <p>
-      Devs and skin developer that wants to get started with forrest:contract
-      development. To really understand this how-to you need basic and sometimes
-      advanced understanding of the "old fashion" skin development process.
-    </p>
+    <warning>The "Dispatcher" (aka "Views") is new functionality which is still
+    in development phase. That is why it is in the "whiteboard" section of the
+    Forrest distribution. This HowTo is a good start but still needs more work.
+    See 
+    <a href="ext:forrest/status-themes">Status of Themes: Skins and
+    Dispatcher</a>.</warning>
+    <p>Devs and skin developer that wants to get started with forrest:contract
+    development. To really understand this how-to you need basic and sometimes
+    advanced understanding of the "old fashion" skin development process.</p>
   </audience>
   <purpose title="Purpose">
-    <p>
-      This setup guide will explain how to create a forrest:contract from
-      scratch and how this forrest:contract work with the core parts of forrest.
-    </p>
+    <p>This setup guide will explain how to create a forrest:contract from
+    scratch and how this forrest:contract work with the core parts of
+    forrest.</p>
   </purpose>
   <prerequisites title="Prerequisites">
     <ul>
-      <li>Installing a mozilla browser and the forrestbar helps a lot in developing.</li>
+      <li>Installing a mozilla browser and the forrestbar helps a lot in
+      developing.</li>
     </ul>
   </prerequisites>
   <steps title="Steps">
-    <note>
-      The following content is from many mails around the topic, this how-to
-      tries to be the consolidation of this thread. It is mainly based on the
-      thread "[RT] Why using views" - in comparison with "old fashion" skins -
-      usecase i18n
-    </note>
-    <p>
-      By working on the i18n integration for "pelt" we again encountered the
-      reasons for using the dispatcher. ;-) The maintenance problem was to
-      change the captions of the skin features (contracts) to enable support for
-      i18n. The case is that the <code>site2xhtml.xsl</code> has a lot of
-      repeating code.
-    </p>
-    <p>
-      For example the "last-publish"-contract could be found 2 times in the
-      code. This is not the only contract that was (is) doubled in the code. The
-      problem with that is that we needed to search the code for each caption
-      and senselessly repeat the following maintenance step of adding the
+    <note>The following content is from many mails around the topic, this
+    how-to tries to be the consolidation of this thread. It is mainly based on
+    the thread "[RT] Why using views" - in comparison with "old fashion" skins
+    - usecase i18n</note>
+    <p>By working on the i18n integration for "pelt" we again encountered the
+    reasons for using the dispatcher. ;-) The maintenance problem was to change
+    the captions of the skin features (contracts) to enable support for i18n.
+    The case is that the 
+    <code>site2xhtml.xsl</code>has a lot of repeating code.</p>
+    <p>For example the "last-publish"-contract could be found 2 times in the
+    code. This is not the only contract that was (is) doubled in the code. The
+    problem with that is that we needed to search the code for each caption and
+    senselessly repeat the following maintenance step of adding the 
 <![CDATA[<i18n:text/>]]>
-      -tags.
-    </p>
+-tags.</p>
     <source>
-<![CDATA[
+      <![CDATA[
 - <script 
 - type="text/javascript">document.write("Published: " + document.lastModified);</script>
 
 + <script type="text/javascript">document.write("<i18n:text >Last
 + Published:</i18n:text>&#160;" + document.lastModified);
 ]]>
-    </source>
+</source>
     <section id="enhanceMaintenance">
       <title>Enhance the maintenance</title>
-      <p>
-        Now we can enhance the maintenance for the future and we give these code
-        snippets contracts names (based on their functionality). This naming
-        enables us to keep the contract separate from the position code itself.
-        In xsl you would simply do:
-      </p>
+      <p>Now we can enhance the maintenance for the future and we give these
+      code snippets contracts names (based on their functionality). This naming
+      enables us to keep the contract separate from the position code itself.
+      In xsl you would simply do:</p>
       <ol>
-        <li>replace the script by <![CDATA[<xsl:call-template name="siteinfo-last-published"/>]]></li>
+        <li>replace the script by 
+<![CDATA[<xsl:call-template name="siteinfo-last-published"/>]]>
+</li>
         <li>and add:</li>
       </ol>
       <source>
-<![CDATA[<xsl:template name="siteinfo-last-published">
+        <![CDATA[<xsl:template name="siteinfo-last-published">
  <script type="text/javascript">
   document.write("<i18n:text >Last Published:</i18n:text>&#160;" + document.lastModified);
  </script>
 </xsl:template>]]>
-      </source>
-      <p>
-        This allows us in a next maintenance to just change the code of
+</source>
+      <p>This allows us in a next maintenance to just change the code of 
 <![CDATA[<xsl:template name="siteinfo-last-published"/>]]>
-        and apply it in any position where it is placed.
-      </p>
-      <note>
-        Now this refactoring of the site2xhtml.xsl is exactly what we doing in
-        creating contracts for the dispatcher.
-      </note>
+and apply it in any position where it is placed.</p>
+      <note>Now this refactoring of the site2xhtml.xsl is exactly what we doing
+      in creating contracts for the dispatcher.</note>
     </section>
     <section id="blankContract">
       <title>Explaining the blank forrest:contract</title>
-      <p>
-        To start a new forrest:contract you can copy the 'blank.ft' from
-        <code>org.apache.forrest.plugin.themes.core/themes/common/html/blank.ft</code>.
-      </p>
-      <p>
-        The 'blank.ft' is a simple xml file with the following code which you
-        can use to base new contracts on:
-      </p>
+      <p>To start a new forrest:contract you can copy the 'blank.ft' from 
+      <code>
+      org.apache.forrest.plugin.themes.core/themes/common/html/blank.ft</code>.</p>
+      <p>The 'blank.ft' is a simple xml file with the following code which you
+      can use to base new contracts on:</p>
       <source>
 <![CDATA[<forrest:contract 
   xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
@@ -132,13 +115,17 @@
   <description>
     blank will output {contract-function}. This is just a blank contract, it will output *nothing*.
   </description>
-  <usage>]]>&lt;![CDATA[<![CDATA[<forrest:contract name="blank"/>]]>&gt;<![CDATA[</usage>
+  <usage>]]>
+&lt;![CDATA[ 
+<![CDATA[<forrest:contract name="blank"/>]]>
+&gt; 
+<![CDATA[</usage>
   <forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
     name="blank" inputFormat="xsl">
     <xsl:stylesheet version="1.1" 
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
       <!--<xsl:param name="defaultVariables" select="'test.html'"/>-->
-      <!--<xsl:variable name="skin-img-dir" select="$defaultVariables/*/*[@name='skin-img-dir']/@value"/>-->
+      <!--<xsl:variable name="skin-img-dir" select="$defaultVariables/*[@name='skin-img-dir']/@value"/>-->
       <xsl:template match="/">
         <forrest:content>
           <!--<forrest:part/>-->
@@ -148,121 +135,113 @@
     </xsl:stylesheet>
   </forrest:template>
 </forrest:contract>]]>
-      </source>
-      <p>
-        The most important is the name of the contract <code>
-<![CDATA[<forrest:contract name="blank"/>]]>
-        </code>. This name is the same as the file name of the contract (without
-        file extension) <code>blank.ft</code>.
-      </p>
-      <note>
-        This is a <strong>naming convention</strong> that you need to always
-        meet. All @name attributes must be the file name of the contract without
-        file extension.
-      </note>
-      <p>
-        The <code>
-<![CDATA[<description/>]]>
-        </code> tag needs to be filled in with some information that is
-        explaining the contract to the webdesigner. The better explained the
-        more efficient for the web designer to pick the right contract.
-      </p>
+</source>
+      <p>The most important is the name of the contract 
+      <code>
+        <![CDATA[<forrest:contract name="blank"/>]]>
+</code>. This name is the same as the file name of the contract (without file
+extension) 
+      <code>blank.ft</code>.</p>
+      <note>This is a 
+      <strong>naming convention</strong>that you need to always meet. All @name
+      attributes must be the file name of the contract without file
+      extension.</note>
+      <p>The 
+      <code>
+        <![CDATA[<description/>]]>
+</code>tag needs to be filled in with some information that is explaining the
+contract to the webdesigner. The better explained the more efficient for the
+web designer to pick the right contract.</p>
       <source>
-<![CDATA[<description>
+        <![CDATA[<description>
   siteinfo-last-published-howto will output the last published date of the site with the help of jscript.
 </description>]]>
-      </source>
-      <p>
-        In the <code>
-<![CDATA[<usage/>]]>
-        </code> tag we have to explain how the designer can use the contract in
-        his structurer.
-      </p>
+</source>
+      <p>In the 
+      <code>
+        <![CDATA[<usage/>]]>
+</code>tag we have to explain how the designer can use the contract in his
+structurer.</p>
       <source>
-<![CDATA[<usage>]]>&lt;![CDATA[<![CDATA[<forrest:contract name="siteinfo-last-published-howto"/>]]>]]&gt;<![CDATA[</usage>]]>
-      </source>
-      <p>
-        To put contract code into the <code>
-<![CDATA[<head></head>]]>
-        </code> section, this needs to be declared in the contract as :- <code>
-<![CDATA[<forrest:part xpath="/html/head">...</forrest:part>]]>
-        </code> Simply by leaving out the xpath declaration and the code will go
-        into body. You can use <code>
-<![CDATA[<forrest:part xpath="/html/head">...</forrest:part><forrest:part>...</forrest:part>]]>
-        </code> if you need content in both head and body.
-      </p>
-      <warning>
-        The last paragraph about
+<![CDATA[<usage>]]>
+&lt;![CDATA[ 
+<![CDATA[<forrest:contract name="siteinfo-last-published-howto"/>]]>
+]]&gt; 
+<![CDATA[</usage>]]>
+</source>
+      <p>To put contract code into the 
+      <code>
+        <![CDATA[<head></head>]]>
+</code>section, this needs to be declared in the contract as :- 
+      <code>
+        <![CDATA[<forrest:part xpath="/html/head">...</forrest:part>]]>
+</code>Simply by leaving out the xpath declaration and the code will go into
+body. You can use 
+      <code>
+        <![CDATA[<forrest:part xpath="/html/head">...</forrest:part><forrest:part>...</forrest:part>]]>
+</code>if you need content in both head and body.</p>
+      <warning>The last paragraph about 
 <![CDATA[<forrest:part/>]]>
-        has replaced the older way of
+has replaced the older way of 
 <![CDATA[<forrest:template name="blank" body="false" head="false">]]>
-        . Please be aware that this part of the dispatcher is still a moving
-        target and may change still.
-      </warning>
-      <note>
-        It is possible to use contracts in different input/output formats. We
-        are focusing for now on format="html" as output and the
-        inputFormat="xsl".
-      </note>
+. Please be aware that this part of the dispatcher is still a moving target and
+may change still.</warning>
+      <note>It is possible to use contracts in different input/output formats.
+      We are focusing for now on format="html" as output and the
+      inputFormat="xsl".</note>
     </section>
     <section id="newContract">
       <title>Create a new contract</title>
-      <note >
-        We use basic naming convention for contracts. Like "naming does not say
-        anything about layout position, but functionality of the contract".
-      </note>
-      <p>
-        Now let us pick up the example we started with and create a
-        "siteinfo-last-published-howto" contract. Save the blank.ft to
-        <code>{project.home}/src/documentation/resources/themes/common/html/siteinfo-last-published-howto.ft</code>.
-      </p>
-      <p>
-        Now the maintenance-optimized code (xpath="/html/body/*") was:
-      </p>
+      <note>We use basic naming convention for contracts. Like "naming does not
+      say anything about layout position, but functionality of the
+      contract".</note>
+      <p>Now let us pick up the example we started with and create a
+      "siteinfo-last-published-howto" contract. Save the blank.ft to 
+      <code>
+      {project.home}/src/documentation/resources/themes/common/html/siteinfo-last-published-howto.ft</code>.</p>
+      <p>Now the maintenance-optimized code (xpath="/html/body/*") was:</p>
       <source>
-<![CDATA[<xsl:template name="siteinfo-last-published">
+        <![CDATA[<xsl:template name="siteinfo-last-published">
  <script type="text/javascript">
   document.write("<i18n:text >Last Published:</i18n:text>&#160;" + document.lastModified);
  </script>
 </xsl:template>]]>
-      </source>
-      <p>
-        In this code we have to do the following steps to use it in our
-        contract:
-      </p>
+</source>
+      <p>In this code we have to do the following steps to use it in our
+      contract:</p>
       <ul>
-        <li>Search and replace "siteinfo-last-published" with "siteinfo-last-publish-howto-body"</li>
+        <li>Search and replace "siteinfo-last-published" with
+        "siteinfo-last-publish-howto-body"</li>
         <li>Add a "debug string - " to the template</li>
       </ul>
-      <p>
-        The contract after this steps should look like:
-      </p>
+      <p>The contract after this steps should look like:</p>
       <source>
-<![CDATA[<xsl:template name="siteinfo-last-publish-howto-body">
+        <![CDATA[<xsl:template name="siteinfo-last-publish-howto-body">
 debug string - 
  <script type="text/javascript">
   document.write("<i18n:text >Last Published:</i18n:text>&#160;" + document.lastModified);
  </script>
 </xsl:template>]]>
-      </source>
-      <p>
-        Now we have to do some last steps in the siteinfo-last-publish-howto.ft
-      </p>
+</source>
+      <p>Now we have to do some last steps in the
+      siteinfo-last-publish-howto.ft</p>
       <ul>
         <li>Search and replace "blank" with "siteinfo-last-publish-howto"</li>
         <li>Add description and usage of the contract</li>
         <li>Copy the maintenance optimized code to the contract.</li>
       </ul>
-      <p>
-        As the result your code should look like this:
-      </p>
+      <p>As the result your code should look like this:</p>
       <source>
 <![CDATA[<forrest:contract xmlns:forrest="http://apache.org/forrest/templates/1.0"
   name="siteinfo-last-published-howto">
   <description>
     siteinfo-last-published-howto will output the last published date of the site with the help of jscript.
   </description>
-  <usage>]]>&lt;![CDATA[<![CDATA[<forrest:contract name="siteinfo-last-published-howto"/>]]>]]&gt;<![CDATA[</usage>
+  <usage>]]>
+&lt;![CDATA[ 
+<![CDATA[<forrest:contract name="siteinfo-last-published-howto"/>]]>
+]]&gt; 
+<![CDATA[</usage>
   <forrest:template 
     xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
     xmlns:forrest="http://apache.org/forrest/templates/1.0"
@@ -281,45 +260,40 @@
     </xsl:stylesheet>
   </forrest:template>
 </forrest:contract>]]>
-      </source>
+</source>
     </section>
     <section id="structurerContract">
       <title>Activating the contract</title>
-      <p>
-        To see whether the new contract works we need to add it to our
-        structurer. The contract usage contains the contract-tag <code>
-<![CDATA[<forrest:contract name="siteinfo-last-published-howto"/>]]>
-        </code> Please see <a href="site:dispatcher/structurer">Getting started
-        with the "structurer"</a> for more details.
-      </p>
-      <note>
-        Next to write are parameter-contracts with advanced features of the
-        dispatcher.
-      </note>
+      <p>To see whether the new contract works we need to add it to our
+      structurer. The contract usage contains the contract-tag 
+      <code>
+        <![CDATA[<forrest:contract name="siteinfo-last-published-howto"/>]]>
+</code>Please see 
+      <a href="site:dispatcher/structurer">Getting started with the
+      "structurer"</a>for more details.</p>
+      <note>Next to write are parameter-contracts with advanced features of the
+      dispatcher.</note>
     </section>
     <section id="pluginContracts">
       <title>Plugin Supplied Contracts</title>
-      <p>
-        It is possible for plugins to provide contracts for use in the
-        dispatcher. For details on how this is done see the
-        <a href="http://forrest.apache.org/docs/howto/howto-buildPlugin.html#Dispatcher">Plugin
-        HowTo</a>.
-      </p>
+      <p>It is possible for plugins to provide contracts for use in the
+      dispatcher. For details on how this is done see the 
+      <a href="http://forrest.apache.org/docs/howto/howto-buildPlugin.html#Dispatcher">
+      Plugin HowTo</a>.</p>
     </section>
   </steps>
   <extension title="Further Reading">
-    <p>
-      Congratulations you are now able to work with structurer contracts. From
-      here we recommend to read the following How-To's (if not already done):
-    </p>
+    <p>Congratulations you are now able to work with structurer contracts. From
+    here we recommend to read the following How-To's (if not already done):</p>
     <ul>
-      <li><a href="site:dispatcher/structurer">Getting started with the "structurer"</a></li>
+      <li>
+        <a href="site:dispatcher/structurer">Getting started with the
+        "structurer"</a>
+      </li>
     </ul>
   </extension>
   <feedback title="Feedback">
-    <p>
-      Please provide feedback about this document via the
-      <a href="ext:mail-lists">mailing lists</a>.
-    </p>
+    <p>Please provide feedback about this document via the 
+    <a href="ext:mail-lists">mailing lists</a>.</p>
   </feedback>
 </howto>

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-quickstart.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-quickstart.xml?rev=886147&r1=886146&r2=886147&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-quickstart.xml (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-quickstart.xml Wed Dec  2 13:58:18 2009
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +15,8 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V2.0//EN" "http://forrest.apache.org/dtd/howto-v20.dtd">
+<!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V2.0//EN"
+"http://forrest.apache.org/dtd/howto-v20.dtd">
 <howto>
   <header>
     <title>Dispatcher quickstart</title>
@@ -23,234 +24,183 @@
     <last-modified-content-date date="2007-04-09" />
   </header>
   <audience title="Intended Audience">
-    <p>
-      People who are helping to develop the Dispatcher.
-    </p>
-    <warning>
-      The "Dispatcher" (previously known as "Views") is new functionality which
-      is still in development phase. That is why it is in the "whiteboard"
-      section of Forrest. This document will also need to change to keep pace.
-      We are working at the moment on moving this plugin from the whiteboard
-      into the core plugins. See <a href="ext:forrest/status-themes">Status of
-      Themes: Skins and Dispatcher</a>.
-    </warning>
+    <p>People who are helping to develop the Dispatcher.</p>
+    <warning>The "Dispatcher" (previously known as "Views") is new
+    functionality which is still in development phase. That is why it is in the
+    "whiteboard" section of Forrest. This document will also need to change to
+    keep pace. We are working at the moment on moving this plugin from the
+    whiteboard into the core plugins. See 
+    <a href="ext:forrest/status-themes">Status of Themes: Skins and
+    Dispatcher</a>.</warning>
   </audience>
   <purpose title="Purpose">
-    <p>
-      This document will get you started. We will Dispatcher-enable an existing
-      site and show how to add/remove ready-made contacts. Then we will discuss
-      how add your own new contracts.
-    </p>
-    <p>
-      This document encourages developers to get involved with fine-tuning and
-      testing the dispatcher. Please help to enhance the current core contracts
-      so that people do not need to re-invent the wheel.
-    </p>
+    <p>This document will get you started. We will Dispatcher-enable an
+    existing site and show how to add/remove ready-made contacts. Then we will
+    discuss how add your own new contracts.</p>
+    <p>This document encourages developers to get involved with fine-tuning and
+    testing the dispatcher. Please help to enhance the current core contracts
+    so that people do not need to re-invent the wheel.</p>
   </purpose>
   <prerequisites title="Prerequisites">
     <ul>
-      <li>Using Forrest trunk of SVN (i.e. head of development).
-      </li>
+      <li>Using Forrest trunk of SVN (i.e. head of development).</li>
       <li>Followed the installation instructions below.</li>
-      <li>You have an existing forrest site and want to try the
-        new Dispatcher. Otherwise create a 'forrest seed-sample' site.</li>
+      <li>You have an existing forrest site and want to try the new Dispatcher.
+      Otherwise create a 'forrest seed-sample' site.</li>
     </ul>
   </prerequisites>
   <steps title="Steps">
-    <note>
-      When developing with the dispatcher we assume you are using 'forrest run'
-      and the following workflow "change files -&gt; refresh browser".
-      <br/>
-      Installing a mozilla browser and the
-      <a href="ext:forrestbar">Forrestbar</a> helps a lot with developing, but
-      is not necessary.
-    </note>
+    <note>When developing with the dispatcher we assume you are using 'forrest
+    run' and the following workflow "change files -&gt; refresh browser". 
+    <br />Installing a mozilla browser and the 
+    <a href="ext:forrestbar">Forrestbar</a>helps a lot with developing, but is
+    not necessary.</note>
     <section id="patch">
       <title>Get ready</title>
       <ul>
         <li>Do 'svn update' on forrest/trunk</li>
-        <li>Do the 'cd main; build clean; build' (necessary because the Dispatcher is changing rapidly and uses some Java)</li>
+        <li>Do the 'cd main; build clean; build' (necessary because the
+        Dispatcher is changing rapidly and uses some Java)</li>
       </ul>
     </section>
     <section id="enable">
       <title>Dispatcher-enable the existing site</title>
       <ul>
         <li>Add the new plugins to forrest.properties ...
-        ,org.apache.forrest.plugin.internal.dispatcher,org.apache.forrest.themes.core
-        </li>
+        ,org.apache.forrest.plugin.internal.dispatcher,org.apache.forrest.themes.core</li>
         <li>localhost:8888/index.html ... fantastic. See the pelt view.</li>
       </ul>
     </section>
     <section id="another-theme">
       <title>Use another theme</title>
       <ul>
-        <li>Add <![CDATA[<property name="dispatcher.theme" value="pelt"/>]]> 
-          to your forrest.properties.xml</li>
+        <li>Add 
+<![CDATA[<property name="dispatcher.theme" value="pelt"/>]]>
+to your forrest.properties.xml</li>
         <li>Re-start 'forrest run'</li>
         <li>localhost:8888/index.html ... See the new view.</li>
       </ul>
     </section>
     <section id="our-structurer">
       <title>Create our own structurer by copy-and-customise</title>
-      <p>
-        Copy the default structurer for the pelt theme and make local changes.
-      </p>
-      <note>
-        At this stage of rapid development of the Dispatcher, be sure to keep
-        your copy synchronised. Use 'diff' against the known svn version of the
-        core pelt.fv to track your local changes. Also please consider
-        contributing new contracts and changes to the default structurers to the
-        Forrest projects. That eases your local version management and everyone
-        will benefit.
-      </note>
-      <note>
-        We use <code>${themer.project.dir}</code> for
-        PROJECT_HOME/src/documentation/resources/themes (create the new
-        directory first). You can change this location by adding
+      <p>Copy the default structurer for the pelt theme and make local
+      changes.</p>
+      <note>At this stage of rapid development of the Dispatcher, be sure to
+      keep your copy synchronised. Use 'diff' against the known svn version of
+      the core pelt.fv to track your local changes. Also please consider
+      contributing new contracts and changes to the default structurers to the
+      Forrest projects. That eases your local version management and everyone
+      will benefit.</note>
+      <note>We use 
+      <code>${themer.project.dir}</code>for
+      PROJECT_HOME/src/documentation/resources/themes (create the new directory
+      first). You can change this location by adding 
 <![CDATA[<match pattern="themer.project.dir">
           <location src="{properties:resources}/themes" />
         </match> ]]>
-        to your locationmap and point to another directory.
-      </note>
-      <note>
-      By default THEMER_PLUGIN can be located at FORREST_HOME/whiteboard/plugins/org.apache.forrest.themes.core
-      </note>           
+to your locationmap and point to another directory.</note>
+      <note>By default THEMER_PLUGIN can be located at
+      FORREST_HOME/whiteboard/plugins/org.apache.forrest.themes.core</note>
       <ul>
         <li>Copy THEMER_PLUGIN/themes/pelt.fv into your project at
-          ${themer.project.dir}/pelt.fv
-        </li>
-        <li>Copy THEMER_PLUGIN/themes/pelt/panels/pelt-html.header.panel.xml into your
-          project at ${themer.project.dir}/pelt/panels/pelt-html.header.panel.xml
-        </li>
+        ${themer.project.dir}/pelt.fv</li>
+        <li>Copy THEMER_PLUGIN/themes/pelt/panels/pelt-html.header.panel.xml
+        into your project at
+        ${themer.project.dir}/pelt/panels/pelt-html.header.panel.xml</li>
         <li>Re-start 'forrest run'</li>
-        <li>localhost:8888/index.html ... See the same view, now structured
-          by us.
-        </li>
-        <li>In localhost:8888/resolve.structurer.index you can find a copy of your current structurer. Any change  made to your pelt.fv file will be added here.
-        </li>
+        <li>localhost:8888/index.html ... See the same view, now structured by
+        us.</li>
+        <li>In localhost:8888/resolve.structurer.index you can find a copy of
+        your current structurer. Any change made to your pelt.fv file will be
+        added here.</li>
       </ul>
-      <p>
-        From here on there is no need to re-start 'forrest run'. Just edit the
-        structurer and see the effect.
-      </p>
-      <warning>
-      Right now the dispatcher is heavely cached, so maybe in the current version it should be
-      necessary to reboot the system in order to see the changes. To avoid temporally this problem,
-      turn off the cache system changing:
-      
+      <p>From here on there is no need to re-start 'forrest run'. Just edit the
+      structurer and see the effect.</p>
+      <warning>Right now the dispatcher is heavely cached, so maybe in the
+      current version it should be necessary to reboot the system in order to
+      see the changes. To avoid temporally this problem, turn off the cache
+      system changing: 
 <![CDATA[
-<forrest:views xmlns:forrest="http://apache.org/forrest/templates/1.0"
-	xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
-	jx:cache-key="#{$cocoon/parameters/getRequest}"
-	jx:cache-validity="${Packages.org.apache.excalibur.source.impl.validity.NOPValidity()}">
+<forrest:structurer xmlns:forrest="http://apache.org/forrest/templates/1.0"
+        xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
+        jx:cache-key="#{$cocoon/parameters/getRequest}"
+        jx:cache-validity="${Packages.org.apache.excalibur.source.impl.validity.NOPValidity()}">
 ]]>
-      
-      to
-      
+to 
 <![CDATA[
-<forrest:views xmlns:forrest="http://apache.org/forrest/templates/1.0"
-	xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
+<forrest:structurer xmlns:forrest="http://apache.org/forrest/templates/1.0"
+        xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
 ]]>
-      
-      in your THEMER_PLUGIN/themes/pelt.fv file.
-      </warning>
+in your THEMER_PLUGIN/themes/pelt.fv file.</warning>
     </section>
     <section id="remove-default-contract">
       <title>Remove a default contract</title>
       <ul>
-        <li>Remove the top breadcrumb trail. Edit your pelt-html.header.panel.xml, find the
-          "branding-breadcrumbs" contract and comment it out.
-        </li>
+        <li>Remove the top breadcrumb trail. Edit your
+        pelt-html.header.panel.xml, find the "branding-breadcrumbs" contract
+        and comment it out.</li>
       </ul>
     </section>
     <section id="add-default-contract">
       <title>Add a default contract</title>
-      <p>
-        Forrest provides many default contracts. If you are using the Forrestbar
-        then choose "dispatcher-devs =&gt; ls.contracts". Otherwise visit
-        localhost:8888/ls.contracts.html
-      </p>
+      <p>Forrest provides many default contracts. If you are using the
+      Forrestbar then choose "dispatcher-devs =&gt; ls.contracts". Otherwise
+      visit localhost:8888/ls.contracts.html</p>
       <ul>
-        <li>
-          See the usage detail for your chosen contract via the above mentioned list.
-          e.g. "siteinfo-current-time"
-        </li>
-        <li>
-          Insert it at the appropriate point in your structurer. Note that it
-          will need to go inside the appropriate CSS hook, e.g.
+        <li>See the usage detail for your chosen contract via the above
+        mentioned list. e.g. "siteinfo-current-time"</li>
+        <li>Insert it at the appropriate point in your structurer. Note that it
+        will need to go inside the appropriate CSS hook, e.g. 
         <source>
-<![CDATA[  ...
+          <![CDATA[  ...
   <forrest:hook name="footer">
     <forrest:contract name="siteinfo-current-time"/>
     ...
 ]]>
-          </source></li>
+</source></li>
       </ul>
-      <p>
-        Notice that you did not need to copy any other code to your project
-        space. Forrest finds the default contract in its core (the themes.core
-        plugin).
-      </p>
-      <p>
-        You will find some commonly used contracts in place but commented out in
-        both the common and the pelt structurer files. Feel free to uncomment
-        them to activate them, move them around into other hooks or create new
-        hooks for them.
-      </p>
-      <note>
-        Work is currently under way for implementing Panels (was tiles).
-        Currently we now have a 'panels' sub-dir for each 'theme'. This panels
-        sub-dir currently contains a main html panel
-        '%themename%-html.panel.xml' and a CSS panel
-        '%themename%-css.panel.xml'. So you can change a collection of HTML and
-        CSS outputs from these two XML files.
-      </note>
+      <p>Notice that you did not need to copy any other code to your project
+      space. Forrest finds the default contract in its core (the themes.core
+      plugin).</p>
+      <p>You will find some commonly used contracts in place but commented out
+      in both the common and the pelt structurer files. Feel free to uncomment
+      them to activate them, move them around into other hooks or create new
+      hooks for them.</p>
+      <note>Work is currently under way for implementing Panels (was tiles).
+      Currently we now have a 'panels' sub-dir for each 'theme'. This panels
+      sub-dir currently contains a main html panel '%themename%-html.panel.xml'
+      and a CSS panel '%themename%-css.panel.xml'. So you can change a
+      collection of HTML and CSS outputs from these two XML files.</note>
     </section>
     <section id="add-project-contract">
       <title>Add a new project contract</title>
-      <warning>
-        Carefully consider the purpose of your contracts. If they are useful in
-        a wider context, then they belong in plugins or the core of Forrest. See
-        below for further discussion on this important topic.
-      </warning>
-      <p>
-        Project-based contracts are defined in theme-specific and
-        output-format-specific directory structure, e.g.
-        ${themer.project.dir}/THEME_NAME/OUTPUT_FORMAT/
-      </p>
-      <p>
-        Project-based contracts common to all themes go in
-        ${themer.project.dir}/common/OUTPUT_FORMAT/
-      </p>
-      <p>
-        To get started quickly (it is not a project-based contract but a demo),
-        copy one of the default contracts. e.g. copy siteinfo-current-time.ft to
-        become siteinfo-doodad.ft ...
-      </p>
+      <warning>Carefully consider the purpose of your contracts. If they are
+      useful in a wider context, then they belong in plugins or the core of
+      Forrest. See below for further discussion on this important
+      topic.</warning>
+      <p>Project-based contracts are defined in theme-specific and
+      output-format-specific directory structure, e.g.
+      ${themer.project.dir}/THEME_NAME/OUTPUT_FORMAT/</p>
+      <p>Project-based contracts common to all themes go in
+      ${themer.project.dir}/common/OUTPUT_FORMAT/</p>
+      <p>To get started quickly (it is not a project-based contract but a
+      demo), copy one of the default contracts. e.g. copy
+      siteinfo-current-time.ft to become siteinfo-doodad.ft ...</p>
       <ul>
-        <li>
-          Copy THEMER_PLUGIN/themes/common/html/siteinfo-current-time.ft
-          into your project at
-          ${themer.project.dir}/common/html/siteinfo-doodad.ft
-          (create the new directory first).
-        </li>
-        <li>
-          Edit it to suit. Replace all occurrences of "siteinfo-current-time" with
-          "siteinfo-doodad" and make your other changes (e.g. the text and the
-          javascript function).
-        </li>
-        <li>
-          Declare your new contract in your structurer as done above for adding a
-          default contract.
-        </li>
+        <li>Copy THEMER_PLUGIN/themes/common/html/siteinfo-current-time.ft into
+        your project at ${themer.project.dir}/common/html/siteinfo-doodad.ft
+        (create the new directory first).</li>
+        <li>Edit it to suit. Replace all occurrences of "siteinfo-current-time"
+        with "siteinfo-doodad" and make your other changes (e.g. the text and
+        the javascript function).</li>
+        <li>Declare your new contract in your structurer as done above for
+        adding a default contract.</li>
       </ul>
-      <p>
-        See a list of your project-based contracts and their usage notes via
-        Forrestbar "dispatcher-devs =&gt; ls.contracts.project". Otherwise visit
-        localhost:8888/ls.contracts.project.html
-      </p>
+      <p>See a list of your project-based contracts and their usage notes via
+      Forrestbar "dispatcher-devs =&gt; ls.contracts.project". Otherwise visit
+      localhost:8888/ls.contracts.project.html</p>
     </section>
-<!--
+    <!--
     <section id="newSection">
       <title>newSection</title>
       <ul>
@@ -258,7 +208,7 @@
       </ul>
     </section>
 -->
-<!--
+    <!--
     <section id="notes">
       <title>Notes</title>
         <source><![CDATA[
@@ -268,56 +218,48 @@
 -->
     <section id="manage">
       <title>Decide how to manage your contracts</title>
-      <p>
-      Depending on the use of a new contract you can place it in different 
-      locations. General use contracts should be placed in the THEME_PLUGIN 
-      directory. Contracts only suitable for one theme should be stored in 
-      the specific theme directory, that is, 
-      <code>THEMER_PLUGIN/resources/themes/THEME_NAME/OUTPUT_FORMAT</code>. 
+      <p>Depending on the use of a new contract you can place it in different
+      locations. General use contracts should be placed in the THEME_PLUGIN
+      directory. Contracts only suitable for one theme should be stored in the
+      specific theme directory, that is, 
+      <code>THEMER_PLUGIN/resources/themes/THEME_NAME/OUTPUT_FORMAT</code>.
       Otherwise, common contracts should be place in the common folder: 
-      <code>THEMER_PLUGIN/resources/themes/common/OUTPUT_FORMAT</code>.
-      </p>
-      <p>
-      If the contract is specific to a particular purpose, that is a 
-      particular plugin, it should be included with the plugin itself. 
-      For example, the "employment history" contract is specific to the 
-      resume plugin so it should be placed there. The correct location for 
-      contrats with a particular purpose is 
-      <code>PLUGIN_NAME/resources/themes/THEME_NAME/OUTPUT_FORMAT</code>.
-      </p>
-      <p>
-      There is another category for contracts, those that are both specific 
-      to a particular purpose and defined for a specific site. For example, 
-      a "process order" contract that integrates with an in-house order 
-      management system. In this case, another location is more suitable. 
+      <code>THEMER_PLUGIN/resources/themes/common/OUTPUT_FORMAT</code>.</p>
+      <p>If the contract is specific to a particular purpose, that is a
+      particular plugin, it should be included with the plugin itself. For
+      example, the "employment history" contract is specific to the resume
+      plugin so it should be placed there. The correct location for contrats
+      with a particular purpose is 
+      <code>PLUGIN_NAME/resources/themes/THEME_NAME/OUTPUT_FORMAT</code>.</p>
+      <p>There is another category for contracts, those that are both specific
+      to a particular purpose and defined for a specific site. For example, a
+      "process order" contract that integrates with an in-house order
+      management system. In this case, another location is more suitable.
       However, before proceed think again about the uniqueness of the contract.
-      Most contracts can be generalised to be useful in more than one 
-      environment and so one of the above locations can be used. If you are 
+      Most contracts can be generalised to be useful in more than one
+      environment and so one of the above locations can be used. If you are
       still sure that this is a site-specific contract then place it in 
-      <code>PROJECT_HOME/src/documentation/resources/themes/common</code>.
-      </p>
-      <p>
-      If you develop a new contract, please provide a patch via our 
-      <a href="ext:issues">issue tracker</a> so that we 
-      can include it in future releases of Forrest.
-      </p>
+      <code>PROJECT_HOME/src/documentation/resources/themes/common</code>.</p>
+      <p>If you develop a new contract, please provide a patch via our 
+      <a href="site:issues">issue tracker</a>so that we can include it in
+      future releases of Forrest.</p>
     </section>
   </steps>
   <extension title="Further Reading">
-    <p>
-      Congratulations you are now able to work with the Dispatcher. From here we
-      recommend to read the following How-Tos:
-    </p>
+    <p>Congratulations you are now able to work with the Dispatcher. From here
+    we recommend to read the following How-Tos:</p>
     <ul>
-      <li><a href="site:dispatcher/structurer">How to use the structurer</a></li>
-      <li><a href="site:dispatcher/contracts">Create your own contract 
-          implementation</a></li>
+      <li>
+        <a href="site:dispatcher/structurer">How to use the structurer</a>
+      </li>
+      <li>
+        <a href="site:dispatcher/contracts">Create your own contract
+        implementation</a>
+      </li>
     </ul>
   </extension>
   <feedback title="Feedback">
-    <p>
-      Please provide feedback about this document via the
-      <a href="ext:mail-lists">mailing lists</a>.
-    </p>
+    <p>Please provide feedback about this document via the 
+    <a href="ext:mail-lists">mailing lists</a>.</p>
   </feedback>
 </howto>

Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-structurer.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-structurer.xml?rev=886147&r1=886146&r2=886147&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-structurer.xml (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-dispatcher-structurer.xml Wed Dec  2 13:58:18 2009
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -15,109 +15,98 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V2.0//EN" "http://forrest.apache.org/dtd/howto-v20.dtd">
+<!DOCTYPE howto PUBLIC "-//APACHE//DTD How-to V2.0//EN"
+"http://forrest.apache.org/dtd/howto-v20.dtd">
 <howto>
   <header>
     <title>How to use the structurer</title>
-    <abstract>
-      This How-To describes the usage of the structurer config domain specific
-      language to create beautiful websites in no time.
-    </abstract>
-    <last-modified-content-date date="2005-07-17"/>
+    <abstract>This How-To describes the usage of the structurer config domain
+    specific language to create beautiful websites in no time.</abstract>
+    <last-modified-content-date date="2005-07-17" />
   </header>
   <audience title="Intended Audience">
-    <warning>
-      The "Dispatcher" (aka "Views") is new functionality which is still in
-      development phase. That is why it is in the "whiteboard" section of the
-      Forrest distribution. This HowTo is a good start but still needs more
-      work. See <a href="ext:forrest/status-themes">Status of Themes: Skins and
-      Dispatcher</a>.
-    </warning>
-    <p>
-      This part of the the dispatcher is called the structurer and is dedicated
-      to webdesigner and user with some knowledge of css.
-    </p>
+    <warning>The "Dispatcher" (aka "Views") is new functionality which is still
+    in development phase. That is why it is in the "whiteboard" section of the
+    Forrest distribution. This HowTo is a good start but still needs more work.
+    See 
+    <a href="ext:forrest/status-themes">Status of Themes: Skins and
+    Dispatcher</a>.</warning>
+    <p>This part of the the dispatcher is called the structurer and is
+    dedicated to webdesigner and user with some knowledge of css.</p>
   </audience>
   <purpose title="Purpose">
-    <p>
-      This how-to will show you how to write a <strong>structurer</strong> from
-      the ground up. We will focus on html as the output format. As well it will
-      show how to add your own css implementation to the structurer.
-    </p>
+    <p>This how-to will show you how to write a 
+    <strong>structurer</strong>from the ground up. We will focus on html as the
+    output format. As well it will show how to add your own css implementation
+    to the structurer.</p>
   </purpose>
   <prerequisites title="Prerequisites">
     <ul>
-      <li>Installing a mozilla browser and the forrestbar helps a lot in 
-        developing.</li>
+      <li>Installing a mozilla browser and the forrestbar helps a lot in
+      developing.</li>
     </ul>
   </prerequisites>
   <steps title="Steps">
-    <note>
-      When developing with the dispatcher we assume you are using 'forrest run'
-      and the following workflow "change files -&gt; refresh browser"
-      <br/>
-      Installing a mozilla browser and the forrestbar helps a lot in developing.
-      Many instructions assumes that you have the forrestbar installed.
-    </note>
+    <note>When developing with the dispatcher we assume you are using 'forrest
+    run' and the following workflow "change files -&gt; refresh browser" 
+    <br />Installing a mozilla browser and the forrestbar helps a lot in
+    developing. Many instructions assumes that you have the forrestbar
+    installed.</note>
     <section id="emptystructurer">
       <title>Empty structurer file</title>
       <source>
-<![CDATA[<forrest:views 
+        <![CDATA[<forrest:structurer 
   xmlns:forrest="http://apache.org/forrest/templates/1.0"
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <forrest:view type="html">
-  </forrest:view>
-</forrest:views>]]>
-      </source>
-      <p>
-        <strong> The structurer</strong> is designed to be open for any format
-        that can use<strong> forrest:view</strong> as configuration file. The
-        only format we implemented is html for now. This is as well true for the
-        delivered contracts.
-      </p>
+  <forrest:structure type="html">
+  </forrest:structure>
+</forrest:structurer>]]>
+</source>
+      <p>
+      <strong>The structurer</strong>is designed to be open for any format that
+      can use 
+      <strong>forrest:structure</strong>as configuration file. The only format
+      we implemented is html for now. This is as well true for the delivered
+      contracts.</p>
     </section>
     <section id="firststructurer">
       <title>Creating your first structurer</title>
-      <warning>
-        The structurer is based on jx templates to allow simple presentation
-        logic (all code starting with "jx:"). Please refer to the cocoon
-        documentation about jx.
-      </warning>
-      <p>
-        In this section we will create a new structurer. We will override the
-        default structurer of the core themes for the index page of a new seed.
-        For that we will create a file called <code>index.fv</code> and save it
-        in the directory <code>{properties:resources}/structurer/url</code>
-        (create it if needed). This will make <strong>only</strong> the
-        index.html page look different from the rest of the project.
-      </p>
-      <note label="RecursiveDirectoryTraversalAction">
-        You can set a view for an individual file, a directory, or the whole
-        site. To address multiple files in a directory call your
-        <code>.fv</code> file <code>common.fv</code>. If Forrest doesn't find a
-        <code>.fv</code> file with the same name as the current file it will use
-        the common.fv file in that directory, or the first one it finds going
-        upwards through the directory structure. <code>common.fv</code> files
-        affect all subdirectories unless they are overidden by another
-        <code>common.fv</code> or a file-specific <code>foo.fv</code> file.
-      </note>
-      <p>
-        Remember: pointing your browser to
-        <code>http://localhost:8888/ls.contracts.html</code> will show a page
-        with all contracts and themes that you can use in your project provided
-        by forrest.
-      </p>
-      <p>
-        Let us use the blank structurer from the earlier step and add the
-        content-main contract. In ls.contracts.html we find the information for
-        how to use the contract in our structurer. Our <code>index.fv</code>
-        should look like:
-      </p>
+      <warning>The structurer is based on jx templates to allow simple
+      presentation logic (all code starting with "jx:"). Please refer to the
+      cocoon documentation about jx.</warning>
+      <p>In this section we will create a new structurer. We will override the
+      default structurer of the core themes for the index page of a new seed.
+      For that we will create a file called 
+      <code>index.fv</code>and save it in the directory 
+      <code>{properties:resources}/structurer/url</code>(create it if needed).
+      This will make 
+      <strong>only</strong>the index.html page look different from the rest of
+      the project.</p>
+      <note label="RecursiveDirectoryTraversalAction">You can set a view for an
+      individual file, a directory, or the whole site. To address multiple
+      files in a directory call your 
+      <code>.fv</code>file 
+      <code>common.fv</code>. If Forrest doesn't find a 
+      <code>.fv</code>file with the same name as the current file it will use
+      the common.fv file in that directory, or the first one it finds going
+      upwards through the directory structure. 
+      <code>common.fv</code>files affect all subdirectories unless they are
+      overidden by another 
+      <code>common.fv</code>or a file-specific 
+      <code>foo.fv</code>file.</note>
+      <p>Remember: pointing your browser to 
+      <code>http://localhost:8888/ls.contracts.html</code>will show a page with
+      all contracts and themes that you can use in your project provided by
+      forrest.</p>
+      <p>Let us use the blank structurer from the earlier step and add the
+      content-main contract. In ls.contracts.html we find the information for
+      how to use the contract in our structurer. Our 
+      <code>index.fv</code>should look like:</p>
       <source>
-<![CDATA[<forrest:views 
+        <![CDATA[<forrest:structurer 
   xmlns:forrest="http://apache.org/forrest/templates/1.0"
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <forrest:view type="html">
+  <forrest:structure type="html">
     <forrest:contract name="content-main">
     <forrest:properties contract="content-main">
       <forrest:property name="content-main" nugget="get.body">
@@ -129,37 +118,33 @@
       </forrest:property>
     </forrest:properties>
   </forrest:contract>
-  </forrest:view>
-</forrest:views>]]>
-      </source>
-      <p>
-        A contract has to request the data model it want to transform. This
-        happends by defining forrest:properties which have the same name like
-        the contract. In our case we want the HTML rendered from intermediate
-        format (**.body.xml). This we are going to include via: <code>
-<![CDATA[<jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/>]]>
-        </code>
-      </p>
-      <p>
-        Contracts can offer some property configuration of the outcome of the
-        transformation. In our case <code>
+  </forrest:structure>
+</forrest:structurer>]]>
+</source>
+      <p>A contract has to request the data model it want to transform. This
+      happends by defining forrest:properties which have the same name like the
+      contract. In our case we want the HTML rendered from intermediate format
+      (**.body.xml). This we are going to include via: 
+      <code>
+        <![CDATA[<jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/>]]>
+</code></p>
+      <p>Contracts can offer some property configuration of the outcome of the
+      transformation. In our case 
+      <code>
 <![CDATA[<forrest:property name="content-main-conf">
         <headings type="underlined"/>
       </forrest:property>]]>
-        . </code>
-      </p>
-      <p>
-        Lets try our new structurer by pointing to
-        <code>http://localhost:8888/index.html</code>. We will see only the main
-        content. Now let us add the section navigation to our structurer. The
-        contract usage in the structurer can be looked up in ls.contracts.html.
-        Our structurer now looks like:
-      </p>
+.</code></p>
+      <p>Lets try our new structurer by pointing to 
+      <code>http://localhost:8888/index.html</code>. We will see only the main
+      content. Now let us add the section navigation to our structurer. The
+      contract usage in the structurer can be looked up in ls.contracts.html.
+      Our structurer now looks like:</p>
       <source>
-<![CDATA[<forrest:views 
+        <![CDATA[<forrest:structurer 
   xmlns:forrest="http://apache.org/forrest/templates/1.0"
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <forrest:view type="html">
+  <forrest:structure type="html">
     <forrest:contract name="nav-main">
       <forrest:properties contract="nav-main">
         <forrest:property name="nav-main" nugget="get.navigation">
@@ -179,56 +164,43 @@
         </forrest:property>
       </forrest:properties>
     </forrest:contract>
-  </forrest:view>
-</forrest:views>]]>
-      </source>
-      <p>
-        We now find the main content and the section navigation after each other
-        and in the order we placed them in the structurer, but we want it next
-        to each other (left: nav-section; right: content-main).
-      </p>
+  </forrest:structure>
+</forrest:structurer>]]>
+</source>
+      <p>We now find the main content and the section navigation after each
+      other and in the order we placed them in the structurer, but we want it
+      next to each other (left: nav-section; right: content-main).</p>
     </section>
     <section id="hookstructurer">
       <title>Hooks in the structurer</title>
-      <p>
-        We will use now the first time a <code>
-<![CDATA[<forrest:hook name="layoutId"/>]]>
-        </code>. Hooks are the styling side of the structurer. We can imitate
-        arbitrary html skeleton with their help. Before we explain how to use
-        your own css in the structurer, we will use the default css. You can see
-        in our example that we have css included. That is a default fallback
-        coming from the implementation. In this common.css we can find
-      </p>
-      <source>/* menu */
-#leftbar {
-    width: 25%;
-    float: left;
-    background: #eae8e3;
-    border: thin dashed #565248;
-}
-      </source>
-      <p>
-        With this information we know to use <code>
-<![CDATA[<forrest:hook name="leftbar"/>]]>
-        </code> and add contracts into that container.
-      </p>
-      <p>
-        If we want to put the nav-section contract into the left-hand side
-        position of the site we need to place the contract into that hook. Like:
-      </p>
+      <p>We will use now the first time a 
+      <code>
+        <![CDATA[<forrest:hook name="layoutId"/>]]>
+</code>. Hooks are the styling side of the structurer. We can imitate arbitrary
+html skeleton with their help. Before we explain how to use your own css in the
+structurer, we will use the default css. You can see in our example that we
+have css included. That is a default fallback coming from the implementation.
+In this common.css we can find</p>
+      <source>/* menu */ #leftbar { width: 25%; float: left; background:
+      #eae8e3; border: thin dashed #565248; }</source>
+      <p>With this information we know to use 
+      <code>
+        <![CDATA[<forrest:hook name="leftbar"/>]]>
+</code>and add contracts into that container.</p>
+      <p>If we want to put the nav-section contract into the left-hand side
+      position of the site we need to place the contract into that hook.
+      Like:</p>
       <source>
-<![CDATA[<forrest:hook name="leftbar">
+        <![CDATA[<forrest:hook name="leftbar">
   <!-- Include contract here -->
 </forrest:hook>]]>
-      </source>
-      <p>
-        Our structurer will then look like:
-      </p>
+</source>
+      <p>Our structurer will then look like:</p>
       <source>
-<![CDATA[<forrest:views 
+        <![CDATA[<forrest:structurer 
   xmlns:forrest="http://apache.org/forrest/templates/1.0"
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <forrest:view type="html">
+  <forrest:structure type="html">
     <forrest:hook name="leftbar">
       <forrest:contract name="nav-section">
         <forrest:properties contract="nav-section">
@@ -250,21 +222,20 @@
         </forrest:property>
       </forrest:properties>
     </forrest:contract>
-  </forrest:view>
-</forrest:views>]]>
-      </source>
+  </forrest:structure>
+</forrest:structurer>]]>
+</source>
     </section>
     <section id="cssstructurer">
       <title>CSS in the structurer</title>
-      <p>
-        We now know how to place contracts and hooks in our structurer. Until
-        this stage we only used the common.css. CSS-support of the structurer is
-        as easy as placing contracts/hooks. To override the common.css
-        stylesheet we use another tag within our structurer <code>
-<![CDATA[<forrest:css />]]>
-        </code>.
-      </p>
-<!--      <p>We will now create a file in <code><![CDATA[<!-#- 
+      <p>We now know how to place contracts and hooks in our structurer. Until
+      this stage we only used the common.css. CSS-support of the structurer is
+      as easy as placing contracts/hooks. To override the common.css stylesheet
+      we use another tag within our structurer 
+      <code>
+        <![CDATA[<forrest:css />]]>
+</code>.</p>
+      <!--      <p>We will now create a file in <code><![CDATA[<!-#- 
    {1} name
    {2} extension (note we assume e.g. PATH/css/{1}.css)
    -#->
@@ -272,15 +243,13 @@
         we will save a file called howTo.css in v2/src/documentation/resources/themes/common/css/howTo.css containing only 
         the following css:
       </p>-->
-      <p>
-        You can add inline and linked css with the structurer. As soon as you
-        use forrest:css you will disable the fallback css support from forrest.
-        With this tag we tell the dispatcher that we want to override the
-        common.css. After adding the following to our index.fv the design will
-        be different.
-      </p>
+      <p>You can add inline and linked css with the structurer. As soon as you
+      use forrest:css you will disable the fallback css support from forrest.
+      With this tag we tell the dispatcher that we want to override the
+      common.css. After adding the following to our index.fv the design will be
+      different.</p>
       <source>
-<![CDATA[<forrest:css >
+        <![CDATA[<forrest:css >
 /* Extra css */
 /* menu */
 #leftbar {
@@ -290,25 +259,23 @@
   border: thin solid #000000;
 }
 </forrest:css>]]>
-      </source>
-<!--<fixme author="thorsten">from here</fixme>-->
-      <p>
-        We just changed the border-style to 'solid', the background to '#CCCCFF'
-        and the color to '#000000'. So you see a white page where the menu is
-        surrounded by a solid border with the defined background.
-      </p>
+</source>
+      <!--<fixme author="thorsten">from here</fixme>-->
+      <p>We just changed the border-style to 'solid', the background to
+      '#CCCCFF' and the color to '#000000'. So you see a white page where the
+      menu is surrounded by a solid border with the defined background.</p>
       <note>
-        <code>
-<![CDATA[<forrest:css />]]>
-        </code> needs to be the direct child of <code>
-<![CDATA[<forrest:view type="html">]]>
-        </code>
-      </note>
+      <code>
+        <![CDATA[<forrest:css />]]>
+</code>needs to be the direct child of 
+      <code>
+        <![CDATA[<forrest:structure type="html">]]>
+</code></note>
       <source>
-<![CDATA[<forrest:views 
+        <![CDATA[<forrest:structurer 
   xmlns:forrest="http://apache.org/forrest/templates/1.0"
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <forrest:view type="html">
+  <forrest:structure type="html">
     <forrest:css >
 /* Extra css */
 /* menu */
@@ -340,31 +307,23 @@
         </forrest:property>
       </forrest:properties>
     </forrest:contract>
-  </forrest:view>
-</forrest:views>]]>
-      </source>
-      <p>
-        As a second example, let us change as well the content-main by adding
-        another hook <code>
-<![CDATA[<forrest:hook name="content"/>]]>
-        </code> We need to add the new layout container to our inline css:
-      </p>
+  </forrest:structure>
+</forrest:structurer>]]>
+</source>
+      <p>As a second example, let us change as well the content-main by adding
+      another hook 
+      <code>
+        <![CDATA[<forrest:hook name="content"/>]]>
+</code>We need to add the new layout container to our inline css:</p>
+      <source>/* The actual content */ #content { margin-left: 25%; padding: 0
+      20px 0 20px; background: #B9D3EE; }</source>
+      <p>Then we have to add the 'content-main' contract to the 'content' hook.
+      The resulting structurer looks like:</p>
       <source>
-/* The actual content */
-#content {
-  margin-left: 25%;
-  padding: 0 20px 0 20px;
-  background: #B9D3EE;
-}</source>
-      <p>
-        Then we have to add the 'content-main' contract to the 'content' hook.
-        The resulting structurer looks like:
-      </p>
-      <source>
-<![CDATA[<forrest:views 
+        <![CDATA[<forrest:structurer 
   xmlns:forrest="http://apache.org/forrest/templates/1.0"
   xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
-  <forrest:view type="html">
+  <forrest:structure type="html">
     <forrest:css >
 /* Extra css */
 /* menu */
@@ -404,98 +363,74 @@
       </forrest:properties>
     </forrest:contract>
     </forrest:hook>
-  </forrest:view>
-</forrest:views>]]>
-      </source>
-      <p>
-        We are now able to place contracts into the layout container and add
-        custom css to the structurer.
-      </p>
+  </forrest:structure>
+</forrest:structurer>]]>
+</source>
+      <p>We are now able to place contracts into the layout container and add
+      custom css to the structurer.</p>
     </section>
     <section>
       <title>Linking to an external css file</title>
-      <note>
-        This will change for the next version of views (v3) where we use a
-        generic contract instead of the standalone element (forrest:css).
-      </note>
-      <p>
-        Make sure your project has the following directory structure. If it
-        doesn't you'll have to create it. "common" is the fallback for all
-        themes, if you want to override the css for a specific theme replace
-        "common" with "themeName". This is where Forrest will look for external
-        css stylesheets.
-      </p>
-      <source>
-        $projectHome\src\documentation\resources\themes\common\css</source>
-      <p>
-        Where $projectHome is the directory where your project exists.
-      </p>
-      <p>
-        Put your css stylesheets in this directory. For arguement's sake let's
-        say it's called mystyles.css
-      </p>
-      <p>
-        Edit your common.fv structurer (or whatever structurer (theme) you are
-        using). This will probably be some where in:
-      </p>
+      <note>This will change for the next version of views (v3) where we use a
+      generic contract instead of the standalone element (forrest:css).</note>
+      <p>Make sure your project has the following directory structure. If it
+      doesn't you'll have to create it. "common" is the fallback for all
+      themes, if you want to override the css for a specific theme replace
+      "common" with "themeName". This is where Forrest will look for external
+      css stylesheets.</p>
+      <source>
+      $projectHome\src\documentation\resources\themes\common\css</source>
+      <p>Where $projectHome is the directory where your project exists.</p>
+      <p>Put your css stylesheets in this directory. For arguement's sake let's
+      say it's called mystyles.css</p>
+      <p>Edit your common.fv structurer (or whatever structurer (theme) you are
+      using). This will probably be some where in:</p>
       <source>$projectHome\src\documentation\content\xdocs</source>
-      <p>
-        or if you want to override it for the whole project in:
-      </p>
+      <p>or if you want to override it for the whole project in:</p>
       <source>$projectHome\src\documentation\resources\themes\</source>
-      <p>
-        Add the following element to the *.fv file:
-      </p>
+      <p>Add the following element to the *.fv file:</p>
       <source>
-<![CDATA[<forrest:css url="styles.css" media="screen" theme="pelt"/>]]>
-      </source>
+        <![CDATA[<forrest:css url="styles.css" media="screen" theme="pelt"/>]]>
+</source>
       <p>
-        <strong>Important!</strong> This must appear straight after the "view
-        type" element (as first child):
-      </p>
+      <strong>Important!</strong>This must appear straight after the "view
+      type" element (as first child):</p>
       <source>
-<![CDATA[<forrest:view type="html">]]>
-      </source>
+        <![CDATA[<forrest:structure type="html">]]>
+</source>
       <source>
-<![CDATA[<forrest:css url="mystyles.css" media="screen" theme="pelt"/>]]>
-      </source>
-      <p>
-        The attributes are:
-      </p>
+        <![CDATA[<forrest:css url="mystyles.css" media="screen" theme="pelt"/>]]>
+</source>
+      <p>The attributes are:</p>
       <ol>
-        <li>the url where the css exist (NOTE: it will be rewritten to "../themes/mystyles.css").</li>
-        <li>the media type, you can set different styles for screen and print. 
-          This is really useful if you want to hide elements such as navigation 
-          in the print output (#nav-section{display:none} for example).</li>
-        <li>the theme, "pelt" is the default theme (another is the "common" theme). Change this if you 
-          are using your own theme.</li>
+        <li>the url where the css exist (NOTE: it will be rewritten to
+        "../themes/mystyles.css").</li>
+        <li>the media type, you can set different styles for screen and print.
+        This is really useful if you want to hide elements such as navigation
+        in the print output (#nav-section{display:none} for example).</li>
+        <li>the theme, "pelt" is the default theme (another is the "common"
+        theme). Change this if you are using your own theme.</li>
       </ol>
-      <p>
-        You can have as many css links as you like, and they'll appear in the
-        head of your document in same order as they are in the .fv file.
-      </p>
-      <fixme author="thorsten">
-        Add more information of recent threads around css in the structurer and
-        information how you add an @import? Use e.g.
-        <a 
-        href="http://marc.theaimsgroup.com/?t=113471292700001&amp;r=1&amp;w=2">http://marc.theaimsgroup.com/?t=113471292700001&amp;r=1&amp;w=2</a>
-      </fixme>
+      <p>You can have as many css links as you like, and they'll appear in the
+      head of your document in same order as they are in the .fv file.</p>
+      <fixme author="thorsten">Add more information of recent threads around
+      css in the structurer and information how you add an @import? Use e.g. 
+      <a href="http://marc.theaimsgroup.com/?t=113471292700001&amp;r=1&amp;w=2">
+      http://marc.theaimsgroup.com/?t=113471292700001&amp;r=1&amp;w=2</a></fixme>
     </section>
   </steps>
   <extension title="Further Reading">
-    <p>
-      Congratulations you are now able to work with the structurer. From here we
-      recommend to read the following How-Tos:
-    </p>
+    <p>Congratulations you are now able to work with the structurer. From here
+    we recommend to read the following How-Tos:</p>
     <ul>
-      <li><a href="site:dispatcher/contracts">Create your own contract 
-          implementation</a></li>
+      <li>
+        <a href="site:dispatcher/contracts">Create your own contract
+        implementation</a>
+      </li>
     </ul>
   </extension>
   <feedback title="Feedback">
-    <p>
-      Please provide feedback about this document via the
-      <a href="ext:mail-lists">mailing lists</a>.
-    </p>
+    <p>Please provide feedback about this document via the 
+    <a href="ext:mail-lists">mailing lists</a>.</p>
   </feedback>
 </howto>