Forum OpenACS Improvement Proposals (TIPs): Re: Tip #76: (Approved) Allow multiple packages to serve as "subsites"

I've implemented this, in the form of a new "implements-subsite-p" global package attribute (i.e. same level as "singleton-p", not tied to version).

I've not implemented the portion of the TIP that explicitly calls the code to create an application group for the subsite-implementing package.

This is due to my having implemented this in conjuction with the new "EXTENDS" package dependency, which properly calls dependent apm callbacks when instantiating a package.

In other words, typically one would implement a subsite-like package by EXTENDing acs-subsite. Instantiate and mount will call the acs-subsite callbacks as well as your custom package, causing the application group (and anything else acs-subsite decides it needs now or in the future) to be created.

Coupled with the "inherit-templates-p" package attribute, and "EXTENDS", one can easily customize acs-subsite with custom enhancements, or build an entirely new UI while maintaining the necessary subsite semantics provided by acs-subsite.

Please comment. If there are no objections, I'll commit this upon approval of my implementation of package extensibility.