You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by th...@apache.org on 2004/11/01 03:17:35 UTC

svn commit: rev 56187 - in incubator/lenya/site/src/documentation: . content/xdocs content/xdocs/docs content/xdocs/docs/1.2.x content/xdocs/docs/1.2.x/components content/xdocs/docs/1.2.x/components/accesscontrol content/xdocs/docs/1.2.x/components/asset-management content/xdocs/docs/1.2.x/components/authoring content/xdocs/docs/1.2.x/components/deployment content/xdocs/docs/1.2.x/components/editors content/xdocs/docs/1.2.x/components/layout content/xdocs/docs/1.2.x/components/link-management content/xdocs/docs/1.2.x/components/metadata content/xdocs/docs/1.2.x/components/multilingual content/xdocs/docs/1.2.x/components/publication content/xdocs/docs/1.2.x/components/repository content/xdocs/docs/1.2.x/components/resource-types content/xdocs/docs/1.2.x/components/revisioncontrol content/xdocs/docs/1.2.x/components/search content/xdocs/docs/1.2.x/components/sitemanagement content/xdocs/docs/1.2.x/components/tasks content/xdocs/docs/1.2.x/components/uri-handling content/xdocs/docs/1.2.x/components/workflow content/xdocs/docs/1.2.x/misc content/xdocs/docs/1.2.x/specs content/xdocs/docs/1.4 content/xdocs/docs/2.1 content/xdocs/docs/components content/xdocs/docs/misc content/xdocs/docs/specs

Author: thorsten
Date: Sun Oct 31 18:17:34 2004
New Revision: 56187

Added:
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accesscontrollerresolvers.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accesscontrollers.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accreditablemanagers.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/authenticators.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/authorizers.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/policymanagers.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/ssl.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/terms.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/management.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/adding-document-creator.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/image-upload.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/openoffice.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/mod_proxy.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/1form.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/bxe.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/htmlform.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/kupu.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/xopus.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/lenya-menubar.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/navigation.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/static-resources.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/xhtml-templating.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/link-management.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/metadata.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/multilingual.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/URIParametrizer.png   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/pageenvelopemodule.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/siteTree.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/sitemaps.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/webdav.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/resource-types/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/resource-types/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/checkin.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/checkout.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/rcml.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/revisioncontroller.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/rollback.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/version.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/lucene.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/archive.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/copy.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/deactivate.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/delete.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/deletetrash.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/move.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/moveupdown.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/rename.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/restore.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/anttask.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/concept.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/defining.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/development.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/exporter.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/mailtask.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/publisher.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/scheduling.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/taskaction.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/URIParametrizer.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/standardURI.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/usecases.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/configuration.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/implementation.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/introduction.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/state-machine.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/terms.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/coding-guidelines.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/javadoc-error.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/unittests.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/xinclude-processor.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/namespaces.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.4/
   incubator/lenya/site/src/documentation/content/xdocs/docs/1.4/index.xml   (contents, props changed)
   incubator/lenya/site/src/documentation/content/xdocs/docs/2.1/
   incubator/lenya/site/src/documentation/content/xdocs/docs/2.1/index.xml   (contents, props changed)
Removed:
   incubator/lenya/site/src/documentation/content/xdocs/docs/components/
   incubator/lenya/site/src/documentation/content/xdocs/docs/misc/
   incubator/lenya/site/src/documentation/content/xdocs/docs/specs/
Modified:
   incubator/lenya/site/src/documentation/content/xdocs/docs/index.xml
   incubator/lenya/site/src/documentation/content/xdocs/index.xml
   incubator/lenya/site/src/documentation/content/xdocs/site.xml
   incubator/lenya/site/src/documentation/skinconf.xml
