On Thu, Jul 25, 2002 at 01:01:59PM -0500, James G Smith wrote:
> 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.

Seems reasonable.

> 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.

Tricky. We don't have a namespace for state machines and the 'control flow
utilities' section of the module list is a mish-mash of modules:
    http://search-beta.cpan.org/modlist/Control_Flow_Utilities

Searching on state machine is interesting:
    http://search-beta.cpan.org/search?mode=all&query=state+machine
but offers little practical help. It seems that state machine modules
have always been closely tied to other modules (POE::Session,
Bio::Tools::StateMachine::AbstractStateMachine, Win32::CtrlGUI::State)

Is there any chance you could reuse/extend/subclass POE::Session?

Otherwise perhaps StateMachine::Gestinanna would be a reasonable
name (showing the association with the Gestinanna framework) and
distribute it as a separate module - if it really is separate.

>  (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.

Seems okay to me.

Tim.

Reply via email to