Apache Forrest Tutorial

What is Apache Forrest?

Apache Forrest software is a web - publishing framework which is based on Apache Cocoon, and relevant standard, which separate presentation from content. Apache Forrest transmutes input from various sources into a unified presentation in one or more output formats. Apache Forrest is an XML single source publishing framework which allows different types of data-files as input, such as several popular word processing and spreadsheet files. Apache Forrest can generate static documents, or also be used as a dynamic server. Its automated facility can deploy Apache Forrest. It is a static document generator. If you are not aware any of these XML, Ant, HTML, or CSS, then Apache Forrest is not for you. It is also difficult to install and need to read the instruction before installing it. Apache Forrest has written in Java. Apache Forrest is not a content management system (CMS). It lacks admin function and full workflow of CMS. The primary use of it is integrating and aggregating content from various sources and presenting them in a unified format for human consumptions.

Features and explanation of Forrest

Apache Forrest is designed according to the new user mind. Mostly effort has gone into making the process of generating any new site easy, simple, useful, and effective. Step 1: Do 'forrest seed' to colonize the directory with template site structure and contents. Step 2: Add the content by editing docs in task-specific, presentation-neural XML. Step 3: Now, Do 'forrest run' and then use the web browser to immediate review changes at http://localhost:8888/ Step 4: Next step is Do 'forrest' to generate the complete website from XML sources. Several styles which are also known as skins are available. A custom skin can also be developed. Step 5: For more information for installation and use, see the Using Forrest guide. Note: First time when you run the Apache Forrest, it may attempt to retrieve some plugins from the internet. (It depends on which distribution of Apache Forrest you have installed. In some cases it will happen whenever a plugin specified, in other cases, for example, you have installed all the plugins locally or have checked out the whole source tree, the plugins will be retrieved from your local installation.) In all these types of cases once the plugins installed locally, then there is no need for the Forrest to access the internet. The focus of the Apache Forrest is on low "startup cost" which makes it absolute for rapid development of small sites, where time and budget constraints are not allowed time wasting HTML experiments. The same technology can scale up to large projects. In fact, your development team doesn't need Java experience, or even XML skills to use the Apache Forrest. The framework lets you only concentrate on content and design. Forrest is unequaled at enabling content producers to get their message out fast by separating content from presentation, providing content templates and pre-written skins. This separation of concern makes Apache Forrest excellent to publish project documentation, intranet, and home pages

Apache Forrest Foundation

Apache Forrest Foundation

Advantage of Apache Forrest

Apache Forrest is far from quick and dirty solutions. Apache Forrest is built on the world's leading XML framework, i.e., Apache Cocoon, which provides the advanced user with robust capabilities.
  • Various task-specific source XML formats can be used. These source formats include- Apache xdocs XML formats, plain HTML documents, some wiki formats, and a subset of DocBook.
  • Various output formats also supported. For example - HTML and PDF
  • SVG to PNG rendering. Just drop SVG in an appropriate directory and rendered as PNG.
  • Version Control System(CVS or supervision)
  • Mailing Lists(which can be exclusive for the project, or in conjunction with the incubator Project)
  • Web page
  • Documentation(Apache Forrest)
  • Bug tracking
  • Task Management

History and Versions of Apache Forrest

