The new version of Oak has splitted 14 packages to allow an part-instalation of Oak. And the packages were debianized.
The release 1.6 of Oak is released. It has several important modifications. See the changelog:
* Oak::SOAP::Connector and Oak::SOAP::Application - Integrates Oak with the SOAP tecnology
* Automatized Authentication method - Oak/AAS
* Component ActionLinkList
* Component LabeledInput
* Method constructor of Oak::Component rewritten, a better code now.
* All components must be created passing RESTORE or RESTORE_TOPLEVEL
* DBIEntity manages autoincrement fields
* DBIEntity can have the working Oak::IO::DBI object setted.
* Oak::Controller::EntityHelper - Module to help controllers
* Bug fix in Oak::Filer::Component - References were flying away.
* Oak::Web::Container now has the content property.
* Bug fix in Oak::Web::Additional::SimpleList - Not all the <UL> were closed.
* Bug fix in Oak::Web::HTML::Base - It was printing LINK tag
* Bug fix in Oak::Web::HTML::Button - Button is a container, not an empty tag
* Oak::Web::HTML::H doesn't use the caption property anymore
* Bug fix in Oak::Web::HTML::Input - Was not working with images
* Oak::Web::HTML::PhraseElement is a Container descendant and doesn't use the caption property anymore
The package Oak-Web no longer exists. It was incorporated by the Oak package.
Oak is at full-speed. :)
I've released the version 1.3-r2 that fix one bug at Oak::Web::TopLevel that was braking up everything....
Forest now has a Component Tree frame.
see the screenshots at http://perl-oak.sourceforge.net
The first version of the Forest Web Application Builder is available. This version is based on the version 1.3 of the Oak and Oak-Web perl modules.
*How it works?*
On the first version it manage the XML of top-level components for a Oak::Web::Application. You can design the interface for a Oak::Web::Page or a Oak::Web::Additional::Included and then use the XML in your application.
*How can I use it?*... read more
Oak 1.2 has been released... In this version, the event ev_onDestroy was deleted, because the garbage collector will not run in the same moment you undef the variable... and in some cases, makes the software dies... so... if you want to do something when one object is destroying... use the DESTROY method...
Now you can Include an toplevel inside of another... to do this you have the Oak::Web::Additional::Include and the Oak::Web::Additional::Included. The first one calls an top-level in the show method... and the second one inherits the receive_cgi method from Oak::Web::Page but do not print anything... these two components will be usefull to create a menu....... read more
Oak 1.1 has been released.
* Oak::Web::Session - Will control a session based on the cookies received from the user
* Oak::IO::Log - Component for Logging
* Oak::IO::Config - Component to load application set-up
No change in Oak-Web...
A little bug was found in Oak::IO::DBI and it has been fixed...
there was a missing =cut, that was hiding the constructor method.
Yes. This is it. The first version of Oak is released. It is functional and you really can make an Web Application with it.
Now, that we have a closed version, let's see the roadmap
Version 1.1
* Oak::Web::Session - Will control a session based on the cookies received from the user
Version 1.2
* Helper components, to facilitate the creation of a web application (i.e.:date field with three inputs and syntax check)... read more
The standard for documentation in Oak is pod using the following sequence:
NAME
DESCRIPTION
HIERARCHY
PROPERTIES
EVENTS
METHODS
EXCEPTIONS
EXAMPLES
BUGS
RESTRICTIONS
COPYRIGHT
The sections can be hidden when there is no information to display
Oak is clearly close to version 1.0.
Currently oak already show a web page from the component definition file. This can be seen in the directory Oak/test/WebTest/ in the CVS ( http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/perl-oak/Oak/test/WebTest#dirlist ). In this directory there are 4 files:
-- app.pl: The executable, the cgi script
-- page1.xml: The component definition file for the toplevel page1
-- result.html: What I've got after running app.pl
-- page.css: Needed to have a beatified result.... read more
I've generated the debian packages for the last release, and now on will be very much easier to keep the .deb up-to-date, thanks to dh-make-perl.
Now Oak has the "data area" completely functional with an interface to a DBI database.
You can create an application and use Oak::IO::DBI, Oak::DataModule, Oak::Filer::DBI, Oak::Application and Oak::Persistent to automatize the creation of data classes.
look at the directory tests inside Oak in CVS for an example.
The next steps are:
1) Oak::Visual
2) Oak::Container
3) Oak::Web::Application
4) Oak::Web::Container
5) Oak::Web::Page
6) Oak::Web::Visual
7) Oak::Web::Form::Input
8) Oak::Web::Form::Password
9) etc
The structure is almost all defined. The class diagram at the homepage http://perl-oak.sourceforge.net defines in a clear way how Oak will work.
When the Oak::Component::Filer, gets done, the basic structure for starting the WEB BUILDER IDE will be ready, and we will really start it.
I just need some way of being noticed.
I did a little test to oak.
Through the test I fixed some bugs in Filer::DBI.
But finally, we know, it works!
After almost 6 months without touching any of the modules, i retake the project to work and now we're closest to have a working demo using oak.
I almost finished the Oak::Component module, and I will create the Oak::Filer::XML, probably I'll use the XML::Dumper module, that doesn't require a complete specification of the structure.
In the future I see Oak::Object introducing the access to CORBA, but it's not the target now.
Following the last post. Oak now uses Error as the Exception Handling standard. Now Oak depends on this module, available from CPAN. Or, for debian users, the module is in the package liberror-perl.
After researching about Exception Handling in other languages, such as Java, C++ or even Pascal I discovered a wonderfull module in CPAN, called Error. This module implements the try/catch/excecpt/otherwise/finally syntax in a OO-ish way (as the module documentation says). You must create classes for the exception and uses the throw method to raise them.
see at http://http://search.cpan.org/doc/UARUN/Error-0.15/Error.pm
as the design of the Application object come clear, I saw that the function call_exception became useless. The application will use eval to run the main loop, so if you want to create an exception, just use die. When the application object is in use, it will automatically raise the appropriate action. To clear exits just use exit 0. as in any normal application, the object will shutdown without errors.
at 1:18 am i've uploaded the first version of the perl-oak project home page, it has just some explanations of the architecture of the oak. But is a mandatory reading if you are interested in the project.
Last week I have worked a lot to finish the first release of perl-oak that was defined by finishing the Oak::Filer::DBI (if you don't understand, please contact me) and by this moment is possible to create an entity class that store its data into a DBI table.
My point now is to release the component structure, this will be when i finish Oak::Component. The next step will be to create the Gtk interface, finishing by the Oak::Gtk::Application object, which will allow the easy creation of a Gtk application (i hope I finish this quick, I will really need to create a Gtk application in the next month)... read more
We are on the way to deliver the first part of the Tree. The plan is to release a CPAN and a DEB package to attract the atention of the open-source community to implement the components.
We will release the two packages after we have a stable version of the filer architecture and a Filer to save object properties into DBI tables.
We hope to get more people involved in the project, so we can grow up the project.
Well, well, well. We're starting here. Te point of this project is to devel a base for all perl developers in RAD.