XS Community Edition/0.3/Project Specifications: Difference between revisions
Line 55: | Line 55: | ||
==User Interface== |
==User Interface== |
||
Command Line – Command line configuration should be discouraged |
Command Line – Command line configuration should be gradually discouraged as the system matures. 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 users have familiarity with browser based setup. Initial expectations are to configure install setup and core services. |
NEW in 0.3 -- Browser based GUI. – The primary configuration tool will be a browser based GUI. This technology is well understood by developers. Many end users have familiarity with browser based setup. Initial expectations are to configure install setup and core services. |
||
==Modular design== |
==Modular design== |
Revision as of 21:37, 10 February 2013
School Server - Community Edition 0.2 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.
- FUTURE - Web filtering – Enables schools to comply with local legal restrictions on internet access for children.
- FUTURE - Security – XO related security services.
- FUTURE - Content management
Reference User
The XS-CE has two different types of reference user:
- 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 functional reference implementation.
Hardware
School servers can be either XO-1.75, XO-4 or standard x86 based hardware.
XO
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.
X86
For greater flexibility some schools will want to use standard x86 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.
OS
The school server will be available on Fedora 17/OLPC-OS 12.1 and Fedora 18/OLPC-OS 13.
NOTE: Limiting the deliverable to single OS variant meets the base requirements while limiting complexity.
User Interface
Command Line – Command line configuration should be gradually discouraged as the system matures. 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.
NEW in 0.3 -- Browser based GUI. – The primary configuration tool will be a browser based GUI. This technology is well understood by developers. Many end users have familiarity with browser based setup. Initial expectations are to configure install setup and core services.
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 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: open vpn
New Services in 0.3
Service: Content filtering (TimM??)
Purpose: age-appropriate surfing, legal compliance, religious risks
Provider: dansguardian
Service: 1-N WebDEV(JerryV, GeorgeH)
Purpose: Journal submissions to teacher, academic record (homework etc)
Provider: WebDAV
Future services
?Service: (GeorgeH, Gerald)
?Purpose: local distribution/replication of Sugar Activities etc
?Provider: pdsh
Service: (DSD, GeorgeH)
Purpose: remote upgrading/admin of XS servers (semi-automated)
Provider: Puppet
FUTURE - 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.
Service: Book server (SameerV, AlexK, GeorgeH struggling!)
Purpose: compete with Khan Academy?
Provider: pathagar
Future Content Services
- Moodle
- Khan Academy
- Mediawiki
- Content curation (beyond dumping stuff into Apache directories)
1. Targeted Features/Objectives
- Modularity
- XO-1.5 support (get around the kernel usb-ethernet dongle bug)
- External USB disk
- Working with 2 Ethernet dongles
- ejabberd roster admin
- Stastics collection (sugar-client stuff)
- DNS filtering
- Script to connect to OPENVPN
- Consideration of other devices (Android, Kindle, iPods, iPads)