blob: 38165cce85c1f3d069692ac532918fae79c458c0 [file] [log] [blame]
<!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>Creating a New Publication</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="menupage">
<div class="menupagetitle">Create a Publication</div>
</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_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.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/proxying.html">Proxying</a>
</div>
<div class="menuitem">
<a href="../../../../docs/2_0_x/tutorials/proxy/proxy.html">mod_proxy</a>
</div>
<div class="menuitem">
<a href="../../../../docs/2_0_x/tutorials/proxy/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">
<hr>
<a href="http://forrest.apache.org/"><img border="0" title="Built with Apache Forrest" alt="Built with Apache Forrest - logo" src="../../../../images/built-with-forrest-button.png" style="width: 88px;height: 31px;"></a>
</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/MeetingFreiburg2008"><img border="0" title="Meeting Freiburg 2008" alt="Meeting Freiburg 2008 - logo" src="../../../../images/apache-lenya-meeting-freiburg-2008.png" style="width: 160px;height: 40px;"></a>
</div>
</div>
<!--+
|end Menu
+-->
<!--+
|start content
+-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="index.pdf"><img alt="PDF -icon" src="../../../../skin/images/pdfdoc.gif" class="skin"><br>
PDF</a>
</div>
<h1>Creating a New Publication</h1>
<div id="front-matter">
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#Introduction">Introduction</a>
</li>
<li>
<a href="#Prerequisites">Prerequisites</a>
</li>
<li>
<a href="#Telling+Lenya+about+Your+Publication">Telling Lenya about Your Publication</a>
</li>
<li>
<a href="#Basic+Configuration">Basic Configuration</a>
</li>
<li>
<a href="#Access+Control+Configuration">Access Control Configuration</a>
</li>
<li>
<a href="#Configuring+the+Search+Index">Configuring the Search Index</a>
</li>
<li>
<a href="#Deploying+Your+Publication">Deploying Your Publication</a>
</li>
<li>
<a href="#Next+Steps">Next Steps</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 guide you through the first steps on the
way to your own publication. We assume that the publication is
based on Lenya's default publication, at least until your standing
firmly on your own feet.
</p>
</div>
<a name="N10018"></a><a name="Prerequisites"></a>
<h2 class="h3">Prerequisites</h2>
<div class="section">
<p>
We'll use the following directory layout:
</p>
<pre class="code">$HOME/
apache/
lenya-2.0/ The Lenya installation directory, we'll call it $LENYA_HOME.
src/
lenya/ The home directory of your Lenya-related sources.
pubs/ Your publications.
$MYPUB/ Your first publication. We'll call this directory $MYPUB_HOME.
modules/ Your modules.
data/ Here you'll store your data:
content/ Content (documents, images, ...)
access-control/ Access control data
passwd/ Users, groups, etc.
policies/ Policies (page permissions)</pre>
<p>
By telling Lenya to store the data in your source tree and not in the
web application context, you can more easily sync it with your source code repository.
</p>
<p>
To speed up your development, we recommend to serve the contents of
modules directly from their sources. Edit your <span class="codefrag">$LENYA_HOME/local.build.properties</span>
and update the <span class="codefrag">modules.copy</span> setting:
</p>
<pre class="code">modules.copy=false</pre>
<p>
If you're using Eclipse, you can add a Java project with the <span class="codefrag">src</span>
directory as home directory. We recommend to <a href="../../../../docs/2_0_x/tutorials/setupide/index.html">add the Lenya project</a>
to Eclipse as well so you can easily use it's API.
</p>
</div>
<a name="N10040"></a><a name="Telling+Lenya+about+Your+Publication"></a>
<h2 class="h3">Telling Lenya about Your Publication</h2>
<div class="section">
<p>
First, we have to tell Lenya that you want to deploy your publication.
This is done in <span class="codefrag">$LENYA_HOME/local.build.properties</span>. Add the path
to the directory where you store your publications to <span class="codefrag">pubs.root.dirs</span>:
</p>
<pre class="code">pubs.root.dirs=src/pubs:/home/john/src/lenya/pubs</pre>
<p>
If you add multiple publications to this directory, Lenya will detect them
automatically.
</p>
</div>
<a name="N10057"></a><a name="Basic+Configuration"></a>
<h2 class="h3">Basic Configuration</h2>
<div class="section">
<p>
Now it's time to add the main configuration file of your publication,
<span class="codefrag">$MYPUB_HOME/config/publication.xml</span>. The language settings depend
on your requirements, you can add whatever languages you need. But make sure
to use the official ISO 639-1 language codes. The entry
<span class="codefrag">&lt;template id="default"/&gt;</span> tells Lenya that your
publication is based on the default publication.
</p>
<p>
Here's an example how your <span class="codefrag">publication.xml</span> file might look like:
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;publication xmlns="http://apache.org/cocoon/lenya/publication/1.1"&gt;
&lt;name&gt;My First Publication&lt;/name&gt;
&lt;version&gt;2.0-dev&lt;/version&gt;
&lt;lenya-version&gt;2.0-dev&lt;/lenya-version&gt;
&lt;cocoon-version&gt;2.1.10&lt;/cocoon-version&gt;
&lt;languages&gt;
&lt;language default="true"&gt;en&lt;/language&gt;
&lt;language&gt;de&lt;/language&gt;
&lt;/languages&gt;
&lt;template-instantiator name="default"/&gt;
&lt;path-mapper&gt;org.apache.lenya.cms.publication.DefaultDocumentIdToPathMapper&lt;/path-mapper&gt;
&lt;document-builder name="default"/&gt;
&lt;site-manager name="tree"/&gt;
&lt;template id="default"/&gt;
&lt;content-dir src="/home/john/src/lenya/data/content"/&gt;
&lt;resource-types/&gt;
&lt;modules/&gt;
&lt;proxies/&gt;
&lt;/publication&gt;</pre>
</div>
<a name="N10071"></a><a name="Access+Control+Configuration"></a>
<h2 class="h3">Access Control Configuration</h2>
<div class="section">
<p>
The access control options are configured in
<span class="codefrag">$MYPUB_HOME/config/access-control/access-control.xml</span>.
We'll change the paths where access control data are stored:
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;access-controller type="bypassable"&gt;
&lt;accreditable-manager type="file"&gt;
&lt;parameter name="directory"
value="/home/john/src/lenya/data/access-control/passwd"/&gt;
&lt;user-manager&gt;
&lt;user-type class="org.apache.lenya.ac.file.FileUser" create-use-case="admin.addUser"&gt;
Local User&lt;/user-type&gt;
&lt;/user-manager&gt;
&lt;/accreditable-manager&gt;
&lt;policy-manager type="document"&gt;
&lt;policy-manager type="file"&gt;
&lt;parameter name="directory"
value="/home/john/src/lenya/data/access-control/policies"/&gt;
&lt;/policy-manager&gt;
&lt;/policy-manager&gt;
&lt;authorizer type="usecase"&gt;
&lt;parameter name="configuration"
value="aggregate-fallback://config/access-control/usecase-policies.xml"/&gt;
&lt;/authorizer&gt;
&lt;/access-controller&gt;</pre>
<p>
Now we copy the role files (<span class="codefrag">*.rml</span>, where "rml" means "role markup language")
from the default publication to our <span class="codefrag">data/access-control/passwd</span> directory:
</p>
<pre class="code">$HOME/src/lenya/data/access-control/passwd/
admin.rml
edit.rml
review.rml
session.rml
sitemanager.rml
visit.rml</pre>
<p>
To be able to log in for the first time, we'll create a superuser account.
Add the file <span class="codefrag">data/access-control/passwd/admin.iml</span> ("iml" means
"identity markup language"):
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;identity id="admin" class="org.apache.lenya.ac.file.FileUser"&gt;
&lt;name&gt;Administrator&lt;/name&gt;
&lt;description&gt;&lt;/description&gt;
&lt;email&gt;admin@yourcompany.com&lt;/email&gt;
&lt;password type="md5"&gt;8e07dafd13495561db9063ebe4db4b27&lt;/password&gt;
&lt;groups&gt;
&lt;group&gt;administrators&lt;/group&gt;
&lt;/groups&gt;
&lt;/identity&gt;</pre>
<p>
The encrypted password is copied from the default publication's <span class="codefrag">lenya</span>
user, the cleartext is <span class="codefrag">levi</span>.
</p>
<p>
We want to do it properly, so we add an <span class="codefrag">administrators</span> group
(<span class="codefrag">passwd/administrators.gml</span>):
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;group class="org.apache.lenya.ac.file.FileGroup" id="administrators"/&gt;</pre>
<p>
Each publication has an introduction page (<span class="codefrag">introduction.html</span>).
We'll add a policy allowing everyone to visit the page. The file is located
at <span class="codefrag">data/access-control/policies/introduction.html/subtree-policy.acml</span>:
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;policy xmlns="http://apache.org/cocoon/lenya/ac/1.0"&gt;
&lt;world&gt;
&lt;role id="visit" method="grant"/&gt;
&lt;/world&gt;
&lt;/policy&gt;</pre>
<p>
Finally, we have to add a policy for the authoring environment
(<span class="codefrag">data/access-control/policies/authoring/subtree-policy.acml</span>),
granting all roles to the <span class="codefrag">administrators</span> group:
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;policy xmlns="http://apache.org/cocoon/lenya/ac/1.0"&gt;
&lt;group id="administrators"&gt;
&lt;role id="edit" method="grant"/&gt;
&lt;role id="review" method="grant"/&gt;
&lt;role id="admin" method="grant"/&gt;
&lt;/group&gt;
&lt;/policy&gt;</pre>
</div>
<a name="N100C9"></a><a name="Configuring+the+Search+Index"></a>
<h2 class="h3">Configuring the Search Index</h2>
<div class="section">
<p>
It is necessary to configure the search indexes for each publication.
Add the file
<span class="codefrag">$MYPUB_HOME/config/search/lucene_index.xml</span>. Here is an
example - be sure to replace $MYPUB with the name of your
publication everywhere!
</p>
<pre class="code">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;indexes&gt;
&lt;index id="$MYPUB-live" analyzer="stopword_en"
directory="lenya/pubs/$MYPUB/work/lucene/index/live/index"&gt;
&lt;structure&gt;
&lt;field id="url" type="keyword" /&gt;
&lt;field id="title" type="text" storetext="true"/&gt;
&lt;field id="description" type="text" storetext="true"/&gt;
&lt;field id="subject" type="keyword" storetext="true" /&gt;
&lt;field id="body" type="text" storetext="true"/&gt;
&lt;/structure&gt;
&lt;/index&gt;
&lt;index id="$MYPUB-authoring" analyzer="stopword_en"
directory="lenya/pubs/$MYPUB/work/lucene/index/authoring/index"&gt;
&lt;structure&gt;
&lt;field id="url" type="keyword" /&gt;
&lt;field id="title" type="text" storetext="true"/&gt;
&lt;field id="description" type="text" storetext="true"/&gt;
&lt;field id="subject" type="keyword" storetext="true" /&gt;
&lt;field id="body" type="text" storetext="true"/&gt;
&lt;/structure&gt;
&lt;/index&gt;
&lt;index id="$MYPUB-trash" analyzer="stopword_en"
directory="lenya/pubs/$MYPUB/work/lucene/index/trash/index"&gt;
&lt;structure&gt;
&lt;field id="url" type="keyword" /&gt;
&lt;field id="title" type="text" storetext="true"/&gt;
&lt;field id="description" type="text" storetext="true"/&gt;
&lt;field id="subject" type="keyword" storetext="true" /&gt;
&lt;field id="body" type="text" storetext="true"/&gt;
&lt;/structure&gt;
&lt;/index&gt;
&lt;index id="$MYPUB-archive" analyzer="stopword_en"
directory="lenya/pubs/$MYPUB/work/lucene/index/archive/index"&gt;
&lt;structure&gt;
&lt;field id="url" type="keyword" /&gt;
&lt;field id="title" type="text" storetext="true"/&gt;
&lt;field id="description" type="text" storetext="true"/&gt;
&lt;field id="subject" type="keyword" storetext="true" /&gt;
&lt;field id="body" type="text" storetext="true"/&gt;
&lt;/structure&gt;
&lt;/index&gt;
&lt;/indexes&gt;</pre>
</div>
<a name="N100DA"></a><a name="Deploying+Your+Publication"></a>
<h2 class="h3">Deploying Your Publication</h2>
<div class="section">
<p>
To deploy your publication, open a shell, go to the directory <span class="codefrag">$LENYA_HOME</span>
and execute the build process:
</p>
<pre class="code">$ cd ~/apache/lenya-2.0
$ ./build.sh</pre>
<p>
Wait until the build process is finished, and start the Jetty server using the command
</p>
<pre class="code">$ ./lenya.sh</pre>
<p>
To check if Lenya found and deployed our publication correctly,
open your browser and go to the URL <a href="http://localhost:8888">http://localhost:8888</a>.
In the list at the left-hand side of the page you should see the entry
"My First Publication". If not, Lenya didn't find your publication. Double-check
the path in <span class="codefrag">local.build.properties</span>.
</p>
<p>
Click on the "My First Publication" link. The introduction page of your publication appears.
Click on the link "Login as Editor". Login with the username <span class="codefrag">admin</span>
and the password <span class="codefrag">levi</span>.
</p>
<p>
Now a page with the title "First Steps" should appear, asking you to either import the
example content of the default publication, or start with your own homepage.
We'll do the latter.
</p>
<p>
Click on the button <em>Start with own page</em>. You'll be asked to fill in
a form. Enter "Home" as the page title, and select <span class="codefrag">homepage</span> as the
resource type. Click the <em>Create</em> button. Congratulations, you've created
your first page!
</p>
<p>
To make sure your content directory is configured properly, take a look at the
<span class="codefrag">data/content</span> directory. Lenya should have created an <span class="codefrag">authoring</span>
directory with some content in it.
</p>
</div>
<a name="N1011D"></a><a name="Next+Steps"></a>
<h2 class="h3">Next Steps</h2>
<div class="section">
<p>
Now you can go on with customizing your publication:
</p>
<ul>
<li>Add groups, users, and policies</li>
<li>Customize the layout by overriding the default publication XSLTs</li>
<li>Add more content</li>
<li>...</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="logos"></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/newpublication/index.html">dev@lenya.apache.org</a>
</div>
<!--+
|end bottomstrip
+-->
</div>
</body>
</html>