Forum OpenACS Development: Re: The future of OpenACS

Collapse
12: Re: The future of OpenACS (response to 7)
Posted by Tom Jackson on
Tom, is your package available somewhere to look at and would it be a worthwhile addition to OpenACS as a whole. It seems to me that it is highly useful for custom build content types, yet I do not understand how this would work on the existing types like users. Yet I see a huge benefit if this work could make it into a generic dynamic attribute solution, as it would fill the missing gap. Do you store the templates in the database or do you write them to disk as well?

You can browse the package at http://rmadilo.com/files/cams/

This is not the same thing as building custom types, but look at the data model. Each content type begins with a title and content. You can add attributes to the type. When you add content, you first enter the title/content and then you can add the attributes. For instance, your content type could have an image attribute, or call it whatever you want MyImage, whatever. When you add an attribute, you define the content type and the form widget. If it is a file widget, you can upload a file, or more than one file for the attribute. The package name CAMS stands for Content Application Management System. The idea was to allow developers to create certain types of applications focused on content: how to get it into the system and how to display it.

Templates are used for the master, content type and content item. In addition, the content of each item can be treated as a template. Special tags can be included in the template to format/insert the attributes associated with a content item. So if you upload an image, you can use the same data to insert a link to the image, or display it inline, anywhere in the content.

New templates are stored in the database, they are content items. But they are also 'compiled' and stored as files for use. The 'compiling' just applies any attributes, so that the same base template could be reused.

Some applications are here: http://whogeenie.com/cams/