XS Community Edition/5.0/Project Specifications: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
m (moved XS Community Edition/0.5/Project Specifications to XS Community Edition/5.0/Project Specifications: irc & voice meeting consensus over the past week)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{xsce}}
{{xsce}}
This spec document will be refined [[../Sprint|Oct 21-23 in San Francisco]]:

Please help refine the [http://lists.laptop.org/pipermail/server-devel/2013-September/006804.html purpose,] lay out the architecture of the upcoming XS Community Edition 0.5 -- starting with this [http://en.wikipedia.org/wiki/Open-space_technology open-community planning] document you can add suggestions to here:

https://docs.google.com/document/d/1FVUFl6vry8u9b_lNSXvcWKN6hgVB-7Je4aTBpvq0QVg

==Summary==
==Summary==


Line 17: Line 11:
==Reference User==
==Reference User==


A technically savvy user who does not have any experience with the command line
The XSCE 0.5 has three types of reference user:
* Highly motivated volunteers willing to risk the bleeding edge.
* Skilled sysadmins running micro-deployments.
* Experienced mid-sized deployment with limited onsite sysadmins.


==Design==
==Design==
Line 32: Line 23:
===XO===
===XO===


XSCE will run on [[XO-1.5]], [[XO-1.75]], and [[XO-4]] laptops ([[XO-1]] is still a work in process). In common usage, the XO may be augmented by SD cards and two off the shelf USB devices:
XSCE is to run on [[XO-1.5]], [[XO-1.75]], and [[XO-4]] laptops. The XO may be augmented by SD cards and off the shelf USB devices:
* Network connector – Allow the server to offer internet access to connected XO's.
* two USB ethernet dongles – Allow the server to offer internet access to connected XO's.
* a USB hard drive – Allows the server to provide additional storage capabilities.
* 2 USB ethernet dongles.
* NEW IN 0.4 -- External USB hard drive – Allows the server to provide additional storage capabilities. Experimental: USB powered hard drives require a powered USB hub between the XO and the drive -- particularly when attached to the XO-1.5.


Please note that XO-1s and XO-1.5 'lite' machines may require an internal SD card to meet XS storage requirements.
XO-1.5 'lite' machines may require an internal SD card to meet storage requirements.


===Standard Hardware===
===Standard Hardware===


For greater flexibility some schools will want to use standard hardware. XSCE is currently supporting:
For greater flexibility some schools will want to use standard hardware. XSCE is currently supporting:
* Trim-Slice.
* Trim-Slice
* i386
* Raspberry Pi.
* I386.
* x86_64


Other hardware may work, but is not tested as part of the release process. Please help us by running the tests at ../0.5/Testing testing on your hardware of choice to verify it works.
Other hardware may work, but is not tested as part of the release process. Please help us by running the tests at ../0.5/Testing testing on your hardware of choice to verify it works.
Line 63: Line 53:
===GUI===
===GUI===


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.
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.


== Deliverable==
== Deliverable==

Project is migrated to ansible and fully tested.


=== RPM ===
=== RPM ===
Line 73: Line 65:
=== IMAGE ===
=== IMAGE ===


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


==Core Services==
==Core Services==
Line 95: Line 87:
Provider: named
Provider: named


NEW IN 0.4 -- System monitoring <br>
System monitoring <br>
Purpose: Ensures that all offered services are running as expected<br>
Purpose: Ensures that all offered services are running as expected<br>
Provider: monit
Provider: monit
Line 133: Line 125:
Provider: idmgr
Provider: idmgr


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


NEW IN 0.5 -- Service: Statistics Collection<br>
Service: Statistics Collection<br>
Purpose: Collects users statics for academic research <br>
Purpose: Collects users statics for academic research <br>
Provider: pilot monitoring system<br>
Provider: pilot monitoring system<br>


NEW IN 0.5 -- Service: Book server (SameerV, AlexK, GeorgeH)<br>
Service: Book server (SameerV, AlexK, GeorgeH)<br>
Purpose: Locally currated selection of eBooks?<br>
Purpose: Locally currated selection of eBooks?<br>
Provider: https://github.com/PathagarBooks/pathagar
Provider: https://github.com/PathagarBooks/pathagar


NEW IN 0.5 -- Service: Internet in Box<br>
Service: Internet in Box<br>
Purpose: Provide offline content<br>
Purpose: Provide offline content<br>
Provider: http://internet-in-a-box.org/
Provider: http://internet-in-a-box.org/


NEW IN 0.5 -- Service: Customization Stick<br>
Service: Customization Stick<br>
Purpose: Permit small deployments to modify stock images (add or subtract activities)<br>
Purpose: Permit small deployments to modify stock images (add or subtract activities)<br>
Provider: Tiny Core Linux
Provider: Tiny Core Linux


== Future Features and Objectives==
== Future features ==
* Browser-based GUI Config - as primary configuration tool? To configure install setup and core services?
* ejabberd roster admin
* Consideration of other devices (Android, Kindle, iPods, iPads)
* Content curation (beyond '''dumping''' stuff into Apache directories)


Features which will be implemented in either 0.5 release or 0.6 release are listed here:
== Future services ==
http://wiki.laptop.org/go/XS_Community_Edition/feature


There are additional features which have not been captured in a feature page. A feature page for each of these needs to be created:
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)<br>
Service: (GeorgeH, Gerald, AnnaS)<br>

