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 [26/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/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.1195221897309.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.1195221897309.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.1195221897309.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.1195221897309.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  <header>
+    <title>Part 2: Installing Lenya</title>
+  </header>
+  <body>
+<p>So here you are, ready to install the mysterious Lenya. If you haven't already, we encourage
+    you to take a quick gander at
+    <a href="understanding_lenya.html">Part I: Understanding Lenya</a>
+    to make sure you know what you are getting into before attempting this install. Also, some
+    knowledge in the basics of using a UNIX/Linux operating system are assumed. So without
+    further delay, let's kick it!</p>
+
+<section id="Requirements">
+<title>Requirements</title>
+
+<p>OK, we do have to mention one thing: while you can install Lenya on Windows, I'm going to be
+    taking you through a Linux installation. For Windows help, I'll have to direct you to the
+    <a href="lenya-document:653c2520-8731-11dc-ae46-9e7b5d14892d">user mailing
+        lists</a>.</p>
+
+<p>We also recommend a broadband connection, especially for downloading Cocoon (approx. 43
+    MB) and the Java SDK (approx. 35 MB), but if you want to sit around and wait while they
+    download on a phone line, be our guest!</p>
+
+<ol>
+  <li>Linux/UNIX (I'm using <a href="http://www.redhat.com/software/rhel/as/">RedHat Enterprise AS</a>, but any Linux will do)</li>
+  <li>
+<a href="http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&amp;PartDetailId=j2sdk-1.4.2_07-oth-JPR&amp;SiteId=JSC&amp;TransactionId=noreg">Java 1.4.2 SDK</a>  (we downloaded the RedHat RPM)</li>
+
+  <li>
+<a href="http://cocoon.apache.org/mirror.cgi">Cocoon 2.1.7</a>  (the TAR/GZ source version)</li>
+  <li>
+<a href="ext:lenya.dist">Lenya 1.2.4</a>  (the tar.gz source version is what we are using, under the SOURCES directory)</li>
+  <li>(optional) <a href="http://jakarta.apache.org/site/binindex.cgi#tomcat-5.0">Tomcat 5.0.28</a>  (the binary tar.gz version)</li>
+</ol>
+
+<p>Why is Tomcat optional? Well, because Lenya already comes with a servlet container called
+    Jetty. Both Jetty and Tomcat are the servlet containers tested with Lenya, and since we're
+    using Tomcat for Hiram's site, that's what I'll be taking you through. For brief
+    instructions on using Jetty, read
+    <a href="lenya-document:f696f320-8730-11dc-ae46-9e7b5d14892d">the
+        tutorial on Lenya's site</a>.</p>
+
+<p>It's also assumed that the first steps before switching to our new user in step 5 are done with
+    a user that has the capabilities of installing Java and the like. We used the root user to do
+    the installs and moves, then switched to the our new user for the rest.</p>
+</section>
+<section id="tensteps">
+<title>10 Steps to Lenya bliss</title>
+
+<section id="download">
+<title>Step 1: Download!</title>
+<p>Yeah, seems simple enough, doesn't it? Get 2-5 from above downloaded and on the server
+    you'll be using.</p>
+</section>
+<section id="installsdk">
+<title>Step 2: Install Java SDK</title>
+    <p>If you downloaded the RPM, you'll need to execute the file first. It spits out the
+        Licensing Agreement, for which you must agree to, and then your RPM file is ready. To
+        install on RedHat, type in the following:</p>
+    
+    <source xml:space="preserve">rpm -ivh j2sdk-1_4_2_07-linux-i586.rpm</source>
+    
+    <p>or whatever your RPM file happens to be named. This should install your Java files in
+        /usr/java/ by default. You'll also need to setup some environment variables for Java
+        in order for Tomcat to start up correctly later on. Again, these instructions are for
+        RedHat, so consult documentation for your OS if need be.</p>
+    
+    <source xml:space="preserve">cd /etc/profile.d/</source>
+    
+    <p>Create a new file called java.sh and fill it with the following for now:</p>
+    
+    <source xml:space="preserve"> export JAVA_HOME=/usr/java/java export PATH=$PATH:$JAVA_HOME/bin export
+        CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib/ext
+    </source>
+    
+    <p>Save it and exit from the file. While we are here, let's add the rest of the environment
+        variables for the other applications. So, for Tomcat, create a new file called
+        tomcat.sh and add the following inside:</p>
+    
+    <source xml:space="preserve"> export CATALINA_HOME=/usr/local/tomcat export
+        PATH=$PATH:$CATALINA_HOME/bin
+    </source>
+    
+    <p>Save and exit. Then, create a new file called webapps.sh and add the following
+        inside:</p>
+    
+    <source xml:space="preserve"> export LENYA_HOME=/home/webapp/web_software/lenya-1.2.4 export
+        COCOON_HOME=/home/webapp/web_software/cocoon-2.1.7 export
+        COCOON_WEBAPP=/home/webapp/web_software/cocoon-2.1.7/build/webapp
+    </source>
+    
+    <p>Save and exit.</p>
+</section>
+<section id="setup_a_new_user">
+<title>Step 3: Setup a new user</title>
+<p>You'll want to create a new user that has access to all of the Cocoon, Tomcat, and Lenya files.
+    I'll call the user "webapp". In most Linux distributions, you can use the graphical tools
+    to add a new user, or if you are a die-hard command-line junkie, use the following command in
+    RedHat to add our new user:</p>
+
+<source xml:space="preserve">useradd -c "Web Applications" -m webapp</source>
+
+<p>This basically sets up a new user with the name of "Web Applications", a username of "webapp"
+    and creates a home directory (the -m switch) with the standard initialization files.</p>
+
+<p>You may want to setup a password for this user.  To do that, simply do this:</p>
+
+<source xml:space="preserve">passwd webapp</source>
+
+<p>It will prompt you for the new password twice. Assuming you typed it in the same way both
+    times, you're all set! This is only basic, so if you want to add password expiration
+    options, etc., go right ahead!</p>
+</section>
+<section id="move_downloads_to_right_places">
+<title>Step 4: Move downloads to right places</title>
+
+<p>In most UNIX/Linux systems, webapp's home directory should be /home/webapp/. Inside
+    webapp's home directory, we'll create a new directory to store our source files. Let's
+    call it "web_software":</p>
+
+<source xml:space="preserve">
+mkdir /home/webapp/web_software
+chown -R webapp:webapp /home/webapp/web_software
+</source>
+
+<p>Go ahead and move both Lenya's and Cocoon's zipped up files to that directory (you'll have to
+    change to the directory that your downloaded files are stored first):</p>
+
+<source xml:space="preserve">
+mv apache-lenya-1.2.4-src.tar.gz /home/webapp/web_software/
+mv cocoon-2.1.7-src.tar.gz /home/webapp/web_software/
+</source>
+
+<p>Tomcat needs to go in /usr/local/ (at least that's the typical place for it):</p>
+
+<source xml:space="preserve">mv jakarta-tomcat-5.0.28.tar.gz /usr/local/</source>
+</section>
+<section id="change_permissions_of_files">
+<title>Step 5: Change permissions of files</title>
+<p>Now that you created that webapp user, you'll want to assign permissions to the Lenya,
+    Cocoon, and Tomcat files to webapp:</p>
+
+<source xml:space="preserve">
+chown webapp:webapp /usr/local/jakarta-tomcat-5.0.28.tar.gz
+chown -R webapp:webapp /home/webapp/web_software/
+
+</source>
+
+<p>And then switch to that user:</p>
+
+<source xml:space="preserve">su - webapp</source>
+</section>
+<section id="unzip_lenya">
+<title>Step 6: Unzip Lenya</title>
+<p>Pretty easy stuff:</p>
+
+<source xml:space="preserve">
+cd web_software
+tar xzvf apache-lenya-1.2.4-src.tar.gz
+
+mv apache-lenya-1.2.4-src lenya-1.2.4
+</source>
+</section>
+<section id="unzip_and_build_cocoon">
+<title>Step 7: Unzip and build Cocoon</title>
+<p>Same deal here:</p>
+
+<source xml:space="preserve">
+tar xzvf cocoon-2.1.7-src.tar.gz
+mv cocoon-2.1.7-src cocoon-2.1.7
+</source>
+
+<p>Now, you'll need to copy some config files from Lenya into Cocoon's directory:</p>
+
+<source xml:space="preserve">
+cp lenya-1.2.4/local.build.properties cocoon-2.1.7/
+cp lenya-1.2.4/local.blocks.properties cocoon-2.1.7/
+</source>
+
+<p>Then the all-important part, compiling Cocoon.  It's this simple:</p>
+
+<source xml:space="preserve">
+cd cocoon-2.1.7
+./build.sh -Dinclude.webapp.libs=yes webapp
+</source>
+</section>
+<section id="install_tomcat">
+<title>Step 8: Install Tomcat</title>
+
+<p>Since we downloaded the binary version of Tomcat, there's not much to do except to unzip the files.  So here we go again:</p>
+
+<source xml:space="preserve">
+cd /usr/local/
+tar xzvf jakarta-tomcat-5.0.28.tar.gz
+</source>
+
+<p>Since that name is rather long, let's create a link to it:</p>
+
+<source xml:space="preserve">ln -s jakarta-tomcat-5.0.28 tomcat</source>
+</section>
+<section id="configure_and_install_lenya">
+<title>Step 9: Configure and install
+    Lenya</title>
+    
+    <p>OK, we need to let Lenya know where Tomcat is before we install it.</p>
+    
+    <source xml:space="preserve"> cd /home/webapp/web_software/lenya-1.2.4/ cp build.properties
+        local.build.properties
+        </source>
+    
+    <p>Inside this file, you'll need to change a couple of things. Below are the lines you'll
+        need to change in local.build.properties, so scope them out in the file, make the
+        changes, and save them:</p>
+    
+    <source xml:space="preserve"> cocoon.src.dir=../cocoon-2.1.7 tomcat.home.dir=/usr/local/tomcat
+        enable.uploads=true
+        </source>
+    
+    <p>Once done, we'll need to compile:</p>
+    
+    <source xml:space="preserve">./build.sh install</source>
+</section>
+<section id="start_up_tomcat">
+<title>Step 10: Start up Tomcat</title>
+<p>To start Tomcat, simply type in the following:</p>
+
+<source xml:space="preserve">/usr/local/tomcat/bin/startup.sh</source>
+    </section>
+<section id="getting_your_first_access_to_lenya">
+<title>Getting your first access to Lenya</title>
+<p>Now that Tomcat is up, you should be able to access Lenya pretty easily. Just go to the
+    following URL: http://your.server.url:8080/lenya/. You should see a couple of
+    publications listed on the left with general information about Lenya. From there, you can
+    log into the Default Publication with the username "lenya" and the password "levi".</p>
+</section>
+</section>
+<section id="next_article">
+<title>Next Article</title>
+<p>Now that you have the basic installation done, play around and have some fun. In the next
+    article, we'll take a look at how pages are created, published, and customized by changing
+    some of the files in the Default Publication as well as creating our own pipeline.</p>
+</section>
+  </body>
+</document>

Added: lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897309.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897309.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897309.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897309.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>2. Installing Lenya</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/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/fa46b4b0-8730-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="1195221897309" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221885353"/>
 <CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910783525" version="2"/>
 <CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910768407"/>
 <CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781617854" version="1"/>

Added: lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.1195221907467.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.1195221907467.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.1195221907467.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.1195221907467.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  <header>
+    <title>Part 3: Anatomy of the pipeline</title>
+  </header>
+    <body>
+        <p>With Lenya installed, you're itching to figure out how to get around this thing so
+            you can start creating a website. But, you want to put it all together the way
+            you're used to. Well, bring out the frozen dinners, because this is not your
+            momma's cooking. Instead of opening up a file, adding our HTML, and throwing in
+            some CSS, we'll be working with pipelines, XML, XSLT to get the job done.</p>
+        
+        <section id="what_are_pipelines">
+<title>What are pipelines?</title>
+        
+        <p>Pipelines aren't a Lenya thing - it's a Cocoon thing. If you want to master Lenya,
+            you'll have to get your hands around Cocoon, and that's not an easy thing. Let me
+            remind you that the articles we write here are not because I'm an expert in Lenya or
+            Cocoon. Far from it. But, we have learned some things along the way that we see being
+            asked over and over, so we think it's important to keep the open-source spirit
+            alive and document what I've learned.</p>
+        
+        <p>OK, so back to pipelines. Pipelines are basically part of a set of items that can be
+            found in a sitemap of your publication, which include the components, views,
+            resources, etc. We'll save all those for another time. Pipelines are a way to
+            match a request coming to your publication and act on them in some way. So, for
+            example, if you are accessing a particular page within your publication using
+            your web browser, a pipeline can find a match for that request and possibly send
+            back a page for you to view.</p>
+        
+        </section>
+<section id="minimum_requirements">
+<title>Minimum Requirements</title>
+        
+        <p>For a pipeline to work, you'll need to match an incoming request, generate
+            something to be used, and then send it back in a format that is recognizable and can
+            be dealt with easily. Here's an example pipeline:</p>
+        
+        <source xml:space="preserve"> 
+            1. &lt;map:pipeline&gt; 
+            2. &lt;map:match pattern="example"&gt;
+            3. &lt;map:generate type="file" src="example.xml"/&gt; 
+            4. &lt;map:serialize type="xml"/&gt; 
+            5. &lt;/map:match&gt; 
+            6. &lt;/map:pipeline&gt;
+        </source>
+        
+        <p>Let's walk through this line by line. Line 1 starts the definition of the pipeline.
+            Everything starts with "map:" because all of this XML is part of the map namespace
+            defined by Cocoon. Line 2 tries to match an incoming request to see if it looks like
+            "example". If it does, we keep going. If not, this pipeline gets skipped over.
+            Line 3 is the generator. In this case, we'll be generating "stuff" from a file, and
+            that file is example.xml. So, what do we do with this stuff inside the file? Well,
+            we need to send it back to the user making the request for "example" in something
+            they (or it) can understand. In line 4, we're doing just that by using a serializer
+            to take all that stuff in example.xml and sending back to the user as XML.</p>
+        
+        </section>
+<section id="how_about_something_more_usable">
+<title>How about something more usable?</title>
+        
+        <p>OK, admittedly, that was a boring example. The file was already XML, so the only
+            thing the serializer did was probably add in our declaration at the top of the page
+            and send it back to the user. Let's add in some spice and relate it to web pages:</p>
+        
+        <source xml:space="preserve"> 
+            1. &lt;map:pipeline&gt; 
+            2. &lt;map:match pattern="test.html"&gt; 
+            3. &lt;map:generate type="file" src="test.xml"/&gt;
+            4. &lt;map:transform type="xslt" src="test2html.xsl"/&gt; 
+            5. &lt;map:serialize type="html"/&gt; 
+            6. &lt;/map:match&gt; 
+            7. &lt;/map:pipeline&gt;
+        </source>
+        
+        <p>OK, so here, we're trying to match the request for test.html. Now, keep in mind, it
+            could very well be that test.html doesn't exist (and in this case it doesn't).
+            That's OK - we're just matching requests for something, and in return, we can send
+            back whatever we like. Think of it as a virtual link to another file we're creating
+            on the fly.</p>
+        
+        <p>So, if we do match test.html, we'll grab the contents of the file test.xml, but
+            before we send it back, we'll transform that XML into something else using the
+            transformer (line 4). Using XSLT, we can convert that batch of XML into an HTML
+            page! That's done using the file test2html.xsl. When that's all said and done,
+            off we go to serialize it back to the user, but this time as HTML instead of XML.</p>
+        
+        <p>We won't have time to show you how the XSL transformation works, but we can throw you
+            over to
+            <a href="http://www.w3schools.com/xsl/xsl_languages.asp">
+                W3Schools</a> and they'll give you a nice intro.</p>
+        
+        </section>
+<section id="the_lenya_pipeline">
+<title>The Lenya pipeline</title>
+        
+        <p>So now that we know the basics, how does Lenya use the pipeline in creating it's
+            pages? Well, it's not too much different. While it looks more complicated, the
+            basics are still there.</p>
+        
+        <p>Below is the pipeline that is used in the publication-sitemap.xmap file in
+            Lenya's default publication:</p>
+        
+        <source xml:space="preserve"> 
+            1. &lt;map:pipeline&gt; 
+            2. &lt;!--/lenyabody-{rendertype}/{publication-id}/{area}/{doctype}/{url}--&gt; 
+            3. &lt;map:match pattern="lenyabody-*/*/*/*/**"&gt; 
+            4. &lt;map:aggregate element="cmsbody"&gt;
+            5. &lt;map:part src="cocoon://navigation/{2}/{3}/breadcrumb/{5}.xml"/&gt; 
+            6. &lt;map:part src="cocoon://navigation/{2}/{3}/tabs/{5}.xml"/&gt;
+            7. &lt;map:part src="cocoon://navigation/{2}/{3}/menu/{5}.xml"/&gt; 
+            8. &lt;map:part src="cocoon://navigation/{2}/{3}/search/{5}.xml"/&gt; 
+            9. &lt;map:part src="cocoon:/lenya-document-{1}/{3}/{4}/{page-envelope:document-path}"/&gt;&gt;
+            10.&lt;/map:aggregate&gt;
+            11.&lt;map:transform src="xslt/page2xhtml-{4}.xsl"&gt; 
+            12.&lt;map:parameter name="root" value="{page-envelope:context-prefix}/{2}/{3}"/&gt; 
+            13.&lt;map:parameter name="url" value="{5}"/&gt; 
+            14.&lt;map:parameter name="document-id" value="{page-envelope:document-id}"/&gt; 
+            15.&lt;map:parameter name="document-type" value="{page-envelope:document-type}"/&gt; 
+            16.&lt;/map:transform&gt;
+            17.&lt;map:select type="parameter"&gt; 
+            18.&lt;map:parameter name="parameter-selector-test" value="{1}"/&gt; 
+            19.&lt;map:when test="view"&gt; 
+            20.&lt;map:transform type="link-rewrite"/&gt; 
+            21.&lt;/map:when&gt;
+            22.&lt;/map:select&gt;
+            23.&lt;map:serialize type="xml"/&gt; 
+            24.&lt;/map:match&gt;
+            25.&lt;/map:pipeline&gt;
+        </source>
+        
+        <p>OK, yikes, we know what you're thinking. But seriously, it's not that bad. We still
+            open with a pipeline tag, we match something, we have this aggregation part which
+            I'll explain in a minute, we transform the results, and after another part I'll
+            explain, we serialize the results back the user. Let's start with the
+            matcher.</p>
+        
+        </section>
+<section id="the_matcher">
+<title>The Matcher</title>
+        
+        <p>So, um, what exactly are we matching? Without going into too much and getting you
+            swamped with terminology, we're basically trying to match a whole bunch of
+            things at once. The comment right above the matcher tries to tell you what each of
+            the asterisks are. There's the rendertype (whether you're viewing the page, or
+            editing it), the publication ID (which in this case is "default" for the Default
+            Publication), the area (it could be Authoring, or Live, or Admin, etc.), the
+            document type, and the actual URL of the document.</p>
+        
+        <p>The document type is pretty interesting. In XML, one document could be for
+            describing a shape, while another could be describing a set of books. It doesn't
+            have to be that way, though. For example, the "homepage" and "xhtml" doctypes
+            provided for you in Lenya are exactly the same, except there's another pipeline
+            that says the top index.html page of the publication will be assigned the doctype
+            of "homepage". It's handy because since most homepages have a different design
+            that the secondary or tertiary pages, you can use a different XSLT file to
+            transform it however you want without having to setup a new pipeline for it. Just
+            think of the possibilities with different doctypes...</p>
+        
+        </section>
+<section id="the_aggregator">
+<title>The Aggregator</title>
+        
+        <p>So, after we've matched all of those options (the asterisks mean anything and
+            everything), we get to this aggregate tag. Basically, it's a generator like we
+            saw in the previous examples, it's just aggregating the results of the
+            generation from all these sources together as one.</p>
+        
+        <p>So, Lenya separates out the menu (or navigation of the site), the tabs (all the
+            high-level items in the navigation), the breadcrumb trails on the pages, the
+            search box, and the actual content of the page into separate files. See all those
+            {2}'s, {3}'s, and {5}'s? Each one of those points to the value for that numbered
+            asterisk in the matcher. So, whatever happened to have been in the second
+            asterisk in the matcher, we use that in place of {2}. Simple, no?</p>
+        
+        </section>
+<section id="the_transformer">
+<title>The Transformer</title>
+        
+        <p>The transformer is pretty straight-forward. We transform the results of all the
+            aggregated content using the file page2xhtml-{4}.xsl. Except, the {4} is
+            replaced with whatever was in the place of the fourth asterisk, or in this case,
+            the doctype. So, if our doctype was "homepage", we would transform our page using
+            the XSL file page2xhtml-homepage.xsl. If our doctype were "xhtml" (which is
+            what most of the pages are in Lenya), then you would transform it with
+            page2xhtml-xhtml.xsl. See how you can differentiate the design with different
+            transformations and doctypes?</p>
+        
+        <p>The parameters inside of the transform tag are basically setting up variables to
+            be passed to the XSL file. In this case, we're passing along the root location of
+            the publication (perhaps it's just a / in http://www.someplace.com/, for
+            example), the URL of the publication (like "some/where.html"), as well as the
+            document ID (the latter half of the URL without the .html extension), and the
+            doctype.</p>
+        
+        </section>
+<section id="the_selector">
+<title>The Selector</title>
+        
+        <p>We haven't seen this one yet, but think of the selector as an if/else statement. You
+            have to tell the selector what you are testing against, then test it against some
+            value, and do something. In this case, we're testing the rendertype (that's the
+            first asterisk, or {1}). If the rendertype is "view", as in we're viewing the page
+            and not editing it, then go through one more transformation, called
+            link-rewrite.</p>
+        
+        <p>The link-rewrite transformer basically checks where you are, then goes through
+            the contents of the page and rewrites all links in relation to what area you are in.
+            For example, if we are in the Authoring environment in Lenya, then our links could be
+            rewritten to look like "/lenya/default/authoring/some/where.html". If we are
+            in the Live area, they would be rewritten to look like
+            "/lenya/default/live/some/where.html". That way, you just keep track of the
+            organization of the site using the Site tab within Lenya, and Lenya will rewrite
+            your links according to what area you are in when viewing the page so that it all
+            just works!</p>
+        
+        </section>
+<section id="the_serializer">
+<title>The Serializer</title>
+        
+        <p>In the end, we serialize everything we've done into XML. So, why XML? Because it's
+            later on in the series of pipelines that the results are serialized again into
+            HTML (or XHTML, if you so choose).</p>
+        
+        </section>
+<section id="fin">
+<title>Fin</title>
+        
+        <p>So hopefully that gets you cracking on understanding how Lenya is setup to handle
+            pages. There's no doubt we've exposed you to quite a bit that deserves more
+            explanation, and it will certainly come.</p>
+        </section>
+    </body>
+</document>

