Added: lenya/sandbox/pubs/docu/content/authoring/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906836.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906836.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906836.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906836.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>HTML Form Editor</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/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/20a3df70-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/20a3df70-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="1195221906836" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221886113"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910780940" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910766337"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781628433" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.1195221907270.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.1195221907270.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.1195221907270.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.1195221907270.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: 1form.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>HTML One Form Editor</title>
+
+
+
+</header>
+<body>
+
+<section>
+<title>Integration</title>
+<p>In order to make an XML document editable by the One Form Editor, one needs to add a menu item as follows:</p>
+<source xml:space="preserve">
+<![CDATA[
+ <menus>
+ <menu name="File" label="File">
+ <block>
+ <item uc:usecase="1formedit" href="?lenya.step=open">Edit with one Form</item>
+ ...
+]]>
+</source>
+<p>
+Note that the filesystem path is generated by the path mapper which is configured within <code>pub-id/config/publication.xconf</code>.
+</p>
+<p>
+In order to get the redirect right after closing and saving the document, one might need to add a <code>redirect-to</code> entry to the publication specific sitemap.
+</p>
+</section>
+
+<section>
+<title>Configuration</title>
+<p>
+The One Form Editor can be configured within the generic Lenya usecase sitemap <code>lenya/usecase.xmap</code>.
+</p>
+</section>
+
+<section>
+<title>Validation</title>
+<p>
+Upon saving, the form content is validated against the appropriate Relax NG schema using the <code>ValidateAction</code>
+</p>
+</section>
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907270.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907270.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907270.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907270.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>HTML One Form Editor</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/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/21c83b30-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/21c83b30-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="1195221907270" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221886855"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910787887" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910771675"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781625569" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.1195221908676.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.1195221908676.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.1195221908676.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.1195221908676.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: bxe.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>Bitflux Editor (BXE)</title>
+
+
+
+</header>
+<body>
+
+<section>
+<title>Overview</title>
+<p>
+<a href="http://bxe.oscom.org">BXE</a> is a validating WYSIWYG XML editor for Mozilla-based browsers.
+ It uses <a href="http://www.relaxng.org/">RELAX NG</a> for validation and CSS for layout.
+ Integration with Lenya is done with a series of use case steps that are defined
+ in a sitemap inside your publication: <code>usecase-bxeng.xmap</code>. If you understand the purpose
+ of the various use case steps, you will have a good grasp of how to integration is done, and will be
+ able to adjust it to your needs as necessary.</p>
+</section>
+<section>
+<title>The open step</title>
+ <p>The open step is called when you first open BXE from the Lenya menu. It first checks
+ if BXE is installed, and displays a warning page if it is not. It then attempts to check
+ out the page to be edited (to protect it from being edited by other users at the same time),
+ and displays an error page if this fails for some reason. It then loads the BXE start page
+ that contains references to the BXE configuration to be used for this page, such as the
+ location of the RELAX NG schema, CSS files, and more. The BXE start page is a dynamically
+ generated page that is being aggregated from a configuration pipeline (the config step),
+ a file that contains all the namespaces that may occur in the document to be edited
+ (<code>content-namespaces.xml</code>), and the skeleton BXE start page (<code>index.xhtml</code>).
+ The pipeline looks like this:
+ </p>
+ <source xml:space="preserve">
+ <![CDATA[
+ <map:match type="step" pattern="open">
+ <!-- Check for BXENG -->
+ <map:act type="resource-exists" src="../../resources/bxeng/bxeLoader.js">
+ <map:act type="reserved-checkout">
+ <map:generate type="serverpages" src="../../content/rc/{exception}.xsp">
+ <map:parameter name="user" value="{user}"/>
+ <map:parameter name="filename" value="{filename}"/>
+ <map:parameter name="date" value="{date}"/>
+ <map:parameter name="message" value="{message}"/>
+ </map:generate>
+ <map:transform src="../../xslt/rc/rco-exception.xsl"/>
+ <map:call resource="style-cms-page"/>
+ </map:act>
+ <map:aggregate element="bxeng">
+ <map:part src="../../resources/misc/bxeng/index.xhtml"/>
+ <map:part src="../../resources/misc/bxeng/content-namespaces.xml"/>
+ </map:aggregate>
+ <map:transform src="../../xslt/bxeng/aggregate.xsl"/>
+ <map:transform src="../../xslt/bxeng/index-xhtml.xsl">
+ <map:parameter name="configfile" value="{request:requestURI}?lenya.usecase=bxeng&lenya.step=config"/>
+ <map:parameter name="context" value="{request:contextPath}"/>
+ </map:transform>
+ <map:serialize type="xhtml"/>
+ </map:act>
+ <map:generate src="../../resources/misc/bxeng/download.xhtml"/>
+ <map:call resource="style-cms-page"/>
+ <map:serialize type="html"/>
+ </map:match>
+ ]]>
+ </source>
+</section>
+<section>
+<title>The config step</title>
+ <p>The config step generates the BXE config file by transforming a template file (<code>config.xml</code>)
+ and passing in values for the following parameters:
+ </p>
+ <ul>
+ <li>BX_exitdestination: URL of the location BXE should redirect to upon exit</li>
+ <li>BX_validationfile: URL of the RELAX NG schema for the XML to be edited</li>
+ <li>BX_xhtmlfile: URL of the XHTML page to load the XML content into for editing</li>
+ <li>BX_xmlfile: URL of the XML for the page to be edited</li>
+ <li>BX_xslfile: URL of the XSL stylesheet to use for formatting the XML in BXE (BXE 1.1 only)</li>
+ <li>contextmenufile: URL of the file that defines the BXE context menu</li>
+ <li>css: URL of the CSS file used for styling the XML to be edited in BXE</li>
+ <li>defaultlanguage: default language of the publication, used for insert popups</li>
+ </ul>
+ <p>If you want to customize BXE, the config step is your starting point. Make sure to pass
+ in the right URL for these parameters. The default publication uses additional pipelines
+ for these URL to provide more flexibility (such as automatically loading the correct
+ RELAX NG schema based on the resource type of the current page). More information about
+ the format of <code>config.xml</code> is available at the <a href="http://wiki.bitfluxeditor.org/Config.xml">BXE wiki</a>.
+ The config step pipeline looks as follows in the default publication:</p>
+ <source xml:space="preserve">
+ <![CDATA[
+ <map:match type="step" pattern="config">
+ <map:generate src="../../resources/misc/bxeng/inc/config.xml"/>
+ <map:transform src="../../xslt/bxeng/config-xml.xsl">
+ <map:parameter name="BX_xmlfile" value="{request:requestURI}?lenya.usecase=bxeng&lenya.step=xml"/>
+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/>
+
+ <!-- Instead of an xsl we use the xhtml file to provide the basic layout
+ <map:parameter name="BX_xslfile" value="{2}.xsl"/>
+ -->
+ <map:parameter name="BX_xhtmlfile" value="{../2}.bxe.html"/>
+ <map:parameter name="BX_validationfile" value="{request:contextPath}/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}.rng"/>
+ <map:parameter name="css" value="{request:contextPath}/{page-envelope:publication-id}/{page-envelope:area}/css/{page-envelope:document-type}-bxeng.css"/>
+ <!-- The document is checked in when we exit from bx (in case of save&exit and in case of exit), so we use the usecase
+ for the checkin while we redirect to the document
+ -->
+ <map:parameter name="BX_exitdestination" value="{request:requestURI}?lenya.usecase=checkin&lenya.step=checkin&backup=true"/>
+ <map:parameter name="contextmenufile" value="../../resources/misc/bxeng/contextmenu.xml"/>
+ </map:transform>
+ <map:transform type="cinclude"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ ]]>
+ </source>
+</section>
+<section>
+<title>The xml step</title>
+ <p>The xml step is responsible for retrieving the XML of the page to be edited, and sending it back to the server
+ for saving (via HTTP PUT). It first checks if the request method is a GET or a PUT, and goes on to either deliver
+ the XML to BXE (for the GET case) or sending the XML to the server (for the PUT case). If the request method
+ is a PUT, it then checks if the page is properly checked out, and invokes a flow script function
+ (<code>editDocument</code>) to save the page. The <code>editDocument</code> function takes care of checking
+ the page back in, triggering workflow transitions, and finally redirecting to the saved page. This is the
+ xml pipeline from the default publication:</p>
+ <source xml:space="preserve">
+ <![CDATA[
+ <map:match type="step" pattern="xml">
+ <map:select type="request-method">
+
+ <map:when test="PUT">
+ <!-- before we save, we must be sure that the document is well checked out
+ -->
+ <map:act type="reserved-checkout-test">
+ <map:generate type="serverpages" src="../../content/rc/{exception}.xsp">
+ <map:parameter name="user" value="{user}"/>
+ <map:parameter name="filename" value="{filename}"/>
+ <map:parameter name="date" value="{date}"/>
+ </map:generate>
+ <map:transform src="../../xslt/rc/rco-exception.xsl"/>
+ <map:call resource="style-cms-page"/>
+ </map:act>
+
+ <map:call function="editDocument">
+ <map:parameter name="sourceUri" value="cocoon:/request2document"/>
+ <map:parameter name="noCheckin" value="true"/>
+ </map:call>
+ </map:when>
+
+ <map:otherwise> <!-- GET -->
+ <map:generate src="content/authoring/{page-envelope:document-path}"/>
+ <map:transform src="../../xslt/bxeng/change-object-path.xsl">
+ <map:parameter name="documentid" value="{page-envelope:document-id}"/>
+ </map:transform>
+ <map:serialize type="xml"/>
+ </map:otherwise>
+
+ </map:select>
+ </map:match>
+ ]]>
+ </source>
+</section>
+<section>
+<title>The image-upload-show, link-show and asset-upload-show steps</title>
+ <p>BXE supports the notion of callbacks to allow Lenya to display a list of assets, images or links
+ to be inserted into a page. These three steps generate the content of these popup windows, respectively.
+ The <code>link-show</code> step is the most complex of these since it takes lots of parameters, such
+ as the currently selected language, the position in the sitetree and the list of available languages.
+ These parameters are necessary to recreate the sitetree visualization from the site area for the link
+ insert popup.</p>
+ <source xml:space="preserve">
+ <![CDATA[
+ <map:match pattern="image-upload-show" type="step">
+ <map:call resource="cms-screen">
+ <map:parameter name="serverpage" value="info/assets.xsp"/>
+ <map:parameter name="stylesheet" value="bxeng/image.xsl"/>
+ </map:call>
+ </map:match>
+
+ <map:match pattern="asset-upload-show" type="step">
+ <map:call resource="cms-screen">
+ <map:parameter name="serverpage" value="info/assets.xsp"/>
+ <map:parameter name="stylesheet" value="bxeng/asset.xsl"/>
+ </map:call>
+ </map:match>
+
+ <map:match pattern="link-show" type="step">
+ <!-- just a dummy xsp since we call the info area directly -->
+ <map:generate type="serverpages" src="../../content/info/assets.xsp"/>
+ <map:transform src="../../xslt/bxeng/link.xsl" label="content">
+ <map:parameter name="infoarea" value="true"/>
+ <map:parameter name="contextprefix" value="{request:contextPath}"/>
+ <map:parameter name="publicationid" value="{page-envelope:publication-id}"/>
+ <map:parameter name="area" value="authoring"/>
+ <map:parameter name="tab" value="en"/>
+ <map:parameter name="chosenlanguage" value="{page-envelope:document-language}"/>
+ <map:parameter name="documentid" value="{page-envelope:document-id}"/>
+ <map:parameter name="documenturl" value="/{page-envelope:document-url}"/>
+ <map:parameter name="documentextension" value="{page-envelope:document-extension}"/>
+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/>
+ <map:parameter name="languages" value="{page-envelope:publication-languages-csv}"/>
+ </map:transform>
+ <map:call resource="style-cms-page"/>
+ </map:match>
+ ]]>
+ </source>
+</section>
+<section>
+<title>The image-upload and asset-upload steps</title>
+ <p>To enable the upload of new assets to Lenya directly from the BXE <code>insert Image</code>
+ and <code>insert Asset</code> popup windows, there are two use case steps that use the
+ upload action to process the uploaded file, and then redirect to the respective popup window.</p>
+ <source xml:space="preserve">
+ <![CDATA[
+ <map:match type="step" pattern="asset-upload">
+ <map:act type="upload">
+ <map:redirect-to uri="{request:requestURI}?lenya.usecase=bxeng&lenya.step=asset-upload-show"/>
+ </map:act>
+ <map:call resource="cms-screen">
+ <map:parameter name="serverpage" value="info/assets.xsp"/>
+ <map:parameter name="stylesheet" value="bxeng/asset.xsl"/>
+ </map:call>
+ </map:match>
+
+ <map:match type="step" pattern="image-upload">
+ <map:act type="upload">
+ <map:redirect-to uri="{request:requestURI}?lenya.usecase=bxeng&lenya.step=image-upload-show"/>
+ </map:act>
+ <map:call resource="cms-screen">
+ <map:parameter name="serverpage" value="info/assets.xsp"/>
+ <map:parameter name="stylesheet" value="bxeng/image.xsl"/>
+ </map:call>
+ </map:match>
+ ]]>
+ </source>
+</section>
+<section>
+<title>Further BXE configuration</title>
+ <p>BXE offers a lot of customization options beyond those outlined above. If you plan to make the most
+ of BXE, you should familiarize yourself with the contents of the
+ <a href="http://wiki.bitfluxeditor.org/Main_Page">BXE wiki</a>.</p>
+</section>
+
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221908676.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221908676.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221908676.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221908676.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>Bitflux Editor</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/23061260-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/23061260-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/23061260-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="1195221908676" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221888248"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910789553" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910762413"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781622729" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.1195221906352.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.1195221906352.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.1195221906352.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.1195221906352.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: kupu.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>Kupu</title>
+</header>
+<body>
+
+<p>Kupu is a browser based WYSIWYG XHTML editor which is developed independently of Lenya by <a href="http://www.oscom.org/">OSCOM</a>
+ and is available at <a href="http://kupu.oscom.org/"> http://kupu.oscom.org/</a>. Kupu can and actually is being used in other projects as well, that have nothing to do with
+ Java, XML or the Apache software stack. Lenya is just prepared for the Kupu Editor to be plugged in, and ships with Kupu pre-installed. </p>
+
+<section>
+<title id="head-9b4594a57c32f9b79007a4319d02bc57c1656c90">Kupu as a sample for integrating editors in general</title>
+
+<p>Understanding the Kupu integration in Lenya is helpful to understand how editors are integrated into Lenya at all. This knowledge is
+ important if you are looking into changing the way Kupu is used inside Lenya or if you are thinking about taking any other editor and integrate it in Lenya. </p>
+
+</section>
+<section>
+<title id="head-cb7dd8a2b1dc471e0805416826a330e77b1cce07">What integrating an editor is all about</title>
+
+<p>From the user's perspective using an editor in Lenya works like this: </p>
+<ol>
+<li>
+<p>Navigate to the item that is to be edited </p>
+</li>
+<li>
+<p>Click on a link to start the editing process (mostly from a pull-down menu, but there are other options) </p>
+
+</li>
+<li>
+<p>Edit </p>
+</li>
+<li>
+<p>Save </p>
+</li>
+<li>
+<p>Enjoy the changes </p>
+</li>
+</ol>
+<p>The link to start the editing is nohting but a GET request to an editing usecase. (See: [<a href="http://wiki.apache.org/lenya/CreatePageWalkthrough">CreatePageWalkthrough</a>]
+ for some background on Usecases). The reply to that request is the page that contains the editor with the to be edited file loaded.
+ As simple as that sounds, there is a number of things Lenya has to go through. </p>
+<p>Between Step 2. and 3. (the user clicking on 'Edit' and the editor showing up) Lenya has to </p>
+
+<ol>
+<li>
+<p>Make sure the editor is installed at all </p>
+</li>
+<li>
+<p>Determine the file to be edited </p>
+</li>
+<li>
+<p>Make sure editing is allowed (i.e. the file is not checked out reserved by someone else) </p>
+</li>
+<li>
+<p>Aggregate the content that is to be edited, the editor part of the page itself and whatever parameter the editor needs and serve it to the browser. </p>
+</li>
+</ol>
+<p>Between Step 3. and 4. (Edit and Save) Lenya has to </p>
+<ol>
+
+<li>
+<p>Make sure the file is still checked out so it can be edited </p>
+</li>
+<li>
+<p>Extract the edited page content from the HTTP POST </p>
+</li>
+<li>
+<p>Save the edited file </p>
+</li>
+<li>
+<p>Check in the edited file </p>
+</li>
+<li>
+<p>Trigger and workflow events on the document that belong to the "edit" event. </p>
+</li>
+</ol>
+<p>
+<em>Note: Kupu allows the user to Save in between and continue editing. This is achieved by using HTTP POST operations. Thus Lenya needs to be prepared to
+receive multiple updates of the same page and save it before the user might click on 'Exit and Save' so that Step 5 (Display the changed page) is finally triggered.</em> </p>
+
+</section>
+<section>
+<title id="head-e5a2711688441b7644fbdb11a61307c04fbf2061">The Kupu usecase pipeline in detail</title>
+<section>
+<title id="head-42ce962db03bd610fa943bc40b509ba6985810fd">step="open"</title>
+
+
+<source xml:space="preserve">
+ <map:match pattern="kupu" type="usecase">
+ <map:match pattern="open" type="step">
+ <map:match pattern="*/authoring/**.html">
+
+ <!-- Check for Kupu-->
+ <map:act type="resource-exists" src="resources/kupu/common/kupueditor.js">
+
+ <map:act type="reserved-checkout">
+ <map:generate type="serverpages" src="content/rc/{exception}.xsp">
+ <map:parameter name="user" value="{user}"/>
+ <map:parameter name="filename" value="{filename}"/>
+
+ <map:parameter name="date" value="{date}"/>
+ <map:parameter name="message" value="{message}"/>
+ </map:generate>
+ <map:transform src="xslt/rc/rco-exception.xsl"/>
+ <map:call resource="style-cms-page"/>
+ </map:act>
+
+ <map:generate src="resources/kupu/apache-lenya/kupumacros.html"/>
+ <map:transform src="resources/kupu/apache-lenya/kupumacros-xhtml.xsl">
+ <map:parameter name="contentfile" value="{page-envelope:context-prefix}/{../1}/authoring/{../2}.html?lenya.usecase=kupu&amp;lenya.step=content"/>
+ <map:parameter name="context" value="{request:contextPath}"/>
+ <map:parameter name="document-path" value="{page-envelope:document-path}"/>
+
+ <map:parameter name="root" value="{page-envelope:context-prefix}"/>
+ <map:parameter name="save-destination" value="{page-envelope:context-prefix}/{../1}/authoring/{../2}.html?lenya.usecase=kupu&amp;lenya.step=save"/>
+ <map:parameter name="reload-on-save" value="0"/> <!-- 1 means you can see the saving -->
+ <map:parameter name="use-css" value="1"/>
+ <map:parameter name="redirect-to" value="{page-envelope:document-name}.html"/>
+
+ </map:transform>
+ <map:serialize type="html"/>
+ </map:act>
+ <map:generate src="resources/misc/kupu/download.xhtml"/>
+ <map:call resource="style-cms-page"/>
+ </map:match>
+
+ </map:match>
+</source>
+
+</section>
+<section>
+<title id="head-f6ed65665fa1e56a5371d0ab376effe42403dfae">step="content"</title>
+
+
+<source xml:space="preserve">
+ <map:match pattern="content" type="step">
+ <map:match pattern="*/authoring/**.html">
+ <map:generate src="pubs/{1}/content/authoring/{page-envelope:document-path}"/>
+
+ <map:transform src="resources/kupu/apache-lenya/kupucontent-xhtml.xsl">
+ <map:parameter name="css" value="{page-envelope:context-prefix}/{1}/authoring/css/page.css"/>
+ </map:transform>
+ <map:transform src="xslt/util/strip_namespaces.xsl"/>
+ <map:serialize type="xhtml"/>
+ </map:match>
+
+ </map:match>
+</source>
+
+</section>
+<section>
+<title id="head-211e1aede1d0c03aa8411a1d19a43d3f5d18ccc9">step="save"</title>
+
+
+<source xml:space="preserve">
+ <map:match pattern="save" type="step">
+ <map:select type="request-method">
+ <map:when test="PUT">
+
+ <map:act type="reserved-checkout-test">
+ <map:generate type="serverpages" src="../../content/rc/{exception}.xsp">
+ <map:parameter name="user" value="{user}"/>
+ <map:parameter name="filename" value="{filename}"/>
+ <map:parameter name="date" value="{date}"/>
+ <map:parameter name="message" value="{message}"/>
+
+ </map:generate>
+ <map:transform src="../../xslt/rc/rco-exception.xsl"/>
+ <map:call resource="style-cms-page"/>
+ </map:act>
+
+ <map:aggregate element="edit-envelope">
+ <map:part element="edited" src="cocoon:/kupu-stream"/>
+
+ <map:part element="original" src="pubs/{page-envelope:publication-id}/content/authoring/{page-envelope:document-path}"/>
+ </map:aggregate>
+
+ <map:transform src="resources/kupu/apache-lenya/kupusave-xhtml.xsl"/>
+
+ <map:act type="reserved-checkin">
+ <map:generate src="content/rc/{exception}.xsp" type="serverpages">
+
+ <map:parameter name="user" value="{user}"/>
+ <map:parameter name="filename" value="{filename}"/>
+ <map:parameter name="checkType" value="{checkType}"/>
+ <map:parameter name="date" value="{date}"/>
+ <map:parameter name="message" value="{message}"/>
+ </map:generate>
+
+ <map:transform src="xslt/rc/rco-exception.xsl"/>
+ <map:serialize/>
+ </map:act>
+
+ <map:transform src="xslt/authoring/edit/addSourceTags.xsl">
+ <map:parameter name="source" value="pubs/{page-envelope:publication-id}/content/authoring/{page-envelope:document-path}"/>
+ </map:transform>
+
+ <map:transform type="write-source"/>
+
+ <!-- Trigger workflow with *edit* action -->
+ <map:act type="workflow">
+ <map:parameter name="area" value="{page-envelope:area}"/>
+ <map:parameter name="document-id" value="{page-envelope:document-id}"/>
+ <map:parameter name="language" value="{page-envelope:document-language}"/>
+
+ <map:parameter name="event" value="edit"/>
+ </map:act>
+
+ <map:serialize type="xml" status-code="204"/>
+ </map:when>
+ </map:select>
+ </map:match>
+
+</source>
+</section>
+</section>
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906352.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906352.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906352.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221906352.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>Kupu</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/24406720-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/24406720-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/24406720-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="1195221906352" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221885623"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910787564" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910771502"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781617480" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.1195221897004.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.1195221897004.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.1195221897004.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.1195221897004.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: xopus.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>Xopus</title>
+
+
+
+</header>
+<body>
+
+<section>
+<title>About Xopus</title>
+<p>Xopus is a browser based validating in-place wysiwyg XML editor. It uses Javascript, XML Schema and XSLT.
+ At this time, it only works on Internet Explorer. If you need a cross-platform solution, take a look at
+ BXE. Note that Xopus is not open source, but a commerical product by Q42.</p>
+</section>
+
+<section>
+<title>Demo</title>
+<p>There is an online <a href="http://www.xopus.com/demo/index.html">XOPUS demo</a> available. You need Internet
+ Explorer 5.5 or newer to view the demo.</p>
+</section>
+
+<section>
+<title>Configuration</title>
+<p>Lenya is expecting an <em>@XOPUS:CONTEXT@</em> (e.g. Xopus-2.1.66) directory
+within your <em>@XOPUS:PATH@</em> (e.g. <em>webapps/ROOT</em>) directory.
+<em>@XOPUS:CONTEXT@</em> and <em>@XOPUS:PATH@</em> are configured
+within your <em>local.build.properties</em> (xopus.context resp. xopus.path).
+The path is relative to <em>usecase.xmap</em>.
+</p>
+</section>
+
+<section>
+<title>Saving via POST</title>
+<p>To enable saving via POST, one needs to modify <code>$XOPUS/xopusPlugins/datadriver.js</code> as follows</p>
+<source xml:space="preserve">
+<![CDATA[
+ // Save data START
+ alert('Save XML via POST');
+ var result = Application.sendXML(doc, 'POST', name);
+
+ switch (result.status)
+ {
+ case 200:
+ //OK
+ var resultXML = result.responseXML;
+ alert('XML saved');
+ return;
+ case -1:
+ alert('Error while saving ' + name + ':\n\n' + result.responseText);
+ break;
+ default:
+ alert('Server responded not ok while saving ' + name + ':\n\nstatus:' + result.status + '\nmessage: ' + resul
+t.responseText);
+ }
+ // Save data END
+]]>
+</source>
+<p>
+You may change the text of the alerts by something else.
+</p>
+</section>
+
+<section>
+<title>Exit Xopus</title>
+<p>To exit Xopus one needs to modify <code>$XOPUS/xopusPlugins/cmsdriver.js</code> as follows</p>
+<source xml:space="preserve">
+<![CDATA[
+ getExitURL: function(path)
+ {
+ exitURL = path.substring(0, path.indexOf('?'));
+ alert('Exit to: ' + exitURL);
+ return exitURL;
+ },
+]]>
+</source>
+<p>
+You may replace the text of the alert by something else.
+</p>
+</section>
+
+<section>
+<title>Making a page editable with Xopus: Schemas, Views (XSLT) and Menus</title>
+<p>Xopus needs an XML Schema for validation and an XSLT to view the document. The Schemas and XSLTs need to be located at:</p>
+<source xml:space="preserve">
+<![CDATA[
+$PUBLICATION/config/doctypes/schemas/$DOCTYPE.xsd
+$PUBLICATION/lenya/xslt/xopus/$DOCTYPE.xsl
+]]>
+</source>
+<p>
+You might want to use <a href="http://www.thaiopensource.com/relaxng/trang.html">Trang</a> to generate XML Schemas.
+</p>
+<p>
+Editing with Xopus is implemented as a usecase. One can add a menu item as follows:
+</p>
+<source xml:space="preserve">
+<![CDATA[
+<item uc:usecase="xopus" uc:step="open" href="?doctype=$DOCTYPE">Edit with Xopus</item>
+]]>
+</source>
+<p>In addition, you may want to study the oscom publication which has an Xopus integration example,
+ as well as the root xopus.xmap, the xopus.xmap in the oscom publication, and the section in
+ usecase.xmap pertaining to xopus. This will help you understand how the integration was done
+ (which admittedly is a bit clunky as it predates many Lenya concepts).
+ </p>
+</section>
+<section>
+<title>Things to watch out for</title>
+<section>
+ <title>Check your Internet Explorer cache settings</title>
+<p>Make sure that the page is loaded from scratch everytime you visit it, because
+otherwise you'll always see a cached version. This cached version will be
+saved if you click on 'save' in Xopus.</p>
+</section>
+<section>
+ <title>Check your local.build.properties</title>
+<p>Your variable settings could look like this:</p>
+<source xml:space="preserve">
+<![CDATA[
+ xopus.context=Xopus-2.1.72 root directory for all Xopus files
+ xopus.path=../../ROOT relative path from usecase.xmap to Xopus root
+ directory
+]]>
+</source>
+</section>
+ <section>
+ <title>Check your schema files</title>
+<p>I had troubles with schemas including other schema files. You have to insert a
+separate pipeline for this kind of architecture. Unfortunately I couldn't
+figure out if I had to put this matcher in
+'$PUBLICATION/publication-sitemap.xmap' or elsewhere. I ended up using one and
+only one schema file for a specific doctype.</p>
+</section>
+<section>
+ <title>Check your CSS files</title>
+<p>You have to provide a stylesheet for Xopus in
+'$PUBLICATION/lenya/xslt/xopus/$DOCTYPE.xsl'. If you use a *.css file to
+control layout and style of the XML file displayed by Xopus, you'll have to
+insert a pipeline matcher in '$PUBLICATION/publication-sitemap.xmap':</p>
+<source xml:space="preserve">
+<![CDATA[
+ <map:pipeline>
+ <map:match pattern="**/xopus.css">
+ <map:read src="resources/shared/css/xopus.css" mime-type="text/css"/>
+ </map:match>
+ </map:pipeline>
+]]>
+</source>
+</section>
+<section>
+<title>Missing preparexinclude.xsl</title>
+<p>If Xopus complains that it cannot find <code>$XOPUS/xopusPlugins/preparexinclude.xsl</code>, then add the following at that location:</p>
+<source xml:space="preserve">
+<![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+ xmlns:x="http://www.w3.org/2001/XInclude"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ >
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+</xsl:stylesheet>]]>
+</source>
+</section>
+</section>
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897004.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897004.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897004.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897004.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>Xopus</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/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/257bcd50-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/257bcd50-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="1195221897004" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221884671"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910783856" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910768882"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781624588" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.1195221897550.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.1195221897550.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.1195221897550.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.1195221897550.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,236 @@
+<?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: navigation.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 Navigation Framework</title>
+ </header>
+ <body>
+
+<section>
+ <title>Introduction</title>
+
+ <p>
+ To goal of the navigation framework is to
+ </p>
+ <ul>
+ <li>
+ simplify and standardize the generation of navigation
+ widgets like menubars, tabs, breadcrumb paths.
+ </li>
+ </ul>
+
+ <p>With the approach that is presented here it shall be possible to
+ </p>
+ <ul>
+ <li>
+ use pre-defined XHTML navigation components and present them
+ with a custom CSS,
+ </li>
+ <li>
+ override these components in a publication whereby the logic
+ can be reused, and
+ </li>
+ <li>
+ create and integrate new publication-specific navigation components
+ using the same scheme.
+ </li>
+ </ul>
+</section>
+
+<section>
+ <title>Architecture</title>
+
+ <p>
+ The navigation framework consists of the following components:
+ </p>
+
+ <dl>
+ <dt>
+<code>/lenya/navigation.xmap</code>
+</dt>
+ <dd>The sitemap where the navigation components are loaded.<br/>
+<br/>
+</dd>
+ <dt>
+<code>/lenya/xslt/navigation/*.xsl</code>
+</dt>
+ <dd>The default navigation components that are shipped with Lenya.<br/>
+<br/>
+</dd>
+ <dt>
+<code>/lenya/pubs/lenya/xslt/navigation/*.xsl</code>
+</dt>
+ <dd>Custom navigation components of the publication.<br/>
+<br/>
+</dd>
+ </dl>
+
+</section>
+
+<section>
+ <title>Using the Navigation Framework</title>
+
+ <section>
+<title>Loading a Navigation Component</title>
+
+ <p>
+ You can load a navigation component from the following URI:
+ </p>
+<source xml:space="preserve"><![CDATA[
+cocoon://navigation/<pub-id>/<component>/<path>.xml
+]]></source>
+
+<p>
+The URI steps are:
+</p>
+<dl>
+ <dt>
+<code><pub-id></code>
+</dt>
+ <dd>The publicaton ID.</dd>
+ <dt>
+<code><component></code>
+</dt>
+ <dd>The navigation component to load (tabs, menu, etc.).</dd>
+ <dt>
+<code><path></code>
+</dt>
+ <dd>The navigation path. It is a concatenation of the <code>href</code>
+ attributes of the sitetree nodes that lead to the current node,
+ e.g. <code>demo/oscom.html</code> for the sitetree
+ fragment
+ </dd>
+</dl>
+<source xml:space="preserve"><![CDATA[
+<site xmlns="http://apache.org/cocoon/lenya/sitetree/1.0">
+ <node href="demo/" label="Demo">
+ <node href="oscom.html" label="OSCOM"/>
+ ...
+ </node>
+ ...
+</site>
+]]></source>
+
+ </section>
+
+ <section>
+<title>Aggregating the Navigation Components</title>
+
+ <p>
+ The basic principle is shown in the following figure:
+ </p>
+ <p>
+ <img alt="" src="lenya-document:6824ed30-8731-11dc-ae46-9e7b5d14892d"/>
+ </p>
+
+ <p>
+ In the publication sitemap (<code>lenya/pubs/<pub-id>/sitemap.xmap</code>)
+ the navigation components are aggregated. Here you decide which components
+ you want to use:
+ </p>
+<source xml:space="preserve"><![CDATA[
+ <map:pipeline>
+ <map:match pattern="navigation/**.html">
+(1) <map:aggregate element="page" prefix="page"
+ ns="http://apache.org/cocoon/lenya/cms-page/1.0">
+
+(2) <map:part src="cocoon://navigation/
+ {publication-id}/breadcrumb/{../1}.html.xml"/>
+
+(3) <map:part src="cocoon://navigation/
+ {publication-id}/tabs/{../1}.html.xml"/>
+
+(4) <map:part src="cocoon://navigation/
+ {publication-id}/menu/{../1}.html.xml"/>
+
+ </map:aggregate>
+
+(5) <map:transform src="xslt/page2xhtml.xsl">
+(6) <map:parameter name="root"
+ value="{context}/{publication-id}/"/>
+ </map:transform>
+
+(7) <map:serialize type="xhtml"/>
+
+ </map:match>
+ </map:pipeline>
+]]></source>
+
+<ol>
+ <li>
+ The navigation elements are aggregated together with other document parts.
+ </li>
+ <li>
+ Load the breadcrumb XHTML fragment.
+ </li>
+ <li>
+ Load the tabs XHTML fragment.
+ </li>
+ <li>
+ Load the menu XHTML fragment.
+ </li>
+ <li>
+ Create the XHTML page.
+ </li>
+ <li>
+ The stylesheet can use this parameter to generate absolute URLs.
+ </li>
+ <li>
+ Finally, serialize the page as XHTML.
+ </li>
+</ol>
+
+ </section>
+
+</section>
+
+<section>
+ <title>Developing Navigation Components</title>
+
+ <p>
+ The following contracts define the development of navigation components:
+ </p>
+ <ul>
+ <li>A navigation component is an XSLT stylesheet that is located at<br/>
+<br/>
+ <dl>
+ <dt>
+<code>lenya/xslt/navigation/<component>.xsl</code>
+</dt>
+ <dd>for default components and<br/>
+<br/>
+</dd>
+ <dt>
+<code>lenya/pubs/<publication-id>/lenya/xslt/<component>.xsl</code>
+</dt>
+ <dd>for default components.<br/>
+<br/>
+</dd>
+ </dl>
+ </li>
+ <li>
+ The default components produce an XHTML fragment with the
+ top level element <![CDATA[<div class="<component>"/>]]>.
+ </li>
+ </ul>
+
+</section>
+
+ </body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897550.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897550.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897550.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221897550.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>Navigation</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/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/26cabb80-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/26cabb80-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="1195221897550" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221885642"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910799162" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910770064"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781625282" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.1195221902947.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.1195221902947.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.1195221902947.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.1195221902947.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: xhtml-templating.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>XHTML templating</title>
+
+ <type>Overview document</type>
+
+</header>
+<body>
+
+<section>
+<title>The XHTML Templating Concept</title>
+<p>There are various approaches to templating within a Lenya
+publication. The XHTML approach is effective under the following
+conditions:
+</p>
+<ul>
+ <li>Designers want to edit the layout with their conventional tools.</li>
+<li>The page layout contains large parts of static HTML.</li>
+<li>Pages are typically composed of simple elements.</li>
+</ul>
+
+<p>
+If these conditions are met, it is possible to define the overall
+layout of a page in a XHTML document, using tools like Dreamweaver.
+Special placeholders need to be inserted to indicate where Lenya
+elements should later be substituted. This can be done by inserting
+<div id="navigation" /> as the placeholder for the navigation, for
+instance, or <div id="cmsbody" /> for the body part of a page.
+</p>
+<p>
+If these XHTML documents are finished, they can then be called
+from Lenya, and the placeholders be substituted with CMS content.
+Schematically, this process looks as follows:
+</p>
+<p>1)</p>
+
+<p>XML document (article) -></p>
+<p>XML document (navigation) -> Aggregation to one XML document</p>
+<p>XHTML template -></p>
+
+<p>2)</p>
+
+<p>aggregated XML document -> Processing with XSLT</p>
+<p>
+Step 2) identifies the various placeholders ( <div id="navigation" />
+and <div id="cmsbody" /> in this example) and applies XSL transformations
+to substitute the placeholders with the transformed contents of
+(navigation, article) respectively.
+</p>
+<p>
+What are the advantages of this approach?</p>
+<ul>
+ <li>less XSLT is required, making it easier to delegate design work</li>
+<li>XSLT are easier to understand, as they only affect a small part
+ of a page</li>
+</ul>
+<p>What are the pitfalls of this approach?</p>
+<ul>
+ <li>it may not be appropriate to put the content (here: article) into
+ the XHTML format</li>
+<li>template reuse may be hampered</li>
+</ul>
+</section>
+
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221902947.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221902947.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221902947.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221902947.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>XHTML templating</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/280a4060-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/280a4060-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/280a4060-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="1195221902947" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221881963"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910799512" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910770229"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781618089" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.1195221907351.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.1195221907351.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.1195221907351.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.1195221907351.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: static-resources.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>Serving Static Resources</title>
+
+ <type>Overview document</type>
+
+</header>
+<body>
+
+<section>
+<title>Serving Static Resources</title>
+<p>Lenya now serves static resources out of the box. Publications can either
+use these predefined mappings, or provide their own. The following MIME types
+are handled:
+</p>
+<ul>
+ <li>CSS</li>
+<li>Javascript</li>
+<li>Images (GIF, JPEG and PNG)</li>
+<li>PDF</li>
+<li>Shockwave Flash (*.swf)</li>
+</ul>
+
+<p>
+To use the built-in matching, these resources need to be stored in the
+appropriate directories within a publication, and called with the proper
+URLs.
+</p>
+<table>
+<tr>
+<td colspan="1" rowspan="1">MIME Type</td>
+<td colspan="1" rowspan="1">Prefix</td>
+<td colspan="1" rowspan="1">Directory</td>
+</tr>
+<tr>
+<td colspan="1" rowspan="1">CSS</td>
+<td colspan="1" rowspan="1">css/</td>
+<td colspan="1" rowspan="1">resources/css/</td>
+</tr>
+<tr>
+<td colspan="1" rowspan="1">Javascript</td>
+<td colspan="1" rowspan="1">javascript/</td>
+<td colspan="1" rowspan="1">resources/javascript/</td>
+</tr>
+<tr>
+<td colspan="1" rowspan="1">Images</td>
+<td colspan="1" rowspan="1">images/</td>
+<td colspan="1" rowspan="1">resources/images/</td>
+</tr>
+<tr>
+<td colspan="1" rowspan="1">PDF</td>
+<td colspan="1" rowspan="1">pdf/</td>
+<td colspan="1" rowspan="1">resources/pdf/</td>
+</tr>
+<tr>
+<td colspan="1" rowspan="1">Flash</td>
+<td colspan="1" rowspan="1">flash/</td>
+<td colspan="1" rowspan="1">resources/flash/</td>
+</tr>
+</table>
+<p>An image would thus be called with <img src="images/logo.gif" />
+You dont have to worry about absolute vs relative image paths as long
+as you use URLs that follow this pattern.</p>
+</section>
+
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907351.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907351.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907351.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221907351.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>Serving static resources</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/2947a260-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2947a260-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/2947a260-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="1195221907351" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221886895"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910788565" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910761861"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781623914" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.1195221899212.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.1195221899212.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.1195221899212.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.1195221899212.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: lenya-menubar.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+
+<header>
+ <title>The Lenya Menubar</title>
+
+
+
+</header>
+<body>
+
+<section>
+<title>Defining the Menubar</title>
+
+<section>
+<title>The XML Structure</title>
+<p>
+ A menubar declaration contains the definition of several menus.
+ Each menu consists of a set of blocks containing items.
+ The structure of a menu declaration looks as follows:
+</p>
+
+<source xml:space="preserve"><![CDATA[<menu xmlns="http://apache.org/cocoon/lenya/menubar/1.0">
+
+ <menus>
+
+ <menu label="File" name="File">
+ <block>
+ <item href="...">New Document</item>
+ <item href="...">New Language Version</item>
+ ...
+ </block>
+ ...
+ </menu>
+
+ ...
+
+ </menus>
+
+</menu>]]></source>
+</section>
+
+<section>
+<title>Showing Blocks and Items Only in Certain Tabs</title>
+
+<p>
+ When you use the same menu declaration for different tabs,
+ it might be wished that a menu item shouldn't appear in all
+ these tabs. For instance, the <em>Edit</em> menu item should
+ be displayed only in the <em>authoring</em> tab menu.
+</p>
+<p>
+ To disable a menu item or block, you add an attribute with
+ the name of the tab (<em>authoring</em>, <em>info</em>)
+ and the value <code>false</code>:
+</p>
+<source xml:space="preserve"><![CDATA[<item info="false">...</item>
+
+<block authoring="false">
+ ...
+</block>
+]]></source>
+
+</section>
+
+<section>
+<title>Specifying Usecases and Workflow Events</title>
+
+<p>
+ When a menu item calls a usecase or triggers a workflow transition,
+ and the corresponding action is not allowed, the <code>href</code>
+ attribute of the item is removed before the menu is rendered to
+ disable the item. For this purpose, the <code><![CDATA[<item>]]></code>
+ element supports the attributes
+</p>
+
+<ul>
+ <li>
+<code>wf:event</code>,</li>
+ <li>
+<code>uc:usecase</code>, and</li>
+ <li>
+<code>uc:step</code>.</li>
+</ul>
+
+<p>
+ If the attributes are provided, they are translated into the
+ appropriate request parameters:
+</p>
+
+<ul>
+ <li>
+<code>wf:event -> lenya.event</code>
+</li>
+ <li>
+<code>uc:usecase -> lenya.usecase</code>
+</li>
+ <li>
+<code>uc:step -> lenya.step</code>
+</li>
+</ul>
+
+<p>
+ The attributes are used in the following way:
+</p>
+
+<source xml:space="preserve"><![CDATA[<menu
+ xmlns="http://apache.org/cocoon/lenya/menubar/1.0"
+ xmlns:uc="http://apache.org/cocoon/lenya/usecase/1.0"
+ xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0">
+
+ ...
+
+ <item wf:event="edit"
+ uc:usecase="edit-forms"
+ uc:step="open" href="?...">Edit with Forms</item>
+
+ ...
+
+</menu>]]></source>
+
+<p>
+ The resulting request would be
+</p>
+<source xml:space="preserve">?lenya.event=edit&lenya.usecase=edit-forms&lenya.step=open&...</source>
+<p>
+ If a user is not allowed to invoke the event <code>edit</code>
+ or to execute the usecase <code>edit-forms</code>, the menu
+ item will be disabled.
+</p>
+
+</section>
+
+</section>
+
+<section>
+<title>Applying the Menubar - Meta Stylesheet Approach</title>
+
+<p>
+In this approach, the publication simply builds its XHTML
+page without any additional XML. The Lenya menubar is added using
+a meta stylesheet in the last transformation step.
+You find more information on meta stylesheets on the page
+<a href="ext:wiki/lenya/MetaStylesheets">MetaStylesheets</a>
+in the Cocoon wiki.
+</p>
+
+<section>
+<title>The Big Picture (literally)</title>
+
+<p>
+<img alt="Lenya page processing" src="lenya-document:67c65270-8731-11dc-ae46-9e7b5d14892d"/>
+</p>
+<p>
+In the left column you see the XML flow within the publication sitemaps,
+ the right column shows the flow within the core sitemaps.
+</p>
+
+<section>
+<title>Creating the Menu XHTML</title>
+<ul>
+ <li>The actual menu XML is fetched from the sitemap <code>menus.xmap</code>
+ within the publication directory.</li>
+ <li>The XML is processed using the UsecaseMenuTransformer and the
+ WorkflowMenuTransformer.</li>
+ <li>The stylesheet <code>lenya/xslt/menu/menu2xhtml.xsl</code> transforms
+ the menu XML into XHTML.</li>
+ <li>Finally, this XHTML is transformed into a meta stylesheet by
+ <code>lenya/xslt/menu/menu2xslt.xsl</code>.</li>
+</ul>
+</section>
+
+<section>
+<title>Requesting and Applying the Menubar</title>
+<ul>
+ <li>The XHTML page is generated without any additional XML.</li>
+ <li>Afterwards, the menubar meta stylesheet is requested using
+ a <code>cocoon://lenya-page/...</code> internal request.</li>
+ <li>This request is matched in <code>global-sitemap.xmap</code>.</li>
+ <li>The menubar meta stylesheet is applied to the XHTML page.
+ It inserts the menubar at the top of the HTML body, adds some
+ additional CSS file entries and modifies the HTML title.</li>
+</ul>
+</section>
+
+</section>
+
+<section>
+<title>Configuring the Publication</title>
+
+<section>
+<title>Requesting the lenya-page Meta Stylesheet</title>
+<p>The lenya-page meta stylesheet request looks as follows:</p>
+
+<source xml:space="preserve"><![CDATA[
+<map:generate src="cocoon:/page/..."/>
+<map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/[menu-url]"/>
+<map:serialize type="html"/>
+]]></source>
+
+<ul>
+ <li>The <code>lenya-page</code> part is used to match the request in <code>global-sitemap.xmap</code>.</li>
+ <li>The <code>{page-envelope:publication-id}</code> part is used to evaluate which
+ publication the request came from.</li>
+ <li>The <code>[menu-url]</code> part is used to get the menu from <code>menus.xmap</code>.
+ Here you have to add all information you need to select the appropriate menubar.</li>
+</ul>
+</section>
+
+<section>
+<title>Creating the Menu XML</title>
+<p>Usually, this is done using an XSP page.</p>
+<p>The Lenya menubar namespace is</p>
+<source xml:space="preserve">http://apache.org/cocoon/lenya/menubar/1.0</source>
+</section>
+
+<section>
+<title>Supplying Menus in menus.xmap</title>
+<p>When the lenya-page meta stylesheet is generated in the core,
+the actual menu XML is fetched using a request to the sitemap
+<code>menus.xmap</code> in the publication directory.
+The <code>[menu-url]</code> part from the lenya-page request is
+matched in this sitemap.</p>
+
+<p>
+This simple <code>menus.xmap</code> pipeline uses different
+menus for authoring and live:
+</p>
+
+<source xml:space="preserve"><![CDATA[
+<map:pipeline>
+
+ <map:match pattern="live/**">
+ <map:generate type="serverpages"
+ src="../../content/menus/live.xsp"/>
+ <map:serialize type="xml"/>
+ </map:match>
+
+ <map:match pattern="*/**">
+ <map:generate type="serverpages"
+ src="config/menus/generic.xsp"/>
+ <map:serialize type="xml"/>
+ </map:match>
+
+</map:pipeline>
+]]></source>
+
+<p>You can as well use the document type or the current URL to
+select a menu.</p>
+
+<p>Examples for lenya-page requests:</p>
+
+<p>Using the area:</p>
+<source xml:space="preserve">cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:area}</source>
+
+<p>Using the document type:</p>
+<source xml:space="preserve">cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:document-type}</source>
+
+<p>Using the document URL:</p>
+<source xml:space="preserve">cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:document-url}</source>
+
+</section>
+
+</section>
+
+<section>
+<title>Creating a Customized Menu</title>
+
+<p>
+ It is also possible to get the menu XML before it is transformed
+ to XHTML using a request to the core. For this purpose, the prefix
+ <code>menu-xml</code> is used instead of <code>lenya-page</code>.
+ This way, you can aggregate the menu XML together with other page parts
+ and include it somewhere inside the XML page.
+</p>
+
+<source xml:space="preserve"><![CDATA[<map:aggregate element="lenya" label="aggregation">
+ <map:part src="cocoon:/lenyabody/{1}/{2}.xml"/>
+ <map:part src="cocoon://menu-xml/{page-envelope:publication-id}/{1}.xml"/>
+</map:aggregate>]]></source>
+</section>
+
+</section>
+
+
+<section>
+<title>Applying the Menubar - Classic Approach</title>
+
+<note>This approach is deprecated.</note>
+
+<section>
+<title>XSLT</title>
+<p>
+By editing <code>src/webapp/lenya/xslt/menu/menu.xsl</code> one can change the look and feel of the Lenya menu bar.
+This XSLT template is being included by <code>src/webapp/lenya/xslt/menu/root.xsl</code>.
+</p>
+</section>
+
+</section>
+
+</body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899212.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899212.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899212.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221899212.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>Lenya Menubar</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/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2a82ba70-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/2a82ba70-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="1195221899212" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221888844"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910797793" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910769068"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781619558" version="1"/>
Added: lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.1195221895584.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.1195221895584.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.1195221895584.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.1195221895584.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id: pageenvelopemodule.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+ <header>
+ <title>The PageEnvelopeModule</title>
+
+
+
+ </header>
+ <body>
+
+<section>
+<title>Overview</title>
+<p>
+The <code>PageEnvelopeModule</code> is an <code>InputModule</code>
+that provides access to the <code>PageEnvelope</code> parameters. For
+documentation on input modules see section <a href="http://cocoon.apache.org/2.1/userdocs/concepts/modules.html">Modules</a>
+of the Cocoon documentation.
+</p>
+</section>
+
+<section>
+<title>Module Parameters</title>
+<dl>
+ <dt>publication-id</dt>
+ <dd>The current publication ID.</dd>
+ <dt>context-prefix</dt>
+ <dd>The context prefix of the web application, e.g. <code>/lenya</code>.</dd>
+ <dt>area</dt>
+ <dd>The CMS area, <code>authoring</code> or <code>live</code>.</dd>
+ <dt>publication</dt>
+ <dd>The current publication</dd>
+ <dt>document-id</dt>
+ <dd>The document ID, i.e. the path of the document in the sitetree.</dd>
+ <dt>document-name</dt>
+ <dd>The document name, i.e. the very last part of the document ID.</dd>
+ <dt>document-url</dt>
+ <dd>The URL of the document within the area, e.g., <code>/news/index.html</code>
+</dd>
+ <dt>document-path</dt>
+ <dd>The file path where this document is physically located in the
+ file system.</dd>
+ <dt>document-language</dt>
+ <dd>The language of this document.</dd>
+ <dt>document-type</dt>
+ <dd>The document type.</dd>
+</dl>
+</section>
+
+<section>
+<title>Sitemap usage</title>
+<source xml:space="preserve">
+<![CDATA[<map:parameter name="document-id" value="{page-envelope:document-id}"/>]]>
+</source>
+</section>
+
+<section>
+<title>XSP usage</title>
+<source xml:space="preserve">
+<![CDATA[<xsp:page
+ language="java"
+ xmlns:xsp="http://apache.org/xsp"
+ xmlns:input="http://apache.org/cocoon/xsp/input/1.0">
+
+<usecase:url>
+ <input:get-attribute
+ module="page-envelope" as="string" name="document-url"/>
+</usecase:url>
+
+</xsp:page>
+]]>
+</source>
+</section>
+
+
+ </body>
+</document>
Added: lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895584.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895584.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895584.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.meta.1195221895584.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>PageEnvelopeModule</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/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/2c0b5640-8731-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/2c0b5640-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="1195221895584" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221883209"/>
<CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910785046" version="2"/>
<CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910769525"/>
<CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781619391" 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.