Talk:SAIM Proposal
standard application installation without standard application model
I haven't seen a concise generic description of how we would define an AOLServer "application" to begin with. Does it include a set of server modules that need to be installed? Pages of pre_auth filter registrations? Users and other data tables to be created in a database? Perhaps the best way to get to "SAIM" would be to have a better generic "application" model that can be developed towards, so all you specify is say an XML file (or something JAR-like, an archive of data with some specific notion of what meta-data to look for) that describes the application in ways that the model can understand. So, say, I supply the archive file cave.aolz or something to a web form and follow a few easy steps that fill in deployment information -- for example my cave application might reference a "cavedb" database that needs to be mapped to an actual database pool configured on the server installation, say "pgpool001". That might not be required for a simple set of HTML or self-contained ADP pages that simply need to be extracted to the prefix URL of the installer's choice.
Perhaps the cave application includes an XML definition of its data model that needs to be persisted to the database pool, and the application installer creates the necessary tables. Perhaps cave also includes some bootstrap data to insert into the database tables once they are created. This wouldn't be absolutely necessary to get started, as not all "applications" require server-managed data.
Additionally, cave perhaps defines some authorization roles. To get to the point where these roles can be used to grant or limit access to certain sections and operations on the data model would be a fantastic step towards a "standard application installer module" but not a necessary one to get started. Not all "applications" would require server-managed authorization on the data model.
Additionally, cave would perhaps like to use ns_perm (or similar) to protect certain URL patterns to a certain list of users. The SAIM module would have to support creating the users and/or groups as specified.