Forum OpenACS Development: Proposal for APMs for openACS?
Ybos would love to have one codebase for both systems, and we've started rolling out ACS 4.0 modules, so we have some experience, and opinions about this. But, I don't want to jump the gun, if you all are not quite ready to talk about this stuff.
The important point Peter raises here is the idea of "fat binary" APMs for OpenACS/ACS. I *absolutely* would like to see this happen in a way that is hopefully backwards compatible with current APM packages (for ACS classic). Basically, the package manager should be able to say "I am running on Postgres, and this package does have Postgres compatibility, so let me set up the Postgres data-model for it" and same thing with the same "fat binary" APM, but Oracle. We assume that a package that declares being Oracle *and* Postgres compatible will have both sets of data model files, and will follow whatever convention we come up with for replacing queries for one DB with queries for the other.
Backwards-compatibility, again, would be great. This means that while OpenACS would implement a slightly augmented, RDBMS-aware package manager, ACS Classic could look at a fat binary package and still find the correct Oracle data model files and all. This could be tricky, but is worth the effort to get single APMs.
Peter, since you and your team have looked at APMs already, can you propose a solution to this? Basically,