User:Holt/XS Community Edition/0.2/Project Specifications: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 25: Line 25:
==Hardware==
==Hardware==


School servers can be either XO 1.75 or standard x-86 based hardware.
The target hardware for the school server will be recent XO laptop. Due to hardware limitations on XO 1.0s, design and implementation of a fully functional server becomes difficult. In common usage, the XO may be augmented by two off the shelf USB devices:

===XO 1.75===

In common usage, the XO may be augmented by SD cards and two off the shelf USB devices:
<ul>
<ul>
<li>External hard drive – Allows the server to provide additional storage capabilities.
<li>External hard drive – Allows the server to provide additional storage capabilities.
Line 31: Line 35:
</ul>
</ul>


Using this strategy it is simple for a deployment to inventory and maintain school servers.
This strategy it is simple for a deployment to inventory and maintain school servers.

===X-86===


For greater flexibility some schools will want to use standard x-86 hardware.
NOTE: Limiting the hardware to XO simplifies the implement and testing process because their fewer possible configurations to deal with.


== Deliverable==
== Deliverable==
Line 39: Line 45:
A RPM combined with tested installation instructions necessary to convert a standard XO 1.75 into a School Server.
A RPM combined with tested installation instructions necessary to convert a standard XO 1.75 into a School Server.


An image combined with tested installation instruction which can be flashed onto a laptop by deployment support staff. At initial 'power on' the support staff or teacher will be greeted by a simple GUI to do initial configuration.
An image combined with tested installation instruction which can be flashed onto a laptop by deployment support staff. At initial 'power on' the support staff or teacher will be greeted by a simple GUI to do initial configuration. -- FUTURE


==OS==
==OS==


To keep things simple and consistent the school server will be based on OLPC-OS 12.1 f17
The school server will be based on OLPC-OS 12.1 f17


NOTE: Limiting the deliverable to single OS variant meets the requirement to work on a XO while limiting complexity.
NOTE: Limiting the deliverable to single OS variant meets the base requirements while limiting complexity.


==User Interface==
==User Interface==
Line 51: Line 57:
Command Line – Command line configuration should be discouraged at all levels. Target users are often not familiar with the linux system administration. Initial setup or fixing a problem with their server is not a good time to introduce system administration skill.
Command Line – Command line configuration should be discouraged at all levels. Target users are often not familiar with the linux system administration. Initial setup or fixing a problem with their server is not a good time to introduce system administration skill.


Browser based GUI. – The primary configuration tool will be a browser based GUI. This technology is well understood by developers. Many end uses have familiarity with Browser based setup.
FUTURE: Browser based GUI. – The primary configuration tool will be a browser based GUI. This technology is well understood by developers. Many end uses have familiarity with Browser based setup.


A browser based allow admin from three physical distances:
A browser based allow admin from three physical distances:
Line 60: Line 66:
</ul>
</ul>


Remote automation – There are several system such as CFEngine and puppet which enables remote management. While not immediately required by AU it is highly desirable by large deployment. - FUTURE
FUTURE: Remote automation – There are several system such as CFEngine and puppet which enables remote management. While not immediately required by AU it is highly desirable by large deployment. - FUTURE


==Modular design==
==Modular design==
Line 85: Line 91:
Prupose: <br>
Prupose: <br>
Provider: named <br>
Provider: named <br>

Service: Backup of student work and restore<br>
Purpose: <br>
Provider: idmgr


Service:Jabber server <br>
Service:Jabber server <br>
Line 91: Line 101:


==Extended Services==
==Extended Services==

Service:<br>
Purpose:<br>
Provider: appache<br>


Service: proxy server and web cache (XavierC) <br>
Service: proxy server and web cache (XavierC) <br>
Purpose: bandwidth, web-filtering, web-monitoring <br>
Purpose: bandwidth, web-filtering, web-monitoring <br>
Provider: squid
Provider: squid<br>

Service:<br>
Purpose:<br>
Provider: rsync<br>

Service:<br>
Purpose:<br>
Provider: activity updater<br>

Service:<br>
Purpose:<br>
Provider: open vpn<br>

==Future Services==


