blob: efb5b0f47ebca9d2c4006dc4b9c452b650fb9003 [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>Upgrading to Apache Forrest 0.7 (v0.7)</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="unselected" href="../index.html">Welcome</a>
</li>
<li>
<a class="unselected" href="../contrib.html">Developers</a>
</li>
<li class="current">
<a class="selected" href="../versions/index.html">Versioned Docs</a>
</li>
<li>
<a class="unselected" href="../pluginDocs/index.html">Plugins</a>
</li>
<li>
<a class="unselected" href="../tools/index.html">Tools</a>
</li>
</ul>
<!--+
|end Tabs
+-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
|start Subtabs
+-->
<div id="level2tabs">
<a class="selected" href="../docs_0_70/index.html">0.70 (current)</a><a class="unselected" href="../docs_0_80/index.html">0.80-dev (under development)</a><a class="unselected" href="../docs_0_60/index.html">0.60 (past)</a>
</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.70</div>
<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="../docs_0_70/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/faq.html">FAQs</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/changes.html">Changes</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/todo.html">Todo</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/your-project.html">Using Forrest</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/validation.html">XML Validation</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/linking.html">Menus and Linking</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/searching.html">Searching</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/skins.html">Default Skins</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/skin-package.html">Skin Packages</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/views.html">Views-dev</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/forrest-contract.html">Our Contract</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/compliance.html">Standards Compliance</a>
</div>
<div onclick="SwitchMenu('menu_1.1.14', '../skin/')" id="menu_1.1.14Title" class="menutitle">How-To</div>
<div id="menu_1.1.14" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_70/howto/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-howto.html">Write a How-to</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-asf-mirror.html">Download mirror</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-pdf-tab.html">Create tab PDF</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-corner-images.html">CSS corner SVG</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-forrest-from-maven.html">Maven Integration</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-buildPlugin.html">Build a Plugin</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-custom-html-source.html">Custom html source</a>
</div>
<div onclick="SwitchMenu('menu_1.1.14.10', '../skin/')" id="menu_1.1.14.10Title" class="menutitle">Multipage HowTo</div>
<div id="menu_1.1.14.10" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_70/howto/multi/howto-multi.html">Introduction</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/multi/step1.html">Step 1</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/multi/step2.html">Step 2</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/multi/step3.html">Step 3</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.14.11', '../skin/')" id="menu_1.1.14.11Title" class="menutitle">Views</div>
<div id="menu_1.1.14.11" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_70/howto/howto-view-install.html">Install views</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-view-dsl.html">forrest:view DSL</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/howto-view-contracts.html">contract implementations</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.1.15', '../skin/')" id="menu_1.1.15Title" class="menutitle">Advanced Topics</div>
<div id="menu_1.1.15" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_70/build.html">Building Forrest</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/catalog.html">Using DTD Catalogs</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/sitemap-ref.html">Sitemap Reference</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/project-sitemap.html">Project sitemap</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/cap.html">Sourcetype Action</a>
</div>
</div>
<div class="menupage">
<div class="menupagetitle">Upgrading to 0.7</div>
</div>
<div onclick="SwitchMenu('menu_1.1.17', '../skin/')" id="menu_1.1.17Title" class="menutitle">Reference docs</div>
<div id="menu_1.1.17" class="menuitemgroup">
<div onclick="SwitchMenu('menu_1.1.17.1', '../skin/')" id="menu_1.1.17.1Title" class="menutitle">DTD documentation</div>
<div id="menu_1.1.17.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.17.2', '../skin/')" id="menu_1.1.17.2Title" class="menutitle">Doc samples</div>
<div id="menu_1.1.17.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.18', '../skin/')" id="menu_1.1.18Title" class="menutitle">Older Docs</div>
<div id="menu_1.1.18" class="menuitemgroup">
<div class="menuitem">
<a href="../docs_0_70/primer.html">Forrest Primer</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/libre-intro.html">Libre</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/dreams.html">Dream list</a>
</div>
<div class="menuitem">
<a href="../docs_0_70/howto/cvs-ssh/howto-cvs-ssh.html">CVS over SSH</a>
</div>
</div>
</div>
<div id="credit">
<hr>
This is documentation for current version v0.7
(<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/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
</div>
</div>
<!--+
|end Menu
+-->
<!--+
|start content
+-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="upgrading_07.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>Upgrading to Apache Forrest 0.7</h1>
<div id="motd-area">
This is documentation for current version v0.7
(<a href="http://forrest.apache.org/versions/">More</a>)</div>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#introduction">Introduction</a>
</li>
<li>
<a href="#new">New Features</a>
</li>
<li>
<a href="#clean">Run a clean target after upgrade</a>
</li>
<li>
<a href="#home">New location of $FORREST_HOME</a>
</li>
<li>
<a href="#jdk14">Java 1.4 (or newer) is required</a>
</li>
<li>
<a href="#tips">General upgrade tips</a>
</li>
<li>
<a href="#plugin">Plugin architecture</a>
</li>
<li>
<a href="#configure-plugin">Configure plugins</a>
</li>
<li>
<a href="#raw">Including raw un-processed content</a>
</li>
<li>
<a href="#To+be+continued...">To be continued...</a>
</li>
</ul>
</div>
<a name="N1000D"></a><a name="introduction"></a>
<h2 class="underlined_10">Introduction</h2>
<div class="section">
<p>
This page describes some changes to Apache Forrest that affect people who are
upgrading to the 0.7 version.
If you have other issues, then please discuss on either the
<a href="../mail-lists.html#forrest-dev">dev</a> or
<a href="../mail-lists.html#forrest-user">user</a>
mailing lists.
As more experience is gained, this document will be updated.
</p>
<p>
(If you are upgrading from a version prior to 0.6 then you will need
to see the notes for the <a href="../docs_0_60/upgrading_06.html">previous</a>
upgrade.)
</p>
</div>
<a name="N10026"></a><a name="new"></a>
<h2 class="underlined_10">New Features</h2>
<div class="section">
<p>
The following list shows some of the key new features
(for the full list of changes, see the
<a href="../docs_0_80/changes.html">change log</a>).
</p>
<ul>
<li>Plugin architecture</li>
<li>Java 1.4</li>
</ul>
<p>
As usual, do a "forrest seed site" in a new directory and compare the
forrest.properties and skinconf.xml with that of your project.
</p>
</div>
<a name="N10040"></a><a name="clean"></a>
<h2 class="underlined_10">Run a clean target after upgrade</h2>
<div class="section">
<p>
Do 'forrest clean-work' in each of your projects. This also removes
the old Cocoon disk cache.
</p>
</div>
<a name="N1004A"></a><a name="home"></a>
<h2 class="underlined_10">New location of $FORREST_HOME</h2>
<div class="section">
<p>
$FORREST_HOME is now the top-level of the distribution.
Also make sure $PATH gets updated to use the new $FORREST_HOME/bin
</p>
</div>
<a name="N10054"></a><a name="jdk14"></a>
<h2 class="underlined_10">Java 1.4 (or newer) is required</h2>
<div class="section">
<p>Java 1.4 (or newer) is required, starting with this Forrest 0.7 version.
For further information, see <a href="../docs_0_70/faq.html#requirements">FAQ</a>.
</p>
</div>
<a name="N10062"></a><a name="tips"></a>
<h2 class="underlined_10">General upgrade tips</h2>
<div class="section">
<p>
Synchronise your project's skinconf.xml and forrest.properties files.
</p>
<p>
Take advantage of the separation of concerns. In a new workspace,
create a fresh
'<span class="codefrag">forrest seed</span>' site, then tweak its forrest.properties
and skinconf.xml until it reflects your old site.
When it is ready, replace your project's skinconf.xml and
forrest.properties files.
Any remaining issues would concern other aspects of your configuration,
such as site.xml and your actual content.
</p>
</div>
<a name="N10072"></a><a name="plugin"></a>
<h2 class="underlined_10">Plugin architecture</h2>
<div class="section">
<p>
See
<a href="../pluginDocs/plugins_0_80/pluginInfrastructure.html">Plugin Infrastructure</a>
and
<a href="../pluginDocs/plugins_0_80/usingPlugins.html">Extending Forrest with Plugins</a>
and for developing new plugins see
<a href="../docs_0_70/howto/howto-buildPlugin.html">How to Build a Plugin</a>.
See the list of
<a href="../pluginDocs/plugins_0_80/index.html">current plugins</a>
and their documentation.
</p>
<p>
Note that other experimental plugins can be found in the
"whiteboard/plugins" directory.
</p>
</div>
<a name="N1008F"></a><a name="configure-plugin"></a>
<h2 class="underlined_10">Configure plugins</h2>
<div class="section">
<p>
Some functionality has been moved out of the forrest core and into
plugins. You will need to declare any plugins that are used by
your project, e.g. if you use projectInfo (status, changes, todo)
and PDF output, then declare the following in forrest.properties
</p>
<pre class="code">
project.required.plugins=org.apache.forrest.plugin.input.projectInfo,org.apache.forrest.plugin.output.pdf
</pre>
</div>
<a name="N1009D"></a><a name="raw"></a>
<h2 class="underlined_10">Including raw un-processed content</h2>
<div class="section">
<p>The method for including "raw un-processed content" has changed.
</p>
<p>
In 0.6 version, the raw content was placed in the
src/documentation/content/ directory and potential sub-directories.
In the generated site, these links would automatically function.
Any linked file with .html extension was not processed and not
adorned with Forrest skin and navigation menus.
</p>
<p>It was also possible to place HTML content in the xdocs directory
where it would be copied across if it was linked from the main
content.</p>
<p>
In 0.7 version, any file that is linked to, needs to be placed in
the content/xdocs/ directory structure.
Any linked file with .html extension is now processed and is
adorned with Forrest skin and navigation menus.
</p>
<p>If you
you wish to emulate the behaviour of 0.6 and earlier then you
must add the following to your project sitemap.</p>
<pre class="code">
&lt;map:match pattern="**.html"&gt;
&lt;map:select type="exists"&gt;
&lt;map:when test="{properties:content}{0}"&gt;
&lt;map:read src="{properties:content}/{0}" mime-type="text/html"/&gt;
&lt;!--
Use this instead if you want JTidy to clean up your HTML
&lt;map:generate type="html" src="{properties:content}/{0}" /&gt;
&lt;map:serialize type="html"/&gt;
--&gt;
&lt;/map:when&gt;
&lt;map:when test="{properties:content.xdocs}{0}"&gt;
&lt;map:read src="{properties:content.xdocs}/{0}" mime-type="text/html"/&gt;
&lt;!--
Use this instead if you want JTidy to clean up your HTML
&lt;map:generate type="html" src="{properties:content.xdocs}/{0}" /&gt;
&lt;map:serialize type="html"/&gt;
--&gt;
&lt;/map:when&gt;
&lt;/map:select&gt;
&lt;/map:match&gt;
</pre>
<p>
If you need to include files that are not linked to,
then place them in the src/documentation/content/ directories
as with the 0.6 version.
</p>
</div>
<a name="N100BA"></a><a name="To+be+continued..."></a>
<h2 class="underlined_10">To be continued...</h2>
<div class="section">
<p>...as more issues are discovered/remembered :) Please send feedback
to the
<a href="../mail-lists.html#forrest-dev">mailing list</a>.</p>
</div>
</div>
<!--+
|end content
+-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
|start bottomstrip
+-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
// --></script>
</div>
<div class="copyright">
Copyright &copy;
2002-2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
|end bottomstrip
+-->
</div>
</body>
</html>