XS Community Edition/0.4/Project Specifications

From OLPC
< XS Community Edition‎ | 0.4
Revision as of 03:13, 7 June 2013 by Dfarning (talk | contribs) (Core Server)
Jump to: navigation, search

School Server - Community Edition 0.4 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.4 - Web filtering – Enables schools to comply with local/legal restrictions on internet access for children.
  • NEW IN 0.4 - XS-Stats - Enables deployments to collect anonymous student usage.
  • NEW IN 0.4 - Backup and Restore.

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.4 will run on all 4 XO laptops:

  • XO 1 - Likely experimental
  • 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.
  • 2 USB ethernet dongles.
  • NEW IN 0.4 -- External USB hard drive – Allows the server to provide additional storage capabilities.

Standard Hardware

For greater flexibility some schools will want to use standard hardware.

  • Trim-Slice.
  • Raspberry Pi

Diligent volunteers can help make x86, x86-64bit, and ARM support increasingly widespread.

Deliverable

RPM

A RPM combined with tested installation instructions necessary to convert a standard XO or Fedora-compatible computer into a School Server.

IMAGE

  • NEW IN 0.4 -- A downloadable USB flash drive image, combined with tested installation instructions, which permit deployment staff to install XSCE software without an internet connection.

Base OS

  • OLPC-OS 13.2.0
  • Fedora 18

Modular design

One of the key design criteria of successful community-based projects is modularity.

Plug in services

Configuration Tools

GUI

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.

Remote Configuration

  • NEW IN 0.4 -- Remote administration – There are several systems such as CFEngine and puppet which enables remote management.

Command Line

???

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 student work
Purpose: To back up student work
Provider: idmgr

Service: Restore student work
Purpose: ???
Provider: ???

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: Moodle
Purpose:
Provider:

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.4 -- Service: Content filtering (TimM??)
Purpose: age-appropriate surfing, legal compliance, religious risks
Provider: dansguardian and opendns

NEW IN 0.4 -- Service: Content filtering (TimM??)
Purpose: age-appropriate surfing, legal compliance, religious risks
Provider: dansguardian and opendns

NEW IN 0.4 -- Service: 1-N WebDEV(JerryV, GeorgeH)
Purpose: Journal submissions to teacher, academic record (homework etc)
Provider: WebDAV

NEW IN 0.4 -- Service: Statistics Collection
Purpose: Collects users statics for academic research
Provider: pilot monitoring system

NEW IN 0.4 -- Service: Book server (SameerV, AlexK, GeorgeH struggling!)
Purpose: compete with Khan Academy?
Provider: pathagar

NEW IN 0.4 -- Service: Internet in Box
Purpose: Provide offline content
Provider: ???

Future Features and Objectives

  • 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: MediaWiki
Purpose:
Provider: