 HOWTO: Creating New Themes
Last modified 4/6/2005.
This document describes how you can create and install new themes,
augmenting those already bundled with CourseForum and ProjectForum.
For examples, see the theme exchange.
About Themes
Both CourseForum and ProjectForum (full versions only) offer a
choice of themes, allowing administrators to radically
change the appearance of the entire site or an individual forum. Both
products ship with several themes already installed, and themes can be
selected via the site or forum administration interfaces.
Why Create New Themes?
Besides the themes shipped with the products, new themes can be
added to the available choices. Themes can be created so that
CourseForum or ProjectForum sites are branded to match
other web sites or institutional materials. Themes can be created
also simply to match personal preferences.
What is Required to Create Themes?
Creating new themes requires an understanding of conventional
web design techniques, including use of HTML and Cascading Style
Sheets (CSS). Programming expertise is not required.
If you need assistance with these changes, or have particular
needs that cannot be met through the customizations described here, please
contact us to discuss your situation. If you would rather not do the
work to create a new theme yourself, we can do this for you on a
contract basis.
Creating and Modifying Themes
Starting with version 4.3, creating and modifying themes is done
entirely via the web-based administration interface, in the "Custom Themes"
section. You can create a new theme (starting with an existing theme),
or modify any of the theme components (changing styles, adding or deleting
images, etc.).
Other Example Themes
Our theme exchange contains images and downloads
of several different themes, for inspiration or to try. If you've created
an interesting looking theme and want to share it with others, please let
us know.
Theme Components
Themes can contain a number of different types of components: CSS style
sheets, images, HTML includes, and metadata, which can all be modified
via the web-based theme editor.
CSS style sheets [styles.css, print.css].
Style sheets allow you to change the
fonts, colors, and positioning of elements on the page. All pages
automatically load in a main stylesheet, which you will want to customize.
Simple changes can involve setting colors, fonts, adding images, etc.
More complex changes can radically adjust the appearance of the site,
whether different components are displayed, where they are located, etc.
The sidebar describes some of the main styles that you may be interested in
modifying.
A second stylesheet can also be provided, which will be loaded on the
'Print' pages after the main stylesheet. This can be used to adjust
the appearance of the print pages slightly; see the 'Broadcast' theme
for an example.
Images [home.gif, help.gif, edit.gif,
post.gif, ...].
You can replace the various GIF images that are used throughout the software
with your own images. You can also add your own images (e.g. a corporate
logo), which would need to be referenced from the main stylesheet.
HTML includes [pagetop, pagebottom,
contentend]. You can insert arbitrary new HTML code into
pages by including any of these three HTML includes in your theme.
You can use these for example to add header and footer areas to all
pages. The HTML is inserted immediately after the initial <body> tag,
immediately before the closing </body> tag, or right after
the main content of the page, respectively.
Metadata [info.txt].
The theme also contains other metadata, such as the name of the theme,
the size to use for dialog windows (e.g. attach file), the size to use
for help windows, and the number of columns and rows in the textarea
used for 'post your comments'. The theme editor presents each of these
as options.
Custom Themes on Disk
Themes are created and modified using the web-based theme editor, so there
is little reason to be concerned about how they are stored on disk. However,
if you want to share your theme with someone else, or you are using a version
of CourseForum or ProjectForum prior to version 4.3, this may be useful.
Themes are stored in the "themes" directory within the "Group Data" or
"Course Data" directory. Each theme gets its own directory within that,
and that directory will contain the theme files (styles.css, etc.). If
the theme does not provide a particular file, the file from the
default theme will be used in its place.
To make it easier to share themes, all the components of a theme
can also be packaged into a single ".zip" file (created using zip,
winzip, or other utilities). The ".zip" file can then be placed
directly into the "themes" directory. Several such files are available
for download on the theme exchange.
|