blob: 2b136fff85a25a8ef5f1b0b32efabaaca247c4cb [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.8-dev">
<meta name="Forrest-skin-name" content="pelt">
<title>Our Contract (v0.8-dev)</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://forrest.apache.org/">forrest</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="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../images/apache-forrest.png" title="The Apache Software Foundation"></a>
</div>
<!--+
|end group logo
+-->
<!--+
|start Project Logo
+-->
<div class="projectlogo">
<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../images/project-logo.gif" title="Apache Forrest"></a>
</div>
<!--+
|end Project Logo
+-->
<!--+
|start Search
+-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp;
<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">Welcome</a>
</li>
<li>
<a class="base-not-selected" href="../contrib.html">Project</a>
</li>
<li>
<a class="base-not-selected" href="../versions/index.html">Versioned Docs</a>
</li>
<li>
<a class="base-not-selected" href="../pluginDocs/index.html">Plugins</a>
</li>
<li>
<a class="base-not-selected" href="../tools/index.html">Tools</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');">0.80-dev</div>
<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="../docs_0_80/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/faq.html">FAQs</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/changes.html">Changes</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/todo.html">Todo</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/locationmap.html">Locationmap</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/validation.html">XML Validation</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/linking.html">Menus and Linking</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/searching.html">Searching</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/skins.html">Default Skins</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/skin-package.html">Skin Packages</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/status-themes.html">Status of themes</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/dispatcher.html">Dispatcher development</a>
</div>
<div class="menupage">
<div class="menupagetitle">Our Contract</div>
</div>
<div class="menuitem">
<a href="../docs_0_80/compliance.html">Standards Compliance</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/glossary.html">Glossary</a>
</div>
<div onclick="SwitchMenu('menu_1.1.17', '../skin/')" id="menu_1.1.17Title" class="menutitle">How-To</div>
<div id="menu_1.1.17" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_80/howto/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-howto.html">Write a How-to</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-dev.html">Be a developer</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-asf-mirror.html">Download mirror</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-pdf-tab.html">Create tab PDF</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-corner-images.html">CSS corner SVG</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-forrest-from-maven.html">Maven Integration</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-buildPlugin.html">Build a Plugin</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-custom-html-source.html">Custom html source</a>
</div>
<div onclick="SwitchMenu('menu_1.1.17.11', '../skin/')" id="menu_1.1.17.11Title" class="menutitle">Multipage HowTo</div>
<div id="menu_1.1.17.11" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_80/howto/multi/howto-multi.html">Introduction</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/multi/step1.html">Step 1</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/multi/step2.html">Step 2</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/multi/step3.html">Step 3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.17.12', '../skin/')" id="menu_1.1.17.12Title" class="menutitle">Dispatcher</div>
<div id="menu_1.1.17.12" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_80/howto/howto-dispatcher-install.html">Install</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-structurer-dsl.html">Structurer</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-dispatcher-quickstart.html">Quickstart</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/howto-structurer-contracts.html">Contracts</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.18', '../skin/')" id="menu_1.1.18Title" class="menutitle">Advanced Topics</div>
<div id="menu_1.1.18" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_80/build.html">Building Forrest</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/catalog.html">Using DTD Catalogs</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/sitemap-ref.html">Sitemap Reference</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/project-sitemap.html">Project sitemap</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/cap.html">Sourcetype Action</a>
</div>
</div>
<div class="menuitem">
<a href="../docs_0_80/upgrading_08.html">Upgrading to 0.8</a>
</div>
<div onclick="SwitchMenu('menu_1.1.20', '../skin/')" id="menu_1.1.20Title" class="menutitle">Reference docs</div>
<div id="menu_1.1.20" class="menuitemgroup">
<div onclick="SwitchMenu('menu_1.1.20.1', '../skin/')" id="menu_1.1.20.1Title" class="menutitle">DTD documentation</div>
<div id="menu_1.1.20.1" class="menuitemgroup">
<div class="menuitem">
<a href="../dtdx/dtd-docs.html">Overview</a>
</div>
<div class="menuitem">
<a href="../dtdx/document-v20.dtdx.html">document-v20</a>
</div>
<div class="menuitem">
<a href="../dtdx/howto-v20.dtdx.html">howto-v20</a>
</div>
<div class="menuitem">
<a href="../dtdx/faq-v20.dtdx.html">faq-v20</a>
</div>
<div class="menuitem">
<a href="../dtdx/document-v13.dtdx.html">document-v13</a>
</div>
<div class="menuitem">
<a href="../dtdx/howto-v13.dtdx.html">howto-v13</a>
</div>
<div class="menuitem">
<a href="../dtdx/faq-v13.dtdx.html">faq-v13</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.20.2', '../skin/')" id="menu_1.1.20.2Title" class="menutitle">Doc samples</div>
<div id="menu_1.1.20.2" class="menuitemgroup">
<div class="menuitem">
<a href="../dtdx/document-v13.html">document-v13</a>
</div>
<div class="menuitem">
<a href="../dtdx/document-v20.html">document-v20</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.21', '../skin/')" id="menu_1.1.21Title" class="menutitle">Older Docs</div>
<div id="menu_1.1.21" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_80/primer.html">Forrest Primer</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/libre-intro.html">Libre</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/dreams.html">Dream list</a>
</div>
<div class="menuitem">
<a href="../docs_0_80/howto/cvs-ssh/howto-cvs-ssh.html">CVS over SSH</a>
</div>
</div>
</div>
<div id="credit">
<hr>
This is documentation for development version v0.8
(<a href="http://forrest.apache.org/versions/">More</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://apachecon.com/"><img border="0" title="ApacheCon EU 2006" alt="ApacheCon EU 2006 - logo" src="http://www.eu.apachecon.com/konferenzen/apachecon06/images/header-left.gif" style="width: 150px;height: 50px;"></a>
</div>
</div>
<!--+
|end Menu
+-->
<!--+
|start content
+-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="forrest-contract.pdf"><img alt="PDF -icon" src="../skin/images/pdfdoc.gif" class="skin"><br>
PDF</a>
</div>
<div class="trail">Font size:
&nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">
&nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
&nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Our Contract</h1>
<div class="abstract">This document describes, in a very techy bullet-style way, how
to use Forrest.</div>
<div id="motd-area">
This is documentation for development version v0.8
(<a href="http://forrest.apache.org/versions/">More</a>)</div>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#forrest-will">Forrest will:</a>
</li>
<li>
<a href="#project-must">TheProject must:</a>
</li>
<li>
<a href="#project-can">TheProject can:</a>
</li>
</ul>
</div>
<div class="note">
<div class="label">Note</div>
<div class="content">
This document describes the formal contract between the
<strong>Forrest distribution code</strong>, hereafter referred as
"Forrest", and
the <strong>Project (team)</strong> that is using it for generating
its documentation and web-site, hereafter referred to as "TheProject".
</div>
</div>
<div class="note">
<div class="label">Note</div>
<div class="content">
Some terminology will assist: <span class="codefrag">{docroot}</span> is the location
inside TheProject's file hierarchy where all documentation related
resources are stored. Usually <span class="codefrag">{docroot}</span> equals to
<span class="codefrag">{projecthome}/src/documentation</span>
</div>
</div>
<a name="N1002C"></a><a name="forrest-will"></a>
<h2 class="underlined_10">Forrest will:</h2>
<div class="section">
<p>Provide infrastructure ...</p>
<ul>
<li>Provide document type definitions (DTDs), skins, default sitemaps,
Cocoon pipelines.
</li>
<li>Provide a willing team of supporting developers at the forrest-dev
<a href="../mail-lists.html">mail list</a>.
</li>
<li>Use Cocoon to generate the HTML and PDF documentation for
TheProject.</li>
</ul>
</div>
<a name="N10046"></a><a name="project-must"></a>
<h2 class="underlined_10">TheProject must:</h2>
<div class="section">
<p>Provide content and configuration ...</p>
<ul>
<li>Provide XML content in <span class="codefrag">{docroot}/content/xdocs</span>
according to the Forrest DTDs or one of the other input formats.
</li>
<li>Provide navigation metadata using the configuration files
<span class="codefrag">site.xml</span> and <span class="codefrag">tabs.xml</span>
</li>
<li>Provide the skin configuation file in
<span class="codefrag">{docroot}/skinconf.xml</span>
</li>
</ul>
</div>
<a name="N10068"></a><a name="project-can"></a>
<h2 class="underlined_10">TheProject can:</h2>
<div class="section">
<p>Add extra abilities ...</p>
<ul>
<li>Provide its own skin in
<span class="codefrag">{docroot}/skins/{your-skin-name}</span> (Check the current
Forrest skins and the related pipelines to see what they are doing.
Bear in mind that the provided skins are able to be configured and
may already meet your needs.)</li>
<li>Provide own DTDs to handle other specialised document types in
<span class="codefrag">{docroot}/resources/schema/dtd</span>
<ul>
<li>and extra stylesheets to convert own grammar to the
intermediate 'document' structure.</li>
<li>and declare those extra DTDs in
<span class="codefrag">{docroot}/resources/schema/catalog.xcat</span>
</li>
</ul>
</li>
<li>Provide its own overwriting versions of sitemaps
(<span class="codefrag">{docroot}/sitemap.xmap</span> and other *.xmap files)
... (be sure you know what you are doing since you are then leaving
the area where other Forresters can help you out.
</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-2005 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
|end bottomstrip
+-->
</div>
</body>
</html>