Deployment Platform

Summary
A customizable platform based on the Sugar Learning Environment which is intended to be a basis for downstream distributions. The targeting audience for this platform are educational distributors and deployments who might be interested in these features:


 * A robust content sharing system, Sugar Network;
 * Getting feedback from the field;
 * Providing remote educational and technical support using Sugar Network's capabilities; which are especially needed in an offline scenario;
 * Supporting the offline scenario;
 * Centralized gathering of usage statistics;
 * Supporting heterogeneous deployments, i.e., not only XO laptops.

Deployment Platform consists of the following major components:


 * Base software
 * Base software is the foundation to start exploring the rest of the system. It will be accessible from Sweets Distribution native packages. Repositories of packaged software will be provided for all supported platforms and can be used as-is on top of existing operating system, e.g., GNU/Linux distribution for regular desktops, or OLPC OS for XO laptops.


 * Content
 * This class of software is based on Sugar Network, with master services hosted on Sugar Labs resources. It provides a broad variety of content, such as Sugar activities, artifacts derived from Sugar activities, books, etc., and the community social activity centered around this content. It is the common information forum to embrace all participants. Software provided on this level, in comparison to Base software, will be supported out of native packages.


 * Reference distributions to cover most common Deployment scenarios
 * Deployment scenarios are a set of solutions adapting all the previous components in order to support differing Sugar deployment scenarios. For example, "Keep the LTS releases for an Operating System and its Base software", or "Provide tools to sort out Content to make it useful for specific deployment needs".

Deployment scenarios
The following list describes common deployment scenarios where Deployment Platform might be useful. The final model might be an intermediate variant of them tuned by third-party distributor for local needs.


 * Internet server There is a master server located on the Internet in a highly accessible place for any maintenance work. Users are always connected to the Internet and the master server.


 * Gateway server The school server has Internet connectivity and serves it into the local network where it can be used by clients. Users are always connected to their school server via the Intranet.


 * Offline server When the school server itself and clients it serves are in an Internet-less environment with only one way to be synchronized with the outer world, sneakernet.

Deployment specific functionality
The following features were designed especially for deployment workflow.


 * Common client side configuration for all Deployment Platform components;
 * Deployment specific improvements of the Sugar Shell:
 * Shell plugins,
 * blacklist Shell components;
 * Collecting usage statistics of Sugar users;
 * Lightweight package management to process system updates and extra dependencies installation on XO laptops.

Reference implementations
These are reference implementations of distributions based on Deployment Platform. These implementations might be used as a template for downstream solutions.


 * XO distribution Reference desktop distribution for OLPC XO laptops.


 * Ubuntu desktop distribution Reference desktop distribution for workstations on Ubuntu or its derivates.


 * Debian server distribution Reference school server distribution for servers on Debian, Ubuntu or its derivates.

Downstream solutions

 * The Hexoquinasa project created by Peruvian community to support Sugar Learning Platform deployments.