In January 2002, Apache Forrest was started, with significant use-case being to create efficient xml.apache.org group of project websites with a uniform, light weighted and easy to navigate layout and structure. Apache Forrest was to be a Sourceforge - like a project management tool, Complementing Apache Gump (http://gump.apache.org/). Apache Forrest became a top-level project in May 2011. All the versions of Apache Forrest have their copy of the documentation, and there is also documentation for each plugin. Forrest seed site contains example and documentation.
  • Apache Forrest 0.9 released on February 7, 2011. Consolidation.
  • Apache Forrest 0.8 released on April 18, 2007. Locationmaps describe the mapping from requests to locations that enable content and resource to be located at various sources.

History of Changes

List of version released of Apache Forrest-
  • Version 0.10-dev (not released yet)
  • Version 0.9 (07-02-2011)
  • Version 0.8 (18-04-207)
  • Version 0.7.1-dev (not released)
  • Version 0.7 (23-06-2005)
  • Version 0.6 (15-10-2004)
  • Version 0.5.1 (06-10-2003)
  • Version 0.5 (13-09-2003)
  • Version 0.4 (12-02-2003)
  • Version 0.3 (30-01-2003)
  • Version 0.2 (16-11-2016)
  • Version 0.2rc1 (13-11-2002)

Prerequisites

Set up a Linux server with Apache. Apache Forrest can be implemented both as a Java servlet, and Java command line application. The following requirements needs for installing it:
  • Java 1.5 or later compatible virtual machine for your operating system.

Download Apache Forrest

Go to the Apache Forrest Website, i.e., http://forrest.apache.org/mirrors.cgi and grab the latest release of Apache Forrest (Usually apache-forrest-xxxxx-bin.zip for windows systems and apache-forrest-xxxxx-bin.tar.gz for Unix/Linux systems). To run Apache Forrest, you also need JDK. As of Forrest 0.5.1, JDK is necessary - make sure that it is your classpath. If you want to run Forrest with the latest JDK 5.0, you better get the Forrest source code and recompile it. Apache Forrest is still pre-1.0 release version. It is usable for those who are prepared to move with it. To download a distributed of Apache Forrest from one of our mirrors use the links below.  Version 2.0 Apache Forrest releases are available under the Apache License. See the README.txt and LICENSE.txt and NOTICE.txt files contained in each release. It's a good practice to verify the integrity of the distribution files. There are two packages, i.e., "source" and "dependencies".  The source package contains all of the source code, resources, and documentation, together with pre-built ready to run forrest binary, and the dependencies package which includes pre-packaged copies of relevant portions of Apache Ant and Apache Cocoon and also other supporting products. Firstly, you have to unpack the "source" package to your selected installation location and then unpack the "dependencies" over the top of that, which will install each to the appropriate and suitable location. After unpacking this distribution, follow the instruction written in README.txt to see the requirements, Documentation and Installation Instructions, Licensing and legal issues and credits.

Verify the Integrity

It is essential for you that you verify the integrity of the downloaded files using MD5 and PGP signature. MD5 verification ensures that the file was not corrupted or tampered with, and PGP verification ensures that the file came from a specific person.

MD5 Signature

You need to use a program md5 or, md5sum to verify the MD% checksum on the files which are included in many UNIX distributions. It is also available as a part of GNU Textutils. Windows users can also get binary md5 programs from here (http://www.fourmilab.ch/md5/), here (http://www.pc-tools.net/win32/md5sums/) or even an openssl client from here (http://slproweb.com/products/Win32OpenSSL.html). MD5 Signature

PGP Signature

By using tools such as GPG (https://www.gnupg.org/), you can verify the  PGP signature. Firstly you have to download the Apache Forrest KEYS form here (http://www.apache.org/dist/forrest/KEYS) as well as the *.asc signature file for the particular distribution. It is essential that you get these files from the trusted source, i.e., main ASF distribution site, rather than from a mirror. Then you have to verify the signatures using... PG.P Signature

Current official release

Currently, you are using http://mirrro.estointernet.in/apache/ and if you have any problem with this mirror, then visit http://forrest.apache.org/mirror.cgi#how and please select another mirror. If all mirrors are not working well, then there are backup mirror at the end of the list. The current version release of Apache Forrest is 0.9
  • apache-forrest-0.9-dependencies.tar.gz(PGP | MD5 | SHA1)
  • apache-forrest-0.9-sources.tar.gz(PGP | MD5 | SHA1)
Note:  Both packages are needed

Installing Forrest

For the installation, the instruction reads from the index.html file in this directory. To install Apache Forrest, you can download the gzip tar achieves from forrest.apache.org i.e. Step 1:  You have to visit http://forrest.apache.org/mirrors.cgi#how site and download the file pointed by aero in the figure. Installing Forrest Step 2: Now, you need to open the downloaded file with WinRAR application where you find and go to apache-forrest folder wh ere you get index.html file. Installing Forrest 2 Step 3: Extract the index.html file and read this file and follow instruction. Installing Forrest 3 Download the latest version of Apache Forrest and follow the index.html in the top-level, or if you want to try the development version, then build Forrest (http://forrest.apache.org/docs_0_100/build.html) from the source.

Setting up the Environment

After downloading and extracting Apache Forrest, we need to add the environment variable. The reason for this is so that "forrest" command is available everywhere and it can locate its home directory and resource. How to manage your operating system it is beyond the scope of Forrest to explain. In Unix/Linux
  • Change the directory to the top-level of the forrest distribution and do
  • ~/apache-forrest$ export FORREST_HOME = 'pwd'
  • ~/apache-forrest$ export PATH=$PATH:$FORREST_HOME/bin
For permanently setting Environment Variable for LINUX/UNIX. To permanently add the variable /etc/bash/bashrc (for all users) or ~/.bash_profile (for individual users). Include these lines to the end of the file which you want to edit: path set You may use that to link Forrest into your system's binary directory, instead of explicitly exporting environment variable, if your system uses the alternatives systems to manage application binaries and locations.

update-alternatives -version

Alternatives entries have a priority because you may install other versions of Forrest, and switch among them using update-alternatives: the highest priority entry will be chosen as the default until you explicitly select another one to become active. Here, we select a number based on Forrest's version. Version 0.8 is installed, and priority 800 leaves the room for adding several other versions; for instance 0.9 may use priority 900, and for instance 1.0 maybe 1000. Forrest is now available on your command line. Execute the command: forrest -help Forrest should print its help, and for more help with the alternatives system, use the following command: update-alternatives --help or man update-alternatives In Windows 2000
  • Go to "My Computer" à "Properties" à "Environment Variables" and
  • Add a new variable with Name FORREST_HOME as C:\full\path\to\apache-forrest
  • Edit PATH by adding %PATH%; %FORREST_HOME%\bin
In Windows XP
  • Go to "My Computer" à "Properties" à "Environment Variables" and
  • Create a new variable with Name FORREST_HOME as C:\full\path\to\apache-forrest
  • Edit PATH as %FORREST_HOME%\bin to the end of the current value.
New Features  Some of the key new features are introduced are given below-
  • Packaged Apache Cocoon is upgraded, along with several other crucial supporting products such as Apache Xerces and Apache Xalan, etc.
  • Java 1.5 version needed.
  • The new properties system supplements the properties.
License The Apache Forrest project uses Apache License 2.0 and also adheres to open development ideals. External Links http://forrest.apache.org