| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd"> |
| <document> |
| <header> |
| <title>Our Contract</title> |
| <notice>The legal tone of this document is just a gimmick, this is not a |
| legal document in any sense. At all times: since this is open source: the real |
| contract is described in the implementation details of the full distribution. |
| This tries to list (not explain) what the ins and outs of using Forrest is |
| about. Please let the forrest-dev |
| <link href="site:mail-lists">mail list</link> know if |
| any of the bullets listed here are out of sync with the real |
| implementation.</notice> |
| <abstract> |
| This document describes, in a very techy bullet-style way, how to use |
| Apache Forrest. |
| </abstract> |
| </header> |
| <body> |
| <note> |
| This document describes the formal contract between <strong>Apache |
| Forrest</strong> and the <strong>Project (your development team)</strong> |
| that is using it for generating its documentation, hereafter referred to |
| as "TheProject". |
| </note> |
| <note> |
| Some terminology will assist: <code>{docroot}</code> is the location |
| inside TheProject's file hierarchy where all documentation related |
| resources are stored. Usually <code>{docroot}</code> equals to |
| <code>{projecthome}/src/documentation</code> |
| </note> |
| <section id="forrest-will"> |
| <title>Apache Forrest will:</title> |
| <p> |
| Provide infrastructure ... |
| </p> |
| <ul> |
| <li>Use Apache Cocoon to generate the HTML and PDF documentation for |
| TheProject.</li> |
| <li>Provide default Cocoon sitemaps, Cocoon pipelines, skins and other |
| theme abilities, document type definitions (DTDs) and other appropriate schema. |
| </li> |
| <li>Provide a framework for plugins and various input/output capabilities as plugins. |
| </li> |
| <li>Provide a willing group of supporting developers at the |
| <link href="site:mail-lists">mail lists</link>. |
| </li> |
| </ul> |
| </section> |
| <section id="project-must"> |
| <title>TheProject must:</title> |
| <p> |
| Provide content and configuration ... |
| </p> |
| <ul> |
| <li>Provide XML content in <code>{docroot}/content/xdocs</code> |
| according to the Forrest DTDs, or one of the other input formats. |
| </li> |
| <li>Provide navigation metadata using the configuration files |
| <code>site.xml</code> and <code>tabs.xml</code></li> |
| <li>Provide the skin configuation file in |
| <code>{docroot}/skinconf.xml</code></li> |
| </ul> |
| </section> |
| <section id="project-can"> |
| <title>TheProject can:</title> |
| <p> |
| Add extra abilities ... |
| </p> |
| <ul> |
| <li>Specify other properties (e.g. additional plugins) in |
| <code>{docroot}/forrest.properties</code></li> |
| <li>Provide its own skin in |
| <code>{docroot}/skins/{your-skin-name}</code> (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 |
| <code>{docroot}/resources/schema/dtd</code> |
| <ul> |
| <li>and extra stylesheets to convert own grammar to the |
| intermediate 'document' structure.</li> |
| <li>and declare those extra DTDs in |
| <code>{docroot}/resources/schema/catalog.xcat</code></li> |
| </ul></li> |
| <li>Provide its own overwriting versions of sitemaps |
| (<code>{docroot}/sitemap.xmap</code> and other *.xmap files) |
| ... (be sure you know what you are doing since you are then leaving |
| the area where other people can help you out. |
| </li> |
| <li>Develop its own additional functionality using plugins. |
| </li> |
| </ul> |
| </section> |
| </body> |
| </document> |