Latest revision as of 15:34, 16 January 2014

This IIAB XSCE content does not reflect the opinion of OLPC. These pages were created by members of a volunteer community supporting OLPC and deployments.

Summary

A school server provides communication, networking, content, and maintenance to a school and or classroom. In everyday usage the school server provides services which extend capabilities of the connected laptops while being transparent to the user. These services include:

  • Classroom connectivity – Similar to what you would find in an advanced home router.
  • Internet gateway – If available, an internet connection is made available to laptops.
  • Content - Tools are available for deployments and teachers to make instructional media available to their schools and classrooms.
  • Maintenance - Tools are available to keep laptop updated and running smoothly.

Reference User

A technically savvy user who does not have any experience with the command line

Design

One of the key design criteria of successful community-based projects is modularity with 'plug in' services

Hardware

School servers can be either an XO or standard x86 and arm based hardware.

XO

XSCE is to run on XO-1.5, XO-1.75, and XO-4 laptops. The XO may be augmented by SD cards and off the shelf USB devices:

  • two USB ethernet dongles – Allow the server to offer internet access to connected XO's.
  • a USB hard drive – Allows the server to provide additional storage capabilities.

XO-1.5 'lite' machines may require an internal SD card to meet storage requirements.

Standard Hardware

For greater flexibility some schools will want to use standard hardware. XSCE is currently supporting:

  • Trim-Slice
  • i386
  • x86_64

Other hardware may work, but is not tested as part of the release process. Please help us by running the tests at ../0.5/Testing testing on your hardware of choice to verify it works.

OS

XSCE will run on either:

  • OLPC-OS 13.2.0
  • Fedora 18

Configuration Tools

Remote Configuration

One of the most pressing logistical challenges for deployments is travel time between schools. If can take days, and weeks in some cases, a technical support person with the needed skills to arrive 'on-site' to fix an issue. XXCE provides two options for remote administration:

  • OpenVPN -- Any individual school server with internet connectivity can be accessed remotely by support staff.

GUI

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.

Deliverable

Project is migrated to ansible and fully tested.

RPM

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

IMAGE

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

Core Services

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

System monitoring
Purpose: Ensures that all offered services are running as expected
Provider: monit

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: Provides Course Management System
Provider: Moodle

Service: Activity update
Purpose: Enables teachers to easily distribute new or updated activities to their students
Provider: activity updater

Service: OLPC-update
Purpose: OLPC-update is necessary to update the kernel of XO
Provider: rsync

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

Service: Backup student work
Purpose: To back up student work
Provider: idmgr

Service: Content filtering
Purpose: age-appropriate surfing, legal compliance, religious risks
Provider: dansguardian and opendns

Service: Statistics Collection
Purpose: Collects users statics for academic research
Provider: pilot monitoring system

Service: Book server (SameerV, AlexK, GeorgeH)
Purpose: Locally currated selection of eBooks?
Provider: https://github.com/PathagarBooks/pathagar

Service: Internet in Box
Purpose: Provide offline content
Provider: http://internet-in-a-box.org/

Service: Customization Stick
Purpose: Permit small deployments to modify stock images (add or subtract activities)
Provider: Tiny Core Linux

Future features

Features which will be implemented in either 0.5 release or 0.6 release are listed here:

http://wiki.laptop.org/go/XS_Community_Edition/feature

There are additional features which have not been captured in a feature page. A feature page for each of these needs to be created:

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

Service: MediaWiki
Purpose:
Provider:

Service: Restore student work
Purpose: To restore student work

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