XS Community Edition/0.3/Project Specifications
School Server - Community Edition 0.3 Project Specifications
Summary
The school server is very similar in concept to a standard home wireless router. In everyday usage it provides various services which extend capabilities of the connected laptops while being totally transparent to the user. These services can include:
- Network connection – various services similar to what you would find in a home router.
- Presence server – Augments sugar's native collaboration functionality.
- NEW IN 0.3 - Web filtering – Enables schools to comply with local/legal restrictions on internet access for children.
Reference User
The XS-CE has two different types of reference user:
- Skilled sysadmins running micro-deployments
- Mid-sized deployment with limited onsite sysadmins
Hardware
School servers can be either an XO or standard x86 based hardware.
XO
XSCE v0.3 will run on all 4 XO laptops:
- XO 1
- XO 1.5
- XO 1.75
- XO 4
In common usage, the XO may be augmented by SD cards and two off the shelf USB devices:
- Network connector – Allow the server to offer internet access to connected XO's.
- NEW IN 0.3 -- 2 USB internet dongles.
- NEW IN 0.3 -- External USB hard drive – Allows the server to provide additional storage capabilities.
X86
For greater flexibility some schools will want to use standard x86 hardware. Diligent volunteers can help make x86 and x86-64bit support increasingly real.
Deliverable
RPM
A RPM combined with tested installation instructions necessary to convert a standard XO-1.75 or Fedora-compatible x86 computer into a School Server.
IMAGE
NEW IN 0.3 -- An downloadable USB flash drive image, combined with tested installation instructions, which permit deployment staff to install XSCE software without an internet connection.
OS
NEW IN 0.3 -- OLPC-OS 13.1.0 --
GUI Later
Command line configuration/administration should eventually be discouraged as the system matures. Future target users are often not familiar with Linux system administration. Initial setup or fixing a problem with their server is not a good time to introduce system administration skill.
Modular design
One of the key design criteria of all successful community-based projects is modularity. The original XS suffered because developers took used monolithic design overcome hardware limitations on the XO-1. The improvements in the XO-1.75 allow for the potential inefficiencies of modularity.
NEW IN 0.3 -- 'plug in services'
Core Server
The core server will contain five services which can be extended via extended services.
Service: Network setup
Purpose:
Provider: xs-setup-network
Service: Dynamic Host Configuration Protocol
Purpose: Schoolserver and clients need to be on same subnet.
Provider: dhcpd
Service: Iptables -- Network Address Translation (NAT)
Purpose: Permits all XO’s to access the internet.
Provider: gateway
Service: Internet domain name server
Prupose:
Provider: named
Service: Backup of student work and restore
Purpose:
Provider: idmgr
Service:Jabber server
Purpose: collaboration > 15 clients needs to work.
Provider: ejabberd
Extended Services
Service: Web server
Purpose: Building block for many other extended services
Provider: apache
Service: proxy server and web cache
Purpose: bandwidth, web-filtering, web-monitoring
Provider: squid
Service: OLPC-update
Purpose: OLPC-update is necessary to update the kernel of XO
Provider: rsync
Service: Activity update
Purpose: Enables teachers to easily distribute new or updated activities to their students
Provider: activity updater
Service: Virtual Private Network (VPN)
Purpose: Creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities
Provider: openvpn
NEW IN 0.3 -- Service: Content filtering (TimM??)
Purpose: age-appropriate surfing, legal compliance, religious risks
Provider: dansguardian and opendns
NEW IN 0.3 -- Service: 1-N WebDEV(JerryV, GeorgeH)
Purpose: Journal submissions to teacher, academic record (homework etc)
Provider: WebDAV
NEW IN 0.3 -- Service: Statistics Collection
Purpose: Collects users statics for academic research
Provider: pilot monitoring system
NEW IN 0.3 -- Service: Book server (SameerV, AlexK, GeorgeH struggling!)
Purpose: compete with Khan Academy?
Provider: pathagar
NEW IN 0.3 -- Service: Internet in Box
Purpose: Provide offline content
Provider: ???
Future Features and Objectives
- Raspberry Pi (RPi) compatibility
- Browser-based GUI Config - as primary configuration tool? To configure install setup and core services?
- Puppet remote management (future service below, design goals reviewed May 2013)
- ejabberd roster admin
- Consideration of other devices (Android, Kindle, iPods, iPads)
- Content curation (beyond dumping stuff into Apache directories)
- Khan Academy
Future services
Please consider adding features and objectives to this list if you feel they should be included in a future release. If you consider the feature important and are willing and able to do the necessary work please sign your name to take responsibility for that service.
Service: (GeorgeH, Gerald, AnnaS)
Purpose: local distribution/replication of Sugar Activities etc
Provider: pdsh
Service: (DSD, GeorgeH, TimM)
Purpose: Remote administration – There are several systems such as CFEngine and puppet which enables remote management. While not immediately required by AU it is highly desirable by large deployment
Provider: Puppet
Service: Moodle
Purpose:
Provider:
Service: MediaWiki
Purpose:
Provider: