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

From OLPC
Jump to navigation Jump to search
 
(24 intermediate revisions by 3 users not shown)
Line 8: Line 8:
<li>Network connection – various services similar to what you would find in a home router.
<li>Network connection – various services similar to what you would find in a home router.
<li>Presence server – Augments sugar's native collaboration functionality.
<li>Presence server – Augments sugar's native collaboration functionality.
<li>NEW IN 0.3 - Web filtering – Enables schools to comply with local/legal restrictions on internet access for children.
<li>FUTURE - Security – XO related security services.
<li>FUTURE - Content management
</ul>
</ul>


Line 23: Line 20:
==Hardware==
==Hardware==


School servers can be either an XO or standard x86 based hardware.
School servers can be run on an XO.


===XO===
===XO===
While desired, it's unclear (as of early May 2013) whether XS-CE v0.3 will run on all 4 XO laptops:
XSCE v0.3 will run on all 3 types of XO laptops:


<ul>
<ul>
<li>XO 1
<li>XO 1.5
<li>XO 1.5
<li>XO 1.75
<li>XO 1.75
Line 35: Line 31:
</ul>
</ul>


In common usage, the XO may be augmented by SD cards and two off the shelf USB devices:
In common usage, the XO may be augmented by two off the shelf USB devices and a local access point:
<ul>
<ul>
<li>Network connector – Allow the server to offer internet access to connected XO's.
<li>Network connector – Allow the server to offer internet access to connected XO's via a wired access point.
<li>NEW IN 0.3 -- 2 USB internet dongles.
<li>NEW IN 0.3 -- a second USB internet dongles for wired connection to a wide area network or internet service provider.
<li>NEW IN 0.3 -- External USB hard drive – Allows the server to provide additional storage capabilities.
</ul>
</ul>

<i>[Someone clarify-or-remove this sentence:]</i> This strategy it is simple for a deployment to inventory and maintain school servers.

===X86===

For greater flexibility some schools will want to use standard x86 hardware. While XSCE ran on x86 hardware (given Fedora 17) in late 2012 and early 2013, our recent modularization-refactoring might delay broad x86 readiness during spring 2013. At the same time, [http://lists.laptop.org/listinfo/testing diligent volunteers could help] make x86 and x86-64bit support increasingly real.


== Deliverable==
== Deliverable==


=== RPM ===
=== RPM ===
A RPM combined with tested installation instructions necessary to convert a standard XO-1.75 or Standard x86 computer into a School Server.
A RPM combined with tested installation instructions necessary to convert a standard XO-1.5, XO-1.75, XO-4 or Fedora-compatible x86 computer into a School Server.


=== IMAGE ===
==Base OS==
NEW IN 0.3 -- OLPC-OS 13.1.0
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==

XSCE has traditionally been available on Fedora 17 / OLPC-OS [[Release_notes/12.1.0|12.1.0]], but support for F17 will likely be phased out.

NEW IN 0.3 -- Fedora 18 / OLPC-OS 13 -- expected to be [[13.1.0]].

==GUI Later==

Command line configuration/administration should [[#Future_Features_and_Objectives|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==
==Modular design==
One of the key design criteria of successful community-based projects is modularity.

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'
NEW IN 0.3 -- 'plug in services'

==Core Server==
==Core Server==


Line 121: Line 98:
Purpose: Creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities<br>
Purpose: Creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities<br>
Provider: openvpn<br>
Provider: openvpn<br>

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

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

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

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

NEW IN 0.3 -- Service: Internet in Box<br>
Purpose: Provide offline content<br>
Provider: ???

== Future Features and Objectives==
* [http://en.wikipedia.org/wiki/Raspberry_Pi 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, [http://lists.laptop.org/pipermail/server-devel/2013-May/thread.html#6358 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)<br>
Purpose: local distribution/replication of Sugar Activities etc<br>
Provider: pdsh

Service: (DSD, GeorgeH, TimM)<br>
Purpose: Remote administration – There are several systema such as CFEngine and puppet which enables remote management. While not immediately required by AU it is highly desirable by large deployment<br>
Provider: Puppet


Service: Moodle<br>
Service: Moodle<br>
Purpose: <br>
Purpose: classroom and courseware management<br>
Provider: <br>
Provider: Moodle 1.9.3 and Postgresql

Service: MediaWiki<br>
Purpose: <br>
Provider: <br>

Latest revision as of 23:49, 8 August 2013

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.

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 run on an XO.

XO

XSCE v0.3 will run on all 3 types of XO laptops:

  • XO 1.5
  • XO 1.75
  • XO 4

In common usage, the XO may be augmented by two off the shelf USB devices and a local access point:

  • Network connector – Allow the server to offer internet access to connected XO's via a wired access point.
  • NEW IN 0.3 -- a second USB internet dongles for wired connection to a wide area network or internet service provider.

Deliverable

RPM

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

Base OS

NEW IN 0.3 -- OLPC-OS 13.1.0

Modular design

One of the key design criteria of successful community-based projects is 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

Service: Moodle
Purpose: classroom and courseware management
Provider: Moodle 1.9.3 and Postgresql