20040908

Web Design with Apache Forrests Skins

Recently I have been using Forrest to generate websites for existing projects (I use maven for new ones). And like a number of people have pointed out it is very good at doing that.

On the other side of the coin there are a few websites that are not techie orientated that could benefit from this kind of 'just type forrest' generation.
One of the key enabling factors is that Forrest 0.6 will have docbook 4.1.2 support that means that Open Office and Abiword documents can act as sources. But in my experience most people are quite happy with WordPad to edit structured text.

Installation for a website owner is very simple, install forrest, seed or unzip a template I give them, create a couple of links on their menus, add a record task to the ant build to log to a desktop file, set up the upload.

The biggest drawback of Forrest is that its skins are a real mess. They produce standards compiant xhtml, but the design is not up to slick business website quality - with a large number of little 'hacks' here and there to make things look better. For example the ForrestTable template has 'width=100%' which makes page alignment die.

I have just completed my first conversion of an Open Source Web Design template to a Forrest Skin. It took a while to unpick the XSL from the nested html elements of the default skin and apply that to the test design from the OSWD. I chose the Gila design as my test because it is one I know quite well, and it looks good IMHO.

There were a number of things that I needed to compromise on to get it to work visually as well as functionally. The use of logos in a skinned page does not work well and so I opted to use the project/group names that could be compatibly styled. I moved the search, host, credits and pdf links to a right hand panel. To get the pdf link outside the document section I needed to select an otherwise hidden section of the document template output and import it to the panel. The menu was a bit ticky to keep working properly, I ended up keeping the group div that the javascript depends on and losing all the other divs in favour of ul/li structure. I also adjusted parts of the document colour scheme (e.g. table) to match the overall skin scheme.

The tabs and the content of the page needed some XPath voodoo, because the default skin designs are based on referencing certain div classes created by other templates. Cocoon is a very powerful tool, and the ability to do this is important to be able to have flexibility, but it creates a really difficult to maintain coupling between different templates.

I am going to release a website with a Gila like skin soon, then you will see what it can look like. In the mean time if you want a beta version of the skin then email me at skins ut hughreid ot com. Imagine what your project website might look like with this Face skin.

No comments: