forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thors...@apache.org
Subject svn commit: r427744 [3/5] - in /forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher: ./ how/ images/ themes/ themes/images/
Date Tue, 01 Aug 2006 21:29:59 GMT
Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.html
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.html?rev=427744&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.html (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.html Tue Aug  1 14:29:56 2006
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <link href="../themes/common.css" media="screen" rel="alternate stylesheet" title="common" type="text/css" />
+        <link href="../themes/leather-dev.css" media="screen" rel="alternate stylesheet" title="common" type="text/css" />
+        <link href="../themes/pelt.screen.css" media="screen" rel="stylesheet" title="Pelt" type="text/css" />
+        
+        <link href="../how/howto-structurer-contracts.dispatcher.css" media="screen" rel="stylesheet" title="Pelt" type="text/css" />
+        <link href="../themes/pelt.print.css" media="print" rel="stylesheet" title="pelt.print.css" type="text/css" />
+        <style type="text/css">/* Extra css */ 
+p.quote {
+ margin-left: 2em; 
+ padding: .5em; 
+ background-color: #f0f0f0; 
+ font-family: monospace; 
+}</style>
+      <meta content="Apache Forrest" name="Generator" />
+<meta content="0.8-dev" name="Forrest-version" />
+<meta content="pelt" name="Forrest-theme-name" />
+<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+<!--+ |start navigation links +-->
+<link href="../index.html" rel="Index" title="Index..." />
+<link href="../linkmap.html" rel="CONTENTS" title="Site map..." />
+<link href="../how/howto-structurer-dsl.html" rel="PREVIOUS" title="Structurer" />
+<link href="../how/howto-dispatcher-quickstart.html" rel="FIRST" title="Quickstart" />
+<!--+ |end navigation links +-->
+<!--+|start favicon +-->
+<link href="../favicon.ico" rel="shortcut icon" />
+<!--+|start favicon +-->
+<script src="../themes/getBlank.js" type="text/javascript"> </script>
+<script src="../themes/menu.js" type="text/javascript"> </script>
+<!--+ |start content-title +-->
+<title>How to write a forrest:contract</title>
+<!--+ |end content-title +-->
+</head>
+<body>
+<div id="container">
+<!--+
+    | start breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">MyGroup</a>
+                   &gt; <a href="http://forrest.apache.org/">MyProject</a>
+<script src="../themes/breadcrumbs.js" type="text/javascript"> </script>
+</div>
+<!--+
+    | end breadtrail
+    +-->
+<div id="header">
+<div id="branding-tagline-name">new 
+            seed</div>
+<div id="branding-tagline-tagline">powered by the 
+            dispatcher</div>
+<div class="logo">
+<!--+
+    |start Logo
+    +-->
+<a href="http://mygroup.org/">
+<img alt="MyGroup" class="logoImage" src="../images/group.png" title="MyGroup Description" />
+</a>
+<!--+
+    |end group Logo
+    +-->
+</div>
+<div class="logo">
+<!--+
+    |start Logo
+    +-->
+<a href="http://myproj.mygroup.org/">
+<img alt="MyProject" class="logoImage" src="../images/project.png" title="MyProject Description" />
+</a>
+<!--+
+    |end group Logo
+    +-->
+</div>
+<!--+
+  |start Search
+  +-->
+<div class="searchbox">
+<div class="round-top-left-small">
+<div class="round-top-right-small">
+<div class="search-input">
+<form action="http://www.google.com/search" method="get">
+<div class="search-hidden">
+<input name="sitesearch" type="hidden" value="mydomain" />
+</div>
+<div class="search-field">
+<input name="q" size="25" type="text" value="Search the site with google" />
+</div>
+<div class="search-submit">
+<input name="Search" type="submit" value="Search" />
+</div>
+</form>
+</div>
+</div>
+</div>
+</div>
+<!--+ |end search +-->
+<div id="nav-main-hook">
+<!--+ |start Tabs new +-->
+<ul id="nav-main">
+<li>
+<a class="base-not-selected" href="../index.html">Home</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../how/howto-dispatcher-quickstart.html">HowTo</a>
+</li>
+</ul>
+<!--+ |end Tabs +-->
+<div id="publishedStrip"> <!--+
+    |start nav-main-sub
+    +--><!--+
+    |end Endtabs
+    +--><script type="text/javascript">document.write("Last Published: " + document.lastModified);</script>
+</div>
+</div>
+</div>
+<div id="page">
+<div class="breadtrail"> </div>
+<div id="leftbar">
+<!--+ |start 0 menu +-->
+<!--+ |start Menu +-->
+<div id="nav-section">
+<ul>
+<li class="pagegroupselected" id="menu_selected_1.1Title">
+<span onclick="SwitchMenu('menu_selected_1.1')">How to</span>
+<ul class="&#10;               selectedmenuitemgroup" id="menu_selected_1.1">
+<li class="menuitem">
+<a href="../how/howto-dispatcher-quickstart.html" title="">Quickstart</a>
+</li>
+<li class="menuitem">
+<a href="../how/howto-structurer-dsl.html" title="">Structurer</a>
+</li>
+<li class="menupage">
+<div class="menupagetitle">Contracts</div>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!--+ |end menu +-->
+<!--+ |start content-motd-page +-->
+<!--+ |end content-motd-page +-->
+<div id="roundbottom">
+<div id="roundbottomLeft">
+<img alt="spacer" src="../themes/images/spacer.gif" />
+</div>
+</div>
+</div>
+<div id="export-link">
+<a class="format" href="howto-structurer-contracts.pdf">
+<img alt="PDF - icon" class="skin" src="../themes/images/pdfdoc.gif" />
+<span class="caption">PDF</span>
+</a>
+</div>
+<div id="content">
+<!--+ |start content-title +-->
+<h1 class="content-title">How to write a forrest:contract</h1>
+<!--+ |end content-title +-->
+<!--+ |start content-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.
+  <!--+ |end content-abstract +--><!--+ |start content-minitoc +--><div id="content-minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Steps">Steps</a>
+<ul class="minitoc">
+<li>
+<a href="#enhanceMaintenance">Enhance the maintenance</a>
+</li>
+<li>
+<a href="#blankContract">Explaining the blank forrest:contract</a>
+</li>
+<li>
+<a href="#newContract">Create a new contract</a>
+</li>
+<li>
+<a href="#structurerContract">Activating the contract</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Further Reading">Further Reading</a>
+</li>
+<li>
+<a href="#Feedback">Feedback</a>
+</li>
+</ul>
+</div>
+<!--+ |end minitoc +-->
+<!--+ |start content-main +-->
+<a name="Intended Audience" title="Intended Audience"> </a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">
+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="http://forrest.apache.org/docs_0_80/status-themes.html">Status of Themes: Skins and Dispatcher</a>.
+</div>
+</div>
+<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>
+</div>
+<a name="Purpose" title="Purpose"> </a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<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>
+</div>
+<a name="Prerequisites" title="Prerequisites"> </a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<ul>
+      <li>Installing a mozilla browser and the forrestbar helps a lot in developing.</li>
+    </ul>
+</div>
+<a name="Steps" title="Steps"> </a>
+<h2 class="underlined_10">Steps</h2>
+<div class="section">
+<div class="note">
+<div class="label">Note</div>
+<div class="content">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</div>
+</div>
+<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 <span class="codefrag">site2xhtml.xsl</span> 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 &lt;i18n:text/&gt;-tags.
+    </p>
+<pre class="code">
+
+- &lt;script language="JavaScript"
+- type="text/javascript"&gt;document.write("Published: " + document.lastModified);&lt;/script&gt;
+
++ &lt;script type="text/javascript"&gt;document.write("&lt;i18n:text &gt;Last
++ Published:&lt;/i18n:text&gt;&amp;#160;" + document.lastModified);
+
+    </pre>
+<a name="enhanceMaintenance" title="Enhance the maintenance"> </a>
+<h3 class="underlined_5">Enhance the maintenance</h3>
+<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 &lt;xsl:call-template name="siteinfo-last-published"/&gt;</li>
+        <li>and add:</li>
+      </ol>
+<pre class="code">&lt;xsl:template name="siteinfo-last-published"&gt;
+ &lt;script type="text/javascript"&gt;
+  document.write("&lt;i18n:text &gt;Last Published:&lt;/i18n:text&gt;&amp;#160;" + document.lastModified);
+ &lt;/script&gt;
+&lt;/xsl:template&gt;
+      </pre>
+<p>
+        This allows us in a next maintenance to just change the code of
+        &lt;xsl:template name="siteinfo-last-published"/&gt; and apply it in any position where
+        it is placed.  
+      </p>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+        Now this refactoring of the site2xhtml.xsl is exactly what we doing in creating contracts for the dispatcher.
+      </div>
+</div>
+<a name="blankContract" title="Explaining the blank forrest:contract"> </a>
+<h3 class="underlined_5">Explaining the blank forrest:contract</h3>
+<p>
+        To start a new forrest:contract you can copy the 'blank.ft' from
+        <span class="codefrag">org.apache.forrest.plugin.output.themer/resources/themes/common/html/blank.ft</span>. 
+      </p>
+<p>
+        The 'blank.ft' is a simple xml file with the following code which you can use to base new contracts 
+        on:
+      </p>
+<pre class="code">
+&lt;forrest:contract 
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  name="blank" type="nugget"&gt;
+  
+  &lt;!--NOTE: 
+    When using the blank template as c'n p master just search and replace 'blank' by the {contract-name}!--&gt;
+  
+  &lt;description&gt;
+    {contract-name} will output {contract-funtion}. This is just a blank contract, it will output *nothing*.
+  &lt;/description&gt;
+  &lt;usage&gt;&lt;![CDATA[&lt;forrest:contract name="blank"/&gt;]]&gt;&lt;/usage&gt;
+  &lt;forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
+    format="html" name="blank" inputFormat="xsl" body="false" head="false"&gt;
+    &lt;xsl:stylesheet version="1.1" 
+        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
+        &lt;!--
+          Add here the needed templates.
+          Remember to set the forrest:template @attributes!
+          --&gt;
+         &lt;!--
+        &lt;xsl:template name="blank-head"&gt;
+        &lt;/xsl:template&gt;
+        &lt;xsl:template name="blank-body"&gt;
+        &lt;/xsl:template&gt;
+        --&gt;
+    &lt;/xsl:stylesheet&gt;
+  &lt;/forrest:template&gt;
+&lt;/forrest:contract&gt;
+      </pre>
+<p>
+        The most important is the name of the contract <span class="codefrag">&lt;forrest:contract name="blank"/&gt;</span>. 
+        This name is the same as the file name of the contract (without file extension) <span class="codefrag">blank.ft</span>. 
+      </p>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">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.
+      </div>
+</div>
+<p>
+        The <span class="codefrag">&lt;description/&gt;</span> 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 webdesigner to pick the right contract.
+      </p>
+<pre class="code">&lt;description&gt;
+  siteinfo-last-published-howto will output the last published date of the site with the help of jscript.
+&lt;/description&gt;
+      </pre>
+<p>
+        In the <span class="codefrag">&lt;usage/&gt;</span> tag we have to explain how the designer can use 
+        the contract in his structurer.
+      </p>
+<pre class="code">&lt;usage&gt;&lt;![CDATA[&lt;forrest:contract name="siteinfo-last-published-howto"/&gt;]]&gt;&lt;/usage&gt;
+      </pre>
+<p>
+        <span class="codefrag">&lt;forrest:template name="blank" body="false" head="false"&gt; </span> 
+        That leads to the template attribute @body="true" and
+        @head="false". In html a contract can add content to the &lt;body/&gt; or/and
+        &lt;head/&gt; part of &lt;html/&gt;. These values need to be changed when adding an actual template.
+        Besides this, a xsl-template needs to indicate this in the naming. A template that adds content to the 
+        html body needs to end with "<span class="codefrag">-body</span>"!!!
+      </p>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">
+        The last paragraph about &lt;forrest:template name="blank" body="false" head="false"&gt; is due to change. 
+        Please be aware that this part of the dispatcher is the main moving target right now!!!
+      </div>
+</div>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+        It is possible to use contracts in different in/output formats. 
+        We are focussing for now on format="html" as output and the inputFormat="xsl".
+      </div>
+</div>
+<p>
+        A &lt;forrest:template /&gt; has the child &lt;xsl:stylesheet/&gt; where we can create 
+        templates for the html-head and html-body. For adding content into the body of the final 
+        document change @body="true" and add:
+      </p>
+<pre class="code">
+&lt;xsl:stylesheet version="1.1" 
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
+ &lt;!--Add here the needed templates--&gt;
+ &lt;xsl:template name="blank-body"/&gt;
+&lt;/xsl:stylesheet&gt;        
+      </pre>
+<a name="newContract" title="Create a new contract"> </a>
+<h3 class="underlined_5">Create a new contract</h3>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+        We use basic naming convention for contracts. Like
+        "naming does not say anything about layout position, but functionality of the contract".
+      </div>
+</div>
+<p> 
+        Now let us pick up the example we started with and create a "siteinfo-last-published-howto" contract.
+        Save the blank.ft to <span class="codefrag">{project.home}/src/documentation/resources/themes/common/html/siteinfo-last-published-howto.ft</span>.
+      </p>
+<p>
+        Now the maintenance-optimized code (xpath="/html/body/*") was:
+      </p>
+<pre class="code">
+&lt;xsl:template name="siteinfo-last-published"&gt;
+ &lt;script type="text/javascript"&gt;
+  document.write("&lt;i18n:text &gt;Last Published:&lt;/i18n:text&gt;&amp;#160;" + document.lastModified);
+ &lt;/script&gt;
+&lt;/xsl:template&gt;</pre>
+<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>Add a "debug string - " to the template</li>
+      </ul>
+<p>
+        The contract after this steps should look like:
+      </p>
+<pre class="code">
+&lt;xsl:template name="siteinfo-last-publish-howto-body"&gt;
+debug string - 
+ &lt;script type="text/javascript"&gt;
+  document.write("&lt;i18n:text &gt;Last Published:&lt;/i18n:text&gt;&amp;#160;" + document.lastModified);
+ &lt;/script&gt;
+&lt;/xsl:template&gt;</pre>
+<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>Set @body="true"</li>
+        <li>Copy the maintenance optimized code to the contract.</li>
+      </ul>
+<p>
+        As the result your code should look like this:
+      </p>
+<pre class="code">&lt;forrest:contract xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  name="siteinfo-last-published-howto" type="nugget"&gt;
+  &lt;description&gt;
+    siteinfo-last-published-howto will output the last published date of the site with the help of jscript.
+  &lt;/description&gt;
+  &lt;usage&gt;&lt;![CDATA[&lt;forrest:contract name="siteinfo-last-published-howto"/&gt;]]&gt;&lt;/usage&gt;
+  &lt;forrest:template 
+    xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+    xmlns:forrest="http://apache.org/forrest/templates/1.0"
+    format="html" name="siteinfo-last-published-howto" inputFormat="xsl" body="true" head="false"&gt;
+    &lt;xsl:stylesheet version="1.1" 
+        xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
+        &lt;xsl:template name="siteinfo-last-published-howto-body"&gt;
+          debug string - 
+          &lt;script type="text/javascript"&gt;document.write("&lt;i18n:text &gt;Last Published:&lt;/i18n:text&gt;&amp;#160;" + document.lastModified);&lt;/script&gt;
+        &lt;/xsl:template&gt;
+    &lt;/xsl:stylesheet&gt;
+  &lt;/forrest:template&gt;
+&lt;/forrest:contract&gt;
+      </pre>
+<a name="structurerContract" title="Activating the contract"> </a>
+<h3 class="underlined_5">Activating the contract</h3>
+<p>
+        To see whether the new contract works we need to add it to our structurer.
+        The contract usage contains the contract-tag <span class="codefrag">&lt;forrest:contract name="siteinfo-last-published-howto"/&gt;</span>
+        Please see <a href="../how/howto-structurer-dsl.html">Getting started with the "structurer"</a> for more details.
+      </p>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+        Next to write are parameter-contracts with advanced features of the dispatcher. 
+      </div>
+</div>
+</div>
+<a name="Further Reading" title="Further Reading"> </a>
+<h2 class="underlined_10">Further Reading</h2>
+<div class="section">
+<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="../how/howto-structurer-dsl.html">Getting started with the "structurer"</a> </li>
+    </ul>
+</div>
+<a name="Feedback" title="Feedback"> </a>
+<h2 class="underlined_10">Feedback</h2>
+<div class="section">
+<p>
+      Please provide feedback about this document via the
+      <a href="http://forrest.apache.org/mail-lists.html">mailing lists</a>.
+    </p>
+</div>
+<!--+ |end content-main +-->
+</div>
+</div>
+<div id="footer">
+<div class="lastmodified">
+<script type="text/javascript">document.write("Last Published: " + document.lastModified);</script>
+</div>
+<div class="copyright">
+            Copyright ©
+             2002-2006 <a href="http://www.acme.org/licenses/">The Acme Software Organisation.</a> </div>
+<!--+ |start compliance links +-->
+<div id="siteinfo-compliance-links">
+<a href="http://validator.w3.org/check?uri=referer">
+<img alt="Valid XHTML 1.0!" height="31" src="http://www.w3.org/Icons/valid-xhtml10" width="88" />
+</a>
+<a href="http://jigsaw.w3.org/css-validator/check/referer">
+<img alt="Valid CSS!" src="http://jigsaw.w3.org/css-validator/images/vcss" style="border:0;width:88px;height:31px" />
+</a>
+</div>
+<!--+ |end compliance links +-->
+</div>
+</div>
+</body>
+</html>

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.pdf
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.pdf?rev=427744&view=auto
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-contracts.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.dispatcher.css
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.dispatcher.css?rev=427744&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.dispatcher.css (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.dispatcher.css Tue Aug  1 14:29:56 2006
@@ -0,0 +1,45 @@
+
+/* branding-theme-profiler-theme: Pelt */ 
+#header .round-top-left-small {
+    background-image: url(../themes/images/roundcorner-t-l-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#header .round-top-right-small {
+    background-image: url(../themes/images/roundcorner-t-r-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main li {
+    background-image: url(../themes/images/roundcorner-t-r-5-bg294563-strokeCEDFEF-fgCEDFEF.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main li a {
+    background-image: url(../themes/images/roundcorner-t-l-5-bg294563-strokeCEDFEF-fgCEDFEF.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#nav-main .current {
+    background-image: url(../themes/images/roundcorner-t-r-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main .current a {
+    background-image: url(../themes/images/roundcorner-t-l-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#roundbottom {
+    background-image: url(../themes/images/roundcorner-b-r-15-bgffffff-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: bottom right;
+}
+#roundbottomLeft {
+    background-image: url(../themes/images/roundcorner-b-l-15-bgffffff-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: bottom left;
+}
+            
+  
+  

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.dispatcher.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.html
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.html?rev=427744&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.html (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.html Tue Aug  1 14:29:56 2006
@@ -0,0 +1,624 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <link href="../themes/common.css" media="screen" rel="alternate stylesheet" title="common" type="text/css" />
+        <link href="../themes/leather-dev.css" media="screen" rel="alternate stylesheet" title="common" type="text/css" />
+        <link href="../themes/pelt.screen.css" media="screen" rel="stylesheet" title="Pelt" type="text/css" />
+        
+        <link href="../how/howto-structurer-dsl.dispatcher.css" media="screen" rel="stylesheet" title="Pelt" type="text/css" />
+        <link href="../themes/pelt.print.css" media="print" rel="stylesheet" title="pelt.print.css" type="text/css" />
+        <style type="text/css">/* Extra css */ 
+p.quote {
+ margin-left: 2em; 
+ padding: .5em; 
+ background-color: #f0f0f0; 
+ font-family: monospace; 
+}</style>
+      <meta content="Apache Forrest" name="Generator" />
+<meta content="0.8-dev" name="Forrest-version" />
+<meta content="pelt" name="Forrest-theme-name" />
+<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+<!--+ |start navigation links +-->
+<link href="../index.html" rel="Index" title="Index..." />
+<link href="../linkmap.html" rel="CONTENTS" title="Site map..." />
+<link href="../how/howto-structurer-contracts.html" rel="NEXT" title="Contracts" />
+<link href="../how/howto-dispatcher-quickstart.html" rel="PREVIOUS" title="Quickstart" />
+<link href="../how/howto-structurer-contracts.html" rel="LAST" title="Contracts" />
+<link href="../how/howto-dispatcher-quickstart.html" rel="FIRST" title="Quickstart" />
+<!--+ |end navigation links +-->
+<!--+|start favicon +-->
+<link href="../favicon.ico" rel="shortcut icon" />
+<!--+|start favicon +-->
+<script src="../themes/getBlank.js" type="text/javascript"> </script>
+<script src="../themes/menu.js" type="text/javascript"> </script>
+<!--+ |start content-title +-->
+<title>How to use the structurer</title>
+<!--+ |end content-title +-->
+</head>
+<body>
+<div id="container">
+<!--+
+    | start breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">MyGroup</a>
+                   &gt; <a href="http://forrest.apache.org/">MyProject</a>
+<script src="../themes/breadcrumbs.js" type="text/javascript"> </script>
+</div>
+<!--+
+    | end breadtrail
+    +-->
+<div id="header">
+<div id="branding-tagline-name">new 
+            seed</div>
+<div id="branding-tagline-tagline">powered by the 
+            dispatcher</div>
+<div class="logo">
+<!--+
+    |start Logo
+    +-->
+<a href="http://mygroup.org/">
+<img alt="MyGroup" class="logoImage" src="../images/group.png" title="MyGroup Description" />
+</a>
+<!--+
+    |end group Logo
+    +-->
+</div>
+<div class="logo">
+<!--+
+    |start Logo
+    +-->
+<a href="http://myproj.mygroup.org/">
+<img alt="MyProject" class="logoImage" src="../images/project.png" title="MyProject Description" />
+</a>
+<!--+
+    |end group Logo
+    +-->
+</div>
+<!--+
+  |start Search
+  +-->
+<div class="searchbox">
+<div class="round-top-left-small">
+<div class="round-top-right-small">
+<div class="search-input">
+<form action="http://www.google.com/search" method="get">
+<div class="search-hidden">
+<input name="sitesearch" type="hidden" value="mydomain" />
+</div>
+<div class="search-field">
+<input name="q" size="25" type="text" value="Search the site with google" />
+</div>
+<div class="search-submit">
+<input name="Search" type="submit" value="Search" />
+</div>
+</form>
+</div>
+</div>
+</div>
+</div>
+<!--+ |end search +-->
+<div id="nav-main-hook">
+<!--+ |start Tabs new +-->
+<ul id="nav-main">
+<li>
+<a class="base-not-selected" href="../index.html">Home</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../how/howto-dispatcher-quickstart.html">HowTo</a>
+</li>
+</ul>
+<!--+ |end Tabs +-->
+<div id="publishedStrip"> <!--+
+    |start nav-main-sub
+    +--><!--+
+    |end Endtabs
+    +--><script type="text/javascript">document.write("Last Published: " + document.lastModified);</script>
+</div>
+</div>
+</div>
+<div id="page">
+<div class="breadtrail"> </div>
+<div id="leftbar">
+<!--+ |start 0 menu +-->
+<!--+ |start Menu +-->
+<div id="nav-section">
+<ul>
+<li class="pagegroupselected" id="menu_selected_1.1Title">
+<span onclick="SwitchMenu('menu_selected_1.1')">How to</span>
+<ul class="&#10;               selectedmenuitemgroup" id="menu_selected_1.1">
+<li class="menuitem">
+<a href="../how/howto-dispatcher-quickstart.html" title="">Quickstart</a>
+</li>
+<li class="menupage">
+<div class="menupagetitle">Structurer</div>
+</li>
+<li class="menuitem">
+<a href="../how/howto-structurer-contracts.html" title="">Contracts</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!--+ |end menu +-->
+<!--+ |start content-motd-page +-->
+<!--+ |end content-motd-page +-->
+<div id="roundbottom">
+<div id="roundbottomLeft">
+<img alt="spacer" src="../themes/images/spacer.gif" />
+</div>
+</div>
+</div>
+<div id="export-link">
+<a class="format" href="howto-structurer-dsl.pdf">
+<img alt="PDF - icon" class="skin" src="../themes/images/pdfdoc.gif" />
+<span class="caption">PDF</span>
+</a>
+</div>
+<div id="content">
+<!--+ |start content-title +-->
+<h1 class="content-title">How to use the structurer</h1>
+<!--+ |end content-title +-->
+<!--+ |start content-abstract +--> This How-To describes the usage of the structurer config domain 
+    specific language to create beautiful websites in no time. <!--+ |end content-abstract +--><!--+ |start content-minitoc +--><div id="content-minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Steps">Steps</a>
+<ul class="minitoc">
+<li>
+<a href="#emptystructurer">Empty structurer file</a>
+</li>
+<li>
+<a href="#firststructurer">Creating your first structurer</a>
+</li>
+<li>
+<a href="#hookstructurer">Hooks in the structurer</a>
+</li>
+<li>
+<a href="#cssstructurer">CSS in the structurer</a>
+</li>
+<li>
+<a href="#Linking+to+an+external+css+file">Linking to an external css file</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Further Reading">Further Reading</a>
+</li>
+<li>
+<a href="#Feedback">Feedback</a>
+</li>
+</ul>
+</div>
+<!--+ |end minitoc +-->
+<!--+ |start content-main +-->
+<a name="Intended Audience" title="Intended Audience"> </a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content"> 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="http://forrest.apache.org/docs_0_80/status-themes.html">Status of Themes: Skins and Dispatcher</a>.
+    </div>
+</div>
+<p> This part of the the dispatcher is called the structurer and is 
+      dedicated to webdesigner and user with some knowledge of css. </p>
+</div>
+<a name="Purpose" title="Purpose"> </a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<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>
+</div>
+<a name="Prerequisites" title="Prerequisites"> </a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<ul>
+      <li>Installing a mozilla browser and the forrestbar helps a lot in 
+        developing.</li>
+    </ul>
+</div>
+<a name="Steps" title="Steps"> </a>
+<h2 class="underlined_10">Steps</h2>
+<div class="section">
+<div class="note">
+<div class="label">Note</div>
+<div class="content"> 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. </div>
+</div>
+<a name="emptystructurer" title="Empty structurer file"> </a>
+<h3 class="underlined_5">Empty structurer file</h3>
+<pre class="code">&lt;forrest:views 
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"&gt;
+  &lt;forrest:view type="html"&gt;
+  &lt;/forrest:view&gt;
+&lt;/forrest:views&gt;
+      </pre>
+<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>
+<a name="firststructurer" title="Creating your first structurer"> </a>
+<h3 class="underlined_5">Creating your first structurer</h3>
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content"> 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. </div>
+</div>
+<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 <span class="codefrag">index.fv</span> and save it 
+        in the directory <span class="codefrag">{project:resources}/structurer/url</span> 
+        (create it if needed). This will make <strong>only</strong> the 
+        index.html page look different from the rest of the project. </p>
+<div class="note">
+<div class="label">RecursiveDirectoryTraversalAction</div>
+<div class="content"> You can set a view for an individual file, a directory, or the whole site. To address multiple files in a directory call your  <span class="codefrag">.fv</span> file <span class="codefrag">common.fv</span>. If Forrest doesn't find a <span class="codefrag">.fv</span> 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. 
+	<span class="codefrag">common.fv</span> files affect all subdirectories unless they are overidden by another <span class="codefrag">common.fv</span> or a file-specific <span class="codefrag">foo.fv</span> file. 
+	</div>
+</div>
+<p> Remember: pointing your browser to 
+        <span class="codefrag">http://localhost:8888/ls.contracts.html</span> 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 <span class="codefrag">index.fv</span> 
+        should look like: </p>
+<pre class="code">&lt;forrest:views 
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"&gt;
+  &lt;forrest:view type="html"&gt;
+    &lt;forrest:contract name="content-main"&gt;
+    &lt;forrest:properties contract="content-main"&gt;
+      &lt;forrest:property name="content-main" nugget="get.body"&gt;
+        &lt;jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/&gt;
+      &lt;/forrest:property&gt;
+      &lt;!-- Heading types can be clean|underlined|boxed  --&gt;
+      &lt;forrest:property name="content-main-conf"&gt;
+        &lt;headings type="underlined"/&gt;
+      &lt;/forrest:property&gt;
+    &lt;/forrest:properties&gt;
+  &lt;/forrest:contract&gt;
+  &lt;/forrest:view&gt;
+&lt;/forrest:views&gt;
+      </pre>
+<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: <span class="codefrag">&lt;jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/&gt;
+         </span>
+</p>
+<p>Contracts can offer some property configuration of the outcome of 
+            the transformation. In our case <span class="codefrag">&lt;forrest:property name="content-main-conf"&gt;
+        &lt;headings type="underlined"/&gt;
+      &lt;/forrest:property&gt;. </span>
+</p>
+<p> Lets try our new structurer by pointing to 
+        <span class="codefrag">http://localhost:8888/index.html</span>. 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>
+<pre class="code">&lt;forrest:views 
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"&gt;
+  &lt;forrest:view type="html"&gt;
+    &lt;forrest:contract name="nav-main"&gt;
+      &lt;forrest:properties contract="nav-main"&gt;
+        &lt;forrest:property name="nav-main" nugget="get.navigation"&gt;
+          &lt;jx:import 
+            uri="cocoon://#{$cocoon/parameters/getRequest}.navigation.xml"/&gt;
+        &lt;/forrest:property&gt;
+      &lt;/forrest:properties&gt;
+    &lt;/forrest:contract&gt;
+    &lt;forrest:contract name="content-main"&gt;
+      &lt;forrest:properties contract="content-main"&gt;
+        &lt;forrest:property name="content-main" nugget="get.body"&gt;
+          &lt;jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/&gt;
+        &lt;/forrest:property&gt;
+        &lt;!-- Heading types can be clean|underlined|boxed  --&gt;
+        &lt;forrest:property name="content-main-conf"&gt;
+          &lt;headings type="underlined"/&gt;
+        &lt;/forrest:property&gt;
+      &lt;/forrest:properties&gt;
+    &lt;/forrest:contract&gt;
+  &lt;/forrest:view&gt;
+&lt;/forrest:views&gt;
+      </pre>
+<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>
+<a name="hookstructurer" title="Hooks in the structurer"> </a>
+<h3 class="underlined_5">Hooks in the structurer</h3>
+<p> We will use now the first time a <span class="codefrag">&lt;forrest:hook name="layoutId"/&gt;
+         </span>. 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>
+<pre class="code">/* menu */
+#leftbar {
+    width: 25%;
+    float: left;
+    background: #eae8e3;
+    border: thin dashed #565248;
+}
+      </pre>
+<p> With this information we know to use <span class="codefrag">&lt;forrest:hook name="leftbar"/&gt;
+        </span> 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>
+<pre class="code">&lt;forrest:hook name="leftbar"&gt;
+  &lt;!-- Include contract here --&gt;
+&lt;/forrest:hook&gt;
+      </pre>
+<p> Our structurer will then look like: </p>
+<pre class="code">&lt;forrest:views 
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"&gt;
+  &lt;forrest:view type="html"&gt;
+    &lt;forrest:hook name="leftbar"&gt;
+      &lt;forrest:contract name="nav-section"&gt;
+        &lt;forrest:properties contract="nav-section"&gt;
+          &lt;forrest:property name="nav-section" nugget="get.navigation"&gt;
+            &lt;jx:import 
+              uri="cocoon://#{$cocoon/parameters/getRequest}.navigation.xml"/&gt;
+          &lt;/forrest:property&gt;
+        &lt;/forrest:properties&gt;
+      &lt;/forrest:contract&gt;
+    &lt;/forrest:hook&gt;   
+    &lt;forrest:contract name="content-main"&gt;
+      &lt;forrest:properties contract="content-main"&gt;
+        &lt;forrest:property name="content-main" nugget="get.body"&gt;
+          &lt;jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/&gt;
+        &lt;/forrest:property&gt;
+        &lt;!-- Heading types can be clean|underlined|boxed  --&gt;
+        &lt;forrest:property name="content-main-conf"&gt;
+          &lt;headings type="underlined"/&gt;
+        &lt;/forrest:property&gt;
+      &lt;/forrest:properties&gt;
+    &lt;/forrest:contract&gt;
+  &lt;/forrest:view&gt;
+&lt;/forrest:views&gt;
+      </pre>
+<a name="cssstructurer" title="CSS in the structurer"> </a>
+<h3 class="underlined_5">CSS in the structurer</h3>
+<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 <span class="codefrag">&lt;forrest:css /&gt;
+        </span>. </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>
+<pre class="code">&lt;forrest:css &gt;
+/* Extra css */
+/* menu */
+#leftbar {
+  width: 25%;
+  float: left;
+  background: #CCCCFF;
+  border: thin solid #000000;
+}
+&lt;/forrest:css&gt; </pre>
+<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>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">
+        <span class="codefrag">&lt;forrest:css /&gt;</span> needs to be the direct child of 
+        <span class="codefrag">&lt;forrest:view type="html"&gt;</span>
+      </div>
+</div>
+<pre class="code">&lt;forrest:views 
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"&gt;
+  &lt;forrest:view type="html"&gt;
+    &lt;forrest:css &gt;
+/* Extra css */
+/* menu */
+#leftbar {
+  width: 25%;
+  float: left;
+  background: #CCCCFF;
+  border: thin solid #000000;
+}
+    &lt;/forrest:css&gt;
+    &lt;forrest:hook name="leftbar"&gt;
+      &lt;forrest:contract name="nav-section"&gt;
+        &lt;forrest:properties contract="nav-section"&gt;
+          &lt;forrest:property name="nav-section" nugget="get.navigation"&gt;
+            &lt;jx:import 
+              uri="cocoon://#{$cocoon/parameters/getRequest}.navigation.xml"/&gt;
+          &lt;/forrest:property&gt;
+        &lt;/forrest:properties&gt;
+      &lt;/forrest:contract&gt;
+    &lt;/forrest:hook&gt;   
+    &lt;forrest:contract name="content-main"&gt;
+      &lt;forrest:properties contract="content-main"&gt;
+        &lt;forrest:property name="content-main" nugget="get.body"&gt;
+          &lt;jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/&gt;
+        &lt;/forrest:property&gt;
+        &lt;!-- Heading types can be clean|underlined|boxed  --&gt;
+        &lt;forrest:property name="content-main-conf"&gt;
+          &lt;headings type="underlined"/&gt;
+        &lt;/forrest:property&gt;
+      &lt;/forrest:properties&gt;
+    &lt;/forrest:contract&gt;
+  &lt;/forrest:view&gt;
+&lt;/forrest:views&gt;
+      </pre>
+<p>As a second example, let us change 
+        as well the content-main by adding another hook <span class="codefrag">&lt;forrest:hook name="content"/&gt;
+        </span> We need to add the new layout container to our inline css: </p>
+<pre class="code">
+/* The actual content */
+#content {
+  margin-left: 25%;
+  padding: 0 20px 0 20px;
+  background: #B9D3EE;
+}</pre>
+<p> Then we have to add the 'content-main' contract to the 'content' 
+        hook. The resulting structurer looks like: </p>
+<pre class="code">&lt;forrest:views 
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"&gt;
+  &lt;forrest:view type="html"&gt;
+    &lt;forrest:css &gt;
+/* Extra css */
+/* menu */
+#leftbar {
+  width: 25%;
+  float: left;
+  background: #CCCCFF;
+  border: thin solid #000000;
+}
+/* The actual content */
+#content {
+  margin-left: 25%;
+  padding: 0 20px 0 20px;
+  background: #B9D3EE;
+}
+    &lt;/forrest:css&gt;
+    &lt;forrest:hook name="leftbar"&gt;
+      &lt;forrest:contract name="nav-section"&gt;
+        &lt;forrest:properties contract="nav-section"&gt;
+          &lt;forrest:property name="nav-section" nugget="get.navigation"&gt;
+            &lt;jx:import 
+              uri="cocoon://#{$cocoon/parameters/getRequest}.navigation.xml"/&gt;
+          &lt;/forrest:property&gt;
+        &lt;/forrest:properties&gt;
+      &lt;/forrest:contract&gt;
+    &lt;/forrest:hook&gt;
+    &lt;forrest:hook name="content"&gt;
+      &lt;forrest:contract name="content-main"&gt;
+      &lt;forrest:properties contract="content-main"&gt;
+        &lt;forrest:property name="content-main" nugget="get.body"&gt;
+          &lt;jx:import uri="cocoon://#{$cocoon/parameters/getRequest}.body.xml"/&gt;
+        &lt;/forrest:property&gt;
+        &lt;!-- Heading types can be clean|underlined|boxed  --&gt;
+        &lt;forrest:property name="content-main-conf"&gt;
+          &lt;headings type="underlined"/&gt;
+        &lt;/forrest:property&gt;
+      &lt;/forrest:properties&gt;
+    &lt;/forrest:contract&gt;
+    &lt;/forrest:hook&gt;
+  &lt;/forrest:view&gt;
+&lt;/forrest:views&gt;
+      </pre>
+<p> We are now able to place contracts into the layout container and add 
+        custom css to the structurer. </p>
+<a name="Linking+to+an+external+css+file" title="Linking to an external css file"> </a>
+<h3 class="underlined_5">Linking to an external css file</h3>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">This will change for the next version of views (v3) where we use a 
+        generic contract instead of the standalone element (forrest:css). </div>
+</div>
+<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>
+<pre class="code">
+        $projectHome\src\documentation\resources\themes\common\css</pre>
+<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>
+<pre class="code">$projectHome\src\documentation\content\xdocs</pre>
+<p>or if you want to override it for the whole project in:</p>
+<pre class="code">$projectHome\src\documentation\resources\themes\</pre>
+<p>Add the following element to the *.fv file:</p>
+<pre class="code">&lt;forrest:css url="styles.css" media="screen" theme="pelt"/&gt;
+        </pre>
+<p>
+<strong>Important!</strong> This must appear straight after the "view 
+        type" element (as first child): </p>
+<pre class="code">&lt;forrest:view type="html"&gt;</pre>
+<pre class="code">&lt;forrest:css url="mystyles.css" media="screen" theme="pelt"/&gt;
+        </pre>
+<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>
+      </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>
+<div class="fixme">
+<div class="label">Fixme (thorsten)</div>
+<div class="content"> 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> 
+        </div>
+</div>
+</div>
+<a name="Further Reading" title="Further Reading"> </a>
+<h2 class="underlined_10">Further Reading</h2>
+<div class="section">
+<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="../how/howto-structurer-contracts.html">Create your own contract 
+          implementation</a>
+      </li>
+    </ul>
+</div>
+<a name="Feedback" title="Feedback"> </a>
+<h2 class="underlined_10">Feedback</h2>
+<div class="section">
+<p> Please provide feedback about this document via the <a href="http://forrest.apache.org/mail-lists.html">mailing lists</a>. </p>
+</div>
+<!--+ |end content-main +-->
+</div>
+</div>
+<div id="footer">
+<div class="lastmodified">
+<script type="text/javascript">document.write("Last Published: " + document.lastModified);</script>
+</div>
+<div class="copyright">
+            Copyright ©
+             2002-2006 <a href="http://www.acme.org/licenses/">The Acme Software Organisation.</a> </div>
+<!--+ |start compliance links +-->
+<div id="siteinfo-compliance-links">
+<a href="http://validator.w3.org/check?uri=referer">
+<img alt="Valid XHTML 1.0!" height="31" src="http://www.w3.org/Icons/valid-xhtml10" width="88" />
+</a>
+<a href="http://jigsaw.w3.org/css-validator/check/referer">
+<img alt="Valid CSS!" src="http://jigsaw.w3.org/css-validator/images/vcss" style="border:0;width:88px;height:31px" />
+</a>
+</div>
+<!--+ |end compliance links +-->
+</div>
+</div>
+</body>
+</html>

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.pdf
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.pdf?rev=427744&view=auto
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/howto-structurer-dsl.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.dispatcher.css
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.dispatcher.css?rev=427744&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.dispatcher.css (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.dispatcher.css Tue Aug  1 14:29:56 2006
@@ -0,0 +1,50 @@
+
+  
+  
+  
+  
+  
+/* branding-theme-profiler-theme: Pelt */ 
+#header .round-top-left-small {
+    background-image: url(../themes/images/roundcorner-t-l-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#header .round-top-right-small {
+    background-image: url(../themes/images/roundcorner-t-r-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main li {
+    background-image: url(../themes/images/roundcorner-t-r-5-bg294563-strokeCEDFEF-fgCEDFEF.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main li a {
+    background-image: url(../themes/images/roundcorner-t-l-5-bg294563-strokeCEDFEF-fgCEDFEF.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#nav-main .current {
+    background-image: url(../themes/images/roundcorner-t-r-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main .current a {
+    background-image: url(../themes/images/roundcorner-t-l-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#roundbottom {
+    background-image: url(../themes/images/roundcorner-b-r-15-bgffffff-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: bottom right;
+}
+#roundbottomLeft {
+    background-image: url(../themes/images/roundcorner-b-l-15-bgffffff-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: bottom left;
+}
+            
+  
+  

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.dispatcher.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.html
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.html?rev=427744&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.html (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.html Tue Aug  1 14:29:56 2006
@@ -0,0 +1,350 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+        <link href="../themes/common.css" media="screen" rel="alternate stylesheet" title="common" type="text/css" />
+        <link href="../themes/leather-dev.css" media="screen" rel="alternate stylesheet" title="common" type="text/css" />
+        <link href="../themes/pelt.screen.css" media="screen" rel="stylesheet" title="Pelt" type="text/css" />
+        
+        <link href="../how/index.dispatcher.css" media="screen" rel="stylesheet" title="Pelt" type="text/css" />
+        <link href="../themes/pelt.print.css" media="print" rel="stylesheet" title="pelt.print.css" type="text/css" />
+        <style type="text/css">/* Extra css */ 
+p.quote {
+ margin-left: 2em; 
+ padding: .5em; 
+ background-color: #f0f0f0; 
+ font-family: monospace; 
+}</style>
+      <meta content="Apache Forrest" name="Generator" />
+<meta content="0.8-dev" name="Forrest-version" />
+<meta content="pelt" name="Forrest-theme-name" />
+<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+<!--+ |start navigation links +-->
+<link href="../index.html" rel="Index" title="Index..." />
+<link href="../linkmap.html" rel="CONTENTS" title="Site map..." />
+<link href="../how/howItWork.html" rel="NEXT" title="(FIXME: old) howItWorks" />
+<link href="../howto-structurer-contracts.html" rel="PREVIOUS" title="Contracts" />
+<link href="../todo.html" rel="LAST" title="Todo" />
+<link href="../dispatcher.html" rel="FIRST" title="Dispatcher development" />
+<!--+ |end navigation links +-->
+<!--+|start favicon +-->
+<link href="../favicon.ico" rel="shortcut icon" />
+<!--+|start favicon +-->
+<script src="../themes/getBlank.js" type="text/javascript"> </script>
+<script src="../themes/menu.js" type="text/javascript"> </script>
+<!--+ |start content-title +-->
+<title>forrest:views - x output formats, one config</title>
+<!--+ |end content-title +-->
+</head>
+<body>
+<div id="container">
+<!--+
+    | start breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">MyGroup</a>
+                   &gt; <a href="http://forrest.apache.org/">MyProject</a>
+<script src="../themes/breadcrumbs.js" type="text/javascript"> </script>
+</div>
+<!--+
+    | end breadtrail
+    +-->
+<div id="header">
+<div id="branding-tagline-name">new 
+            seed</div>
+<div id="branding-tagline-tagline">powered by the 
+            dispatcher</div>
+<div class="logo">
+<!--+
+    |start Logo
+    +-->
+<a href="http://mygroup.org/">
+<img alt="MyGroup" class="logoImage" src="../images/group.png" title="MyGroup Description" />
+</a>
+<!--+
+    |end group Logo
+    +-->
+</div>
+<div class="logo">
+<!--+
+    |start Logo
+    +-->
+<a href="http://myproj.mygroup.org/">
+<img alt="MyProject" class="logoImage" src="../images/project.png" title="MyProject Description" />
+</a>
+<!--+
+    |end group Logo
+    +-->
+</div>
+<!--+
+  |start Search
+  +-->
+<div class="searchbox">
+<div class="round-top-left-small">
+<div class="round-top-right-small">
+<div class="search-input">
+<form action="http://www.google.com/search" method="get">
+<div class="search-hidden">
+<input name="sitesearch" type="hidden" value="mydomain" />
+</div>
+<div class="search-field">
+<input name="q" size="25" type="text" value="Search the site with google" />
+</div>
+<div class="search-submit">
+<input name="Search" type="submit" value="Search" />
+</div>
+</form>
+</div>
+</div>
+</div>
+</div>
+<!--+ |end search +-->
+<div id="nav-main-hook">
+<!--+ |start Tabs new +-->
+<ul id="nav-main">
+<li class="current">
+<a class="base-selected" href="../dispatcher.html">Home</a>
+</li>
+</ul>
+<!--+ |end Tabs +-->
+<div id="publishedStrip"> <!--+
+    |start nav-main-sub
+    +--><!--+
+    |end Endtabs
+    +--><script type="text/javascript">document.write("Last Published: " + document.lastModified);</script>
+</div>
+</div>
+</div>
+<div id="page">
+<div class="breadtrail"> </div>
+<div id="leftbar">
+<!--+ |start 0 menu +-->
+<!--+ |start Menu +-->
+<div id="nav-section">
+<ul>
+<li class="pagegroupselected" id="menu_selected_1.1Title">
+<span onclick="SwitchMenu('menu_selected_1.1')">About</span>
+<ul class="&#10;               selectedmenuitemgroup" id="menu_selected_1.1">
+<li class="menuitem">
+<a href="../dispatcher.html" title="">Dispatcher development</a>
+</li>
+<li class="menuitem">
+<a href="../dispatcher-glossary.html" title="Dispactcher related terms and meanings">(FIXME: add content) Glossary</a>
+</li>
+<li class="pagegroup" id="menu_1.1.3Title">
+<span onclick="SwitchMenu('menu_1.1.3')">How to</span>
+<ul class="menuitemgroup" id="menu_1.1.3">
+<li class="menuitem">
+<a href="../howto-structurer-dsl.html" title="">Structurer</a>
+</li>
+<li class="menuitem">
+<a href="../howto-dispatcher-quickstart.html" title="">Quickstart</a>
+</li>
+<li class="menuitem">
+<a href="../howto-structurer-contracts.html" title="">Contracts</a>
+</li>
+</ul>
+</li>
+<li class="menupage">
+<div class="menupagetitle">(FIXME: old) Index</div>
+</li>
+<li class="menuitem">
+<a href="../how/howItWork.html" title="(FIXME: old) howItWorks">(FIXME: old) howItWorks</a>
+</li>
+<li class="menuitem">
+<a href="../changes.html" title="History of Changes">Changes</a>
+</li>
+<li class="menuitem">
+<a href="../todo.html" title="Todo List">Todo</a>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!--+ |end menu +-->
+<!--+ |start content-motd-page +-->
+<!--+ |end content-motd-page +-->
+<div id="roundbottom">
+<div id="roundbottomLeft">
+<img alt="spacer" src="../themes/images/spacer.gif" />
+</div>
+</div>
+</div>
+<div id="export-link">
+<a class="format" href="index.pdf">
+<img alt="PDF - icon" class="skin" src="../themes/images/pdfdoc.gif" />
+<span class="caption">PDF</span>
+</a>
+</div>
+<div id="content">
+<!--+ |start content-title +-->
+<h1 class="content-title">forrest:views - x output formats, one config</h1>
+<!--+ |end content-title +-->
+<!--+ |start content-abstract +-->This plugin depends on a ViewHelper and a BusinessHelper implementation.<!--+ |end content-abstract +--><!--+ |start content-minitoc +--><div id="content-minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#view">view</a>
+</li>
+<li>
+<a href="#viewHelper">viewHelper</a>
+</li>
+<li>
+<a href="#BusinessHelper">BusinessHelper </a>
+</li>
+<li>
+<a href="#links">links</a>
+</li>
+</ul>
+</div>
+<!--+ |end minitoc +-->
+<!--+ |start content-main +-->
+<a name="view" title="view"> </a>
+<h2 class="underlined_10">view</h2>
+<div class="section">
+<p>Together with the ViewHelper and the BusinessHelper (to be implemented) 
+        plugin this plugin is following the <a href="http://java.sun.com/j2ee/patterns/DispatcherView.html">DispatcherView pattern</a> 
+        and building the final view which will be delivered to the client. This implementation follows exactly the pattern shown on 
+          <a href="http://corej2eepatterns.com/Patterns2ndEd/DispatcherView.htm">corej2eepatterns.com</a>
+        </p>
+<p>
+        A view will be configured by a config file 
+        which basically contains the following tags (it is still evolving): </p>
+<pre class="code">&lt;forrest:view type="xhtml"&gt;
+  &lt;forrest:css url="common.css"/&gt;
+  &lt;forrest:contract name="meta"/&gt;
+  &lt;forrest:hook name="container"&gt;
+   &lt;forrest:contract name="feedback"/&gt;
+  &lt;/forrest:hook /&gt;
+&lt;/forrest:view&gt;</pre>
+<p>The view tag's @type determines the final output format. The idea is to
+configure different output formats within a forrest:views. That means a forrest:views 
+can contain n different "forrest:view" configurations for n different formats. <br />
+In short: x formats, one config. :)</p>
+<pre class="code">&lt;forrest:views
+  xmlns:forrest="http://apache.org/forrest/templates/1.0"&gt;
+&lt;forrest:view type="xhtml"&gt;
+  &lt;forrest:css url="common.css"/&gt;
+  &lt;forrest:contract name="meta"/&gt;
+  &lt;forrest:hook name="container"&gt;
+   &lt;forrest:contract name="feedback"/&gt;
+  &lt;/forrest:hook /&gt;
+&lt;/forrest:view&gt;
+&lt;forrest:view type="fo"&gt;
+  &lt;forrest:hook name="container"&gt;
+   &lt;forrest:contract name="feedback"/&gt;
+  &lt;/forrest:hook /&gt;
+&lt;/forrest:view&gt;
+/forrest:views&gt;</pre>
+</div>
+<a name="viewHelper" title="viewHelper"> </a>
+<h2 class="underlined_10">viewHelper</h2>
+<div class="section">
+<p>viewHelper class/implementation - a class/implementation which will
+access the presentation model and transform its models. In other words
+it is a presentation producing factory.
+</p>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">The &lt;forrest:contract name="nav-main"/&gt; expects a certain model
+(now produced by leather-dev - tab2menu.xsl) to transform it. In the
+future this dependency will be on a businessHelper implementation that
+has to be defined in the view. For now it depends on leather-dev. I
+guess leather-dev is still not dead till the businessHelper plugin comes
+(which will implement the businessHelper of leather-dev). ;-)</div>
+</div>
+<p>
+Each forrest:css will be transformed into a &lt;link rel="stylesheet" type="text/css" url="{$root}skin/{url}"&gt; tag (in html
+output [only format that has an implementation]). 
+This tags are designed to help <strong>web-designers</strong> to freely implemend their own css-implementations for a view.
+</p>
+<p>
+Each forrest:hook will be transformed into a &lt;div/&gt; tag (in html
+output [only format that has an implementation]). 
+This tags are designed to help <strong>web-designers</strong> to freely move
+around and group contracts into design container.
+</p>
+<p>Each forrest:contract will dispatch a xml file (ViewHelper) that contains
+xsl:stylesheets (for now, but other implementations to transform the presentation
+ model are/should be possible) for the different output formats of a contract.
+  For html, the only format that we have implemented so far, we
+have three different kind of templates:</p>
+<p>
+&lt;xsl:templates name="{contract/@name}-css/&gt;<br />
+Here the contract specific css will be stored.
+</p>
+<p>
+&lt;xsl:templates name="{contract/@name}-head/&gt;<br />
+Here goes everything that belongs in the html head. e.g. scripts.
+</p>
+<p>
+&lt;xsl:templates name="{contract/@name}-body/&gt;<br />
+Everything that belongs into the body.
+  </p>
+</div>
+<a name="BusinessHelper" title="BusinessHelper "> </a>
+<h2 class="underlined_10">BusinessHelper </h2>
+<div class="section">
+<p>
+<strong>businessHelper class/implementation </strong>- a class/implementation which will
+access businessServices to produce models for the presentation model. In
+other word it is a data producing factory.
+</p>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">Right now we are using the default forrest businessHelper (defined
+by the skin you are using). There are contracts that depend on a
+businessHelper implementation of leather-dev (tab2menu.xsl, site2xhtml.xsl,...). 
+We will create a businessHelper plugin to overcome this problem.</div>
+</div>
+<p>Right now it is implemented for the forrest way of producing the models
+for the view but we will create an independent BusinessHelper to
+access all BusinessServices you may have in your application. </p>
+</div>
+<a name="links" title="links"> </a>
+<h2 class="underlined_10">links</h2>
+<div class="section">
+<div class="note">
+<div class="label">Note</div>
+<div class="content">There are/were lots of mails on the dev-list. Please, search the list</div>
+</div>
+<p>Background mailings around the views concept</p>
+<ul>
+        <li>
+<a href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=110019697426791&amp;w=2">[RT] plugin infrastructure</a> </li>
+        <li>
+<a href="http://marc.theaimsgroup.com/?l=forrest-dev&amp;m=109959086204887&amp;w=2">[RT] Forrest templates for second generation skining - towards Corium</a> </li>
+      </ul>
+</div>
+<!--+ |end content-main +-->
+</div>
+</div>
+<div id="footer">
+<div class="lastmodified">
+<script type="text/javascript">document.write("Last Published: " + document.lastModified);</script>
+</div>
+<div class="copyright">
+            Copyright ©
+             2002-2006 <a href="http://www.acme.org/licenses/">The Acme Software Organisation.</a> </div>
+<!--+ |start compliance links +-->
+<div id="siteinfo-compliance-links">
+<a href="http://validator.w3.org/check?uri=referer">
+<img alt="Valid XHTML 1.0!" height="31" src="http://www.w3.org/Icons/valid-xhtml10" width="88" />
+</a>
+<a href="http://jigsaw.w3.org/css-validator/check/referer">
+<img alt="Valid CSS!" src="http://jigsaw.w3.org/css-validator/images/vcss" style="border:0;width:88px;height:31px" />
+</a>
+</div>
+<!--+ |end compliance links +-->
+<!-- |start siteinfo-credits -->
+<div id="credit">
+<a href="http://forrest.apache.org/">
+<img alt="Built with Apache Forrest - logo" src="../images/built-with-forrest-button.png" style="width: 88px;height: 31px;" title="Built with Apache Forrest" />
+</a>
+<a href="http://cocoon.apache.org/">
+<img alt="Built with Cocoon - logo" src="../&#10;                  http://forrest.apache.org/images/built-with-cocoon.gif" style="" title="Built with Cocoon" />
+</a>
+</div>
+<!--+ |end siteinfo-credits +-->
+</div>
+</div>
+</body>
+</html>

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.pdf
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.pdf?rev=427744&view=auto
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/how/index.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/built-with-forrest-button.png
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/built-with-forrest-button.png?rev=427744&view=auto
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/built-with-forrest-button.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/group.png
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/group.png?rev=427744&view=auto
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/group.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/project.png
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/project.png?rev=427744&view=auto
==============================================================================
Binary file - no diff available.

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/images/project.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.dispatcher.css
URL: http://svn.apache.org/viewvc/forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.dispatcher.css?rev=427744&view=auto
==============================================================================
--- forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.dispatcher.css (added)
+++ forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.dispatcher.css Tue Aug  1 14:29:56 2006
@@ -0,0 +1,50 @@
+
+  
+  
+  
+  
+  
+/* branding-theme-profiler-theme: Pelt */ 
+#header .round-top-left-small {
+    background-image: url(themes/images/roundcorner-t-l-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#header .round-top-right-small {
+    background-image: url(themes/images/roundcorner-t-r-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main li {
+    background-image: url(themes/images/roundcorner-t-r-5-bg294563-strokeCEDFEF-fgCEDFEF.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main li a {
+    background-image: url(themes/images/roundcorner-t-l-5-bg294563-strokeCEDFEF-fgCEDFEF.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#nav-main .current {
+    background-image: url(themes/images/roundcorner-t-r-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top right;
+}
+#nav-main .current a {
+    background-image: url(themes/images/roundcorner-t-l-5-bg294563-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: top left;
+}
+#roundbottom {
+    background-image: url(themes/images/roundcorner-b-r-15-bgffffff-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: bottom right;
+}
+#roundbottomLeft {
+    background-image: url(themes/images/roundcorner-b-l-15-bgffffff-stroke4a6d8c-fg4a6d8c.png);
+    background-repeat: no-repeat;
+    background-position: bottom left;
+}
+            
+  
+  

Propchange: forrest/site/pluginDocs/plugins_0_80/org.apache.forrest.plugin.internal.dispatcher/index.dispatcher.css
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message