Added: lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221907467.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221907467.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221907467.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221907467.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>3. Anatomy of the Pipeline</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/fb726370-8730-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/fb726370-8730-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="1195221907467" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221886968"/>
 <CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910790681" version="2"/>
 <CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910764065"/>
 <CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781633814" version="1"/>

Added: lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.1195221897974.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.1195221897974.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.1195221897974.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.1195221897974.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  <header>
+    <title>Part 4: Editing in Lenya</title>
+  </header>
+    <body>
+        <p>There are several editors that you can use in Lenya, but because we only have used 2 of
+            them, these are the ones we will briefly go over here.</p>
+        
+       <section id="Kupu">
+<title>Kupu</title>
+        
+        <p>
+<a href="ext:kupu">Kupu</a> is a WYSIWYG editor that was developed through <a href="ext:oscom">OSCOM</a> and has been integrated
+            into Lenya. The editor is quite simple to use, and has an aggressive timeline for
+            future improvements. You can see a screenshot of Kupu in action below:</p>
+        
+        <p>
+<img alt="kupu" src="lenya-document:68002720-8731-11dc-ae46-9e7b5d14892d"/>
+</p>
+        
+        <p>When you
+            <a href="installing_lenya.html">install Lenya</a>, you'll
+            notice that when you try to edit a page in your publication using it, you'll get a
+            message stating to build it before you can use it. You'll need to go to Kupu's main
+            directory and type make to build it properly:</p>
+        
+        <source xml:space="preserve"> 
+            cd /usr/local/tomcat/webapps/lenya/lenya/resources/kupu
+            make
+        </source>
+        
+        <p>You may get an error stating that the build could not be completed successfully
+            because it could not find xsltproc. If this is the case, you'll need to download
+            the xsltproc package and install it before continuing. Since we are using RedHat
+            Linux, we'll give you the steps for installing the RPM. Adapt the instructions for
+            your own OS.</p>
+        
+        <p>First off, check to see if you have the proper RPMs:</p>
+        
+        <source xml:space="preserve"> rpm -qa | grep libxml2 rpm -qa | grep libxslt</source>
+        
+        <p>If nothing is returned for either one of them (or both), then there's two ways to
+            download the proper RPMs. One is by using RPMFind. Go to these URLs:</p>
+        
+        <ul>
+            <li>
+                    <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxml2">
+                http://rpmfind.net/linux/rpm2html/search.php?query=libxml2</a>
+                </li>
+            <li>
+                    <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxslt">
+                http://rpmfind.net/linux/rpm2html/search.php?query=libxslt</a>
+                </li>
+            
+        </ul>
+        
+        <p>Look for your OS and download the appropriate RPM. Once downloaded to your server,
+            install the packages:</p>
+        
+        <source xml:space="preserve"> 
+            rpm -ivh libxml2-2.5.10-7.i386.rpm 
+            rpm -ivh libxslt-1.0.33-5.i386.rpm
+        </source>
+        
+        <p>The version numbers are probably different from the latest. Just be sure you get
+            the latest versions of each.</p>
+        
+        <p>The second way is if you use RedHat's up2date program (you must be registered with
+            RedHat). To use this, just run the following command:</p>
+        
+        <source xml:space="preserve"> 
+            up2date --showall | grep libxml2 
+            up2date --showall | grep libxslt
+        </source>
+        
+        <p>Once the package names are found, you can download them from the up2date server
+            like so:</p>
+        
+        <source xml:space="preserve"> 
+            up2date --get libxml2-2.5.10-7.i386 
+            up2date --get libxslt-1.0.33-5.i386
+        </source>
+        
+        <p>The RPMs will be stored in /var/spool/up2date/. Go there, then install them as
+            mentioned above (recapped below as well):</p>
+        
+        <source xml:space="preserve"> 
+            rpm -ivh libxml2-2.5.10-7.i386.rpm 
+            rpm -ivh libxslt-1.0.33-5.i386.rpm
+        </source>
+        
+        <p>Those that are savvy with up2date can find a more efficient way to install these
+            RPMs, but this will do for now. Once the RPMs are installed, go back to Kupu's
+            directory and run make as mentioned above. Now you're ready to edit using
+            Kupu!</p>
+        
+        </section>
+<section id="bxe">
+<title>BXE</title>
+        
+        <p>Bitflux Editor (<a href="ext:bxe">BXE</a>) is another WYSIWYG editor that was developed separately from Lenya and
+            integrated into the project. BXE's approach is slightly different from
+            Kupu's in that from the visual standpoint, it appears as if you are editing the
+            content right on the layout of the page. Kupu, from the screenshot above, gives
+            you a whole new page that focuses just on the content. We'll let you work with either
+            one and decide which is your favorite. Hiram College chose to use Kupu, not
+            because BXE was worse, but because Kupu was more flexible and easier to
+            understand for the faculty and staff that were using it. Below is a screenshot of
+            BXE at work:</p>
+        
+        <p>
+<img alt="bxe" src="lenya-document:67f355e0-8731-11dc-ae46-9e7b5d14892d"/>
+</p>
+        
+        <p>In version 1.2.4, BXE is already installed and ready to go, so there's no need
+            for any added configuration.</p>
+        
+        </section>
+<section id="next_articles">
+<title>Next articles</title>
+        
+        <p>Well, we wanted to keep this one short, as we are working on cooking up some more heftier
+            articles, including customizing your navigation and an intro to doctypes and
+            usecases.</p>
+        </section>
+    </body>
+</document>

