"theme" and "skin" are often used in the same way. Traditionally a "theme" is a set of icons and/or widgets, "skin" is a color scheme. The combination of the two provides look&feel.
The common way to handle themes is to upload a zip files containing the resources that will be unzip into a specific directory of the site structure. The theme usually contains:
<holycow> for joomla 1.0.x it was an xml file plus resource files which were php/html + images + css and you just upload them to a dir and click it on
Themes can be set at different level:
The priority of the themes can be set/changed using a variable of the configuration.
The theme can be defined as being a "stand-alone" one or extending another one
References are based on OpenACS version 5.4.2 and early 5.5.0d
In OpenACS context, a "theme" can be defined as a composition of:
This is a list of the templates that can be set using parameters:
Currently stylesheets are hard-coded. A few individual applications (e.g. calendar, forums) have their own stylesheets.
Same. Icons are hard-coded.
The HTML editor is set in acs-templating using the following parameters:
Facebook-like site (holycow) - per subsite
Users with specific needs - per user
*** ROUGH DRAFT of random ideas ***
- managing icons relies on a strict convention for paths and filenames
- a theme can be an extension of an existing one (default one or not), e.g.: high contrast
- a theme can be a "stand-alone" one
- should be able to specify CSS and their order
- should be able to specify the type of the CSSs (alternate or not) and others attributes (media)
- a package should be able to register its individual CSS for one theme
- a skin can be paired to a theme, in this case it should include the image directory with the icons files.
- the theme can be chosen at subsite level
- user must be able to choose her theme, in this case it overrides the subsite one
- theme-manager should provide or comes along with a default theme