Log:
restructured documentation and added apacheCon logo

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accesscontrollerresolvers.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accesscontrollerresolvers.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: accesscontrollerresolvers.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Access Controller Resolvers</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Introduction</title>
+	<p>
+	In Lenya, the <em>AccessController</em> is chosen dynamically,
+	depending on the requested URL.
+	An <em>AccessControllerResolver</em> resolves the appropriate
+	<em>AccessController</em> for a URL.</p>
+</section>
+
+<section>
+	<title>Defining the Roles in lenya.roles</title>
+	
+	<p>To obtain an <em>AccessControllerResolver</em>, the <em>AccessControllerResolverSelector</em> is
+		used. A component which wants to obtain an <em>AccessController</em> asks the
+		selector for the <em>ComposableAccessControllerResolver</em>.
+		The <em>ComposableAccessControllerResolver</em> itself uses the
+		selector to obtain its child <em>AccessControllerResolver</em>s.
+		</p>
+	
+	<source><![CDATA[<role name="org.apache.lenya.ac.AccessControllerResolverSelector"
+    shorthand="access-controller-resolvers"
+    default-class="org.apache.avalon.excalibur.component.ExcaliburComponentSelector">
+  <hint shorthand="configurable"
+      class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver"/>
+  <hint shorthand="publication"
+      class="org.apache.lenya.cms.ac.PublicationAccessControllerResolver"/>
+  <hint shorthand="composable"
+      class="org.apache.lenya.ac.impl.ComposableAccessControllerResolver"/>
+</role>]]></source>
+	
+</section>
+
+<section>
+	<title>Declaring the Access Controller Resolvers in cocoon.xconf</title>
+	
+	<source><![CDATA[<access-controller-resolvers>
+  <component-instance logger="lenya.ac.accesscontrollerresolver.publication"
+    class="org.apache.lenya.cms.ac.PublicationAccessControllerResolver"
+    name="publication">
+  </component-instance>
+  <component-instance logger="lenya.ac.accesscontrollerresolver.global"
+    class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver"
+    name="global">
+    <access-controller type="global"/>
+  </component-instance>
+  <component-instance logger="lenya.ac.accesscontrollerresolver.composable"
+    class="org.apache.lenya.ac.impl.ComposableAccessControllerResolver"
+    name="composable">
+    <resolver type="publication"/>
+    <resolver type="global"/>
+  </component-instance>
+</access-controller-resolvers>]]></source>
+	
+</section>
+
+<section>
+	<title>Publication Access Controller Resolver</title>
+	<p>The <em>PublicationAccessControllerResolver</em> looks for a <code>config/ac.xconf</code>
+    file inside the publication. If you want to use multiple <em>AccessController</em>s
+    within your Lenya installation, just declare them in the <code>
+    cocoon-xconf.xsl</code> file and choose the type in the <code>config/ac.xconf</code> file.
+    The <code>type</code> attribute selects an <em>AccessController</em>
+    from the definitions in <code>cocoon.xconf</code>.
+  </p>
+  <p>
+		You have to configure the complete <em>AccessController</em> in this file. For instance,
+		if you want to use a <em>BypassableAccessController</em> together with
+		a certain set of components, you declare it as follows:</p>
+	<source><![CDATA[<?xml version="1.0"?>
+<access-controller type="bypassable">
+  
+  <accreditable-manager type="file">
+    <parameter name="directory"
+        value="context:///lenya/pubs/mypub/config/ac/passwd"/>
+  </accreditable-manager>
+  
+  <policy-manager type="document">
+    <policy-manager type="file">
+      <parameter name="directory"
+          value="context:///lenya/pubs/mypub/config/ac/policies"/>
+    </policy-manager>
+  </policy-manager>
+  
+  <authorizer type="policy"/>
+  
+  <authorizer type="usecase">
+    <parameter name="configuration"
+        value="context:///lenya/pubs/default/config/ac/usecase-policies.xml"/>
+  </authorizer>
+  
+  <authorizer type="workflow"/>
+  
+</access-controller>
+]]></source>
+</section>
+
+<section>
+	<title>Configurable Access Controller Resolver</title>
+	<p>The <em>ConfigurableAccessControllerResolver</em> can be configured with an
+		<em>AccessController</em> directly inside <code>cocoon.xconf</code>:</p>
+	<source><![CDATA[<component-instance logger="lenya.ac.accesscontrollerresolver"
+    class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver"
+    name="global">
+  <access-controller type="global"/>
+</component-instance>]]> </source>
+</section>
+
+<section>
+	<title>Composable Access Controller Resolver</title>
+	<p>The <em>ComposableAccessControllerResolver</em> is configured with a list of
+		<em>AccessControllerResolver</em>s. Each one of these resolvers is invoked until one
+		is successful. If no resolver finds an <em>AccessController</em>, the
+		<em>ComposableAccessControllerResolver</em> returns <code>null</code>.</p>
+		
+	<source><![CDATA[<component-instance logger="lenya.ac.accesscontrollerresolver"
+    class="org.apache.lenya.ac.impl.ComposableAccessControllerResolver"
+    name="composable">
+  <resolver type="publication"/>
+  <resolver type="global"/>
+</component-instance>]]></source>
+</section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accesscontrollers.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accesscontrollers.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: accesscontrollers.xml 43161 2004-07-30 22:50:28Z thorsten $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Access Controllers</title>
+		<version/>
+		<type/>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Introduction</title>
+	<p>An <em>AccessController</em> has the responsibility to authenticate
+	  clients and to authorize requests.</p>
+</section>
+<section>
+	<title>Defining the Role in lenya.roles</title>
+	<source><![CDATA[<role name="org.apache.lenya.ac.AccessController"
+    shorthand="access-controller"
+    default-class="org.apache.lenya.ac.impl.BypassableAccessController"/>]]></source>
+</section>
+
+<section>
+	<title>Declaring an AccessController in cocoon.xconf</title>
+	
+	<p>
+		Each <em>AccessController</em> component needs a type that is attached to the
+		<code>role</code> attribute, separated with a slash (/). This allows you to choose an
+		<em>AccessController</em> in your publication in combination with the
+		Publication<link href="accesscontrollerresolvers.html">AccessControllerResolver</link>.
+		The following example shows the declaration of an <em>AccessController</em> with
+		the type <em>bypassable</em>:
+	</p>
+	
+	<source><![CDATA[<component logger="lenya.ac.accesscontroller.bypassable"
+    class="org.apache.lenya.ac.impl.BypassableAccessController"
+    role="org.apache.lenya.ac.AccessController/bypassable">
+    ...
+</component>]]></source>
+
+</section>
+
+	<section>
+		<title>Default Access Controller</title>
+		<p>The <em>DefaultAccessController</em> combines an
+			<link href="authenticators.html">Authenticator</link>, a set of
+			<link href="authorizers.html">Authorizers</link>, an
+			<link href="accreditablemanagers.html">AccreditableManager</link> and a
+			<link href="policymanagers.html">PolicyManager</link> to perform these tasks.</p>
+			<source><![CDATA[<component logger="lenya.ac.accesscontroller.default"
+    class="org.apache.lenya.ac.impl.DefaultAccessController"
+    role="org.apache.lenya.ac.AccessController/default"/>]]></source>
+	</section>
+
+<section>
+	<title>Bypassable Access Controller</title>
+	<p>The <em>BypassableAccessController</em> is a <em>DefaultAccessController</em> that can be
+		bypassed for certain URL patterns. For URLs that match those patterns
+		(regular expressions), access is granted for free.</p>
+		
+			<p>
+				The <em>BypassableAccessController</em>
+				allows the definition of a regular expression for the public URL
+				patterns:
+			</p>
+			<source><![CDATA[<component logger="lenya.ac.accesscontroller.bypassable"
+    class="org.apache.lenya.ac.impl.BypassableAccessController"
+    role="org.apache.lenya.ac.AccessController/bypassable">
+  <public>.*[.]css|.*[.]jpg|.*[.]gif</public>
+</component>]]></source>
+</section>
+
+<section>
+	<title>Customizing Access Control</title>
+	<p>
+		<strong>How can I store my users in a database?</strong>
+	</p>
+	<p>You have to implement a <em>UserManager</em> wich accesses the database 
+		to obtain the user information. Additionally, you have to implement an 
+		<em>AccreditableManager</em> which uses this <em>UserManager</em>. This 
+		<em>AccreditableManager</em> has to be declared in 
+		<code>cocoon.xconf</code> and assigned to your 
+		<em>AccessController</em> in 
+		<code>lenya/pubs/mypub/config/ac/ac.xconf</code>. </p>
+</section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accreditablemanagers.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/accreditablemanagers.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: accreditablemanagers.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Accreditable Managers</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+		<section>
+			<title>Introduction</title>
+			<p>
+			An <em>AccreditableManager</em> combines a <em>UserManager</em>,
+			a <em>GroupManager</em>, an <em>IPRangeManager</em> and a <em>RoleManager</em>.</p>
+		</section>
+		<section>
+			<title>UserManager</title>
+			<p>A UserManager manages users.</p>
+		</section>
+		<section>
+			<title>GroupManager</title>
+			<p>A GroupManager manages groups.</p>
+		</section>
+		<section>
+			<title>IPRangeManager</title>
+			<p>A IPRangeManager manages IP address rangess.</p>
+		</section>
+		<section>
+			<title>RoleManager</title>
+			<p>A RoleManager manages <em>Role</em>s.</p>
+		</section>
+	
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/authenticators.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/authenticators.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: authenticators.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Authenticators</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Introduction</title>
+	<p>
+	An authenticator is used to identify a client.
+	It is supposed to setup the <em>Identity</em> object which is attached
+	to the session.
+	</p>
+</section>
+
+<section>
+	<title>Declaring the Roles in lenya.roles</title>
+	<source><![CDATA[<role name="org.apache.lenya.ac.Authenticator"
+    shorthand="authenticator"
+    default-class="org.apache.lenya.ac.impl.UserAuthenticator"/>]]></source>
+</section>
+
+	<section>
+		<title>The UserAuthenticator</title>
+		<p>The <em>UserAuthenticator</em> uses the request parameters</p>
+		<ul>
+			<li><code>username</code> and</li>
+			<li><code>password</code></li>
+		</ul>
+		<p>to authenticate or reject a user. It is configured in <code>cocoon.xconf</code>
+		as follows:</p>
+		
+	<source><![CDATA[<component logger="lenya.ac.authenticator"
+    class="org.apache.lenya.ac.impl.UserAuthenticator"
+    role="org.apache.lenya.ac.Authenticator"/>]]></source>
+    
+    <p>
+      When a valid username/password combination is entered, the previous
+      user is removed from the session <em>Identity</em> object
+      and the current user is added.
+    </p>
+		
+	</section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/authorizers.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/authorizers.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: authorizers.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Authorizers</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Introduction</title>
+	<p>An <em>Authorizer</em> checks if an <em>Identity</em> is authorized
+	to invoke a certain request.
+	</p>
+	
+	<p>
+	The <em>DelegatingAuthorizerAction</em> tries to
+	resolve an <em>AccessController</em> for the URL. If an <em>AccessController</em>
+	could be resolved, its <code>authorize(Request)</code> method is used to authorize the request.
+	If no <code>AccessController</code> could be found, the access to the request
+	is granted for free.</p>
+	
+	<p>
+	  The <em>DefaultAccessController</em> delegates the authorization to its
+	  <em>Authorizer</em>s. Only when all <em>Authorizer</em>s return <code>true</code>,
+	  the request is authorized.
+	</p>
+</section>
+	
+	<section>
+		<title>PolicyAuthorizer</title>
+		<p>A <em>PolicyAuthorizer</em> uses <em>Policies</em> for authorizing. It returns <code>true</code>,
+		when the current <em>Identity</em> has at least one <em>Role</em> for the requested URL.</p>
+	</section>
+	
+	<section>
+		<title>UsecaseAuthorizer</title>
+		<p>This <em>Authorizer</em> looks for the <code>lenya.usecase</code> request
+			parameter and checks the usecase policy file for the <em>Role</em>s that are
+			allowed to execute this usecase. The location of this file is defined
+			using the <code>configuration</code> parameter which points to a URL:</p>
+		<source><![CDATA[<authorizer type="usecase">
+  <parameter name="configuration"
+      value="context:///lenya/pubs/mypub/config/ac/usecase-policies.xml"/>
+</authorizer>]]></source>
+
+		<p>The usecase policy file might look as follows:</p>
+		
+		<source><![CDATA[<?xml version="1.0"?>
+<usecases xmlns="http://apache.org/cocoon/lenya/ac/1.0">
+  <usecase id="create">
+    <role id="editor"/>
+  </usecase>
+  <usecase id="rename">
+    <role id="editor"/>
+  </usecase>
+</usecases>]]></source>
+	</section>
+	
+	<section>
+		<title>WorkflowAuthorizer</title>
+		<p>The <em>WorkflowAuthorizer</em> is responsible for protecting workflow
+			transitions. Therefore it</p>
+		<ul>
+			<li>looks for the <code>lenya.event</code> request parameter,</li>
+			<li>determines the current state of the workflow instance, and</li>
+			<li>checks if the event may be invoked by one of the current <em>Role</em>s in this
+				state.</li>
+		</ul>
+		
+		<p>The <em>WorkflowAuthorizer</em> has no configuration options:</p>
+		
+		<source><![CDATA[<authorizer type="workflow"/>]]></source>
+	</section>
+	
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/policymanagers.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/policymanagers.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: policymanagers.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Policies and Policy Managers</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+    
+<section><title>Policies</title>
+<p>
+  A <code>Policy</code> assigns <code>Role</code>s to <code>Accreditable</code>s.
+</p>
+<p>
+  There is a common policy definition XML schema which is handled by the
+  <code>PolicyBuilder</code>. It can be used together with the
+  <code>FilePolicyManager</code> and the <code>SitemapPolicyManager</code>.
+</p>
+<p>Here is an example of a policy definition:</p>
+<source><![CDATA[
+<policy xmlns="http://apache.org/cocoon/lenya/ac/1.0">
+
+  <user id="lenya">
+    <role id="editor"/>
+    <role id="reviewer"/>
+  </group>
+
+  <group id="reviewer">
+    <role id="reviewer"/>
+  </group>
+  
+  <ip-range id="localhost">
+    <role id="editor"/>
+  </ip-range>
+  
+  <world>
+    <role id="visitor"/>
+  </world>
+
+</policy> 
+]]></source>
+</section>
+	
+<section>
+	<title>Policy Managers</title>
+	<p>A <em>PolicyManager</em> is used to resolve the policy for a certain URL.
+	Lenya ships with the following <em>PolicyManager</em>s:</p>
+</section>
+	
+	<section>
+		<title>Inheriting Policy Manager</title>
+		<p>This is an abstract base class. It merges the policies
+		  of all steps in the URL. For each
+			URL, a <em>url policy</em> and a <em>subtree policy</em> can be defined.
+			The <em>InheritingPolicyManager</em> adds the credentials of</p>
+		<ul>
+			<li>the subtree policies for all parent directories of the requested page,</li>
+			<li>the subtree policy of the requested page, and</li>
+			<li>the url policy of the requested page.</li>
+		</ul>
+		<p>For instance, if the URL is <code>/lenya/news/index.html</code>, the
+			following policies are merged:</p>
+		<ul>
+			<li>subtree policy of <code>/</code></li>
+			<li>subtree policy of <code>/lenya</code></li>
+			<li>subtree policy of <code>/lenya/news</code></li>
+			<li>subtree policy of <code>/lenya/news/index.html</code></li>
+			<li>url policy of <code>/lenya/news/index.html</code></li>
+		</ul>
+	</section>
+	
+	<section>
+		<title>File Policy Manager</title>
+		<p>The <em>FilePolicyManager</em> is an <em>InheritingPolicyManager</em>.
+		The policies are defined by policy files that are arranged as a
+		directory tree that reflects the URI space, e.g.:
+			</p>
+<source>/subtree-policy.acml
+/lenya/subtree-policy.acml
+/lenya/news/index.html/subtree-policy.acml
+/lenya/news/index.html/url-policy.acml</source>
+			<p>If a certain policy file does not exist (like /lenya/news in the above example), an empty policy is used instead.</p>
+			
+			<p>The <em>FilePolicyManager</em> needs a <code>directory</code> parameter
+			which contains a URL pointing to the policies directory:</p>
+
+<source><![CDATA[<policy-manager type="file">
+  <parameter name="directory"
+      value="context:///lenya/pubs/mypub/config/ac/policies"/>
+</policy-manager>]]></source>
+
+	</section>
+	
+	<section>
+		<title>Document Policy Manager Wrapper</title>
+		<p>This <em>InheritingPolicyManager</em> subclass is used together with another
+  		<em>InheritingPolicyManager.</em>
+		  It is able to apply a single policy to all versions of a document
+		  (languages, print version, ...). E.&#160;g., if you define
+		</p>
+		<ul><li><code>/foo/bar/subtree-policy.xml</code></li></ul>
+		<p>
+		  and you use the <em>DefaultDocumentBuilder</em>,
+		  this policy is applied to the URLs
+		</p>
+		<ul>
+		  <li><code>/foo/bar.html</code></li>
+		  <li><code>/foo/bar_de.html</code></li>
+		  <li><code>/foo/bar_en.print.html</code></li>
+		  <li>...</li>
+		</ul>
+		
+		<p>To configure the <em>DefaultDocumentBuilder</em>, just put the
+		declaration of the wrapped <em>PolicyManager</em> inside the
+		<em>DefaultDocumentBuilder</em> declaration:</p>
+		
+<source><![CDATA[<policy-manager type="document">
+  <policy-manager type="file">
+    <parameter name="directory"
+        value="context:///lenya/pubs/mypub/config/ac/policies"/>
+  </policy-manager>
+</policy-manager>]]></source>
+	</section>
+	
+	<section>
+		<title>Sitemap Policy Manager</title>
+		<p>The <em>SitemapPolicyManager</em> uses the policy sitemap to resolve the policy
+			for a certain URL. For this purpose it sends a request of the form
+    </p>
+	  <source>cocoon://{publication-id}/policies{url}.acml
+
+Example:
+cocoon://mypub/policies/authoring/foo/bar_de.html.acml
+</source>
+	  <p>
+			which is processed by <code>global-sitemap.xmap</code> and forwarded
+			to <code>lenya/pubs/{publication-id}/policies-sitemap.xmap</code>.
+			The request is supposed to return a valid policy XML document.
+	</p>
+	<p>The configuration of the <em>SitemapPolicyManager</em> is very simple:</p>
+	
+<source><![CDATA[<policy-manager type="sitemap"/>]]></source>
+	</section>
+		
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/ssl.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/ssl.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: ssl.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>SSL Encryption</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Introduction</title>
+	<p>Pages or subtrees within Lenya can be protected by <em>SSL Encryption</em>. This allows you to protect 
+	    these parts of your site that need it. Note that <em>SSL Encryption</em> is independent of 
+	    <em>Authorization</em>. This means that you may have SSL-encrypted pages with or without access control.
+	</p>
+	
+	<p>In a typical setup, you would have Apache HTTPd handle the SSL encryption and forward requests to Tomcat
+	    as appropriate. This allows considerable flexibility with your setup, as you can make your SSL-encrypted
+	    pages appear at a different location than the rest of your content. The setup here will explain you
+	    how to achieve this.
+	</p>
+</section>
+	
+	<section>
+		<title>Enabling SSL Encryption</title>
+		<p>To enable <em>SSL Encryption</em> for a subtree or a page, go to the <em>AC Live</em> 
+		    or <em>AC Authoring</em> tabs in the Site area, and check the box that says <em>SSL Encryption</em>.</p>
+	</section>
+	
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/terms.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/accesscontrol/terms.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: terms.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Basic Terms</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Role</title>
+	<p><em>Role</em>s are the connection between access control and CMS functionality. On
+		the access control side, you assign <em>Role</em>s to users, IP address ranges and
+		groups at certain URL spaces. On the CMS side, you define which <em>Role</em>s are
+		needed to execute certain usecases and workflow transitions. If the client has a certain
+		<em>Role</em>, this means he is allowed to do something.</p>
+	<p>Each <em>Role</em> has a unique name. Role names can be arbitrary strings. Examples are</p>
+	<ul>
+		<li>author</li>
+		<li>reviewer</li>
+		<li>admin</li>
+	</ul>
+	<p>Another common approach and useful is to use verbs as role names:</p>
+	<ul>
+		<li>edit</li>
+		<li>review</li>
+		<li>administrate</li>
+	</ul>
+</section>
+
+
+<section>
+	<title>Identifiable</title>
+	<p>An <em>Identifiable</em> is a characteristic of the client that can be identified.
+		Every <em>Identifiable</em> is <em>Accreditable</em>. Lenya currently supports the following
+		<em>Identifiable</em>s:</p>
+	<ul>
+		<li>users</li>
+		<li>machines</li>
+		<li>the world (this idenitifiable is assigned to every client that tries to
+			access the system)</li>
+	</ul>
+</section>
+
+
+<section><title>Identity</title>
+	<p>An <em>Identity</em> is the collection of all <em>Identifiable</em>s
+	  that have access to the
+		system in the current session. The <em>Identity</em> always contains the world and
+		the machine that produced the request. If you logged in, the user is also
+		contained in the <em>Identity</em>.</p>
+	<p>For instance, if you log in from the machine 192.168.0.16 as the user john,
+		the <em>Identity</em> of the client contains</p>
+  <ul>
+    <li>the machine 192.168.0.16,</li>
+    <li>the user john, and</li>
+    <li>the world.</li>
+  </ul>
+</section>
+
+
+<section><title>Accreditable</title>
+  <p>An <em>Accreditable</em> can be accredited with <em>Role</em>s in <em>Policies</em>.
+	Lenya currently supports the following <em>Accreditable</em>s:</p>
+	<ul>
+		<li>users</li>
+		<li>machines (accredition not implemented, use IP ranges instead)</li>
+		<li>IP address ranges</li>
+		<li>the world</li>
+		<li>groups</li>
+	</ul>
+</section>
+
+
+<section>
+	<title>Credential</title>
+	<p>A <em>Credential</em> assigns a set of <em>Role</em>s to an <em>Accreditable</em>, e.g.:</p>
+	<ul>
+		<li><code>news_editors: editor, reviewer</code><br/> means "The group 
+			<code>news_editors</code> has the <em>Role</em>s <code>editor</code> and <code>
+			reviewer</code>."</li>
+	</ul>
+</section>
+
+
+<section>
+	<title>Policy</title>
+	<p>A <em>Policy</em> defines a set of <em>Credential</em>s for a certain URL. It has the
+		responsibility to return all <em>Role</em>s of an <em>Accreditable</em> at a certain URL.</p>
+	<p>If for instance the <em>Policy</em> for the URL /tv/news contains the <em>Credential</em>s</p>
+	<ul>
+		<li>
+			<code>news_editors: editor, reviewer</code>
+		</li>
+		<li>
+			<code>john: admin</code>
+		</li>
+		<li>
+			<code>192.168.0.72: visitor</code>
+		</li>
+	</ul>
+	<p>and user <code>john</code> belongs to the group <code>news_editors</code> 
+		and has logged in from the machine <code>192.168.0.72</code>, the <em>Policy</em>
+		returns the <em>Role</em>s <code>editor, reviewer, admin, visitor</code> for the
+		<em>Accreditable</em> <code>john</code>.</p>
+	<p>A <em>Policy</em> may not contain invalid <em>Accreditable</em>s.
+	  E.g., if a user is deleted
+		and another user with the same ID is created, he may not get the same
+		privileges as the former one.</p>
+</section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/management.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/asset-management/management.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: management.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Asset Management</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+
+  <body>
+    
+    <section>
+      <title>Introduction</title>
+      <p>Asset management is the process by which assets, such as pdf
+      files or images are uploaded to the server and inserted into a
+      document.</p>
+
+      <p>Assets can be either inserted directly into a document or can
+      be uploaded for later insertion. Direct insertion happens when
+      editing the document, upload and removal can be done in the
+      asset tab in the site area.</p>
+    </section>
+
+
+    <section>
+      <title>Asset upload</title> 
+
+      <p>The upload of assets is done quite simply with a multipart
+      request. The Upload screen is generated by an xsp
+      (<code>asset.xsp</code>) which handles asset upload, image
+      upload, asset insertion and image insertion. This screen then
+      generates the multipart request which is eventually handled by
+      the <code>AssetUploadAction</code>. This action stores the asset
+      in the resources directory and generates a meta file with the
+      dublin core meta data that was passed in as request parameter or
+      with data that was extracted from the request (mime type,
+      size). Where the asset is stored is determined by the
+      <code>ResourcesManager</code>.</p>
+
+    </section>
+
+    <section>
+      <title>Asset insertion (via "enable asset upload" screen)</title> 
+
+      <p>Once the asset is uploaded, a reference to it has to be
+      inserted in the original document. Images and "plain" assets are
+      handled slighly different but the basic mechanism is the
+      same.</p>
+
+      <p>The insertion is done via an ant task
+      (<code>insert-asset</code>). This task generates a temporary
+      XSLT stylesheet using <code>generate-insertAsset-xsl.xsl</code>
+      as a meta stylesheet and an XML template which defines the XML
+      snippet that will be inserted in the refering document. The path
+      to the XML template is passed as a parameter to the ant
+      task. Usually these templates are located in
+      <code>config/asset</code>. The generated temporary stylesheet is
+      then applied to the document where the reference to the asset is
+      to be inserted. It will insert the appropriate XML snippet.</p>
+    </section>
+
+    <section>
+      <title>Asset insertion (via Bitflux editor)</title> 
+
+      <p>Images and assets can also be inserted from within the Bitflux editor.</p>
+
+      <p>The insertion is done via a XSLT stylesheet 
+      (<code>image.xsl</code> or <code>asset.xsl</code> in <code>xslt/bxe</code>). 
+      These stylesheets create a popup window that let the user select an asset or image
+      and insert it into the currently opened document via javascript.</p>
+      </section>
+
+    <section>
+      <title>Asset removal</title>
+
+      <p>Assets can be removed in the asset tab in the site area. This
+      removes the asset from the resources directory. It does not
+      however remove any references to it.</p>
+
+      <p>Removal is done with an ant task (<code>remove-asset</code>)
+      which simply deletes the asset from the resources directory.</p>
+    </section>
+
+    <section>
+      <title>Involved classes, XSPs and XSLTs</title>
+
+      <p>The following classes, XSPs and XSLTs are involved in the
+      asset upload:</p>
+      <dl>
+	<dt>src/webapp/lenya/content/authoring/asset.xsp, src/webapp/lenya/xslt/authoring/asset.xsl</dt>
+	<dd>Take care of displaying the proper asset upload
+	screen. There are different screens for image and asset upload
+	and for upload with or without subsequent insertion.</dd> 
+	<dt>org.apache.lenya.cms.cocoon.acting.UploadAction</dt>
+	<dd>Handles the upload request, stores the asset in
+	<code>resources/authoring/$document-id/$resource-name</code>,
+	and creates a file containing the dublin core meta data for
+	the asset.</dd>
+	<dt>$publication-id/config/assets/*</dt>
+	<dd>Define the XML snippets that is to be inserted in lieu of a
+	refernce to an asset.</dd>
+	<dt>src/webapp/lenya/xslt/util/generate-insertAsset-xsl.xsl</dt>
+	<dd>The meta stylesheet which generates the XSLT the will
+	insert the proper XML snippet to link to the asset in the
+	refering document.</dd>
+	<dt>$publication-id/config/tasks/targets.xml</dt>
+	<dd>Defines the <code>insert-asset</code> target which handles
+	asset insertion. Also defines the <code>remove-asset</code>
+	target.</dd> 
+	<dt>org.apache.lenya.cms.publication.ResourcesManager</dt>
+	<dd>Manages resources and hides away some of the iplementaion
+	details where resources and their meta data is stored.</dd>
+      </dl>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/adding-document-creator.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/adding-document-creator.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: adding-document-creator.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Adding a new Document Creator</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Adding a new Menu Item: "New MyDocument"</title>
+
+<p>
+The Menubars can be found within the directory <code>config/menus</code>.
+Add the "New MyDocument" menu item to the appropriate menubar:
+</p>
+
+<source>
+<![CDATA[
+<menus>
+  <menu name="File" label="File">
+    <block>
+      <item><xsp:attribute name="href">?lenya.usecase=create&amp;lenya.step=showscreen</xsp:attribute>New&#160;MyDocument</item>
+    </block>
+]]>
+</source>
+
+</section>
+
+<section>
+<title>Adding usecase "create" to the sitemap</title>
+
+<p>
+The pipelines of the usecases are located within <code>usecase.xmap</code>:
+</p>
+
+<source>
+<![CDATA[
+<map:pipeline>
+  <map:match pattern="*/*/*/*/*/index.html">
+    <map:match type="lenya-usecase" pattern="create">
+      <map:match type="lenya-step" pattern="showscreen">
+        <map:generate type="serverpages" src="../../content/authoring/parent-child.xsp"/>
+        <map:transform src="../../xslt/authoring/create.xsl"/>
+        <map:serialize type="html"/>
+      </map:match>
+
+      <map:match type="lenya-step" pattern="execute">
+        <map:act type="parent-child">
+          <map:redirect-to uri="{parent_uri}" session="true"/>
+        </map:act>
+        <map:redirect-to uri="index.html?lenya.usecase=create&amp;lenya.step=showscreen&amp;status=failed" session="true"/>
+      </map:match>
+    </map:match>
+  </map:match>
+</map:pipeline>
+]]>
+</source>
+
+</section>
+
+
+<section>
+<title>Create <code>doctypes.xconf</code></title>
+
+<p>
+The file <code>doctypes.xconf</code> is supposed to be located within the directory <code>config/doctypes</code>.
+</p>
+
+<source>
+<![CDATA[
+<doctypes>
+  <doc type="nitf">
+    <creator src="org.apache.lenya.cms.authoring.DefaultLeafCreator">
+      <sample-name>nitf.xml</sample-name>
+    </creator>
+  </doc>
+
+  <doc type="xhtml">
+    <creator src="org.apache.lenya.cms.authoring.DefaultLeafCreator">
+      <sample-name>xhtml.xml</sample-name>
+    </creator>
+  </doc>
+</doctypes>
+]]>
+</source>
+
+</section>
+
+<section>
+<title>Create a sample document</title>
+
+<p>
+The sample documents are located within the directory <code>config/doctypes/samples</code>.
+</p>
+
+<source>
+<![CDATA[
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<nitf>
+  <head>
+    <docdata>
+      <doc-id regsrc="nitf_export.pl" id-string="0"/>
+      <date.issue norm="20030314T041021Z"/>
+      <doc.copyright holder="New OSCOM Times"/>
+    </docdata>
+    <pubdata position.section="finance" position.sequence="1"/>
+  </head>
+  <body.head>
+    <hedline>
+      <hl1>Local OSCOM Sprint @ Zurich, Switzerland</hl1>
+]]>
+</source>
+
+</section>
+
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/image-upload.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/image-upload.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: image-upload.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Image Upload (Multipart Requests)</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>web.xml</title>
+<p>
+In order to enable multipart requests (e.g. image upload), one needs to enable the upload option within the file <code>.../webapps/lenya/WEB-INF/web.xml</code>
+</p>
+<source>
+<![CDATA[
+<init-param>
+  <param-name>enable-uploads</param-name>
+  <param-value>true</param-value>
+</init-param>
+]]>
+</source>
+<p>
+Please restart your servlet engine after editing <code>web.xml</code>.
+</p>
+<p>
+If one builds Lenya from source then multipart requests can be enabled by editing the file <code>build.properties</code> (enable.uploads=true).
+</p>
+</section>
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/openoffice.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/authoring/openoffice.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,270 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: openoffice.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+<document> 
+  <header> 
+    <title>OpenOffice Documents with Lenya</title>
+    <version major="0" minor="1">Initial version</version>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+    <notice></notice> 
+    <abstract>This document describes the integration of Openoffice with Lenya
+CMS</abstract> 
+  </header> 
+  <body> 
+
+    <section>
+      <title>Goals</title>
+
+      <p>This document describes the integration of Openoffice with Lenya
+	CMS. The integration is guided by the following goals:</p>
+
+      <ul>
+	<li>Use OpenOffice as a content editor for static web
+	pages</li>
+
+	<li>Migrate OpenOffice document to a custom xml format</li>
+      </ul>
+    </section>
+
+    <section>
+      <title>Prerequisites</title>
+
+      <p>In order to seamlessly integrate Openoffice into the
+publication process of Lenya/Cocoon the following prerequisites need
+to be met:</p>
+
+      <section>
+	<title>OpenOffice DTD</title>
+
+	<p>The DTDs for the OpenOffice documents has to be available
+on the system.</p>
+
+	<p>It's best to get them directly from your OpenOffice
+installation. They are located in the share directory of your
+installation. Copy the dtd's into your Lenya installation, e.g. as
+follows:</p>
+
+	<source>cp ~/Office/share/dtd/* ~/build/jakarta-tomcat-4.1.18-LE-jdk14/webapps/lenya/lenya/resources/dtd/openoffice/</source>
+	
+	<fixme author="ce">The DTDs should probably go into
+	/usr/share/sgml/openoffice/*</fixme>
+
+	<note>There's a bug in the xml parser. As a workaround we uncomment
+	  all the <code>draw:text-box</code> stuff.</note>
+      </section>
+
+      <section>
+	<title>XML Catalog</title>
+
+	<p>In order for Lenya/Cocoon to find the DTDs you need to setup an XML
+catalog as follows:</p>
+
+	<source>
+xmlcatalog --noout --create openoffice.cat
+xmlcatalog --noout --add "public" \
+  "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" 
+  "file:///home/slide/build/jakarta-tomcat-4.1.18-LE-jdk14/webapps/lenya/lenya/resources/dtd/openoffice/officedocument/1_0/office.dtd" \
+  openoffice.cat
+	</source>
+
+	<p>Alternatively you can simply use the attached catalog.</p>
+
+	<p>Store this newly created catalog and edit CatalogManager.properties to
+make sure Cocoon finds this catalog and hence the OpenOffice DTDs.</p>
+
+	<p>Add the location of the OpenOffice catalog to Cocoon's
+CatalogManager.properties (which can be found in
+<code>~/build/jakarta-tomcat-4.1.18-LE-jdk14/webapps/lenya/WEB-INF/classes/CatalogManager.properties</code>)
+by adding the following lines to this file:</p>
+
+	<source>
+#catalogs=/path/to/local/catalog
+catalogs=/home/slide/build/jakarta-tomcat-4.1.18-LE-jdk14/webapps/lenya/lenya/resources/dtd/openoffice/catalog.xml
+	</source>
+
+      </section>
+
+      <section>
+	<title>OpenOffice2HTML XSTL</title>
+
+	<p>In order to render the OpenOffice xml as html we need XSLT stylesheets
+to provide the necessary transformations.</p>
+
+	<p>A very good XSLT which is fairly complete can be fetched
+	  from zope.org (<link
+	  href="http://www.zope.org/Members/philikon/ZooDocument">http://www.zope.org/Members/philikon/ZooDocument</link>).</p>
+
+      </section>
+
+      <section>
+	<title>Slide</title>
+
+	<p>Slide is an Apache project which offers amongst other things a a
+WebDAV access module (implemented as a servlet). This will allow us to
+deploy the OpenOffice documents directly via WebDAV.</p>
+
+	<p>For a very basic installation the following changes need to be applied
+to a file named Domain.xml in the Slide webapp directory:</p>
+
+	<ul>
+	  <li>Change permissions</li>
+	  <li>ContentStore: set to parent dir of OpenOffice dir</li>
+	  <li>Replace folder "files" by OpenOffice dir name</li>
+	</ul>
+
+	<p>The following patch will apply all changes you need:</p>
+	<source>
+diff -u Domain.xml.orig Domain.xml
+--- Domain.xml.orig	Thu Nov  1 15:47:52 2001
++++ Domain.xml		Thu Mar 20 16:44:09 2003
+@@ -44,7 +44,7 @@
+           &lt;reference store="nodestore" /&gt;
+         &lt;/revisiondescriptorstore&gt;
+         &lt;contentstore classname="slidestore.reference.FileContentStore"&gt;
+-          &lt;parameter name="rootpath"&gt;contentstore&lt;/parameter&gt;
++          &lt;parameter name="rootpath"&gt;/home/slide/build/jakarta-tomcat-4.1.18-LE-jdk14/webapps/lenya/lenya/pubs/computerworld/content/authoring&lt;/parameter&gt;
+           &lt;parameter name="version"&gt;false&lt;/parameter&gt;
+           &lt;parameter name="resetBeforeStarting"&gt;true&lt;/parameter&gt;
+         &lt;/contentstore&gt;
+@@ -136,7 +136,7 @@
+       &lt;!-- Paths configuration --&gt;
+       &lt;userspath&gt;/users&lt;/userspath&gt;
+       &lt;guestpath&gt;guest&lt;/guestpath&gt;
+-      &lt;filespath&gt;/files&lt;/filespath&gt;
++      &lt;filespath&gt;/openoffice&lt;/filespath&gt;
+       &lt;parameter name="dav"&gt;true&lt;/parameter&gt;
+       &lt;parameter name="standalone"&gt;true&lt;/parameter&gt;
+ 
+@@ -245,13 +245,12 @@
+           
+         &lt;/objectnode&gt;
+         
+-        &lt;objectnode classname="org.apache.slide.structure.SubjectNode" 
+-         uri="/files"&gt;
++        &lt;objectnode classname="org.apache.slide.structure.SubjectNode" uri="/openoffice"&gt;
+ 
+           &lt;!-- ### Give read/write/manage permission to guest ### 
+                Uncomment the following line to give permission to do
+                all actions on /files to guest (unauthenticated users) --&gt;
+-          &lt;!-- &lt;permission action="/actions" subject="/users/guest"/&gt; --&gt;
++          &lt;permission action="/actions" subject="/users/guest"/&gt;
+ 
+           &lt;permission action="/actions/manage" subject="/users/john"/&gt;
+           &lt;permission action="/actions/write" subject="+/users/groupA"/&gt;
+	</source>
+      </section>
+
+    </section>
+
+    <section>
+      <title>Pipelines</title>
+
+      <p>In order for Lenya/Cocoon to be able to read the content of the
+OpenOffice document, a set of pipelines need to be set up.</p>
+
+      <section>
+	<title>Read the zip/jar file</title>
+	
+	<p>To read the OpenOffice documents we need to setup a simple reader
+	  which as follows:</p>
+	
+	<source>
+&lt;map:match pattern="**.sxw"&gt;
+  &lt;map:read src="content/{1}.sxw"/&gt;
+&lt;/map:match&gt;
+	</source>
+      </section>
+ 
+      <section>
+	<title>Unpack zip file and transform the OO xml to xhtml</title>
+
+	<p>OpenOffice documents are actually a zip file containing xml files for
+content and style plus other additional files such as jpg etc.</p>
+
+	<p>Zip is the same file format as jar. JDK supports jar unpacking
+natively with the jar protocol. The pipeline to read a jar file looks
+as follows:</p>
+
+	<source>
+&lt;map:match pattern="**.oo"&gt;
+  &lt;map:generate src="jar:http://localhost:38080/lenya/computerworld/authoring/{1}.sxw!/content.xml"/&gt;
+  &lt;map:transform src="../../xslt/openoffice/ooo2html.xsl"/&gt;
+  &lt;map:serialize/&gt;
+&lt;/map:match&gt;
+	</source>
+      </section>
+
+      <section>
+	<title>Aggregate with navigation</title>
+
+	<p>Additionaly we want to embed the OpenOffice document in the usual
+navigation, header and footer. The following is fairly specific to the
+Computerworld publication but can easily be adapted:</p>
+
+	<source>
+&lt;map:match pattern="**.html"&gt;
+  &lt;map:aggregate element="lenya"&gt;
+    &lt;map:part src="cocoon:/menus/static/{1}.html"/&gt;
+    &lt;map:part element="cmsbody" src="content/authoring/wrapper.html"/&gt;
+    &lt;map:part src="cocoon:/{1}.oo" element="wrapper"/&gt;
+    &lt;map:part src="content/authoring/small-preview.xml"/&gt;
+    &lt;map:part src="content/authoring/sitetree.xml"/&gt;
+    &lt;map:part src="cocoon:/today"/&gt;
+  &lt;/map:aggregate&gt;
+
+  &lt;map:transform src="xslt/authoring/wrapper.xsl"&gt;
+    &lt;map:parameter name="id" value="/{1}"/&gt;
+    &lt;map:parameter name="authoring" value="true"/&gt;
+  &lt;/map:transform&gt;
+  &lt;map:transform src="xslt/authoring/images.xsl"/&gt;
+  &lt;map:serialize type="html"/&gt;
+&lt;/map:match&gt;
+	</source>
+
+      </section>
+    </section>
+
+    <section>
+      <title>Problems</title>
+      <ul>
+	<li>Caching prevents an update OO file (zip file) from being
+	displayed.</li>
+
+	<li>If you restart tomcat (slide) you lose the NodeContentStore so that
+  WebDAV loses the nodes (documents and folders).</li>
+
+	<li>xml parser cannot handle openoffice dtd's due to a parser bug</li>
+      </ul>
+    </section>
+
+    <section>
+      <title>To do's</title>
+      <ul>
+	<li>Set permissions in tomcat/slide: authorization and autorisation</li>
+	<li>Complete and improve OpenOffice2Html xslt (images, tables, etc.)</li>
+	<li> Add pipelines for other files in zip like images</li>
+	<li> Integration slide and lenya</li>
+      </ul>
+    </section>
+    
+  </body> 
+  </document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/mod_proxy.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/deployment/mod_proxy.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: mod_proxy.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Reverse Proxying Apache Lenya</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Apache 2: Enabling</title>
+<p>
+To enable mod_proxy for Apache 2: 
+</p>
+<source>
+<![CDATA[
+./configure --prefix=/usr/local/httpd-2.0.48 --enable-proxy
+make
+make install
+/usr/local/httpd-2.0.48/bin/httpd -l
+]]>
+</source>
+
+<!--
+<source>
+<![CDATA[
+LoadModule proxy_module modules/mod_proxy.so
+]]>
+</source>
+-->
+</section>
+
+<section>
+<title>Apache 1: Enabling</title>
+<p>
+To enable mod_proxy for Apache 1: 
+</p>
+<source>
+<![CDATA[
+./configure --prefix=/usr/local/apache_1.3.27 --enable-module=proxy
+make
+make install
+/usr/local/apache_1.3.27/bin/httpd -l
+]]>
+</source>
+</section>
+
+<section>
+<title>Configuration</title>
+<p>In order to run a Lenya site dynamically, add the following to your Apache httpd.conf file 
+after making sure that you have the mod_proxy module installed:</p>
+<source>
+<![CDATA[
+<VirtualHost 192.168.1.13>
+    ServerName 192.168.1.13
+    ServerAdmin lenya@cocoon.apache.org
+    DocumentRoot /home/lenya/build/apache_1.3.24/htdocs
+    ProxyPass          / http://192.168.1.13:8080/lenya/blog/live/
+    ProxyPassReverse   / http://192.168.1.13:8080/lenya/blog/live/
+    ErrorLog logs/blog-error_log
+    CustomLog logs/blog-access_log common
+</VirtualHost>
+]]>
+</source>
+</section>
+
+<section>
+<title>Related Links</title>
+<p>
+<link href="http://wiki.apache.org/cocoon/ApacheModProxy">http://wiki.apache.org/cocoon/ApacheModProxy</link>
+</p>
+</section>
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/1form.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/1form.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: 1form.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>HTML One Form Editor</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Integration</title>
+<p>In order to make an XML document editable by the One Form Editor, one needs to add a menu item as follows:</p>
+<source>
+<![CDATA[
+  <menus>
+    <menu name="File" label="File">
+      <block>
+        <item uc:usecase="1formedit" href="?lenya.step=open">Edit&#160;with&#160;one&#160;Form</item>
+        ...
+]]>
+</source>
+<p>
+Note that the filesystem path is generated by the path mapper which is configured within <code>pub-id/config/publication.xconf</code>.
+</p>
+<p>
+In order to get the redirect right after closing and saving the document, one might need to add a <code>redirect-to</code> entry to the publication specific sitemap.
+</p>
+</section>
+
+<section>
+<title>Configuration</title>
+<p>
+The One Form Editor can be configured within the generic Lenya usecase sitemap <code>lenya/usecase.xmap</code>.
+</p>
+</section>
+
+<section>
+<title>Validation</title>
+<p>
+Upon saving, the form content is validated against the appropriate Relax NG schema using the <code>ValidateAction</code>
+</p>
+</section>
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/bxe.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/bxe.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: bxe.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Bitflux Editor</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Configuration</title>
+<p>Required and Optional parameters</p>
+<ul>
+<li>BX_xmlfile: Actual Content (XML)</li>
+<li>BX_xslfile (or BX_xhtmlfile): Global Formatting (XSLT (or XHTML))</li>
+<li>css: Content Formatting (CSS)</li>
+<li>BX_exitdestination: Link (HTML)</li>
+<li>BX_validationfile: Schema (RNG)</li>
+</ul>
+</section>
+
+<section>
+<title>Namespace declaration</title>
+<p>resources/misc/bxe/*-namespaces.xml</p>
+</section>
+
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/htmlform.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/htmlform.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: htmlform.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Forms Editor</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>XUpdate</title>
+<p>The Forms Editor is using the <link href="http://xmldb.org/xupdate/xupdate-wd.html">XUpdate specification</link> from the xmldb group to update elements and attributes. 
+You can test-drive the XUpdate engine in Lenya by doing the following:</p>
+<source>
+<![CDATA[
+java -classpath lib/xmldb-common-2003-09-02.jar:lib/xmldb-xupdate-2003-09-02.jar:lib/log4j-1.2.8.jar:build/lenya/webapp/WEB-INF/lib/xercesImpl-2.4.0.jar:build/lenya/webapp/WEB-INF/lib/xalan-2.5.1.jar org.xmldb.xupdate.lexus.XUpdateQueryImpl xupdate.xml entry.xml
+]]>
+</source>
+</section>
+
+<section>
+<title>Customization</title>
+<p>Customization of the Forms Editor is done with stylesheets. You need to have one stylesheet for each doctype. The
+stylesheet goes into <code>lenya/xslt/formeditor/mydoctype.xsl</code>. A simple stylesheet may look like</p>
+<source>
+<![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+                                                                
+<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:import href="../../../../../xslt/authoring/edit/form.xsl"/>
+
+<xsl:template match="sidebar">
+ <xsl:apply-templates select="block"/>
+
+  <node name="Add Block">
+    <action><insert name="&lt;xupdate:append select=&quot;/sidebar&quot;&gt;&lt;xupdate:element name=&quot;block&quot;&gt;&lt;title&gt;New title&lt;/title&gt;&lt;content&gt;New content&lt;/content&gt;&lt;/xupdate:element&gt;&lt;/xupdate:append&gt;"/></action>
+  </node>
+</xsl:template>
+
+<xsl:template match="block">
+  <node name="Add Block">
+    <action><insert name="&lt;xupdate:insert-before select=&quot;/sidebar/block[@tagID='{@tagID}']&quot;&gt;&lt;xupdate:element name=&quot;block&quot;&gt;&lt;title&gt;New title&lt;/title&gt;&lt;content&gt;New content&lt;/content&gt;&lt;/xupdate:element&gt;&lt;/xupdate:insert-before&gt;"/></action>
+  </node>
+  <node name="Delete Block">
+    <action><delete name="&lt;xupdate:remove select=&quot;/sidebar/block[@tagID='{@tagID}']&quot;/&gt;"/></action>
+  </node>
+  <node name="Title" select="/sidebar/block/title[@tagID='{title/@tagID}']">
+    <content type="plain"><input type="text" name="&lt;xupdate:update select=&quot;/sidebar/block/title[@tagID='{title/@tagID}']&quot;&gt;" size="40"><xsl:attribute name="value"><xsl:value-of select="title"/></xsl:attribute></input></content>
+  </node>
+  <node name="Content" select="/sidebar/block/content[@tagID='{content/@tagID}']">
+    <content type="mixed">
+      <textarea name="&lt;xupdate:update select=&quot;/sidebar/block/content[@tagID='{content/@tagID}']&quot;&gt;" cols="40" rows="3">
+        <xsl:copy-of select="content/node()"/>
+      </textarea>
+    </content>
+ </node> 
+</xsl:template>
+ 
+</xsl:stylesheet>
+]]>
+</source></section>
+    
+<section>
+<title>Editing attributes</title>
+<p>To add editing of attributes, you need to change the XPath and XUpdate statements to select the attribute:</p>
+<source>
+<![CDATA[
+<xsl:template match="xhtml:table">
+  <node name="Background Color" select="/*/xhtml:table[@tagID='{@tagID}']/@class">
+    <content>
+      <textarea name="&lt;xupdate:update select=&quot;/*/xhtml:table[@tagID='{@tagID}']/@class&quot;&gt;" cols="40" rows="2">
+        <xsl:value-of select="@class"/>
+      </textarea>
+    </content>
+  </node>
+</xsl:template>
+]]>
+</source>
+</section>
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/kupu.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/kupu.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: kupu.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Kupu</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Download</title>
+<p>Information about Kupu development is available at the <link href="http://kupu.oscom.org/devel/">Kupu site</link>.</p>
+
+</section>
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/xopus.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/editors/xopus.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: xopus.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Xopus</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Demo</title>
+<p>Try Xopus at:</p>
+<source>
+<![CDATA[
+http://www.xopus.com/demo/index.html
+]]>
+</source>
+</section>
+
+<section>
+<title>Configuration</title>
+<p>Lenya needs to know the prefix of Xopus:</p>
+<source>
+<![CDATA[
+src/webapp/lenya/usecase.xmap
+src/webapp/lenya/resources/misc/xopus/index.html
+]]>
+</source>
+</section>
+
+<section>
+<title>Saving via POST</title>
+<p>To enable saving via POST, one needs to modify <code>$XOPUS/xopusPlugins/datadriver.js</code> as follows</p>
+<source>
+<![CDATA[
+    // Save data START
+    alert('Save XML via POST');
+    var result = Application.sendXML(doc, 'POST', name);
+
+    switch (result.status)
+    {
+      case 200:
+        //OK
+        var resultXML = result.responseXML;
+        alert('XML saved');
+        return;
+      case -1:
+        alert('Error while saving ' + name + ':\n\n' + result.responseText);
+        break;
+      default:
+        alert('Server responded not ok while saving ' + name + ':\n\nstatus:' + result.status + '\nmessage: ' + resul
+t.responseText);
+    }
+    // Save data END
+]]>
+</source>
+<p>
+whereas the text of the alerts might be replaced by something else.
+</p>
+</section>
+
+<section>
+<title>Exit Xopus</title>
+<p>To exit Xopus one needs to modify <code>$XOPUS/xopusPlugins/cmsdriver.js</code> as follows</p>
+<source>
+<![CDATA[
+  getExitURL: function(path)
+  {
+    exitURL = path.substring(0, path.indexOf('?'));
+    alert('Exit to: ' + exitURL);
+    return exitURL;
+  },
+]]>
+</source>
+<p>
+whereas the text of the alert might be replaced by something else.
+</p>
+</section>
+
+<section>
+<title>Making a page editable with Xopus: Schemas, Views (XSLT) and Menus</title>
+<p>Xopus needs an XML Schema for validation and an XSLT to view the document. The Schemas and XSLTs need to be located at:</p>
+<source>
+<![CDATA[
+$PUBLICATION/config/doctypes/schemas/$DOCTYPE.xsd
+$PUBLICATION/lenya/xslt/xopus/$DOCTYPE.xsl
+]]>
+</source>
+<p>
+whereas one might want to use <link href="http://www.thaiopensource.com/relaxng/trang.html">Trang</link> to generate XML Schemas.
+</p>
+<p>
+Editing with Xopus is implemented as a usecase. One can add a menu item as follows:
+</p>
+<source>
+<![CDATA[
+<item uc:usecase="xopus" href="?lenya.step=open&amp;doctype=$DOCTYPE">Edit&#160;with&#160;Xopus</item>
+]]>
+</source>
+</section>
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Hello Forrest</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+<section><title>Forrest as a Lenya Publication</title>
+<p>Thanks to Gregor, Andreas and Christian we now have Forrest as a Lenya publication.</p>
+<p>Click on the menu "File" and then click on the item "Edit with Xopus2" to edit this page.</p>
+</section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/lenya-menubar.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/lenya-menubar.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: lenya-menubar.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document> 
+
+<header> 
+    <title>The Lenya Menubar</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body>
+  
+<section><title>Defining the Menubar</title>
+
+<section><title>The XML Structure</title>
+<p>
+  A menubar declaration contains the definition of several menus.
+  Each menu consists of a set of blocks containing items.
+  The structure of a menu declaration looks as follows:
+</p>
+
+<source><![CDATA[<menu xmlns="http://apache.org/cocoon/lenya/menubar/1.0">
+
+  <menus>
+    
+    <menu label="File" name="File">
+      <block>
+        <item href="...">New Document</item>
+        <item href="...">New Language Version</item>
+        ...
+      </block>
+      ...
+    </menu>
+    
+    ...
+
+  </menus>
+
+</menu>]]></source>
+</section>
+
+<section><title>Showing Blocks and Items Only in Certain Tabs</title>
+
+<p>
+  When you use the same menu declaration for different tabs,
+  it might be wished that a menu item shouldn't appear in all
+  these tabs. For instance, the <em>Edit</em> menu item should
+  be displayed only in the <em>authoring</em> tab menu.
+</p>
+<p>
+  To disable a menu item or block, you add an attribute with
+  the name of the tab (<em>authoring</em>, <em>info</em>)
+  and the value <code>false</code>:
+</p>
+<source><![CDATA[<item info="false">...</item>
+
+<block authoring="false">
+  ...
+</block>
+]]></source>
+
+</section>
+
+<section><title>Specifying Usecases and Workflow Events</title>
+
+<p>
+  When a menu item calls a usecase or triggers a workflow transition,
+  and the corresponding action is not allowed, the <code>href</code>
+  attribute of the item is removed before the menu is rendered to
+  disable the item. For this purpose, the <code><![CDATA[<item>]]></code>
+  element supports the attributes
+</p>
+
+<ul>
+  <li><code>wf:event</code>,</li>
+  <li><code>uc:usecase</code>, and</li>
+  <li><code>uc:step</code>.</li>
+</ul>
+  
+<p>
+  If the attributes are provided, they are translated into the
+  appropriate request parameters:
+</p>
+
+<ul>
+  <li><code>wf:event -> lenya.event</code></li>
+  <li><code>uc:usecase -> lenya.usecase</code></li>
+  <li><code>uc:step -> lenya.step</code></li>
+</ul>
+  
+<p>
+  The attributes are used in the following way:
+</p>
+
+<source><![CDATA[<menu
+    xmlns="http://apache.org/cocoon/lenya/menubar/1.0"
+    xmlns:uc="http://apache.org/cocoon/lenya/usecase/1.0"
+    xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0">
+
+  ...
+
+  <item wf:event="edit"
+        uc:usecase="edit-forms"
+        uc:step="open" href="?...">Edit with Forms</item>
+  
+  ...
+
+</menu>]]></source>
+
+<p>
+  The resulting request would be
+</p>
+<source>?lenya.event=edit&amp;lenya.usecase=edit-forms&amp;lenya.step=open&amp;...</source>
+<p>
+  If a user is not allowed to invoke the event <code>edit</code>
+  or to execute the usecase <code>edit-forms</code>, the menu
+  item will be disabled.
+</p>
+
+</section>
+
+</section>
+  
+<section><title>Applying the Menubar - Meta Stylesheet Approach</title>
+
+<p>
+In this approach, the publication simply builds its XHTML
+page without any additional XML. The Lenya menubar is added using
+a meta stylesheet in the last transformation step.
+You find more information on meta stylesheets on the page
+<link href="http://wiki.cocoondev.org/Wiki.jsp?page=MetaStylesheets">MetaStylesheets</link>
+in the cocoondev wiki.
+</p>
+
+<section><title>The Big Picture (literally)</title>
+
+<p>
+<img src="images/live/lenya-page-processing.png" alt="Lenya page processing"/>
+</p>
+<p>
+In the left column you see the XML flow within the publication sitemaps,
+  the right column shows the flow within the core sitemaps.
+</p>
+
+<section><title>Creating the Menu XHTML</title>
+<ul>
+  <li>The actual menu XML is fetched from the sitemap <code>menus.xmap</code>
+  within the publication directory.</li>
+  <li>The XML is processed using the UsecaseMenuTransformer and the
+  WorkflowMenuTransformer.</li>
+  <li>The stylesheet <code>lenya/xslt/menu/menu2xhtml.xsl</code> transforms
+  the menu XML into XHTML.</li>
+  <li>Finally, this XHTML is transformed into a meta stylesheet by
+  <code>lenya/xslt/menu/menu2xslt.xsl</code>.</li>
+</ul>
+</section>
+
+<section><title>Requesting and Applying the Menubar</title>
+<ul>
+  <li>The XHTML page is generated without any additional XML.</li>
+  <li>Afterwards, the menubar meta stylesheet is requested using
+  a <code>cocoon://lenya-page/...</code> internal request.</li>
+  <li>This request is matched in <code>global-sitemap.xmap</code>.</li>
+  <li>The menubar meta stylesheet is applied to the XHTML page.
+  It inserts the menubar at the top of the HTML body, adds some
+  additional CSS file entries and modifies the HTML title.</li>
+</ul>
+</section>
+
+</section>
+
+<section><title>Configuring the Publication</title>
+
+<section><title>Requesting the lenya-page Meta Stylesheet</title>
+<p>The lenya-page meta stylesheet request looks as follows:</p>
+
+<source><![CDATA[
+<map:generate src="cocoon:/page/..."/>
+<map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/[menu-url]"/>
+<map:serialize type="html"/>
+]]></source>
+
+<ul>
+  <li>The <code>lenya-page</code> part is used to match the request in <code>global-sitemap.xmap</code>.</li>
+  <li>The <code>{page-envelope:publication-id}</code> part is used to evaluate which
+  publication the request came from.</li>
+  <li>The <code>[menu-url]</code> part is used to get the menu from <code>menus.xmap</code>.
+  Here you have to add all information you need to select the appropriate menubar.</li>
+</ul>
+</section>
+
+<section><title>Creating the Menu XML</title>
+<p>Usually, this is done using an XSP page.</p>
+<p>The Lenya menubar namespace is</p>
+<source>http://apache.org/cocoon/lenya/menubar/1.0</source>
+</section>
+
+<section><title>Supplying Menus in menus.xmap</title>
+<p>When the lenya-page meta stylesheet is generated in the core,
+the actual menu XML is fetched using a request to the sitemap
+<code>menus.xmap</code> in the publication directory.
+The <code>[menu-url]</code> part from the lenya-page request is
+matched in this sitemap.</p>
+
+<p>
+This simple <code>menus.xmap</code> pipeline uses different
+menus for authoring and live:
+</p>
+
+<source><![CDATA[
+<map:pipeline>
+  
+  <map:match pattern="live/**">
+    <map:generate type="serverpages"
+        src="../../content/menus/live.xsp"/>
+    <map:serialize type="xml"/>
+  </map:match>
+  
+  <map:match pattern="*/**">
+    <map:generate type="serverpages"
+        src="config/menus/generic.xsp"/>
+    <map:serialize type="xml"/>
+  </map:match>
+  
+</map:pipeline>
+]]></source>
+
+<p>You can as well use the document type or the current URL to
+select a menu.</p>
+
+<p>Examples for lenya-page requests:</p>
+
+<p>Using the area:</p>
+<source>cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:area}</source>
+
+<p>Using the document type:</p>
+<source>cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:document-type}</source>
+
+<p>Using the document URL:</p>
+<source>cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:document-url}</source>
+
+</section>
+
+</section>
+
+<section><title>Creating a Customized Menu</title>
+
+<p>
+  It is also possible to get the menu XML before it is transformed
+  to XHTML using a request to the core. For this purpose, the prefix
+  <code>menu-xml</code> is used instead of <code>lenya-page</code>.
+  This way, you can aggregate the menu XML together with other page parts
+  and include it somewhere inside the XML page.
+</p>
+
+<source><![CDATA[<map:aggregate element="lenya" label="aggregation">
+  <map:part src="cocoon:/lenyabody/{1}/{2}.xml"/>
+  <map:part src="cocoon://menu-xml/{page-envelope:publication-id}/{1}.xml"/>
+</map:aggregate>]]></source>
+</section>
+
+</section>
+
+
+<section><title>Applying the Menubar - Classic Approach</title>
+
+<note>This approach is deprecated.</note>
+
+<section>
+<title>XSLT</title>
+<p>
+By editing <code>src/webapp/lenya/xslt/menu/menu.xsl</code> one can change the look and feel of the Lenya menu bar.
+This XSLT template is being included by <code>src/webapp/lenya/xslt/menu/root.xsl</code>.
+</p> 
+</section>
+
+</section>
+
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/navigation.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/navigation.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,222 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: navigation.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC
+    "-//APACHE//DTD Documentation V1.1//EN"
+    "document-v11.dtd"
+    >
+    
+<document> 
+  <header> 
+    <title>The Navigation Framework</title>
+    <version major="0" minor="1">Initial version</version>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+    <notice></notice> 
+    <abstract>Proposal for a standard navigation framework.</abstract> 
+  </header> 
+  <body> 
+
+<section>
+  <title>Introduction</title>
+
+  <p>
+    To goal of the navigation framework is to
+  </p>
+  <ul>
+    <li>
+      simplify and standardize the generation of navigation
+      widgets like menubars, tabs, breadcrumb paths.
+    </li>
+  </ul>
+
+  <p>With the approach that is presented here it shall be possible to
+  </p>
+  <ul>
+    <li>
+      use pre-defined XHTML navigation components and present them
+      with a custom CSS,
+    </li>
+    <li>
+      override these components in a publication whereby the logic
+      can be reused, and
+    </li>
+    <li>
+      create and integrate new publication-specific navigation components
+      using the same scheme.
+    </li>
+  </ul>
+</section>
+    
+<section>
+  <title>Architecture</title>
+  
+  <p>
+    The navigation framework consists of the following components:
+  </p>
+    
+  <dl>
+    <dt><code>/lenya/navigation.xmap</code></dt>
+    <dd>The sitemap where the navigation components are loaded.<br/><br/></dd>
+    <dt><code>/lenya/xslt/navigation/*.xsl</code></dt>
+    <dd>The default navigation components that are shipped with Lenya.<br/><br/></dd>
+    <dt><code>/lenya/pubs/lenya/xslt/navigation/*.xsl</code></dt>
+    <dd>Custom navigation components of the publication.<br/><br/></dd>
+  </dl>
+  
+</section>
+
+<section>
+  <title>Using the Navigation Framework</title>  
+  
+  <section><title>Loading a Navigation Component</title>
+  
+    <p>
+      You can load a navigation component from the following URI:
+    </p>
+<source><![CDATA[
+cocoon://navigation/<pub-id>/<component>/<path>.xml
+]]></source>
+
+<p>
+The URI steps are:
+</p>
+<dl>
+  <dt><code>&lt;pub-id&gt;</code></dt>
+  <dd>The publicaton ID.</dd>
+  <dt><code>&lt;component&gt;</code></dt>
+  <dd>The navigation component to load (tabs, menu, etc.).</dd>
+  <dt><code>&lt;path&gt;</code></dt>
+  <dd>The navigation path. It is a concatenation of the <code>href</code>
+    attributes of the sitetree nodes that lead to the current node,
+    e.g. <code>demo/oscom.html</code> for the sitetree
+    fragment
+  </dd>
+</dl>
+<source><![CDATA[
+<site xmlns="http://apache.org/cocoon/lenya/sitetree/1.0">
+  <node href="demo/" label="Demo">
+    <node href="oscom.html" label="OSCOM"/>
+    ...
+  </node>
+  ...
+</site>
+]]></source>
+  
+  </section>
+  
+  <section><title>Aggregating the Navigation Components</title>
+  
+  <p>
+    The basic principle is shown in the following figure:
+  </p>
+  <p>
+  <img src="site:navigation.img" alt=""/>
+  </p>
+  
+  <p>
+    In the publication sitemap (<code>lenya/pubs/&lt;pub-id&gt;/sitemap.xmap</code>)
+    the navigation components are aggregated. Here you decide which components
+    you want to use:
+  </p>
+<source><![CDATA[
+    <map:pipeline>
+      <map:match pattern="navigation/**.html">
+(1)       <map:aggregate element="page" prefix="page"
+              ns="http://apache.org/cocoon/lenya/cms-page/1.0">
+              
+(2)         <map:part src="cocoon://navigation/
+                {publication-id}/breadcrumb/{../1}.html.xml"/>
+                
+(3)         <map:part src="cocoon://navigation/
+                {publication-id}/tabs/{../1}.html.xml"/>
+                
+(4)         <map:part src="cocoon://navigation/
+               {publication-id}/menu/{../1}.html.xml"/>
+               
+          </map:aggregate>
+          
+(5)       <map:transform src="xslt/page2xhtml.xsl">
+(6)          <map:parameter name="root"
+                 value="{context}/{publication-id}/"/>
+          </map:transform>
+        
+(7)     <map:serialize type="xhtml"/>
+
+      </map:match>
+    </map:pipeline>
+]]></source>
+  
+<ol>
+  <li>
+    The navigation elements are aggregated together with other document parts.
+  </li>
+  <li>
+    Load the breadcrumb XHTML fragment.
+  </li>
+  <li>
+    Load the tabs XHTML fragment.
+  </li>
+  <li>
+    Load the menu XHTML fragment.
+  </li>
+  <li>
+    Create the XHTML page.
+  </li>
+  <li>
+    The stylesheet can use this parameter to generate absolute URLs.
+  </li>
+  <li>
+    Finally, serialize the page as XHTML.
+  </li>
+</ol>
+
+  </section>
+  
+</section>
+  
+<section>
+  <title>Developing Navigation Components</title>
+  
+  <p>
+    The following contracts define the development of navigation components:
+  </p>
+  <ul>
+    <li>A navigation component is an XSLT stylesheet that is located at<br/><br/>
+    <dl>
+      <dt><code>lenya/xslt/navigation/&lt;component&gt;.xsl</code></dt>
+      <dd>for default components and<br/><br/></dd>
+      <dt><code>lenya/pubs/&lt;publication-id&gt;/lenya/xslt/&lt;component&gt;.xsl</code></dt>
+      <dd>for default components.<br/><br/></dd>
+    </dl>
+    </li>
+    <li>
+      The default components produce an XHTML fragment with the
+      top level element <![CDATA[<div class="<component>"/>]]>.
+    </li>
+  </ul>
+
+</section>
+
+  </body> 
+  <footer> 
+    <legal>© 200 wyona.org</legal> 
+  </footer>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/static-resources.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/static-resources.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: static-resources.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Serving Static Resources</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section><title>Serving Static Resources</title> 
+<p>Lenya now serves static resources out of the box. Publications can either
+use these predefined mappings, or provide their own. The following MIME types
+are handled:
+</p>
+<ul>
+  <li>CSS</li> 
+<li>Javascript</li>
+<li>Images (GIF, JPEG and PNG)</li>
+<li>PDF</li>
+<li>Shockwave Flash (*.swf)</li>
+</ul>
+
+<p>
+To use the built-in matching, these resources need to be stored in the
+appropriate directories within a publication, and called with the proper
+URLs.
+</p>
+<table>
+<tr><td>MIME Type</td><td>Prefix</td><td>Directory</td></tr>
+<tr><td>CSS</td><td>css/</td><td>resources/css/</td></tr>
+<tr><td>Javascript</td><td>javascript/</td><td>resources/javascript/</td></tr>
+<tr><td>Images</td><td>images/</td><td>resources/images/</td></tr>
+<tr><td>PDF</td><td>pdf/</td><td>resources/pdf/</td></tr>
+<tr><td>Flash</td><td>flash/</td><td>resources/flash/</td></tr>
+</table>
+<p>An image would thus be called with &lt;img src="images/logo.gif" /&gt;
+You dont have to worry about absolute vs relative image paths as long
+as you use URLs that follow this pattern.</p>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/xhtml-templating.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/layout/xhtml-templating.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: xhtml-templating.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>XHTML templating</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section><title>The XHTML Templating Concept</title> 
+<p>There are various approaches to templating within a Lenya
+publication. The XHTML approach is effective under the following
+conditions:
+</p>
+<ul>
+  <li>Designers want to edit the layout with their conventional tools.</li> 
+<li>The page layout contains large parts of static HTML.</li>
+<li>Pages are typically composed of simple elements.</li>
+</ul>
+
+<p>
+If these conditions are met, it is possible to define the overall
+layout of a page in a XHTML document, using tools like Dreamweaver.
+Special placeholders need to be inserted to indicate where Lenya
+elements should later be substituted. This can be done by inserting
+&lt;div id="navigation" /&gt; as the placeholder for the navigation, for
+instance, or &lt;div id="cmsbody" /&gt; for the body part of a page.
+</p><p>
+If these XHTML documents are finished, they can then be called
+from Lenya, and the placeholders be substituted with CMS content.
+Schematically, this process looks as follows:
+</p>
+<p>1)</p>
+
+<p>XML document (article)    -&gt;</p>
+<p>XML document (navigation) -&gt;  Aggregation to one XML document</p>
+<p>XHTML template            -&gt;</p> 
+
+<p>2)</p>
+
+<p>aggregated XML document   -&gt;  Processing with XSLT</p>
+<p>
+Step 2) identifies the various placeholders ( &lt;div id="navigation" /&gt;
+and &lt;div id="cmsbody" /&gt; in this example) and applies XSL transformations
+to substitute the placeholders with the transformed contents of
+(navigation, article) respectively.
+</p><p>
+What are the advantages of this approach?</p>
+<ul>
+  <li>less XSLT is required, making it easier to delegate design work</li>
+<li>XSLT are easier to understand, as they only affect a small part
+  of a page</li>
+</ul>
+<p>What are the pitfalls of this approach?</p>
+<ul>
+  <li>it may not be appropriate to put the content (here: article) into
+  the XHTML format</li>
+<li>template reuse may be hampered</li>
+</ul>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/link-management.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/link-management/link-management.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: link-management.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Link Management</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+
+  <body>
+    
+    <section>
+      <title>Introduction</title>
+
+      <p>Link Managements deals with internal links, i.e. documents
+      that refer to other documents within the same publication. These
+      links might have to be changed.</p>
+      <ol>
+	<li>if a document not yet live,</li>
+	<li>if it is withdrawn from live or </li>
+	<li>if its document-id has changed because it is moved to a
+        different location within the site tree.</li>
+	<li>references in authoring have to link to documents in
+	<code>authoring</code>, however once they are published they
+	need to refer to documents in <code>live</code></li>
+      </ol>
+
+      <p>These four cases have to be dealt with seperately.</p>
+      <section>
+	<title>A document is not yet live</title>
+	<p>This case can happen if the user tries to publish a
+	document which has a reference to another document which has
+	not been published yet. The reference will be stale as the
+	refered document is not in the live area yet. A warning will
+	be issued during the publishing process.</p>
+      </section>
+
+      <section>
+	<title>A document is withdrawn from live</title>
+	<p>If a document which is has references to it is withdrawn
+	from the live area the references will be stale, as the
+	refered document is no longer available in the live area. A
+	warning will be issued during the deactivation process.</p>
+      </section>
+
+      <section>
+	<title>A document-id changes</title>
+	<p>If a document is moved within the site tree such that it
+	changes its document-id (e.g. cut a document and paste it
+	somewhere else in the hierarchy in the site area) then all
+	references to this document have to be changed. This is done
+	transparently in the course of the paste.</p>
+      </section>
+
+      <section>
+	<title>Rewrite internal links in live</title>
+	<p>Internal links refer to documents in authoring as long as
+	they are not published. However as soon as they are published,
+	i.e. reside in the live area their references have to go to
+	documents in the live area. A transformer takes care of
+	rewriting the internal links.</p>
+      </section>
+    </section>
+
+    <section>
+      <title>Implementation</title> <p>The implementation is pretty
+      straight-forward and is mostly handled in XSPs and associated
+      helper classes. The heavy lifting us done is the class
+      <code>Grep</code> and the helper class
+      <code>DocumentReferencesHelper</code>. The <code>Grep</code>
+      class can traverse the repository and find references to the
+      current document or can also find references from the current
+      document to other documents. A transformer
+      (SimpleLinkRewritingTransformer) is used to rewrite the internal
+      links in the live area.</p>
+
+      <section>
+	<title>A document is not yet live</title>
+
+	<p>This is implemented as an extension to the publish xsp. It
+	  queries the <code>DocumentReferencesHelper</code> (using the
+	  <code>getInternalReferences</code> method) to ask if there
+	  are references from the current document to other documents
+	  which have not been published yet. The
+	  <code>DocumentReferencesHelper</code> in turn uses the
+	  <code>Grep#findPattern</code> method to search the current
+	  document for patterns of a reference. The pattern is defined
+	  in <code>DocumentReferencesHelper#getInternalLinkPattern</code>.</p>
+      </section>
+
+      <section>
+	<title>A document is withdrawn from live</title>
+
+	<p>This is implemented as an extension to the deactivate
+	  xsp. It queries the <code>DocumentReferencesHelper</code>
+	  (using the <code>getReferences</code> method) to ask if any
+	  other documents refer to the current document. The
+	  <code>DocumentReferencesHelper</code> in turn uses the
+	  <code>Grep#find</code> method to search the repository for
+	  documents which contain a patterns of a reference. The
+	  pattern is defined in
+	  <code>DocumentReferencesHelper#getReferencesSearchString()</code>.</p>
+      </section>
+
+      <section>
+	<title>A document-id changes</title>
+
+	<p>This is implemented with an ant task
+	  (<code>org.apache.lenya.cms.ant.LinkRewriteTask</code>)
+	  which traverses the repository and pipes all documents
+	  through an XSLT stylesheet
+	  (<code>src/webapp/lenya/xslt/util/linkRewrite.xsl</code>) to
+	  modify all references to the document that changed its
+	  document-id.
+	</p>
+      </section>
+
+      <section>
+	<title>Rewrite internal links in live</title>
+
+	<p>The
+	  <code>org.apache.lenya.cms.cocoon.transformation.SimpleLinkRewritingTransformer</code>
+	  transformer takes care of rewriting internal links to ensure
+	  they refer to the appropriate area.
+	</p>
+      </section>
+
+    </section>
+
+    <section>
+      <title>Involved classes, XSPs and XSLTs</title>
+
+      <p>The following classes, XSPs and XSLTs are involved in link
+      management:</p>
+      <dl>
+	<dt>org.apache.lenya.cms.publication.xsp.DocumentReferencesHelper</dt>
+	<dd>A helper class for the publish and deactivate
+	xsps. Defines the regular expressions for internal links. Has
+	methods to deteremine all references from the current document
+	to other documents (<code>getInternalReferences</code>) and to
+	determine all references from other documents to the current
+	document (<code>getReferences</code>).</dd>
+	<dt>org.apache.lenya.search.Grep</dt>
+	<dd>User by <code>DocumentReferencesHelper</code> to search
+	for patterns in a file or in a directory tree.</dd> 
+	<dt>org.apache.lenya.cms.ant.LinkRewriteTask</dt>
+	<dd>An ant task that upon change of a document-id pipes all
+	documents of the repository through a XSLT stylesheet which
+	rewrites internal links that were refering to the old
+	document-id to refere to the new one.</dd> 
+	<dt>org.apache.lenya.cms.cocoon.transformation.SimpleLinkRewritingTransformer</dt>
+	<dd>A transformer that rewrites internal links for the
+	appropriate area.</dd>
+	<dt>$publication-id/config/tasks/targets.xml</dt>
+	<dd>Defines the <code>move-and-rewrite</code> target which
+	handles the link rewriting in the case of a paste, i.e. when a
+	document-id has changed.</dd>  
+	<dt>src/webapp/lenya/xslt/util/linkRewrite.xsl</dt>
+	<dd>The XSLT transformation used by
+	<code>LinkRewriteTask</code> to actually rewrite the internal links.</dd>
+	<dt>src/webapp/lenya/content/publishing/screen.xsp, src/webapp/lenya/xslt/publishing/publish-screen.xsl</dt>
+	<dd>Query the <code>DocumentReferencesHelper</code> to display
+	a warning in case the current document contains references to
+	documents which have not been published yet.</dd>
+	<dt>src/webapp/lenya/content/info/deactivate.xsp, src/webapp/lenya/xslt/info/deactivate.xsl</dt>
+	<dd>Query the <code>DocumentReferencesHelper</code> to display
+	a warning in case there are links to the current document
+	which is about to be deactivated.</dd>
+      </dl>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/metadata.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/metadata/metadata.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: metadata.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Meta Data</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+
+  <body>
+    
+    <section>
+      <title>Introduction</title>
+
+      <p>Meta data is kept directly inside the xml document. It is
+      based on the <link href="http://dublincore.org">Dublin Core</link>
+      standard.</p>
+
+      <p>There are basically three use cases:</p>
+      <ol>
+	<li>Create Meta Data</li>
+	<li>Display Meta Data</li>
+	<li>Modify Meta Data</li>
+      </ol>
+
+    </section>
+
+    <section>
+      <title>Implementation</title> 
+
+      <p></p>
+
+      <section>
+	<title>Create Meta Data</title>
+
+	<p>Upon creation of a document a sample is copied from the
+	sample doctype directory. This sample already contains some
+	sample meta data. The creator then applies an XSLT
+	transformation to this sample which adapts the sample values
+	to the values suplied in the creator request. This values are
+	partially filled in by the user (subject, desciption, etc.)
+	and partly by the system (creator, creation data). This is
+	done in the <code>create</code> ant task which at the end
+	invokes an xslt task which applies the
+	<code>addMetaData.xsl</code> stylesheet which adapts the meta
+	data according to the request values.</p>
+
+      </section>
+
+      <section>
+	<title>Display Meta Data</title>
+
+	<p>The display of meta data is handled by the <code>meta.xsp</code> xsp.</p>
+
+      </section>
+
+      <section>
+	<title>Modify Meta data</title>
+
+	<p>The modification of meta data is handled in the
+	<code>info.xmap</code> sitemap. The matcher makes sure to
+	check the document out before the modification and checking it
+	back in after the modification. This is done using the
+	<code>ReservedCheckoutTestAction</code> and
+	<code>ReservedCheckinAction</code>.  If there is an error the
+	request is redirected to the meta data screen which displays a
+	warning saying that the checkout or checkin failed and who was
+	locking the document since what date and time.</p>
+
+	<p>Once the document is checked out the madifications are
+	applied with the help of an ant task. There is a target named
+	<code>save-meta-data</code> which simply invokes the ant task
+	<code>WriteDCParametersTask</code>.  This task saves the meta
+	data using the <code>DublinCore</code> interface.</p>
+
+      </section>
+    </section>
+
+    <section>
+      <title>Involved classes, XSPs and XSLTs</title>
+
+      <p>The following classes, XSPs and XSLTs are involved in meta
+      data handling:</p>
+      <dl>
+	<dt>org.apache.lenya.cms.ant.WriteDCParametersTask</dt>
+	<dd>A simple ant task which saves the meta data which is
+	  passed as arguments to file using the
+	<code>DublinCore</code> class.</dd>
+	<dt>$publication-id/config/tasks/targets.xml</dt>
+	<dd>Defines the <code>save-meta-data</code> target which
+	handles saving of meta data with the help of the
+	<code>WriteDCParametersTask</code> ant task. Also defines
+	the <code>create</code> target which is used create new
+	documents and to change the meta data according to the request
+	values from the creation request.</dd>
+	<dt>org.apache.lenya.cms.publication.DublinCore</dt>
+	<dd>A simple interface to save and retrieve dublin core meta
+	data.</dd>
+	<dt>org.apache.lenya.cms.cocoon.acting.ReservedCheckoutTestAction</dt>
+	<dd>Action that tests if a document can be checked out and if
+	yes does check it out (See <link
+	href="../revisioncontrol/revisioncontroller.html">Revision Controller</link>).</dd>
+	<dt>org.apache.lenya.cms.cocoon.acting.ReservedCheckinAction</dt>
+	<dd>Action that checks a document in (See <link
+	href="../revisioncontrol/revisioncontroller.html">Revision Controller</link>).</dd>
+	<dt>src/webapp/lenya/content/info/meta.xsp, src/webapp/lenya/xslt/info/info.xsl</dt>
+	<dd>Handle the display of the meta data in the info area. This
+	is also a form which can be used to modify the meta data via a
+	POST request.</dd>
+	<dt>src/webapp/lenya/xslt/authoring/addMetaData.xsl</dt>
+	<dd>Simple XSLT stylesheet that modifies the meta data
+	according to the input parameters.</dd>
+      </dl>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/multilingual.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/multilingual/multilingual.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: multilingual.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Mulitilingual Document handling</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+
+  <body>
+    
+    <section>
+      <title>Introduction</title>
+
+      <p>Mulitilingual Document handling deals with documents of
+      different languages. This affects virtually every part of Lenya,
+      namely many aspects of work flow such as creation, publication,
+      deactivation, deletion. It also affects access control, meta
+      data, etc.</p>
+
+      <p>The multilingual capabilities are not a mandatory feature of
+      Lenya. You can easily create monolingual publication by simply
+      replacing a few properties in
+      <code>publication.xconf</code>.</p>
+
+      <p>The multilingual capabilities are deeply ingrained in the
+      core of Lenya and as such a conceptual overview has to delve
+      into many areas of Lenya. The main parts of the multilingual
+      capabilities are as follows:</p>
+
+      <dl>
+	<dt>Site tree</dt>
+	<dd>The <link href="../publication/siteTree.html">site
+	tree</link> contains information about documents. It has been
+	expanded to also contain information about different language
+	versions of the same document. Different language versions of
+	the same document share the same
+	<code>document-id</code>.</dd>
+
+	<dt>Default language</dt> 
+	<dd>A publication has a default language. This is the language
+	in which the document is created. However it is not
+	necessarily the case that there is always a document version
+	in the default language as the user is allowed to remove any
+	language version even the one for the default language.<br/>
+	If you specify an URL without a language suffix you are
+	redirected to the default language document.</dd>
+
+	<dt>publication.xconf</dt>
+	<dd>This is where the available languages and the default
+	language are specified.</dd>
+
+	<dt>page-envelope</dt> 
+	<dd>The <link
+	href="../publication/pageenvelopemodule.html">page
+	envelope</link> exports document specific information such as
+	document-id via an input module. Naturally language specific
+	information for the current document is also available via the
+	page envelope.
+	</dd>
+
+	<dt>Redirection</dt>
+	<dd>If you request a document <code>foo.html</code> in a
+	multilingual publication you will internally be redirected to
+	<code>foo_en.html</code> if "en" is the default language.</dd>
+
+	<dt>Special cases</dt>
+	<dd>Some special care has to be taken when removing language
+	versions. The current implementation does not allow the user
+	to remove all language versions of a document. There always
+	has to be at least one language version.
+	</dd>
+      </dl>
+
+
+    </section>
+
+    <section>
+      <title>Implementation</title>
+
+      <p></p>
+
+      <section>
+	<title>Site tree</title>
+
+	<p>The site tree contains nodes for each document. Each node
+	can contain multiple <code>label</code> nodes for each
+	language version of the document.</p>
+
+	<source><![CDATA[
+<node id="doctypes">
+	<label xml:lang="de">Dokumenttypen</label>
+	<label xml:lang="en">Document types</label>
+	<node id="1column">
+		<label xml:lang="de">1 Spalte</label>
+	</node>
+</node>
+]]></source>
+
+	<p>The classe <code>SiteTree</code> and
+	<code>SiteTreeNode</code> provide interfaces to the nodes and
+	the corresponding label nodes.</p>
+
+      </section>
+
+      <section>
+	<title>publication.xconf</title>
+
+	<p>The <code>languages</code> node in
+	<code>publication.xconf</code> defines the languages that are
+	available for this publication and also defines the default language.</p>
+	<source><![CDATA[
+<languages>
+  <language default="true">de</language>
+  <language>en</language>
+</languages>
+]]></source>
+
+	<p>This information is available via the
+	<code>Publication</code> class
+	(<code>getDefaultLanguage()</code> and
+	<code>getLanguages()</code> methods).</p>
+      </section>
+
+      <section>
+	<title>page-envelope</title>
+
+	<p>The <link
+	href="../publication/pageenvelopemodule.html">page-envelope
+	input module</link> exports language related information,
+	namely <code>default-language</code>,
+	<code>document-label</code>, <code>document-language</code>,
+	<code>document-languages</code> and
+	<code>document-languages-csv</code>.</p>
+      </section>
+
+      <section>
+	<title>Redirection</title>
+
+	<p>The <code>DefaultDocumentBuilder</code> which implements the
+	<code>DocumentBuilder</code> interface, takes care of
+	redirecting language agnostic URLs (such as
+	<code>foo.html</code>) to language aware links
+	(<code>foo_en.html</code>), i.e. language agnostic links are
+	redirected to the language aware link with the default language.</p>
+      </section>
+
+      <section>
+	<title>Addition and removal</title>
+
+	<p>More language versions are added with the "Create new
+	language version" screen. Existing language versions can be
+	removed with the "Remove Language" screen. These screens are
+	generated by <code>create-language.xsp</code>,
+	<code>create-language.xsl</code>, <code>removelabel.xsp</code>
+	and <code>removelabel.xsl</code>.</p>
+
+	<p>The creation of a new language version is done via the
+	<code>create-language</code> target which uses the
+	<code>InsertLabelTask</code> ant task to insert a label in the
+	site tree.</p>
+
+	<p>The removal of a language version is done via the
+	<code>remove-language</code> target, which uses the
+	<code>RemoveLabelTask</code> ant task (which removes the label
+	from the site tree).</p>
+      </section>
+    </section>
+
+    <section>
+      <title>Involved classes, XSPs and XSLTs</title>
+
+      <p>The following classes, XSPs and XSLTs are involved in
+      multilingual document handling:</p>
+      <dl>
+	<dt>org.apache.lenya.cms.publication.SiteTree and org.apache.lenya.cms.publication.SiteTreeNode</dt>
+	<dd>These interfaces provide acces to the label nodes.</dd>
+	<dt>org.apache.lenya.cms.publication.Publication</dt>
+	<dd>Provides access to the default language and to all
+	available languages.</dd>
+	<dt>org.apache.lenya.cms.publication.PageEnvelope</dt>
+	<dd>Exports language related information such as
+	<code>default-language</code>, <code>document-language</code>,
+	etc.</dd>
+	<dt>org.apache.lenya.cms.publication.DefaultDocumentBuilder</dt>
+	<dd>Builds a document with the given language. The default
+	implementation also takes care of redirecting
+	<code>foo.html</code> to <code>foo_en.html</code>.</dd>
+<!-- 	FIXME: move this to the core -->
+	<dt>$publication-id/lenya/content/authoring/create-language.xsp,
+	$publication-id/lenya/xslt/authoring/create-language.xsl
+	</dt>
+	<dd>Generate the "Create new language version" screen.</dd>
+	<dt>src/webapp/lenya/content/authoring/removelabel.xsp, src/webapp/lenya/xslt/authoring/removelabel.xsl
+	</dt>
+	<dd>Generate the "Remove Language" screen.</dd>
+	<dt>org.apache.lenya.cms.ant.InsertLabelTask</dt>
+	<dd>Ant task to add a label to the site tree.</dd>
+	<dt>org.apache.lenya.cms.ant.RemoveLabelTask</dt>
+	<dd>Ant task to remove a label from the site tree.</dd>
+	<dt>$publication-id/config/tasks/targets.xml</dt>
+	<dd>Defines the <code>create-language</code> and the
+	<code>remove-language</code> target which
+	handle the addition and removal of language versions of a document.</dd>  
+      </dl>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/URIParametrizer.png
==============================================================================
Binary file. No diff available.

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/pageenvelopemodule.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/pageenvelopemodule.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: pageenvelopemodule.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>The PageEnvelopeModule</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+
+<section><title>Overview</title>
+<p>
+The <code>PageEnvelopeModule</code> is an <code>InputModule</code>
+that provides access to the <code>PageEnvelope</code> parameters. For
+documentation on input modules see section <link
+href="http://cocoon.apache.org/2.1/userdocs/concepts/modules.html">Modules</link>
+of the Cocoon documentation.
+</p>
+</section>
+  
+<section><title>Module Parameters</title>
+<dl>
+  <dt>publication-id</dt>
+  <dd>The current publication ID.</dd>
+  <dt>context-prefix</dt>
+  <dd>The context prefix of the web application, e.g. <code>/lenya</code>.</dd>
+  <dt>area</dt>
+  <dd>The CMS area, <code>authoring</code> or <code>live</code>.</dd>
+  <dt>publication</dt>
+  <dd>The current publication</dd>
+  <dt>document-id</dt>
+  <dd>The document ID, i.e. the path of the document in the sitetree.</dd>
+  <dt>document-name</dt>
+  <dd>The document name, i.e. the very last part of the document ID.</dd>
+  <dt>document-url</dt>
+  <dd>The URL of the document within the area, e.g., <code>/news/index.html</code></dd>
+  <dt>document-path</dt>
+  <dd>The file path where this document is physically located in the
+  file system.</dd>
+  <dt>document-language</dt>
+  <dd>The language of this document.</dd>
+  <dt>document-type</dt>
+  <dd>The document type.</dd>
+</dl>
+</section>
+
+<section><title>Sitemap usage</title>
+<source>
+<![CDATA[<map:parameter name="document-id" value="{page-envelope:document-id}"/>]]>
+</source>
+</section>
+
+<section><title>XSP usage</title>
+<source>
+<![CDATA[<xsp:page
+       language="java"
+       xmlns:xsp="http://apache.org/xsp"
+       xmlns:input="http://apache.org/cocoon/xsp/input/1.0">
+
+<usecase:url>
+  <input:get-attribute
+      module="page-envelope" as="string" name="document-url"/>
+</usecase:url>
+  
+</xsp:page>       
+]]>
+</source>
+</section>
+
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/siteTree.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/siteTree.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,202 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: siteTree.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+<document> 
+  <header> 
+    <title>Site Tree</title>
+    <version major="0" minor="1">Initial version</version>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+    <notice></notice> 
+    <abstract>Proposal for a a general framework for management of
+    navigation for a publication.</abstract> 
+  </header> 
+  <body> 
+
+    <section>
+      <title>Motivation</title>
+
+      <p>Currently there is no standard way to manage the navigation
+in Lenya. Previous attempts have shown their own merits and
+drawbacks. A general and standard approach is needed.</p>
+
+    </section>
+
+    <section>
+      <title>Rationale</title>
+
+      <p>The basic problems we're trying to solve are as follows:</p>
+      <ol>
+	<li>Maintain the navigation in an easy format independent of
+	the actual storage of the documents.</li> 
+	<li>Enable moving of documents.</li>
+	<li>Enable querying of doctype independent of request URI.</li>
+      </ol>
+
+      <section>
+	<title>Navigation</title>
+	
+	<p>There are a couple of known implementations to choose from:</p>
+	<ul>
+	  <li>The existing Lenya tree.xml</li> 
+	  <li>The Forrest site.xml.</li>
+	  <li>The hashmap way: A sitetree.xml and purlspace.xml combination
+   where the purlspace.xml contains all existing documents and
+   sitetree.xml contains the navigation hierarchy.</li>
+	</ul>
+      </section>
+
+      <section>
+	<title>Moving Of Documents</title>
+	
+	<p>The Forrest site.xml solves this quite elegantly: Due to the use of
+XPath and some ambiguity the documents can be found almost
+independent of their actual location</p>
+
+	<p>With the existing Lenya or the hashmap solution changing of document
+location requires editing of the tree.xml or the purlspace.xml
+respectively.</p>
+      </section>
+
+      <section>
+	<title>Doctype Querying</title>
+	
+	<p>For question 3 there are a couple of known approaches:</p>
+
+	<section>
+	  <title>Hashmap</title>
+	  <p>This method uses an action which contains for each
+   request URI a mapping to attributes such as doctype, srcfile, xslt,
+   etc.</p>
+	</section>
+	<section>
+	  <title>Forrest SourceTypeAction</title>
+	  <p>Forrest contains an action which for a given request
+   opens the source file and determines its doctype based on the dtd
+   declaration.</p>
+	</section>
+	<section>
+	  <title>URIParametrizer</title>
+	  <p>The URIParametrizer is a black box (probably an action)
+   which internally issues cocoon requests to different sitemaps which
+   return different attributes (doctype, etc.) for a given request
+   URI.</p>
+	  <p>This amounts to a combination of the hashmap solution
+   with the basic cocoon concepts: The request URIs aren't matched
+   against a hashmap but are handled by a sitemap instead. The sitemap
+   contains normal pipelines and matchers which match on the
+   request. As a catch-all there is still the possibility of using a
+   hashmap for URIs that didn't match any pipelines.</p>
+	  <p>Finally a new (internal) request is generated using the
+   parameter values. This request is handled by a normal cocoon
+   sitemap as if the original request had contained these
+   parameters.</p>
+	  <figure src="URIParametrizer.png" alt="Diagram of URIParametrizer"/>
+	</section>
+      </section>
+    </section>
+    
+    <section>
+      <title>The Sitetree Schema</title>
+      <p>The proposed sitetree schema looks as follows:</p>
+<source><![CDATA[
+<?xml version="1.0"?>
+
+<xs:schema
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://apache.org/cocoon/lenya/sitetree/1.0"
+    xmlns="http://apache.org/cocoon/lenya/sitetree/1.0"
+    elementFormDefault="qualified">
+    
+  <xs:element name="site">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="node"
+            minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="node">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="node"
+            minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="href" type="xs:string"/>
+      <xs:attribute name="label" type="xs:string"/>
+    </xs:complexType>
+  </xs:element>
+    
+</xs:schema>
+]]></source>
+
+      <p>
+        An example <code>sitetree.xml</code> could look like follows:
+      </p>
+      
+<source><![CDATA[
+<site
+    xmlns="http://apache.org/cocoon/lenya/sitetree/1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation=
+        "http://apache.org/cocoon/lenya/sitetree/1.0
+        ../../../../resources/entities/sitetree.xsd">
+    
+  <node href="index.html" label="Home"/>
+  
+  <node href="demo/" label="Demo">
+    <node href="unipublic.html" label="Unipublic"/>
+    <node href="news.html" label="Wyona News and Comments"/>
+    <node href="oscom.html" label="OSCOM"/>
+  </node>
+  
+  <node href="download/" label="Download">
+    <node href="source.html" label="Source Version"/>
+    <node href="binary.html" label="Binary Version"/>
+  </node>
+  
+  <node href="documentation/" label="Documentation"/>
+
+</site>
+]]></source>
+      
+    </section>
+
+    <section>
+      <title>Backwards Compatibility</title>
+      <p>There has not been a previous implementation, so this is a non-issue.</p>
+    </section>
+
+    <section>
+      <title>Roadmap</title>
+      <ul>
+	<li>Decide which solution to choose</li>
+      </ul>
+    </section>
+
+    <section>
+      <title>Reference Implementation</title>
+      <p>None</p>
+    </section>
+
+  </body> 
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/sitemaps.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/publication/sitemaps.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: sitemaps.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Sitemaps, and their functions</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section><title>The Sitemap Concept</title> 
+<p>The goal of the sitemap is to allow non-programmers to create 
+web sites and web applications built from logic components and XML documents. Lenya
+uses sitemaps to tie together the various parts of its functionality. Understanding
+how sitemaps work is therefore crucial to customize Lenya.
+</p>
+<p>Lenya uses the following sitemaps:</p>
+<ol>
+<li>webapp/sitemap.xmap</li>
+<li>webapp/lenya/admin.xmap</li>
+<li>webapp/lenya/lenya.xmap</li>
+<li>webapp/lenya/lucene.xmap</li>
+<li>webapp/lenya/navigation.xmap</li>
+<li>webapp/lenya/import.xmap</li>
+<li>webapp/lenya/resources.xmap</li>
+<li>webapp/lenya/pubs/default/doctypes.xmap</li>
+<li>webapp/lenya/pubs/default/parameter-doctype.xmap</li>
+<li>webapp/lenya/pubs/default/publication-sitemap.xmap</li>
+<li>webapp/lenya/pubs/default/sitemap.xmap</li>
+</ol>
+</section>
+<section><title>1) The root Sitemap</title> 
+<p>This is the regular Cocoon Sitemap. It contains Lenya additions that need to be globally available.
+Its main function is to mount various sub-sitemaps. 
+</p>
+<ul>
+<li>The ServletProxy Generator</li>
+<li>The Parent-Child Action</li>
+<li>The Page Envelope Action</li>
+<li>The File Upload Action</li>
+<li>The Navigation Resource</li>
+<li>The Publications Pipeline</li>
+<li>The Publications Introduction Matcher</li>
+<li>The Admin Area Mountpoint</li>
+<li>The Lucene Search Mountpoint</li>
+<li>The Lenya GUI Mountpoint</li>
+<li>The Navigation Mountpoint</li>
+<li>The Publication Mountpoint</li>
+<li>The Resources Mountpoint</li>
+</ul>
+</section>
+<section><title>2) The administrative Sitemap</title> 
+<p> 
+</p>
+</section>
+<section><title>4) The Lenya Sitemap</title> 
+<p>
+This Sitemap contains GUI elements for Lenya, such as the menu bar, CSS stylesheets, and images. 
+It is mounted under /lenya/lenya 
+</p>
+</section>
+<section><title>5) The Lucene Sitemap</title> 
+<p> 
+This Sitemap contains the functionality for the Lucene Search engine. It is mounted under /lenya/[publication]/search/lucene</p>
+</section>
+<section><title>6) The Navigation Sitemap</title> 
+<p>The Navigation sitemap contains the functionality for creating the navigation and breadcrumb paths automatically.
+</p>
+</section>
+<section><title>7) The OpenOffice Sitemap</title> 
+<p>The OpenOffice Sitemap contains functionality to deal with OpenOffice documents inside Lenya.  
+</p>
+</section>
+<section><title>8) The Resources Sitemap</title> 
+<p>The resources sitemap serves static resources, as described in <link href="site:xhtml-templating">Serving static Resources</link>
+</p>
+</section>
+<section><title>10) The Doctypes Sitemap</title> 
+<p>
+This Sitemap defines the doctypes used in a publication, and enables mixing and matching of doctypes
+throughout a publication. 
+</p>
+</section>
+<section><title>14) The Publication Sitemap</title> 
+<p>
+The publication sitemap contains the main functionality of a publication. The bulk of a publications
+logic should go in here. 
+</p>
+</section>
+<section><title>15) The Publication Root Sitemap</title> 
+<p>
+The publication root sitemap links together all the sitemaps of a publication and implements access control. 
+</p>
+</section>
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/webdav.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/repository/webdav.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: webdav.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>WebDAV Servers</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Apache 1</title>
+<p>
+Download the Apache Web Server and WebDAV module source code from the Apache website, e.g. <code>apache_1.3.24.tar.gz</code> and <code>mod_dav-1.0.3-1.3.6.tar.gz</code>.
+Configure and compile mod_dav:
+</p>
+<source>
+<![CDATA[
+wget http://www.webdav.org/mod_dav/mod_dav-1.0.3-1.3.6.tar.gz
+cd /usr/local/src/mod_dav-1.0.3-1.3.6
+./configure --with-apache=/usr/local/src/apache_1.3.24
+make
+make install
+cd /usr/local/src/apache_1.3.24
+find . -name "*dav*" -print
+./configure --prefix=/usr/local/apache --activate-module=src/modules/dav/libdav.a
+(./configure --prefix=/usr/local/apache --enable-module=proxy --activate-module=src/modules/dav/libdav.a)
+make
+su
+make install
+/usr/local/apache/bin/httpd -l
+]]>
+</source>
+
+<p>
+You need to reconfigure <code>httpd.conf</code>, e.g.:
+</p>
+<source>
+<![CDATA[
+DAVLockDB /usr/local/apache/logs/DavLock
+<Directory "/usr/local/build/apache/htdocs">
+Dav On
+]]>
+</source>
+
+<p>
+To see the files open "Konqueror" and type <code>webdav://127.0.0.1:8080</code>.
+</p>
+
+<p>
+More info on <code>mod_dav</code> can be found at
+</p>
+<ul>
+<li><link href="http://www.webdav.org/mod_dav/">http://www.webdav.org/mod_dav/</link></li>
+<li><link href="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Apache-WebDAV-LDAP-HOWTO.html">Apache and DAV with LDAP and SSL</link></li>
+</ul>
+</section>
+
+<section>
+<title>Apache 2</title>
+<p>
+Download the Apache Web Server source code from the Apache website, e.g. <code>httpd-2.0.46.tar.gz</code>.
+The mod_dav module is inlcuded with the Apache 2 distribution.
+Configure and compile Apache:
+</p>
+<source>
+<![CDATA[
+./configure --prefix=/usr/local/apache2 --with-dav --enable-dav
+make 
+make install
+/usr/local/apache2/bin/httpd -l | grep dav
+]]>
+</source>
+
+<p>
+You need to reconfigure Apache:
+</p>
+<source>
+<![CDATA[
+DAVLockDB /usr/local/apache2/logs/DavLock
+<Directory "/usr/local/apache2/htdocs">
+Dav On
+</Directory>
+]]>
+</source>
+
+<p>
+More info on <code>mod_dav</code> can be found at
+</p>
+
+<ul>
+<li><link href="http://apacheworld.org/ty24/site.chapter13.html">http://apacheworld.org/ty24/site.chapter13.html</link></li>
+<li><link href="http://httpd.apache.org/docs-2.0/mod/mod_dav.html">http://httpd.apache.org/docs-2.0/mod/mod_dav.html</link></li>
+<li><link href="http://www.informit.com/isapi/product_id~%7BA27264B1-CE7A-47A4-8CC5-DA14003AD454%7D/element_id~%7B35D4A98B-60C6-45BE-853C-239742BA0FD9%7D/st~%7BEA04B5C6-6D59-4670-AC88-4982C49B746D%7D/content/articlex.asp">Apache and DAV</link></li>
+</ul>
+</section>
+
+<section>
+<title>Tomcat</title>
+<p>
+Point your WebDAV client to <code>http://127.0.0.1:8080/webdav/</code>.
+The webdav context is DAV enabled, but has been set up in read-only mode for safety reasons.
+It can be put in read-write mode by editing the web application descriptor file <code>/webapps/webdav/WEB-INF/web.xml</code>.
+</p>
+<source>
+<![CDATA[
+<!-- Uncomment this to enable read and write access -->
+<init-param>
+  <param-name>readonly</param-name>
+  <param-value>false</param-value>
+</init-param>
+]]>
+</source>
+</section>
+
+<section>
+<title>Apache Jakarta Slide</title>
+<p>
+Point your WebDAV client to <code>http://127.0.0.1:8080/slide/</code>.
+One needs to configure <code>Domain.xml</code>
+</p>
+<source>
+<![CDATA[
+<contentstore classname="slidestore.reference.FileContentStore">
+  <parameter name="rootpath">/usr/local/jakarta-tomcat-4.1.21-LE-jdk14/webapps/lenya/lenya/pubs/notimes/content/authoring/articles</parameter>
+  ...
+]]>
+</source>
+</section>
+
+<!--
+<section>
+<title>Zope</title>
+<p>
+<source>
+<![CDATA[
+...
+]]>
+</source>
+</p>
+</section>
+-->
+
+<section>
+<title>Monitoring the WebDAV exchange</title>
+<source>
+<![CDATA[
+cd /usr/local/axis-1_1RC2
+java -cp lib/axis.jar org.apache.axis.utils.tcpmon
+
+Enter "Listen Port# 3333" for instance
+
+Select "Act as a... Listener"
+
+Enter "Target Hostname 195.226.6.70" for instance
+Enter "Target Port# 8080" for instance
+
+Click "Add" and a new tab saying "3333" should show up
+
+Click on this new tab to view the requests and responses
+
+Enter within your browser "http://127.0.0.1:3333/lenya/index.html"
+]]>
+</source>
+</section>
+
+<section>
+<title>PROPFIND</title>
+<p>
+The WebDAV client will first send a PROPFIND with Depth = 0. Depending on the response (collection or resource)
+the WebDAV client will send another PROPFIND with Depth = 1 (collection) or a GET (resource).
+</p>
+
+<p>
+Collection:
+</p>
+
+<source>
+<![CDATA[
+Request
+=======
+
+PROPFIND /lenya/blog/authoring/entries/2003/08/24/peanuts/ HTTP/1.1
+Pragma: no-cache
+Cache-control: no-cache
+Accept: text/*, image/jpeg, image/png, image/*, */*
+Accept-Encoding: x-gzip, gzip, identity
+Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5
+Accept-Language: en
+Host: 127.0.0.1
+Depth: 0
+
+
+
+Response
+========
+
+HTTP/1.1 207 Multi-Status
+X-Cocoon-Version: 2.1
+Set-Cookie: JSESSIONID=320E3B1395B867B5BC42B5FC93457C36; Path=/lenya
+Content-Type: text/xml
+Transfer-Encoding: chunked
+Date: Mon, 25 Aug 2003 14:27:12 GMT
+Server: Apache Coyote/1.0
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<D:multistatus xmlns:D="DAV:">
+
+<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
+<D:href>/lenya/blog/authoring/entries/2003/08/24/peanuts/</D:href>
+<D:propstat>
+<D:prop>
+<lp1:resourcetype><D:collection/></lp1:resourcetype>
+<D:getcontenttype>httpd/unix-directory</D:getcontenttype>
+</D:prop>
+<D:status>HTTP/1.1 200 OK</D:status>
+</D:propstat>
+</D:response>
+
+</D:multistatus>
+
+
+
+Request
+=======
+
+PROPFIND /lenya/blog/authoring/entries/2003/08/24/peanuts/ HTTP/1.1
+Pragma: no-cache
+Cache-control: no-cache
+Accept: text/*, image/jpeg, image/png, image/*, */*
+Accept-Encoding: x-gzip, gzip, identity
+Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5
+Accept-Language: en
+Host: 127.0.0.1
+Depth: 1
+
+
+
+Response
+========
+
+HTTP/1.1 207 Multi-Status
+X-Cocoon-Version: 2.1
+Set-Cookie: JSESSIONID=5A87A774B7B29D04DEDBDECC54477E5B; Path=/lenya
+Content-Type: text/xml
+Transfer-Encoding: chunked
+Date: Mon, 25 Aug 2003 14:27:12 GMT
+Server: Apache Coyote/1.0
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<D:multistatus xmlns:D="DAV:">
+
+<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
+<D:href>/lenya/blog/webdav/entries/2003/08/24/peanuts/index.html</D:href>
+<D:propstat>
+<D:prop>
+<lp1:resourcetype/>
+<D:getcontenttype>text/html</D:getcontenttype>
+</D:prop>
+<D:status>HTTP/1.1 200 OK</D:status>
+</D:propstat>
+</D:response>
+
+<D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
+<D:href>/lenya/blog/webdav/entries/2003/08/24/peanuts/charlie.xml</D:href>
+<D:propstat>
+<D:prop>
+<lp1:resourcetype/>
+<lp1:creationdate>2003-07-21T13:04:23Z</lp1:creationdate>
+<lp1:getcontentlength>3845</lp1:getcontentlength>
+<D:getcontenttype>text/xml</D:getcontenttype>
+</D:prop>
+<D:status>HTTP/1.1 200 OK</D:status>
+</D:propstat>
+</D:response>
+
+</D:multistatus>
+]]>
+</source>
+</section>
+
+<section>
+<title>PUT</title>
+<p>
+The WebDAV client will send a PUT in order to copy a document onto the server.
+</p>
+
+<source>
+<![CDATA[
+Request
+=======
+
+PUT /lenya/blog/webdav/entries/2003/08/29/levi/index.xml HTTP/1.1
+Host: 127.0.0.1
+User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4b) Gecko/20030507
+Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 300
+Connection: keep-alive
+Content-Type: text/xml
+Content-Length: 1641
+Cookie: JSESSIONID=1CF7F4C27B737E3603FFC2D4D4C137CE
+
+
+<?xml version="1.0" encoding="UTF-8"?>
+<echo:entry xmlns:echo="http://example.com/newformat#" xmlns:ent="http://www.purl.org/NET/ENT/1.0/" version="1.0">
+    <echo:title>Lenya</echo:title>
+
+    <echo:created>2003-08-29T01:46:45</echo:created>
+    <echo:issued>2003-08-29T01:46:45</echo:issued>
+    <echo:modified>2003-08-29T01:46:45</echo:modified>
+
+    <echo:content mode="escaped" type="text/plain" lang="en-us">
+      Plain Text
+    </echo:content>
+
+    <ent:topic id="introductory">Hello</ent:topic>
+</echo:entry>
+
+
+
+Response
+========
+
+HTTP/1.1 204 No Content
+Date: Mon, 18 Aug 2003 14:22:47 GMT
+Server: Apache/2.0.46 (Unix) DAV/2
+Content-Length: 0
+Keep-Alive: timeout=15, max=100
+Connection: Keep-Alive
+Content-Type: text/xml
+]]>
+</source>
+</section>
+
+
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/resource-types/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/resource-types/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Resource Types (formerly known as Document Types)</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+<section>
+	<title>Basics</title>
+	
+	<p>
+	A resource type defines a certain XML source format, together with processing options.
+	It typically consists of
+	</p>
+	<ul>
+	  <li>an XML structure definition (e.g., Relax NG)</li>
+	  <li>a workflow schema,</li>
+	  <li>some presentation pipelines,</li>
+	  <li>some presentation XSLT stylesheets,</li>
+	  <li>a Lenya menubar.</li>
+	</ul>
+	<p>
+	  All of these can be shared between several resource types.
+	</p>
+</section>
+
+<section>
+  <title>Adding a Resource Type to a Publication</title>
+  <p>
+    Adding a custom resource type to your publication includes the following steps:
+  </p>
+  
+  <section><title>Choose a Unique Resource Type Name</title>
+  <p>
+    You should choose a reasonable name for your resource type.
+    In the examples, we use <em>profile</em> (page with information about a person).
+  </p>
+  </section>
+  
+  <section><title>Providing a Sample XML Document</title>
+    <p>
+      If you want to enable users to create new resources belonging to
+      your resource type, it is useful to provide a sample XML document.
+      If you want to use the <code>DefaultBranchCreator</code> that ships
+      with Lenya, you have to add the sample document because it is used
+      as a template for creating new resources.
+    </p>
+    <p>
+      The sample document is placed in <code>{publication}/config/doctypes/samples/</code>.
+      You can choose an arbitrary filename, but it is recommended to
+      use the resource type name (e.g., <code>profile.xml</code>).
+    </p>
+  </section>
+  
+  <section><title>Providing an XML Structure Definition</title>
+    <p>
+      This step is only needed if you want to edit resources with Lenya
+      or validate them after they have been imported or manipulated.
+      The type of the structure definition
+      (<link href="http://www.w3.org/XML/Schema">XML Schema</link>,
+      <link href="http://www.relaxng.org/">Relax NG</link>, ...)
+      depends on the editor or validator you want to use. For instance,
+      the <link href="http://www.bitfluxeditor.org/">BXE</link> WYSIWYG
+      editor requires a Relax NG document.
+    </p>
+    <p>The structure definition document is placed in the directory
+      <code>{publication}/config/doctypes/schemas/</code>. The name
+      of the file is arbitrary, but it is recommended to use the
+      resource type name (e.g., <code>profile.rng</code>).
+    </p>
+  </section>
+  
+  <section><title>Creating a Workflow Schema</title>
+    <p>
+      If your resources should have a workflow, you have to add a workflow
+      schema for your resource type as described in
+      <link href="../workflow/configuration.html">Workflow Configuration</link>.
+      A workflow schema can be shared between multiple resource types.
+    </p>
+  </section>
+  
+  <section><title>The Resource Type Definition</title>
+    <p>
+    To assign the creator and the workflow schema to your resource type,
+	  declare it in <code>{publication}/config/doctypes/doctypes.xconf</code>:
+	  </p>
+<source><![CDATA[<doc type="profile">
+    <creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator">
+      <sample-name>profile.xml</sample-name>
+    </creator>
+    <workflow src="2stage.xml"/>
+  </doc>]]></source>
+  </section>
+  
+  <section><title>Define the Mapping From URLs to Resource Types</title>
+    <p>
+      The resource type of a resource is determined based on the resource URL.
+      This mapping happens in <code>{publication}/parameter-doctype.xmap</code>.
+    </p>
+    <p>
+      A typical approach to determine the resource type is to apply the
+      <code>SourceTypeAction</code> on the source document:
+    </p>
+<source><![CDATA[<map:match pattern="*/**.html">
+  <map:act type="sourcetype" src="content/{1}/{page-envelope:document-path}">
+    <map:generate type="serverpages" src="../../config/parameters/default.xsp">
+      <map:parameter name="value" value="{sourcetype}"/>
+    </map:generate>
+    <map:serialize type="xml"/>
+  </map:act>
+</map:match>]]></source>
+
+    <p>Another way is to return the resource type by just matching
+    certain URLs:</p>
+
+<source><![CDATA[<map:match pattern="*/profiles/*.html">
+  <map:generate type="serverpages" src="../../config/parameters/default.xsp">
+    <map:parameter name="value" value="profile"/>
+  </map:generate>
+  <map:serialize type="xml"/>
+</map:match>]]></source>
+
+  </section>
+  
+  <section><title>Define a Custom Menubar</title>
+    <p>
+      If you want to use a custom menubar for your resource type,
+      follow the guidelines on the page
+      <link href="../layout/lenya-menubar.html">The Lenya Menubar</link>.
+      Typically, a menubar is shared between multiple resource types.
+      Small customizations can be achieved with Java code in the menubar XSP.
+    </p>
+    <p>
+      To let the user create new resources using the <code>DefaultBranchCreator</code>,
+      you have to add the following menu item:
+    </p>
+<source><![CDATA[<item uc:usecase="create" uc:step="showscreen" href="?doctype=profile"><i18n:text>New Document</i18n:text></item>]]>
+</source>
+  </section>
+  
+  <section><title>Presentation</title>
+    
+    <p>
+      To make your resources available as HTTP pages, you have to add the
+      appropriate pipelines and XSLT stylesheets. In general, there are no
+      restrictions.
+    </p>
+    <p>
+      If you derive your publication from the default publication,
+      the pipelines have to be placed in
+      <code>{publication}/doctypes.xmap</code>. The stylesheets are located in
+      <code>{publication}/xslt/</code> and are named <code>{resource-type}2xhtml.xsl</code>
+      (e.g., <code>profile2xhtml.xsl</code>). The stylesheet is supposed to generate
+      a valid XHTML fragment (in the XHTML namespace) with <code>&lt;div id="body"&gt;</code>
+      as the document element.
+    </p>
+    
+  </section>
+
+</section>
+
+
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/checkin.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/checkin.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: checkin.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Reserved Checkin</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Revision Controller</title>
+	  <p>To check in a file call:</p>
+
+<source>org.apache.lenya.cms.rc.RevisionController.reservedCheckIn(
+    String destination, String identity, boolean backup)</source>
+	      
+	  <p>where the destination is the path of the file from the publication,
+	     the identity is the identity of the user 
+	     and backup is a boolean.</p>
+	  <p>This method is called from the ReservedCheckinAction.</p>
+      <p>Rem: if no backup (and no rollback is needed) set in the ReservedCheckinAction the backup boolean to false.</p>
+    </section>
+
+    <section>
+	  <title>The ReservedCheckinAction</title>
+	  <p>To invoke a reserved check-in from a sitemap pipeline, you use The ReservedCheckinAction.</p>
+      <source><![CDATA[
+      <map:components>
+        ...
+        <map:actions>
+      	  <map:action name="reserved-checkin"
+      	      src="org.apache.lenya.cms.cocoon.acting.ReservedCheckinAction"
+      	      logger="sitemap.action.reserved-checkin"/>
+        </map:actions>
+        ...
+      </map:components>
+      ]]></source>
+      
+      <source><![CDATA[
+            <map:act type="reserved-checkin">
+              <map:generate src="../../content/rc/{exception}.xsp"
+                  type="serverpages">
+                <map:parameter name="user" value="{user}"/>
+                <map:parameter name="filename" value="{filename}"/>
+                <map:parameter name="checkType" value="{checkType}"/>
+                <map:parameter name="date" value="{date}"/>
+              </map:generate>
+              <map:transform src="xslt/rc/rco-exception.xsl"/>
+              <map:serialize/>
+            </map:act>
+      ]]></source>
+    </section>
+
+    <section>
+	  <title>URL</title>
+       <p>The call</p>
+       <source><![CDATA[{document-URL}?lenya.usecase=checkin&lenya.step=checkin]]></source>
+       <p>invokes a check-in of the document</p>
+    </section>
+
+    <section>
+	  <title>fileReservedCheckInException</title>
+	  <p>When the file cannot be checked in because another user has already checked it out,
+	  a fileReservedCheckInException is thrown:</p>
+	  <source>
+	  File Reserved Checkin Exception
+      File not checked in yet
+
+      The resource has already been checked out:
+      User:	roger
+      Date:	Wed Oct 22 14:31:05 CEST 2003
+      Filename:	/content/authoring/index/index_de.xml
+	  </source>
+	  <p>The serverpage</p>
+      <source>cocoon-lenya/src/webapp/lenya/content/rc/fileReservedCheckInException.xsp</source>
+      <p>generates the xml which will be transformed with </p>
+      <source>cocoon-lenya/src/webapp/lenya/xslt/rc/rco-exception.xsl</source>
+    </section>
+
+    <section>
+	  <title>Exception</title>
+	  
+	  <p>The errors are catched as generic Exception</p>
+	  <source>
+      Generic Exception
+
+      Check the log files :-)
+      Filename:	/content/authoring/malaVida/index_de.xml	  </source>
+	  <p>The serverpage</p>
+      <source> cocoon-lenya/src/webapp/lenya/content/rc/exception.xsp</source>
+      <p>generates the xml which will be transformed with </p>
+      <source> cocoon-lenya/src/webapp/lenya/xslt/rc/rco-exception.xsl</source>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/checkout.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/checkout.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: checkout.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Reserved Checkout</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Revision Controller</title>
+	  <p>To check out a file call the method :</p>
+	  <source>org.apache.lenya.cms.rc.RevisionController.reservedCheckOut(String source, String identity)</source>
+	  <p>where the source is the path of the file from the publication and the identity is the identity of the user.</p>
+      <p>This method is called from the ReservedCheckoutAction.</p> 
+    </section>
+
+    <section>
+	  <title>The ReservedCheckoutAction</title>
+	  <p>To invoke a reserved check out from a sitemap pipeline, you use The ReservedCheckoutAction.</p>
+      <source><![CDATA[
+
+      <map:components>
+        ...
+        <map:actions>
+      	  <map:action name="reserved-checkout" src="org.apache.lenya.cms.cocoon.acting.ReservedCheckoutAction" logger="sitemap.action.reserved-checkout"/>
+        </map:actions>
+        ...
+      </map:components>
+
+      ]]></source>
+      
+      <source><![CDATA[
+            <map:act type="reserved-checkout">
+              <map:generate src="content/rc/{exception}.xsp" type="serverpages">
+                <map:parameter name="user" value="{user}"/>
+                <map:parameter name="filename" value="{filename}"/>
+                <map:parameter name="date" value="{date}"/>
+              </map:generate>
+              <map:transform src="xslt/rc/rco-exception.xsl"/>
+              <map:serialize/>
+            </map:act>
+      ]]></source>
+    </section>
+
+    <section>
+	  <title>URL</title>
+       <p>The call</p>
+       <source><![CDATA[{document-URL}?lenya.usecase=checkout&lenya usecase.step=checkout]]></source>
+       <p>invokes a check-out of the document</p>
+    </section>
+
+    <section>
+	  <title>The ReservedCheckoutTestAction</title>
+      <p>The ReservedCheckoutTestAction checks out a document only if this isn't already checked out</p> 
+      <source><![CDATA[
+
+      <map:components>
+        ...
+        <map:actions>
+  	      <map:action name="reserved-checkout-test" src="org.apache.lenya.cms.cocoon.acting.ReservedCheckoutTestAction" logger="sitemap.action.reserved-checkout-test"/>
+        </map:actions>
+        ...
+      </map:components>
+
+      ]]></source>
+      
+      <source><![CDATA[
+	        <map:act type="reserved-checkout-test">
+    	      <map:generate type="serverpages" src="../../content/rc/{exception}.xsp">
+        	    <map:parameter name="user" value="{user}"/>
+            	<map:parameter name="filename" value="{filename}"/>
+	            <map:parameter name="date" value="{date}"/>
+    	      </map:generate>
+        	  <map:transform src="../../xslt/rc/rco-exception.xsl"/>
+    	      <map:serialize/>
+        	</map:act>
+      ]]></source>
+    </section>
+
+    <section>
+	  <title>FileReservedCheckOutException</title>
+	  
+	  <p>When the file cannot be checked out because another user has already checked it out,
+	  a fileReservedCheckOutException is thrown:</p>
+	  <source>
+      File Reserved Checkout Exception
+      
+      Could not check out the file
+
+      Reason : The resource has already been checked out by another user
+      User:	lenya
+      Date:	Wed Oct 22 12:02:28 CEST 2003
+      Filename:	/content/authoring/index/index_de.xml
+	  </source>
+	  <p>The serverpage</p>
+      <source> cocoon-lenya/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp</source>
+      <p>generates the xml which will be transformed with </p>
+      <source> cocoon-lenya/src/webapp/lenya/xslt/rc/rco-exception.xsl</source>
+    </section>
+
+    <section>
+	  <title>Exception</title>
+	  
+	  <p>The errors are catched as generic Exception</p>
+	  <source>
+      Generic Exception
+
+      Check the log files :-)
+      Filename:	/content/authoring/malaVida/index_de.xml	  </source>
+	  <p>The serverpage</p>
+      <source> cocoon-lenya/src/webapp/lenya/content/rc/exception.xsp</source>
+      <p>generates the xml which will be transformed with </p>
+      <source> cocoon-lenya/src/webapp/lenya/xslt/rc/rco-exception.xsl</source>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/rcml.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/rcml.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: rcml.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Revision Controller Markup Language (RCML)</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Location</title>
+	  <p>The RCML-file are located in a rcml directory</p>
+	  <source>
+        {publication}/content/rcml/
+      </source>
+      <p> which can be configured in </p>
+	  <source>
+        cocoon-lenya/src/webapp/lenya/config/rc/revision-controller.xconf
+      </source>
+      <p>For a document with an xml file {publication}/content/authoring/{filename}, the rcml file is </p> 	  
+	  <source>
+        {publication}/{rcml-directory}/content/authoring/{filename}.rcml
+      </source>
+    </section>
+
+    <section>
+	  <title>Markup Language</title>
+	  <p>A rcml-file is typically</p>
+	  <source><![CDATA[
+        <?xml version="1.0" encoding="utf-8"?> 
+          <XPSRevisionControl>
+            <CheckIn><Identity>lenya</Identity><Time>1023102128815</Time></CheckIn>
+            <CheckOut><Identity>lenya</Identity><Time>1023102128780</Time></CheckOut>
+            <CheckIn><Identity>lenya</Identity><Time>1023102125300</Time></CheckIn>
+            <CheckOut><Identity>lenya</Identity><Time>1023102121346</Time></CheckOut>
+            <CheckIn><Identity>roger</Identity><Time>1023102110381</Time></CheckIn>
+            <CheckOut><Identity>roger</Identity><Time>1023102110349</Time></CheckOut>
+            <CheckIn><Identity>lenya</Identity><Time>1023102073728</Time></CheckIn>
+            <CheckOut><Identity>lenya</Identity><Time>1023102012990</Time></CheckOut> 
+            <CheckOut><Identity>lenya</Identity><Time>1023102010354</Time></CheckOut> 
+            <CheckIn><Identity>System</Identity><Time>1022569908000</Time></CheckIn>
+          </XPSRevisionControl> 
+      ]]></source>
+    </section>
+
+    <section>
+      <title>Size</title>
+      <p>The size of the rcml file is limited to the value (2 * maximalNumberOfEntries) + 1,
+       where maximalNumberOfEntries is in org.apache.lenya.cms.rc.RCML hard coded (value 10)</p>
+    </section> 
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/revisioncontroller.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/revisioncontroller.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: revisioncontroller.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
+"document-v11.dtd">
+<document>
+  <header>
+    <title>Revision Controller</title>
+    <version />
+    <type />
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+    <section>
+      <title>Introduction</title>
+      <p>The Revision Controller controls the different reserved
+      check-in and check-out of documents, the backup versions and the
+      rollback. It is filesystem oriented</p>
+    </section>
+
+    <section>
+      <title>Check-in / Check-out</title>
+      <p>The 
+      <link href="checkin.html">check-in</link>
+      and 
+      <link href="checkout.html">check-out</link>
+      are reserved: a checked out document cannot be checked out by
+      another user.</p>
+      <p>A user "System" exists, who can force internally a checkin</p>
+      <p>The different check-in/check-out states (the checkin/out,
+      the time, the user's identity) of a document are stored in an
+      xml file with a own markup language: the 
+      <link href="rcml.html">RCML-file.</link></p>
+    </section>
+
+    <section>
+      <title>Versions</title>
+      <p>When a document is checked in, the old version of the
+      document is copied ( 
+      <link href="version.html">backup</link>
+      )</p>
+    </section>
+
+    <section>
+      <title>Rollback</title>
+      <p>It is also possible to retrieve an old version with the 
+      <link href="rollback.html">rollback</link>
+      </p>
+    </section>
+    
+    <section>
+      <title>Package</title>
+      <source>org.apache.lenya.cms.rc</source>
+    </section>
+  </body>
+</document>
+

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/rollback.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/rollback.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: rollback.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Rollback</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	<section>
+	  <title>Revision Controller</title>
+	  <p>To rollback a file call</p>
+	  <source>org.apache.lenya.cms.rc.RevisionController.rollback(String destination, String identity, boolean backupFlag, long time)</source>
+	  <p>where destination is the path of the file from the publication,identity is the identity of the user,
+	   backupFlag is a boolean to choose if you want a backup of the current version, and time is the time of
+	    the version to roll back to.
+      </p>
+	  
+	</section>
+    
+    <section>
+	  <title>The RollbackAction</title>
+	  <p>To invoke a rollback from a sitemap pipeline, you use The RollbackAction.</p>
+      <p>The check-in time is needed as request parameter</p>
+      <source><![CDATA[
+
+      <map:components>
+        ...
+        <map:actions>
+  	      <map:action name="rollback" src="org.apache.lenya.cms.cocoon.acting.RollbackAction"/>
+        </map:actions>
+        ...
+      </map:components>
+
+      ]]></source>
+      
+      <source><![CDATA[
+            <map:act type="rollback">
+              <map:redirect-to session="true" uri="{location}"/>
+            </map:act>
+      ]]></source>
+    </section>
+
+    <section>
+	  <title>URL</title>
+	  <p>The call of the URL </p>
+	  <source><![CDATA[{document-URL}?lenya.usecase=rollback&lenya usecase.step=rollback&rollbackTime={time-point}]]></source>
+      <p>invokes the rollbak to the version corresponding to the time {time-point}</p>   
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/version.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/revisioncontrol/version.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: version.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Revision</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+  <section>
+	<title>Location</title>
+	  <p>The backup files are located in a rcback directory</p>
+	  <source>
+        {publication}/content/rcbak/
+      </source>
+      <p> which can be configured in </p>
+	  <source>
+        cocoon-lenya/src/webapp/lenya/config/rc/revision-controller.xconf
+      </source>
+      <p>For a document with an xml file {publication}/content/authoring/{filename}, the backup files are </p> 	  
+	  <source>
+        {publication}/{rcback-directory}/content/authoring/{filename}.timestamp
+      </source>
+    </section>
+
+    <section>
+	  <title>Revision Screen</title>
+      <p>To get the revision screen, use the serverpage</p>
+      <source>cocoon-lenya/src/webapp/lenya/content/rc/versions-screen.xsp</source> 
+
+      <p>Sitemap :</p>
+      <source><![CDATA[
+            <map:generate src="content/rc/versions-screen.xsp" type="serverpages"/>
+            <map:transform src="xslt/rc/rollback.xsl"/>
+            <map:serialize/>
+      ]]></source>
+	  
+    </section>
+
+    <section>
+	  <title>View of an old version</title>
+      <p>To get the view of a backup version, use the serverpage</p>
+      <source>cocoon-lenya/src/webapp/lenya/content/rc/view.xsp</source> 
+      <p>It needs  the check-in time as request parameter</p>
+
+      <p>Sitemap in the publication :</p>
+      <source><![CDATA[
+          <map:generate type="serverpages" src="../../content/rc/view.xsp">
+          </map:generate>
+          <map:transform src="xslt/toDoc.xsl"/>
+          <map:transform src="xslt/{../2}2xhtml.xsl"/>
+          <map:serialize type="xml"/>
+      ]]></source>
+    </section>
+
+    <section>
+	  <title>URL</title>
+	  <p>The call of the URL </p>
+	  <source><![CDATA[{document-URL}?lenya.usecase=rollback&lenya usecase.step=view&rollbackTime={time-point}]]></source>
+      <p>shows the version corresponding to the time {time-point}</p>   
+    </section>
+
+    <section>
+	  <title>Disable the backup </title>
+      <p>To disable the backup set in the ReservedCheckinAction the backup boolean of getRC().reservedCheckIn(String destination, String identity, boolean backup) to false.</p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/lucene.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/search/lucene.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: lucene.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Lucene</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Generic Search</title>
+<p>URL:</p>
+<source>
+<![CDATA[
+/lenya/$PUB_ID/search-$AREA/lucene
+]]>
+</source>
+
+<p>Indices and Excerpts:</p>
+<source>
+<![CDATA[
+src/webapp/lenya/pubs/$PUB_ID/work/search/index/$AREA/index
+src/webapp/lenya/pubs/$PUB_ID/work/search/htdocs_dump/$AREA
+]]>
+</source>
+
+<p>Configuration:</p>
+<source>
+<![CDATA[
+src/webapp/global-sitemap.xmap
+src/webapp/lenya/lucene.xmap
+]]>
+</source>
+</section>
+
+<section>
+<title>Customizing/Overwriting Generic Search Interface</title>
+<p>XSLT:</p>
+<source>
+<![CDATA[
+src/webapp/lenya/pubs/$PUB_ID/lenya/xslt/search/search-and-results.xsl
+]]>
+</source>
+
+<p>URL:</p>
+<source>
+<![CDATA[
+/lenya/$PUB_ID/search-$AREA/lucene
+]]>
+</source>
+</section>
+
+
+<section>
+<title>Crawling a website</title>
+<p>
+Crawl a website by running
+</p>
+<source>
+<![CDATA[
+ant -f src/webapp/lenya/bin/crawl_and_index.xml crawl -Dcrawler.xconf=/home/username/src/cocoon-lenya/src/webapp/lenya/pubs/default/config/search/crawler-live.xconf
+]]>
+</source>
+<p>
+whereas the crawler.xconf has the following elements
+</p>
+<source>
+<![CDATA[
+<crawler>
+  <user-agent>lenya</user-agent>
+
+  <base-url href="http://lenya.apache.org/index.html"/>
+  <scope-url href="http://lenya.apache.org/"/>
+
+  <uri-list src="work/search/lucene/uris.txt"/>
+  <htdocs-dump-dir src="work/search/lucene/htdocs_dump/cocoon.apache.org"/>
+
+  <!-- <robots src="robots.txt" domain="cocoon.apache.org"/> -->
+</crawler>
+]]>
+</source>
+<p>
+where the element robots is optional.
+</p>
+<p>
+In case you don't have access to the server and want to disallow certain  URLs from being crawled, then
+you can also define a "robots.txt" on the crawler side, e.g.
+</p>
+<source>
+<![CDATA[
+# cocoon.apache.org
+
+User-agent: *
+Disallow: /there_seems_to_be_a_bug_within_websphinx_Robot_Exclusion.html
+#Disallow:
+
+User-agent: lenya
+Disallow: /do/not/crawl/this/page.html
+]]>
+</source>
+</section>
+
+<section>
+<title>Creating an index from the command line</title>
+<source>
+<![CDATA[
+ant -f src/webapp/lenya/bin/crawl_and_index.xml -Dlucene.xconf=/home/username/src/cocoon-lenya/src/webapp/lenya/pubs/default/config/search/lucene-live.xconf index
+]]>
+</source>
+<p>
+whereas the lucene.xconf has the following elements
+</p>
+<source>
+<![CDATA[
+<lucene>
+  <update-index type="new"/>
+  <!--
+  <update-index type="incremental"/>
+  -->
+
+  <index-dir src="../../work/search/lucene/index/index"/>
+    <htdocs-dump-dir src="../../work/search/lucene/htdocs_dump"/>
+
+    <indexer class="org.apache.lenya.lucene.index.DefaultIndexer"/>
+<!--
+    <indexer class="org.apache.lenya.lucene.index.ConfigurableIndexer">
+      <configuration src="cmfs-luceneDoc.xconf"/>
+      <extensions src="xml"/>
+    </indexer>
+-->
+<!--
+    <indexer class="org.apache.lenya.lucene.index.ConfigurableIndexer">
+      <configuration src="cmfs-luceneDoc.xconf"/>
+      <filter class="foo.bar.FileFilter"/>
+    </indexer>
+-->
+</lucene>
+]]>
+</source>
+</section>
+
+<section>
+<title>Indexing XML documents</title>
+
+<p>
+In order to index XML documents one needs to configure the <code>org.apache.lenya.lucene.index.ConfigurableIndexer</code> (see above).
+</p>
+
+<p>
+With namespaces:
+</p>
+<source>
+<![CDATA[
+<?xml version="1.0"?>
+
+<luc:document xmlns:luc="http://apache.org/cocoon/lenya/lucene/1.0">
+  <luc:field name="currwfstate" type="Text" xpath="/wf:history/wf:version[last()]/@state">
+    <namespace prefix="wf">http://apache.org/cocoon/lenya/workflow/1.0</namespace>
+  </luc:field>
+</luc:document>
+]]>
+</source>
+
+<p>
+Concatenating element values and setting default values in case element value doesn't exist:
+</p>
+<source>
+<![CDATA[
+<?xml version="1.0"?>
+
+<luc:document xmlns:luc="http://apache.org/cocoon/lenya/lucene/1.0">
+  <luc:field name="title" type="Text" xpath="/article/head/title"/>
+  <luc:field name="subtitle" type="Text" xpath="/article/head/subtitle"/>
+  <luc:field name="lead" type="UnStored" xpath="/article/head/abstract"/>
+  <luc:field name="contents" type="UnStored" xpath="/"/>
+  <luc:field name="author" type="UnStored"/>
+    <namespace prefix="lenya">http://apache.org/cocoon/lenya/page-envelope/1.0</namespace>
+    <namespace prefix="dc">http://purl.org/dc/elements/1.1/</namespace>
+    <xpath>/*/lenya:meta/dc:contributor</xpath>
+  </luc:field>
+  <luc:field name="date" type="Text">
+    <namespace prefix="lenya">http://apache.org/cocoon/lenya/page-envelope/1.0</namespace>
+    <xpath default="1969">/*/lenya:meta/year</xpath><text>.</text><xpath default="02">/*/lenya:meta/month</xpath><text>.</text><xpath default="16">/*/lenya:meta/day</xpath>
+  </luc:field>
+</luc:document>
+]]>
+</source>
+</section>
+
+<section>
+<title>Extract text from a PDF document</title>
+<source>
+<![CDATA[
+ant -f src/webapp/lenya/bin/crawl_and_index.xml -Dhtdocs.dump.dir=/home/username/src/cocoon-lenya/src/webapp/lenya/pubs/default/work/search/lucene/htdocs_dump xpdf
+]]>
+</source>
+<p>
+Also see the targets <code>pdfbox</code> and <code>pdfadobe</code>.
+</p>
+</section>
+
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/archive.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/archive.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: archive.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Archive</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>The archive operation corresponds to a move operation from the authoring area to the archive</p>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+      <p>Similar to the operation <link href="move.html">move</link></p>  
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the area for the source document</li>
+        <li>the document id for the source document</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <section>
+        <title>Archive screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=archive&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+	      <source><![CDATA[
+          <map:match pattern="archive" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/archive.xsp" type="serverpages"/>
+               <map:transform src="xslt/info/archive.xsl">
+                <map:parameter name="use-request-parameters" value="true"/>
+              </map:transform>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+          ]]></source>
+	    <p>The parameters for the source are get with the serverpage through the page envelope input module. 
+	    The area for the destination is set to archive in the stylesheet.
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Archive confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=archive&lenya.step=step&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="archive" type="usecase">
+            <map:match pattern="archive" type="step">
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request-param:parenturl}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+        <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>archiveDocument</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>and depends on the different targets </p>
+      <ul>
+        <li><code>firstareaproperties</code>, to set the needed properties dependent of the source area</li>
+        <li><code>secareaproperties</code>, to set the needed properties dependent of the destination area</li>
+        <li><code>newarchivedocumentid</code>, to compute the unique destination id from the source document id</li>
+        <li><code>firstdocumentpath</code>, to compute the directory of the source contents (Needed for the revisions and the rcml files)</li>
+        <li><code>secdocumentpath</code>, to compute the directory where are the destination contents (Needed for the revisions and the rcml files)</li>
+        <li><code>setIdentifier</code>, to save the source document id (in the dc:identifier). Necessary to be able to restore later the document</li>
+        <li><code>move</code>, to execute the different move operations</li>
+      </ul>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/copy.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/copy.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: copy.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Copy</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>The copy operation is performed on the subtree corresponding to a given document id and a given area.</p>
+	  <p>We have to :</p>
+	  <ul>
+	    <li>compute a new id (to not overwrite an already existing file)</li>
+	    <li>copy the contents (xml file)</li>
+	    <li>copy the resources</li>
+	    <li>instantiate the workflow for the new documents</li>
+	    <li>insert a node (with the subtree) in the site tree</li>
+	  </ul>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+	  <p>It is implemented in a sequence of usecases to get all needed parameters, and use the task concept to execute some ant task</p>
+	  <p>To perform the different operations on the desired subtree, we used the visitor pattern</p>
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+	  <p>The parameters are string-value parameters</p>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the area for the source document</li>
+        <li>the document id for the source document</li>
+        <li>the area for the destination document</li>
+        <li>the document id for the destination document</li>
+        <li>the user id</li>
+        <li>the ip adress</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <p>They are implemented in the usecase sitmap (core)</p> 
+      <section>
+        <title>Copy screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=copy&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+	      <source><![CDATA[
+          <map:match pattern="copy" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/copy.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/copy.xsl"/>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The parameters for the source are get with the serverpage through the page envelope input module. 
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Copy confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=copy&lenya.step=step&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="copy" type="usecase">
+            <map:match pattern="copy" type="step">
+              <map:act type="session-propagator">
+                <map:parameter name="org.apache.lenya.cms.info.cutdocumentid" value=""/>
+                <map:parameter name="org.apache.lenya.cms.info.firstdocid" value="{request-param:documentid}"/>
+                <map:parameter name="org.apache.lenya.cms.info.firstarea" value="{request-param:area}"/>
+                <map:parameter name="org.apache.lenya.cms.info.action" value="{request-param:action}"/>
+              </map:act>
+              <map:redirect-to session="true" uri="{request:requestURI}"/>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The source parameters are saved in the session with the org.apache.cocoon.acting.SessionPropagatorAction</p> 
+        <note>Rem</note><p>The session parameter org.apache.lenya.cms.info.cutdocumentid is needed by the move function. It must be reset to "" else</p> 
+      </section>  
+      <section>
+        <title>Paste screen</title>
+    	<p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=paste&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap (Core):</p>
+	    <source><![CDATA[
+          <map:match pattern="paste" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/paste.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/paste.xsl"/>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The parameters for the destination are get with the serverpage through the page envelope input module. 
+	    Parameters needed by the access controller are also get with this serverpage through the access control input module.
+	    The parameters for the source are get from the session with the serverpage .
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Paste confirmation</title>
+  	    <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=paste&lenya.step=paste&...{parameters}]]></source> 
+	    <p>usecase sitemap (Core):</p>
+	    <source><![CDATA[
+          <map:match pattern="paste" type="usecase">
+            <map:match pattern="paste" type="step">
+              <map:select type="request-parameter">
+                <map:parameter name="parameter-name" value="task-id"/>  
+                <map:when test="moveDocument">
+                  <map:act type="session-propagator">
+                    <map:parameter name="org.apache.lenya.cms.info.firstdocid" value=""/>
+                    <map:parameter name="org.apache.lenya.cms.info.cutdocumentid" value=""/>
+                  </map:act>
+                </map:when>
+                <map:otherwise>
+                  <map:act type="session-propagator">
+                    <map:parameter name="org.apache.lenya.cms.info.cutdocumentid" value=""/>
+                  </map:act>
+                </map:otherwise>
+              </map:select>
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request:requestURI}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The paste step is also used by the move operation. In this case the parameter org.apache.lenya.cms.info.cutdocumentid must be set to the value of the document id (see <link href="move.html">Move</link>).
+        In case of the copy function the value of org.apache.lenya.cms.info.cutdocumentid in the session must be "".
+        The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>The target for copying a document depends on the target newdocumentid, to be sure, that the document id for the destination is unique</p> 
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/deactivate.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/deactivate.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: deactivate.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Deactivate a document</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+	  <p>We have to :</p>
+	  <ul>
+        <li>look if there are some live children, if no other language version is live</li> 
+	    <li>delete the live contents (xml file) for the given document id and the given language</li>
+	    <li>delete the live resources for the given document id only if no other language version is live</li>
+	    <li>delete the language from the node corresponding to given the document id or 
+	    all the node, if no other language version is live.</li>
+	  </ul>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+	  <p>It is implemented in a sequence of usecases to get all needed parameters, and uses the task concept to execute some ant task</p>
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+	  <p>The parameters are string-value parameters</p>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the document id</li>
+        <li>the language</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <p>They are implemented in the usecase sitmap (core)</p> 
+      <section>
+        <title>Deactivate screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=deactivate&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+        <source><![CDATA[
+          <map:match pattern="deactivate" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/deactivate.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/deactivate.xsl">
+                <map:parameter name="use-request-parameters" value="true"/>
+              </map:transform>
+              <map:transform src="cocoon:/notification/{../../1}/deactivate.xsl"/>
+              <map:transform src="cocoon://scheduler/{../../1}/{../../2}/{../../3}.xsl"/>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>
+        In the serverpage, we get the required parameters and if no other language version is live, we look for the live children.
+	    The stylesheet <code>xslt/info/deactivate.xsl</code> builds a form, if the requirement are achieved, else shows a message.</p>
+      </section>  
+      <section>
+        <title>Deactivate confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=deactivate&lenya.step=deactivate&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="deactivate" type="usecase">
+            <map:match pattern="deactivate" type="step">
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request:requestURI}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>deactivateDocument</code>is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>and depends on the target <code>livedocumentpath</code>, to compute the live directory of the contents</p>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/delete.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/delete.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: delete.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Delete</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>The delete operation corresponds to a move operation from the authoring area to the trash</p>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+      <p>Similar to the operation <link href="move.html">move</link></p>  
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the area for the source document</li>
+        <li>the document id for the source document</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <section>
+        <title>Delete screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=delete&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+        <source><![CDATA[
+          <map:match pattern="delete" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/delete.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/delete.xsl">
+                <map:parameter name="use-request-parameters" value="true"/>
+              </map:transform>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+          ]]></source>
+	    <p>The parameters for the source are get with the serverpage through the page envelope input module. 
+	    The destination area is set to trash in the stylesheet.
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Delete confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=delete&lenya.step=delete&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="delete" type="usecase">
+            <map:match pattern="delete" type="step">
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request-param:parenturl}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+        <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>deleteDocument</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>and depends on the different targets </p>
+      <ul>
+        <li><code>firstareaproperties</code>, to set the needed properties dependent of the source area</li>
+        <li><code>secareaproperties</code>, to set the needed properties dependent of the destination area</li>
+        <li><code>newarchivedocumentid</code>, to compute the unique destination id from the source document id (Same logic like for the archive)</li>
+        <li><code>firstdocumentpath</code>, to compute the directory of the contents for the source (Needed for the revisions and the rcml files)</li>
+        <li><code>secdocumentpath</code>, to compute the directory of the contents for the destination (Needed for the revisions and the rcml files)</li>
+        <li><code>setIdentifier</code>, to save the source document id (in the dc:identifier). Necessary to be able to restore later the document</li>
+        <li><code>move</code>, to execute the different move operations</li>
+      </ul>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/deletetrash.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/deletetrash.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: deletetrash.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Delete Trash</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+	  <p>We have to :</p>
+	  <ul>
+	    <li>delete all the files in the trash directory</li>
+	    <li>to reset the trash sitetree</li>
+	  </ul>
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the task id </li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>Implementation</title>
+	  <p>It is implemented in a sequence of usecases to get all needed parameters, and uses the task concept to execute some ant task</p>
+    </section>
+	  
+    <section>
+	  <title>usecase</title>
+      <section>
+        <title>Delete Trash screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=deleteTrash&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+	      <source><![CDATA[
+            <map:match pattern="deleteTrash" type="usecase">
+              <map:match pattern="showscreen" type="step">
+              <map:generate src="content/admin/content/deleteTrash.xsp" type="serverpages"/>
+              <map:transform src="xslt/admin/content/deleteTrash.xsl"/>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+          ]]></source>
+	    <p>The required parameters are get in the serverpage. 
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Delete Trash confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=deleteTrash&lenya.step=deleteTrash&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="deleteTrash" type="usecase">
+            <map:match pattern="deleteTrash" type="step">
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request:requestURI}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+        <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>deleteTrash</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/move.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/move.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: move.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Move a document</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>The move operation is performed on the subtree corresponding to a given document id and a given area.</p>
+	  <p>We have to :</p>
+	  <ul>
+	    <li>compute a new id (to not overwrite an already existing file)</li>
+	    <li>move the contents (xml file)</li>
+	    <li>move the resources</li>
+        <li>move the policies</li> 
+        <li>move the revisions</li> 
+        <li>move the rcml files</li> 
+	    <li>move the workflow for the new documents</li>
+	    <li>move the node (with the subtree) in the site tree</li>
+	  </ul>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+	  <p>It is implemented in a sequence of usecases to get all needed parameters, and uses the task concept to execute some ant task</p>
+	  <p>To perform the different operations on the desired subtree, we used the visitor pattern</p>
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the area for the source document</li>
+        <li>the document id for the source document</li>
+        <li>the area for the destination document</li>
+        <li>the document id for the destination document</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <p>They are implemented in the usecase sitmap (core)</p> 
+      <section>
+        <title>Cut screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=cut&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+        <source><![CDATA[
+          <map:match pattern="cut" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/cut.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/cut.xsl"/>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The parameters for the source are get with the serverpage through the page envelope input module. 
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Cut confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=cut&lenya.step=cut&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="cut" type="usecase">
+            <map:match pattern="cut" type="step">
+              <map:act type="session-propagator">
+                <map:parameter name="org.apache.lenya.cms.info.firstdocid" value="{request-param:documentid}"/>
+                <map:parameter name="org.apache.lenya.cms.info.firstarea" value="{request-param:area}"/>
+                <map:parameter name="org.apache.lenya.cms.info.cutdocumentid" value="{request-param:documentid}"/>
+                <map:parameter name="org.apache.lenya.cms.info.action" value="{request-param:action}"/>
+                <map:redirect-to uri="{request:requestURI}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The source parameters are saved in the session with the org.apache.cocoon.acting.SessionPropagatorAction</p> 
+        <p>The parameter <strong>org.apache.lenya.cms.info.cutdocumentid</strong> is used to change the representation of the cutted node in the info sitetree.</p>
+      </section>  
+      <section>
+        <title>Paste screen</title>
+    	<p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=paste&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap (Core):</p>
+	    <source><![CDATA[
+          <map:match pattern="paste" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/paste.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/paste.xsl"/>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The parameters for the destination are get with the serverpage through the page envelope input module. 
+	    Parameters needed by the access controller are also get with this serverpage through the access control input module.
+	    The parameters for the source are get from the session with the serverpage .
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Paste confirmation</title>
+  	    <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=paste&lenya.step=paste&...{parameters}]]></source> 
+	    <p>usecase sitemap (Core):</p>
+	    <source><![CDATA[
+          <map:match pattern="paste" type="usecase">
+            <map:match pattern="paste" type="step">
+              <map:select type="request-parameter">
+                <map:parameter name="parameter-name" value="task-id"/>  
+                <map:when test="moveDocument">
+                  <map:act type="session-propagator">
+                    <map:parameter name="org.apache.lenya.cms.info.firstdocid" value=""/>
+                    <map:parameter name="org.apache.lenya.cms.info.cutdocumentid" value=""/>
+                  </map:act>
+                </map:when>
+                <map:otherwise>
+                  <map:act type="session-propagator">
+                    <map:parameter name="org.apache.lenya.cms.info.cutdocumentid" value=""/>
+                  </map:act>
+                </map:otherwise>
+              </map:select>
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request:requestURI}"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+	    <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+        <p>The parameter <strong>org.apache.lenya.cms.info.cutdocumentid</strong> is set to "", because the cutted node is no more present.</p>
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>moveDocument</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>and depends on the different targets </p>
+      <ul>
+        <li><code>firstareaproperties</code>, to set the needed properties dependent of the source area</li>
+        <li><code>secareaproperties</code>, to set the needed properties dependent of the destination area</li>
+        <li><code>newcopydocumentid</code>, to compute the unique destination id</li>
+        <li><code>firstdocumentpath</code>, to compute the directory of the source contents (Needed for the revisions and the rcml files)</li>
+        <li><code>secdocumentpath</code>, to compute the directory of the destination contents (Needed for the revisions and the rcml files)</li>
+        <li><code>move</code>, to execute the different move operations</li>
+      </ul>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/moveupdown.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/moveupdown.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: moveupdown.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Move up/down</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>To move up or down a node in the sitetree</p> 
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+	  <p>It uses the task concept to execute some ant task</p>
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+	  <p>The parameters are string-value parameters</p>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the document id</li>
+        <li>the direction (up or down)</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <p>URL :</p>
+      <source><![CDATA[{document-URL}?properties.movenode.direction=up&lenya.usecase=move-node&lenya.step=move-node]]></source> 
+      <p>usecase sitemap:</p>
+        <source><![CDATA[
+        <map:match pattern="move-node" type="usecase">
+          <map:match pattern="move-node" type="step">
+            <map:act type="task">
+              <map:parameter name="task-id" value="movenode"/>
+              <map:parameter name="properties.movenode.documentid" value="{page-envelope:document-id}"/>
+              <map:redirect-to session="true" uri="{request:requestURI}"/>
+            </map:act>
+          </map:match>
+        </map:match>
+        ]]></source>
+      <p>The parameter for the direction is a request parameter in the URL (fom the menu). The task id is set in the sitemap and
+	     the document id is get through the page envelope. </p> 
+	  <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+    </section>  
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>movenode</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/rename.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/rename.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: rename.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Rename</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>The rename operation corresponds to a move operation</p>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+      <p>Similar to the operation <link href="move.html">move</link></p>  
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+	  <p>The parameters are string-value parameters</p>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the area for the source document</li>
+        <li>the document id for the source document</li>
+        <li>the area for the destination document</li>
+        <li>the name for the destination document</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <p>They are implemented in the usecase sitmap (core)</p> 
+      <section>
+        <title>Rename screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=rename&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+	      <source><![CDATA[
+            <map:match pattern="rename" type="usecase">
+              <map:match pattern="showscreen" type="step">
+                <map:generate src="content/info/rename.xsp" type="serverpages"/>
+                <map:transform src="xslt/info/rename.xsl"/>
+                <map:call resource="style-cms-page"/>
+              </map:match>
+           </map:match>
+          ]]></source>
+	    <p>The parameters for the source are get with the serverpage through the page envelope input module. 
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Rename confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=rename&lenya.step=rename&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="rename" type="usecase">
+            <map:match pattern="rename" type="step">
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request:contextPath}/{../../../1}/{../../../2}/"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+        <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>renameDocument</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>and depends on the different targets </p>
+      <ul>
+        <li><code>firstareaproperties</code>, to set the needed properties dependent of the source area</li>
+        <li><code>secareaproperties</code>, to set the needed properties dependent of the destination area</li>
+        <li><code>newnamdocumentid</code>, to compute the unique destination id with the new name</li>
+        <li><code>firstdocumentpath</code>, to compute the directory of the source contents (Needed for the revisions and the rcml files)</li>
+        <li><code>secdocumentpath</code>, to compute the directory where are the destination contents (Needed for the revisions and the rcml files)</li>
+        <li><code>move</code>, to execute the different move operations</li>
+      </ul>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/restore.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/sitemanagement/restore.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: restore.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+	<header>
+		<title>Restore</title>
+		<version/>
+		<type/>
+		<authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+		</authors>
+	</header>
+
+  <body>
+	
+    <section>
+	  <title>Introduction</title>
+      <p>The restore operation corresponds to a move operation from an area, trash or archive, to the authoring</p>
+    </section>
+	  
+    <section>
+	  <title>Implementation</title>
+      <p>Similar to the operation <link href="move.html">move</link></p>  
+    </section>
+	  
+    <section>
+	  <title>Parameters</title>
+      <p>Required parameters:</p>
+      <ul>
+        <li>the area for the source document</li>
+        <li>the document id for the source document</li>
+        <li>the task id</li>
+      </ul>
+    </section>
+
+    <section>
+	  <title>usecase</title>
+      <section>
+        <title>Delete screen</title>
+        <p>URL :</p>
+ 	    <source><![CDATA[{document-URL}?lenya.usecase=restore&lenya.step=showscreen]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="restore" type="usecase">
+            <map:match pattern="showscreen" type="step">
+              <map:generate src="content/info/restore.xsp" type="serverpages"/>
+              <map:transform src="xslt/info/restore.xsl">
+                <map:parameter name="use-request-parameters" value="true"/>
+              </map:transform>
+              <map:call resource="style-cms-page"/>
+            </map:match>
+          </map:match>
+          ]]></source>
+	    <p>The parameters for the source are get with the serverpage through the page envelope input module. 
+        The destination document id is computed in the serverpage from the identifier. The destination source is set to area in the stylesheet.
+	    A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.</p>
+      </section>  
+      <section>
+        <title>Restore confirmation</title>
+        <p>URL :</p>
+	    <source><![CDATA[{document-URL}?lenya.usecase=restore&lenya.step=restore&...{source parameters}]]></source> 
+	    <p>usecase sitemap:</p>
+	    <source><![CDATA[
+          <map:match pattern="restore" type="usecase">
+            <map:match pattern="restore" type="step">
+              <map:act type="task">
+                <map:redirect-to session="true" uri="{request:contextPath}/{../../../1}/{../../../2}/"/>
+              </map:act>
+            </map:match>
+          </map:match>
+        ]]></source>
+        <p>The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.</p> 
+      </section>  
+    </section>
+
+    <section>
+	  <title>Ant Task </title>
+	  <p>The ant target <code>restoreDocument</code> is in the publication :</p>
+	  <source>{publication}/config/tasks/targets.xml</source>
+      <p>The target for the restore operation depends on the different targets </p>
+      <ul>
+        <li><code>firstareaproperties</code>, to set the needed properties dependent of the area of the source</li>
+        <li><code>secareaproperties</code>, to set the needed properties dependent of the area of the destination</li>
+        <li><code>newcopydocumentid</code>, to compute the unique destination id (Same logic like for the copy operation).</li>
+        <li><code>firstdocumentpath</code>, to compute the directory of the contents for the source (Needed for the revisions and the rcml files)</li>
+        <li><code>secdocumentpath</code>, to compute the directory where are the contents for the destination (Needed for the revisions and the rcml files)</li>
+        <li><code>move</code>, to execute the different move operations</li>
+      </ul>
+      <p>More about ant task, see the documentation <link href="../tasks/anttask.html">Ant Task</link> and the <link href="../../apidocs/index.html">Javadoc</link></p>
+    </section>
+
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/anttask.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/anttask.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: anttask.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>The AntTask</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+The <code>org.apache.lenya.cms.task.AntTask</code> class can be used to invoke targets
+of an Ant project.
+</p>
+
+<section>
+<title>Task Parameters</title>
+<p>
+The task parameters are:
+</p>
+<ul>
+  <li><strong><code>publication-id</code></strong>: The publication ID</li>
+  <li><strong><code>buildfile (optional)</code></strong>: The location of the build file
+      relative to the publication directory. If this parameter is
+      not provided, the file is loaded from the default location (see section <link href="#File+Locations">File Locations</link>).</li>
+  <li><strong><code>target (optional)</code></strong>: The build target. If this parameter
+      is not provided, the default target is executed.</li>
+  <li><strong><code>properties.*</code></strong>: The project properties.</li>
+  <li><strong><code>ant.*</code></strong>: The command-line parameters for Ant <strong>(not implemented yet!)</strong></li>
+</ul>
+</section>
+
+<section>
+<title>Logging</title>
+
+<p>
+Every time an <code>AntTask</code> is invoked, a log file is created unsing
+the <code>XmlLogger</code>
+(<link href="http://ant.apache.org/manual/listeners.html">manual entry</link>,
+<link href="http://nagoya.apache.org/gump/javadoc/ant/build/javadocs/org/apache/tools/ant/XmlLogger.html">JavaDoc</link>).
+For the location of the log files, see section <link href="#File+Locations">File Locations</link>.
+The log history can be viewed at the URI
+</p>
+<source>
+http://.../&lt;publication&gt;/logs/tasks/index.html
+</source>
+</section>
+
+<section>
+<title>Writing AntTask Buildfiles</title>
+<p>
+Any Ant project file can be used as a buildfile for the <code>AntTask</code>.
+There is one implicit property that is always set when an
+<code>AntTask</code> is executed:
+</p>
+<ul>
+  <li><strong><code>pub.dir</code></strong>: The absolute path of publication directory.</li>
+</ul>
+<p>
+The runtime properties of the target can be set using task parameters
+with the prefix <code>properties</code>, e.&#160;g. <code>properties.filename</code>
+for a buildfile property named <code>filename</code>.
+</p>
+</section>
+
+<section>
+<title>Using custom Ant Tasks</title>
+<p>
+The implementation of custom Ant tasks is described in the
+<link href="http://ant.apache.org/manual/index.html">Ant User Manual</link>.
+If you want to write a general Lenya task, put it into the package
+<code>org.lenya.cms.ant</code>. If you want to write a task
+that is only suited for your publication, put it in the
+<code>&lt;publication&gt;/java/src/</code> directory.
+</p>
+</section>
+
+<section>
+<title>File Locations</title>
+
+<p>Default buildfile location:</p>
+<source>&lt;publication&gt;/config/tasks/targets.xml</source>
+
+<p>Log files:</p>
+<source>&lt;publication&gt;/logs/tasks/*.xml</source>
+
+<p>Log file presentation stylesheets:</p>
+<source>&lt;webapp&gt;/lenya/xslt/logs/*.xsl</source>
+</section>
+
+<section>
+<title>Example</title>
+
+<p>
+The following buildfile contains the target <code>publish</code>
+that can be invoked using the <code>AntTask</code>:
+</p>
+<source>
+<![CDATA[<project name="Example Project" default="publish" basedir=".">
+
+  <!-- implicit properties (set by the AntTask) -->
+  <property name="pub.dir" value=""/>
+
+  <!-- publishing properties -->
+  <property name="authoring.dir" value="content/authoring"/>
+  <property name="live.dir" value="content/live"/>
+  <property name="publish.sources" value=""/>
+
+  <target name="publish">
+    <echo>Publish: Copying files from ${authoring.dir} to ${live.dir}</echo>
+    <copy todir="${pub.dir}/${live.dir}">
+      <fileset dir="${pub.dir}/${authoring.dir}">
+        <include name="${publish.sources}"/>
+      </fileset>
+    </copy>
+  </target>
+
+</project>]]>
+</source>
+
+<p>
+You define the task in your <code>tasks.xconf</code> file:
+</p>
+<source>
+<![CDATA[<task id="ant" class="org.lenya.cms.task.AntTask"/>]]>
+</source>
+
+<p>
+To invoke the task from your sitemap, you have to define an appropriate
+<code>TaskAction</code> instance:
+</p>
+<source>
+<![CDATA[<map:action name="publish"
+    src="org.lenya.cms.cocoon.acting.TaskAction">
+  <task id="ant"/>
+</map:action>]]>
+</source>
+
+<p>
+You call the action in a pipeline:
+</p>
+<source>
+<![CDATA[<map:match pattern="publish.html">
+  <map:act type="publish">
+    ...
+  </map:act>
+</map:match>]]>
+</source>
+
+<p>And finally, go to your browser and call the URI with the appropriate
+parameter(s):</p>
+<source>http://.../publish.html?properties.publish.sources=test.xml</source>
+
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/concept.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/concept.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: concept.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>The Task Concept</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+In Lenya CMS, a <strong>task</strong> is used to implement a process
+which can be invoked by the user. Tasks are triggered
+from the sitemap using a <link href="taskaction.html"><code>TaskAction</code></link>
+or <link href="scheduling.html">scheduled</link> using a <code>TaskJob</code>.
+</p>
+<p>
+Typical tasks are
+</p>
+<ul>
+  <li>publishing a page,</li>
+  <li>exporting a page to a live server,</li>
+  <li>manipulating a file,</li>
+  <li>sending an e-mail, or</li>
+  <li>creating a backup of your site.</li>
+</ul>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/defining.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/defining.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: defining.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Defining Tasks</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+All tasks to be used in a publication must be declared in the file
+<code>[publication-directory]/content/tasks.xconf</code>.
+A typical task configuration file looks like follows:
+</p>
+<source><![CDATA[
+
+<?xml version="1.0"?>
+<tasks>
+
+  <!-- publish page -->
+  <task id="publish">
+    <label>Publish</label>
+    <task id="publish" class="org.lenya.cms.publishing.DefaultFilePublisher">
+      <parameter name="live-path" value="content/live"/>
+      <parameter name="tree-live-path" value="content/live/tree.xml"/>
+    </task>
+    <task id="export" class="org.lenya.cms.publishing.StaticHTMLExporter">
+      <parameter name="export-path" value="resources/export/pending"/>
+      <parameter name="substitute-regexp" value="s/\/lenya\/your-publication//g"/>
+    </task>
+  </task>
+</tasks>
+
+]]></source>
+<p>
+Every task must have a unique <code>id</code> attribute. This identifier is
+used to address the task from the sitemap.
+Every top-level task must have a child element <code>&lt;label&gt;</code>. The
+content of this element is used, e. g., by the scheduler to let the user choose
+a task from a list. The actual implementation of a task is identified using the
+<code>class</code> attribute.
+</p>
+
+<section><title>Parameters</title>
+<p>
+Usually, a task needs some parameters to be executed properly.
+There are two possibilities to pass parameters to a task:</p>
+<ol>
+  <li>
+    You can define all parameters or a subset of them in the <code>tasks.xconf</code> file.
+  </li>
+  <li>
+    The remainig parameters can be handled to the <code>TaskAction</code> or the
+    <code>TaskJob</code> that executes the task. Request parameters always have a higher
+    priority than parameters from the <code>tasks.xconf</code> file.
+  </li>
+</ol>
+<p>
+To simplifiy the passing of parameters to tasks, the <code>TaskAction</code> and
+<code>TaskJob</code> objects create some default parameters based on
+the request and session objects:</p>
+<ul>
+  <li>
+    <code>Task.PARAMETER_SERVLET_CONTEXT</code> - the path of the servlet context<br/>
+    <code>/home/user_id/build/jakarta-tomcat/webapps/lenya</code>
+  </li>
+  <li>
+    <code>Task.PARAMETER_SERVER_URI</code> - the server URI<br/>
+    <code>http://www.yourhost.com:8080/lenya/publication/index.html</code>
+  </li>
+  <li>
+    <code>Task.PARAMETER_SERVER_PORT</code> - the server port<br/>
+    <code>http://www.yourhost.com:8080/lenya/publication/index.html</code>
+  </li>
+  <li>
+    <code>Task.PARAMETER_CONTEXT_PREFIX</code> - the part of the URI that precedes the publication ID<br/>
+    <code>http://www.yourhost.com:8080/lenya/publication/index.html</code>
+  </li>
+  <li>
+    <code>Task.PARAMETER_PUBLICATION_ID</code> - the publication ID<br/>
+    <code>http://www.yourhost.com:8080/lenya/publication/index.html</code>
+  </li>
+</ul>
+</section>
+
+<section><title>Task Sequences</title>
+<p>
+Tasks can be nested using so-called <em>task sequences</em>. Sub-tasks of other
+tasks don't need to have <code>&lt;label&gt;</code> elements because they can't
+be addressed independently. Whenever a task sequence is executed, all sub-tasks
+are executed in the same order as they are declared.
+</p>
+<p>
+When you group tasks, the enclosing <code>&lt;task&gt;</code> element does not
+need a <code>&lt;class&gt;</code> attribute. If you omit it, the <code>TaskSequence</code>
+class is used as default. If you want to implement your own task grouping
+mechanism using a subclass of <code>TaskSequence</code>, you can append a
+class attribute.
+</p>
+<p>
+All parameters that are passed to a TaskSequence are forwarded to all tasks
+in the sequence. By creating a subclass of <code>TaskSequence</code> you could implement
+a parameter selection mechanism, e. g. using namespace prefixes.
+</p>
+</section>
+
+<section><title>Assigning Tasks to Document Types</title>
+<p>
+Every document type can support a set of tasks. The labels of these tasks
+are displayed on the scheduler screen of a document of this type.
+To assign a task to a document type, you have to edit the file
+<code>[publication-directory]/config/doctypes/doctypes.xconf</code>:
+</p>
+<source><![CDATA[
+
+<doctypes>
+  <doc type="Simple-Document">
+    <tasks>
+      <task id="publish"/>
+      <task id="backup"/>
+      ...
+    </tasks>
+  </doc>
+  ...
+</doctypes>
+
+]]></source>
+<p>
+You can associate every task with an arbitrary number of document types.
+</p>
+
+</section>
+
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/development.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/development.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: development.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Developing Your Own Tasks</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+Every task must implement the <code>org.lenya.cms.task.Task</code> interface.
+</p>
+<p>
+The easiest way to develop your own task is to extend the <code>AbstractTask</code> class.
+Its <code>parameterize()</code> method simply replaces old parameter values with new
+ones. All you have to do is implementing the <code>execute(String contextPath)</code>
+method.
+</p>
+<p>
+You may wonder why we pass the <code>contextPath</code> as a method parameter
+since we already pass it as a task parameter. This ensures that the task is always
+able to access the Lenya CMS directory, even if it is not created by a <code>TaskAction</code>
+or a <code>TaskJob</code>. Furthermore, if you enter a task in the <code>jobs.xml</code>
+file manually, you won't have to provide a hard-coded <code>servlet-context</code> parameter.
+</p>
+<p>
+<strong>This feature may be subject to changes. If you have any suggestions to improve
+the task implementation, just contact me (Andreas Hartmann) at</strong>
+<link href="mailto:andreas@apache.org">andreas@apache.org</link>.
+</p>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/exporter.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/exporter.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: exporter.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>The StaticHTMLExporter Task</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+The StaticHTMLExporter is a task that downloads HTML pages from a server and
+saves them as HTML files. It needs the following
+parameters:
+</p>
+<ul>
+ <li><strong>server-uri</strong>: the server uri, e. g. <code>http://authoring.yourdomain.com</code></li>
+ <li><strong>server-port</strong>: the server port, e. g. 8080</li>
+ <li><strong>publication-id</strong>: the publication id</li>
+ <li><strong>export-path-prefix</strong>: the path to save the files to</li>
+ <li><strong>uris</strong>: a comma-separated list of uris to download (without server + port)</li>
+ <li><strong>substitute-regexp</strong>: a regular expression to substitute a part of the path</li>
+</ul>
+<p>
+Usually, the path information is read
+from the <code>[publication-directory]/config/publishing/publisher.xconf</code> file:
+</p>
+<source><![CDATA[
+
+<publication>
+  ...
+  <export>
+    <destination href="work/export/pending"/>
+    <substitution regexp="s/\/lenya\/unipublic//g"/>
+  </export>
+</publication>
+
+]]></source>
+
+<p>
+You can override the paths in the task configuration file <code>tasks.xconf</code>,
+e. g. to use several publishers to publish into different directories:
+</p>
+
+<source><![CDATA[
+
+<tasks>
+
+  <task id="export-pending" class="org.apache.lenya.cms.publishing.StaticHTMLExporter">
+    <parameter name="export-path" value="work/export/pending"/>
+    <parameter name="substitute-regexp" value="s/\/lenya\/your-publication//g"/>
+  </task>
+
+  <task id="export-backup" class="org.apache.lenya.cms.publishing.StaticHTMLExporter">
+    <parameter name="export-path" value="work/backup"/>
+    <parameter name="substitute-regexp" value="s/\/lenya\/your-publication//g"/>
+  </task>
+
+</tasks>
+
+]]></source>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/mailtask.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/mailtask.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: mailtask.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>The MailTask</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+A <code>MailTask</code> sends an e-mail. The parameters, such as recipient
+address, subject, and body, can either be provided as a task parameter or
+extracted from an XML document.
+</p>
+
+<section>
+<title>Task Parameters</title>
+
+<p>
+The following parameters must be provided:</p>
+<ul>
+  <li><strong>server</strong>: the SMTP server URI</li>
+  <li><strong>from</strong>: you@yourhost.com</li>
+  <li><strong>to</strong>: friend@mail.com</li>
+  <li><strong>cc</strong>: other-friends@mail.com</li>
+  <li><strong>subject</strong>: Hello World!</li>
+  <li><strong>body</strong>: How are you?</li>
+</ul>
+
+
+<section><title>Getting the mail data from an XML source</title>
+<p>
+Additionally, you can pass a <code>uri</code> parameter to the <code>MailTask</code>:</p>
+<ul>
+  <li><strong>uri</strong>: the URI to get the XML file from</li>
+</ul>
+<p>If this parameter is present, the task tries to fetch an XML document from the URI.
+If the parameter <code>uri</code> starts with a <code>http://</code> or <code>ftp://</code>
+prefix, the absolute URI is used. If not, the URI is interpreted as relative to the
+local publication.</p>
+<p>
+A complete XML document could look like this:
+</p>
+<source><![CDATA[
+
+<mail:mail xmlns:mail="http://apache.org/cocoon/lenya/mail/1.0">
+  <mail:server>mail.yourhost.com</mail:server>
+  <mail:from>you@yourhost.com</mail:from>
+  <mail:to>friend@mail.com</mail:to>
+  <mail:cc>other-friends@mail.com</mail:cc>
+  <mail:subject>Hello Friends!</mail:subject>
+  <mail:body>How are you?</mail:body>
+</mail:mail>
+
+]]></source>
+<p>
+All child elements of <code>&lt;mail:mail&gt;</code> are optional.
+If the <code>uri</code> task parameter is provided, the XML
+document is fetched from the URI and the parameters are extracted.
+</p>
+<p>
+Task parameters have a higher priority than elements of the document. This makes it
+possible to access one complete XML file from different <code>MailTask</code>s and override
+the recepient address or other values.
+</p>
+</section>
+</section>
+
+<section><title>Declaring and Using the MailTask</title>
+<p>
+In <code>tasks.xconf</code>, a typical mail task looks like follows:
+</p>
+<source><![CDATA[
+
+  <task id="send-newsletter" class="org.lenya.cms.mail.MailTask">
+    <label>Send Newsletter</label>
+    <parameter name="server" value="mail.example.com"/>
+    <parameter name="from" value="info@example.com"/>
+    <parameter name="to" value="newsletter-subscribers@example.com"/>
+    <parameter name="uri" value="/authoring/newsletter/mail.xml"/>
+  </task>
+
+]]></source>
+<p>
+The actual newsletter is received from the URI that is interpreted
+relativly to the publication URI. The task can be invoked in a sitemap pipeline:
+</p>
+<source><![CDATA[
+
+  <map:action name="task" src="org.lenya.cms.cocoon.acting.TaskAction"/>
+  
+  ...
+  
+  <map:match pattern="newsletter/send">
+    <map:act type="task">
+      <map:parameter name="task-id" value="send-newsletter"/>
+      <map:redirect-to uri="report-success.html" session="true"/>
+    </map:act>
+    <map:redirect-to uri="report-failure.html" session="true"/>
+  </map:match>
+
+]]></source>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/publisher.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/publisher.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: publisher.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>The DefaultFilePublisher Task</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<p>
+The DefaultFilePublisher is a task that copies XML source files from
+the authoring directory to another location, usually the live directory.
+It needs the following parameters:
+</p>
+<ul>
+ <li><strong>publication-id</strong>: the publication identifier</li>
+ <li><strong>authoring-path</strong>: the authoring path</li>
+ <li><strong>tree-authoring-path</strong>: the location of the <code>tree.xml</code> file</li>
+ <li><strong>live-path</strong>: the live path</li>
+ <li><strong>tree-live-path</strong>: the location of the <code>tree.xml</code> file</li>
+ <li><strong>sources</strong>: a comma-separated list of files to publish</li>
+</ul>
+<p>
+All paths are relative to the publication directory. Usually, the path information is read
+from the <code>[publication-directory]/config/publishing/publisher.xconf</code> file:
+</p>
+<source><![CDATA[
+
+<publication>
+  <authoring>
+    <documents href="content/authoring"/>
+    <tree href="content/authoring/tree.xml"/>
+  </authoring>
+  <live>
+    <documents href="content/live"/>
+    <tree href="content/live/tree.xml"/>
+  </live>
+  ...
+</publication>
+
+]]></source>
+
+<p>
+You can override the paths in the task configuration file <code>tasks.xconf</code>,
+e. g. to use several publishers to publish into different directories:
+</p>
+
+<source><![CDATA[
+
+<tasks>
+
+  <task id="publish-test" class="org.apache.lenya.cms.publishing.DefaultFilePublisher">
+    <label>Publish</label>
+    <parameter name="live-path" value="content/live-test"/>
+    <parameter name="tree-live-path" value="content/live-test/tree.xml"/>
+  </task>
+  
+  <task id="publish-real" class="org.apache.lenya.cms.publishing.DefaultFilePublisher">
+    <label>Publish</label>
+    <parameter name="live-path" value="content/live"/>
+    <parameter name="tree-live-path" value="content/live/tree.xml"/>
+  </task>
+
+</tasks>
+
+]]></source>
+<p>
+The remaining parameters, <code>publication-id</code> and <code>sources</code>, are
+passed to the task as request parameters.
+</p>
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/scheduling.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/scheduling.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: scheduling.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>Scheduling a Task</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section><title>Scheduling a Task</title>
+<p>
+See section <strong>Scheduler</strong>.
+</p>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/taskaction.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/tasks/taskaction.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: taskaction.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>The TaskAction: Triggering a Task from the Sitemap</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Declaring the Action</title>
+<p>
+To invoke a task from a sitemap pipeline, you use a <code>TaskAction</code>. The
+task ID is handled to the action by a <code>task</code> parameter:
+</p>
+
+<source><![CDATA[
+
+<map:components>
+  ...
+  <map:actions>
+    <map:action name="publisher"
+                src="org.lenya.cms.cocoon.acting.TaskAction">
+      <task id="publish"/>
+    </map:action>
+  </map:actions>
+  ...
+</map:components>
+
+]]></source>
+<p>
+The <code>TaskAction</code> collects the request parameters and forwards them
+to the task.
+</p>
+<source><![CDATA[
+
+<map:match pattern="lenya/publish*">
+  <map:act type="publisher">
+    <map:redirect-to uri="{parent_uri}" session="true"/>
+  </map:act>
+  <map:redirect-to uri="publishScreen?status=failed" session="true"/>
+</map:match>
+
+]]></source>
+
+<p>
+You can also pass the task ID as a <code>task-id</code> parameter directly in the pipeline:
+</p>
+
+<source><![CDATA[
+
+
+<map:actions>
+  <map:action name="task" src="org.lenya.cms.cocoon.acting.TaskAction"/>
+</map:actions>
+
+...
+
+<map:match pattern="lenya/publish*">
+  <map:act type="task">
+    <map:parameter name="task-id" value="publish-article"/>
+    <map:redirect-to uri="{parent_uri}" session="true"/>
+  </map:act>
+  <map:redirect-to uri="publishScreen?status=failed" session="true"/>
+</map:match>
+
+]]></source>
+
+</section>
+
+<section><title>Scheduling a Task</title>
+<p>
+See section <strong>Scheduler</strong>.
+</p>
+</section>
+
+<section><title>Developing Your Own Tasks</title>
+
+<p>
+Every task must implement the <code>org.lenya.cms.task.Task</code> interface.
+</p>
+<p>
+The easiest way to develop your own task is to extend the <code>AbstractTask</code> class.
+Its <code>parameterize()</code> method simply replaces old parameter values with new
+ones. All you have to do is implementing the <code>execute(String contextPath)</code>
+method.
+</p>
+<p>
+You may wonder why we pass the <code>contextPath</code> as a method parameter
+since we already pass it as a task parameter. This ensures that the task is always
+able to access the Lenya CMS directory, even if it is not created by a <code>TaskAction</code>
+or a <code>TaskJob</code>. Furthermore, if you enter a task in the <code>jobs.xml</code>
+file manually, you won't have to provide a hard-coded <code>servlet-context</code> parameter.
+</p>
+<p>
+<strong>This feature may be subject to changes. If you have any suggestions to improve
+the task implementation, just contact me (Andreas Hartmann) at</strong>
+<link href="mailto:ah@wyona.org">ah@wyona.org</link>.
+</p>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/URIParametrizer.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/URIParametrizer.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,169 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: URIParametrizer.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+<document> 
+  <header> 
+    <title>URI Parametrizer</title>
+    <version major="0" minor="1">Initial version</version>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+    <notice></notice> 
+    <abstract>Desciption of the URI Parametrizer which is a key
+    element of the site tree framework.</abstract>
+  </header> 
+  <body> 
+
+    <section>
+      <title>Motivation</title>
+
+      <p>The problem of <link
+      href="../publication/siteTree.html">determining the doctype</link>
+      independent of request URI needs a flexible and yet simple
+      solution. This is where the URI Parametrizer comes to the
+      rescue.</p>
+
+    </section>
+
+    <section>
+      <title>Rationale</title>
+
+      <p>The URI Parametrizer is an action which given an arbitrary
+      URI return a configurable number of parameters which it infers
+      from this URI. Typical parameters include source document type,
+      navigation location, etc. The action itself delegates to task of
+      determining the parameters to the Cocoon sitemap, i.e. the
+      parameters are determinined using the normal sitemap pipeline
+      matching mechanism.</p>
+
+      <section>
+	<title>Overview</title>
+	
+	<p>The flow of information is outlined in the following
+	diagram:</p>
+
+	<figure src="images/live/URIParametrizer.png" alt="Diagram of URIParametrizer"/>
+
+      </section>
+      <section>
+	<title>Interfaces</title>
+
+	<p>The URIParametrizerAction expects an arbitrary number of
+	parameters. Each parameter contains a key value pair which
+	denotes the name of the parameter and the source. A typical
+	example is as follows:</p>
+	<source><![CDATA[
+<map:act type="uriparametrizer">
+  <map:parameter name="doctype"
+	  value="cocoon://uri-parameter/{publication-id}/doctype"/>
+  <map:parameter name="path"
+	  value="cocoon://uri-parameter/{publication-id}/path"/>
+  <map:generate src="cocoon:/{doctype}/{path}"/>
+</map:act>
+]]></source>
+
+	<p>The <code>uri-parameter</code> prefix is a standard prefix
+	which invokes a pipeline in the root sitemap which mounts a
+	subsitemap in your publication with the name
+	<code>parameter-{parameterName}.xmap</code>.</p> 
+
+	<p>The action basically just issues a request back to cocoon
+	for each parameter. It uses the URI given in the value
+	attribute where it also adds the original request URI. So for
+	a given request URI <code>foo.html</code> and the parameters
+	given above the action basically issues to requests using the
+	<code>cocoon:</code> protocol:</p>
+	<source>
+cocoon://uri-parameter/{publication-id}/doctype/foo.html
+cocoon://uri-parameter/{publication-id}/path/foo.html</source>
+
+	<p>The matcher for uri-parameter in the root sitemap then
+	tries to mount the sitemaps
+	<code>parameter-doctype.xmap</code> and
+	<code>parameter-path.xmap</code> in the publication. Then the
+	reuest is matched against the parameter sitemap. Here's a very
+	simple example of a parameter sitemap:</p>
+
+	<source><![CDATA[
+<?xml version="1.0"?>
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+  <map:components>
+    <map:generators default="file"/>
+    <map:transformers default="xslt"/>
+    <map:readers default="resource"/>
+    <map:serializers default="html"/>
+    <map:matchers default="wildcard"/>
+    <map:actions/>
+  </map:components>
+
+  <map:views/>
+
+  <map:resources/>
+
+  <map:pipelines>
+
+    <map:pipeline>
+      
+      <map:match pattern="**">
+	<map:generate type="serverpages" src="content/parameters/doctype.xsp">
+          <map:parameter name="value" value="{1}"/>
+        </map:generate>
+	<map:serialize type="xml"/>
+      </map:match>
+      
+    </map:pipeline>
+
+  </map:pipelines>
+</map:sitemap>]]></source>
+
+	<p>A more serious example could possibly include matchers
+	using the SourceTypeAction from the Forrest Project or a
+	HashMapAction as outlined in the <link
+	href="../publication/siteTree.html">SiteTree proposal</link>.</p>
+
+	<p>After a match has been found the pipeline in the parameter
+	sitemap returns an XML snippet in the following form:</p>
+
+	<source><![CDATA[
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<parameter xmlns="http://apache.org/cocoon/lenya/uri-parameters/1.0">article</parameter>
+]]></source>
+
+	<p>This xml is consequently parsed by the action and returned
+	as a HashMap. Inside the action the parameters will be
+	available under the names as they were specified in the
+	parameters to the action.</p>
+      </section>
+
+      <p>The fact that the actual determination is delegated back to
+      the sitemap allows for a combination of the <link
+      href="../publication/siteTree.html">original proposals</link> where
+      solutions such as Hashmap and SourceTypeAction were
+      outlined.</p>
+    </section>
+
+  </body> 
+  <footer> 
+    <legal>© 2003 wyona.org</legal> 
+  </footer>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/standardURI.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/standardURI.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: standardURI.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+<document> 
+  <header> 
+    <title>URI Scheme</title>
+    <version major="0" minor="2">Version 0.2</version>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+    <abstract>Proposal for a standardization of URIs which are used
+      for CMS functionality. </abstract> 
+  </header> 
+  <body> 
+
+    <section>
+      <title>Introduction</title>
+      <p>We want to standardize CMS functionality across different
+      publications so that we can consolidate them in a standard root
+      sitemap.</p>
+
+      <p>In order to achieve this one precondition is to standardize
+      on the URIs how the CMS functionality is invoked.</p>
+
+      <p>There are different ways to achieve this. We either reserve
+      part of the URI space (e.g. /lenya/foo) or we reserve part of
+      the request parameter space (e.g. /foo?lenya=bar)</p>
+
+      <section>
+	<title>Dynamic URIs</title>
+
+	<p>We decided to go mostly for the second solution so that we
+	  can leave the URI space as required by the publication and use
+	  request parameters to invoke CMS actions.</p>
+
+	<p>We define two standard request parameters which we use to
+	  invoke all CMS actions in a standard way:</p>
+	<dl>
+	  <dt><code>lenya.usecase</code></dt>
+	  <dd>The name of the use case, e.g. "publish"</dd>
+	  <dt><code>lenya.step</code></dt>
+	  <dd>Each use case can have multiple steps,
+	    e.g. "showscreen"</dd> 
+	</dl>
+        <p>
+        For further information about usecases, see section <link href="usecases.html">Usecases</link>.
+        </p>
+      </section>
+      
+      <section>
+	<title>Static URIs</title>
+
+	<p>There are also some static URIs that are needed for the Lenya
+	  CMS. They are mostly internal pipelines for resources such as
+	  the menu, css or support files for Xopus and Bitflux
+	  editors.</p>
+
+	<p>There is currently no consistent standard as to under which
+	  URI space these resources should be located. Some are
+	  residing in <code>/xopus/**</code> or
+	  <code>/bitflux/**</code> and others are in
+	  <code>/lenya/**</code>.</p>
+	
+      </section>
+    </section>
+
+    <section id="uri_definition">
+      <title>URI definition</title>
+      
+      <p>Given the URI
+      <code>/lenya/computerworld/authoring/news/foo.html</code> we
+      define the following parts:</p>
+      <table>
+	<tr>
+	  <th>URI fragment</th>
+	  <th>Name</th>
+	</tr>
+	<tr>
+	  <td>lenya</td>
+	  <td><code>context-prefix</code></td>
+	</tr>
+	<tr>
+	  <td>computerworld</td>
+	  <td><code>publication-id</code></td>
+	</tr>
+	<tr>
+	  <td>authoring</td>
+	  <td><code>area</code></td>
+	</tr>
+	<tr>
+	  <td>news/foo</td>
+	  <td><code>document-id</code></td>
+	</tr>
+      </table>
+    </section>
+
+    <section>
+      <title>Static URIs</title>
+
+      <p>Currently different fragments of the URI space are reserved
+	(e.g. <code>/xopus/**</code>, <code>/bitflux/**</code> and
+	everything under <code>/lenya/**</code> that hasn't been
+	defined previously).</p>
+
+      <fixme author="ce">The reserved URI space needs to be
+      consolidated and standardized.</fixme>
+    </section>
+    
+    <section>
+      <title>Dynamic URIs</title>
+
+        <p>The dynamic URIs that are used for usecases are explained in the
+        section <link href="usecases.html">Usecases</link>.
+        </p>
+      
+    </section>
+  </body> 
+  <footer> 
+    <legal>© 200 wyona.org</legal> 
+  </footer>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/usecases.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/uri-handling/usecases.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,604 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: usecases.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+<document> 
+  <header> 
+    <title>Usecases</title>
+    <version major="0" minor="2">Version 0.2</version>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+    <abstract>Description of the usecase concept and the existing usecases.</abstract> 
+  </header> 
+  <body> 
+
+    <section>
+      <title>Introduction</title>
+      <p>
+      Usecases are sequences of pages that are orthogonal to the website,
+      i.e. they can be executed without leaving the current URI.
+      They are mainly used to execute CMS functions, e.g., to publish a page.
+      Usecases are specified by
+      </p>
+      <ul>
+      <li>a <strong>name</strong> and</li>
+      <li>a set of <strong>steps</strong>.</li>
+      </ul>
+      <p>
+      A usecase is executed using the request parameters <code>lenya.usecase</code> and
+      <code>lenya.step</code>.
+      </p>
+    </section>
+    
+    <section><title>Matching Usecases</title>
+    
+    <p>
+    To match a usecase in a sitemap, the <code>WildcardRequestParameterMatcher</code>
+    is used on the <code>lenya.usecase</code> and <code>lenya.step</code> request
+    parameters. The predefined matchers have the types <code>usecase</code> and
+    <code>step</code>. A simple example of a usecase pipeline would be:
+    </p>
+<source>
+<![CDATA[<map:match type="usecase" pattern="publish">
+      
+  <!-- confirmation screen -->
+  <map:match type="step" pattern="showscreen">
+    <map:generate type="serverpages"
+        src="content/publishing/publish-screen.xsp"/>
+    <map:transform src="xslt/publishing/publish-screen.xsl"/>
+    <map:serialize/>
+  </map:match>
+
+  <!-- call publish task -->
+  <map:match type="step" pattern="publish">
+    <map:act type="task">
+      <map:parameter name="publication-id" value="{../../1}"/>
+      <map:parameter name="task-id" value="{request-param:task-id}"/>
+      <map:redirect-to uri="{request:requestURI}" session="true"/>
+    </map:act>
+  </map:match>
+        
+</map:match>]]>
+</source>
+    
+</section>
+
+<section><title>The Usecase Sitemap</title>
+
+  <p>
+  The main usecase sitemap supports a set of generic usecases.
+  It is located at <code>lenya/usecase.xmap</code>.
+  To implement your publication-specific usecases or to override a generic
+  usecase, just add a <code>usecase.xmap</code>
+  sitemap to your publication directory. The Lenya usecase sitemap looks for it
+  and mounts it before the generic usecases are matched.
+  </p>
+
+</section>
+
+  <section>
+    <title>Overview of use cases</title>
+    <p>The following use cases are known:</p>
+
+    <table>
+      <tr>
+        <th>Use case</th>
+        <th><code>lenya.usecase=</code></th>
+        <th><code>lenya.step=</code></th>
+        <th>Comment</th>
+      </tr>
+       <tr>
+        <td>Reject Approval</td>
+        <td>reject</td>
+        <td>showscreen</td>
+        <td>Confirm to reject a document from approval.</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>reject</td>
+        <td></td>
+      </tr>
+       <tr>
+        <td>Submit for Approval</td>
+        <td>submit</td>
+        <td>showscreen</td>
+        <td>Confirm to submit a document to approval.</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>submit</td>
+        <td></td>
+      </tr>
+       <tr>
+        <td>Archive</td>
+        <td>archive</td>
+        <td>showscreen</td>
+        <td>Confirm to archive a document.</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>archive</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Checkin</td>
+        <td>checkin</td>
+        <td>showscreen</td>
+        <td>Confirm the checkin of this document</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>checkin</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Checkout</td>
+        <td>checkout</td>
+        <td>showscreen</td>
+        <td>Confirm the checkout of this document</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>checkout</td>
+        <td></td>
+      </tr>
+       <tr>
+        <td>Copy</td>
+        <td>copy</td>
+        <td>showscreen</td>
+        <td>Confirm to copy a document.  (The document is held in a clipboard until it is pasted again)</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>copy</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Create</td>
+        <td>create</td>
+        <td>showscreen</td>
+        <td>Show a form allowing to specify the parameters for
+        creation of a document</td> 
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>create</td>
+        <td>Create the document</td>
+      </tr>
+       <tr>
+        <td>Cut</td>
+        <td>cut</td>
+        <td>showscreen</td>
+        <td>Confirm to cut a document.  (The document is held in a clipboard until it is pasted again)</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>cut</td>
+        <td></td>
+      </tr>
+       <tr>
+        <td>Deactivate</td>
+        <td>deactivate</td>
+        <td>showscreen</td>
+        <td>Confirm to deactivate a document.</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>deactivate</td>
+        <td></td>
+      </tr>
+       <tr>
+        <td>Delete</td>
+        <td>delete</td>
+        <td>showscreen</td>
+        <td>Confirm to delete a document.</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>delete</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Logout</td>
+        <td>logout</td>
+        <td>showscreen</td>
+        <td>Confirm the logout</td>
+      </tr>
+       <tr>
+        <td>Paste</td>
+        <td>paste</td>
+        <td>showscreen</td>
+        <td>Confirm to paste a document.  (The document which is held in a clipboard until is pasted)</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>paste</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Publish</td>
+        <td>publish</td>
+        <td>showscreen</td>
+        <td>Confirm the publication of this document</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>publish</td>
+        <td>Publish this document</td>
+      </tr>
+      <tr>
+        <td>Asset upload</td>
+        <td>aset</td>
+        <td>showscreen</td>
+        <td>Show a form allowing to specify the parameters for
+          uploading of an asset</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>upload</td>
+        <td>Upload the asset</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>insert</td>
+        <td>Insert an already uploaded asset</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>upload-and-insert</td>
+        <td>Upload and insert an asset</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>remove</td>
+        <td>Remove a previously uploaded asset</td>
+      </tr>
+       <tr>
+        <td>Rename</td>
+        <td>rename</td>
+        <td>showscreen</td>
+        <td>Confirm to rename a document.</td>
+      </tr>
+       <tr>
+        <td></td>
+        <td></td>
+        <td>rename</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Rollback</td>
+        <td>rollback</td>
+        <td>showscreen</td>
+        <td>Show a list of all versions of this document</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>view</td>
+        <td>View a particular version of this document</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>rollback</td>
+        <td>Roll back to a particular version of this document</td>
+      </tr>
+      <tr>
+        <td>Schedule</td>
+        <td>schedule</td>
+        <td>showscreen</td>
+        <td>Show a list of all task scheduled for this document</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>add</td>
+        <td>Add a new task</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>modify</td>
+        <td>Modify an existing task</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td></td>
+        <td>delete</td>
+        <td>Delete an existing task</td>
+      </tr>
+      <tr>
+        <td>Edit</td>
+        <td></td>
+        <td></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>Administration</td>
+        <td>userAddUser</td>
+        <td></td>
+        <td>Add a user</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>userDeleteUser</td>
+        <td></td>
+        <td>Show a form for adding users</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>userChangeProfile</td>
+        <td></td>
+        <td>Change the profile of a user</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>userChangePasswordUser</td>
+        <td></td>
+        <td>Change the password as a user</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>userChangePasswordAdmin</td>
+        <td></td>
+        <td>Change the password as an administrator</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>userChangeGroups</td>
+        <td></td>
+        <td>Change the group affiliation of a user</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>iprangeAddIPRange</td>
+        <td></td>
+        <td>Add an IP range</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>iprangeDeleteIPRange</td>
+        <td></td>
+        <td>Delete an IP range</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>iprangeChangeProfile</td>
+        <td></td>
+        <td>Change the profile of an IP range</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>iprangeChangeGroups</td>
+        <td></td>
+        <td>Change the group affiliation of an IP range</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>groupAddGroup</td>
+        <td></td>
+        <td>Add a group</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>groupDeleteGroup</td>
+        <td></td>
+        <td>Delete a group</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>groupChangeProfile</td>
+        <td></td>
+        <td>Change the profile of a group</td>
+      </tr>
+      <tr>
+        <td></td>
+        <td>groupChangeMembers</td>
+        <td></td>
+        <td>Change the members of a group</td>
+      </tr>
+      <tr>
+        <td>View Logs</td>
+        <td>view-logs</td>
+        <td>overview</td>
+        <td>Show the logfile list for this publication</td>
+      </tr>
+      <tr>
+        <td>&#160;</td>
+        <td>&#160;</td>
+        <td>log</td>
+        <td>Show a single logfile</td>
+      </tr>
+    </table>
+
+    <fixme author="ce">Can the authenticate process done in a
+      similar way?</fixme>
+
+  </section>
+
+  <section>
+    <title>Use cases</title>
+
+    <section>
+      <title>Resource upload</title>
+
+      <p><code>lenya.usecase=upload</code></p>
+
+      <table>
+        <tr>
+          <th><code>lenya.step=</code></th>
+          <th>additional parameters</th>
+          <th>sample value</th>
+        </tr>
+        <tr>
+          <td>showscreen</td>
+          <td>xpath</td>
+          <td>/NewsML/body.content/block[1]/*[1]</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>insertBefore [optional]</td>
+          <td>true</td>
+        </tr>
+
+        <tr>
+          <td>upload</td>
+          <td>documentid</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>xpath</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>insertBefore [optional]</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>uploadFile</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>identifier [optional]</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td colspan="2">All Dublin core identifiers are also accepted</td>
+        </tr>
+      </table>
+    </section>
+
+    <section>
+      <title>Create</title>
+
+      <p><code>lenya.usecase=create</code></p>
+
+      <table>
+        <tr>
+          <th><code>lenya.step=</code></th>
+          <th>additional parameters</th>
+          <th>sample value</th>
+        </tr>
+        <tr>
+          <td>showscreen</td>
+          <td>parentid</td>
+          <td>/dossiers/2003</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>doctype</td>
+          <td>Dossier</td>
+        </tr>
+        <tr>
+          <td>create</td>
+          <td>parentid</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>childid</td>
+          <td></td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>doctype</td>
+          <td></td>
+        </tr>
+      </table>
+
+    </section>
+
+    <section>
+      <title>Rollback</title>
+
+      <p><code>lenya.usecase=rollback</code></p>
+
+      <table>
+        <tr>
+          <th><code>lenya.step=</code></th>
+          <th>additional parameters</th>
+          <th>sample value</th>
+        </tr>
+        <tr>
+          <td>showscreen</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td>view</td>
+          <td>version</td>
+          <td></td>
+        </tr>
+      </table>
+    </section>
+
+    <section>
+      <title>View Logs</title>
+
+      <p><code>lenya.usecase=view-logs</code></p>
+
+      <table>
+        <tr>
+          <th><code>lenya.step=</code></th>
+          <th>additional parameters</th>
+          <th>sample value</th>
+        </tr>
+        <tr>
+          <td>overview</td>
+          <td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td>log</td>
+          <td>logfile</td>
+          <td>2003-05-13-18-34-00-314.xml</td>
+        </tr>
+      </table>
+    </section>
+
+    <fixme author="ce">Add remaining use cases</fixme>
+  </section>
+      
+  </body> 
+  <footer> 
+    <legal>© 200 wyona.org</legal> 
+  </footer>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/configuration.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/configuration.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: configuration.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document> 
+
+<header> 
+    <title>Workflow Configuration</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body>
+
+<section><title>Workflow Schemas</title>
+<p>The workflow schema definition files of a publication are located at</p>
+<source>
+{publication}/config/workflow/
+</source>
+
+<p>
+  A workflow schema definition looks as follows:
+</p>
+
+<source><![CDATA[
+<workflow xmlns="http://apache.org/cocoon/lenya/workflow/1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://apache.org/cocoon/lenya/workflow/1.0
+        ../../../resources/entities/workflow/workflow.xsd">
+
+  <state id="authoring" initial="true"/>
+  <state id="live"/>
+  <state id="trash"/>
+  <state id="archive"/>
+
+  <variable name="is_live" value="false"/>
+  
+  <transition source="authoring" destination="authoring">
+    <event id="edit"/>
+    <condition class="org.apache.lenya.cms.workflow.RoleCondition">
+      edit, review, organize
+    </condition>
+  </transition>
+  
+  <transition source="authoring" destination="authoring">
+    <event id="deactivate"/>
+    <condition class="org.apache.lenya.workflow.impl.BooleanVariableCondition">
+      is_live = true
+    </condition>
+    <condition class="org.apache.lenya.cms.workflow.RoleCondition">
+      review, organize
+    </condition>
+    <assign variable="is_live" value="false"/>
+  </transition>
+  
+  ...
+  
+</workflow>  
+]]></source>
+
+<p>The workflow namespace URI is</p>
+<source>http://apache.org/cocoon/lenya/workflow/1.0</source>
+</section>
+
+<section><title>States</title>
+<p>
+  All states that are used in the workflow schema have to be declared
+  using <code>&lt;state&gt;</code> elements. The initial state is
+  marked with the <code>initial="true"</code> attribute.
+</p>
+</section>
+
+<section><title>Variables</title>
+<p>
+  All used variables have to be declared using <code>&lt;variable&gt;</code>
+  elements. The initial value of the variable is assigned using the
+  <code>value</code> attribute.
+</p>
+</section>
+
+<section><title>Transitions</title>
+<p>
+  A transition is declared using the <code>&lt;transition&gt;</code> element.
+  The required attributes <code>source</code> and <code>destination</code>
+  denote the states that are connected by this transition.
+</p>
+<p>
+  The transition element must contain one <code>&lt;event&gt;</code> element
+  with an <code>id</code> attribute. Furthermore, it can contain an
+  arbitrary number of <code>&lt;condition&gt;</code> and <code>&lt;assign&gt;</code>
+  elements.
+</p>
+<p>
+  A transition element can have a <code>synchronized="true"</code> attribute.
+  In this case, if the transition is triggered using a
+  <em>SynchronizedWorkflowInstance</em>, it is invoked on all instances.
+</p>
+</section>
+
+<section><title>Variable Assignments</title>
+<p>A variable assignment has the form</p>
+<source><![CDATA[<assign variable="..." value="..."/>]]></source>
+<p>
+  The variable must have been declared in this workflow schema.
+  Because only boolean variables are supported, <code>value</code> must
+  be either <code>true</code> or <code>false</code>.
+</p>
+</section>
+
+<section><title>Conditions</title>
+<p>A condition has the form</p>
+<source><![CDATA[<condition class="...">...</condition>]]></source>
+
+<p>The <code>class</code> attribute contains the complete name
+(including the package) of the condition class. You can use the
+condition classes that ship with Lenya (see below) or implement your
+own conditions. All condition classes must implement the
+<code>org.apache.lenya.workflow.Condition</code> interface.
+The text inside the element is the expression that should
+be evaluated. It is passed as an argument to the <code>setExpression()</code>
+method.
+</p>
+
+<section><title>BooleanVariableCondition</title>
+<p>The <em>org.apache.lenya.workflow.impl.BooleanVariableCondition</em> requires
+an expression of the form</p>
+<source>{variable-name} = {value}</source>
+<p><code>{variable-name}</code> is the name of a variable that
+was declared in the workflow schema. <code>{value}</code> is either
+<code>true</code> or <code>false</code>.</p>
+</section>
+
+<section><title>RoleCondition</title>
+<p>The <em>org.apache.lenya.cms.workflow.RoleCondition</em> requires a
+comma-separated list of role IDs:
+</p>
+<source>{role-id-1}, {role-id-2}, ...</source>
+<p>
+  The condition is complied when the current identity has one
+  of these roles on the requested URL.
+</p>
+</section>
+
+</section>
+
+<section><title>Assigning Workflow Schemas to Document Types</title>
+<p>A workflow schema can be assigned to a document type in</p>
+<source>
+{publication}/config/doctypes/doctypes.xconf
+</source>
+<source><![CDATA[<doctypes>
+  <doc type="content-page">
+    ...
+    <workflow src="workflow.xml"/>
+  </doc>
+  ...
+</doctypes>]]></source>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/implementation.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/implementation.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: implementation.xml 43104 2004-07-01 23:59:25Z thorsten $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document> 
+
+<header> 
+    <title>Workflow Implementation</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Andreas Hartmann" email="andreas.hartmann@wyona.org"/> 
+    </authors> 
+</header> 
+<body>
+  
+<section><title>Using Workflow</title>
+
+<p>The general workflow interfaces are declared in the package</p>
+<source>org.apache.lenya.workflow</source>
+
+<p>Workflow objects should only be accessed using these
+interfaces.</p>
+
+<p>For the Lenya CMS, the workflow entry point is the class</p>
+<source>org.apache.lenya.cms.workflow.WorkflowFactory</source>
+<note>It should be possible to select the workflow factory dynamically
+(this is an enhancement in Bugzilla).</note>
+
+<p>For further information, consult the Lenya API documentation.</p>
+
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/introduction.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/introduction.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: introduction.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document> 
+
+<header> 
+    <title>Using Workflow</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section><title>Terms</title>
+
+<dl>
+
+<dt>Workflow Schema</dt>
+<dd>A workflow schema defines a state machine (deterministic finite
+automaton - DFA), consisting of 
+  <ul>
+    <li>states, including a marked initial state,</li>
+    <li>transitions, and</li>
+    <li>state variables.</li>
+  </ul>
+</dd>
+
+<dt>Workflow Instance</dt>
+<dd>A workflow instance is an incarnation of a workflow schema.
+It consists of
+<ul>
+  <li>a current state,</li>
+  <li>a mapping which assigns values to all state variables.</li>
+</ul>
+</dd>
+
+<dt>Transition</dt>
+<dd>A transition describes the switching of a workflow instance
+from one state to another. A transition has
+<ul>
+  <li>a source state,</li>
+  <li>a destination state,</li>
+  <li>an event,</li>
+  <li>a set of conditions,</li>
+  <li>a set of assignments.</li>
+</ul>
+Additionally, a transition can be marked as synchronized.
+</dd>
+
+<dt>History</dt>
+<dd>The history of a workflow instance contains a list of all versions
+of the instance. A version contains
+<ul>
+  <li>the state,</li>
+  <li>the event that caused the transition (omitted in the first version),</li>
+  <li>a description of the identity that invoked the event (username and IP address)</li>
+</ul>
+</dd>
+
+<dt>State Variable</dt>
+<dd>A workflow schema can contain a set of state variables.
+For each instance, the state variables hold certain values.
+Values can be assigned during transitions, so a variable can change
+its value when a transition fires. Currently, Lenya supports only
+boolean state variables.
+</dd>
+
+<dt>Condition</dt>
+<dd>
+A condition can prevent a transition from firing, based on
+the current situation.
+Examples:
+<ul>
+  <li>Does the current user have a certain role on the current URL?
+    (<code>RoleCondition</code>, included in Lenya)</li>
+  <li>Does a certain state variable have a certain value
+    (e.g., is the document published)?
+    (<code>BooleanVariableCondition</code>, included in Lenya)</li>
+  <li>Is the sun shining? (e.g., if the weather report may only
+     be published on sunny days)</li>
+</ul>
+</dd>
+
+<dt>Situation</dt>
+<dd>A situation defines the state of the environment
+of a workflow instance. Examples are:
+<ul>
+  <li>the current user ID</li>
+  <li>the roles of the current user on the current URL</li>
+</ul>
+</dd>
+
+</dl>
+
+</section>
+
+<section><title>The State Machine</title>
+<p>
+When an event <em>e</em> is invoked on a workflow instance <em>I</em>, the following
+algorithm is executed:
+</p>
+<ul>
+  <li>The current state <em>s<sub>current</sub></em> is determined.</li>
+  <li>The transition <em>t</em> from <em>s<sub>current</sub></em> to <em>s<sub>next</sub></em>
+      which has the event <em>e</em> is determined.</li>
+  <li>If <em>t</em> is not exactly defined, an exception is thrown.</li>
+  <li>All conditions of <em>t</em> are validated.</li>
+  <li>If all conditions are complied, the transition <em>t</em> fires:
+  <ul>
+    <li>All assignments of <em>t</em> are executed.</li>
+    <li>The workflow instance <em>I</em> is advanced to the state <em>s<sub>next</sub></em>.</li>
+  </ul>
+  </li>
+</ul>
+</section>
+
+<section><title>The Workflow Schema</title>
+<p>The workflow schema definition files of a publication are located at</p>
+<source>
+{publication}/config/workflow/
+</source>
+</section>
+
+<section><title>Assigning Workflow Schemas to Document Types</title>
+<p>A workflow schema can be assigned to a document type in</p>
+<source>
+{publication}/config/doctypes/doctypes.xconf
+</source>
+<source><![CDATA[<doctypes>
+  <doc type="content-page">
+    ...
+    <workflow src="workflow.xml"/>
+  </doc>
+  ...
+</doctypes>]]></source>
+</section>
+
+<section><title>Initializing the Workflow History</title>
+</section>
+
+<section><title>Synchronization</title>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/state-machine.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/state-machine.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: state-machine.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document> 
+
+<header> 
+    <title>The Workflow State Machine</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body>
+
+<section><title>Invoking a Transition</title>
+<p>
+When an event <em>e</em> is invoked on a workflow instance <em>I</em>, the following
+algorithm is executed:
+</p>
+<ul>
+  <li>The current state <em>s<sub>current</sub></em> is determined.</li>
+  <li>The transition <em>t</em> from <em>s<sub>current</sub></em> to <em>s<sub>next</sub></em>
+      which has the event <em>e</em> is determined.</li>
+  <li>If <em>t</em> is not exactly defined, an exception is thrown.</li>
+  <li>All conditions of <em>t</em> are validated.</li>
+  <li>If all conditions are complied, the transition <em>t</em> fires:
+  <ul>
+    <li>All assignments of <em>t</em> are executed.</li>
+    <li>The workflow instance <em>I</em> is advanced to the state <em>s<sub>next</sub></em>.</li>
+  </ul>
+  </li>
+</ul>
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/terms.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/components/workflow/terms.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: terms.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document> 
+
+<header> 
+    <title>Workflow Terms</title>
+    <version>0.1</version> 
+    <type>Overview document</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section><title>Terms</title>
+
+<dl>
+
+<dt>Workflow Schema</dt>
+<dd>A workflow schema defines a state machine (deterministic finite
+automaton - DFA), consisting of 
+  <ul>
+    <li>states, including a marked initial state,</li>
+    <li>transitions, and</li>
+    <li>state variables.</li>
+  </ul>
+</dd>
+
+<dt>Workflow Instance</dt>
+<dd>A workflow instance is an incarnation of a workflow schema.
+It consists of
+<ul>
+  <li>a current state,</li>
+  <li>a mapping which assigns values to all state variables.</li>
+</ul>
+</dd>
+
+<dt>Transition</dt>
+<dd>A transition describes the switching of a workflow instance
+from one state to another. A transition has
+<ul>
+  <li>a source state,</li>
+  <li>a destination state,</li>
+  <li>an event,</li>
+  <li>a set of conditions,</li>
+  <li>a set of assignments.</li>
+</ul>
+Additionally, a transition can be marked as synchronized.
+</dd>
+
+<dt>History</dt>
+<dd>The history of a workflow instance contains a list of all versions
+of the instance. A version contains
+<ul>
+  <li>the state,</li>
+  <li>the event that caused the transition (omitted in the first version),</li>
+  <li>a description of the identity that invoked the event (username and IP address)</li>
+</ul>
+</dd>
+
+<dt>State Variable</dt>
+<dd>A workflow schema can contain a set of state variables.
+For each instance, the state variables hold certain values.
+Values can be assigned during transitions, so a variable can change
+its value when a transition fires. Currently, Lenya supports only
+boolean state variables.
+</dd>
+
+<dt>Condition</dt>
+<dd>
+A condition can prevent a transition from firing, based on
+the current situation.
+Examples:
+<ul>
+  <li>Does the current user have a certain role on the current URL?
+    (<code>RoleCondition</code>, included in Lenya)</li>
+  <li>Does a certain state variable have a certain value
+    (e.g., is the document published)?
+    (<code>BooleanVariableCondition</code>, included in Lenya)</li>
+  <li>Is the sun shining? (e.g., if the weather report may only
+     be published on sunny days)</li>
+</ul>
+</dd>
+
+<dt>Situation</dt>
+<dd>A situation defines the state of the environment
+of a workflow instance. Examples are:
+<ul>
+  <li>the current user ID</li>
+  <li>the roles of the current user on the current URL</li>
+</ul>
+</dd>
+
+<dt>Synchronization</dt>
+<dd>
+<p>A set of workflow instances with the same workflow schema
+can be synchronized. If a transition in this schema is marked as
+synchronized, it can only be invoked on all instances in the
+set at the same time.</p>
+<p>When a workflow event is invoked on a set of synchronized
+workflow instances, the transition is invoked only if</p>
+<ul>
+  <li>all instances are in the source state of the transition, and</li>
+  <li>all conditions of the transition are complied for all
+  instances.</li>
+</ul>
+<p>Then the transition is invoked for all instances in the set.</p>
+<p>A common usecase of this concept is the simultaneous publishing
+of a set of documents (all language versions of a document,
+a section, ...).</p>
+</dd>
+
+</dl>
+
+</section>
+
+</body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+  <header>
+    <title>Apache Lenya Documentation</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+        <p>
+           In getting started with Lenya, one must learn not only a number of concepts, but a number of details as well. 
+           The Components section will explain the building blocks that make up Lenya, such as the sitemap, publications, and tasks.
+        </p>
+
+        <p>
+           You can find here release specific documentation. Although right now we have here the documentation mainly for 1.2.x..
+           This is our stable releases and should be used for productiv environments.
+        </p>
+        <p>
+           The 1.4. branch reflects our efforts to integrate Jackrabbit and building an even more flexible frameworks. 
+           With the 1.4. branch we are trying to capsulate the functionalities of lenya into plugins. 
+           This plugins then can be (hopefully) used in all following version independent from the lenya core.
+        </p>
+        <p>
+           This way we can make flexible changes in 2.0 where we want to refactor the underlinying code base. 
+           The version 2.0 will be have the lenya core and a plugin base arround this way we hope to shorten the development time with lenya.
+           The idea is that the user (or admin) can choose from a width range of plugins that he can use in his (her) application. 
+        </p>
+<p>
+More documentation (work in progress) can be found at the <link href="http://wiki.apache.org/cocoon-lenya/">Apache Lenya Wiki</link>.
+</p>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/coding-guidelines.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/coding-guidelines.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: coding-guidelines.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+  <header>
+    <title>Apache Lenya Coding Guidelines</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+    <section>
+      <title>Introduction</title>
+      <p>
+	We use coding standards to be able to write code easy to
+	understand, to maintain, and to enhance.
+      </p>
+    </section>
+    <section>
+      <title>Java Code</title>
+      <p>
+	Generally we stick with standards. In the case of coding
+	standards we simply use the guidelines from Sun.
+      </p>
+      <p>
+	Here are the rules:
+      </p>
+      <ul>
+        <li>Thou shalt only produce code conforming to the Java code
+        conventions, as they are set down on the page <link
+        href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html</link>
+        <p/>
+        </li>
+        <li>Thou shalt not produce any code containing tab-stops.
+        <p/>
+        </li>
+      </ul>
+    </section>
+    <section>
+      <title>XML and XSP</title>
+      <p>
+	The only restriction we impose on XML, XSLT and XSP code is
+	that the indenting is 2 spaces. Again please no tab stops.
+      </p>
+    </section>
+  </body>
+</document>
\ No newline at end of file

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "http://forrest.apache.org/dtd/document-v12.dtd">
+<document> 
+  <header> 
+    <title>Samples</title> 
+  </header> 
+  <body> 
+    <section>
+      <title>If something goes wrong..</title>
+      <p>Patches are welcome: <link href="http://forrest.apache.org/faq.html">Forrest FAQ</link></p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/javadoc-error.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/javadoc-error.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: javadoc-error.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+  <header>
+    <title>Javadocs Not Generated</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+<p>The javadoc files are not yet generated. To do so, execute the following commands
+in your Lenya source directory:</p>
+<source>
+$ ant javadocs
+$ ant install
+</source>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/unittests.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/unittests.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: unittests.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+  <header>
+    <title>Writing Unit Tests</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+    <section>
+      <title>Introduction</title>
+      <p>Recommended resources</p>
+      <ul>
+        <li><link href="http://www.junit.org">JUnit homepage</link></li>
+        <li><link href="http://junit.sourceforge.net/doc/cookbook/cookbook.htm">JUnit Cookbook</link> (Eric Gamma, Kent Beck)</li>
+        <li><link href="http://junit.sourceforge.net/doc/cookstour/cookstour.htm">JUnit: A Cook's Tour</link> (Eric Gamma, Kent Beck)</li>
+        <li><link href="http://junit.sourceforge.net/doc/testinfected/testing.htm">JUnitTest Infected: Programmers Love Writing Tests</link></li>
+      </ul>
+    </section>
+
+<section><title>Organization</title>
+<ol>
+  <li>Put your test classes in <code>src/test</code>.</li>
+  <li>Add the ant task that executes your test to <code>src/targets/test-build.xml</code></li>
+</ol>
+</section>    
+
+<section><title></title>
+</section>
+    
+  </body>
+</document>
+

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/xinclude-processor.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/misc/xinclude-processor.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: xinclude-processor.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document> 
+
+<header> 
+    <title>XInclude Processor</title>
+    <version>0.1</version> 
+    <type>Documentation</type> 
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors> 
+</header> 
+<body> 
+
+<section>
+<title>Hello World</title>
+<source>
+<![CDATA[
+<hello>
+<levi xlink:href="world.xml" xlink:show="embed" xmlns:xlink="http://www.w3.org/1999/xlink"/>
+</hello>
+]]>
+</source>
+</section>
+
+<section>
+<title>Hello World with XPointer</title>
+<source>
+<![CDATA[
+<hello>
+<levi xlink:href="world.xml#xpointer(/world/countries/country[@id='japan'])xpointer(/world/countries/country[@id='china'])" xlink:show="embed" xmlns:xlink="http://www.w3.org/1999/xlink"/>
+</hello>
+]]>
+</source>
+</section>
+
+<section>
+<title>Hello World with XPointer and Namespace</title>
+<source>
+<![CDATA[
+<hello>
+<levi xlink:href="world.xml#xmlns(solar=http://www.foo.bar/0/solar)xpointer(/solar:world/solar:countries)" xlink:show="embed" xmlns:xlink="http://www.w3.org/1999/xlink"/>
+</hello>
+]]>
+</source>
+</section>
+
+</body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Proposals</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+    <section><title>Introduction</title>
+      <p>This section contains proposals for enhancement of Lenya
+      which have been submitted. They reflect the ideas as they were
+      when the proposal was submitted. They are not necessary an
+      acurate description if and how the proposal was implemented.</p>
+    </section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/namespaces.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.2.x/specs/namespaces.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: namespaces.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+  <header>
+    <title>Namespaces</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+  
+<section><title>Namespaces Used in Lenya</title>
+
+<p>
+All namespace declarations should follow the scheme
+</p>
+<source>
+http://apache.org/cocoon/lenya/{name}/{version}
+</source>
+
+<dl>
+
+<dt>http://apache.org/cocoon/lenya/sitetree/1.0</dt>
+<dd>The sitetree.</dd>
+
+<dt>http://apache.org/cocoon/lenya/cms-page/1.0</dt>
+<dd>The layout of a CMS page.</dd>
+
+<dt>http://apache.org/cocoon/lenya/scheduler/1.0</dt>
+<dd>Scheduler data.</dd>
+
+</dl>
+
+</section>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/1.4/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/1.4/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+  <header>
+    <title>Apache Lenya Documentation</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+        <note> This is just a working draft not the actual finished documentation</note>
+        <p>
+           The 1.4. branch reflects our efforts to integrate Jackrabbit and building an even more flexible frameworks. 
+           With the 1.4. branch we are trying to capsulate the functionalities of lenya into plugins. 
+           This plugins then can be used in all following version independent from the lenya core.
+        </p>
+  </body>
+</document>

Added: incubator/lenya/site/src/documentation/content/xdocs/docs/2.1/index.xml
==============================================================================
--- (empty file)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/2.1/index.xml	Sun Oct 31 18:17:34 2004
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ -->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "document-v12.dtd">
+
+<document>
+  <header>
+    <title>Apache Lenya Documentation</title>
+    <version/>
+    <type/>
+    <authors>
+      <person name="Lenya community" email="lenya-dev@cocoon.apache.org"/>
+    </authors>
+  </header>
+  <body>
+        <note> This is just a brainstorming draft not the actual finished documentation</note>
+        <p>
+           After capsulating all functionality into plugins, we can make flexible changes in 2.0 where we want to refactor the underlinying code base of the core. 
+           The version 2.0 will be have the lenya core and a plugin base arround this way we hope to shorten the development time with lenya.
+           The idea is that the user (or admin) can choose from a width range of plugins that he can use in his (her) application. 
+        </p>
+  </body>
+</document>

Modified: incubator/lenya/site/src/documentation/content/xdocs/docs/index.xml
==============================================================================
--- incubator/lenya/site/src/documentation/content/xdocs/docs/index.xml	(original)
+++ incubator/lenya/site/src/documentation/content/xdocs/docs/index.xml	Sun Oct 31 18:17:34 2004
@@ -29,9 +29,21 @@
     </authors>
   </header>
   <body>
-<p>In getting started with Lenya, one must learn not only a number of concepts, but a number of 
-details as well. The Components section will explain the building blocks that make up Lenya, such as the sitemap, publications, and tasks.</p>
+        <p>
+           In getting started with Lenya, one must learn not only a number of concepts, but a number of details as well. 
+           The Components section will explain the building blocks that make up Lenya, such as the sitemap, publications, and tasks.
+        </p>
 
+        <p>
+           You can find here release specific documentation. Although right now we have here the documentation mainly for 1.2.x..
+           This is our stable releases and should be used for productiv environments.
+        </p>
+        <p>
+           The 1.4. branch is in Draft status that means that it can be that are just RT (random thoughts) and not yet a documentation.
+        </p>
+        <p>
+           The version 2.0 docu is in brainstorming status that means we just collecting ideas.
+        </p>
 <p>
 More documentation (work in progress) can be found at the <link href="http://wiki.apache.org/cocoon-lenya/">Apache Lenya Wiki</link>.
 </p>

Modified: incubator/lenya/site/src/documentation/content/xdocs/index.xml
==============================================================================
--- incubator/lenya/site/src/documentation/content/xdocs/index.xml	(original)
+++ incubator/lenya/site/src/documentation/content/xdocs/index.xml	Sun Oct 31 18:17:34 2004
@@ -28,7 +28,25 @@
 		</authors>
 	</header>
 	<body>
-<p>
+        <section id="apacheCon">
+                <title>Come to ApacheCon US 2004</title>
+                 <p>
+          <link href="http://apachecon.com/2004/US/">
+            <img src="http://apache.org/images/ac2004_170x100.gif"
+              alt="apachecon 2004 logo" width="170" height="100" />
+          </link>
+          </p><p>
+          <link href="http://apachecon.com/2004/US/">ApacheCon US 2004</link>
+            (13-17 November 2004). ApacheCon is the conference for all
+            things Apache. Come along and learn about a range of new
+            technologies, meet some Apache folks and share the knowledge.
+            See more information about
+           <link href="http://www.apache.org/foundation/conferences.html">Apache Conferences</link>.
+        </p>
+        </section>
+        <section id="introduction" >
+                <title>Introduction</title>
+                <p>
 Apache Lenya is an Open-Source Content Management System written in Java and based on open standards such as 
 XML and XSLT. Lenya is built on top of Apache Cocoon and other components from the Apache Software Stack. 
 Its XML-centric architecture allows for content delivery targeted to the capabilities of various devices, 
@@ -40,17 +58,20 @@
 customized solutions to meet your specific needs that are not already covered by Apache Lenya today.</p>
 <p>
 Download Apache Lenya <link href="ext:incubator.lenya">here</link>.
-</p><p>
-The Apache Lenya Community
 </p>
-		<section>
-			<title><strong>News</strong></title>
-			<ul>
-				<li>
-					<strong>Incubating Apache Lenya 1.2 released</strong> (June 27, 2004)
-				</li>
-			</ul>
-		</section>
+        </section>
+
+        <section id="news">
+      <title>News and events</title>
+      <ul>
+       
+        <li>The Lenya project has evolved to become a "top-level" Apache
+         project.
+        </li>
+        <li><strong>Incubating Apache Lenya 1.2 released</strong> (June 27, 2004) </li>
+      </ul>
+    </section>
+		
 		<section>
 			<title>
 				<strong>Features</strong>

Modified: incubator/lenya/site/src/documentation/content/xdocs/site.xml
==============================================================================
--- incubator/lenya/site/src/documentation/content/xdocs/site.xml	(original)
+++ incubator/lenya/site/src/documentation/content/xdocs/site.xml	Sun Oct 31 18:17:34 2004
@@ -33,164 +33,166 @@
         <install href="source_version.html" label="Installation Instructions"/>
     </installation>
         <documentation href="docs/" label="Documentation" tab="docs">
-            <index_doc href="index.html" label="Documentation" 
-                wholesite="true"/>
-            <whole_docu href="../docu.pdf" label="pdf docu (whole)" />
-            <whole_docu href="../docu.html" label="html docu (whole)" 
-                />
-            <integrator-dev-guide label="Integrator/Dev Guide" >
-                <components href="components/" label="Components" 
-                    wholesite="true">
-                    <!--resource-types href="resource-types/" 
-                        label="Resource&#160;Types"/-->
-                    <accesscontrol href="accesscontrol/" 
-                        label="Access&#160;Control" >
-                        <ac-terms href="terms.html" label="Basic Terms"/>
-                        <accesscontrollers href="accesscontrollers.html" 
-                            label="Access&#160;Controllers"/>
-                        <ac-resolvers href="accesscontrollerresolvers.html" 
-                            label="Access Controller Resolvers"/>
-                        <authenticators href="authenticators.html" 
-                            label="Authenticators"/>
-                        <authorizers href="authorizers.html" 
-                            label="Authorizers"/>
-                        <policies href="policymanagers.html" 
-                            label="Policies and Policy&#160;Managers"/>
-                        <accr-mng href="accreditablemanagers.html" 
-                            label="Accreditable&#160;Managers"/>
-                        <ssl href="ssl.html" label="SSL Encryption"/>
-                        
-                    </accesscontrol>
-                    <authoring href="authoring/" labe="Authoring">
-                        <namespaces href="adding-document-creator.html" 
-                            label="Adding a new document creator"/>
-                        <namespaces href="image-upload.html" 
-                            label="Image Upload"/>
-                        <openoffice href="openoffice.html" label="OpenOffice"/>
-                    </authoring>
-                    <deployment href="deployment/" label="Deployment">
-                        <namespaces href="mod_proxy.html" label="mod_proxy"/>
-                    </deployment>
-                    <misc href="editors/" label="Editors">
-                        <namespaces href="htmlform.html" 
-                            label="HTML Form Editor"/>
-                        <namespaces href="1form.html" 
-                            label="HTML One Form Editor"/>
-                        <namespaces href="bxe.html" label="Bitflux Editor"/>
-                        <namespaces href="kupu.html" label="Kupu"/>
-                        <namespaces href="xopus.html" label="Xopus"/>
-                    </misc>
-                    <layout href="layout/" label="Layout">
-                        <navigation href="navigation.html" label="Navigation"/>
-                        <xhtml-templating href="xhtml-templating.html" 
-                            label="XHTML templating"/>
-                        <static-resources href="static-resources.html" 
-                            label="Serving static resources"/>
-                        <menubar href="lenya-menubar.html" 
-                            label="Lenya Menubar"/>
-                    </layout>
-                    <publication href="publication/" label="Publication">
-                        <pageenvelopemodule href="pageenvelopemodule.html" 
-                            label="PageEnvelopeModule"/>
-                        <sitetree href="siteTree.html" label="Site tree"/>
-                    </publication>
-                    <revisioncontrol href="revisioncontrol/" 
-                        label="Revision Control">
-                        <namespaces href="revisioncontroller.html" 
-                            label="Revision Controller"/>
-                        <namespaces href="rcml.html" label="RCML"/>
-                        <namespaces href="checkin.html" label="Check In"/>
-                        <namespaces href="checkout.html" label="Check Out"/>
-                        <namespaces href="version.html" label="Revisions"/>
-                        <namespaces href="rollback.html" label="Rollback"/>
-                    </revisioncontrol>
-                    <repository href="repository/" label="Repository">
-                        <namespaces href="webdav.html" label="WebDAV Servers"/>
-                    </repository>
-                    <search href="search/" label="Search">
-                        <namespaces href="lucene.html" 
-                            label="Searching with Lucene"/>
-                    </search>
-                    <uri-handling href="uri-handling/" label="URI Handling">
-                        <uri-parametrizer href="URIParametrizer.html" 
-                            label="URI Parametrizer"/>
-                        <standard-uri href="standardURI.html" 
-                            label="URI Scheme"/>
-                        <usecases href="usecases.html" label="Usecases"/>
-                    </uri-handling>
-                    <asset-management href="asset-management/" 
-                        label="Asset Management">
-                        <asset-management-1 href="management.html" 
-                            label="Asset Management"/>
-                    </asset-management>
-                    <link-management href="link-management/" 
-                        label="Link Management">
-                        <link-management-1 href="link-management.html" 
-                            label="Link Management"/>
-                    </link-management>
-                    <meta-data href="metadata/" label="Meta Data">
-                        <meta-data-1 href="metadata.html" 
-                            label="Meta Data Handling"/>
-                    </meta-data>
-                    <multilingual href="multilingual/" 
-                        label="Multilingual Documents">
-                        <multilingual-1 href="multilingual.html" 
-                            label="Multilingual Document Handling"/>
-                    </multilingual>
-                    <node-40 href="tasks/" label="Tasks">
-                        <node-41 href="concept.html" label="The Task Concept"/>
-                        <node-42 href="defining.html" label="Defining Tasks"/>
-                        <node-43 href="taskaction.html" label="The TaskAction"/>
-                        <node-44 href="scheduling.html" 
-                            label="Scheduling a Task"/>
-                        <node-45 label="Included tasks">
-                            <node-46 href="anttask.html" label="AntTask"/>
-                            <node-47 href="publisher.html" 
-                                label="DefaultFilePublisher"/>
-                            <node-48 href="exporter.html" 
-                                label="StaticHTMLExporter"/>
-                            <node-49 href="mailtask.html" label="MailTask"/>
-                        </node-45>
-                        <node-50 href="development.html" 
-                            label="Developing Tasks"/>
-                    </node-40>
-                    <workflow href="workflow/" label="Workflow">
-                        <introduction href="terms.html" label="Terms"/>
-                        <introduction href="state-machine.html" 
-                            label="The State Machine"/>
-                        <introduction href="configuration.html" 
-                            label="Configuration"/>
-                        <introduction href="implementation.html" 
-                            label="Implementation"/>
-                    </workflow>
-                    <sitemanagement href="sitemanagement/" 
-                        label="Site Management">
-                        <archive href="archive.html" label="Archive"/>
-                        <copy href="copy.html" label="Copy"/>
-                        <deactivate href="deactivate.html" label="Deactivate"/>
-                        <delete href="delete.html" label="Delete"/>
-                        <deletetrash href="deletetrash.html" 
-                            label="Delete the trash"/>
-                        <move href="move.html" label="Move"/>
-                        <moveupdown href="moveupdown.html" 
-                            label="Move Up/Down"/>
-                        <rename href="rename.html" label="Rename"/>
-                        <restore href="restore.html" label="Restore"/>
-                    </sitemanagement>
-                </components>
-                <specs href="specs/" label="Specifications" wholesite="true">
-                    <namespaces href="namespaces.html" label="Namespaces"/>
-                </specs>
-                <misc href="misc/" label="Miscellaneous" wholesite="true">
-                    <coding href="coding-guidelines.html" 
-                        label="Coding Guidelines"/>
-                    <javadoc-error href="javadoc-error.html"/>
-                    <node-e href="unittests.html" label="Unit Tests"/>
-                    <node-e href="xinclude-processor.html" 
-                        label="XInclude Processor"/>
-                </misc>
-                <javadoc href="../apidocs/index.html" label="API (Javadoc)"/>
-            </integrator-dev-guide>
+            <index_doc href="index.html" label="Documentation" wholesite="true"/>
+            <whole_docu href="../docu.pdf" label="pdf docu 1.2.x (whole)" />
+            <whole_docu href="../docu.html" label="html docu 1.2.x (whole)" />
+            <docu1.2.x href="1.2.x/" label="1.2.x">
+                    
+                        <components href="components/" label="Components" 
+                            wholesite="true">
+                            <!--resource-types href="resource-types/" 
+                                label="Resource&#160;Types"/-->
+                            <accesscontrol href="accesscontrol/" 
+                                label="Access&#160;Control" >
+                                <ac-terms href="terms.html" label="Basic Terms"/>
+                                <accesscontrollers href="accesscontrollers.html" 
+                                    label="Access&#160;Controllers"/>
+                                <ac-resolvers href="accesscontrollerresolvers.html" 
+                                    label="Access Controller Resolvers"/>
+                                <authenticators href="authenticators.html" 
+                                    label="Authenticators"/>
+                                <authorizers href="authorizers.html" 
+                                    label="Authorizers"/>
+                                <policies href="policymanagers.html" 
+                                    label="Policies and Policy&#160;Managers"/>
+                                <accr-mng href="accreditablemanagers.html" 
+                                    label="Accreditable&#160;Managers"/>
+                                <ssl href="ssl.html" label="SSL Encryption"/>
+                                
+                            </accesscontrol>
+                            <authoring href="authoring/" labe="Authoring">
+                                <namespaces href="adding-document-creator.html" 
+                                    label="Adding a new document creator"/>
+                                <namespaces href="image-upload.html" 
+                                    label="Image Upload"/>
+                                <openoffice href="openoffice.html" label="OpenOffice"/>
+                            </authoring>
+                            <deployment href="deployment/" label="Deployment">
+                                <namespaces href="mod_proxy.html" label="mod_proxy"/>
+                            </deployment>
+                            <misc href="editors/" label="Editors">
+                                <namespaces href="htmlform.html" 
+                                    label="HTML Form Editor"/>
+                                <namespaces href="1form.html" 
+                                    label="HTML One Form Editor"/>
+                                <namespaces href="bxe.html" label="Bitflux Editor"/>
+                                <namespaces href="kupu.html" label="Kupu"/>
+                                <namespaces href="xopus.html" label="Xopus"/>
+                            </misc>
+                            <layout href="layout/" label="Layout">
+                                <navigation href="navigation.html" label="Navigation"/>
+                                <xhtml-templating href="xhtml-templating.html" 
+                                    label="XHTML templating"/>
+                                <static-resources href="static-resources.html" 
+                                    label="Serving static resources"/>
+                                <menubar href="lenya-menubar.html" 
+                                    label="Lenya Menubar"/>
+                            </layout>
+                            <publication href="publication/" label="Publication">
+                                <pageenvelopemodule href="pageenvelopemodule.html" 
+                                    label="PageEnvelopeModule"/>
+                                <sitetree href="siteTree.html" label="Site tree"/>
+                            </publication>
+                            <revisioncontrol href="revisioncontrol/" 
+                                label="Revision Control">
+                                <namespaces href="revisioncontroller.html" 
+                                    label="Revision Controller"/>
+                                <namespaces href="rcml.html" label="RCML"/>
+                                <namespaces href="checkin.html" label="Check In"/>
+                                <namespaces href="checkout.html" label="Check Out"/>
+                                <namespaces href="version.html" label="Revisions"/>
+                                <namespaces href="rollback.html" label="Rollback"/>
+                            </revisioncontrol>
+                            <repository href="repository/" label="Repository">
+                                <namespaces href="webdav.html" label="WebDAV Servers"/>
+                            </repository>
+                            <search href="search/" label="Search">
+                                <namespaces href="lucene.html" 
+                                    label="Searching with Lucene"/>
+                            </search>
+                            <uri-handling href="uri-handling/" label="URI Handling">
+                                <uri-parametrizer href="URIParametrizer.html" 
+                                    label="URI Parametrizer"/>
+                                <standard-uri href="standardURI.html" 
+                                    label="URI Scheme"/>
+                                <usecases href="usecases.html" label="Usecases"/>
+                            </uri-handling>
+                            <asset-management href="asset-management/" 
+                                label="Asset Management">
+                                <asset-management-1 href="management.html" 
+                                    label="Asset Management"/>
+                            </asset-management>
+                            <link-management href="link-management/" 
+                                label="Link Management">
+                                <link-management-1 href="link-management.html" 
+                                    label="Link Management"/>
+                            </link-management>
+                            <meta-data href="metadata/" label="Meta Data">
+                                <meta-data-1 href="metadata.html" 
+                                    label="Meta Data Handling"/>
+                            </meta-data>
+                            <multilingual href="multilingual/" 
+                                label="Multilingual Documents">
+                                <multilingual-1 href="multilingual.html" 
+                                    label="Multilingual Document Handling"/>
+                            </multilingual>
+                            <node-40 href="tasks/" label="Tasks">
+                                <node-41 href="concept.html" label="The Task Concept"/>
+                                <node-42 href="defining.html" label="Defining Tasks"/>
+                                <node-43 href="taskaction.html" label="The TaskAction"/>
+                                <node-44 href="scheduling.html" 
+                                    label="Scheduling a Task"/>
+                                <node-45 label="Included tasks">
+                                    <node-46 href="anttask.html" label="AntTask"/>
+                                    <node-47 href="publisher.html" 
+                                        label="DefaultFilePublisher"/>
+                                    <node-48 href="exporter.html" 
+                                        label="StaticHTMLExporter"/>
+                                    <node-49 href="mailtask.html" label="MailTask"/>
+                                </node-45>
+                                <node-50 href="development.html" 
+                                    label="Developing Tasks"/>
+                            </node-40>
+                            <workflow href="workflow/" label="Workflow">
+                                <introduction href="terms.html" label="Terms"/>
+                                <introduction href="state-machine.html" 
+                                    label="The State Machine"/>
+                                <introduction href="configuration.html" 
+                                    label="Configuration"/>
+                                <introduction href="implementation.html" 
+                                    label="Implementation"/>
+                            </workflow>
+                            <sitemanagement href="sitemanagement/" 
+                                label="Site Management">
+                                <archive href="archive.html" label="Archive"/>
+                                <copy href="copy.html" label="Copy"/>
+                                <deactivate href="deactivate.html" label="Deactivate"/>
+                                <delete href="delete.html" label="Delete"/>
+                                <deletetrash href="deletetrash.html" 
+                                    label="Delete the trash"/>
+                                <move href="move.html" label="Move"/>
+                                <moveupdown href="moveupdown.html" 
+                                    label="Move Up/Down"/>
+                                <rename href="rename.html" label="Rename"/>
+                                <restore href="restore.html" label="Restore"/>
+                            </sitemanagement>
+                        </components>
+                        <specs href="specs/" label="Specifications" wholesite="true">
+                            <namespaces href="namespaces.html" label="Namespaces"/>
+                        </specs>
+                        <misc href="misc/" label="Miscellaneous" wholesite="true">
+                            <coding href="coding-guidelines.html" 
+                                label="Coding Guidelines"/>
+                            <javadoc-error href="javadoc-error.html"/>
+                            <node-e href="unittests.html" label="Unit Tests"/>
+                            <node-e href="xinclude-processor.html" 
+                                label="XInclude Processor"/>
+                        </misc>
+                        <javadoc href="../apidocs/index.html" label="API (Javadoc)"/>
+
+            </docu1.2.x>
+            <docu1.4 href="1.4/index.html" label="1.4" />
+            <docu2.x href="2.1/index.html" label="2" />
         </documentation>
     <community href="community/" label="Community" tab="community">
         <index_com href="index.html" label="Contributing"/>

Modified: incubator/lenya/site/src/documentation/skinconf.xml
==============================================================================
--- incubator/lenya/site/src/documentation/skinconf.xml	(original)
+++ incubator/lenya/site/src/documentation/skinconf.xml	Sun Oct 31 18:17:34 2004
@@ -155,13 +155,16 @@
         To define the css definition of a new element that you may have used
         in the class attribute of a <p> node.
         e.g. <p class="quote"/>
-    -->
-    <!-- p.quote {
-      margin-left: 2em;
-      padding: .5em;
-      background-color: #f0f0f0;
-      font-family: monospace;
-    } -->
+    
+    .imageFloat {
+      margin: 2;
+      padding: 2;
+      float:left;
+    } 
+    .stopFloat{
+    clear: both;
+    float: none;
+    }-->
   </extra-css>
 
   <colors>

---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org