forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <>
Subject Welcome Anil Ramnanan - Google Summer of Code Awardee
Date Mon, 27 Jun 2005 11:35:25 GMT
As most people here will know Google are running a "Summer of Code" 
programme - see The idea is that Google pay a 410 
students to work on an Open Source project over the summer. The OS 
project must provide a mentor to help the student find their feet 
quickly and to support the student through the project.

Apache received over 870 projects and were given 38 awards by Google. 
These students applications have been reviewed by Apache and the 38 
students have been selected.

Apache Forrest received 11 proposals. These were of varying standard, 
from a simple cut and paste of the project outline that I wrote, through 
to three particularly exceptional proposals (two for a project I had 
outlined, one for a project created by the student). Unfortunately 
Apache Forrest was only able to accept one of the 38 awards made 
available to the ASF. I am contacting the other the best of the other 
applicants to try and find a way of getting them involved, we need 
people like them on our team.

So, I would like to welcome Anil Ramnanan to the Apache Forrest community.

Anil proposed a project to extend the Forrest Eclipse plugin (full 
details copied below). Anil created the original code for the plugin and 
donated it to Apache in July 2004 whilst he was employed on a short term 
contract. However, he has not been active within the Apache Forrest 
project directly. It is my hope that his involvement through the Google 
Summer of Code program will result in him becoming committed to the 
Forrest project on a more permanent basis. He has expressed an interest 
in this development as he uses Forrest within his own work.

For the dev community as a whole this has no real impact. Anil is to be 
treated like any other developer, the only real difference I have a 
responsibillity to assist in him learning the "Apache Way". All design 
discussion will be carried out in the normal way and patches will be 
submitted via our issue tracker (others are welcome to review/commit 
them, however, this is one of my responibilities as the mentor).

So, Apache Forrest, please welcome, Anil Ramnanan whose project proposal 
is provided below.


Project Description

Apache Forrest is a flexible and powerful publishing framework. It has 
the ability to transform multiple formats into a unifying framework and 
is also able to publish in multiple formats. It has the ability to 
generate both static documents as well as dynamic sites. This publishing 
framework can be used alone or can be integrated into other products. 
The Eclipse Platform is an open extensible IDE which can be used to 
develop cross platform software applications as well as software 
development tools. At the core of Eclipse is it's powerful Plugin 
Development Environment (PDE) which allows developers to add a wide 
variety of functionality to the eclipse platform. Eclipse Plugins exist 
for a number of Apache projects including ANT, Maven, Tomcat and 
Forrest. This allows Eclipse to integrate tightly with these projects.

Problem Definition

The Forrest Plugin is a new and still under development. It allows 
limited integration of Apache Forrest into the Eclipse environment. 
Currently, its functionality is limited to the viewing of a Forrest 
Project as a webapp and the building of a static Forrest site. While 
this functionality is useful, it is limited and does not allow the 
Eclipse application to take advantage of the full range of Forrest’s 

Proposed Solution
The purpose of this proposal is to develop the Apache Forrest plugin for 
Eclipse into a more functional plugin allowing more of the features of 
Forrest to become available within the Eclipse IDE. This will involve 
the development of a number of Wizards, Editors and other enhancements 
that would allow for greater integration of Forrest and Eclipse. I have 
worked with my mentor for this project to ensure that the work involved 
in the creation of these wizards and editors can be done within the time 
frame of the project. Eclipse provides a number of code generation tools 
such as the Eclipse Modeling Framework to help
with the development of these components. Most of the editors are custom 
XML editors which will be generated by the Eclipse Modeling Framework 
and customised to this particular task.

The proposed enhancements to the current Forrest Plugin are:


Wizards are commonly used in Eclipse to automate a variety of tasks. For 
example, Forrest requires a number of different files to be created when 
a project is created to manage it's skins, project structure and 
application configuration. This is usually done by editing template 
files which is not always an easy or elegant solution. The proposed 
wizards will help with tasks such as these.

The proposed wizards are:

Include from remote repository Wizard

This wizard will allow you to include a file from a remote repository. 
This functionality will be useful as part of the proposed Apache Wide 
documentation system incorporating Apache Cocoon (application 
framework), Apache Lenya (CMS) and Apache Forrest (publication).

New Site Wizard

This wizard will allow a new Forrest site to be seeded from within 
Eclipse and the automatic configuration of the configuration files for 
that site.

Add new Forrest Plugin Wizard

Apache Forrest has it's own flexible plugin architecture to extend its 
functionality. This wizard will assist the user in managing the 
installed Forrest plugins.

Add new Views wizard
Apache Forrest plans to replace it's current skinning system with a new 
system called 'views' in the Forrest 0.8 release. This wizard will allow 
you to import new views into Forrest projects.

Forrest Properties Editor:
This editor will allow you to edit the file. The files contains configuration options that control how 
the Forrest applications runs. This will be a standard Java properties 

Site Editor:
This editor will allow you to easily edit the site.xml file:
The site.xml configuration file is used to define a site's menu. This 
will be customised XML editor using the Eclipse EMF framework.

Tabs Editor:
This editor will allow you to edit the Tabs.xml file: This file is used 
to define the tabs on a site. This will be customised XML editor using 
the Eclipse
EMF framework.

Locationmap editor:
This editor will allow you to edit the locationmap.xml file. This will 
be customised XML editor using the Eclipse

Skinconf Editor:
This editor will allow you to edit the Skinconf.xml file. This file is 
used to define the layout of the site. This will be customised XML 
editor using the Eclipse

Supporting Tools

Support for Multiple webapps
This will allow you to run multiple webapps within Eclipse. This lets 
you view multiple lives Forrest sites within one environment.

Repository Browser
This will allow you to browse a remote repository and include the 
documents into a Forrest site. This browser will focus only on Apache 
Lenya at this point since this is the Content Management System most 
likely to become part of a proposed Apache wide documentation system. 
However, the framework will be flexible so that it can support other 
browsers e.g. for Webdav, svn, Apache Slide etc

Add WAR file builder to Forrest Menu.
Currently Forrest can start/stop a test server and build a static site. 
Functionality such as generating a WAR file to run a Forrest site 
dynamically can be added. Forrest already has the ability to Generate 
WAR files but this functionality is not available from within the 
Forrest Plugin

Advantage to the Apache Forrest Project and the Wider Community

Many developers use Eclipse as their IDE therefore this plugin will 
allow those users to develop documentation sites within their usual 
tool. Also, many Apache Projects use Forrest to generate documentation 
and use Eclipse as their IDE.

Forrest is a very powerful, but very complex publication framework. This 
plugins wizards will considerably lower the barrier to entry for new 
users whilst enabling power uses to leverage the advanced features of 
Forrest through the extensive range of file editors.

Since this plugin will make Apache Forrest more accessible to new users 
it will help strengthen the Apache brand. In particular, the close 
integration of Apache Forrest with Eclipse will bring this excellent 
publication framework to the attention of a large number of developers.

Developers have already begun integrating Forrest functionality within 
the Eclipse IDE of their application using the existing plugin. An 
example of a project that would have immediate benefit from these 
enhancements is the Burrokeet project ( which 
uses Forrest as its publication engine. The enhancements to the Eclipse 
Plugin will bring immediate benefits to such a project.

Milestones and Deadlines
July 6 - Editors of Site, Tabs, Locationmap and Skinconf
July 20 - Editor and Add WAR file builder
August 3 - Wizards for New Site, Add Forrest Plugin and Add Views.
August 17 - Support of Multiple Web Apps
August 27 - Repository Browser and Include from Repository Wizard
August - Project Completed

View raw message