Theme Manager
- Last modification: 2008-08-28 00:41:12.759871+02
- Status: DRAFT
What others do
"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:
- a configuration file
- a collection of stylesheets
- a collection of icons
- a pair of templates: header and footer
Resources for specific modules are structured into directories.
Joomla!
<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
Drupal
moodle
Themes can be set at different level:
- Site: applied to all pages
- User: applied to all pages, overrides the site one if set in user profile
- Session: applied to all pages, overrides the site and user one
- Course: applied on the course, overrides site, user and session one for the course only. set in the course profile
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:
ATutor
What is an acs-theme?
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:
- templates: for the organization of the information
- stylesheets: for layout and skinning
- icons: graphic representation of common actions and entities (see acs-kernel.common_* message keys)
- widgets: WYSIWYG HTML editor ???
Templates
This is a list of the templates that can be set using parameters:
- master template: acs-subsite, section Main
- DefaultMaster
- list template:
- acs-templating, section Main:
-
- DefaultListFilterStyle (misnamed since it's not a style but a template)
- DefaultListStyle
- acs-subsite, section Main
- DefaultListStyle
- form template:
- acs-templating, section Main
-
- DefaultFormStyle
- acs-subsite, section Main
- DefaultFormStyle
- others:
- acs-subsite, section Templates
- LoginTemplate
- UserHomeTemplate
- UserInfoTemplate
- UserNewTemplate
- acs-subsite, section Main
- EmailConfirmTemplate
- acs-subsite, section Templates
Stylesheets
Currently stylesheets are hard-coded. A few individual applications (e.g. calendar, forums) have their own stylesheets.
Icons
Same. Icons are hard-coded.
Widgets
The HTML editor is set in acs-templating using the following parameters:
- RichTextEditor
- XinhaDefaultPlugins
Scenarios
Facebook-like site (holycow) - per subsite
Users with specific needs - per user
Requirements
*** 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