Service: Content filtering (TimM??) <br>
Service: Content filtering (TimM??) <br>
Line 100: Line 128:
Provider: dansguardian
Provider: dansguardian


Service: Backup of student work and restore (JerryV, SameerV, GeorgeH)<br>
Service: (GeorgeH, Gerald)<br>
Purpose: also for stats/metrics, with incumbent surveillance risks<br>
Purpose: local distribution/replication of Sugar Activities etc<br>
Provider: idmgr
Provider: pdsh


Service: (JerryV, GeorgeH)<br>
Service: (JerryV, GeorgeH)<br>
Line 111: Line 139:
Purpose: remote upgrading/admin of XS servers (semi-automated)<br>
Purpose: remote upgrading/admin of XS servers (semi-automated)<br>
Provider: Puppet
Provider: Puppet

Service: (GeorgeH, Gerald)<br>
Purpose: local distribution/replication of Sugar Activities etc<br>
Provider: pdsh


Service: Book server (SameerV, AlexK, GeorgeH struggling!)<br>
Service: Book server (SameerV, AlexK, GeorgeH struggling!)<br>
Purpose: compete with Khan Academy?<br>
Purpose: compete with Khan Academy?<br>
Provider: pathagar
Provider: pathagar

==Extended Services==

Revision as of 00:10, 9 February 2013

School Server - Community Edition 0.2 Project Specifications

Executive 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.
  • Web filtering – Enables schools to comply with local legal restrictions on internet access for children.
  • Security – XO related security services. - FUTURE
  • Content management - FUTURE

Reference User

The XS-CE has two different types of reference user:

  • Highly skilled sysadmins running micro-deployments
  • OLPC-AU schools.

As a result this design might not apply in all situations in all deployments. These limitations ease design and development while creating a fuctional reference implementation.

Hardware

School servers can be either XO 1.75 or standard x-86 based hardware.

XO 1.75

In common usage, the XO may be augmented by SD cards and two off the shelf USB devices:

  • External hard drive – Allows the server to provide additional storage capabilities.
  • Network connector – Allow the server to offer internet access to connected XO's.

This strategy it is simple for a deployment to inventory and maintain school servers.

X-86

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

Deliverable

A RPM combined with tested installation instructions necessary to convert a standard XO 1.75 into a School Server.

An image combined with tested installation instruction which can be flashed onto a laptop by deployment support staff. At initial 'power on' the support staff or teacher will be greeted by a simple GUI to do initial configuration. -- FUTURE

OS

The school server will be based on OLPC-OS 12.1 f17

NOTE: Limiting the deliverable to single OS variant meets the base requirements while limiting complexity.

User Interface

Command Line – Command line configuration should be discouraged at all levels. Target users are often not familiar with the linux system administration. Initial setup or fixing a problem with their server is not a good time to introduce system administration skill.

FUTURE: Browser based GUI. – The primary configuration tool will be a browser based GUI. This technology is well understood by developers. Many end uses have familiarity with Browser based setup.

A browser based allow admin from three physical distances:

  • On screen. Initial setup and admin of security sensitive services can be limited to on screen.
  • On site. Subsequent management of non security sensitive services can be done by a teacher or local admin logging in to the machine.
  • Remote. Deployment level support staff can log in and remotely maintain and monitor services.

FUTURE: Remote automation – There are several system such as CFEngine and puppet which enables remote management. While not immediately required by AU it is highly desirable by large deployment. - FUTURE

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.

Core Server

The core server will contain 5 components 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:
Purpose:
Provider: appache

Service: proxy server and web cache (XavierC)
Purpose: bandwidth, web-filtering, web-monitoring
Provider: squid

Service:
Purpose:
Provider: rsync

Service:
Purpose:
Provider: activity updater

Service:
Purpose:
Provider: open vpn

Future Services

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

Service: (GeorgeH, Gerald)
Purpose: local distribution/replication of Sugar Activities etc
Provider: pdsh

Service: (JerryV, GeorgeH)
Purpose: Journal submissions to teacher, academic record (homework etc)
Provider: WebDAV

Service: (DSD, GeorgeH)
Purpose: remote upgrading/admin of XS servers (semi-automated)
Provider: Puppet

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