SurgeWeb Customisation

SurgeWeb is setup for easy customisation of the basic look and feel of the interface, and basic rebranding of the interface. There is an customisation interface built in to SurgeMail that allows customisation to be done at the following levels:

  • Globally - Serverwide rebranding setting defaults for all domains
  • Domain - Per domain rebranding
  • Group - Customisation can be applied at the surgemail g_access_group level
The surgeweb administration interface can be found under "value added features" in navigation pane of the surgemail admin interface. An autoreloading surgeweb window is available from the admin interface that will automatically refresh when any changes are saved in the customisation interface.

Reloading surgeweb interface and domain customisation disable

Customisation is applied "over the top of" the existing interface. This means it the core templates should not need to be modified and surgemail upgrades remain straight forward. If there are any interface problems it is possible to use a single domain setting to completely disable customisation on a domain for easy troubleshooting.

In the customisation interface the colour of the 'combined value' of any setting shows at what level it has been customised. For any particular setting the "deepest" level will win. So domain will override global and group will override domain.

global domain group

The documentation below shows current surgeweb operation, but everything documented here is still under development and thus subject to change.

Skinning and Interface 'Look'

Login page Appearance - A single css file allows complete customisation of the login page. 3 Examples are provided and your own css file can be specified.

default like old smooth like old panel  

'Skin' interface colouring - An interface colouring CSS can be applied to change the look of the interface. Several examples "thrown together" as follows (more will be made and can be custom made):
default +
blue buttons
dune loud kevin

To add your own skins, add these to surgeweb/custom/skins/ directory (surgeweb 5.0j-10+) - you can start with example and modify as needed.

Ajax 'panel look' - The panels of the Ajax interface can be setup to have gaps between them and have slightly rounded or square corners:

default narrow wide none

Right column content - A right column (disabled by default) can be enabled with a variety of content:
default custom text ads image ads

Basic Rebranding

Much of the interface can be rebranded as required using the basic rebranding settings.

Login title - Main login page email service title
Login page end comment - Comment on the bottom of the login page
Logo image - Logo image as displayed on the main email interface
Info panel - Additional panel for custom messages
Footer text - Text in the footer line
Browser titlebar - Browser page title bar

title comment logo footer info panel
login screen   mail screen

Note: the 'panel look' and 'background gradient image' are also customised in the above example

User Preferences

User preference defaults to be applied the first time a user logs in can be configured:

Windowing behaviour - Message editing windowing behaviour can be controlled to display and edit edit messages in their own popup windows, or in tabs in the current browser window
popup windows tabbed windows    

Preview window - Message preview display can be below the message list, to the right of the message list (widescreen) or completely disabled.
preview normal preview widescreen no preview  

other user preferences that can be set include:

Auto downsize images - Automatically downsize images when mailing large digital photos
Date and time formats - US / international date and time conventions
Auto add addresses - Automatically add messages you reply to to the addressbook & autocompletion
Sounds notifications - The audio feedback notifications to use for new mail and messages successfully sent
Timezone - User timezone
Start 'More Folders' open - Open or collapse the 'More Folders' grouping at login time
Disable inbox caching - Disable the preemptive download of the first page of inbox messages (saves bandwidth)
Allow external images - Conditions under which to display external images that messages link to
Extra imap refreshes - Do additional imap refreshes - useful if using another imap client and changes made in other client are not getting propagated to surgeweb (partially implemented)
Initial left column size - Initial width of the left column
Hide integration warning - Hide the once ever per user 'limited integration' warning regarding surgeplus / user.cgi

Other customisation

Default folder names - Surgeweb will choose the first found of several default folders for the Draft, Sent and Trash folders. The actual folder used can be set instead to a fixed folder.

Surgeweb has the facility to extend the default surgeweb behaviour using a custom css and a custom javascript file. These are advanced features for developers only and are still subject to be changed. However an example of extension is included which displays scrollable wikimapia maps in a custom pane in the left hand column:

Example extension - Enable / disable wikimapia extension - this also enables the extension css and extension javascript if they are not already enabled.

Example extension

Arbitrary login screen

You can use a form on your own arbitrary web page to login to surgeweb directly. You need to pass these form fields: "username_ex", "password" and "interface_ex".

 <html><head><title>Some arbitrary page</title></head>
 <form action="" method="post" name="login">
 User:<input type="text" name="username_ex" value="" ><br>
 Password:<input type="password" name="password" value=""><br>
 <INPUT id=cmd_login name=cmd_login type=submit value="Log In">
 <!-- need to pass in interface eg fixed as "ajax" or via selection
 	 (ajax does not work on some browsers)
  <select name="interface_ex">
   <option value="ajax">ajax</option>
   <option value="html">basic</option>
   <option value="mobile">mobile</option>
  </select> -->
 <input type=hidden name="interface_ex" value="ajax">
 <!-- Optional pass in the domain to login as - normally identified from url
 <input type=hidden name="domain_ex" value="" -->

The above will work regardless of url, provided the form gets directly submitted to surgeweb from the browser. If instead you wish to setup surgeweb as part of a central login service (generally on a url separate to the surgeweb host name) this is documented on the clustering page.

Login page links

The following account management links can be added to the surgeweb login page, by manually adding these settings to config_*.dat files. (surgemail 5.0j-9+)

 # Forgot password link
 showlink_forget_pass true
 # New account creation link
 showlink_create_account true
 # Custom help link
 showlink_login_help true