Tagged: forrest

Forrest


Last 2 days I’ve been pretty active with [[http://forrest.apache.org | Apache Forrest]]. Primarily with the development and enhancement of the new theme mechanism (skins or views).

Just today I have updated my website with a completely redesigned theme using the new views mechanism. I also wrote the entire CSS from scratch, using the colors from the publicly available KDE, GNOME and Ubuntu color palettes. So far the feedback has been nice, and this theme might actually make its way to the default Forrest theme for the next version!

I’m still tweaking the theme so things might break unexpectedly. If you find something, do drop me a note!

On the academic front, I have read some more papers on virtualization and its kind of disappointing that a lot of the challenges had been very clearly identified and laid out almost 3 decades back, and the worst part is that we are **still** fighting those very same issues today. I have written up some more stuff that I have to go over with Amin tomorrow.

The house hunt for Palo Alto is coming along pathetically, I just have the worst luck ever. [sigh] :-(

The perfect tool!


I’ve finally found the perfect tool for building and maintaining my website. And trust me, I’ve looked far and wide before making this final switch. My earliest website was full of Javascript menus and DHTML crap. But those were the kiddish days, when I was young and things looked “cool” if they moved around with the mouse pointer :D

After that I switched back to regular HTML, but I still needed a menu generation system, that would require me to change the site layout only on one page and it would get reflected through all the pages on its own. At the same time, I didn’t want to use any server side dynamic content generation (like PHP, shtml, or JSP). So for a while I used [[http://phplayersmenu.sourceforge.net/|PHP Layers Menu]] — basically I used its flat vertical menu, and used PHP to generate the static HTML and then used this static content for my website. It was crude and clumsy, but it worked pretty well.

After coming to UCSD, I thought I’ll do a make over of the website. This time I decided to hell with all the tools and scripts and menus and headers and footers. I came up with a simple header/footer panel design, and just manually wrote up all of the XHTML, and used CSS for the layout. I was satisfied with this design, and I just avoided changing the menus on all pages. At most I’d just change the index.html page and hope the user finds the link. It was clearly less work for me, but then it had less value as well, and it didn’t quite serve the purpose.

After some more looking around, I chanced upon [[http://htp.sourceforge.net/|HTP]] — an HTML pre-processor, that uses a flexible “template” based mechanism to generate web pages. From its web-site:

[start-quote] Htp was intended as a HTML pre-processor. It is able to preprocess HTML, XHTML, XML and CSS files (htp could process any text based files). Its purpose is to assist you to maintain a consistent “look” over an entire set of web pages. This is done by allowing you to define your own tags as abbreviations for sets of standard HTML tags. [end-quote]

So I made up my own templates, freeing me of the hassle of changing headers and footers at multiple places. But it was still cumbersome, since I had to put the pages through htp to get the HTML out of them. Also, for nested subdirectories, I often had to use different templates since the header/footer contained relative links and those had to be changed to reflect the directory depth. Of course I could always use absolute links, but that would have been highly inflexible, in the event of a future website location change.

Finally, I discovered [[http://forrest.apache.org/|Apache Forrest]]. It was the perfect solution, the key to all my problems. Designed for serving static content, all XML based, a single site-wide configuration file, natively supports HOWTOs, FAQs, TODOs, ChangeLogs, Docbook, Wiki, and raw HTML formats.

[start-quote] Forrest is an XML standards-oriented documentation framework based on Apache Cocoon, providing XSLT stylesheets and schemas, images and other resources. Forrest uses these to render the XML source content into a website via command-line, robot, or a dynamic web application. [end-quote]

So I’ve made the move to forrest, and I intend to keep it that way for quite some time. Forrest is only at version 0.5 right now, but under heavy development. The future is bright for this fella!