Apache Software Foundation > Apache Forrest
Font size:      

Forrest Glossary

This is documentation for current version v0.9 (More)


This is a glossary of terms and their definitions for the Apache Forrest project. Some plugins also have a glossary, for example Dispatcher.


Add content to this Glossary

1. This glossary is incomplete, please help where you can by adding definitions to existing items where needed. Also, add new Items to the glossary as appropriate.

Abbreviations in electronic mail

1. Abbreviations and acronyms are often used as shorthand in email, e.g. AFAIK "As Far As I Know", IMO "In My Opinion".

The Apache Software Foundation (ASF)

1. The Apache Software Foundation is the home of Apache Forrest. The ASF is a non-profit charity, membership-based corporation.


Cascading Style Sheets (CSS)

1. A simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents. Source: W3C.



1. The aim of the "Dispatcher" concept is to provide a flexible framework for creating site and page specific layout. See the Dispatcher documentation and the Dispatcher Glossary for specific terminology.



1. A Generator is a Cocoon sitemap component. Each pipeline begins with a Generator. Its job is to generate XML content as SAX events and initialize the pipeline processing. The default generator is the "File Generator" which reads an xml document from the local file system or from any url.


Internal document format

1. Forrest's internal document format (defined by an XML-grammar). This format is the common denominator for all things going into or coming out of Forrest's core processing. All input-plugins will translate their supported documents into this format, all output-plugins will create the output by transforming this format into something else. Currently Forrest uses "xdoc" document-v13-dtd as its internal format (see definition of xdoc below). We plan to later use a set of xhtml2 as the internal format.



1. The "linkmap" is an internal resource that transforms the site.xml navigation and linking configuration file into a table-of-contents. Every site has one at localhost:8888/linkmap.html


1. Locationmaps define the mapping from requests to locations, which enables content and resources to be located at various different sources. The advantage of this is that the URL seen by the user need bear no relation to the location of the source document, thus Forrest can separate the client URL space from the source document URL space. Thus, using the locationmap it is possible to pull together documents from many different locations into a single uniform site. In addition, since the user URL space is now unconnected to the source URL space it is possible to move source documents without breaking any existing user links. There are various core locationmaps in the main/webapp directory, each plugin can utilise locationmaps, and projects can manage their resources with a project-specific locationmap.



1. The Cocoon Sitemaps have one or more pipelines which handle the processing of various pieces of xml content. Each pipeline begins with a Generator, continues with zero or more Transformers, and ends with a Serializer. Aggregation enables building a hierarchy of pipelines.


1. A Forrest Plugin is a set of resources and configuration files that extend the functionality of Forrest. Plugins are a way of extending Forrest to satisfy site-specific needs. The core of Forrest handles certain processing via the sitemaps in main/webapp/*.xmap files. The main sitemap mounts a plugin sitemap from each declared plugin. For example an input plugin might handle projectInfo source documents to convert them into the internal document format for further processing, while an output plugin would concern itself with generating output PDF documents. Nice Separation of Concerns. If no plugin is found to handle a certain document type, then processing falls back to the core.


Release Candidate

1. A temporary Forrest package built from trunk during the release process to be tested and evaluated.


Separation of Concerns (SoC)

1. Different people, different skills, different purposes different code. Each can concentrate on their separate, but well-integrated, area of concern.


1. A Serializer is a Cocoon sitemap component. Each pipeline ends with a Serializer. Its job is to transform SAX events into binary or character streams for final client consumption. One example (the default) is the "HTML Serializer" which serializes xml content to html. The Serializer can have parameters to configure its behaviour, e.g. to specify the document type declaration.


1. Cocoon Sitemaps (usually a filename ending with *.xmap) is the system to enable Apache Cocoon to know how to process different types of input and output. Note that many other environments use the term "sitemap" to refer to "a map of the site" which is what site.xml can be considered to be.


1. The site.xml is the menu navigation and linking configuration file. Don't get confused with sitemap defined above.


1. "Skins" are one method of providing alternatives for creating the layout and look-and-feel of the set of documents. Forrest provides one primary skin called pelt. See the definition of Dispatcher for another method.

Subversion (SVN)

1. Subversion, also known as SVN, is the version control system used by all Apache projects.



1. A Transformer is a Cocoon sitemap component. Each pipeline has zero or more Transformers. Its job is to transform SAX events into other SAX events. The default transformer is the "XSLT Transformer" which uses an XSLT stylesheet to transform xml content. The Transformer can have parameters to configure its behaviour or pass data to the stylesheet.



1. "xdoc" is an xml documentation stucture that started life at some other ASF projects. Apache Forrest adopted it and enhanced it to be similar to xhtml2. "xdoc" is currently the internal xml structure of Forrest (someday will be xhtml2). "xdocs" can be used as an input source format.