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