Added: lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897974.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897974.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897974.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221897974.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>4. Editing in Lenya</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/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/fca6ebd0-8730-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="1195221897974" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221886491"/>
 <CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910792745" version="2"/>
 <CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910765928"/>
 <CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781627221" version="1"/>

Added: lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.1195221903597.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.1195221903597.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.1195221903597.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.1195221903597.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  <header>
+    <title>Part 5: Custom Navigation in Lenya</title>
+  </header>
+    <body>
+        <p>OK, so you have the basics: you know how to install Lenya, you understand it's
+            approach to content management, you understand the pipeline bit, and you know
+            how to edit existing documents. Through playing around, you probably now know
+            how to make new pages, and create the content hierarchy for your site. Now the
+            question becomes, how do we customize the navigation to be marked up the way you
+            want.</p>
+        
+        <section id="customizing_lenya_navigation_items">
+<title>Customizing Lenya
+            navigation items</title>
+            
+            <p>In order to understand customizing navigation items in Lenya, you'll need to
+                understand where that's possible. In the default publication's root
+                directory, you'll see a directory called 'lenya'. It's here where you can
+                add folders and files that override the global defaults set aside for all of
+                Lenya.</p>
+            
+            <p>One of the directories is 'navigation'. In there, you'll most likely see a
+                file called tabs.xsl. This is a customized version of the tabs just for the
+                default publication. But you can do others. Here's the list of the file names
+                you can add in the 'navigation' folder that will override the global
+                files:</p>
+            
+            <table>
+                <tr>
+                    <td colspan="1" rowspan="1">breadcrumb.xsl</td>
+                    <td colspan="1" rowspan="1">The breadcrumb trails at the top of the page
+                        (e.g. Home &gt; Products &gt; Furniture)</td>
+                </tr>
+                <tr>
+                    <td colspan="1" rowspan="1">menu.xsl</td>
+                    <td colspan="1" rowspan="1">The menu at the left of the pages (in the
+                        default publication, for example)</td>
+                </tr>
+                <tr>
+                    <td colspan="1" rowspan="1">tabs.xsl</td>
+                    <td colspan="1" rowspan="1">The tabs at the top of the page (in the
+                        default publication, they are the highest levels of nav on the
+                        site)</td>
+                </tr>
+                <tr>
+                    <td colspan="1" rowspan="1">search.xsl</td>
+                    <td colspan="1" rowspan="1">The search box on the site</td>
+                </tr>
+            </table>
+            
+            <p>There are others, but these will do for now. You can check out what the
+                originals are in
+                /usr/local/tomcat/webapps/lenya/lenya/xslt/navigation/. It
+                requires some understanding XSLT, which is again beyond the scope of this
+                article.
+                <a href="http://www.w3schools.com/xsl/default.asp">W3Schools</a>
+                has a nice place to learn XSLT quickly.</p>
+            
+            <p>We're going to take a look at the sitetree structure to find out what you're
+                capable of knowing about an item in the navigation of the site, then do a quick
+                example of how to create your own menu.</p>
+            
+        </section>
+<section id="understanding_the_site_tree">
+<title>Understanding
+        the site tree</title>
+        
+        <p>The site tree is the place where all the "nodes", or pages in your publication are
+            stored, preserving the hierarchy. The XML file can be found by going to the
+            content/authoring/ directory in the default publication and viewing the
+            sitetree.xml file. Let's take a look at a chunk:</p>
+        
+        <source xml:space="preserve">
+            &lt;site&gt;
+                &lt;node id="index"&gt;
+                    &lt;label xml:lang="en"&gt;Home&lt;/label&gt;
+                    &lt;label xml:lang="de"&gt;Home&lt;/label&gt;
+                &lt;/node&gt;
+            
+                &lt;node id="tutorial"&gt;
+                    &lt;label xml:lang="en"&gt;Tutorial&lt;/label&gt;
+                    &lt;label xml:lang="de"&gt;Tutorial&lt;/label&gt;
+            
+                        &lt;node id="new_doctype"&gt;
+                            &lt;label xml:lang="en"&gt;Create new doctype&lt;/label&gt;
+                        &lt;/node&gt;
+                &lt;/node&gt;
+            &lt;/site&gt;
+        </source>
+        
+        <p>The above tells us that each page is characterized by a &lt;node&gt; tag. Each
+            &lt;node&gt; tag has an "id" attribute, which is the name of the document. So, if
+            this publication's address were http://www.someplace.com/, then the ID for
+            the second node would make the address to page
+            http://www.someplace.com/tutorial.html.</p>
+        
+        <p>Each node has an inner element called &lt;label&gt;. The label tag's contents are
+            the navigation title for the page. It's the link to the page that you see in menu of
+            the site. The xml:lang attribute signifies the language for this label, and as
+            you can see, this site has multiple supported languages: "en" for English, and
+            "de" for German.</p>
+        
+        <p>Nodes can be inside other nodes. In the example above, the "new_doctype" node is
+            inside the "tutorial" node. This means that the "tutorial" page is a parent of the
+            "new_doctype" page, so they fall underneath each other like so:</p>
+        
+        <source xml:space="preserve"> 
+            1. Home 
+            2. Tutorial 
+                a. Create new doctype
+        </source>
+        
+        <p>Order is also important - the order of the nodes in the sitetree file is the order in
+            which the pages are displayed in the hierarchy of the site.</p>
+        
+        </section>
+<section id="the_nav_namespace">
+<title>The nav:
+        namespace</title>
+        
+        <p>An XML namespace was created for users to grab these nodes with the appropriate
+            information. So, for example, you can reference a node in your XSL using
+            nav:node. Once you reference the node, you can reference it's label too:
+            nav:label. There's some other items you can reference when you are pointing at a
+            specific node:</p>
+        
+        <table>
+            <tr>
+                <td colspan="1" rowspan="1">@href</td>
+                <td colspan="1" rowspan="1">The location of the page relative to where you
+                    are currently in the site</td>
+            </tr>
+            
+            <tr>
+                <td colspan="1" rowspan="1">@current</td>
+                <td colspan="1" rowspan="1">A true or false value is possible to determine
+                    whether or not the page you are on is the node you are referencing</td>
+            </tr>
+            <tr>
+                <td colspan="1" rowspan="1">@visibleinnav</td>
+                <td colspan="1" rowspan="1">Another true/false value given if the page had
+                    been labeled as visible in the navigation</td>
+                
+            </tr>
+        </table>
+        
+        <p>Hiding navigation items can be helpful for situations like form
+            submission/confirmation pages. You don't want the user to go to that page right
+            away from within the site's menu, so you hide it, letting the programming of the
+            form's input redirect the user to that page instead. Other examples abound.</p>
+        
+        </section>
+<section id="Using_your_new-found_knowledge">
+<title>Using your
+        new-found knowledge</title>
+        
+        <p>Let's try putting together a simple menu.xsl file that creates our own simple
+            markup. The contents are below:</p>
+        
+        <source xml:space="preserve">
+            &lt;?xml version="1.0" encoding="UTF-8" ?&gt;
+            
+            &lt;xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:nav="http://apache.org/cocoon/lenya/navigation/1.0"
+                xmlns="http://www.w3.org/1999/xhtml"
+                exclude-result-prefixes="nav"&gt;
+            
+            &lt;xsl:template match="nav:site"&gt;
+            
+                &lt;ul&gt;
+            
+                &lt;!-- loop through all top-level items and return as list items --&gt;
+                &lt;xsl:for-each select="/*/nav:node[@visibleinnav = 'true']"&gt;
+                    &lt;xsl:when test="@current = 'true'"&gt;
+                        &lt;li class="current"&gt;&lt;a href="{@href}"&gt;&lt;xsl:apply-templates select="nav:label"/&gt;&lt;/a&gt;&lt;/li&gt;
+                    &lt;/xsl:when&gt;
+                    &lt;xsl:otherwise&gt;
+                        &lt;li&gt;&lt;a href="{@href}"&gt;&lt;xsl:apply-templates select="nav:label"/&gt;&lt;/a&gt;&lt;/li&gt;
+                    &lt;/xsl:otherwise&gt;
+                &lt;/xsl:for-each&gt;
+            
+                &lt;/ul&gt;
+            &lt;/xsl:template&gt;
+            
+            &lt;xsl:template match="nav:label"&gt;
+                &lt;xsl:value-of select="."/&gt;
+            &lt;/xsl:template&gt;
+            
+            &lt;/xsl:stylesheet&gt;
+        </source>
+        
+        <p>OK, so let's dissect this one. You always start with your XML prologue and
+            stylesheet tags (notice how the root stylesheet tag references the nav
+            namespace?). Then, one template is created to match the &lt;site&gt; tag -
+            that's the root tag that wraps around all the &lt;node&gt; tags in our
+            sitetree.xml file.</p>
+        
+        <p>We open up the unordered list, and then we'll just loop through the top-level
+            navigation items on the site. The '/*/nav:node' part of the for-each loop steps
+            down into the site tag that you just matched (/*), and then through the nodes
+            underneath the site tag (/nav:node). Note that this is only the top level nodes,
+            not all the parents and children! Read up on
+            <a href="http://www.w3schools.com/xsl/default.asp">XSLT</a> and
+            <a href="http://www.w3schools.com/xpath/default.asp">XPath</a> to
+            better understand how this notation works.</p>
+        
+        <p>For each top-level item, we test to see that node happens to be the page we are
+            looking at right now (@current = 'true'). If it is, then we open up our list tag and
+            assign it the class of "current". Your CSS can then be created to give some special
+            styling to that list item.</p>
+        
+        <p>Once the list item is created, we need the link. The address for the link tag is
+            gathered from our handy @href. The text for the link will be the label of the node.
+            So, we call out another template shown at the bottom of our example menu.xsl file
+            where it basically just grabs the value of the contents inside the &lt;label&gt;
+            tags in the sitetree.xml file. We close the the link and the list items.</p>
+        
+        <p>Of course, if this isn't the page we are on, then we do the same thing but don't add in
+            our special class. Simple, no?</p>
+        
+        </section>
+<section id="give_it_a_try">
+<title>Give it a try</title>
+        
+        <p>You now pretty much have the basics for putting together your own custom
+            navigation. There are those that feel our methods for generating the menus are
+            incorrect and that we should grab the nodes that we need in one fell swoop instead of
+            looping through each one, but this was the only method we could find where wewould
+            achieve the coding standards we wanted. Go experiment and have fun!</p>
+        </section>
+    </body>
+</document>

Added: lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221903597.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221903597.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221903597.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221903597.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>5. Custom Navigation in Lenya</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/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/fddd7000-8730-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="1195221903597" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221882667"/>
 <CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910786809" version="2"/>
 <CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910770970"/>
 <CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781622759" version="1"/>

Added: lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.1195221902726.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.1195221902726.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.1195221902726.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.1195221902726.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id: index.xml 55543 2004-10-26 00:14:59Z gregor $ --><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+
+<document>
+  <header>
+    <title>Part 6a: mod_proxy and Lenya</title>
+  </header>
+    <body>
+        <p>We had mentioned that we were going to do articles on usecases and doctypes, but as we were
+            reconfiguring the newest version of Lenya (1.2.4 as of this writing) to be
+            installed under the ROOT context of Tomcat, we were again interested in going back
+            and fixing up our mod_proxy configurations so that the following would
+            happen:</p>
+        
+        <ul>
+            <li>You can access the authoring environment with
+                http://lenya.client.com/</li>
+            <li>Any login requests to and subsequent usages of the authoring environment
+                are redirected to SSL for better security (no real certificate needed,
+                since just using it on inside)</li>
+            <li>Each publication is a directory under one virtualhost for
+                http://www.client.com/, unless a new domain name or sub-domain name was
+                needed, like http://publication.client.com/, where a separate
+                virtualhost would be created pointing to that one publication</li>
+            <li>A need for SSL pages on http://www.client.com/ (like form
+                submissions)</li>
+        </ul>
+        
+        <p>It seemed like a lot to ask for, and we wasn't sure how to go about getting it done.
+            Lucky for us (or so we thought), Lenya's documentation has a
+            <a href="http://wiki.apache.org/lenya/HowToModProxy">page on
+                mod_proxy</a> for a very similar configuration. As always, however,
+            making sense of the documentation was harder than the actual configuration.
+            Here's our attempt at explaining just how to get the above setup working.</p>
+        
+        <section id="getting_lenya_installed_under_the_ROOT_context">
+<title>
+            Getting Lenya installed under the ROOT context</title>
+            
+            <p>So, we were trying to make things a little cleaner for ourself and having Lenya be
+                the only web application installed under Tomcat. To do this, you'll have to
+                change a couple things in your local.build.properies file before building
+                Lenya (see
+                <a href="installing_lenya.html"> installing Lenya</a> for more
+                information):</p>
+            
+            <ol>
+                <li>Change the container from Jetty to Tomcat (new to
+                    1.2.4)
+                    #web.app.server=Jettyweb.app.server=Tomcat</li>
+                <li>Change the tomcat.webapps.dir line to the
+                    following:tomcat.webapps.dir=${tomcat.home.dir}/webapps/ROOT</li>
+                <li>Change the tomcat.cache.dir line to the
+                    following:tomcat.cache.dir=${tomcat.home.dir}/work/Catalina/localhost</li>
+            </ol>
+            
+            <p>While the last line may seem strange, our thinking here was that since we are only
+                using Tomcat for Lenya, if we ever reset Lenya, then we'll just clean out the
+                whole work directory before starting Tomcat again.</p>
+            
+            <p>Then install as always using ./build.sh. You'll have a shiny new
+                installation under the ROOT context, where you can now access Lenya with
+                http://lenya.client.com:8080/ (notice there's no 'lenya' at the end of
+                the URL now).</p>
+            
+        </section>
+<section id="a_caveat_on_SSL">
+<title>A caveat on SSL</title>
+        
+        <p>Yes, we know, there's always a caveat. Well, one thing the mod_proxy document
+            doesn't mention is that you can't have two different domains or sub-domains with
+            SSL ports opened on the same Apache instance and using the same IP address. For
+            example, if we want to host http://lenya.client.com/ and
+            http://www.client.com/ on the same Apache instance and they both have the same
+            IP address (this is Name-based Virtual Hosting in Apache), you would think you
+            could do this:</p>
+        
+        <source xml:space="preserve">
+            NameVirtualHost 192.168.1.100:80
+            
+            &lt;VirtualHost 192.168.1.100:80&gt;
+                ServerName lenya.client.com
+                # rest of configuration goes here
+            &lt;/VirtualHost&gt;
+            
+            &lt;VirtualHost 192.168.1.100:443&gt;
+                ServerName lenya.client.com
+                # rest of configuration goes here
+            &lt;/VirtualHost&gt;
+            
+            &lt;VirtualHost 192.168.1.100:80&gt;
+                ServerName www.client.com
+                # rest of configuration goes here
+            &lt;/VirtualHost&gt;
+            
+            &lt;VirtualHost 192.168.1.100:443&gt;
+                ServerName www.client.com
+                # rest of configuration goes here
+            &lt;/VirtualHost&gt;
+        </source>
+        
+        <p>But in fact, you can't. The explanation for it is
+            <a href="http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html#vhosts2">
+                in Apache's documentation</a>. The way around this would be to either get
+            another IP address for www.client.com, or assign another port to
+            www.client.com's SSL connection (instead of using the default 443). So, in this
+            case, we are going to be using another IP address. To be perfectly honest, we are
+            actually going to split the authoring and live servers on to two physical
+            machines, but setting it up this way on one server using one Apache instance is
+            good enough for demonstration purposes.</p>
+        
+        </section>
+<section id="authoring_environment">
+<title>Authoring
+        environment</title>
+        
+        <p>So, for this first part, we want to be able to go to http://lenya.client.com/ and get
+            the first page of Lenya, where we can choose the publication we need to edit. Here's
+            what we have (it's nearly idential to the mod_proxy how-to document on Lenya's
+            website):</p>
+        
+        <source xml:space="preserve">
+            NameVirtualHost 192.168.1.100:80
+            
+            &lt;VirtualHost 192.168.1.100:80&gt;
+                ServerName lenya.client.com
+                ServerAlias lenya
+                ProxyRequests Off
+                RewriteEngine On
+                RewriteLog logs/lenya.client.com.rewrite.log
+                RewriteLogLevel 0
+                RewriteRule ^/([^/\.]+)$ $1/ [R]
+                RewriteRule ^/([^/\.]+)/$ http://lenya.client.com/$1/authoring/index.html [R,L]
+                RewriteCond %{QUERY_STRING} lenya\.usecase=login(.*)
+                RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
+                RewriteRule ^/(.*) http://lenya.client.com:8080/$1 [P,L]
+                ProxyPassReverse / http://lenya.client.com:8080/
+            &lt;/VirtualHost&gt;
+            
+            &lt;VirtualHost 192.168.1.100:443&gt;
+                ServerName lenya.client.com
+                ServerAlias lenya
+                ProxyRequests Off
+                RewriteEngine On
+                RewriteLog logs/ssl.lenya.client.com.rewrite.log
+                RewriteLogLevel 0
+                RewriteRule ^/([^/\.]+)$ $1/ [R]
+                RewriteRule ^/([^/\.]+)/$ http://lenya.client.com/$1/authoring/index.html [R,L]
+                RewriteRule ^/(.*) http://%{SERVER_NAME}:8080/$1 [P,L]
+                ProxyPassReverse / http://lenya.client.com:8080/
+            &lt;/VirtualHost&gt;
+        </source>
+        
+        <p>Let's step through this quickly. We setup our name-based virtual host for the IP
+            address assigned to lenya.client.com:</p>
+        
+        <source xml:space="preserve"> NameVirtualHost 192.168.1.100:80
+        </source>
+        
+        <p>In the first virtual host (the non-SSL one on port 80), we give it a name of
+            lenya.client.com, keep proxy requests off (so that it's only a reverse proxy,
+            not a forwarding one), and then turn on the rewriting engine to enable to rewrite
+            URLs. We also setup a log for the rewrites, but since the log level is 0, it won't
+            actually log anything.</p>
+        
+        <p>The first group of RewriteRules are for convenience's sake, really. They match
+            everything after but up to the first forward slash that doesn't have a dot in it. In
+            other words, it's trying to match a directory, like this:</p>
+        <source xml:space="preserve"> http://lenya.client.com/default
+        </source>
+        
+        <p>If it matches, it resends it as
+            http://lenya.client.com/default/authoring/index.html, meaning that it
+            goes through the whole rigamarole of matching again inside the VirtualHost.
+            Well, whenever you access the authoring environment for the first time, Lenya
+            checks to see if there's a session of you being logged in. Since there probably
+            isn't, it forwards you an address where "lenya.usecase=login"
+            something-or-another is appended to it. And that's where the second group of
+            Rewrites comes in. See the RewriteCond? It checks to see if the query string of the
+            URL has that pattern. If it does, it send it off to the SSL portion (see the https?).
+            The rest of it gets sent back to the reverse proxy, where the content is grabbed
+            from port 8080 where Tomcat is installed.</p>
+        
+        <p>In the VirtualHost section for SSL on lenya.client.com, it's pretty much exactly
+            the same. If you try to hit the SSL port with just a directory, like so:</p>
+        
+        <source xml:space="preserve"> https://lenya.client.com/default
+            
+        </source>
+        
+        <p>It rewrites the URL as
+            http://lenya.client.com/default/authoring/index.html. Here, again, it
+            goes back to the first VirtualHost, and if you aren't logged in, it eventually
+            takes you back to the SSL portion of the site to login. Otherwise, it matches
+            everything and sends it through the reverse proxy on port 8080. So, once you login
+            through SSL, you stay in SSL for all your editing.</p>
+        
+        </section>
+<section id="next_part">
+<title>Next part</title>
+        <p>This article turned out to be quite long, so the next time around, which should be
+            very shortly, we will post the second half on configuring the live server
+            mod_proxy config.
+        </p>
+        </section>
+    </body>
+    </document>

Added: lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221902726.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221902726.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221902726.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.meta.1195221902726.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>6a. Mod Proxy and Lenya</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/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.rcml
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.rcml?rev=595691&r1=595690&r2=595691&view=diff
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-11dc-ae46-9e7b5d14892d/en.rcml (original)
+++ lenya/sandbox/pubs/docu/content/authoring/ff0240f0-8730-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="1195221902726" version="3"/>
+<CheckOut identity="lenya" session="fde084c0-944b-11dc-8f2e-e6c0ff9903ab" time="1195221881903"/>
 <CheckIn backup="true" identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910798186" version="2"/>
 <CheckOut identity="lenya" session="1f12dc80-8860-11dc-ba66-cfbbb816bd0d" time="1193910769340"/>
 <CheckIn backup="true" identity="lenya" session="60798970-8730-11dc-ae46-9e7b5d14892d" time="1193781634049" version="1"/>

Added: lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en (added)
+++ lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en Fri Nov 16 07:11:58 2007
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<properties  xmlns="http://apache.org/lenya/propertiesdocument/1.0">
+<property name="forrest.contrib" value="http://forrest.apache.org/contrib.html" />
+<property name="kupu" value="http://kupu.oscom.org" />
+<property name="forrest.install" value="http://forrest.apache.org/docs/your-project.html#installing" />
+<property name="lenya.archive.devel" value="http://mail-archives.apache.org/mod_mbox/lenya-dev/" />
+<property name="w3c" value="http://www.w3c.org/" />
+<property name="w3c.xslt" value="http://www.w3c.org/TR/xslt/" />
+<property name="nightly.builds" value="http://svn.apache.org/snapshots/lenya/" />
+<property name="lenya.demo" value="http://lenya.zones.apache.org:8888/" />
+<property name="forrest.build" value="http://forrest.apache.org/build.html" />
+<property name="issues.open.bugs.enhancement" value="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Lenya&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=short_desc&amp;type0-0-0=notsubstring&amp;value0-0-0=%5BPatch%5D&amp;field0-0-1=noop&amp;type0-0-1=noop&amp;value0-0-1=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time" />
+<property name="pdf" value="http://forrest.apache.org/docs_0_80/faq.html#pdf_images" />
+<property name="webdav" value="http://www.webdav.org/" />
+<property name="oscom" value="http://oscom.org" />
+<property name="lenya-zone" value="http://lenya.zones.apache.org" />
+<property name="apachecon" value="http://apachecon.com/" />
+<property name="asl" value="http://www.apache.org/licenses/" />
+<property name="lenya" value="http://wiki.apache.org/lenya/" />
+<property name="MetaStylesheets" value="http://wiki.apache.org/lenya/MetaStylesheets" />
+<property name="cvs.asf" value="http://svn.apache.org/" />
+<property name="releases" value="http://www.apache.org/dyn/closer.cgi/lenya/" />
+<property name="cocoon.2.1.features" value="http://cocoon.apache.org/2.1/features.html" />
+<property name="voting" value="http://www.apache.org/foundation/voting.html" />
+<property name="issues" value="http://issues.apache.org/bugzilla/" />
+<property name="cocoon.2.1" value="http://cocoon.apache.org/2.1/" />
+<property name="lenya.archive.user" value="http://mail-archives.apache.org/mod_mbox/lenya-user/" />
+<property name="opensource.org" value="http://www.opensource.org/" />
+<property name="how-it-works" value="http://www.apache.org/foundation/how-it-works.html" />
+<property name="wyona" value="http://wyona.com" />
+<property name="cadaver" value="http://www.webdav.org/cadaver/" />
+<property name="lenya.dist" value="http://www.apache.org/dyn/closer.cgi/lenya" />
+<property name="cocoon.howto" value="http://cocoon.apache.org/2.1/howto/" />
+<property name="nzz" value="http://www.nzz.ch" />
+<property name="svn" value="http://www.apache.org/dev/version-control.html#https-svn" />
+<property name="websiteUpdate" value="http://wiki.apache.org/cocoon/../cocoon/CocoonWebsiteUpdate" />
+<property name="wyona.org" value="http://wyona.org" />
+<property name="w3c.xml" value="http://www.w3c.org/XML/" />
+<property name="cocoon.howto.bugzilla" value="http://cocoon.apache.org/2.1/howto/bugzilla.html" />
+<property name="asf" value="http://www.apache.org/" />
+<property name="tomcat5" value="http://jakarta.apache.org/site/binindex.cgi#tomcat-5.0" />
+<property name="java.endorsedmechanism" value="http://java.sun.com/j2se/1.4.2/docs/guide/standards/index.html" />
+<property name="cocoon" value="http://wiki.apache.org/cocoon/" />
+<property name="forrest.committed" value="http://forrest.apache.org/committed.html" />
+<property name="forrest.apache.org" value="http://forrest.apache.org/" />
+<property name="mirror" value="http://cocoon.apache.org/mirror.cgi" />
+<property name="jetty" value="http://jetty.mortbay.org/jetty/" />
+<property name="wiki" value="http://wiki.apache.org/" />
+<property name="issues.list" value="http://issues.apache.org/bugzilla/buglist.cgi?" />
+<property name="cocoon.howto.patch" value="http://cocoon.apache.org/2.1/howto/howto-patch.html" />
+<property name="subversion" value="http://subversion.tigris.org/" />
+<property name="java" value="http://java.sun.com/j2se/1.4.2/download.html" />
+<property name="tomcat5.classloader" value="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/class-loader-howto.html" />
+<property name="bxe" value="http://bxe.oscom.org" />
+<property name="issues.open.patches" value="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Lenya&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=short_desc&amp;type0-0-0=substring&amp;value0-0-0=%5BPatch%5D&amp;field0-0-1=noop&amp;type0-0-1=noop&amp;value0-0-1=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time" />
+<property name="issue.add" value="http://issues.apache.org/bugzilla/enter_bug.cgi?reporter=&amp;product=Lenya&amp;version=Current+CVS&amp;component=core&amp;rep_platform=Other&amp;op_sys=other&amp;priority=Other&amp;bug_severity=Enhancement&amp;bug_status=NEW&amp;assigned_to=&amp;cc=&amp;bug_file_loc=&amp;short_desc=%5BPatch%5D&amp;comment=&amp;maketemplate=Remember+values+as+bookmarkable+template&amp;form_name=enter_bug" />
+<property name="tomcat5.setup" value="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/setup.html" />
+<property name="FAQ" value="http://wiki.apache.org/lenya/FAQ" />
+</properties>
\ No newline at end of file

Added: lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en.1195221909769.bak
URL: http://svn.apache.org/viewvc/lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en.1195221909769.bak?rev=595691&view=auto
==============================================================================
--- lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en.1195221909769.bak (added)
+++ lenya/sandbox/pubs/docu/content/authoring/ff7e2f30-944b-11dc-8f2e-e6c0ff9903ab/en.1195221909769.bak Fri Nov 16 07:11:58 2007
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<properties xmlns="http://apache.org/lenya/propertiesdocument/1.0">
+<property name="foo" value="bar"/>
+<property name="forrest.contrib" value="http://forrest.apache.org/contrib.html"/>
+<property name="kupu" value="http://kupu.oscom.org"/>
+<property name="forrest.install" value="http://forrest.apache.org/docs/your-project.html#installing"/>
+<property name="lenya.archive.devel" value="http://mail-archives.apache.org/mod_mbox/lenya-dev/"/>
+<property name="w3c" value="http://www.w3c.org/"/>
+<property name="w3c.xslt" value="http://www.w3c.org/TR/xslt/"/>
+<property name="nightly.builds" value="http://svn.apache.org/snapshots/lenya/"/>
+<property name="lenya.demo" value="http://lenya.zones.apache.org:8888/"/>
+<property name="forrest.build" value="http://forrest.apache.org/build.html"/>
+<property name="issues.open.bugs.enhancement" value="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Lenya&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=short_desc&amp;type0-0-0=notsubstring&amp;value0-0-0=%5BPatch%5D&amp;field0-0-1=noop&amp;type0-0-1=noop&amp;value0-0-1=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time"/>
+<property name="pdf" value="http://forrest.apache.org/docs_0_80/faq.html#pdf_images"/>
+<property name="webdav" value="http://www.webdav.org/"/>
+<property name="oscom" value="http://oscom.org"/>
+<property name="lenya-zone" value="http://lenya.zones.apache.org"/>
+<property name="apachecon" value="http://apachecon.com/"/>
+<property name="asl" value="http://www.apache.org/licenses/"/>
+<property name="lenya" value="http://wiki.apache.org/lenya/"/>
+<property name="MetaStylesheets" value="http://wiki.apache.org/lenya/MetaStylesheets"/>
+<property name="cvs.asf" value="http://svn.apache.org/"/>
+<property name="releases" value="http://www.apache.org/dyn/closer.cgi/lenya/"/>
+<property name="cocoon.2.1.features" value="http://cocoon.apache.org/2.1/features.html"/>
+<property name="voting" value="http://www.apache.org/foundation/voting.html"/>
+<property name="issues" value="http://issues.apache.org/bugzilla/"/>
+<property name="cocoon.2.1" value="http://cocoon.apache.org/2.1/"/>
+<property name="lenya.archive.user" value="http://mail-archives.apache.org/mod_mbox/lenya-user/"/>
+<property name="opensource.org" value="http://www.opensource.org/"/>
+<property name="how-it-works" value="http://www.apache.org/foundation/how-it-works.html"/>
+<property name="wyona" value="http://wyona.com"/>
+<property name="cadaver" value="http://www.webdav.org/cadaver/"/>
+<property name="lenya.dist" value="http://www.apache.org/dyn/closer.cgi/lenya"/>
+<property name="cocoon.howto" value="http://cocoon.apache.org/2.1/howto/"/>
+<property name="nzz" value="http://www.nzz.ch"/>
+<property name="svn" value="http://www.apache.org/dev/version-control.html#https-svn"/>
+<property name="websiteUpdate" value="http://wiki.apache.org/cocoon/../cocoon/CocoonWebsiteUpdate"/>
+<property name="wyona.org" value="http://wyona.org"/>
+<property name="w3c.xml" value="http://www.w3c.org/XML/"/>
+<property name="cocoon.howto.bugzilla" value="http://cocoon.apache.org/2.1/howto/bugzilla.html"/>
+<property name="asf" value="http://www.apache.org/"/>
+<property name="tomcat5" value="http://jakarta.apache.org/site/binindex.cgi#tomcat-5.0"/>
+<property name="java.endorsedmechanism" value="http://java.sun.com/j2se/1.4.2/docs/guide/standards/index.html"/>
+<property name="cocoon" value="http://wiki.apache.org/cocoon/"/>
+<property name="forrest.committed" value="http://forrest.apache.org/committed.html"/>
+<property name="forrest.apache.org" value="http://forrest.apache.org/"/>
+<property name="mirror" value="http://cocoon.apache.org/mirror.cgi"/>
+<property name="jetty" value="http://jetty.mortbay.org/jetty/"/>
+<property name="wiki" value="http://wiki.apache.org/"/>
+<property name="issues.list" value="http://issues.apache.org/bugzilla/buglist.cgi?"/>
+<property name="cocoon.howto.patch" value="http://cocoon.apache.org/2.1/howto/howto-patch.html"/>
+<property name="subversion" value="http://subversion.tigris.org/"/>
+<property name="java" value="http://java.sun.com/j2se/1.4.2/download.html"/>
+<property name="tomcat5.classloader" value="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/class-loader-howto.html"/>
+<property name="bxe" value="http://bxe.oscom.org"/>
+<property name="issues.open.patches" value="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Lenya&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=short_desc&amp;type0-0-0=substring&amp;value0-0-0=%5BPatch%5D&amp;field0-0-1=noop&amp;type0-0-1=noop&amp;value0-0-1=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time"/>
+<property name="issue.add" value="http://issues.apache.org/bugzilla/enter_bug.cgi?reporter=&amp;product=Lenya&amp;version=Current+CVS&amp;component=core&amp;rep_platform=Other&amp;op_sys=other&amp;priority=Other&amp;bug_severity=Enhancement&amp;bug_status=NEW&amp;assigned_to=&amp;cc=&amp;bug_file_loc=&amp;short_desc=%5BPatch%5D&amp;comment=&amp;maketemplate=Remember+values+as+bookmarkable+template&amp;form_name=enter_bug"/>
+<property name="tomcat5.setup" value="http://jakarta.apache.org/tomcat/tomcat-5.0-doc/setup.html"/>
+<property name="FAQ" value="http://wiki.apache.org/lenya/FAQ"/>
+</properties>



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