[prev in list] [next in list] [prev in thread] [next in thread]
List: forrest-svn
Subject: svn commit: r410200 [2/4] - in /forrest/site: ./ docs_0_60/ docs_0_70/
From: crossley () apache ! org
Date: 2006-05-30 7:00:28
Message-ID: 20060530070044.D425E1A9842 () eris ! apache ! org
[Download RAW message or body]
Added: forrest/site/docs_0_80/howto/howto-dev.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-dev.html?rev=410200&view=auto
==============================================================================
--- forrest/site/docs_0_80/howto/howto-dev.html (added)
+++ forrest/site/docs_0_80/howto/howto-dev.html Tue May 30 00:00:23 2006
@@ -0,0 +1,1058 @@
+<!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>How be a Forrest developer (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> > <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"> + \
<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">
+
+
+ </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="menuitem">
+<a href="../../docs_0_80/forrest-contract.html">Our Contract</a>
+</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_selected_1.1.17', '../../skin/')" \
id="menu_selected_1.1.17Title" class="menutitle" style="background-image: \
url('../../skin/images/chapter_open.gif');">How-To</div> +<div \
id="menu_selected_1.1.17" class="selectedmenuitemgroup" style="display: block;"> \
+<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="menupage">
+<div class="menupagetitle">Be a developer</div>
+</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="howto-dev.pdf"><img alt="PDF -icon" \
src="../../skin/images/pdfdoc.gif" class="skin"><br> + PDF</a>
+</div>
+<div class="trail">Font size:
+ <input value="Reset" class="resetfont" title="Reset text" \
onclick="ndeSetTextSize('reset'); return false;" type="button"> + \
<input value="-a" class="smallerfont" title="Shrink text" \
onclick="ndeSetTextSize('decr'); return false;" type="button"> + \
<input value="+a" class="biggerfont" title="Enlarge text" \
onclick="ndeSetTextSize('incr'); return false;" type="button"> +</div>
+<h1>How be a Forrest developer</h1>
+<div class="abstract">
+ This How-To provides some tips and procedures for being a
+ Forrest developer.
+ </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="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Development techniques and scenarios">Development techniques and \
scenarios</a> +<ul class="minitoc">
+<li>
+<a href="#dev-environment">Development environment</a>
+</li>
+<li>
+<a href="#svn">Using Subversion</a>
+<ul class="minitoc">
+<li>
+<a href="#multiple">Multiple working copies</a>
+</li>
+<li>
+<a href="#svn-email">Watch email notifications for svn differences</a>
+</li>
+<li>
+<a href="#svn-patch">Creating patches</a>
+</li>
+<li>
+<a href="#tips-svn">Tips</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#edit">Editing content</a>
+<ul class="minitoc">
+<li>
+<a href="#code-style">Code style guidelines</a>
+</li>
+<li>
+<a href="#whitespace">Whitespace</a>
+</li>
+<li>
+<a href="#line-length">Line length</a>
+</li>
+<li>
+<a href="#review">Use 'forrest run' for immediate gratification</a>
+</li>
+<li>
+<a href="#tips-edit">Tips</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#sitemap">Understanding the Cocoon sitemap</a>
+</li>
+<li>
+<a href="#debug">Debugging and profiling techniques</a>
+<ul class="minitoc">
+<li>
+<a href="#debug-logfiles">View logfiles</a>
+</li>
+<li>
+<a href="#debug-intermediate">View intermediate processing</a>
+</li>
+<li>
+<a href="#debug-cocoon-profiler">Using Cocoon sitemap profiler</a>
+</li>
+<li>
+<a href="#debug-sitemap-exec">Using Cocoon sitemap execution logger</a>
+</li>
+<li>
+<a href="#debug-logtransformer">Using Cocoon LogTransformer</a>
+</li>
+<li>
+<a href="#debug-java">Java code</a>
+</li>
+<li>
+<a href="#debug-links">Finding broken internal links</a>
+</li>
+<li>
+<a href="#tips-debug">Tips</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#find">Finding the relevant sources</a>
+<ul class="minitoc">
+<li>
+<a href="#find-scenario-1">Scenario: How does i18n work</a>
+</li>
+<li>
+<a href="#tips-find">Tips</a>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Frequently Asked Questions">Frequently Asked Questions</a>
+<ul class="minitoc">
+<li>
+<a href="#1+General+issues">1 General issues</a>
+<ul class="minitoc">
+<li>
+<a href="#1.1+FAQ+1">1.1 FAQ 1</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#2+Other+issues">2 Other issues</a>
+<ul class="minitoc">
+<li>
+<a href="#2.1+FAQ+2.1">2.1 FAQ 2.1</a>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Tips">Tips</a>
+<ul class="minitoc">
+<li>
+<a href="#tip-howto">Explanations about howto topics on the mailing lists</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#References">References</a>
+</li>
+</ul>
+</div>
+<a name="N10010"></a><a name="Intended Audience"></a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content">
+This document is under initial development.
+</div>
+</div>
+<p>
+ People who are ready to go beyond the basics of using Forrest.
+ This might be to utilise Forrest for your advanced needs, debugging,
+ creating a new plugin, enhancing an existing plugin, enhancing the core
+ capabilities, contributing such enhancements back to the Apache Forrest
+ project, etc. In all cases, this is what we mean by "developer".
+ </p>
+<p>
+ Actually, users will also find that some parts of this document are
+ useful. For example, the section about debugging and the section about
+ editing content.
+ </p>
+</div>
+<a name="N1001E"></a><a name="Purpose"></a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<p>
+ This How-To provides some tips and procedures for being
+ an Apache Forrest developer. Ideally a developer would
+ also contribute back to the project, so these notes assume that.
+ Various key development tasks are used as worked examples.
+ </p>
+<p>
+ This document is intended to be an introduction to developing in Forrest, \
specifically, + for those developers without a strong Cocoon background. Some \
key concepts in Forrest + like sitemaps, pipelines, and locationmaps can be \
challenging enough to understand without + also struggling with the fundamental \
development chores of debugging, extension methods, etc. + The goal of this \
document is to reduce the steep learning curve by providing answers to + some \
really practical Forrest development questions. + </p>
+</div>
+<a name="N10029"></a><a name="Prerequisites"></a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<ul>
+
+<li>
+ You have achieved the basic level of using Forrest. You have Forrest
+ installed and can create a new site with 'forrest seed'.
+ You have followed at least the first parts of the
+ <a href="../../docs_0_80/your-project.html">Using Forrest</a>
+ document.
+ </li>
+
+<li>
+ You will enventually see that understanding of the Cocoon
+ <a href="../../docs_0_80/sitemap-ref.html">sitemap</a>
+ is important. For the initial examples below, you can do without that.
+ However please explore the sitemap soon.
+ </li>
+
+</ul>
+</div>
+<a name="N1003F"></a><a name="Development techniques and scenarios"></a>
+<h2 class="underlined_10">Development techniques and scenarios</h2>
+<div class="section">
+<p>
+ Various scenarios are utilised to describe aspects of development.
+ Bear in mind that there are many
+ ways to do things. Each developer has different tools and habits,
+ and different operating systems are used. So you will need to glean
+ the principles and apply them to your own situation.
+ </p>
+<p>
+ This document assumes that you intend to contribute some parts of
+ your work back to the project. Techniques for network-based collaborative
+ development are encouraged.
+ </p>
+<a name="N1004A"></a><a name="dev-environment"></a>
+<h3 class="underlined_5">Development environment</h3>
+<p>
+ There is no *proper* dev environment. It really depends on your personal
+ preferences. In an opensource project there is huge variety of environments.
+ This makes it quite a challenge to keep sources consistent (see discussion \
below). + </p>
+<p>
+ Some people use vi or emacs, others use graphical editors, others use
+ integrated development environments such as Eclipse or IDEA.
+ </p>
+<p>
+ Ensure to <a href="../../docs_0_70/catalog.html">configure</a> your xml \
editor to take + advantage of the local sets of DTDs provided by Forrest. This \
also explains how + to use xml validators such as 'xmllint'. If your editor of \
choice doesn't + validate XML, then most XML validation issues can be \
discovered using + <span class="codefrag">forrest validate-xdocs</span>
+
+</p>
+<p>
+ There really isn't much Java code in Forrest, but a Java Development \
Environment + such as Eclipse or any text editor of your choice will work just \
fine. + If you point Eclipse at the Forrest build file it will make life easy \
for you. + </p>
+<a name="N10064"></a><a name="svn"></a>
+<h3 class="underlined_5">Using Subversion</h3>
+<p>
+ The Subversion source control system is used for all ASF projects.
+ You can leverage this to ease your own development.
+ </p>
+<p>
+ The "trunk" is where all new development and bugfixing happens.
+ We aim to keep the trunk usable at all times.
+ </p>
+<p>
+ Each version release is a "branch", such as "forrest_07_branch".
+ Crucial bugfixes are also applied to the relevant release branch.
+ </p>
+<p>
+ Branches are also used for developing
+ complex new code which would otherwise disrupt the trunk. When the new
+ work is suitable, then that branch is merged back to the trunk as soon
+ as possible.
+ </p>
+<p>
+ To get started, see the
+ <a href="../../docs_0_80/build.html">instructions</a>
+ for obtaining the Apache Forrest sources via SVN.
+ </p>
+<p>
+ Whether you use the svn command-line client or a fancy client,
+ then you still need to make sure you know how to operate SVN properly.
+ <a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com</a>
+ is a must.
+ </p>
+<a name="N10084"></a><a name="multiple"></a>
+<h4>Multiple working copies</h4>
+<p>
+ Most developers would have a number of separate SVN working copies.
+ Hopefully you are brave enough to use the trunk for all your sites.
+ Sometimes that is not possible, for example when you are
+ co-operativley managing a site with other people who are not so
+ brave, so you need to use a specific release. However consider using
+ the SVN release branch, rather than the release archive (tar or zip).
+ This enables you to easily keep up with bugfixes. You can also easily
+ see what local changes that you have made by using 'svn status; svn diff'.
+ </p>
+<p>
+ Here is one layout ...
+ </p>
+<pre class="code">
+[localhost]$ ls /svn/asf
+forrest_07_branch
+forrest-trunk
+ </pre>
+<a name="N10095"></a><a name="svn-email"></a>
+<h4>Watch email notifications for svn differences</h4>
+<p>
+ Either subscribe to the project's
+ <a href="../../mail-lists.html#forrest-svn">svn mailing list</a>
+ or monitor it via one of the mail archives. This enables you
+ to be immediately up-to-date with changes to the repositories.
+ The svn differences (diffs) are automatically sent whenever
+ a committer makes some changes.
+ </p>
+<a name="N100A3"></a><a name="svn-patch"></a>
+<h4>Creating patches</h4>
+<p>See
+ <a href="../../contrib.html#patch">instructions</a> for creating and \
contributing patches. + Make sure to do three things before creating the \
patch:</p> +<ul>
+
+<li>Do 'svn update' to be in sync with the repository in case someone else changed \
your files in SVN.</li> +
+<li>Do 'svn status' to ensure that you are not including unnecessary changes.</li>
+
+<li>Do 'svn diff' to ensure that changes are what you expect.</li>
+
+</ul>
+<p>After creating the patch, open it with a text editor and review it.
+ </p>
+<a name="N100C0"></a><a name="tips-svn"></a>
+<h4>Tips</h4>
+<ul>
+
+<li>
+ Keep a copy of this book, or the online version, close at hand:
+ <a href="http://svnbook.red-bean.com/">Version Control with \
Subversion</a> + - the opensource SVN book.
+ </li>
+
+<li>
+ See all available branches and other repositories:
+ <a href="http://svn.apache.org/repos/asf/forrest/">http://svn.apache.org/repos/asf/forrest/</a>
+
+</li>
+
+<li>
+ Use online repository browsers to quickly see past activity for
+ the files that you are working on:
+ <a href="http://svn.apache.org/viewcvs.cgi/forrest/trunk/">http://svn.apache.org/viewcvs.cgi/forrest/trunk/</a>
+
+</li>
+
+<li>
+ Use 'svn log foo.xsl' for a summary of recent activity and to
+ see dates and revision numbers for changes.
+ </li>
+
+</ul>
+<a name="N100E3"></a><a name="edit"></a>
+<h3 class="underlined_5">Editing content</h3>
+<p>
+ See the
+ <a href="../../docs_0_80/faq.html#edit-content">FAQ</a>.
+ Basically any editor can
+ be used, because Forrest treats the editing of content as a separate
+ concern. Be sure to configure the editor to find local copies of DTDs.
+ </p>
+<a name="N100F0"></a><a name="code-style"></a>
+<h4>Code style guidelines</h4>
+<p>
+ Consistent code makes everyone's life easier.
+ See the
+ <a href="http://cocoon.apache.org/community/committer.html">Apache Cocoon \
tips</a>. + We don't get too hung up on style, but those few basic things \
are important. + However we know that coding style is mixed, so just follow \
the same style + as that which exists in the file you are editing. We can \
occasionally clean up later. + </p>
+<p>
+ Don't change anything that is not necessary. Remember that people need to \
be + able to read the differences on the svn@forrest mailing list.
+ </p>
+<a name="N10101"></a><a name="whitespace"></a>
+<h4>Whitespace</h4>
+<p>
+ For new files, use spaces instead of tabs (java files have four-space \
indentation, + xml files and other text files have two-space indentation).
+ </p>
+<p>
+ Don't let your editor automatically change the whitespace for existing
+ files.
+ </p>
+<p>
+ We know that many files in SVN do not have consistent whitespace.
+ This issue is continually being addressed. Please don't attempt
+ to rectify whitespace mixed up with other changes. This makes the
+ important changes difficult to see. Occasionally committers will
+ rectify whitespace for a set of files, when they know that no-one
+ else is working on that set.
+ </p>
+<div class="fixme">
+<div class="label">Fixme (open)</div>
+<div class="content">
+ The issues of whitespace and line endings needs to be very clearly \
described. + See some
+ <a href="http://marc.theaimsgroup.com/?l=forrest-dev&m=112450886218545">mail \
discussion</a> + references.
+ </div>
+</div>
+<a name="N10119"></a><a name="line-length"></a>
+<h4>Line length</h4>
+<p>
+ If each paragraph of an xml source document is one enourmous long
+ line, then it is extremely difficult to know the changes with the
+ SVN diffs. Developers and especially committers, need to be able to
+ efficiently review the changes. Fold long lines to a sensible
+ line-length (normally 80-characters wide but not more than 120 \
characters). + </p>
+<a name="N10123"></a><a name="review"></a>
+<h4>Use 'forrest run' for immediate gratification</h4>
+<p>
+ Edit documentation content and immediately view it in the browser.
+ When you are satisifed, then do 'forrest site' to ensure that the
+ whole documentation set hangs together and there are no broken
+ references.
+ </p>
+<p>
+ In the dynamic 'forrest run' mode, you will get some feedback
+ about some xml validation errors. However, it is better to treat
+ validation as a separate concern. Use an xml editor or command-line
+ tools such as "xmllint". As a last resort, you can use
+ 'forrest validate-xdocs'.
+ </p>
+<a name="N10130"></a><a name="tips-edit"></a>
+<h4>Tips</h4>
+<ul>
+
+<li>
+####
+ </li>
+
+</ul>
+<a name="N1013E"></a><a name="sitemap"></a>
+<h3 class="underlined_5">Understanding the Cocoon sitemap</h3>
+<p>
+ The Cocoon sitemap is essential for Forrest developers. See some \
introductions .... + </p>
+<ul>
+
+<li>
+<a href="../../docs_0_80/sitemap-ref.html">Forrest sitemap reference</a>.</li>
+
+<li>Introduction to Pipelines in this
+ <a href="../../docs_0_80/howto/howto-custom-html-source.html">How-to</a>.</li>
+
+<li>About
+ <a href="../../docs_0_80/project-sitemap.html">Forrest project \
sitemaps</a>.</li> +
+<li>
+<a href="http://cocoon.apache.org/2.1/userdocs/concepts/">Cocoon concepts</a>.</li>
+
+<li>
+<a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html">Cocoon \
sitemap</a>.</li> +
+<li>
+<a href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html#Protocols">Cocoon \
protocols</a>, i.e. cocoon:/ and + cocoon:// and context:// and resource:// \
etc. and the + <a \
href="http://cocoon.apache.org/2.1/userdocs/concepts/sitemap.html#file-url">file://</a>
+
+</li>
+
+</ul>
+<a name="N10175"></a><a name="debug"></a>
+<h3 class="underlined_5">Debugging and profiling techniques</h3>
+<a name="N1017B"></a><a name="debug-logfiles"></a>
+<h4>View logfiles</h4>
+<p>
+ The log files in WEB-INF/logs are indispensible when it comes
+ to debugging sitemaps. While ERRORs will generally always print in the log \
files, + while you're debugging something you may find it useful to also \
customize log output in + the "logkit.xconf" in webapp/WEB-INF and raise the \
level of some loggers to WARN. + </p>
+<p>
+ This <a href="../../docs_0_80/faq.html#logs">FAQ</a>
+ describes the location of the Cocoon logfiles and their
+ configuration.
+ </p>
+<a name="N1018C"></a><a name="debug-intermediate"></a>
+<h4>View intermediate processing</h4>
+<p>
+ Perhaps the easiest way to "debug" Forrest is to be aware of all the
+ processing steps between taking in the source and outputting the end
+ result. When you know these you can do 'forrest run' and request the
+ intermediate documents, such as "http://localhost:8888/body-index.xml"
+ which will return the intermediate processing of the body of the document.
+ </p>
+<p>
+ The techniques described below help you to be aware of the intermediate \
processing steps. + </p>
+<a name="N10199"></a><a name="debug-cocoon-profiler"></a>
+<h4>Using Cocoon sitemap profiler</h4>
+<p>
+ Cocoon provides a simple profiler to analyse itself.
+ This enables us to list the various sitemap pipelines and
+ components that are being used, how much time was used
+ by each, whether each component uses the Cocoon cache,
+ and show the actual xml data.
+ </p>
+<p>
+ Note that the profiler is not used by default. To switch
+ it on, edit <span class="codefrag">main/webapp/sitemap.xmap</span> and \
search + for "profiler". Follow the instructions there to replace the
+ standard "map:pipe" components with the profiling pipes.
+ </p>
+<p>
+ Now start your application as normal using 'forrest run'
+ and request localhost:8888/index.html three or four times
+ to populate the profiler with data.
+ </p>
+<p>
+ Now request the special uri localhost:8888/cprofile.html
+ to see the results. Start at the "index.html" request,
+ then follow the processing. (If the table is empty, then
+ you either forgot to do some requests before looking for results,
+ or forgot to switch on the profiler in sitemap.)
+ </p>
+<p>
+ NOTE: Do not forget to turn off the profiler in
+ <span class="codefrag">main/webapp/sitemap.xmap</span> when finished.
+ </p>
+<a name="N101B5"></a><a name="debug-sitemap-exec"></a>
+<h4>Using Cocoon sitemap execution logger</h4>
+<p>
+ In main/webapp/WEB-INF/xconf/forrest-core.xconf
+ search for "sitemap execution" and uncomment the component.
+ For each sitemap component that is executed, a message will go to
+ WEB-INF/logs/debug.log
+ </p>
+<a name="N101BF"></a><a name="debug-logtransformer"></a>
+<h4>Using Cocoon LogTransformer</h4>
+<p>
+ LogTransformers can be inserted in the sitemaps. This will write
+ the sax events at that point into a named log file.
+ Here is an example (the logfile will be written relative to this
+ particular sitemap) ...
+ </p>
+<pre class="code">
+<map:match pattern="*.html">
+ <map:generate src="sources/{1}.xml"/><strong>
+ <map:transform type="log">
+ <map:parameter name="logfile" value="my-1.log"/>
+ <map:parameter name="append" value="no"/>
+ </map:transform></strong>
+ <map:transform src="stylesheets/source-to-table.xsl"/>
+ <map:transform src="stylesheets/table-to-page.xsl"/><strong>
+ <map:transform type="log">
+ <map:parameter name="logfile" value="my-2.log"/>
+ <map:parameter name="append" value="no"/>
+ </map:transform></strong>
+ <map:transform src="stylesheets/page-to-html.xsl"/>
+ <map:serialize type="html"/>
+</map:match>
+</pre>
+<p>
+ Another use for this technique is when you are not sure which
+ path is being taken through the sitemap. Add various LogTransformers
+ with different filenames and see which one gets triggered.
+ </p>
+<a name="N101D6"></a><a name="debug-java"></a>
+<h4>Java code</h4>
+<p>
+ Since there's really no way to "trace" the java code through the
+ pipeline process, you may find <span \
class="codefrag">getLogger().debug()</span> useful for + understanding the \
processing that goes on. You can then open the page that will + use the \
selected code and use the log files mentioned above to look for + the \
information message. + </p>
+<p>
+ If you need to debug actual Cocoon components, then you would need to add \
such debug + statements to the Cocoon sources and rebuild Forrest's packaged \
Cocoon + (as described in $FORREST_HOME/etc/cocoon_upgrade/).
+ </p>
+<a name="N101E6"></a><a name="debug-links"></a>
+<h4>Finding broken internal links</h4>
+<p>
+ Do 'forrest site' to produce the whole documentation set.
+ Cocoon will report its progress and reveal any problems.
+ This <a href="../../docs_0_80/faq.html#build_msg_a">FAQ</a>
+ explains the messages that Cocoon sends to standard output.
+ Broken links are also reported to a special file, which also shows
+ the source file containing the break. The location
+ of this file is reported when Cocoon starts.
+ </p>
+<p>
+ Broken links are also reported in 'forrest run' mode.
+ Use your mouse to point to each link. The browser status bar
+ will show "error:..." instead of the actual URL.
+ </p>
+<p>
+ The most common cause is that the entry is missing in the site.xml
+ configuration file or the link in your source document is not
+ using the correct name for the "site:..." value.
+ </p>
+<a name="N101FA"></a><a name="tips-debug"></a>
+<h4>Tips</h4>
+<ul>
+
+<li>
+ Doing 'forrest -v' will provide verbose build messages to the
+ standard output.
+ </li>
+
+</ul>
+<a name="N10208"></a><a name="find"></a>
+<h3 class="underlined_5">Finding the relevant sources</h3>
+<p>
+ You will need to be able to find which sources, sitemaps, stylesheets
+ are responsible for certain processing.
+ </p>
+<a name="N10211"></a><a name="find-scenario-1"></a>
+<h4>Scenario: How does i18n work</h4>
+<p>
+ We will do a search for "i18n" to start with, then refine that after
+ exploring some of the sources.
+ </p>
+<p>
+ The UNIX tools find, grep, and sed are very powerful. We need a
+ helper script, otherwise 'find' is going to report matches for
+ the hidden .svn files and also files in /build/ directories.
+ </p>
+<pre class="code">
+echo "sed '/\.svn/d;/\/build\//d;/\/work\//d'" > ~/bin/exclude-find-svn
+chmod +x ~/bin/exclude-find-svn</pre>
+<p>
+ Now we will run find, use grep to search for the pattern in each
+ file and list the filenames. However, there is a stack of
+ forrest.properties files from the plugins, and there is i18n:text
+ being used in the viewHelper plugin, and some DTDs.
+ So weed them out ...
+ </p>
+<pre class="code">
+cd /svn/asf/forrest-trunk
+find . -type f | xargs grep -l "i18n" | ~/bin/exclude-find-svn \
+ | grep -v "forrest.properties" | grep -v viewHelper | grep -v "\/schema\/"</pre>
+<p>
+ The list of files shows that there is an FAQ about i18n, there are
+ various sitemaps in main/webapp/, some stylesheets in
+ main/webapp/skins/common/ and pelt, some other stylesheets in
+ main/webapp/resources/stylesheets/ ... we will look at the sitemaps
+ first. Use grep to list the actual matches and the filenames.
+ </p>
+<pre class="code">
+cd main/webapp
+grep i18n *.*</pre>
+<p>
+ Shows that five sitemaps are involved in some way. Always start with
+ sitemap.xamp and forrest.xmap as they do initial processing and
+ then delegate to other sitemaps. Open each file in your editor,
+ and search within for each "i18n" match. See that the xslt transformer
+ is declared to use i18n, then further down the page the "skinit"
+ pipeline uses the i18n transformer only if i18n is switched on.
+ </p>
+<a name="N10233"></a><a name="tips-find"></a>
+<h4>Tips</h4>
+<ul>
+
+<li>
+####
+ </li>
+
+</ul>
+</div>
+<a name="N10243"></a><a name="Frequently Asked Questions"></a>
+<h2 class="underlined_10">Frequently Asked Questions</h2>
+<div class="section">
+<a name="N10247"></a><a name="1+General+issues"></a>
+<h3 class="underlined_5">1 General issues</h3>
+<a name="N1024B"></a><a name="1.1+FAQ+1"></a>
+<h4>1.1 FAQ 1</h4>
+<p>
+####
+ </p>
+<a name="N10253"></a><a name="2+Other+issues"></a>
+<h3 class="underlined_5">2 Other issues</h3>
+<a name="N10257"></a><a name="2.1+FAQ+2.1"></a>
+<h4>2.1 FAQ 2.1</h4>
+<p>
+###
+ </p>
+</div>
+<a name="N1025F"></a><a name="Tips"></a>
+<h2 class="underlined_10">Tips</h2>
+<div class="section">
+<p>
+ This is a collection of general tips that do not fit in the sections above.
+ </p>
+<a name="N10267"></a><a name="tip-howto"></a>
+<h3 class="underlined_5">Explanations about howto topics on the mailing lists</h3>
+<p>
+ Often there are useful discussions on the mailing lists which explain
+ how to do certain tasks. If you don't have time to summarise that and
+ add to this howto document, then please consider just adding a tip
+ which links to the email discussion. Later someone else can summarise.
+ </p>
+</div>
+<a name="N10271"></a><a name="References"></a>
+<h2 class="underlined_10">References</h2>
+<div class="section">
+<p>
+ These are some other documents that are useful for developers.
+ </p>
+<ul>
+
+<li>
+###
+ </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 <a href="http://www.apache.org/licenses/">The Apache Software \
Foundation.</a> +</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>
Propchange: forrest/site/docs_0_80/howto/howto-dev.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/site/docs_0_80/howto/howto-dev.pdf
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-dev.pdf?rev=410200&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/site/docs_0_80/howto/howto-dev.pdf
------------------------------------------------------------------------------
svn:mime-type = application/pdf
Modified: forrest/site/docs_0_80/howto/howto-dispatcher-install.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-dispatcher-install.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-dispatcher-install.html (original)
+++ forrest/site/docs_0_80/howto/howto-dispatcher-install.html Tue May 30 00:00:23 \
2006 @@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/howto-dispatcher-quickstart.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-dispatcher-quickstart.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-dispatcher-quickstart.html (original)
+++ forrest/site/docs_0_80/howto/howto-dispatcher-quickstart.html Tue May 30 00:00:23 \
2006 @@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/howto-editcss.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-editcss.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-editcss.html (original)
+++ forrest/site/docs_0_80/howto/howto-editcss.html Tue May 30 00:00:23 2006
@@ -125,7 +125,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/howto-forrest-from-maven.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-forrest-from-maven.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-forrest-from-maven.html (original)
+++ forrest/site/docs_0_80/howto/howto-forrest-from-maven.html Tue May 30 00:00:23 \
2006 @@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Added: forrest/site/docs_0_80/howto/howto-howto.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-howto.html?rev=410200&view=auto
==============================================================================
--- forrest/site/docs_0_80/howto/howto-howto.html (added)
+++ forrest/site/docs_0_80/howto/howto-howto.html Tue May 30 00:00:23 2006
@@ -0,0 +1,613 @@
+<!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>How to write a How-To (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> > <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"> + \
<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">
+
+
+ </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="menuitem">
+<a href="../../docs_0_80/forrest-contract.html">Our Contract</a>
+</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_selected_1.1.17', '../../skin/')" \
id="menu_selected_1.1.17Title" class="menutitle" style="background-image: \
url('../../skin/images/chapter_open.gif');">How-To</div> +<div \
id="menu_selected_1.1.17" class="selectedmenuitemgroup" style="display: block;"> \
+<div class="menuitem"> +<a href="../../docs_0_80/howto/index.html">Overview</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Write a How-to</div>
+</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="howto-howto.pdf"><img alt="PDF -icon" \
src="../../skin/images/pdfdoc.gif" class="skin"><br> + PDF</a>
+</div>
+<div class="trail">Font size:
+ <input value="Reset" class="resetfont" title="Reset text" \
onclick="ndeSetTextSize('reset'); return false;" type="button"> + \
<input value="-a" class="smallerfont" title="Shrink text" \
onclick="ndeSetTextSize('decr'); return false;" type="button"> + \
<input value="+a" class="biggerfont" title="Enlarge text" \
onclick="ndeSetTextSize('incr'); return false;" type="button"> +</div>
+<h1>How to write a How-To</h1>
+<div class="abstract">This How-To describes the steps necessary to write a How-To
+ document. Writing documentation is a valuable way to give back to the
+ community.</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="#Intended Audience">Intended Audience</a>
+</li>
+<li>
+<a href="#Purpose">Purpose</a>
+</li>
+<li>
+<a href="#Prerequisites">Prerequisites</a>
+</li>
+<li>
+<a href="#Steps">Steps</a>
+<ul class="minitoc">
+<li>
+<a href="#overview">Write the Overview</a>
+</li>
+<li>
+<a href="#audience">Describe your Intended Audience</a>
+</li>
+<li>
+<a href="#purpose">State the Purpose</a>
+</li>
+<li>
+<a href="#prerequisites">List any Prerequisites</a>
+</li>
+<li>
+<a href="#steps">Describe the Steps of your How-To</a>
+</li>
+<li>
+<a href="#extension">Extend the Learning</a>
+</li>
+<li>
+<a href="#summarize">Summarize the Entire Process</a>
+</li>
+<li>
+<a href="#tips">Additional Tips or FAQs</a>
+</li>
+<li>
+<a href="#references">References</a>
+</li>
+<li>
+<a href="#contribute">Submit via the project issue tracker</a>
+</li>
+<li>
+<a href="#feedback">Get some feedback</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Extension">Extension</a>
+</li>
+<li>
+<a href="#Frequently Asked Questions">Frequently Asked Questions</a>
+<ul class="minitoc">
+<li>
+<a href="#1+General+issues">1 General issues</a>
+<ul class="minitoc">
+<li>
+<a href="#1.1+What+is+the+difference+between+a+How-To+and+a+tutorial%3F">1.1 What is \
the difference between a How-To and a tutorial?</a> +</li>
+</ul>
+</li>
+<li>
+<a href="#2+Style+issues">2 Style issues</a>
+<ul class="minitoc">
+<li>
+<a href="#2.1+What+spelling+convention+should+I+follow%3F">2.1 What spelling \
convention should I follow?</a> +</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<a href="#Tips">Tips</a>
+<ul class="minitoc">
+<li>
+<a href="#tip-dtd">How-To dtd</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#References">References</a>
+</li>
+</ul>
+</div>
+<a name="N10013"></a><a name="Intended Audience"></a>
+<h2 class="underlined_10">Intended Audience</h2>
+<div class="section">
+<p>Users who are ready to share their knowledge and experiences with the
+ community.</p>
+</div>
+<a name="N1001B"></a><a name="Purpose"></a>
+<h2 class="underlined_10">Purpose</h2>
+<div class="section">
+<p>These guidelines are based on successful how-to document structures
+ used by other open source projects with diverse author groups. Following
+ these tried and true guidelines will help to ensure the effectiveness of
+ your work.</p>
+</div>
+<a name="N10023"></a><a name="Prerequisites"></a>
+<h2 class="underlined_10">Prerequisites</h2>
+<div class="section">
+<p>How-To authors should have:</p>
+<ul>
+
+<li>A unique How-To topic, related to using Forrest, which fulfills a
+ specific need. Look at existing How-Tos to find a niche for your work.
+ Consider posting your idea for the How-To to user mailing list, to make
+ sure another author's draft is not already in process.</li>
+
+
+<li>A sufficient ability in English to write the document. However, we would
+ rather that you just make a start, as the community can help to
+ fine-tune the document.</li>
+
+
+<li>Copy this template document "howto-howto.xml" to be modified with
+ your own content as necessary.</li>
+
+
+<li>An understanding of the How-To document structure. Just use this
+ template document and you will be safe.
+ Make sure you run '<span class="codefrag">forrest validate-xdocs</span>' \
before + contributing your document.</li>
+
+</ul>
+<div class="note">
+<div class="label">Note</div>
+<div class="content">See the <a \
href="../../docs_0_80/../dtdx/howto-v20.dtdx.html">DTD documentation</a> + which \
explains the document structure.</div> +</div>
+</div>
+<a name="N10044"></a><a name="Steps"></a>
+<h2 class="underlined_10">Steps</h2>
+<div class="section">
+<p>Here is how to proceed.</p>
+<a name="N1004C"></a><a name="overview"></a>
+<h3 class="underlined_5">Write the Overview</h3>
+<p>An overview helps potential readers to determine quickly if a
+ particular How-To matches their interests or needs. In a few sentences,
+ summarize the main points of your How-To. Make sure to include any
+ critical definitions which will help readers evaluate the utility of
+ your How-To. Consider writing the overview last, after you have
+ completed all other sections.</p>
+<a name="N10056"></a><a name="audience"></a>
+<h3 class="underlined_5">Describe your Intended Audience</h3>
+<p>If your How-To is targetted at a specific audience, describe it here.
+ For example, potential readers will have different levels of skill using
+ Forrest. They will also bring different areas of expertise and
+ backgrounds to their How-To learning experience. When you clarify your
+ target audience up front, you will save all other readers time and
+ confusion.</p>
+<a name="N10060"></a><a name="purpose"></a>
+<h3 class="underlined_5">State the Purpose</h3>
+<p>State the purpose of your How-To. Explain how the reader will benefit
+ by reading it. Give your reader an incentive or two to continue.</p>
+<a name="N1006A"></a><a name="prerequisites"></a>
+<h3 class="underlined_5">List any Prerequisites</h3>
+<p>Inform your reader about any required knowledge, configuration, or
+ resources they may need before stepping through your How-To. Assist them
+ in this preparation by linking to other useful resources on the Forrest
+ site or the web. Helping your readers to prepare increases the
+ likelihood that they will continue reading your How-To.</p>
+<a name="N10074"></a><a name="steps"></a>
+<h3 class="underlined_5">Describe the Steps of your How-To</h3>
+<p>In a precise, step-by-step approach, walk your reader through the
+ process. Make sure your reader can reproduce your intended result by
+ following your exact steps. Make the learning process efficient by
+ supplying sample code snippets or configuration details as
+ necessary.</p>
+<a name="N1007E"></a><a name="extension"></a>
+<h3 class="underlined_5">Extend the Learning</h3>
+<p>Provide your reader with a few real-world examples of how the
+ techniques or capabilities gained from your How-To could be applied.
+ Reward the reader for successfully completing the How-To with a few
+ ideas about how it will pay off.</p>
+<a name="N10088"></a><a name="summarize"></a>
+<h3 class="underlined_5">Summarize the Entire Process</h3>
+<p>In a few sentences, remind the reader what they have just learned.
+ This helps to reinforce the main points of your How-To.</p>
+<a name="N10092"></a><a name="tips"></a>
+<h3 class="underlined_5">Additional Tips or FAQs</h3>
+<p>In some cases, step-by-step instructions simply aren't enough. Use
+ this section to pass on any other tips or frequently asked questions.
+ Anticipating the needs of your readers will increase the overall success
+ of your writing effort.</p>
+<a name="N1009C"></a><a name="references"></a>
+<h3 class="underlined_5">References</h3>
+<p>Remember to acknowledge any third-party resources or individuals who
+ contributed to the development of your How-To. Consider providing links
+ for those motivated readers who want to learn more.</p>
+<a name="N100A6"></a><a name="contribute"></a>
+<h3 class="underlined_5">Submit via the project issue tracker</h3>
+<p>Create an attachment for your How-To document, and submit it via the
+ project <a href="../../issues.html">issue tracker</a>.</p>
+<a name="N100B4"></a><a name="feedback"></a>
+<h3 class="underlined_5">Get some feedback</h3>
+<p>When the committers have added your document then it will be
+ available for everyone to to build upon and enhance. Feedback will
+ happen via the <a href="../../mail-lists.html">mailing lists</a>.</p>
+</div>
+<a name="N100C2"></a><a name="Extension"></a>
+<h2 class="underlined_10">Extension</h2>
+<div class="section">
+<p>Solutions can be extended to cover many different problem domains. A
+ nearly unlimited number of potential How-To topics, from simple to
+ complex, are available right now, limited only by your imagination.</p>
+</div>
+<a name="N100CA"></a><a name="Frequently Asked Questions"></a>
+<h2 class="underlined_10">Frequently Asked Questions</h2>
+<div class="section">
+<a name="N100CE"></a><a name="1+General+issues"></a>
+<h3 class="underlined_5">1 General issues</h3>
+<a name="N100D2"></a><a \
name="1.1+What+is+the+difference+between+a+How-To+and+a+tutorial%3F"></a> +<h4>1.1 \
What is the difference between a How-To and a tutorial?</h4> +<p>The goal of a How-To \
is to help the reader to accomplish a specific + task with clear and consise \
instructions. While tutorials may contain + How-To-like instructions and \
content, they also include additional + background and conceptual content to \
help teach their readers higher + order concepts along the way. How-Tos are \
concerned about filling an + immediate, short-term need. Tutorials often \
provide long-term + knowledge which can be applied across a range of \
needs.</p> +<a name="N100DA"></a><a name="2+Style+issues"></a>
+<h3 class="underlined_5">2 Style issues</h3>
+<a name="N100DE"></a><a name="2.1+What+spelling+convention+should+I+follow%3F"></a>
+<h4>2.1 What spelling convention should I follow?</h4>
+<p>Use whatever spelling convention (American, British, etc.) that is
+ most intuitive to you.</p>
+</div>
+<a name="N100E6"></a><a name="Tips"></a>
+<h2 class="underlined_10">Tips</h2>
+<div class="section">
+<a name="N100EB"></a><a name="tip-dtd"></a>
+<h3 class="underlined_5">How-To dtd</h3>
+<p>The document structure is likely to change at some time. Please note that
+ this HOWTO page is likely to change as well.</p>
+</div>
+<a name="N100F5"></a><a name="References"></a>
+<h2 class="underlined_10">References</h2>
+<div class="section">
+<p>This is not the first, nor will it be the last, How-To on writing
+ How-Tos. For other ideas and opinions on the matter, check out the
+ following sources.</p>
+<ul>
+
+<li>Joel D. Canfield's <a \
href="http://www.evolt.org/article/How_To_Write_A_How_To/9741/18250/index.html">How + \
to Write a How-To</a> on evolt.org.</li> +
+
+<li>The Linux Documentation Project's <a \
href="http://www.tldp.org/HOWTO/HOWTO-INDEX/index.html">HOWTO</a> + index page \
provides many excellent How-To documents to inspire your + efforts.</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 <a href="http://www.apache.org/licenses/">The Apache Software \
Foundation.</a> +</div>
+<!--+
+ |end bottomstrip
+ +-->
+</div>
+</body>
+</html>
Propchange: forrest/site/docs_0_80/howto/howto-howto.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/site/docs_0_80/howto/howto-howto.pdf
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-howto.pdf?rev=410200&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/site/docs_0_80/howto/howto-howto.pdf
------------------------------------------------------------------------------
svn:mime-type = application/pdf
Modified: forrest/site/docs_0_80/howto/howto-pdf-tab.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-pdf-tab.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-pdf-tab.html (original)
+++ forrest/site/docs_0_80/howto/howto-pdf-tab.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/howto-structurer-contracts.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-structurer-contracts.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-structurer-contracts.html (original)
+++ forrest/site/docs_0_80/howto/howto-structurer-contracts.html Tue May 30 00:00:23 \
2006 @@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/howto-structurer-dsl.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/howto-structurer-dsl.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/howto-structurer-dsl.html (original)
+++ forrest/site/docs_0_80/howto/howto-structurer-dsl.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/index.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/index.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/index.html (original)
+++ forrest/site/docs_0_80/howto/index.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/multi/howto-multi.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/multi/howto-multi.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/multi/howto-multi.html (original)
+++ forrest/site/docs_0_80/howto/multi/howto-multi.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/multi/step1.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/multi/step1.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/multi/step1.html (original)
+++ forrest/site/docs_0_80/howto/multi/step1.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/multi/step2.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/multi/step2.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/multi/step2.html (original)
+++ forrest/site/docs_0_80/howto/multi/step2.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/howto/multi/step3.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/howto/multi/step3.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/howto/multi/step3.html (original)
+++ forrest/site/docs_0_80/howto/multi/step3.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../../../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../../../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../../../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/index.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/index.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/index.html (original)
+++ forrest/site/docs_0_80/index.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/index.xml
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/index.xml?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/index.xml (original)
+++ forrest/site/docs_0_80/index.xml Tue May 30 00:00:23 2006
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?><!--
- Copyright 2002-2005 The Apache Software Foundation or its licensors,
- as applicable.
-
- Licensed 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
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ 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
Modified: forrest/site/docs_0_80/libre-intro.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/libre-intro.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/libre-intro.html (original)
+++ forrest/site/docs_0_80/libre-intro.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/linking.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/linking.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/linking.html (original)
+++ forrest/site/docs_0_80/linking.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/locationmap.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/locationmap.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/locationmap.html (original)
+++ forrest/site/docs_0_80/locationmap.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/menu-index.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/menu-index.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/menu-index.html (original)
+++ forrest/site/docs_0_80/menu-index.html Tue May 30 00:00:23 2006
@@ -32,7 +32,7 @@
</li>
<li>
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </li>
</ul>
Modified: forrest/site/docs_0_80/primer.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/primer.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/primer.html (original)
+++ forrest/site/docs_0_80/primer.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/project-sitemap.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/project-sitemap.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/project-sitemap.html (original)
+++ forrest/site/docs_0_80/project-sitemap.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/searching.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/searching.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/searching.html (original)
+++ forrest/site/docs_0_80/searching.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/sitemap-ref.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/sitemap-ref.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/sitemap-ref.html (original)
+++ forrest/site/docs_0_80/sitemap-ref.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/skin-package.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/skin-package.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/skin-package.html (original)
+++ forrest/site/docs_0_80/skin-package.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/skins.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/skins.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/skins.html (original)
+++ forrest/site/docs_0_80/skins.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
Modified: forrest/site/docs_0_80/status-themes.html
URL: http://svn.apache.org/viewvc/forrest/site/docs_0_80/status-themes.html?rev=410200&r1=410199&r2=410200&view=diff
==============================================================================
--- forrest/site/docs_0_80/status-themes.html (original)
+++ forrest/site/docs_0_80/status-themes.html Tue May 30 00:00:23 2006
@@ -124,7 +124,7 @@
<a href="../docs_0_80/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
-<a href="../docs_0_80/howto/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> +<a \
href="../docs_0_80/build.html" title="Build and install the current \
unreleased version">Building Forrest from Source</a> </div>
</div>
<div class="menuitem">
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic