The theming support currently only works in dotlrn.
This seems like it should be fixed :)
I looked around and here is how it works so far
dotlrn_site_templates
defines master template for pages under /dotlrn
defines portal_element_theme to use
The site template pages actually set a bunch of parameters for the main dotlrn package instance of what theme_id to use for new portals for users and communities.
portal_element_themes
defines location of theme files
portal layouts
defines location of files for content layout within the portal
does not seem to be tied to portal_element_themes or dotlrn_site_templates
So, basically to make this work for openacs we need a way to define the site wide master template to use the templates from the theme.
From here it looks like if we want to use themes without portals we need a table to choose the theme. Seems like this should be reusable across openacs and dotlrn.
So dotlrn_site_templates table sets the default master and theme_id for the dotlrn main package. We can imagine this behaves similarly to acs-subsite. So if we make the dotlrn package stand in for acs-subsite (code exists for this already, just needs to be activated) we can map a theme to the dotlrn instance in the same way we would like to map a theme to a subsite.
It looks like a theme really has two parts
1) master template
2) portal layouts
If you at using subsite without portals you can ignore the portal layouts but the rest of the theme should work. It is already possible to use the portal layout box css outside of a portal. (probably we should circle back around and make this consistent).
I'd really like to make this work.
Once we have it working I think we should define what a theme contains. I think we should have a theme-default that ships with OpenACS (could be zen) that contains all static resources. This includes all icons, logos, css, etc. So acs-subsite/www/resources would disappear. We'll have to figure out how to fetch files for the subsite resources from the theme efficiently.
I just wanted to open up this discussion. Probably won't happen for 5.4 (due this fall) but we should think about it and start working on it for the next release after that.