Forum OpenACS Development: Re: default, site and blank master templates

Collapse
Posted by Caroline Meeks on
Hi Lars,

I've implemented this on two sites now and I have some feedback.  First let me say I love the new default look and the CSS sheets.

But in terms of the masters...First the names are not good. Blank implies to me something you should fill in. However the blank master is the one you are least likely to need to change.  Maybe "setup-master"or "top-master".

Second I am tempted to recombine site-master and default-master. Perhaps this is because my use cases are different then yours.

I am roughly dividing the purpose of graphics into two categories.

Branding: Usually affects the top and bottom, logos graphics and colors (CSS) of a site.  This is currently controlled mostly in "site-master"

Information Architecture: Controls how you use the site, where and what the tabs are.  A dotLRN based site often has very different menu structure then a non-dotLRN site.  In my use cases this varies significantly from implementation to implementation but not much from subsite to subsite. Currently this is mostly controlled with the "default" or "group" master.

Currently there is a parameter to change "default-master" between subsites.  However,
in my experience/use cases changes in templates are usually done to support changes in Branding.  In other words one site is used to provide basically the same functionality to different groups within an organization or different organizations.

Most of the changes are therefore in the middle "site-master", not to "default".

Are you implementing a lot of another kind of use cases, where the branding stays the same and just the navigation switches between subsites?  I have seen this in the past but its not at all what I'm seeing these days.

Right now I'm leaning towards combining "default" and "site" master into one. I don't think we can predict which part is likely to change and which is likely to stay the same. Each layer of template adds to the learning curve and debugging time.  Maybe call this combined template "customization-master" and the other one that we don't want graphic artists touchng: "top-master".

A site with a number of different graphic designs would have more then one "customization-master" but hopefully only one "top-master". Ideally the "customization-master" has one css linked in that modifies all the previous CSS sheets and can be different for each different design.  We also need a way for the graphic artist to control what directory all the pages look for graphics in so the page graphics can match the outer design.

Collapse
Posted by Lars Pind on
It's called "blank", because that's what it is. It gives you a blank page, nothin' on it.

If you called it top-master, that would (to me) imply that it includes the top navbar -- which is what the site-master currently does.

The reason for the split between site-master and default-master is that the site-master is (supposedly) the stuff that stays constant across your site (login/logout, home page link), whereas you'd switch default-master for different purposes, e.g.:

- Your organization's public pages may have some left-side navigation

- Your organization's "community spaces" may use the group-master template.

- Your "developer home" could use a different navigation -- whatnot.

This is in fact the use-case that's currently implemented in the CVS tree, with the default-master and group-master templates, and the ability to switch between them from /admin/configure.

Would making default-master able to dynamically pick its master template solve your problem? You can fairly easily add a parameter to acs-subsite for that.

/Lars

Collapse
Posted by Malte Sussdorff on
Can you give me a reason, why you put the template in /packages/acs-subsite/www ?

Furthermore, wouldn't it make sense to agree to *one* storage facility for *all* templates (e.g. /templates)?

Last but not least, if we do this, would it be possible to automatically load all available templates to be useable in ://admin/configure).

What do you guys think. Jeff, does this interfere with your work.

I'm a little bit annoyed of looking all over my OpenACS installation on places where I can change the look and feel of my site. Gosh, I'm not even willing to write documentation for this as it s***s so much.

Collapse
Posted by Lars Pind on
Malte,

It should've gone in acs-subsite/lib/, but we didn't have /lib back then.

I put it in the acs-subsite package, because it's a template for acs-subsite ... just like a package-specific master template typically goes in the package directory, not in www. I believe there was even some discussion about it somewhere.

I agree on the desire for a standard way to store these, with the caveat that I'm thinking you should be able to install a "skin" package, which would include an acs-subsite master template, images, etc.

I don't think it's realistic for a default install to come with all the skins preinstalled.

/Lars

Collapse
Posted by Malte Sussdorff on
From a developers perspective I agree it makes sense to put the templates into /packages/acs-subsite/lib. But I still would put them unter /lib/templates or /templates, as this is a more obvious place for the occasional developer to look into. Any package that starts with acs- and looks like core is off limits to the occasional person installing the system (I'd assume) as this is a core package and you don't fuzz with core packages (at least, that's how I behave e.g. with PHP Horde).

OTOH, it is now documented, so if someone searches for the Community Template, this thread can be found ;).

Collapse
Posted by Malte Sussdorff on
group-master.adp. I removed the context bar, but refrained from uploading it to CVS. IMHO with the second level navigation, there is not much sense in using the context bar by default for the group-master.adp. But maybe this is just my site with not enough content.