|  | Posted by Colin McKinnon on 06/28/05 11:28 
Google Mike wrote:
 >
 > The thought came to me that it would be great if LAMP developers,
 > whether they used MySQL or PostgreSQL, could just simply write the
 > project to a certain specification. Then, they could run the project
 > through a wizard and it would automatically generate the user/group
 > administration piece of it as well as build the install.
 >
 
 Hmmm.
 
 I don't like to be discouraging but...
 
 Look at what's happenning with Java. There are so many specifications,
 protocols and APIs that it's quite tricky to install an off-the-shelf
 application onto an existing system. Compare that with PHP where there is a
 wealth of third-party application which will happily live side-by-side.
 
 I suppose it *could* be because despite its aspirations Java does not adhere
 well to standards.
 
 > I mean, with every app I build, I have a handful of tables that almost
 > look the same, storing usernames and other properties about the users
 > -- including fullname, shadow password, and default group, a table for
 > groups, a table for user memberships in those groups, and a table for
 > which group can route work to which other group.
 >
 
 <snip>
 OK, so what if I want to use an LDAP system for authentication? Or PAM? Or
 let the webserver handle it? Leaving aside the issue of authentication,
 what about access control? RBAC? ACL?
 
 In a perfect world, I could download a blog package, a wiki package and plug
 them into my PHP application, using the same authentication and template
 system I already installed. And I think it is a worthwhile goal. But this
 kind of integration requires a specification of interfaces.
 
 For PfP Studio (a visual PHP programming tool I am developing - see
 http://pfp-studio.sourceforge.net) I chose to allow the user to specify
 their own function for implementing authentication and access control which
 gives great flexibility. OTOH it has proved rather difficult to incorporate
 a PfP form with an off-the-shelf template system.
 
 > For things that are kind of outside the box on the user/group
 > specification, one could write a generic reference table editor (a
 > table that is short and is commonly linked by foreign keys from other
 > tables)
 
 Yes there are tools to do this - but IME none are really suitable for
 exposing applications to end users because they don't allow much scope for
 development (PHPPeanuts comes close though).
 
 > and then customize with a short list of business rules.
 >
 Hence PfP Studio. Acutally a different approach might be to extend the
 PHPPeanuts MVC type approach but tie the business rules into the data
 supplier.
 
 >
 > The only thing I caution about is making this too heavy and too steep
 > on requirements.
 
 I think other people have tried. Horde comes quite close - but as you'll see
 - it's not easy to balance functionality with flexibility with simplicity.
 
 C.
  Navigation: [Reply to this message] |