Freshmeat page: http://freshmeat.net/projects/perl-oak/
The Perl Oak Component Tree
What is it?
The Perl Oak Component tree is a implementation of a complete framework for designing enterprise applications.
The main areas of Oak are:
One great problem in web software development is to maintain the fields that are printed to the user and the receiving of this fields, because in many web development solitions this two items are not integrated. For example, if you use Text::Template to send to the user the web page, when you want to add a field to your form, you will have to add the HTML code in the template and add the code to receive the parameter in you perl code.
And even in big-business web development solutions like J2EE. You have to maintain the JSP file and the code that receives the field from the submission.
The hard work of both creating the HTML or JSP and the code for receiving the submission can take much time of development, specially because you can do many errors in this way, like mistyping the name of a form field in the HTML file. And this is a hard-to-track bug.
And this is the big change of approuch in Oak. A Web Page is defined in one XML file using the Oak Components, and from the XML file it automatically can show itself and receive the form submission and dispatch events. The events are functions of your code, so, when a submit button is clicked and it has an on click event associated, the event will be dispatched, and the properties of the components will represent the data filled by the user.
If you ever used Delphi or C++ Builder you will see that this approuch is very close to Borland's VCL.
How can I use it?
To use Oak you have to do the following (considering you have the last version installed)
This project has the following developers:
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!