I'm working on a fairly complex web application framework that
combines AxKit, Template Toolkit, and possibly HTML::Mason, under
mod_perl.
Some of the goals include rapid prototyping of form-driven
applications (looking at leveraging SVG), fail-over (robustness in
the face of machine/network failures), and the ability to scale by
running on a web farm.
I plan two main components for distribution: the framework (running
under Uttu - Uttu.pm) and the model. For now, I am calling the
application framework Gestinanna. So the framework would be
Uttu::Framework::Gestinanna and the model would be Gestinanna::*
(thinking of the MVC model of web programming). The core model would
be distributed as Gestinanna-x.xx.tar.gz.
To allow for the rapid prototyping of form-driven applications, I am
putting together a state machine model - for now called
Gestinanna::StateMachine. It allows inheritance of edges and actions
taken upon transitions. However, the module does not require a web
environment. It is quite independent of that -- it takes data and a
context, uses Form::DataValidator to look at which edge seems most
appropriate, and triggers the transition. The application can
associate a view (TT2 file, for example) with a particular state and
use that to send the appropriate page to the client.
My questions for now are two:
(1) should I place the state machine outside the general application
namespace and, if so, what are some suggestions for where to put
it? I am trying to place general modules in general locations.
(2) May I have the top-level Uttu and Gestinanna namespaces? The
first is used for the Uttu framework (http://uttu.tamu.edu/) and
framework/application distributions while the second is used for
the model modules for the Gestinanna application framework. If
this seems reasonable, I will go ahead and fill out the PAUSE
namespace request. (btw) I have submitted a request for Uttu
twice before with no comments being made on the list.
--
James Smith <[EMAIL PROTECTED]>, 979-862-3725
Senior Software Applications Developer,
Texas A&M CIS Operating Systems Group, Unix