Forum OpenACS Development: Re: Easing Customization of Package ADPs

Collapse
Posted by Tom Jackson on

I think the issue with making changes to a datasource file (.tcl), that affects an adp template should be taken seriously. Aside from bug fixes, why would the developer make incompatible changes to the datasource file? Developers should spend more time providing datasources that can be used with a number of templates. If real changes are necessary for new functionality, why not provide a new datasource file, with new templates? This was recently done with the forums ui. The .vuh files were added to provide a different path through the same data.

Templates serve as different views of the same data, The purpose of the template is to make it easy to provide different views. Making it difficult to use alternate templates, will definitely cut down on the number of changes package maintainers will need to make when they mess with the datasource files. I'm not sure this is a good thing. Instead, create a standard method to allow someone to take the basic ui and hack away at it, adding css, or maybe creating some xml feed, etc.

If a package is so undeveloped, that the basic datasource files have bugs (with the data format, tcl code fixes should not affect the format of the data), fix those before porting to a different db, and before contemplating styles. If a package works, but you just don't like the way it works, create a new datasource file and new templates. If a ui works, but you just don't like the way it looks, create a new template, don't edit the one that already works. Support the ability for developers to add to a package and discourage incompatable datasource changes that are not bug fixes.

Collapse
Posted by Jeff Davis on
I want to make sure I understand your argument so here is an example. Take the emoticon thing in forums, say we add emoticons and then later avatars. You would argue that we should have something like message-view, message-view-emoticons and message-view-emoticons-avatars as pages all because we have changed the datasource?