Added: lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.1195221895254.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.1195221895254.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.1195221895254.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.1195221895254.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,616 @@
+<?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: usecases.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+ <header>
+ <title>Usecases</title>
+ </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 xml:space="preserve">
+<![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 colspan="1" rowspan="1">Use case</th>
+ <th colspan="1" rowspan="1">
+<code>lenya.usecase=</code>
+</th>
+ <th colspan="1" rowspan="1">
+<code>lenya.step=</code>
+</th>
+ <th colspan="1" rowspan="1">Comment</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Reject Approval</td>
+ <td colspan="1" rowspan="1">reject</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to reject a document from approval.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">reject</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Submit for Approval</td>
+ <td colspan="1" rowspan="1">submit</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to submit a document to approval.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">submit</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Archive</td>
+ <td colspan="1" rowspan="1">archive</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to archive a document.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">archive</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Checkin</td>
+ <td colspan="1" rowspan="1">checkin</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm the checkin of this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">checkin</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Checkout</td>
+ <td colspan="1" rowspan="1">checkout</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm the checkout of this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">checkout</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Copy</td>
+ <td colspan="1" rowspan="1">copy</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to copy a document. (The document is held in a clipboard until it is pasted again)</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">copy</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Create</td>
+ <td colspan="1" rowspan="1">create</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Show a form allowing to specify the parameters for
+ creation of a document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">create</td>
+ <td colspan="1" rowspan="1">Create the document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Cut</td>
+ <td colspan="1" rowspan="1">cut</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to cut a document. (The document is held in a clipboard until it is pasted again)</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">cut</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Deactivate</td>
+ <td colspan="1" rowspan="1">deactivate</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to deactivate a document.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">deactivate</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Delete</td>
+ <td colspan="1" rowspan="1">delete</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to delete a document.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">delete</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Logout</td>
+ <td colspan="1" rowspan="1">logout</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm the logout</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Paste</td>
+ <td colspan="1" rowspan="1">paste</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to paste a document. (The document which is held in a clipboard until is pasted)</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">paste</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Publish</td>
+ <td colspan="1" rowspan="1">publish</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm the publication of this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">publish</td>
+ <td colspan="1" rowspan="1">Publish this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Asset upload</td>
+ <td colspan="1" rowspan="1">aset</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Show a form allowing to specify the parameters for
+ uploading of an asset</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">upload</td>
+ <td colspan="1" rowspan="1">Upload the asset</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">insert</td>
+ <td colspan="1" rowspan="1">Insert an already uploaded asset</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">upload-and-insert</td>
+ <td colspan="1" rowspan="1">Upload and insert an asset</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">remove</td>
+ <td colspan="1" rowspan="1">Remove a previously uploaded asset</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Rename</td>
+ <td colspan="1" rowspan="1">rename</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Confirm to rename a document.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">rename</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Rollback</td>
+ <td colspan="1" rowspan="1">rollback</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Show a list of all versions of this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">view</td>
+ <td colspan="1" rowspan="1">View a particular version of this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">rollback</td>
+ <td colspan="1" rowspan="1">Roll back to a particular version of this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Schedule</td>
+ <td colspan="1" rowspan="1">schedule</td>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">Show a list of all task scheduled for this document</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">add</td>
+ <td colspan="1" rowspan="1">Add a new task</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">modify</td>
+ <td colspan="1" rowspan="1">Modify an existing task</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">delete</td>
+ <td colspan="1" rowspan="1">Delete an existing task</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Edit</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Administration</td>
+ <td colspan="1" rowspan="1">userAddUser</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Add a user</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">userDeleteUser</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Show a form for adding users</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">userChangeProfile</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the profile of a user</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">userChangePasswordUser</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the password as a user</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">userChangePasswordAdmin</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the password as an administrator</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">userChangeGroups</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the group affiliation of a user</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">iprangeAddIPRange</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Add an IP range</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">iprangeDeleteIPRange</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Delete an IP range</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">iprangeChangeProfile</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the profile of an IP range</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">iprangeChangeGroups</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the group affiliation of an IP range</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">groupAddGroup</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Add a group</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">groupDeleteGroup</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Delete a group</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">groupChangeProfile</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the profile of a group</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">groupChangeMembers</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">Change the members of a group</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">View Logs</td>
+ <td colspan="1" rowspan="1">view-logs</td>
+ <td colspan="1" rowspan="1">overview</td>
+ <td colspan="1" rowspan="1">Show the logfile list for this publication</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">Â </td>
+ <td colspan="1" rowspan="1">Â </td>
+ <td colspan="1" rowspan="1">log</td>
+ <td colspan="1" rowspan="1">Show a single logfile</td>
+ </tr>
+ </table>
+
+ </section>
+
+ <section>
+ <title>Use cases</title>
+
+ <section>
+ <title>Resource upload</title>
+
+ <p>
+<code>lenya.usecase=upload</code>
+</p>
+
+ <table>
+ <tr>
+ <th colspan="1" rowspan="1">
+<code>lenya.step=</code>
+</th>
+ <th colspan="1" rowspan="1">additional parameters</th>
+ <th colspan="1" rowspan="1">sample value</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">xpath</td>
+ <td colspan="1" rowspan="1">/NewsML/body.content/block[1]/*[1]</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">insertBefore [optional]</td>
+ <td colspan="1" rowspan="1">true</td>
+ </tr>
+
+ <tr>
+ <td colspan="1" rowspan="1">upload</td>
+ <td colspan="1" rowspan="1">documentid</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">xpath</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">insertBefore [optional]</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">uploadFile</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">identifier [optional]</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="2" rowspan="1">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 colspan="1" rowspan="1">
+<code>lenya.step=</code>
+</th>
+ <th colspan="1" rowspan="1">additional parameters</th>
+ <th colspan="1" rowspan="1">sample value</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1">parentid</td>
+ <td colspan="1" rowspan="1">/dossiers/2003</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">doctype</td>
+ <td colspan="1" rowspan="1">Dossier</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">create</td>
+ <td colspan="1" rowspan="1">parentid</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">childid</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1">doctype</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ </table>
+
+ </section>
+
+ <section>
+ <title>Rollback</title>
+
+ <p>
+<code>lenya.usecase=rollback</code>
+</p>
+
+ <table>
+ <tr>
+ <th colspan="1" rowspan="1">
+<code>lenya.step=</code>
+</th>
+ <th colspan="1" rowspan="1">additional parameters</th>
+ <th colspan="1" rowspan="1">sample value</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">showscreen</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">view</td>
+ <td colspan="1" rowspan="1">version</td>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ </table>
+ </section>
+
+ <section>
+ <title>View Logs</title>
+
+ <p>
+<code>lenya.usecase=view-logs</code>
+</p>
+
+ <table>
+ <tr>
+ <th colspan="1" rowspan="1">
+<code>lenya.step=</code>
+</th>
+ <th colspan="1" rowspan="1">additional parameters</th>
+ <th colspan="1" rowspan="1">sample value</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">overview</td>
+ <td colspan="1" rowspan="1"/>
+ <td colspan="1" rowspan="1"/>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1">log</td>
+ <td colspan="1" rowspan="1">logfile</td>
+ <td colspan="1" rowspan="1">2003-05-13-18-34-00-314.xml</td>
+ </tr>
+ </table>
+ </section>
+<section>
+<title id="head-2e3e0110bd5e2eadb614e4e61873e220fc9a4f74">Usecases versus FlowScript</title>
+
+<p>The usecase concept in Lenya 1.2 is inferior to FlowScript. Lenya 2.0-dev contains a simple <a href="lenya-document:9e7b6860-8730-11dc-ae46-9e7b5d14892d"> Usecase Framework</a> for writing usecases based on flow, JX templates, and Java classes for business logic. </p> </section>
+
+ </section>
+
+ </body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895254.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895254.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895254.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895254.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Usecases</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/3c5c2010-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221895254" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221882374"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910787402" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910771445"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781626894" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.1195221899500.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.1195221899500.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.1195221899500.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.1195221899500.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,133 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+ <header>
+ <title>Asset Management</title>
+
+
+
+ </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: lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899500.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899500.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899500.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899500.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Asset Management</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/3da62c40-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221899500" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221889349"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910793005" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910766008"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781616477" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.1195221903751.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.1195221903751.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.1195221903751.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.1195221903751.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,197 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+ <header>
+ <title>Link Management</title>
+
+
+
+ </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 separately.</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>
+
+ <note>
+ The <code>DocumentReferencesHelper</code> mimics the behaviour of
+ the <code>DefaultDocumentBuilder</code>, therefore the reference check
+ doesn't work with arbitrary <code>DocumentBuilder</code> implementations
+ (see <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37718">bug 37718</a>)
+ </note>
+
+ <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: lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221903751.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221903751.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221903751.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221903751.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Link Management</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/3ef03870-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221903751" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221883049"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910790096" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910763541"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781625339" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.1195221904404.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.1195221904404.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.1195221904404.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.1195221904404.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,131 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+ <header>
+ <title>Meta Data</title>
+
+
+
+ </header>
+
+ <body>
+
+ <section>
+ <title>Introduction</title>
+
+ <p>Meta data is kept directly inside the xml document. It is
+ based on the <a href="http://dublincore.org">Dublin Core</a>
+ 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/>
+
+ <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 modifications 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 <a href="../revisioncontrol/revisioncontroller.html">Revision Controller</a>).</dd>
+ <dt>org.apache.lenya.cms.cocoon.acting.ReservedCheckinAction</dt>
+ <dd>Action that checks a document in (See <a href="../revisioncontrol/revisioncontroller.html">Revision Controller</a>).</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: lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221904404.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221904404.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221904404.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221904404.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Meta Data Handling</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/403bf250-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221904404" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221883751"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910795106" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910767040"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781621672" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.1195221899670.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.1195221899670.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.1195221899670.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.1195221899670.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,223 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+ <header>
+ <title>Mulitilingual Document handling</title>
+
+
+
+ </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 <a href="../publication/siteTree.html">site
+ tree</a> 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 <a href="../publication/pageenvelopemodule.html">page
+ envelope</a> 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/>
+
+ <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 xml:space="preserve"><![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 xml:space="preserve"><![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 <a href="../publication/pageenvelopemodule.html">page-envelope
+ input module</a> 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: lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899670.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899670.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899670.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899670.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Multilingual Document Handling</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/41795450-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221899670" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221889719"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910786056" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910770536"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781617631" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.1195221895794.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.1195221895794.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.1195221895794.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.1195221895794.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,49 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>The Task Concept</title>
+
+ <type>Overview document</type>
+
+</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 <a href="taskaction.html">
+<code>TaskAction</code>
+</a>
+or <a href="scheduling.html">scheduled</a> 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>
Added: lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895794.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895794.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895794.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895794.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>The Task Concept</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/42d16a40-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221895794" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221883400"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910780736" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910765992"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781633386" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.1195221910344.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.1195221910344.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.1195221910344.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.1195221910344.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,158 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>Defining Tasks</title>
+
+ <type>Overview document</type>
+
+</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 xml:space="preserve"><![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><label></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><label></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><task></code> element does not
+need a <code><class></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 xml:space="preserve"><![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>
Added: lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910344.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910344.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910344.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910344.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Defining Tasks</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/4403cfc0-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221910344" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221889760"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910782313" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910767559"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781633323" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.1195221910383.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.1195221910383.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.1195221910383.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.1195221910383.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,124 @@
+<?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 V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>The TaskAction: Triggering a Task from the Sitemap</title>
+
+ <type>Overview document</type>
+
+</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 xml:space="preserve"><![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 xml:space="preserve"><![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 xml:space="preserve"><![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>
+<a href="mailto:[email protected]">[email protected]</a>.
+</p>
+</section>
+
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910383.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910383.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910383.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221910383.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>The TaskAction</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/452aeaa0-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221910383" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221889782"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910789447" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910762339"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781626307" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.1195221900326.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.1195221900326.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.1195221900326.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.1195221900326.bak Fri Nov 16 07:11:58 2007
@@ -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: scheduling.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>Scheduling a Task</title>
+
+ <type>Overview document</type>
+
+</header>
+<body>
+
+<section>
+<title>Scheduling a Task</title>
+<p>
+See section <strong>Scheduler</strong>.
+</p>
+</section>
+
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221900326.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221900326.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221900326.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221900326.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata xmlns="http://apache.org/lenya/metadata/1.0">
+<element-set namespace="http://purl.org/dc/elements/1.1/">
+<element key="title">
+<value>Scheduling a Task</value>
+</element>
+</element-set>
+<element-set namespace="http://apache.org/lenya/metadata/document/1.0">
+<element key="extension">
+<value>xml</value>
+</element>
+<element key="mimeType">
+<value>application/xml</value>
+</element>
+<element key="resourceType">
+<value>forrestDocument20</value>
+</element>
+<element key="contentType">
+<value>xml</value>
+</element>
+</element-set>
+</metadata>
Modified: lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/468dd600-8731-11dc-ae46-9e7b5d14892d/en.rcml Fri Nov 16 07:11:58 2007
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<XPSRevisionControl xmlns="">
+<CheckIn backup="true" identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221900326" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221890449"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910790993" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910764342"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781628031" version="1"/>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.