''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.'' * '''Launchpad Entry''': UbuntuSpec:sysadmin-framework-eval-criteria * '''Created''': 2007-06-04 by MathiasGug == Summary == There are a lot of system administration frameworks out there. This spec defines common criteria to evaluate and compare them. '''''IT DOESN'T COVER THE ACTUAL COMPARISON OF PRODUCTS. This is done in SysAdminFrameworkEvaluation.''''' == Rationale == Ubuntu tries to simplify the end user experience. In order to simplify the administration of Ubuntu servers a system administration framework should be provided. There are a lot of products there - thus the need to compare them against common criteria. == Use Cases == * Alice has discovered a new system management framework and wants to compare it to others. * Bob was asked by management if he could look into the product super-admin-framework to see if it can be integrated as a management tool into Ubuntu server. == Design == Define a list of criteria that should be evaluated. Provide a common place to summarize the evaluation of the different frameworks and compare them. == Implementation == === List of criteria === * Overview : * In which language(s) is the product written ? Ex: python, perl, ruby, c, java. * Which other components/products/packages are needed ? Ex: mysql, postgresql, ldap, an xml parser. * Which platform is targeted ? Ex: linux, debian. * Which license is used ? Ex: GPL, BSD, Commercial. * Packaging : * How does upstream distribute the product ? Ex: a tar file. * Does upstream provide packages ? Ex: package for debian, ubuntu. * Frontend : * What type of frontend is provided ? * Web interface: * Is it possible to modify the look'n'feel of the interface ? How ? Ex: change the css file in the template directory. * Graphical UI: * Which environment is used ? Ex: gnome, kde, gtk, qt, Xlib. * Console UI: * Which environment is used ? Ex: ncurses. * Command line interface: Ex: via bash script, perl script. * How is user management handled ? * What type of user authentication is supported ? Ex: ldap, password file. * Does it support access control ? Ex: Alice can configure service A and B. Bob can only configure B. * Backend : * Is there a clear separation of the backend and the frontend ? How ? Ex: Uses a client/server model. * Is it possible to have multiple frontends ? * How does the framework handle configuration modifications done in other ways? Ex: the dhcpd.conf file has been edited by hand. Will the framework overwrite it ? How will the framework react ? * How is the configuration stored ? Ex: xml file, directly in the configuration files. * How are the local configuration files generated ? Ex: template engine (which one). * Other features: * Does the framework support multiple server management ? * Which protocol is used to communicate between servers ? * Does the framework support rollback to previous configurations ? * Is it possible to view changes between two configurations ? * Is it possible to view which modifications are going to be applied before committing them ? * Is there an auditing system that logs which actions have been done by whom ? * How can a new service be added to the framework ? === Evaluation summary location === A wiki page : SysAdminFrameworkEvaluation. == Outstanding Issues == == BoF agenda and discussion == '''DO NOT LIST PRODUCTS THAT SHOULD BE EVALUATED. USE THE WIKI PAGE SysAdminFrameworkEvaluation TO DO THAT.''''' ---- CategorySpec