You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/11/16 16:12:50 UTC
svn commit: r595691 [7/28] - in /lenya/sandbox/pubs/docu: config/
content/authoring/ content/authoring/0033e320-8731-11dc-ae46-9e7b5d14892d/
content/authoring/018a9980-8731-11dc-ae46-9e7b5d14892d/
content/authoring/02f9e0f0-8731-11dc-ae46-9e7b5d14892d/...
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:ah@wyona.org">ah@wyona.org</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"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org