You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by th...@apache.org on 2007/10/25 23:46:22 UTC

svn commit: r588368 [2/6] - in /lenya/site: ./ docs/2_0_x/ docs/2_0_x/concepts/ docs/2_0_x/installation/ docs/2_0_x/reference/ docs/2_0_x/reference/modules/ docs/2_0_x/reference/protocols/ docs/2_0_x/reference/publication/ docs/2_0_x/reference/publicat...

Added: lenya/site/docs/2_0_x/tutorials/usecase/part1.html
URL: http://svn.apache.org/viewvc/lenya/site/docs/2_0_x/tutorials/usecase/part1.html?rev=588368&view=auto
==============================================================================
--- lenya/site/docs/2_0_x/tutorials/usecase/part1.html (added)
+++ lenya/site/docs/2_0_x/tutorials/usecase/part1.html Thu Oct 25 14:46:15 2007
@@ -0,0 +1,948 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.9-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Implementing a Usecase, Part 1: Prerequisites</title>
+<link type="text/css" href="../../../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../../../skin/profile.css" rel="stylesheet">
+<script src="../../../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://lenya.apache.org/">lenya</a><script src="../../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href=""><img class="logoImage" alt="Lenya" src="../../../../images/apache-lenya-light.png" title=""></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href=""></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lenya.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with ');" size="25" name="q" id="query" type="text" value="Search the site with ">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="unselected" href="../../../../index.html">Project</a>
+</li>
+<li>
+<a class="unselected" href="../../../../docs/index.html">Developer</a>
+</li>
+<li>
+<a class="unselected" href="../../../../community/index.html">Community</a>
+</li>
+<li class="current">
+<a class="selected" href="../../../../docs/2_0_x/index.html">Version 2.0</a>
+</li>
+<li>
+<a class="unselected" href="../../../../docs/1_2_x/index.html">Version 1.2</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Version 2.0</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/faq.html">FAQs</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3', '../../../../skin/')" id="menu_1.1.3Title" class="menutitle">Installation</div>
+<div id="menu_1.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/installation/index.html">Download</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/installation/subversion.html">Subversion Access</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/installation/source_version.html">Install Instructions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.4', '../../../../skin/')" id="menu_selected_1.1.4Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Tutorials</div>
+<div id="menu_selected_1.1.4" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/newpublication/index.html">Create a Publication</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.2', '../../../../skin/')" id="menu_1.1.4.2Title" class="menutitle">Create a Resource Type</div>
+<div id="menu_1.1.4.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part1.html">Declaration</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part2.html">Creation</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part3.html">Presentation</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part4.html">Editing (One-Form)</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part5.html">Editing (BXE)</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.4.3', '../../../../skin/')" id="menu_selected_1.1.4.3Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Implement a Usecase</div>
+<div id="menu_selected_1.1.4.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menupage">
+<div class="menupagetitle">Prerequisites</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/usecase/part2.html">The Usecase</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/setupide/index.html">Setting up Eclipse</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.5', '../../../../skin/')" id="menu_1.1.4.5Title" class="menutitle">Proxying</div>
+<div id="menu_1.1.4.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/proxy.html">mod_proxy</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/mod_proxy_ajp.html">mod_proxy_ajp</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/bestpractises.html">Best Practises</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/production.html">Production Checklist</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/tests.html">Writing Tests</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5', '../../../../skin/')" id="menu_1.1.5Title" class="menutitle">Concepts</div>
+<div id="menu_1.1.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/publication.html">Publication</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/documents.html">Working with Documents</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/authoring_live.html">Authoring and Live mode</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/wysiwyg.html">WYSIWYG</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6', '../../../../skin/')" id="menu_1.1.6Title" class="menutitle">Technical Reference</div>
+<div id="menu_1.1.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/lenya-sitemaps.html">Overview of Lenya Sitemaps</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/repository/index.html">Repository</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/ac.html">Access Control Specification</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.4', '../../../../skin/')" id="menu_1.1.6.4Title" class="menutitle">Usecase Framework</div>
+<div id="menu_1.1.6.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/usecase-framework/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/usecase-framework/abstractusecase.html">AbstractUsecase</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.5', '../../../../skin/')" id="menu_1.1.6.5Title" class="menutitle">Publications</div>
+<div id="menu_1.1.6.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/publication/configuration.html">Configuration</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/publication/publication-templating/index.html">Publication Templating</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/resource-types.html">Resource Types</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/modules/index.html">Modules</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/metadata.html">Meta data</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.9', '../../../../skin/')" id="menu_1.1.6.9Title" class="menutitle">Protocols</div>
+<div id="menu_1.1.6.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/lenya.html">lenya Protocol</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/lenya-document.html">lenya-document Protocol</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/site.html">site Protocol</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/lenyadoc.html">lenyadoc Protocol</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.10', '../../../../skin/')" id="menu_1.1.6.10Title" class="menutitle">URLs and Links</div>
+<div id="menu_1.1.6.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/urlMapping.html">URL Mapping</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/link-management.html">Link Management</a>
+</div>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../apidocs/2.0/index.html">Core API</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8', '../../../../skin/')" id="menu_1.1.8Title" class="menutitle">Core Modules</div>
+<div id="menu_1.1.8" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.8.1', '../../../../skin/')" id="menu_1.1.8.1Title" class="menutitle">ac</div>
+<div id="menu_1.1.8.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/ac/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/ac/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.2', '../../../../skin/')" id="menu_1.1.8.2Title" class="menutitle">acusecases</div>
+<div id="menu_1.1.8.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/acusecases/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/acusecases/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.3', '../../../../skin/')" id="menu_1.1.8.3Title" class="menutitle">administration</div>
+<div id="menu_1.1.8.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/administration/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/administration/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.4', '../../../../skin/')" id="menu_1.1.8.4Title" class="menutitle">cache</div>
+<div id="menu_1.1.8.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/cache/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/cache/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.5', '../../../../skin/')" id="menu_1.1.8.5Title" class="menutitle">janitor</div>
+<div id="menu_1.1.8.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/janitor/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/janitor/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.6', '../../../../skin/')" id="menu_1.1.8.6Title" class="menutitle">ldap</div>
+<div id="menu_1.1.8.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/ldap/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/ldap/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.7', '../../../../skin/')" id="menu_1.1.8.7Title" class="menutitle">linking</div>
+<div id="menu_1.1.8.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/linking/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/linking/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.8', '../../../../skin/')" id="menu_1.1.8.8Title" class="menutitle">observation</div>
+<div id="menu_1.1.8.8" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/observation/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/observation/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.9', '../../../../skin/')" id="menu_1.1.8.9Title" class="menutitle">properties</div>
+<div id="menu_1.1.8.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/properties/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/properties/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.10', '../../../../skin/')" id="menu_1.1.8.10Title" class="menutitle">sitemanagement</div>
+<div id="menu_1.1.8.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/sitemanagement/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/sitemanagement/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.11', '../../../../skin/')" id="menu_1.1.8.11Title" class="menutitle">templating</div>
+<div id="menu_1.1.8.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/templating/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/templating/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.12', '../../../../skin/')" id="menu_1.1.8.12Title" class="menutitle">usecase</div>
+<div id="menu_1.1.8.12" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/usecase/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/usecase/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.13', '../../../../skin/')" id="menu_1.1.8.13Title" class="menutitle">workflow</div>
+<div id="menu_1.1.8.13" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/workflow/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/workflow/index.html">API</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9', '../../../../skin/')" id="menu_1.1.9Title" class="menutitle">Standard Modules</div>
+<div id="menu_1.1.9" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.9.1', '../../../../skin/')" id="menu_1.1.9.1Title" class="menutitle">blog</div>
+<div id="menu_1.1.9.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/blog/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/blog/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.2', '../../../../skin/')" id="menu_1.1.9.2Title" class="menutitle">bxe</div>
+<div id="menu_1.1.9.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/bxe/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/bxe/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.3', '../../../../skin/')" id="menu_1.1.9.3Title" class="menutitle">cforms</div>
+<div id="menu_1.1.9.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/cforms/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/cforms/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.4', '../../../../skin/')" id="menu_1.1.9.4Title" class="menutitle">collection</div>
+<div id="menu_1.1.9.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/collection/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/collection/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.5', '../../../../skin/')" id="menu_1.1.9.5Title" class="menutitle">contactform</div>
+<div id="menu_1.1.9.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/contactform/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/contactform/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.6', '../../../../skin/')" id="menu_1.1.9.6Title" class="menutitle">development</div>
+<div id="menu_1.1.9.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/development/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/development/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.7', '../../../../skin/')" id="menu_1.1.9.7Title" class="menutitle">editors</div>
+<div id="menu_1.1.9.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/editors/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/editors/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.8', '../../../../skin/')" id="menu_1.1.9.8Title" class="menutitle">export</div>
+<div id="menu_1.1.9.8" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/export/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/export/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.9', '../../../../skin/')" id="menu_1.1.9.9Title" class="menutitle">fckeditor</div>
+<div id="menu_1.1.9.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/fckeditor/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/fckeditor/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.10', '../../../../skin/')" id="menu_1.1.9.10Title" class="menutitle">kupu</div>
+<div id="menu_1.1.9.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/kupu/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/kupu/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.11', '../../../../skin/')" id="menu_1.1.9.11Title" class="menutitle">languageselector</div>
+<div id="menu_1.1.9.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/languageselector/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/languageselector/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.12', '../../../../skin/')" id="menu_1.1.9.12Title" class="menutitle">lenyadoc</div>
+<div id="menu_1.1.9.12" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/lenyadoc/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/lenyadoc/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.13', '../../../../skin/')" id="menu_1.1.9.13Title" class="menutitle">linkcheck</div>
+<div id="menu_1.1.9.13" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/linkcheck/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/linkcheck/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.14', '../../../../skin/')" id="menu_1.1.9.14Title" class="menutitle">links</div>
+<div id="menu_1.1.9.14" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/links/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/links/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.15', '../../../../skin/')" id="menu_1.1.9.15Title" class="menutitle">lucene</div>
+<div id="menu_1.1.9.15" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/lucene/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/lucene/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.16', '../../../../skin/')" id="menu_1.1.9.16Title" class="menutitle">migration</div>
+<div id="menu_1.1.9.16" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/migration/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/migration/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.17', '../../../../skin/')" id="menu_1.1.9.17Title" class="menutitle">neutron</div>
+<div id="menu_1.1.9.17" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/neutron/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/neutron/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.18', '../../../../skin/')" id="menu_1.1.9.18Title" class="menutitle">news</div>
+<div id="menu_1.1.9.18" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/news/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/news/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.19', '../../../../skin/')" id="menu_1.1.9.19Title" class="menutitle">notification</div>
+<div id="menu_1.1.9.19" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/notification/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/notification/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.20', '../../../../skin/')" id="menu_1.1.9.20Title" class="menutitle">opendocument</div>
+<div id="menu_1.1.9.20" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/opendocument/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/opendocument/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.21', '../../../../skin/')" id="menu_1.1.9.21Title" class="menutitle">prettyprinting</div>
+<div id="menu_1.1.9.21" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/prettyprinting/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/prettyprinting/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.22', '../../../../skin/')" id="menu_1.1.9.22Title" class="menutitle">profiling</div>
+<div id="menu_1.1.9.22" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/profiling/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/profiling/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.23', '../../../../skin/')" id="menu_1.1.9.23Title" class="menutitle">resource</div>
+<div id="menu_1.1.9.23" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/resource/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/resource/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.24', '../../../../skin/')" id="menu_1.1.9.24Title" class="menutitle">simplesite</div>
+<div id="menu_1.1.9.24" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/simplesite/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/simplesite/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.25', '../../../../skin/')" id="menu_1.1.9.25Title" class="menutitle">sitetree</div>
+<div id="menu_1.1.9.25" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/sitetree/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/sitetree/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.26', '../../../../skin/')" id="menu_1.1.9.26Title" class="menutitle">sourcerepository</div>
+<div id="menu_1.1.9.26" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/sourcerepository/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/sourcerepository/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.27', '../../../../skin/')" id="menu_1.1.9.27Title" class="menutitle">svg</div>
+<div id="menu_1.1.9.27" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/svg/roundedcorners.html">Rounded Corners</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/modules/svg/resizeimages.html">Resizing Images</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/svg/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.28', '../../../../skin/')" id="menu_1.1.9.28Title" class="menutitle">tinymce</div>
+<div id="menu_1.1.9.28" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/tinymce/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/tinymce/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.29', '../../../../skin/')" id="menu_1.1.9.29Title" class="menutitle">usecasedocument</div>
+<div id="menu_1.1.9.29" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/usecasedocument/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/usecasedocument/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.30', '../../../../skin/')" id="menu_1.1.9.30Title" class="menutitle">webdav</div>
+<div id="menu_1.1.9.30" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/webdav/index.html">Getting started</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/modules/webdav/monitoring.html">Monitoring</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/modules/webdav/webdav.html">WebDAV Servers</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/webdav/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.31', '../../../../skin/')" id="menu_1.1.9.31Title" class="menutitle">xhtml</div>
+<div id="menu_1.1.9.31" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/xhtml/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/xhtml/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.32', '../../../../skin/')" id="menu_1.1.9.32Title" class="menutitle">xopus</div>
+<div id="menu_1.1.9.32" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/xopus/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/xopus/index.html">API</a>
+</div>
+</div>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2">
+<a href="http://wiki.apache.org/lenya/MeetingZurich2007"><img border="0" title="Meeting Zurich 2007" alt="Meeting Zurich 2007 - logo" src="../../../../images/apache-lenya-meeting-zurich-2007_small.png" style="width: 150px;height: 39px;"></a><a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
+</div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="part1.pdf"><img alt="PDF -icon" src="../../../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Implementing a Usecase, Part 1: Prerequisites</h1>
+<div id="front-matter">
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Introduction">Introduction</a>
+</li>
+<li>
+<a href="#Add+the+%22Knows%22+Relation+to+the+Person+Resource+Type">Add the "Knows" Relation to the Person Resource Type</a>
+</li>
+<li>
+<a href="#Implement+the+Person+Document+Wrapper">Implement the Person Document Wrapper</a>
+</li>
+</ul>
+</div>
+</div>
+    
+    
+<a name="N1000E"></a><a name="Introduction"></a>
+<h2 class="h3">Introduction</h2>
+<div class="section">
+<p>
+        In this tutorial we'll implement a simple user interaction scenario using
+        the <a href="../../../../docs/2_0_x/reference/usecase-framework/index.html">usecase framework</a>.
+        The implementation will be based on the <em>person</em> resource type module described
+        in the tutorial <a href="../../../../docs/2_0_x/tutorials/resourcetype/part1.html">Creating a Resource Type</a>.
+        We'll extend the resource type to include "knows" relationships. Our usecase will
+        allow the connect a person to other people.
+      </p>
+<p>
+        To accomplish this task, we will
+      </p>
+<ul>
+        
+<li>Extend the person schema to support <span class="codefrag">&lt;foaf:knows/&gt;</span> elements,</li>
+        
+<li>Implement a wrapper class to manage person documents,</li>
+        
+<li>Add a usecase handler class to provide the functionality to connect people,</li>
+        
+<li>
+          Add a <a href="http://cocoon.apache.org/2.1/userdocs/flow/jxtemplate.html">JX template</a>
+          which acts as the view for the usecase,
+        </li>
+        
+<li>Add a menu item to trigger the usecase, and</li>
+        
+<li>Specify who is allowed to invoke the usecase.</li>
+      
+</ul>
+</div>
+    
+    
+<a name="N10042"></a><a name="Add+the+%22Knows%22+Relation+to+the+Person+Resource+Type"></a>
+<h2 class="h3">Add the "Knows" Relation to the Person Resource Type</h2>
+<div class="section">
+<p>
+        First, we'll add support for the <span class="codefrag">&lt;foaf:knows/&gt;</span> element to the
+        Relax NG schema, which is located at <span class="codefrag">$MODULE_HOME/resources/schemas/foaf.rng</span>.
+        We allow to specify the known person using an <span class="codefrag">rdf:resource</span> attribute, which
+        can hold an internal <span class="codefrag">lenya-document:</span> URI.
+      </p>
+<pre class="code">&lt;grammar ...&gt;
+  &lt;start&gt;
+    &lt;element name="rdf:RDF"&gt;
+      &lt;element name="foaf:Person"&gt;
+        ...
+        
+        &lt;zeroOrMore&gt;
+          &lt;element name="foaf:knows"&gt;
+            &lt;attribute name="rdf:resource"&gt;
+              &lt;data type="anyURI"/&gt;
+            &lt;/attribute&gt;
+          &lt;/element&gt;
+        &lt;/zeroOrMore&gt;
+        
+      &lt;/element&gt;
+    &lt;/element&gt;
+  &lt;/start&gt;
+&lt;/grammar&gt;</pre>
+<p>
+        Now we need to extend our presentation layer to consider the "knows" relations.
+        We use CInclude to lookup the person's name based on the <span class="codefrag">foaf:knows</span>
+        element. This requires two steps: an XSLT preprocessing to add the CInclude element to
+        the <span class="codefrag">foaf:knows</span> element, and the actual CInclude transformation.
+        In the module sitemap, which is located at <span class="codefrag">$MODULE_HOME/sitemap.xmap</span>,
+        add these steps to the presentation pipeline:
+      </p>
+<pre class="code">&lt;!-- {format}.xml/{pubId}/{area}/{uuid}/{language} --&gt;
+&lt;map:match pattern="*.*/*/*/*/*"&gt;
+  &lt;map:generate src="lenya-document:{5},lang={6}{link:rev}"/&gt;
+  &lt;map:transform src="fallback://lenya/modules/person/xslt/knows2include.xsl"/&gt;
+  &lt;map:transform type="cinclude"/&gt;
+  &lt;map:transform src="fallback://lenya/modules/person/xslt/foaf2{1}.xsl"&gt;
+  ...
+&lt;/map:match&gt;</pre>
+<p>
+        Now we add the XSLT which adds the CInclude statements. It is located at
+        <span class="codefrag">$MODULE_HOME/xslt/knows2include.xsl</span>. The <span class="codefrag">src</span>
+        attribute of the <span class="codefrag">&lt;ci:include/&gt;</span> element is set to the
+        <span class="codefrag">rdf:resource</span> attribute, which holds a <span class="codefrag">lenya-document:</span> URI. 
+      </p>
+<pre class="code">&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:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:foaf="http://xmlns.com/foaf/0.1/"
+  xmlns:ci="http://apache.org/cocoon/include/1.0"
+  &gt;
+  
+  &lt;xsl:template match="foaf:knows"&gt;
+    &lt;xsl:copy&gt;
+      &lt;xsl:copy-of select="@*"/&gt;
+      &lt;ci:include src="{@rdf:resource}"/&gt;
+    &lt;/xsl:copy&gt;
+  &lt;/xsl:template&gt;
+  
+  &lt;xsl:template match="@*|node()" priority="-1"&gt;
+    &lt;xsl:copy&gt;
+      &lt;xsl:apply-templates select="@*|node()"/&gt;
+    &lt;/xsl:copy&gt;
+  &lt;/xsl:template&gt;
+  
+&lt;/xsl:stylesheet&gt;</pre>
+<p>
+        Finally, we have to include the known people in the output. We add a table row to
+        the <span class="codefrag">$MODULE_HOME/xslt/foaf2xhtml.xsl</span> stylesheet:
+      </p>
+<pre class="code">&lt;tr&gt;
+  &lt;th&gt;Knows:&lt;/th&gt;
+  &lt;td&gt;
+    &lt;xsl:for-each select="foaf:knows"&gt;
+      &lt;a href="{@rdf:resource}"&gt;
+        &lt;xsl:value-of select="rdf:RDF/foaf:Person/foaf:givenname"/&gt;
+        &lt;xsl:text&gt; &lt;/xsl:text&gt;
+        &lt;xsl:value-of select="rdf:RDF/foaf:Person/foaf:family_name"/&gt;
+      &lt;/a&gt;
+      &lt;br/&gt;
+    &lt;/xsl:for-each&gt;
+  &lt;/td&gt;
+&lt;/tr&gt;</pre>
+<p>
+        To test this functionality, you can add two person documents to your
+        publication, edit one of them using the one-form editor, and add the
+        <span class="codefrag">&lt;foaf:knows/&gt;</span> element, pointing to the other
+        person document, e.g.:
+      </p>
+<pre class="code">&lt;foaf:knows rdf:resource="lenya-document:5e13b150-6855-11dc-8b37-f5f12a4217db"/&gt;</pre>
+</div>
+    
+    
+<a name="N10096"></a><a name="Implement+the+Person+Document+Wrapper"></a>
+<h2 class="h3">Implement the Person Document Wrapper</h2>
+<div class="section">
+<p>
+        In Lenya projects, the wrapper pattern (also known as adapter pattern) has proven
+        useful to simplify the handling of XML documents. A wrapper object provides
+        access to a certain object, in our case a Lenya document, to client objects. It can
+        be used to add a layer of abstraction. In our case we use the wrapper to abstract
+        from the XML content and provide the functionality of adding "knows" relations
+        between person documents.
+      </p>
+<p>
+        The following code snippet contains some methods to illustrate the functionality
+        of the Person class. For the full source code, check out the person module from the
+        Subversion repository.
+      </p>
+<p>
+        We pass an <span class="codefrag">org.apache.lenya.cms.publication.Document</span>
+        object to the constructor which stores the XML content describing the person.
+        The <span class="codefrag">getName()</span> function returns the full name, i.e. the concatenation
+        of the given name and the family name. This method will be used to show the person's
+        name on the usecase view page. The <span class="codefrag">load()</span> and <span class="codefrag">save()</span> methods
+        act as the persistence facilities of the person object.
+      </p>
+<pre class="code">public class Person extends AbstractLogEnabled {
+        
+    ...
+
+    public Person(Document doc) {
+        ...
+    }
+
+    public Person[] getKnownPeople() {
+        load();
+        Collection persons = this.knownPersons.values();
+        return (Person[]) persons.toArray(new Person[persons.size()]);
+    }
+
+    public void addKnownPerson(Person person) {
+        load();
+        this.knownPersons.put(person.getDocument().getUUID(), person);
+        save();
+    }
+    
+    public String getName() {
+        load();
+        return this.givenName + " " + this.familyName;
+    }
+
+    ...
+
+}</pre>
+<p>
+        Now we can go on with the <a href="../../../../docs/2_0_x/tutorials/usecase/part2.html">actual usecase</a>.
+      </p>
+</div>
+    
+  
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2002-2007 <a href="http://www.apache.org/licenses/LICENSE-2.0">The Apache Software Foundation.</a>
+</div>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A0docs/2_0_x/tutorials/usecase/part1.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: lenya/site/docs/2_0_x/tutorials/usecase/part1.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/site/docs/2_0_x/tutorials/usecase/part1.pdf
URL: http://svn.apache.org/viewvc/lenya/site/docs/2_0_x/tutorials/usecase/part1.pdf?rev=588368&view=auto
==============================================================================
Binary file - no diff available.

