You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by gr...@apache.org on 2005/05/16 02:32:07 UTC
svn commit: r170289 [14/24] - in /lenya/site: ./ 1_2_x/
1_2_x/components/accesscontrol/ 1_2_x/components/asset-management/
1_2_x/components/authoring/ 1_2_x/components/deployment/
1_2_x/components/editors/ 1_2_x/components/layout/
1_2_x/components/link-management/ 1_2_x/components/metadata/
1_2_x/components/multilingual/ 1_2_x/components/publication/
1_2_x/components/repository/ 1_2_x/components/resource-types/
1_2_x/components/revisioncontrol/ 1_2_x/components/search/
1_2_x/components/sitemanagement/ 1_2_x/components/tasks/
1_2_x/components/uri-handling/ 1_2_x/components/workflow/ 1_2_x/how-to/
1_2_x/installation/ 1_2_x/misc/ 1_2_x/tutorial/ 1_4/ 1_4/concepts/
1_4/installation/ 1_4/reference/ 1_4/reference/publication-templating/
1_4/reference/usecase-framework/ community/
Added: lenya/site/1_2_x/how-to/cms_screens.html
URL: http://svn.apache.org/viewcvs/lenya/site/1_2_x/how-to/cms_screens.html?rev=170289&view=auto
==============================================================================
--- lenya/site/1_2_x/how-to/cms_screens.html (added)
+++ lenya/site/1_2_x/how-to/cms_screens.html Sun May 15 17:32:04 2005
@@ -0,0 +1,776 @@
+<!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.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>CMS Screens How-To</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> > <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 :');" value="Search the site with :" size="25" name="q" id="query" type="text">
+ <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+ |end search
+ +-->
+<!--+
+ |start Tabs
+ +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../1_4/index.html">Version 1.4</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../1_2_x/index.html">Version 1.2</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../community/index.html">Community</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" language="JavaScript"><!--
+ document.write("Published: " + document.lastModified);
+ // --></script>
+</div>
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+
+
+ </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 1.2</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../1_2_x/index.html">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.2', '../../skin/')" id="menu_1.1.2Title" class="menutitle">Installation</div>
+<div id="menu_1.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/installation/index.html">Download</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/installation/subversion.html">Subversion Access</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/installation/source_version.html">Install Instructions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3', '../../skin/')" id="menu_1.1.3Title" class="menutitle">Tutorial</div>
+<div id="menu_1.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/understanding_lenya.html">1. Understanding Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/installing_lenya.html">2. Installing Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/anatomy_of_the_pipeline.html">3. Anatomy of the Pipeline</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/editing_in_lenya.html">4. Editing in Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/custom_navigation.html">5. Custom Navigation in Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/mod_proxy_and_lenya.html">6a. Mod Proxy and Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/mod_proxy_and_lenya_continued.html">6b. Mod Proxy and Lenya</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');">How-To</div>
+<div id="menu_selected_1.1.4" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/faq.html">FAQ</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/new_publication.html">New Publication</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/deploy_publication.html">Deploy Publication</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/look_and_feel.html">Look and Feel</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/custom_resourcetype.html">Custom Resource Type</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/new_mime_type.html">Adding Mime Types</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/site_navigation.html">Site Navigation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/ldap_authentication.html">LDAP Authentication</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/cms_menus.html">CMS Menus</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">CMS Screens</div>
+<div class="menupageitemgroup">
+<div class="menupageitem">
+<a href="#File+Locations">File Locations</a>
+</div>
+<div class="menupageitem">
+<a href="#Sitemap+Usage">Sitemap Usage</a>
+</div>
+<div class="menupageitem">
+<a title="Writing a CMS screen" href="#Writing+a+CMS+screen">Writing a CMS scree...</a>
+</div>
+<div class="menupageitem">
+<a title="Cascading Stylesheets" href="#Cascading+Stylesheets">Cascading Styleshee...</a>
+</div>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/search.html">Search Publications</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/external_data.html">External Data</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5', '../../skin/')" id="menu_1.1.5Title" class="menutitle">Components</div>
+<div id="menu_1.1.5" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.5.1', '../../skin/')" id="menu_1.1.5.1Title" class="menutitle">Access Control</div>
+<div id="menu_1.1.5.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/terms.html">Basic Terms</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/accesscontrollers.html">Access Controllers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/accesscontrollerresolvers.html">Access Controller Resolvers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/authenticators.html">Authenticators</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/authorizers.html">Authorizers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/policymanagers.html">Policies and Policy Managers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/accreditablemanagers.html">Accreditable Managers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/ssl.html">SSL Encryption</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.2', '../../skin/')" id="menu_1.1.5.2Title" class="menutitle">Authoring</div>
+<div id="menu_1.1.5.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/authoring/adding-document-creator.html">Adding a new document creator</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/authoring/image-upload.html">Image Upload</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/authoring/openoffice.html">OpenOffice</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.3', '../../skin/')" id="menu_1.1.5.3Title" class="menutitle">Deployment</div>
+<div id="menu_1.1.5.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/deployment/proxying.html">Proxying</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.4', '../../skin/')" id="menu_1.1.5.4Title" class="menutitle">Editors</div>
+<div id="menu_1.1.5.4" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/htmlform.html">HTML Form Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/1form.html">HTML One Form Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/bxe.html">Bitflux Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/kupu.html">Kupu</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/xopus.html">Xopus</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.5', '../../skin/')" id="menu_1.1.5.5Title" class="menutitle">Layout</div>
+<div id="menu_1.1.5.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/navigation.html">Navigation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/xhtml-templating.html">XHTML templating</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/static-resources.html">Serving static resources</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/lenya-menubar.html">Lenya Menubar</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.6', '../../skin/')" id="menu_1.1.5.6Title" class="menutitle">Publication</div>
+<div id="menu_1.1.5.6" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/publication/pageenvelopemodule.html">PageEnvelopeModule</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/publication/siteTree.html">Site tree</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.7', '../../skin/')" id="menu_1.1.5.7Title" class="menutitle">Resource Types</div>
+<div id="menu_1.1.5.7" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/resource-types/resource-types.html">Resource Types</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.8', '../../skin/')" id="menu_1.1.5.8Title" class="menutitle">Revision Control</div>
+<div id="menu_1.1.5.8" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/revisioncontroller.html">Revision Controller</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/rcml.html">RCML</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/checkin.html">Check In</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/checkout.html">Check Out</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/version.html">Revisions</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/rollback.html">Rollback</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.9', '../../skin/')" id="menu_1.1.5.9Title" class="menutitle">Repository</div>
+<div id="menu_1.1.5.9" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/repository/webdav.html">WebDAV Servers</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.10', '../../skin/')" id="menu_1.1.5.10Title" class="menutitle">Search</div>
+<div id="menu_1.1.5.10" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/search/lucene.html">Searching with Lucene</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.11', '../../skin/')" id="menu_1.1.5.11Title" class="menutitle">URI Handling</div>
+<div id="menu_1.1.5.11" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/uri-handling/URIParametrizer.html">URI Parametrizer</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/uri-handling/standardURI.html">URI Scheme</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/uri-handling/usecases.html">Usecases</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.12', '../../skin/')" id="menu_1.1.5.12Title" class="menutitle">Asset Management</div>
+<div id="menu_1.1.5.12" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/asset-management/management.html">Asset Management</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.13', '../../skin/')" id="menu_1.1.5.13Title" class="menutitle">Link Management</div>
+<div id="menu_1.1.5.13" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/link-management/link-management.html">Link Management</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.14', '../../skin/')" id="menu_1.1.5.14Title" class="menutitle">Meta Data</div>
+<div id="menu_1.1.5.14" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/metadata/metadata.html">Meta Data Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.15', '../../skin/')" id="menu_1.1.5.15Title" class="menutitle">Multilingual Documents</div>
+<div id="menu_1.1.5.15" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/multilingual/multilingual.html">Multilingual Document Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.16', '../../skin/')" id="menu_1.1.5.16Title" class="menutitle">Tasks</div>
+<div id="menu_1.1.5.16" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/concept.html">The Task Concept</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/defining.html">Defining Tasks</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/taskaction.html">The TaskAction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/scheduling.html">Scheduling a Task</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.16.5', '../../skin/')" id="menu_1.1.5.16.5Title" class="menutitle">Included tasks</div>
+<div id="menu_1.1.5.16.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/anttask.html">AntTask</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/publisher.html">DefaultFilePublisher</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/exporter.html">StaticHTMLExporter</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/mailtask.html">MailTask</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/development.html">Developing Tasks</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.17', '../../skin/')" id="menu_1.1.5.17Title" class="menutitle">Workflow</div>
+<div id="menu_1.1.5.17" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/terms.html">Terms</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/state-machine.html">The State Machine</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/configuration.html">Configuration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/implementation.html">Implementation</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.18', '../../skin/')" id="menu_1.1.5.18Title" class="menutitle">Site Management</div>
+<div id="menu_1.1.5.18" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/archive.html">Archive</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/copy.html">Copy</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/deactivate.html">Deactivate</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/delete.html">Delete</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/deletetrash.html">Delete the trash</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/move.html">Move</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/moveupdown.html">Move Up/Down</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/rename.html">Rename</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/restore.html">Restore</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6', '../../skin/')" id="menu_1.1.6Title" class="menutitle">Miscellaneous</div>
+<div id="menu_1.1.6" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/namespaces.html">Namespaces</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/coding-guidelines.html">Coding Guidelines</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/reserved_names.html">Reserved Names</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/unittests.html">Unit Tests</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/xinclude-processor.html">XInclude Processor</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../../apidocs/1.2/index.html">1.2 API (Javadoc)</a>
+</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>
+<!--+
+ |end Menu
+ +-->
+<!--+
+ |start content
+ +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="cms_screens.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+ PDF</a>
+</div>
+<h1>CMS Screens How-To</h1>
+
+<p>A CMS screen is an HTML page that belongs to the Lenya CMS, not to a specific publication (this is the reason for choosing the term "screen" instead of "page"). Typical examples are site administration screens and confirmation screens.</p>
+
+
+<a name="N10011"></a><a name="File+Locations"></a>
+<h2 class="h3">File Locations</h2>
+<div class="section">
+<ul>
+
+<li>
+<p>
+<em>src/webapp/lenya/xslt/util/page2xhtml.xsl</em> - The CMS screen stylesheet. </p>
+
+</li>
+
+<li>
+<p>
+<em>src/webapp/lenya/resources/css</em> - The CMS screen CSS files. </p>
+
+</li>
+
+</ul>
+</div>
+<a name="N1002A"></a><a name="Sitemap+Usage"></a>
+<h2 class="h3">Sitemap Usage</h2>
+<div class="section">
+<p>Usually a resource is used to style a CMS screen: </p>
+<pre class="code">
+<map:resource name="style-cms-page">
+ <map:transform src="lenya/xslt/util/page2xhtml.xsl">
+ <map:parameter name="contextprefix"
+ value="{request:contextPath}"/>
+ </map:transform>
+
+ <map:serialize/>
+</map:resource>
+</pre>
+<p>¨ This resource is called from the pipeline (the example serves the Lenya CMS starting page): </p>
+<pre class="code">
+<map:match pattern="index.html">
+ <map:aggregate element="lenya" ...>
+ <map:part src="cocoon:/publications.xml"/>
+
+ <map:part src="lenya/content/introduction.xml"/>
+ </map:aggregate>
+ <map:transform src="lenya/xslt/util/welcome.xsl"/>
+ <map:call resource="style-cms-page"/>
+</map:match>
+</pre>
+</div>
+<a name="N1003E"></a><a name="Writing+a+CMS+screen"></a>
+<h2 class="h3">Writing a CMS screen</h2>
+<div class="section">
+<p>To write a CMS screen, use the following syntax: </p>
+<pre class="code">
+<page:page xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0">
+
+ <page:title>
+ <!-- the page title (used for HTML title and heading) -->
+ </page:title>
+
+ <page:body>
+ <!-- put your XHTML here -->
+ </page:body>
+
+</page:page>
+</pre>
+</div>
+<a name="N1004B"></a><a name="Cascading+Stylesheets"></a>
+<h2 class="h3">Cascading Stylesheets</h2>
+<div class="section">
+<p>When using CSS classes or IDs, please follow the rule that every class or ID starts with the prefix <em>lenya-</em>. </p>
+<p>Put your specific CSS file in the CSS directory (see above) and include it in <em>default.css</em>. </p>
+<p>Currently, the following Lenya CSS classes are defined: </p>
+<ul>
+
+<li>
+<p> Boxes </p>
+<ul>
+
+<li>
+<p>div.lenya-box </p>
+</li>
+
+<li>
+<p>div.lenya-box-title </p>
+</li>
+
+<li>
+<p>div.lenya-box-body </p>
+</li>
+
+</ul>
+
+</li>
+
+<li>
+<p> Forms </p>
+
+<ul>
+
+<li>
+<p>td.lenya-entry-caption </p>
+</li>
+
+<li>
+<p>.lenya-form-element </p>
+</li>
+
+</ul>
+
+</li>
+
+<li>
+<p> Tables </p>
+
+<ul>
+
+<li>
+<p>table.lenya-table </p>
+</li>
+
+<li>
+<p>table.lenya-table-noborder </p>
+</li>
+
+<li>
+<p>table.lenya-table th </p>
+</li>
+
+<li>
+<p>table.lenya-table td </p>
+</li>
+
+<li>
+<p>table.lenya-table-noborder td </p>
+</li>
+
+</ul>
+
+</li>
+
+<li>
+<p> Tabs </p>
+
+<ul>
+
+<li>
+<p>.lenya-tab </p>
+</li>
+
+<li>
+<p>.lenya-tablink </p>
+</li>
+
+</ul>
+
+
+</li>
+
+<li>
+<p> Antlog </p>
+
+<ul>
+
+<li>
+<p>.lenya-ant-bannercell </p>
+</li>
+
+<li>
+<p>table.lenya-ant-status </p>
+</li>
+
+<li>
+<p>.lenya-ant-error </p>
+</li>
+
+<li>
+<p>.lenya-ant-warn </p>
+</li>
+
+<li>
+<p>.lenya-ant-info </p>
+</li>
+
+<li>
+<p>.lenya-ant-debug </p>
+</li>
+
+<li>
+<p>.lenya-ant-failed </p>
+</li>
+
+<li>
+<p>.lenya-ant-complete </p>
+</li>
+
+<li>
+<p>.lenya-ant-a td </p>
+</li>
+
+<li>
+<p>.lenya-ant-b td </p>
+</li>
+
+</ul>
+
+</li>
+
+<li>
+<p> Misc </p>
+
+<ul>
+
+<li>
+<p>.lenya-body </p>
+</li>
+
+<li>
+<p>.lenya-project-logo </p>
+</li>
+
+<li>
+<p>td.lenya-content </p>
+</li>
+
+<li>
+<p>td.lenya-sidebar </p>
+</li>
+
+<li>
+<p>td.lenya-frontpage </p>
+</li>
+
+<li>
+<p>.lenya-page-title </p>
+</li>
+
+<li>
+<p>.lenya-page-subtitle </p>
+</li>
+
+<li>
+<p>.lenya-publication-item </p>
+</li>
+
+<li>
+<p>.lenya-sidebar a </p>
+</li>
+
+<li>
+<p>.lenya-sidebar-heading </p>
+</li>
+
+</ul>
+
+</li>
+
+</ul>
+</div>
+</div>
+<!--+
+ |end content
+ +-->
+<div class="clearboth"> </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 © 2002-2005 The Apache Software Foundation.</div>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A01_2_x/how-to/cms_screens.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>
Propchange: lenya/site/1_2_x/how-to/cms_screens.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: lenya/site/1_2_x/how-to/cms_screens.pdf
URL: http://svn.apache.org/viewcvs/lenya/site/1_2_x/how-to/cms_screens.pdf?rev=170289&view=auto
==============================================================================
--- lenya/site/1_2_x/how-to/cms_screens.pdf (added)
+++ lenya/site/1_2_x/how-to/cms_screens.pdf Sun May 15 17:32:04 2005
@@ -0,0 +1,268 @@
+%PDF-1.3
+%ª«¬
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 505 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!<L4`>s,&;GCXKh!o:[Ef[lS#B1a[6k*tLUMh.$pc's"h.A.IEb8lV[HW^P4>*(Qh,jt=Jam!L*6gV6##bLmZr,$'cof^>\5msL]V0sN7'k8o@Hd[!\GRQc%_j$NKeR$*V\j/9[s2mT_-&k7u32RY$Mr5R'L\X9>tNi3s"2Tq'rl>9\!=t\in5V7*29qairrL_a--#;)]=EK7Wq.hN[H/+&sY0WOh-^2P/7Y56,<O#`oR\^^.t714Vr(:2j*G\JGLom%kGNS/j8H58e-?a,@tM-6iRM`QJ^>D+\*bL#jWIE\+$&B_t,b"\=h6%gRE"%D+=6nVAEWAEO*!7@T/$"hd<r.bX6ceFTV9P<#I]?kljGGH(>e2qdU)N8o_hYfB$`E7@FCHdCQKCX$g18oP29^n&cp)5]+iMYS>JFZ;6iZ.$-%^B:Cb!^^:/->m,R:0Q]O+>VPD<3D:VEBG35?#TTeM4M\ear5[0c4?V2X_`II(>H1q!ibij*r~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 631.666 89.0 619.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 613.466 92.324 601.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 595.266 127.652 583.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 577.066 126.992 565.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Length 2031 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat=,gQ(#H&:O:S\:2R%2'l*Yb/acX[b[fL!i1X)'WCo%Q"aHQ/1MpQ[TiC]41\Q^>IM",ON!C+)9rZ:R>]qH8(OG"FssW9o@:o'Y=HmjL4A\+[R08A_"Pe>mJ,"/Dst\El;u`D*^5&@(FkQ;kP[GArU2JpIm<u.TjJQ)ReJ>GM06RZigIm>8<"D[.$FJCo0[?HojbbZKcX9G,ZMUDFHn2oYjs59P?=^aftMuPZ![9M_]['2K`tOEp5<H+KM(k/h>"2Dr&6F[N^LH3dY:69jgJMjRV5KY.Cmkh?M5=IKoT5CSh0;#^GS4ii*OuQn9qr$16,^9UAIrjd4/I?dl^W6SckuHbBS;C;Bk[3._!;NU^`+P(lfW?!?r"J^haXp5nb.AH1I>7(^d!_1j)d\*-#ho$Rc>Z7b`Mms*-Xc479?L]M%Uq3Nlt&mJ'Ub'NS6Xce>En>GY(NWsU]>DtGq4Y^'45T.-Vd-:,EU]i4Pcq!G9U9^)Ylg4jZCDRo-0`;;bO_g-FIA]^2cA\s^t.!<L)-ZgNWe55jEIQi-KIpBgZhaWRb'5H"Y:5TVS)6gc5Mgj]EWmf<`-`TO_j:]5Fh\T;4=`tY+-!b&9dmU/p@K]Frog94(*/Me>[J&eZkhF0*Oln\IAF8fo?UhHFbQl9Ult_*JN02I+90ReCrB>O/V>P#nfE7]LN;0K6gM7)E%(R))9i?t[r-hP54AE8!=so[r-Q0&#f(\-,MR>b$a;&7(D6FH-F[*F^V).MGH?.nQKEYJ)&PK>;dcII5OF8tClU(/B\t>L]=p)ii,@YkQH&f3D`;Yns>KN/%[ITr!^%lk]%JraBicq"OQJq27J/o6J#`dn"NO/7qIWe*?MAJ_"%u^n-[s<#s^E*LT7R9Ooho6q[#ec7*W#6IBn4F$eQ].)-U]o)m*:5<$")Z.Gf]Mam?`L*g736LtQF\]J\?T/k]ne"A#W.Bu1l3%U?GI0aE#j2ul(G7,RiZ]@X9"%Nr?TXSHqu43%l;-+%#5&Eiq6LGFfZ26GfI3Tf.BWBr>u:gK?Wgi7O!/q%"1IQ6mP+[1CJ=eMX81+1\<OcSZ'l5QZP,BY1\tR/'YI9b;-%r%r6&l!(:d#jrB"-.,Y.?4SCpPA]M,FCjDRML5g1U6inTT($^.R*CJ*bi#l[g0I!44fbu;XDNlg+pP;IF,Nkfloi7k9eutEt)gT8BTb6S6S"k;:P@i!^ob,bm6\W.fi0DA=Yqo'TLKqms(X^_9#Vr#p1j,H]J_G::W3./(cu.n=\pC8W4*@pV$)l'J]lu]oBO/h5.k]gl_hjIjX.`)=olMj(3Q)sc1M%_dQuSTjF`muKRSPbN`9ElgoafMcDc@C[@k,=gf)#7)U?a8^FYdg?Mg!emQ>E#]G-QV_!M3nCf5FB]__+9*!<5,G?hU`b%G;2j1_.Tj=<<4W!BDZ<KCL?^P\1Ik^OGj2l/[RlIbP)7I02?T(c&/?5p80I[X#=XEJqUB<88U4LH,kWp`W[0*Gj5g*kV2_c#g'&"rFnXk3E5\aJCY6)BEm^`Cf+CMC6hZIo;*<:m,=27b^S"DOFcMi;#0qLD(=R)/rKsdCEP_2jZRa\sL#aa*=9[7F3iC<`=9i--X(4;@YR\a8dt8cR,_Tn>SgY[g9\BH/WS._3=d#D[i+G.X@`lNpd&G-_.E5`&"U]4>_toH'4FcI'#;$\/8.'#Y5Y-e+k:s`FYpgojQ3g_K4,@^d=e.F9`jZ.A<$J%R48*bWoGoD&0<Q_>)@XSj:W5S/pE&*i>J8,@.<)VWiXLR+28&Gb%Lr`1F$Y]MtG2e];K=KgOD)pbQWWq]tl&ZB1C>QcMqV1=4`Jc^uY<Q2jf@1o8-!D$"L2I`UereUQar2VsAJZt^XY)6XEme]*]tDi;%uW*`Qk<EHHOA*\nf"-JC-DL;&Sp*4!e'ucKJocE$Z6dJ9[/U\F/+1(":Pm:/+A@gX]?4dT3%T3[eh\:P7rDrf8U05.2>65K?Z-p6"3R,jE.._$+6PC_G2id:"2?6/T)TcaR=ctsfrrLGA0[T~>
+endstream
+endobj
+17 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 16 0 R
+>>
+endobj
+18 0 obj
+<< /Length 891 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%"?#Q2d'Re<2n72<FB,cfgZ(4oiP:CDVDegF'R"UIOR;psBhp3t^A@4q%-rDZ^k?aeXjbI[FiK418+9G]R6=@FB!8.ke33d7X,VV\"aS+QhqO%n@#6Ki5ZEMhjr<aJe:HZ_KDu2+^GMiX8?S!Ec1QH8lJmef2jFV4#:Z(R>CE6n%NRf2:hR<UH@TT'hOEc.0jkukp7\>9a+&&f4PD(`I4=gS)AN^;e,PIF>iM\J*@<fsm4$YQicZn:PpK8a#NJHapK<+s#-NTp)Ue:iA<4UGRcqYpPpgnsD8jJ,43u8c/Yugo(Od/Zs(/A&iE5m+'^?AH56[VOK4$YodXu!LC9YI-f4E_nTnV1Lrelr&X3Z*_s^$/p\:3!n4VGUQaK2KLu&K)SLdKDRs;WpG(NK]$hX)bsbC(3*lVofS\QW3AYK\";6p/)Y[C#.b*\9><K#cC=4VM!L+;GK3gf*GN:r9+QBm7CUnBD@A9NH!HL(pe#=/(FRF#if_eU"t-NJpaQA__A_mb5@"2%PbZ!D0LMO4J(iHE&gNgrt%=hd.?nBKI1q8mXnP)6t$.$HHq`unJ1)h:sr$9m1LN:#NH]Zei)X"ZX=&1rS;_:=5#]Si*0j2&F:KbUBhVRR+f'**_uZ$DbeY#F$Bp$O1UP7BR=R3],O49)mOV8`;W'sYEi\PE[O`F+**]9_+sL*QJ6I5'DLlF+k'9bppB;PZd.!F;eR=b4"Yh\Da?9.gS\l\X1pXf"[jN/+R]&BPuF=ZW)heV&"0ohCdUn6_<fc;"%G**gg`1r:gl[m6tc6ngWsj@/:\24X2@N\gRXagSdEBb'1%EWp4lC9fktEqrkOHfo0ua"[e&1pUH6Q'O#*<B\u@PNoFB(Ze"RTR<KqG8m17&&Z_[~>
+endstream
+endobj
+19 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 18 0 R
+>>
+endobj
+21 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\106\0\151\0\154\0\145\0\40\0\114\0\157\0\143\0\141\0\164\0\151\0\157\0\156\0\163)
+ /Parent 20 0 R
+ /Next 22 0 R
+ /A 9 0 R
+>> endobj
+22 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\123\0\151\0\164\0\145\0\155\0\141\0\160\0\40\0\125\0\163\0\141\0\147\0\145)
+ /Parent 20 0 R
+ /Prev 21 0 R
+ /Next 23 0 R
+ /A 11 0 R
+>> endobj
+23 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\127\0\162\0\151\0\164\0\151\0\156\0\147\0\40\0\141\0\40\0\103\0\115\0\123\0\40\0\163\0\143\0\162\0\145\0\145\0\156)
+ /Parent 20 0 R
+ /Prev 22 0 R
+ /Next 24 0 R
+ /A 13 0 R
+>> endobj
+24 0 obj
+<<
+ /Title (\376\377\0\64\0\40\0\103\0\141\0\163\0\143\0\141\0\144\0\151\0\156\0\147\0\40\0\123\0\164\0\171\0\154\0\145\0\163\0\150\0\145\0\145\0\164\0\163)
+ /Parent 20 0 R
+ /Prev 23 0 R
+ /A 15 0 R
+>> endobj
+25 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+26 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+27 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F6
+/BaseFont /Times-Italic
+/Encoding /WinAnsiEncoding >>
+endobj
+28 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+29 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+30 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+31 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 3
+/Kids [6 0 R 17 0 R 19 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 20 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<<
+/Font << /F3 25 0 R /F5 26 0 R /F1 28 0 R /F6 27 0 R /F9 29 0 R /F2 30 0 R /F7 31 0 R >>
+/ProcSet [ /PDF /ImageC /Text ] >>
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [17 0 R /XYZ -5.0 696.6 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [17 0 R /XYZ -5.0 631.066 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [17 0 R /XYZ -5.0 370.192 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [17 0 R /XYZ -5.0 199.538 null]
+>>
+endobj
+20 0 obj
+<<
+ /First 21 0 R
+ /Last 24 0 R
+>> endobj
+xref
+0 32
+0000000000 65535 f
+0000006264 00000 n
+0000006336 00000 n
+0000006428 00000 n
+0000000015 00000 n
+0000000071 00000 n
+0000000667 00000 n
+0000000787 00000 n
+0000000833 00000 n
+0000006573 00000 n
+0000000964 00000 n
+0000006636 00000 n
+0000001099 00000 n
+0000006702 00000 n
+0000001235 00000 n
+0000006768 00000 n
+0000001371 00000 n
+0000003495 00000 n
+0000003603 00000 n
+0000004586 00000 n
+0000006834 00000 n
+0000004694 00000 n
+0000004868 00000 n
+0000005051 00000 n
+0000005274 00000 n
+0000005491 00000 n
+0000005604 00000 n
+0000005714 00000 n
+0000005825 00000 n
+0000005933 00000 n
+0000006039 00000 n
+0000006155 00000 n
+trailer
+<<
+/Size 32
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+6885
+%%EOF
Added: lenya/site/1_2_x/how-to/custom_resourcetype.html
URL: http://svn.apache.org/viewcvs/lenya/site/1_2_x/how-to/custom_resourcetype.html?rev=170289&view=auto
==============================================================================
--- lenya/site/1_2_x/how-to/custom_resourcetype.html (added)
+++ lenya/site/1_2_x/how-to/custom_resourcetype.html Sun May 15 17:32:04 2005
@@ -0,0 +1,954 @@
+<!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.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Custom Resource Type How-To</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> > <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 :');" value="Search the site with :" size="25" name="q" id="query" type="text">
+ <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+ |end search
+ +-->
+<!--+
+ |start Tabs
+ +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../../index.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../1_4/index.html">Version 1.4</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../1_2_x/index.html">Version 1.2</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../community/index.html">Community</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" language="JavaScript"><!--
+ document.write("Published: " + document.lastModified);
+ // --></script>
+</div>
+<!--+
+ |breadtrail
+ +-->
+<div class="breadtrail">
+
+
+ </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 1.2</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../1_2_x/index.html">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.2', '../../skin/')" id="menu_1.1.2Title" class="menutitle">Installation</div>
+<div id="menu_1.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/installation/index.html">Download</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/installation/subversion.html">Subversion Access</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/installation/source_version.html">Install Instructions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.3', '../../skin/')" id="menu_1.1.3Title" class="menutitle">Tutorial</div>
+<div id="menu_1.1.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/index.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/understanding_lenya.html">1. Understanding Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/installing_lenya.html">2. Installing Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/anatomy_of_the_pipeline.html">3. Anatomy of the Pipeline</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/editing_in_lenya.html">4. Editing in Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/custom_navigation.html">5. Custom Navigation in Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/mod_proxy_and_lenya.html">6a. Mod Proxy and Lenya</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/tutorial/mod_proxy_and_lenya_continued.html">6b. Mod Proxy and Lenya</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');">How-To</div>
+<div id="menu_selected_1.1.4" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/faq.html">FAQ</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/new_publication.html">New Publication</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/deploy_publication.html">Deploy Publication</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/look_and_feel.html">Look and Feel</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Custom Resource Type</div>
+<div class="menupageitemgroup">
+<div class="menupageitem">
+<a title="Decide if you really need a new resource type" href="#Decide+if+you+really+need+a+new+resource+type">Decide if you reall...</a>
+</div>
+<div class="menupageitem">
+<a href="#Choose+a+name">Choose a name</a>
+</div>
+<div class="menupageitem">
+<a title="Define the resource type ID" href="#Define+the+resource+type+ID">Define the resource...</a>
+</div>
+<div class="menupageitem">
+<a title="Create the schema" href="#Create+the+schema">Create the schema...</a>
+</div>
+<div class="menupageitem">
+<a title="Resource type matcher" href="#Resource+type+matcher">Resource type match...</a>
+</div>
+<div class="menupageitem">
+<a href="#Sample+File">Sample File</a>
+</div>
+<div class="menupageitem">
+<a href="#Presentation">Presentation</a>
+</div>
+<div class="menupageitem">
+<a href="#Menus">Menus</a>
+</div>
+<div class="menupageitem">
+<a title="Using an existing menu" href="#Using+an+existing+menu">Using an existing m...</a>
+</div>
+<div class="menupageitem">
+<a title="using a custom menu" href="#using+a+custom+menu">using a custom menu...</a>
+</div>
+<div class="menupageitem">
+<a href="#Workflow">Workflow</a>
+</div>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/new_mime_type.html">Adding Mime Types</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/site_navigation.html">Site Navigation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/ldap_authentication.html">LDAP Authentication</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/cms_menus.html">CMS Menus</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/cms_screens.html">CMS Screens</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/search.html">Search Publications</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/how-to/external_data.html">External Data</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5', '../../skin/')" id="menu_1.1.5Title" class="menutitle">Components</div>
+<div id="menu_1.1.5" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.5.1', '../../skin/')" id="menu_1.1.5.1Title" class="menutitle">Access Control</div>
+<div id="menu_1.1.5.1" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/terms.html">Basic Terms</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/accesscontrollers.html">Access Controllers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/accesscontrollerresolvers.html">Access Controller Resolvers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/authenticators.html">Authenticators</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/authorizers.html">Authorizers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/policymanagers.html">Policies and Policy Managers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/accreditablemanagers.html">Accreditable Managers</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/accesscontrol/ssl.html">SSL Encryption</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.2', '../../skin/')" id="menu_1.1.5.2Title" class="menutitle">Authoring</div>
+<div id="menu_1.1.5.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/authoring/adding-document-creator.html">Adding a new document creator</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/authoring/image-upload.html">Image Upload</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/authoring/openoffice.html">OpenOffice</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.3', '../../skin/')" id="menu_1.1.5.3Title" class="menutitle">Deployment</div>
+<div id="menu_1.1.5.3" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/deployment/proxying.html">Proxying</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.4', '../../skin/')" id="menu_1.1.5.4Title" class="menutitle">Editors</div>
+<div id="menu_1.1.5.4" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/htmlform.html">HTML Form Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/1form.html">HTML One Form Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/bxe.html">Bitflux Editor</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/kupu.html">Kupu</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/editors/xopus.html">Xopus</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.5', '../../skin/')" id="menu_1.1.5.5Title" class="menutitle">Layout</div>
+<div id="menu_1.1.5.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/navigation.html">Navigation</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/xhtml-templating.html">XHTML templating</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/static-resources.html">Serving static resources</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/layout/lenya-menubar.html">Lenya Menubar</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.6', '../../skin/')" id="menu_1.1.5.6Title" class="menutitle">Publication</div>
+<div id="menu_1.1.5.6" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/publication/pageenvelopemodule.html">PageEnvelopeModule</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/publication/siteTree.html">Site tree</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.7', '../../skin/')" id="menu_1.1.5.7Title" class="menutitle">Resource Types</div>
+<div id="menu_1.1.5.7" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/resource-types/resource-types.html">Resource Types</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.8', '../../skin/')" id="menu_1.1.5.8Title" class="menutitle">Revision Control</div>
+<div id="menu_1.1.5.8" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/revisioncontroller.html">Revision Controller</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/rcml.html">RCML</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/checkin.html">Check In</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/checkout.html">Check Out</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/version.html">Revisions</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/revisioncontrol/rollback.html">Rollback</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.9', '../../skin/')" id="menu_1.1.5.9Title" class="menutitle">Repository</div>
+<div id="menu_1.1.5.9" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/repository/webdav.html">WebDAV Servers</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.10', '../../skin/')" id="menu_1.1.5.10Title" class="menutitle">Search</div>
+<div id="menu_1.1.5.10" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/search/lucene.html">Searching with Lucene</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.11', '../../skin/')" id="menu_1.1.5.11Title" class="menutitle">URI Handling</div>
+<div id="menu_1.1.5.11" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/uri-handling/URIParametrizer.html">URI Parametrizer</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/uri-handling/standardURI.html">URI Scheme</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/uri-handling/usecases.html">Usecases</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.12', '../../skin/')" id="menu_1.1.5.12Title" class="menutitle">Asset Management</div>
+<div id="menu_1.1.5.12" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/asset-management/management.html">Asset Management</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.13', '../../skin/')" id="menu_1.1.5.13Title" class="menutitle">Link Management</div>
+<div id="menu_1.1.5.13" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/link-management/link-management.html">Link Management</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.14', '../../skin/')" id="menu_1.1.5.14Title" class="menutitle">Meta Data</div>
+<div id="menu_1.1.5.14" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/metadata/metadata.html">Meta Data Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.15', '../../skin/')" id="menu_1.1.5.15Title" class="menutitle">Multilingual Documents</div>
+<div id="menu_1.1.5.15" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/multilingual/multilingual.html">Multilingual Document Handling</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.16', '../../skin/')" id="menu_1.1.5.16Title" class="menutitle">Tasks</div>
+<div id="menu_1.1.5.16" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/concept.html">The Task Concept</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/defining.html">Defining Tasks</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/taskaction.html">The TaskAction</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/scheduling.html">Scheduling a Task</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.16.5', '../../skin/')" id="menu_1.1.5.16.5Title" class="menutitle">Included tasks</div>
+<div id="menu_1.1.5.16.5" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/anttask.html">AntTask</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/publisher.html">DefaultFilePublisher</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/exporter.html">StaticHTMLExporter</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/mailtask.html">MailTask</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/tasks/development.html">Developing Tasks</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.17', '../../skin/')" id="menu_1.1.5.17Title" class="menutitle">Workflow</div>
+<div id="menu_1.1.5.17" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/terms.html">Terms</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/state-machine.html">The State Machine</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/configuration.html">Configuration</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/workflow/implementation.html">Implementation</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.5.18', '../../skin/')" id="menu_1.1.5.18Title" class="menutitle">Site Management</div>
+<div id="menu_1.1.5.18" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/archive.html">Archive</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/copy.html">Copy</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/deactivate.html">Deactivate</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/delete.html">Delete</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/deletetrash.html">Delete the trash</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/move.html">Move</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/moveupdown.html">Move Up/Down</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/rename.html">Rename</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/components/sitemanagement/restore.html">Restore</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.6', '../../skin/')" id="menu_1.1.6Title" class="menutitle">Miscellaneous</div>
+<div id="menu_1.1.6" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/namespaces.html">Namespaces</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/coding-guidelines.html">Coding Guidelines</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/reserved_names.html">Reserved Names</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/unittests.html">Unit Tests</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../1_2_x/misc/xinclude-processor.html">XInclude Processor</a>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../../apidocs/1.2/index.html">1.2 API (Javadoc)</a>
+</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>
+<!--+
+ |end Menu
+ +-->
+<!--+
+ |start content
+ +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="custom_resourcetype.pdf"><img alt="PDF -icon" src="../../skin/images/pdfdoc.gif" class="skin"><br>
+ PDF</a>
+</div>
+<h1>Custom Resource Type How-To</h1>
+
+<p>This tutorial explains how to add a custom resource type to the Default publication in order to mix free page editing (as in XHTML) and constrained editing
+(as you get with a custom resource type). </p>
+
+
+<a name="N10011"></a><a name="Decide+if+you+really+need+a+new+resource+type"></a>
+<h2 class="h3">Decide if you really need a new resource type</h2>
+<div class="section">
+<p>Introducing a new resource type where you don't need one is a time consuming and often unnecessary excercise. Therefore you should ask yourself first if you really need a new
+resource type for what you are trying to achieve or if you should be looking for other means of solving your problem. </p>
+<p>As a rule of thumb, you should use a new resource type if you are going to render documents which are fundamentally different from XHTML.
+ A resource type is all about Lenya turning an arbitraty XML document into XHTML which then will be put into the content page of your publication's page. </p>
+<p>It might make sense for example to introduce resource types for well known XML schemas such as: </p>
+<ul>
+
+<li> RSS</li>
+
+<li>
+<a href="http://docbook.sourceforge.net/">DocBook</a>
+</li>
+
+<li>
+<p> NewsML, SportsML, <a href="http://nitf.org/">NITF</a> or <a href="http://www.iptc.org">IPTC</a>
+</p>
+
+</li>
+
+<li>
+<a href="http://xmlns.com/foaf/0.1/">FOAF</a>
+</li>
+
+</ul>
+<p>It may also make sense to introduce resource types for custom XML schemas such as </p>
+<ul>
+
+<li>
+<p> the XML format you use for a catalog item in your company </p>
+
+</li>
+
+</ul>
+<p>In contrast, it is not a good idea to introduce a custom resource type if you want to render documents that are basically XHTML but just contain some non-XHTML tags such as </p>
+<ul>
+
+<li>
+<p> <xi:include ...> </p>
+
+</li>
+
+<li>
+<p> <ft:...> (Cocoon Form tags) </p>
+
+</li>
+
+</ul>
+<p>In this case you should rather add some extra transformers to the pipeline that renders these tags into XHTML. </p>
+<p>Also resource types are not XHTML templates. </p>
+</div>
+<a name="N1005E"></a><a name="Choose+a+name"></a>
+<h2 class="h3">Choose a name</h2>
+<div class="section">
+<p>Choose a name for the resource type ID: <em>myresourcetype</em>
+</p>
+</div>
+<a name="N1006A"></a><a name="Define+the+resource+type+ID"></a>
+<h2 class="h3">Define the resource type ID</h2>
+<div class="section">
+<p>Define the resource type ID in <em>mypub/config/doctypes/doctypes.xconf</em> Note that resource types were historically called doctypes, thus the names of the config files. </p>
+<pre class="code">
+<doctypes>
+ <!-- Here is the document ID -->
+ <doc type="myresourcetype">
+ <!-- if the document is allowed to have children, define what resource types they can be -->
+ <children>
+ <!-- this resource type is allowed to have xhtml and/or myresourcetype documents as children -->
+
+ <doc type="xhtml"/>
+ <doc type="myresourcetype"/>
+ </children>
+ <!-- This is the class that creates a new instance of this resource type -->
+ <creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator">
+ <!-- this is the sample file that is used when creating a new instance of this resource type. Can be found in config/doctypes/samples -->
+
+ <sample-name>myresourcetype.xml</sample-name>
+ </creator>
+ <!-- These tasks here refer to ant tasks that should be called for this resource type. For instance, you can have a special publish task. -->
+ <!-- tasks are defined in mypub/config/tasks/tasks.xconf -->
+ <tasks>
+
+ <task id="publish"/>
+ </tasks>
+ <!-- Specify the workflow definition for this resource type. You can define a seperate workflow for each resource type, for instance with one or two levels of approval. -->
+ <!-- workflow process is defined in mypub/config/workflow/workflow.xml (see below) -->
+ <workflow src="workflow.xml"/>
+ </doc>
+
+</doctypes></pre>
+</div>
+<a name="N1007A"></a><a name="Create+the+schema"></a>
+<h2 class="h3">Create the schema</h2>
+<div class="section">
+<p>Create relax NG schema: <em>mypub/config/doctypes/schemas/myresourcetype.rng</em>
+</p>
+<p>Note: This is optional, but important if you want to use the form editors. If you get your XML files that you try to render as a custom resource type from
+somewhere else you can omit this step. You can also omit it if you want to create a sample document manually first to see all the rest working and come back to this point later. </p>
+<pre class="code">
+<?xml version="1.0" encoding="UTF-8"?>
+<!--+
+ | myresourcetype resource type
+ +-->
+
+<grammar ns="http://www.w3.org/1999/xhtml"
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dcterms="http://purl.org/dc/terms/"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ >
+
+<!-- include the general lenya schema -->
+<!-- you should include the lenya schema if you want to use meta data or assets -->
+<include href="lenya.rng"/>
+
+<!-- include original XHTML transitional schema -->
+<include href="xhtml/xhtml-basic.rng">
+
+ <define name="html">
+
+ <element name="html">
+ <ref name="html.attlist"/>
+ <ref name="lenya.meta"/> <!-- this is the Lenya meta data wrapper -->
+ <ref name="head"/>
+ <ref name="body"/>
+
+ </element>
+ </define>
+
+ <define name="html.attlist">
+ <ref name="XHTML.version.attrib"/>
+ <ref name="I18n.attrib"/>
+ <ref name="dummy.attlist"/> <!-- this is deprecated -->
+
+ </define>
+
+</include>
+
+
+<!-- additional block elements -->
+<define name="Block.class" combine="choice">
+ <choice>
+ <ref name="lenya.asset"/>
+
+ </choice>
+</define>
+
+
+</grammar></pre>
+<p>Note that you can generate Relax NG schemas from sample files by using <a href="http://www.thaiopensource.com/relaxng/trang.html">
+ Trang</a> or <a href="http://wwws.sun.com/software/xml/developers/relaxngconverter/"> Sun RELAX NG Converter</a>
+</p>
+</div>
+<a name="N10098"></a><a name="Resource+type+matcher"></a>
+<h2 class="h3">Resource type matcher</h2>
+<div class="section">
+<p>Add a sourcetype matcher in <em>mypub/parameter-doctype.xmap</em>
+
+</p>
+<pre class="code">
+<!-- This file is map:mounted from mypub/publication-sitemap.xmap -->
+
+<map:action name="sourcetype" src="org.apache.cocoon.acting.sourcetype.SourceTypeAction">
+ <sourcetype name="myresourcetype">
+
+ <document-element local-name="myroottag"/>
+ <!-- this matches the root tag -->
+ </sourcetype>
+</map:action>
+
+</pre>
+<p>The parameter-doctype.xmap allows Lenya to determine the resource type of any URI. the mapping provided in here allows to mix and match resource types freely.
+ It makes use of the <a href="http://forrest.apache.org/docs/cap.html"> Source Type action</a>. There are several ways to identify a resource type,
+ such as by its root tag, the namespace of its root element or its schema. Please note that the name of the resource type you specify here is used throughout
+ Lenya as a naming convention, for instance for the resourcetype2xhtml.xsl. </p>
+<p>The root-tag is just the doctype within your publication (i.e., 'homepage', if you have a homepage.rng doctype definition). For more background, see:
+<a href="http://forrest.apache.org/docs/cap.html"> http://forrest.apache.org/docs/cap.html</a>
+</p>
+<p>For great examples of complex custom types, please also go to <a href="http://www.wyona.org"> http://www.wyona.org</a> and do a Subversion
+update to download the example publication (University of Zurich and others). </p>
+<p>Many problems with resource types not rendering correctly result from this matcher not recognizing the resource type and therefore using the default.
+So pay special attention to this. Check the overview page in the site area where it will tell you what resource type the document has. </p>
+</div>
+<a name="N100C0"></a><a name="Sample+File"></a>
+<h2 class="h3">Sample File</h2>
+<div class="section">
+<p>Add a sample file: <em>mypub/config/doctypes/samples/myresourcetype.xml</em>
+</p>
+<p>The sample file will be used as a template. If you create a new document with this resource type a copy of the sample file will be placed as a starting point.
+Therefore it makes sense to set some good defaults here. </p>
+<pre class="code">
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dcterms="http://purl.org/dc/terms/"
+ xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0"
+ xhtml:dummy="FIXME:keepNamespace" dc:dummy="FIXME:keepNamespace"
+ lenya:dummy="FIXME:keepNamespace" dcterms:dummy="FIXME:keepNamespace">
+ <lenya:meta>
+ <dc:title>dctitle</dc:title>
+
+ <dc:creator>dccreator</dc:creator>
+ <dc:subject>dcsubject</dc:subject>
+ <dc:description>An empty page for a new resource type</dc:description>
+ <dc:publisher/>
+
+ <dc:contributor/>
+ <dc:date>2004-4-6</dc:date>
+ <dc:type/>
+ <dc:format/>
+ <dc:identifier/>
+
+ <dc:source/>
+ <dc:language>en</dc:language>
+ <dc:relation/>
+ <dc:coverage/>
+ <dc:rights>dcrights</dc:rights>
+
+ </lenya:meta>
+ <head>
+ <title>Sample new resource type</title>
+ </head>
+ <body>
+
+ <h1>New resource type sample</h1>
+ <p>This sample page is the basis for pages based on this resource type</p>
+ </body>
+</html></pre>
+</div>
+<a name="N100D3"></a><a name="Presentation"></a>
+<h2 class="h3">Presentation</h2>
+<div class="section">
+<ul>
+
+<li>
+<p> Create presentation XSLT and CSS. If the XSLT and CSS are specific to the publication, you may want to store them in <em>mypub/xslt/myresourcetype2xhtml.xsl</em>
+ and <em>mypub/resources/shared/css/myresourcetype.css</em>, respectively. Take care of the naming conventions for the XSLT files. </p>
+
+</li>
+
+<li class="gap">
+<p> Copy <em>mypub/xslt/page2xhtml-xhtml.xsl</em> to <em>mypub/xslt/page2xhtml-myresourcetype.xsl</em>. This will style your new document type
+ like your old documents. If you wish to change how the new documents look, create your own stylesheet at <em>mypub/xslt/page2xhtml-myresourcetype.xsl</em>
+</p>
+
+
+</li>
+
+<li class="gap">
+<p> If you wish to edit your new documents using BXE (Kupu works only with XHTML), you should place a CSS file for styling your documents in
+ <em>mypub/resources/misc/myresourcetype-bxeng.css</em>
+</p>
+
+</li>
+
+<li class="gap">
+<p> Add presentation pipelines in <em>mypub/sitemap.xmap</em> if you need special pipelines for your resource type </p>
+
+</li>
+
+</ul>
+<p>Make sure you understand that for your new resource type you don't need a replacement for page2xhtml.xsl but for xhtml2xhtml. The reason is this: </p>
+<p>Transforming a document to a page in the browser is always a two-step process, </p>
+<ol>
+
+<li>
+<p>Using {resourcetype}2xhtml.xsl the document (which might be any arbritary XML such as the link list, Docbook, a RSS feed, etc.) is turned into an XHTML presentation. </p>
+
+</li>
+
+<li>
+<p>This XHTML is then processed to contain nagivation, menus and the like using page2xhtml. </p>
+
+</li>
+
+<li>
+<p>The stylesheet {resourcetype}2xhtml.xsl must return a document of the form
+<em><div id="body" xmlns="http://www.w3.org/1999/xhtml"> ... </div></em>. </p>
+
+
+</li>
+
+</ol>
+<p>If you have 5 resource types in your publication, for example: </p>
+<ul>
+
+<li>rss</li>
+
+<li>
+<p> linklist </p>
+
+</li>
+
+<li>
+<p> gallery </p>
+
+</li>
+
+
+<li>
+<p> docbook </p>
+
+</li>
+
+<li>
+<p> xhtml </p>
+
+</li>
+
+</ul>
+<p>the concept would be </p>
+<pre class="code">
+document -> rss2xhtml.xsl --+
+document -> linklist2xhtml.xsl --+
+document -> gallery2xhtml.xsl --+---> page2xhtml.xsl -> Browser
+document -> docbook2xhtml.xsl --+
+document -> xhtml2xhtml.xsl --+
+
+</pre>
+</div>
+<a name="N10147"></a><a name="Menus"></a>
+<h2 class="h3">Menus</h2>
+<div class="section">
+<p>Configure the menus (either 1. or 2.) </p>
+</div>
+<a name="N10150"></a><a name="Using+an+existing+menu"></a>
+<h2 class="h3">Using an existing menu</h2>
+<div class="section">
+<p>Use an existing menu and add necessary menu items </p>
+<ul>
+
+<li>
+<p> Edit <em>mypub/config/menus/generic.xsp</em> and add an entry for the new resource type </p>
+
+
+</li>
+
+<li>
+<p>
+</p>
+
+<pre class="code">
+...
+ <menus>
+ <menu i18n:attr="name" name="File" label="File">
+ <block>
+ <xsp:logic>
+ {
+ if (Publication.ARCHIVE_AREA.equals(area) || Publication.TRASH_AREA.equals(area)) {
+ <item><i18n:text>New Document</i18n:text></item>
+
+ }
+ else {
+ <item uc:usecase="create" uc:step="showscreen" href="?doctype=xhtml"><i18n:text>New Document</i18n:text></item>
+ <item uc:usecase="create" uc:step="showscreen" href="?doctype=myresourcetype">New "Doc type" Document</item>
+ }
+ }
+ </xsp:logic>
+
+ </block>
+...</pre>
+
+</li>
+
+</ul>
+</div>
+<a name="N1016D"></a><a name="using+a+custom+menu"></a>
+<h2 class="h3">using a custom menu</h2>
+<div class="section">
+<p>or Create a custom menu for this resource type </p>
+<ul>
+
+<li>
+<p> edit <em>mypub/menus.xmap</em>
+</p>
+
+
+</li>
+
+<li>
+<p> create a menu file <em>mypub/config/menus/myresourcetype.xsp</em>
+</p>
+
+</li>
+
+</ul>
+</div>
+<a name="N10189"></a><a name="Workflow"></a>
+<h2 class="h3">Workflow</h2>
+<div class="section">
+<p>(optional) define a specific workflow </p>
+<ul>
+
+<li>
+<p> add the workflow schema to <em>mypub/config/workflow/</em>
+</p>
+
+
+</li>
+
+<li>
+<p> assign the workflow schema to the resource type in <em>mypub/config/doctypes/doctypes.xconf</em>
+</p>
+
+</li>
+
+</ul>
+</div>
+</div>
+<!--+
+ |end content
+ +-->
+<div class="clearboth"> </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 © 2002-2005 The Apache Software Foundation.</div>
+<div id="feedback">
+ Send feedback about the website to:
+ <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A01_2_x/how-to/custom_resourcetype.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>
Propchange: lenya/site/1_2_x/how-to/custom_resourcetype.html
------------------------------------------------------------------------------
svn:mime-type = text/html
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org