#||include||_all_css_js.htm||
This document is no longer maintained!
See online documentation instead
Surgeweb AJAX Interface Information you should know about surgeweb, particularly compared to the existing Netwin webmail. This pane is just to provide information to the beta testers of this product.
Whats New
Interfaces
Responsive & Efficient
Customisation
Work in progres...

- The Surgeweb Ajax interface design goals are to provide a modern looking interface that is:
  responsive, efficient, customisable/extensible, maintainable
- Interface features of particular note are:
  - many actions get done in the background
  - inbox messages get cached on login (up to 100), and compression is used on all requests
- main inteface can be "application style" (multiple panes) or "webpage style" (single pane)
- This product is still under active development, see the last tab for stuff that does not work yet / and a list of the features likely to be implemented next.

Note 1:To remove "beta panes" from the interface: Add "show_beta_panes false" to 'surgeweb/custom/defs_global.dat' or 'surgeweb/custom/mydomain.com/defs_domain.dat'
Note 2: If you are using IE, and connecting to an internet address (non local) you my get "permission denied" error on this page. If this is the case, add the site to the "trusted sites" list to enable communication between this browser window and the main browser window.

- Three "interfaces" supported:
  AJAX - for modern browsers using reliable (higher bandwidth) internet connections
  HTML - for browsers that have trouble with AJAX, or slower internet connections
  Mobile - for small screen browsers
- Interfaces are a bit like "templates" in that they are template file driven, but files are much simpler compared to old the webmail, and should hopefully never need to be edited for customisation.
- Improved handling of html messages: Display of HTML/nested MIME/multipart alternative
- Crossbrowser HTML editor for composing and replying to messages
- Variety of interface smarts added (particularly on AJAX interface): Autosaving, autocompletion, thumbnail image for attachments, more modern browser techniques, different panel layouts...
Session ID:||sid||
- Support for multiple sessions on the same account.
- If session becomes invalid allows reauthentication without losing work. Try then an interface action requiring the server.
Translation:$$other lang$$
- Fully UTF-8 interface:
  Support for interface language translation via language file
  Correct handling of multiple concurrent emails in different character sets

- The AJAX interface is optimised for user responsiveness: Much user interaction done clientside without requests to the server, Many commands are done in the background (eg changing message flags, deletion of messages, sending message, attach file). Messages can be pre-fetched and cached for rapid display.
- Message prefetching (and hypothetically folder message list caching) is optional and final arrangements yet to be determined, but default is to download all the messages displayed on the inbox page on login, assuming that you will have to deal with them all :-) (new messagesthat arrive during a session are not yet prefetched so act as a good usability speed comparison)
- Server side implementation: More efficient (running within surgemail server process, reduced fileio), Rewritten more maintanable code (allows for easier feature additions / bug fixes)
- Servers can still be "functionally split" into frontend webmail server and backend mailserver. These servers communicate via IMAP with sensible caching on the webmail machine.

Customised via:
defs_variable:||defs_variable||
extension CSS:Styled thing
extension JS:
- Several ways to customise, all are applied "over" the existing interface without modifying the base template. This provides for more maintainable upgrades, and easier troubleshooting.
- All customisation can be disabled using a single setting (global/domain)
- Three customisation methods:
  "defs" variables - for basic branding / logo changes at global/domain/group level
  Custom CSS - Allows arbitrary page reformatting
  Custom Javascript - Allows extension of UI behaviour, arbitrary page modification / extension
These customisations gets applied to the interface during the "loading screen" avoiding flicker (and actually is much faster than the examples below).
A "click and see the change" customisation interface will be setup within the surgemail admin interface. This will be based on some of the examples / prototyping below.
For some idea of the sort of things that can be done, try :
Now refresh the Surgeweb pane to go back to the original look, and try some of the customisation examples as individual steps: note: some examples break the ui for other examples, if it does not seem to work just refresh the page and continue.
- Change the Logo #
- Custom panelling styles :
note: Above example only applies changes to some of the panels
- Left column:
- Layout changes:
- Application hooks: (press once then press message)
Note: Just do a complete page refresh to clear any changes applied made here.

> All of the previous tabs is what is currently (or will be shortly) possible, now the caveat... This is work in progress. Implementation menthods may still be changed. Much functionality that is expected - and that is planned - may not be implemented yet. But I assure you that that is being improved on.
> Now open to the floor for feedback and suggestions. Particularly I would like to hear features you want to see first, things you do like, and things you don't like about this setup. Also any technical suggestions on implementation are much welcomed.
> Marijn
> Still lots to be implemented:
> Minimum to be implemented before production use:
> - Fwd/reply related: reply all addressing & attachments during forwarding
> Important significant features planned to implement asap:
> - Completion of html editor
> - Addressbook "properly integrated" (existing webmail / directory based )
> - Plain html and mobile interfaces for older browsers
> - Xfile upload of user.dat file (allowing multiple front end webmail servers)
> - Display of unread counts & automatic inbox refresh with new messages
> - Sorting and searching capabilities
> - Drag & drop message moving
> - IE6 & FF2 support
> - Handling browser back (&osx delete key) nicely
> - Check for browser javascript memory leaks (IE sometimes crashes. other browsers too?)
> - Improved info on folder management page
> Varous other feature requests: