[EMAIL PROTECTED] wrote: > >Occasionally, I thought we might start up with a new application server that >has features like these: 1) MVC model; 2) XHTML templates; 3) backend >programming based on XML (e.g. parsing parameters like STRUTS), so other >java, .NET applications can be translated as easy as possible; 4) some >special cares on the places where mod_perl may be weak (such as memory >usuage), so there might be a few special C modules for things like >system-wide authentication. and so on.
While we're on the topic of PR, I'll go ahead and insert a shameless plug for a project I've been working on :) I'm hoping to get another release out before OSCon (one that actually installs :/), but Gestinanna is a project I've been working on for a year or two now that has the following features: o Separation of Model, View, and Controller Model is supplied in the form of taglibs that extend the language of the Controller that determines which of the Views get used to present data to the customer. o The Controller is written as (what I'm calling) an eXtensible StateMachine (XSM for short, using a SAX XML->Perl compiler) which is a collection of XML namespaces and schemas that can be used to define state machines and add scripting that gets triggered when it changes state (and offering basic continuations in the process, though I'm thinking hard on how to extend it to make it even more useful). This language is declarative / descriptive (similar to XSLT) instead of the usual prescriptive form that we're used to in Perl and PHP. o Views are written in a docbook-derived schema that allows easier transformation to various devices (screen, handheld, etc.) with extensions to handle forms. The views are processed by Template Toolkit to allow some simple scripting for managing data insertion into the view. (This was a decision based on who was going to be managing the views where I work.) o Uses AxKit to manage the transformation from XML to HTML or other format. o Abstraction of data sources so applications can be written in a generic fashion as to both model and data source. o Extremely flexible security / ACL language using XPath-like specifications for sets of objects o full application inheritance of states as well as views, both IS-A and HAS-A style o support for embedding multiple application views within a page and for themes o command-line management tool for managing installation of applications (from .tar.gz packages) as well as RDBMS schema management (with inheritable schemas from packages). o revision control system for all scripts, views, etc., managed within the application framework. Uses the idea of tag paths so not all the members of a tag need to be tagged - just the ones that are different from the previous tag. In addition, I have been able to use the scripting to define workflows using the Workflow module recently submitted to CPAN. This is still needing some testing and integration work though. Also working on starting DAV support with the recent publishing of a perl module that handles DAV requests. I'm in the process of revamping the testing code as well as cleaning up a few other odds and ends. -- James Smith <[EMAIL PROTECTED]>, 979-862-3725 Texas A&M CIS Operating Systems Group, Unix -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html