Author: thorsten
Date: Tue Aug 1 13:36:22 2006
New Revision: 427717
URL: http://svn.apache.org/viewvc?rev=427717&view=rev
Log:
Refactoring the index.xml to add more information about the structurer.
Removing obsolete code.
Removed:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howItWork.xml
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/index.old.xml
Modified:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-structurer-dsl.xml
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/index.xml
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/site.xml
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/tabs.xml
Modified:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-structurer-dsl.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-structurer-dsl.xml?rev=427717&r1=427716&r2=427717&view=diff
==============================================================================
---
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-structurer-dsl.xml
(original)
+++
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/how/howto-structurer-dsl.xml
Tue Aug 1 13:36:22 2006
@@ -55,42 +55,6 @@
Installing a mozilla browser and the forrestbar helps a lot in
developing. Many instructions assumes that you have the forrestbar
installed. </note>
- <p> We developed<strong> the structurer</strong> to let the user decide
- where to place elements in e.g. html pages. We started this work with
the
- <code>skinconf.xml</code> where you could configure certain elements and
- their positions. These elements were known under certain names. It was
up
- to the skin designer to support this configuration and the elements. </p>
- <p> The work started with grouping elements (the ones from skinconf). We
- used css-contracts that we added as @attributes e.g. <code><![CDATA[<div
id="content-main"/>]]>
- </code>. That made it possible to use the same elements in different
- skins. For the full list refer to the <a
href="http://svn.apache.org/repos/asf/forrest/trunk/main/webapp/skins/leather-dev/contracts.initial.txt">
- initial contract list </a> </p>
- <p> Around this contracts we developed a configuration Domain Specific
- Language - called <strong>the structurer</strong>. The
- <strong>structurer</strong> allows us to define the order in which
- <strong>forrest:contract</strong>s appear, and also to group them using
- <strong>forrest:hook</strong>s. </p>
- <p> <strong>forrest:hook</strong>s are containers that are only used for
- layout reasons. They <strong>do not</strong> add any content nor
- functionality to the output. They add <strong>only</strong> layout
- information to the output. Actually e.g. a <code><![CDATA[<forrest:hook
name="layoutId"/>]]>
- </code> will be transformed to <code><![CDATA[<div id="layoutId"/>]]>
- </code> </p>
- <p> <strong>forrest:contract</strong>s are functionality or extra content
- that a theme can use to display the request. Sometimes a contract
- delivers <strong>format-specific markup</strong>, other times it
delivers
- a <strong>format-independent string</strong>. We decide different kind
of
- contracts, static one (like described in the contract howto), semi
static
- (which offer configuration parameter in the structurer) and dynamic
- contracts (which offer semi-static configuration and/or requesting the
- content). </p>
- <note> The structurer is as well a configuration file for the
dispatcher.
- The new think on the dispatcher is that one can include any content
- from any given business service by dispatching a request against it.
In
- "old fashion" skins and in v1 contracts we assumed a given data model.
- In the dispatcher there is <strong>no</strong> given data model any
- more. All data has to be defined in the structurer that they can be
- dispatched. </note>
<section id="emptystructurer">
<title>Empty structurer file</title>
<source><![CDATA[<forrest:views
@@ -110,17 +74,15 @@
<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. For now we are using jx to
- include the raw data into the presentation model and generating an
- alias-xsl stylesheet. That is heavy on performance and we will change
- this ASAP. Mind the warning at the start of the howto. </warning>
+ cocoon documentation about jx. </warning>
<p> In this section we will create a new structurer. We will override
the
- default structurer of the themer-plugin for the index page of the new
seed. For that we will create a
- file called <code>index.fv</code> and save it in our xdocs directory.
- This will make <strong>only</strong> the index.html page look
different
- from the rest of the project. </p>
+ 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>{project: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>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.
+ <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>
Modified:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/index.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/index.xml?rev=427717&r1=427716&r2=427717&view=diff
==============================================================================
---
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/index.xml
(original)
+++
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/index.xml
Tue Aug 1 13:36:22 2006
@@ -65,6 +65,45 @@
emerged. Plugins are a way of extending Forrest to satisfy
site-specific needs. This includes to provide plugin specific
contracts.</p>
+ <section id="structurer">
+ <title>Structurer - configuration for themes</title>
+ <p> We developed<strong> the structurer</strong> to let the user
decide
+ where to place elements in e.g. html pages. We started this work with
the
+ <code>skinconf.xml</code> where you could configure certain elements and
+ their positions. These elements were known under certain names. It was
up
+ to the skin designer to support this configuration and the elements. </p>
+ <p> The work started with grouping elements (the ones from skinconf). We
+ used css-contracts that we added as @attributes e.g. <code><![CDATA[<div
id="content-main"/>]]>
+ </code>. That made it possible to use the same elements in different
+ skins. For the full list refer to the <a
href="http://svn.apache.org/repos/asf/forrest/trunk/main/webapp/skins/leather-dev/contracts.initial.txt">
+ initial contract list </a> </p>
+ <p> Around this contracts we developed a configuration Domain Specific
+ Language - called <strong>the structurer</strong>. The
+ <strong>structurer</strong> allows us to define the order in which
+ <strong>forrest:contract</strong>s appear, and also to group them using
+ <strong>forrest:hook</strong>s. </p>
+ <p> <strong>forrest:hook</strong>s are containers that are only used for
+ layout reasons. They <strong>do not</strong> add any content nor
+ functionality to the output. They add <strong>only</strong> layout
+ information to the output. Actually e.g. a <code><![CDATA[<forrest:hook
name="layoutId"/>]]>
+ </code> will be transformed to <code><![CDATA[<div id="layoutId"/>]]>
+ </code> </p>
+ <p> <strong>forrest:contract</strong>s are functionality or extra content
+ that a theme can use to display the request. Sometimes a contract
+ delivers <strong>format-specific markup</strong>, other times it
delivers
+ a <strong>format-independent string</strong>. We decide different kind
of
+ contracts, static one (like described in the contract howto), semi
static
+ (which offer configuration parameter in the structurer) and dynamic
+ contracts (which offer semi-static configuration and/or requesting the
+ content). </p>
+ <p> The structurer is as well a configuration file for the dispatcher.
+ The new think on the dispatcher is that one can include any content
+ from any given business service by dispatching a request against it.
In
+ "old fashion" skins and in v1 contracts we assumed a given data model.
+ In the dispatcher there is <strong>no</strong> given data model any
+ more. All data has to be defined in the structurer that they can be
+ dispatched. </p>
+ </section>
<section id="contracts">
<title>Contracts - grouped functionality</title>
<p>The result of the leather-dev development were grouped
functionality
@@ -78,6 +117,11 @@
features of the pelt skin.</p>
<p>Contracts are standalone, self explaining, configurable
pieces of xsl templates created out of pure maintaining
reasons.</p>
+ <p>Since this contracts are working from the input given in the <a
+ href="#structurer">structurer</a>, it works on different input
+ sources. Further one can pass variables into the contracts that
can
+ be used to apply presentation logic in the xsl (like sorting
order,
+ ...).</p>
</section>
</section>
<section id="background">
Modified:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/site.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/site.xml?rev=427717&r1=427716&r2=427717&view=diff
==============================================================================
---
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/site.xml
(original)
+++
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/site.xml
Tue Aug 1 13:36:22 2006
@@ -34,18 +34,15 @@
<about label="About">
<dispatcher-concept label="Dispatcher development" href="index.html"/>
- <dispatcher label="How to">
- <quickstart label="Quickstart"
href="how/howto-dispatcher-quickstart.html"/>
- <structurer label="Structurer" href="how/howto-structurer-dsl.html"/>
- <contracts label="Contracts" href="how/howto-structurer-contracts.html"/>
- </dispatcher>
- <glossary label="(FIXME: add content) Glossary"
href="dispatcher-glossary.html" description="Dispactcher related terms and
meanings" />
- <index label="(FIXME: old) Index" href="index.old.html"
description="(FIXME: old) index"/>
- <howItWorks label="(FIXME: old) howItWorks" href="how/howItWork.html"
description="(FIXME: old) howItWorks"/>
+ <glossary label="Glossary" href="dispatcher-glossary.html"
description="(FIXME: add content) Dispactcher related terms and meanings" />
<changes label="Changes" href="changes.html" description="History of
Changes" />
<todo label="Todo" href="todo.html" description="Todo List" />
</about>
-
+ <dispatcher label="How to" tab="how">
+ <quickstart label="Quickstart"
href="how/howto-dispatcher-quickstart.html"/>
+ <structurer label="Structurer" href="how/howto-structurer-dsl.html"/>
+ <contracts label="Contracts" href="how/howto-structurer-contracts.html"/>
+ </dispatcher>
<!--
The href must be wholesite.html/pdf You can change the labels and node names
Modified:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/tabs.xml
URL:
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/tabs.xml?rev=427717&r1=427716&r2=427717&view=diff
==============================================================================
---
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/tabs.xml
(original)
+++
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher/src/documentation/content/xdocs/tabs.xml
Tue Aug 1 13:36:22 2006
@@ -34,6 +34,7 @@
-->
<tab id="" label="Home" dir="" indexfile="index.html"/>
+ <tab id="how" label="HowTo" dir="how"
indexfile="howto-dispatcher-quickstart.html"/>
<!-- Add new tabs here, eg:
<tab label="How-Tos" dir="community/howto/"/>
<tab label="XML Site" dir="xml-site/"/>