Forum OpenACS Development: Re: style controls (informal exploration)

Collapse
Posted by Jeff Davis on
Currently we just stick static files in package/www/resources/ and we put 3 things there right now:
  • images
  • css
  • javascript
Resources is good in that it's not permissioned and has low latency but it has one big problem (besides being restricted to static files) and that is that it means we are hard coding filenames to images within packages all over the place.

The absence of any abstraction means that you can't easily say "for subsite X /resources/acs-subsite/add.gif use /garish-and-vulgar/acs-subsite/add.gif and for subsite Y use /subtle-and-subdued/acs-subsite/add.gif". That means either going through all the code and finding places we say /resources/acs-subsite/add.gif and making them /resources/acs-subsite/@theme@/add.gif or doing what I think is the sensible thing which is add a "theme aware resource tag" which would know the theme for the current subsite and would generate the url from that.

I would envision something like:

 
<resource package="acs-subsite" key="add">
which would emit
<img src="/subtle-and-subdued/acs-subsite/add.gif" ... >
The thing I am a little hung up on is whether it would know to generate <link ...> for css and js etc.

One really cool side benefit of this approach would be that we could fairly easily provide designers (and others) to layer design on an existing site by having this emit

<img src="http://designer.example.com/subtle-and-subdued/acs-subsite/add.gif"...>