XS Community Edition/0.4/Project Specifications

From OLPC
Jump to navigation Jump to search

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.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.3 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.1.0
  • NEW IN 0.4 -- 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

???

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