Skip to content | Change text size
 

Technical implementation

Web server implementation

The standard templates are designed to work on Apache-hosted web servers. They make extensive use of server side includes (SSIs).

They can be customised to work on other platforms, but the cross-browser/platform functionality built into the templates must be preserved. You will need to provide an alternative to Apache SSIs and you must maintain links to the centrally-maintained stylesheets.

You must also test extensively on a variety of browsers and platforms.

Use of SSIs

A number of SSIs are used to make up a single page. These are:

  • All headers and footers are included with an SSI.
  • The page header may include an SSI to handle different banner images on different parts of a site. Alternatively, a normal image element (e.g. <img src="file.gif"... >) can be used if you do not have multiple banner images.
  • The page footer uses an SSI to include the date on which the page was last updated.
  • An SSI is used to include the breadcrumb bar display. The breadcrumbs are generated by a CGI script.
  • Section navigation templates use an SSI to include section navigation.

To see the range of template styles that have been created go to web template styles.

The visual components of the templates are available in the Web Style Guide.

About the header file

The header file contains two versions of the header markup.

One is designed for older browsers like Netscape 4. This was created because of rendering problems in Netscape 4 running on Windows XP. Single pixel margins around the logo and banner image were displaying at several pixels wide. To fix this problem, the borders have been removed and implemented on the banner image instead.

A second instance of the header markup contains the header styled as the designer intended, with CSS-enabled borders.

An SSI contained within the header file handles browser detection and delivers the appropriate header to the requesting user agent.

Stylesheet implementation

The Monash stylesheets have been designed to work independently of web server platforms. They will work for websites hosted on IIS as well as Apache or any other type of web server. They have been tested widely for cross-browser and platform compatibility, and optimised for use with a broad range of browsers. Despite this, some rendering problems remain and are documented below.

Browser detection is handled by server rewrites

All templates include a link to a stylesheet file at http://assets.monash.edu.au/styles/monash.css. This file does not exist. Instead, the server detects the browser making the request and substitutes the appropriate CSS file in place of monash.css. The current rewrite rules are:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} Chimera [OR]
RewriteCond %{HTTP_USER_AGENT} Camino
RewriteRule monash.css camino.css [L]
RewriteCond %{HTTP_USER_AGENT} Safari
RewriteRule monash.css safari.css [L]
RewriteCond %{HTTP_USER_AGENT} Omni
RewriteRule monash.css omniweb.css [L]
RewriteCond %{HTTP_USER_AGENT} iCab
RewriteRule monash.css icab.css [L]
RewriteCond %{HTTP_USER_AGENT} Opera
RewriteRule monash.css opera.css [L]
RewriteCond %{HTTP_USER_AGENT} Gecko
RewriteCond %{HTTP_USER_AGENT} "Win"
RewriteRule monash.css mozwin.css [L]
RewriteCond %{HTTP_USER_AGENT} Gecko
RewriteCond %{HTTP_USER_AGENT} "Mac"
RewriteRule monash.css mozmac.css [L]
RewriteCond %{HTTP_USER_AGENT} Gecko
RewriteRule monash.css mozilla.css [L]
RewriteCond %{HTTP_USER_AGENT} Konqueror
RewriteRule monash.css safari.css [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE 6"
RewriteCond %{HTTP_USER_AGENT} "Win"
RewriteRule monash.css ie6win.css [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE 5.5"
RewriteCond %{HTTP_USER_AGENT} "Win"
RewriteRule monash.css ie55win.css [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE 5"
RewriteCond %{HTTP_USER_AGENT} "Win"
RewriteRule monash.css ie5win.css [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE 4"
RewriteCond %{HTTP_USER_AGENT} "Win"
RewriteRule monash.css ie4win.css [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE 5"
RewriteCond %{HTTP_USER_AGENT} "Mac"
RewriteRule monash.css ie5mac.css [L]
RewriteCond %{HTTP_USER_AGENT} "MSIE 4"
RewriteCond %{HTTP_USER_AGENT} "Mac"
RewriteRule monash.css ie4mac.css [L]
# older browsers
RewriteCond %{HTTP_USER_AGENT} "Win"
RewriteRule monash.css deprecated-win.css [L]
RewriteCond %{HTTP_USER_AGENT} "Mac"
RewriteRule monash.css deprecated-mac.css [L]
# anything that we do not pickup
RewriteRule monash.css base.css [L]

Browser-specific styles and a base stylesheet

A base stylesheet contains all styles needed for page layout. A number of browser specific stylesheets are included to handle rendering quirks on different browser/operating system platforms.

The base stylesheet is imported into the browser specific stylesheet using an @ rule. It is then delivered to the requesting user agent.

For example:
@import url("base.css");

Print styles, printable page versions

A set of print styles has been included in the base stylesheet. These instruct the browser not to print the header or section navigation portions of a page. However, print styles do not work with Netscape 4 or earlier browsers. It is possible to overcome this for pages generated by the content management system (CMS). A print presentation style can be dynamically generated by the CMS.

Cross-browser/platform testing

This is the list of browser/platforms combinations that have been tested. In the section below we document the issues that we were unable to or decided not to resolve.

Windows XP

  • Netscape 3.04, 4.75, 4.77, 4.79, 7.02, 7.1
  • IE 6.0.2
  • Opera 5, 6, 7
  • Mozilla 1.4, 1.5
  • Lynx 2.8.4
  • Home Page Reader 3.02

Windows 2000

  • Mozilla 1.4, 1.5
  • IE 6.0.2
  • Netscape 7.01, 7.1
  • Opera 7

Windows 98

  • Netscape 4.75, 4.76, 6.2, 7.1
  • IE 5, 6.0.2
  • Mozilla 1.4, 1.5
  • JAWS 4.51

Mac OS X

  • IE 5.2
  • Safari 1.0
  • Omniweb 4.5
  • Camino 0.7
  • Mozilla 1.4
  • Mozilla 1.5

Debian Woody

  • Mozilla 1.0.0
  • Netscape 4.77

Known browser issues

Information not yet available. In the interim, see notes on The new Monash website: "under the bonnet".

Change text size feature

The "change text size" feature linked from the top of the page uses a PHP script that allows users to easily change the size of text on Monash web pages. The default font size is set at 90% of the user-defined font size (i.e. it is based on whatever the user has set in their browser preferences).