UbuntuEasyBusinessServer

Differences between revisions 7 and 8
Revision 7 as of 2007-03-15 17:54:37
Size: 5355
Editor: ws56
Comment:
Revision 8 as of 2007-03-15 22:21:02
Size: 4794
Editor: 3e6b503c
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
'''For the Google Summer of Code project, only the following will be prioritised.'''
Line 32: Line 31:

'''For the Google Summer of Code project, only the above will be prioritised.'''
Line 54: Line 55:
Configuration could be handled in a number of ways:
 * Configuration file hijacking
  * As soon as the EBS configuration utility takes over a configuration file, it will no longer be editable manually. Any changes in the configuration interface will overwrite any manual changes.
 * Graceful editing
  * Any change in the configuration interface will result in an *edit* of the relevant configuration file.
 * Graceful hijacking
  * A hash of the hijacked configuration file will be kept around. If a manual edit has been done, the user will be presented with a choice to overwrite his manual changes or a diff between the last known configuration and the newly generated one and he will have to implement those changes himself.
Configuration will be handled by a graceful version of configuration file hijacking: A hash of the hijacked configuration file will be saved along with the written configuration file. If a manual edit has been done, the user will be presented with a choice to overwrite his manual changes or a diff between the last known configuration and the newly generated one and he will have to implement those changes himself.
Line 62: Line 57:
Graceful editing requires a much more complete overview over each components configuration options and the way the interact than I expect to be able to obtain within the given time frame. Simple hijacking is evil since it robs the slightly more advanced user of the ability to tweak stuff to his liking. Graceful hijacking seems to be the way to go.

Each task or component handled by the EBS configuration system will be implemented as a plugin containing configuration file templates, and a set of key/value/type tuples with sane defaults and helpful explanations. These pairs will be presented by the configuration utility in a coherent fashion.
Each task or component handled by the EBS configuration system will be implemented as a plugin containing configuration file templates, and a set of key/value/type tuples with sane defaults and helpful explanations.
These pairs will be presented by the configuration utility in a coherent fashion.
Line 67: Line 61:
 * Implementation will be written in Python, possibly using something like Django (which has a web server built in). UEBS will be implemented in Python, possibly using something like Django (which has a web server built in).
Line 69: Line 63:
 * Configuration file handling
  * Some sort of templating system will be put in place that takes a number of key/value pairs from a the configuration interface.
  * If changes have been made by the user (detected by means of a saved hash or something), the diff between the expected configuration file and the new configuration file will be presented so that the user can implement the changes himself and in effect just use the EBS configuration interface as a helper.
 * Web configuration interface
  * Simple, friendly, Ubuntu branded interface.
  * Should allow installation of more plugins.
The actual todo list:
 * Configuration file handling system:
  * Templating system
  * The magic bit (noticing changes to configuration files and show a diff to the user instead of overwriting)
 * Create a slick looking web interface (see mock ups below)
 * Definition and implementation of plugin system.
 * Implementation of the groupware plugins
  * Mail
  * Calendar sharing
  * Address book sharing
  * File sharing
  * Printer sharing
Line 76: Line 76:
== Screenshots ==

I imagine it will look something like this (these are just mock ups):
http://linux2go.dk/uebs-scrshots/mail.png
http://linux2go.dk/uebs-scrshots/user.png
http://linux2go.dk/uebs-scrshots/users.png
http://linux2go.dk/uebs-scrshots/network.png

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This spec describes Ubuntu's Easy Business Server, a configuration utility aimed at making it easy for non-technical businesses set up an Ubuntu based server for various things.

Rationale

The free software universe in general, and Ubuntu in particular, already provides most of the tools and infrastructure components needed to fulfill the needs of small businesses. What is needed is: Good integration between these components and easy configuration.

The current solutions like webmin are basically just a web enabled configuration file. The goal of this project is to provide something much more high level. E.g. instead of a postfix transport configuration dialog, I want an "Add mail domain" dialog. Which mail server provides the service and what terminology it uses is unimportant.

Scope

  • Groupware
    • Mail server (internal and external)
      • Multiple domains
      • Aliases
      • vacation integration
    • Calendar server
      • Sharing of free/busy schedule
    • Contact Management (Added by gQuigs 2007-3-15)
      • Optional: Storing telephone call information
    • File server
      • Sharing of files
      • Optional: Limitation of access to files
    • Print server

For the Google Summer of Code project, only the above will be prioritised.

For each of these tasks, a set of configuration files will be created based on best practices and a simple interface for setting it up will be provided.

Ultimately, the following services will be included, too:

  • Infrastructure
    • DHCP
    • DNS
    • Time
    • Firewall/Internet gateway
    • VPN
  • User management
    • Linux
    • Windows
  • Backup
    • Configuration
    • Files

Design

Unlike the current LAMP and DNS server options Ubuntu already provides, the EBS will not just be a metapackage depending on the right packages, but will also provide a clean, consistent, simple, Ubuntu branded configuration interface for adminstering all of this.

The Ubuntu Easy Business Server will provide only a limited amount of easily accessible configuration options. The target group is small businesses with little or no Linux experience, so only the bare minumum should be presented.

Configuration will be handled by a graceful version of configuration file hijacking: A hash of the hijacked configuration file will be saved along with the written configuration file. If a manual edit has been done, the user will be presented with a choice to overwrite his manual changes or a diff between the last known configuration and the newly generated one and he will have to implement those changes himself.

Each task or component handled by the EBS configuration system will be implemented as a plugin containing configuration file templates, and a set of key/value/type tuples with sane defaults and helpful explanations. These pairs will be presented by the configuration utility in a coherent fashion.

Implementation

UEBS will be implemented in Python, possibly using something like Django (which has a web server built in).

The actual todo list:

  • Configuration file handling system:
    • Templating system
    • The magic bit (noticing changes to configuration files and show a diff to the user instead of overwriting)
  • Create a slick looking web interface (see mock ups below)
  • Definition and implementation of plugin system.
  • Implementation of the groupware plugins
    • Mail
    • Calendar sharing
    • Address book sharing
    • File sharing
    • Printer sharing

Screenshots

I imagine it will look something like this (these are just mock ups): http://linux2go.dk/uebs-scrshots/mail.png http://linux2go.dk/uebs-scrshots/user.png http://linux2go.dk/uebs-scrshots/users.png http://linux2go.dk/uebs-scrshots/network.png

Data preservation and migration

Unresolved issues

BoF agenda and discussion

Comments

Comment by ArtCancro on 2007-03-15: may I suggest Citadel [http://www.citadel.org] as the groupware component? It would save an awful lot of work because it's got all of the mail and calendar stuff built in.


CategorySpec

UbuntuEasyBusinessServer (last edited 2012-11-09 15:46:51 by 41)