XS Community Edition/0.4/Project Specifications: Difference between revisions
mNo edit summary |
|||
(28 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{xsce}} |
|||
School Server - Community Edition 0.4 Project Specifications |
School Server - Community Edition 0.4 Project Specifications |
||
==Summary== |
==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 |
These services include: |
||
* Classroom connectivity – Similar to what you would find in an advanced home router. |
|||
<ul> |
|||
* Internet gateway – If available, an internet connection is made available to laptops. |
|||
<li>Network connection – various services similar to what you would find in a home router. |
|||
* Content - Tools are available for deployments and teachers to make instructional media available to their schools and classrooms. |
|||
<li>Presence server – Augments sugar's native collaboration functionality. |
|||
* Maintenance - Tools are available to keep laptop updated and running smoothly. |
|||
<li>NEW IN 0.4 - Web filtering – Enables schools to comply with local/legal restrictions on internet access for children. |
|||
<li>NEW IN 0.4 - XS-Stats - Enables deployments to collect anonymous student usage. |
|||
<li>NEW IN 0.4 - Backup and Restore. |
|||
</ul> |
|||
==Reference User== |
==Reference User== |
||
The XS-CE |
The XS-CE 0.4 has three types of reference user: |
||
* Highly motivated volunteers willing to risk the bleeding edge. |
|||
<ul> |
|||
* Skilled sysadmins running micro-deployments. |
|||
* Experienced mid-sized deployment with limited onsite sysadmins. |
|||
</ul> |
|||
==Design== |
|||
One of the key design criteria of successful community-based projects is modularity with 'plug in' services |
|||
==Hardware== |
==Hardware== |
||
School servers can be either an XO or standard x86 based hardware. |
School servers can be either an XO or standard x86 and arm based hardware. |
||
===XO=== |
===XO=== |
||
XSCE v0.4 will run on all 4 XO laptops: |
|||
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: |
|||
<ul> |
|||
* Network connector – Allow the server to offer internet access to connected XO's. |
|||
<li>XO 1 - Likely experimental |
|||
* 2 USB ethernet dongles. |
|||
<li>XO 1.5 |
|||
* 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. |
|||
<li>XO 1.75 |
|||
<li>XO 4 |
|||
</ul> |
|||
Please note that XO-1s and XO-1.5 'lite' machines may require an internal SD card to meet XS storage requirements. |
|||
In common usage, the XO may be augmented by SD cards and two off the shelf USB devices: |
|||
<ul> |
|||
<li>Network connector – Allow the server to offer internet access to connected XO's. |
|||
<li>2 USB ethernet dongles. |
|||
<li>NEW IN 0.4 -- External USB hard drive – Allows the server to provide additional storage capabilities. |
|||
</ul> |
|||
===Standard Hardware=== |
===Standard Hardware=== |
||
For greater flexibility some schools will want to use standard hardware. |
For greater flexibility some schools will want to use standard hardware. XSCE is currently supporting: |
||
* Trim-Slice. |
|||
* Raspberry Pi. |
|||
* I386. |
|||
Other hardware may work, but is not tested as part of the release process. Please help us by running the tests at [http://wiki.laptop.org/go/User:Holt/XS_Community_Edition/0.4/Testing testing] on your hardware of choice to verify it works. |
|||
<ul> |
|||
<li>Trim-Slice. |
|||
<li>Raspberry Pi |
|||
</ul> |
|||
==OS== |
|||
Diligent volunteers can [http://lists.laptop.org/listinfo/testing 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. |
|||
XSCE will run on either: |
|||
==Base OS== |
|||
* OLPC-OS 13.2.0 |
* OLPC-OS 13.2.0 |
||
* Fedora 18 |
* Fedora 18 |
||
== |
==Configuration Tools== |
||
===Remote Configuration=== |
|||
One of the key design criteria of successful community-based projects is modularity. |
|||
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: |
|||
Plug in services |
|||
* OpenVPN -- Any individual school server with internet connectivity can be accessed remotely by support staff. |
|||
==Configuration Tools== |
|||
===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. |
|||
== Deliverable== |
|||
===Remote Configuration=== |
|||
=== RPM === |
|||
* NEW IN 0.4 -- Remote administration – There are several systems such as CFEngine and puppet which enables remote management. |
|||
A RPM combined with tested installation instructions necessary to convert a standard XO or Fedora-compatible computer into a School Server. |
|||
===Command Line=== |
|||
=== 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. |
|||
==Core |
==Core Services== |
||
The core server will contain five services which can be extended via extended services. |
The core server will contain five services which can be extended via extended services. |
||
Line 105: | Line 91: | ||
Provider: named |
Provider: named |
||
NEW IN 0.4 -- System monitoring <br> |
|||
Service: Backup student work<br> |
|||
Purpose: |
Purpose: Ensures that all offered services are running as expected<br> |
||
Provider: |
Provider: monit |
||
Service: Restore student work<br> |
|||
Purpose: ???<br> |
|||
Provider: ??? |
|||
Service:Jabber server<br> |
Service:Jabber server<br> |
||
Line 128: | Line 110: | ||
Service: Moodle<br> |
Service: Moodle<br> |
||
Purpose: <br> |
Purpose: Provides Course Management System<br> |
||
Provider: <br> |
Provider: Moodle<br> |
||
Service: Activity update<br> |
|||
Purpose: Enables teachers to easily distribute new or updated activities to their students<br> |
|||
Provider: activity updater<br> |
|||
Service: OLPC-update<br> |
Service: OLPC-update<br> |
||
Purpose: OLPC-update is necessary to update the kernel of XO<br> |
Purpose: OLPC-update is necessary to update the kernel of XO<br> |
||
Provider: rsync<br> |
Provider: rsync<br> |
||
Service: Activity update<br> |
|||
Purpose: Enables teachers to easily distribute new or updated activities to their students<br> |
|||
Provider: activity updater<br> |
|||
Service: Virtual Private Network (VPN)<br> |
Service: Virtual Private Network (VPN)<br> |
||
Line 143: | Line 125: | ||
Provider: openvpn<br> |
Provider: openvpn<br> |
||
Service: Backup student work<br> |
|||
Purpose: |
Purpose: To back up student work<br> |
||
Provider: |
Provider: idmgr |
||
NEW IN 0.4 -- Service: Content filtering (TimM??) <br> |
NEW IN 0.4 -- Service: Content filtering (TimM??) <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.4 -- Service: 1-N WebDEV(JerryV, GeorgeH)<br> |
|||
Purpose: Journal submissions to teacher, academic record (homework etc)<br> |
|||
Provider: WebDAV |
|||
NEW IN 0.4 -- Service: Statistics Collection<br> |
NEW IN 0.4 -- Service: Statistics Collection<br> |
||
Line 159: | Line 137: | ||
Provider: pilot monitoring system<br> |
Provider: pilot monitoring system<br> |
||
NEW IN 0.4 -- Service: Book server (SameerV, AlexK, GeorgeH |
NEW IN 0.4 -- Service: Book server (SameerV, AlexK, GeorgeH)<br> |
||
Purpose: |
Purpose: Locally currated selection of eBooks?<br> |
||
Provider: pathagar |
Provider: https://github.com/PathagarBooks/pathagar |
||
NEW IN 0.4 -- Service: Internet in Box<br> |
NEW IN 0.4 -- Service: Internet in Box<br> |
||
Purpose: Provide offline content<br> |
Purpose: Provide offline content<br> |
||
Provider: |
Provider: http://internet-in-a-box.org/ |
||
NEW IN 0.4 -- Service: Customization Stick<br> |
|||
Purpose: Permit small deployments to modify stock images (add or subtract activities)<br> |
|||
Provider: Tiny Core Linux |
|||
== Future Features and Objectives== |
== Future Features and Objectives== |
||
* Browser-based GUI Config - as primary configuration tool? To configure install setup and core services? |
* 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 |
* ejabberd roster admin |
||
* Consideration of other devices (Android, Kindle, iPods, iPads) |
* Consideration of other devices (Android, Kindle, iPods, iPads) |
||
* Content curation (beyond '''dumping''' stuff into Apache directories) |
* Content curation (beyond '''dumping''' stuff into Apache directories) |
||
* Khan Academy |
|||
== Future services == |
== Future services == |
||
Line 186: | Line 166: | ||
Purpose: <br> |
Purpose: <br> |
||
Provider: <br> |
Provider: <br> |
||
Service: Restore student work<br> |
|||
Purpose: To restore student work<br> |
|||
Service: 1-N WebDEV(JerryV, GeorgeH)<br> |
|||
Purpose: Journal submissions to teacher, academic record (homework etc)<br> |
Latest revision as of 00:35, 26 August 2013
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.
School Server - Community Edition 0.4 Project Specifications
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
The XS-CE 0.4 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
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 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:
- 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. 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.
Standard Hardware
For greater flexibility some schools will want to use standard hardware. XSCE is currently supporting:
- Trim-Slice.
- Raspberry Pi.
- I386.
Other hardware may work, but is not tested as part of the release process. Please help us by running the tests at 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
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.
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.
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
NEW IN 0.4 -- 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
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: Statistics Collection
Purpose: Collects users statics for academic research
Provider: pilot monitoring system
NEW IN 0.4 -- Service: Book server (SameerV, AlexK, GeorgeH)
Purpose: Locally currated selection of eBooks?
Provider: https://github.com/PathagarBooks/pathagar
NEW IN 0.4 -- Service: Internet in Box
Purpose: Provide offline content
Provider: http://internet-in-a-box.org/
NEW IN 0.4 -- Service: Customization Stick
Purpose: Permit small deployments to modify stock images (add or subtract activities)
Provider: Tiny Core Linux
Future Features and Objectives
- 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)
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:
Service: Restore student work
Purpose: To restore student work
Service: 1-N WebDEV(JerryV, GeorgeH)
Purpose: Journal submissions to teacher, academic record (homework etc)