Forum OpenACS Development: GPLed Extensible Listuilder, Components and Menus

Hi,

with the release of the Project/Open core module (GPL!) we have also released code for runtime-extensible "views" (similar to listbuilder), "components" (similar to portlets) and "menus" (site navigation). There is some developer documentation at http://www.project-open.com/product/dev_doc/. An online demo (P/T V1.3) is available at http://potransdemo.dnsalias.com/.
These structures allow packages to modify other modules in three ways:

Views:

Is like the listbuilder, but gets the definition of its columns from a database table. This allows new packages to extend list views of other modules. For example, the invoicing module may want to add a column "Invoiced Amount" to the ProjectListPage.

Plug-in Components:

Plug-in components are like portlets, getting their definition from a database table. For example this allows the invoice module to add a component to the ProjectViewPage with the list of project invoices.

Menus:

The P/O invoicing module may want to add a new menu tab "Invoices" to the main menu. Also, the "Freelance Skill Package" may add a "Freelancers" submenu to the users menu of the core module.

My experience with these structures is ok, but I'm not 100% happy. It's really clumsy to have API calls spread around the system, and few people would expect to find them in a SQL file... Maybe it would be better to store information in the XML .info files, because it's really an install-time operation.

Bests,
Frank

mailto:frank_dot_bergmann_at_project_dash_open_dot_com
http://www.project-open.com/

Collapse
Posted by Don Baccus on
The documentation link above returns no document, maybe the URL is wrong?
Collapse
Posted by Frank Bergmann on
Thanks for the hin. I've just checked the documentation link and it's ok now (http://www.project-open.com/product/dev_doc/)

The Project/Open "Core" module and most other modules are available for download on the site as APM tarballs. I'm working on including it into the Contrib directory.

Hope you got home well...
Frank