Propchange: lenya/site/docs/2_0_x/tutorials/usecase/part1.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Added: lenya/site/docs/2_0_x/tutorials/usecase/part2.html
URL: http://svn.apache.org/viewvc/lenya/site/docs/2_0_x/tutorials/usecase/part2.html?rev=588368&view=auto
==============================================================================
--- lenya/site/docs/2_0_x/tutorials/usecase/part2.html (added)
+++ lenya/site/docs/2_0_x/tutorials/usecase/part2.html Thu Oct 25 14:46:15 2007
@@ -0,0 +1,1036 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.9-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Implementing a Usecase, Part 2: The Usecase</title>
+<link type="text/css" href="../../../../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../../../../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../../../../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../../../../skin/profile.css" rel="stylesheet">
+<script src="../../../../skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="../../../../skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="../../../../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../../../../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://lenya.apache.org/">lenya</a><script src="../../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href=""><img class="logoImage" alt="Lenya" src="../../../../images/apache-lenya-light.png" title=""></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href=""></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lenya.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with ');" size="25" name="q" id="query" type="text" value="Search the site with ">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="unselected" href="../../../../index.html">Project</a>
+</li>
+<li>
+<a class="unselected" href="../../../../docs/index.html">Developer</a>
+</li>
+<li>
+<a class="unselected" href="../../../../community/index.html">Community</a>
+</li>
+<li class="current">
+<a class="selected" href="../../../../docs/2_0_x/index.html">Version 2.0</a>
+</li>
+<li>
+<a class="unselected" href="../../../../docs/1_2_x/index.html">Version 1.2</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../../../../skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Version 2.0</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/index.html">Index</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/faq.html">FAQs</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3', '../../../../skin/')" id="menu_1.1.3Title" class="menutitle">Installation</div>
+<div id="menu_1.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/installation/index.html">Download</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/installation/subversion.html">Subversion Access</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/installation/source_version.html">Install Instructions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.4', '../../../../skin/')" id="menu_selected_1.1.4Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Tutorials</div>
+<div id="menu_selected_1.1.4" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/newpublication/index.html">Create a Publication</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.2', '../../../../skin/')" id="menu_1.1.4.2Title" class="menutitle">Create a Resource Type</div>
+<div id="menu_1.1.4.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part1.html">Declaration</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part2.html">Creation</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part3.html">Presentation</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part4.html">Editing (One-Form)</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/resourcetype/part5.html">Editing (BXE)</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.4.3', '../../../../skin/')" id="menu_selected_1.1.4.3Title" class="menutitle" style="background-image: url('../../../../skin/images/chapter_open.gif');">Implement a Usecase</div>
+<div id="menu_selected_1.1.4.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/usecase/part1.html">Prerequisites</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">The Usecase</div>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/setupide/index.html">Setting up Eclipse</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.4.5', '../../../../skin/')" id="menu_1.1.4.5Title" class="menutitle">Proxying</div>
+<div id="menu_1.1.4.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/proxy.html">mod_proxy</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/mod_proxy_ajp.html">mod_proxy_ajp</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/bestpractises.html">Best Practises</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/production.html">Production Checklist</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/tutorials/tests.html">Writing Tests</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5', '../../../../skin/')" id="menu_1.1.5Title" class="menutitle">Concepts</div>
+<div id="menu_1.1.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/publication.html">Publication</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/documents.html">Working with Documents</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/authoring_live.html">Authoring and Live mode</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/concepts/wysiwyg.html">WYSIWYG</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6', '../../../../skin/')" id="menu_1.1.6Title" class="menutitle">Technical Reference</div>
+<div id="menu_1.1.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/lenya-sitemaps.html">Overview of Lenya Sitemaps</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/repository/index.html">Repository</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/ac.html">Access Control Specification</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.4', '../../../../skin/')" id="menu_1.1.6.4Title" class="menutitle">Usecase Framework</div>
+<div id="menu_1.1.6.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/usecase-framework/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/usecase-framework/abstractusecase.html">AbstractUsecase</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.5', '../../../../skin/')" id="menu_1.1.6.5Title" class="menutitle">Publications</div>
+<div id="menu_1.1.6.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/publication/configuration.html">Configuration</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/publication/publication-templating/index.html">Publication Templating</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/resource-types.html">Resource Types</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/modules/index.html">Modules</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/metadata.html">Meta data</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.9', '../../../../skin/')" id="menu_1.1.6.9Title" class="menutitle">Protocols</div>
+<div id="menu_1.1.6.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/lenya.html">lenya Protocol</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/lenya-document.html">lenya-document Protocol</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/site.html">site Protocol</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/protocols/lenyadoc.html">lenyadoc Protocol</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6.10', '../../../../skin/')" id="menu_1.1.6.10Title" class="menutitle">URLs and Links</div>
+<div id="menu_1.1.6.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/urlMapping.html">URL Mapping</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/2_0_x/reference/link-management.html">Link Management</a>
+</div>
+</div>
+</div>
+<div class="menuitem">
+<a href="../../../../apidocs/2.0/index.html">Core API</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8', '../../../../skin/')" id="menu_1.1.8Title" class="menutitle">Core Modules</div>
+<div id="menu_1.1.8" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.8.1', '../../../../skin/')" id="menu_1.1.8.1Title" class="menutitle">ac</div>
+<div id="menu_1.1.8.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/ac/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/ac/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.2', '../../../../skin/')" id="menu_1.1.8.2Title" class="menutitle">acusecases</div>
+<div id="menu_1.1.8.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/acusecases/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/acusecases/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.3', '../../../../skin/')" id="menu_1.1.8.3Title" class="menutitle">administration</div>
+<div id="menu_1.1.8.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/administration/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/administration/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.4', '../../../../skin/')" id="menu_1.1.8.4Title" class="menutitle">cache</div>
+<div id="menu_1.1.8.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/cache/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/cache/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.5', '../../../../skin/')" id="menu_1.1.8.5Title" class="menutitle">janitor</div>
+<div id="menu_1.1.8.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/janitor/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/janitor/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.6', '../../../../skin/')" id="menu_1.1.8.6Title" class="menutitle">ldap</div>
+<div id="menu_1.1.8.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/ldap/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/ldap/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.7', '../../../../skin/')" id="menu_1.1.8.7Title" class="menutitle">linking</div>
+<div id="menu_1.1.8.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/linking/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/linking/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.8', '../../../../skin/')" id="menu_1.1.8.8Title" class="menutitle">observation</div>
+<div id="menu_1.1.8.8" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/observation/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/observation/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.9', '../../../../skin/')" id="menu_1.1.8.9Title" class="menutitle">properties</div>
+<div id="menu_1.1.8.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/properties/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/properties/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.10', '../../../../skin/')" id="menu_1.1.8.10Title" class="menutitle">sitemanagement</div>
+<div id="menu_1.1.8.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/sitemanagement/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/sitemanagement/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.11', '../../../../skin/')" id="menu_1.1.8.11Title" class="menutitle">templating</div>
+<div id="menu_1.1.8.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/templating/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/templating/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.12', '../../../../skin/')" id="menu_1.1.8.12Title" class="menutitle">usecase</div>
+<div id="menu_1.1.8.12" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/usecase/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/usecase/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.8.13', '../../../../skin/')" id="menu_1.1.8.13Title" class="menutitle">workflow</div>
+<div id="menu_1.1.8.13" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/workflow/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/workflow/index.html">API</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9', '../../../../skin/')" id="menu_1.1.9Title" class="menutitle">Standard Modules</div>
+<div id="menu_1.1.9" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.9.1', '../../../../skin/')" id="menu_1.1.9.1Title" class="menutitle">blog</div>
+<div id="menu_1.1.9.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/blog/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/blog/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.2', '../../../../skin/')" id="menu_1.1.9.2Title" class="menutitle">bxe</div>
+<div id="menu_1.1.9.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/bxe/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/bxe/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.3', '../../../../skin/')" id="menu_1.1.9.3Title" class="menutitle">cforms</div>
+<div id="menu_1.1.9.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/cforms/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/cforms/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.4', '../../../../skin/')" id="menu_1.1.9.4Title" class="menutitle">collection</div>
+<div id="menu_1.1.9.4" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/collection/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/collection/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.5', '../../../../skin/')" id="menu_1.1.9.5Title" class="menutitle">contactform</div>
+<div id="menu_1.1.9.5" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/contactform/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/contactform/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.6', '../../../../skin/')" id="menu_1.1.9.6Title" class="menutitle">development</div>
+<div id="menu_1.1.9.6" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/development/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/development/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.7', '../../../../skin/')" id="menu_1.1.9.7Title" class="menutitle">editors</div>
+<div id="menu_1.1.9.7" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/editors/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/editors/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.8', '../../../../skin/')" id="menu_1.1.9.8Title" class="menutitle">export</div>
+<div id="menu_1.1.9.8" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/export/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/export/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.9', '../../../../skin/')" id="menu_1.1.9.9Title" class="menutitle">fckeditor</div>
+<div id="menu_1.1.9.9" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/fckeditor/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/fckeditor/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.10', '../../../../skin/')" id="menu_1.1.9.10Title" class="menutitle">kupu</div>
+<div id="menu_1.1.9.10" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/kupu/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/kupu/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.11', '../../../../skin/')" id="menu_1.1.9.11Title" class="menutitle">languageselector</div>
+<div id="menu_1.1.9.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/languageselector/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/languageselector/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.12', '../../../../skin/')" id="menu_1.1.9.12Title" class="menutitle">lenyadoc</div>
+<div id="menu_1.1.9.12" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/lenyadoc/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/lenyadoc/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.13', '../../../../skin/')" id="menu_1.1.9.13Title" class="menutitle">linkcheck</div>
+<div id="menu_1.1.9.13" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/linkcheck/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/linkcheck/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.14', '../../../../skin/')" id="menu_1.1.9.14Title" class="menutitle">links</div>
+<div id="menu_1.1.9.14" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/links/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/links/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.15', '../../../../skin/')" id="menu_1.1.9.15Title" class="menutitle">lucene</div>
+<div id="menu_1.1.9.15" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/lucene/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/lucene/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.16', '../../../../skin/')" id="menu_1.1.9.16Title" class="menutitle">migration</div>
+<div id="menu_1.1.9.16" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/migration/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/migration/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.17', '../../../../skin/')" id="menu_1.1.9.17Title" class="menutitle">neutron</div>
+<div id="menu_1.1.9.17" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/neutron/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/neutron/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.18', '../../../../skin/')" id="menu_1.1.9.18Title" class="menutitle">news</div>
+<div id="menu_1.1.9.18" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/news/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/news/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.19', '../../../../skin/')" id="menu_1.1.9.19Title" class="menutitle">notification</div>
+<div id="menu_1.1.9.19" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/notification/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/notification/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.20', '../../../../skin/')" id="menu_1.1.9.20Title" class="menutitle">opendocument</div>
+<div id="menu_1.1.9.20" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/opendocument/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/opendocument/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.21', '../../../../skin/')" id="menu_1.1.9.21Title" class="menutitle">prettyprinting</div>
+<div id="menu_1.1.9.21" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/prettyprinting/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/prettyprinting/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.22', '../../../../skin/')" id="menu_1.1.9.22Title" class="menutitle">profiling</div>
+<div id="menu_1.1.9.22" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/profiling/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/profiling/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.23', '../../../../skin/')" id="menu_1.1.9.23Title" class="menutitle">resource</div>
+<div id="menu_1.1.9.23" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/resource/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/resource/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.24', '../../../../skin/')" id="menu_1.1.9.24Title" class="menutitle">simplesite</div>
+<div id="menu_1.1.9.24" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/simplesite/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/simplesite/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.25', '../../../../skin/')" id="menu_1.1.9.25Title" class="menutitle">sitetree</div>
+<div id="menu_1.1.9.25" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/sitetree/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/sitetree/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.26', '../../../../skin/')" id="menu_1.1.9.26Title" class="menutitle">sourcerepository</div>
+<div id="menu_1.1.9.26" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/sourcerepository/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/sourcerepository/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.27', '../../../../skin/')" id="menu_1.1.9.27Title" class="menutitle">svg</div>
+<div id="menu_1.1.9.27" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/svg/roundedcorners.html">Rounded Corners</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/modules/svg/resizeimages.html">Resizing Images</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/svg/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.28', '../../../../skin/')" id="menu_1.1.9.28Title" class="menutitle">tinymce</div>
+<div id="menu_1.1.9.28" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/tinymce/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/tinymce/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.29', '../../../../skin/')" id="menu_1.1.9.29Title" class="menutitle">usecasedocument</div>
+<div id="menu_1.1.9.29" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/usecasedocument/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/usecasedocument/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.30', '../../../../skin/')" id="menu_1.1.9.30Title" class="menutitle">webdav</div>
+<div id="menu_1.1.9.30" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/webdav/index.html">Getting started</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/modules/webdav/monitoring.html">Monitoring</a>
+</div>
+<div class="menuitem">
+<a href="../../../../docs/modules/webdav/webdav.html">WebDAV Servers</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/webdav/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.31', '../../../../skin/')" id="menu_1.1.9.31Title" class="menutitle">xhtml</div>
+<div id="menu_1.1.9.31" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/xhtml/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/xhtml/index.html">API</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.9.32', '../../../../skin/')" id="menu_1.1.9.32Title" class="menutitle">xopus</div>
+<div id="menu_1.1.9.32" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../../docs/modules/xopus/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../../../../../apidocs/2.0/modules/xopus/index.html">API</a>
+</div>
+</div>
+</div>
+</div>
+<div id="credit"></div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../../../../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2">
+<a href="http://wiki.apache.org/lenya/MeetingZurich2007"><img border="0" title="Meeting Zurich 2007" alt="Meeting Zurich 2007 - logo" src="../../../../images/apache-lenya-meeting-zurich-2007_small.png" style="width: 150px;height: 39px;"></a><a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
+</div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="part2.pdf"><img alt="PDF -icon" src="../../../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Implementing a Usecase, Part 2: The Usecase</h1>
+<div id="front-matter">
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#Declaring+the+Usecase">Declaring the Usecase</a>
+</li>
+<li>
+<a href="#Implementing+the+Usecase+Handler+Class">Implementing the Usecase Handler Class</a>
+</li>
+<li>
+<a href="#Implementing+the+View">Implementing the View</a>
+</li>
+<li>
+<a href="#Adding+the+Menu+Item">Adding the Menu Item</a>
+</li>
+<li>
+<a href="#Setting+the+Usecase+Permissions">Setting the Usecase Permissions</a>
+</li>
+<li>
+<a href="#What%27s+Next%3F">What's Next?</a>
+</li>
+</ul>
+</div>
+</div>
+      
+    
+<a name="N1000E"></a><a name="Declaring+the+Usecase"></a>
+<h2 class="h3">Declaring the Usecase</h2>
+<div class="section">
+<p>
+        Now we're ready to start working on the actual usecase. First, we tell Lenya about
+        the usecase. The usecase declaration is a patch file for <span class="codefrag">cocoon.xconf</span>.
+        It is located at <span class="codefrag">$MODULE_HOME/config/cocoon-xconf/usecase-addKnownPerson.xconf</span>.
+        It adds the <em>person.addKnownUsecase</em> usecase component instance if it doesn't
+        exist yet (determined by the <span class="codefrag">unless</span> attribute):
+      </p>
+<pre class="code">&lt;xconf xpath="/cocoon/usecases"
+  unless="/cocoon/usecases/component-instance[@name = 'person.addKnownPerson']"&gt;
+  
+  &lt;component-instance name="person.addKnownPerson" logger="lenya.modules.person"
+      class="org.apache.lenya.modules.person.usecases.AddKnownPerson"&gt;
+    &lt;view template="modules/person/usecases/addKnownPerson.jx"/&gt;
+  &lt;/component-instance&gt;
+  
+&lt;/xconf&gt;
+</pre>
+<p>
+        This usecase declaration specifies the usecase handler class (in our case
+        <span class="codefrag">AddKnownPerson</span>) and the JX template which acts as the view for
+        the usecase (<span class="codefrag">addKnownPerson.jx</span>). For a complete list of the generic
+        usecase configuration options, refer to the <a href="../../../../docs/2_0_x/reference/usecase-framework/abstractusecase.html">AbstractUsecase</a>
+        documentation.
+      </p>
+</div>
+    
+    
+<a name="N10035"></a><a name="Implementing+the+Usecase+Handler+Class"></a>
+<h2 class="h3">Implementing the Usecase Handler Class</h2>
+<div class="section">
+<p>
+        The usecase handler object receives user input and manipulates the business objects,
+        in our case the <span class="codefrag">Person</span> objects, accordingly. It has the following
+        responsibilities:
+      </p>
+<ul>
+        
+<li>Prepare data to be displayed on the view,</li>
+        
+<li>Validate user input and generate appropriate error messages, and</li>
+        
+<li>Manipulate the business objects.</li>
+      
+</ul>
+<p>
+        If you want to follow a strictly object-oriented approach, the usecase handler class
+        itself shouldn't contain any knowledge about the business logic. It belongs to the
+        controller part of the <acronym title="Model-View-Controller">MVC</acronym> pattern
+        (the other parts of the controller are the usecase sitemap and the flowscript).
+      </p>
+<p>
+        The following code snippet shows the usecase handler class.
+        At this point, we implement only the two most important methods:
+      </p>
+<ul>
+        
+<li>
+          
+<span class="codefrag">initParameters()</span> initializes the usecase parameters which are
+          used to communicate between the usecase handler and the view. In our case, it
+          compiles a list of <span class="codefrag">Person</span> objects, one for each document with the resource type
+          <em>person</em>.
+        </li>
+        
+<li>
+          
+<span class="codefrag">doExecute()</span> gets the <em>uuid</em> parameter from the view and adds
+          the corresponding <span class="codefrag">Person</span> object to the list of known people.
+        </li>
+      
+</ul>
+<pre class="code">public class AddKnownPerson extends DocumentUsecase {
+
+    protected void initParameters() {
+        super.initParameters();
+
+        Document doc = getSourceDocument();
+        Document[] allDocs = doc.area().getDocuments();
+
+        try {
+            Set peopleDocs = new HashSet();
+            for (int i = 0; i &lt; allDocs.length; i++) {
+                if (allDocs[i].getResourceType().getName().equals("person")) {
+                    Person person = new Person(allDocs[i]);
+                    peopleDocs.add(person);
+                }
+            }
+            setParameter("people", peopleDocs);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        String uuid = getParameterAsString("uuid");
+        Document doc = getSourceDocument();
+        Person person = new Person(doc);
+
+        Document knownDoc = doc.area().getDocument(uuid, doc.getLanguage());
+        Person knownPerson = new Person(knownDoc);
+
+        person.addKnownPerson(knownPerson);
+    }
+
+}</pre>
+</div>
+    
+    
+<a name="N10077"></a><a name="Implementing+the+View"></a>
+<h2 class="h3">Implementing the View</h2>
+<div class="section">
+<p>
+        We're using a JX template to implement the view. It allows us to generate XHTML
+        code using properties of Java objects which are passed as parameters from the usecase
+        handler object.
+      </p>
+<p>
+        The page contains a form, passing the <em>lenya.usecase</em> and <em>lenya.continuation</em>
+        parameters as hidden input fields. We choose POST as the form method because we want
+        to manipulate data on the server, avoiding that the user submits the form multiple times.
+        We generate a drop-down list containing an option for each person,
+        using the UUID as the <span class="codefrag">value</span> attribute of the <span class="codefrag">option</span> element.
+        Remember that the <em>people</em> parameter was set in the <span class="codefrag">initParameters()</span>
+        method of the usecase handler class.
+      </p>
+<pre class="code">&lt;page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" 
+           xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
+           xmlns="http://www.w3.org/1999/xhtml" 
+           xmlns:i18n="http://apache.org/cocoon/i18n/2.1" &gt;
+
+  &lt;page:title&gt;
+    &lt;i18n:text&gt;Add Known Person&lt;/i18n:text&gt;
+  &lt;/page:title&gt;
+  &lt;page:body&gt;
+    
+    &lt;jx:import uri="fallback://lenya/modules/usecase/templates/messages.jx"/&gt;
+    
+    &lt;form method="POST"&gt;
+      &lt;input type="hidden" name="lenya.usecase" value="${usecase.getName()}"/&gt;
+      &lt;input type="hidden" name="lenya.continuation" value="${continuation.id}"/&gt;
+      
+      &lt;p&gt;
+        &lt;i18n:text&gt;Select a person you know:&lt;/i18n:text&gt;
+      &lt;/p&gt;
+      &lt;p&gt;
+        &lt;select name="uuid"&gt;
+          &lt;jx:forEach var="person" items="${usecase.getParameter('people')}"&gt;
+            &lt;option value="${person.getDocument().getUUID()}"&gt;
+              &lt;jx:out value="${person.getName()}"/&gt;
+            &lt;/option&gt;
+          &lt;/jx:forEach&gt;
+        &lt;/select&gt;
+      &lt;/p&gt;
+  
+      &lt;p&gt;
+        &lt;input i18n:attr="value" name="submit" type="submit" value="Submit"/&gt;
+        &lt;i18n:text&gt; &lt;/i18n:text&gt;
+        &lt;input i18n:attr="value" name="cancel" type="submit" value="Cancel"/&gt;
+      &lt;/p&gt;
+      
+    &lt;/form&gt;
+  &lt;/page:body&gt;
+&lt;/page:page&gt;</pre>
+</div>
+    
+    
+<a name="N1009A"></a><a name="Adding+the+Menu+Item"></a>
+<h2 class="h3">Adding the Menu Item</h2>
+<div class="section">
+<p>
+        To be able to trigger the usecase, we have to add the corresponding menu item
+        to the menu of the person module, which is located at
+        <span class="codefrag">$MODULE_HOME/config/menu.xsp</span>. We add a menu block which shall be
+        visible only in the authoring area, right below the block containing the
+        editor menu items. The value of the <span class="codefrag">uc:usecase</span> attribute of the
+        <span class="codefrag">&lt;item/&gt;</span> element is the name of the usecase as specified
+        in the usecase declaration.
+      </p>
+<pre class="code">&lt;menu i18n:attr="name" name="Edit"&gt;
+  &lt;xsp:logic&gt;
+    try {
+        Object doc = &lt;input:get-attribute module="page-envelope"
+            as="object" name="document"/&gt;;
+        if (doc instanceof Document &amp;amp;&amp;amp; ((Document) doc).exists()) {
+            String doctype = &lt;input:get-attribute module="page-envelope"
+                as="string" name="document-type"/&gt;;
+            if ("person".equals(doctype)) {
+                &lt;block areas="authoring"&gt;
+                  &lt;item uc:usecase="bxe.edit" href="?"&gt;
+                    &lt;i18n:text&gt;With BXE&lt;/i18n:text&gt;
+                  &lt;/item&gt;
+                  &lt;item uc:usecase="editors.oneform" href="?"&gt;
+                    &lt;i18n:text&gt;With one Form&lt;/i18n:text&gt;
+                  &lt;/item&gt;
+                &lt;/block&gt;
+                &lt;block areas="authoring"&gt;
+                  &lt;item uc:usecase="person.addKnownPerson" href="?"&gt;
+                    &lt;i18n:text&gt;Add Known Person&lt;/i18n:text&gt;
+                  &lt;/item&gt;
+                &lt;/block&gt;
+            }
+        }
+    }
+    catch (Exception e) {
+        throw new ProcessingException("Error during menu generation: ", e);
+    }
+  &lt;/xsp:logic&gt;
+&lt;/menu&gt;</pre>
+</div>
+    
+    
+<a name="N100B1"></a><a name="Setting+the+Usecase+Permissions"></a>
+<h2 class="h3">Setting the Usecase Permissions</h2>
+<div class="section">
+<p>
+        Finally we have to specify who shall be able to execute the usecase.
+        To accomplish this, we have to add an entry to the usecase policies file of the
+        publication(s) which will use the person module. The file is located at
+        <span class="codefrag">$PUB_HOME/config/access-control/usecase-policies.xml</span>.
+        We allow everyone with the <em>admin</em> or <em>editor</em> role to
+        execute the usecase:
+      </p>
+<pre class="code">&lt;usecase id="person.addKnownPerson"&gt;
+  &lt;role id="admin" method="grant"/&gt;
+  &lt;role id="edit" method="grant"/&gt;
+&lt;/usecase&gt;</pre>
+<p>
+        Now you can deploy the changes by running the build process and restarting the
+        servlet engine. After that you should be able to connect people using the
+        "knows" relation.
+      </p>
+<div id="" style="text-align: center;">
+<img id="" class="figure" alt="Screenshot: Add Known Person usecase" src="../../../../images/live/usecase/screenshotAddKnownPerson.png"></div>
+</div>
+    
+    
+<a name="N100CF"></a><a name="What%27s+Next%3F"></a>
+<h2 class="h3">What's Next?</h2>
+<div class="section">
+<p>
+        There are some important steps which are missing from the example:
+      </p>
+<ul>
+        
+<li>
+          In <span class="codefrag">initParameters()</span>, you should exclude the person itself and
+          all people which she or he already knows. 
+        </li>
+        
+<li>
+          If you set the relation from person A to person B, it probably makes sense
+          to set the relation from B to A at the same time.
+        </li>
+        
+<li>
+          To avoid sending stack traces to the user, you should validate the <em>uuid</em>
+          parameter: Is it provided? Does it refer to an existing person document?
+          You can do this kind of validation in the <span class="codefrag">doCheckExecutionConditions()</span>
+          method - just call <span class="codefrag">addErrorMessage()</span> for each validation error.
+        </li>
+      
+</ul>
+</div>
+    
+  
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2002-2007 <a href="http://www.apache.org/licenses/LICENSE-2.0">The Apache Software Foundation.</a>
+</div>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A0docs/2_0_x/tutorials/usecase/part2.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: lenya/site/docs/2_0_x/tutorials/usecase/part2.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: lenya/site/docs/2_0_x/tutorials/usecase/part2.pdf
URL: http://svn.apache.org/viewvc/lenya/site/docs/2_0_x/tutorials/usecase/part2.pdf?rev=588368&view=auto
==============================================================================
Binary file - no diff available.

Propchange: lenya/site/docs/2_0_x/tutorials/usecase/part2.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/pdf

Modified: lenya/site/docs/modules/ac/index.html
URL: http://svn.apache.org/viewvc/lenya/site/docs/modules/ac/index.html?rev=588368&r1=588367&r2=588368&view=diff
==============================================================================
--- lenya/site/docs/modules/ac/index.html (original)
+++ lenya/site/docs/modules/ac/index.html Thu Oct 25 14:46:15 2007
@@ -151,11 +151,20 @@
 <a href="../../../docs/2_0_x/tutorials/resourcetype/part5.html">Editing (BXE)</a>
 </div>
 </div>
+<div onclick="SwitchMenu('menu_1.1.4.3', '../../../skin/')" id="menu_1.1.4.3Title" class="menutitle">Implement a Usecase</div>
+<div id="menu_1.1.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part1.html">Prerequisites</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part2.html">The Usecase</a>
+</div>
+</div>
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/setupide/index.html">Setting up Eclipse</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.4.4', '../../../skin/')" id="menu_1.1.4.4Title" class="menutitle">Proxying</div>
-<div id="menu_1.1.4.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.4.5', '../../../skin/')" id="menu_1.1.4.5Title" class="menutitle">Proxying</div>
+<div id="menu_1.1.4.5" class="menuitemgroup">
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/proxy.html">mod_proxy</a>
 </div>

Modified: lenya/site/docs/modules/acusecases/index.html
URL: http://svn.apache.org/viewvc/lenya/site/docs/modules/acusecases/index.html?rev=588368&r1=588367&r2=588368&view=diff
==============================================================================
--- lenya/site/docs/modules/acusecases/index.html (original)
+++ lenya/site/docs/modules/acusecases/index.html Thu Oct 25 14:46:15 2007
@@ -151,11 +151,20 @@
 <a href="../../../docs/2_0_x/tutorials/resourcetype/part5.html">Editing (BXE)</a>
 </div>
 </div>
+<div onclick="SwitchMenu('menu_1.1.4.3', '../../../skin/')" id="menu_1.1.4.3Title" class="menutitle">Implement a Usecase</div>
+<div id="menu_1.1.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part1.html">Prerequisites</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part2.html">The Usecase</a>
+</div>
+</div>
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/setupide/index.html">Setting up Eclipse</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.4.4', '../../../skin/')" id="menu_1.1.4.4Title" class="menutitle">Proxying</div>
-<div id="menu_1.1.4.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.4.5', '../../../skin/')" id="menu_1.1.4.5Title" class="menutitle">Proxying</div>
+<div id="menu_1.1.4.5" class="menuitemgroup">
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/proxy.html">mod_proxy</a>
 </div>

Modified: lenya/site/docs/modules/administration/index.html
URL: http://svn.apache.org/viewvc/lenya/site/docs/modules/administration/index.html?rev=588368&r1=588367&r2=588368&view=diff
==============================================================================
--- lenya/site/docs/modules/administration/index.html (original)
+++ lenya/site/docs/modules/administration/index.html Thu Oct 25 14:46:15 2007
@@ -151,11 +151,20 @@
 <a href="../../../docs/2_0_x/tutorials/resourcetype/part5.html">Editing (BXE)</a>
 </div>
 </div>
+<div onclick="SwitchMenu('menu_1.1.4.3', '../../../skin/')" id="menu_1.1.4.3Title" class="menutitle">Implement a Usecase</div>
+<div id="menu_1.1.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part1.html">Prerequisites</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part2.html">The Usecase</a>
+</div>
+</div>
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/setupide/index.html">Setting up Eclipse</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.4.4', '../../../skin/')" id="menu_1.1.4.4Title" class="menutitle">Proxying</div>
-<div id="menu_1.1.4.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.4.5', '../../../skin/')" id="menu_1.1.4.5Title" class="menutitle">Proxying</div>
+<div id="menu_1.1.4.5" class="menuitemgroup">
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/proxy.html">mod_proxy</a>
 </div>

Modified: lenya/site/docs/modules/blog/index.html
URL: http://svn.apache.org/viewvc/lenya/site/docs/modules/blog/index.html?rev=588368&r1=588367&r2=588368&view=diff
==============================================================================
--- lenya/site/docs/modules/blog/index.html (original)
+++ lenya/site/docs/modules/blog/index.html Thu Oct 25 14:46:15 2007
@@ -151,11 +151,20 @@
 <a href="../../../docs/2_0_x/tutorials/resourcetype/part5.html">Editing (BXE)</a>
 </div>
 </div>
+<div onclick="SwitchMenu('menu_1.1.4.3', '../../../skin/')" id="menu_1.1.4.3Title" class="menutitle">Implement a Usecase</div>
+<div id="menu_1.1.4.3" class="menuitemgroup">
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part1.html">Prerequisites</a>
+</div>
+<div class="menuitem">
+<a href="../../../docs/2_0_x/tutorials/usecase/part2.html">The Usecase</a>
+</div>
+</div>
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/setupide/index.html">Setting up Eclipse</a>
 </div>
-<div onclick="SwitchMenu('menu_1.1.4.4', '../../../skin/')" id="menu_1.1.4.4Title" class="menutitle">Proxying</div>
-<div id="menu_1.1.4.4" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.4.5', '../../../skin/')" id="menu_1.1.4.5Title" class="menutitle">Proxying</div>
+<div id="menu_1.1.4.5" class="menuitemgroup">
 <div class="menuitem">
 <a href="../../../docs/2_0_x/tutorials/proxy.html">mod_proxy</a>
 </div>



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