[Server-devel] XS wishlist

2011-05-27 Thread Sameer Verma
Came across this via Twitter: http://asingh.com.np/blog/olpc-xs-my-wishlist/

Here is a copy and paste for archival purposes:

Sameer

---
elow is a list of changes that I wish to have in the OLPC XS (some of
which comes from our own list of customization):

Porting XS to new version of Fedora
Fedora Project has come to the release of version 15 of their Linux
distribution host a lot of interesting features, but OLPC XS is still
stuck with Fedora 9 (which itself has moved to “End of Life”). This
state hinders us from using more stable software components, access to
bug-fixes, and improved infrastructure. This also forces packagers to
package software for Fedora 9. Porting XS to Fedora 15 will bring into
all the awesomeness, but again it will be a lot of work porting the
patches and packages (developed by OLPC community) to Fedora 15.

Support for multiple architecture
Though XS is targeted to be run on generic low-end servers (mostly
i386 architecture), but the recent trend of hardware price fall,
deployers will tend to use more advanced hardware (which might support
x86_64 architecture). Current XS effort is targeted at i386 (32 bit)
builds, but adding x86_64 (64 bit) builds would not be that
cumbersome, and would definitely attract deployers eyeing 64bit
hardware.

Basic Self Tests
It would be great to have basic self tests embedded into the XS, which
will help the school side to diagnose and fix the problem easily.
Individuals at the school looking after the school server might not be
proficient with GNU/Linux and would have a hard time to diagnose and
fix a problem with XS; this is a case with the Nepalese deployments.
Adding to this, for a fix, either the support team needs to be
dispatched to the school (which might be located in a remote place),
or the ask the school to bring back the school server to the support
centre. Given the scenario in Nepal, with just a single support
centre, this fix can cost a lot of time, effort, and money. Basic self
tests, with mechanism to provide instructions on now to fix simple
problems is greatly going to ease the hassle. The self tests can
contain testing services, network status and such.

Inclusion of new packages
systemd: a replacement for SysVinit and Upstart that acts as a system
and session manager.
usb-modeswitch: a library/utility for handling Mode-Switching USB
Devices on Linux. This package is required to access internet through
3G cards (e.g. Mobile broadband).
ipcheck: a Dyndns.org client to register your dynamic IP address. It
helps to configure the server with dynamic dns and with port
forwarding enabled on the Internet gateway, eases accessing the
schoolserver from anywhere on the Internet.
MySQL: a relational database server, and a de-facto backend for many
services. Also it would be good to ditch PostgreSQL for Moodle. MySQL
management is easy than PostgreSQL and there is more documentation,
community support and human resource for MySQL.
PHP with required extensions: a powerful server-side HTML embedded
scripting language. OLE Nepal’s digital library “E-Pustakalaya” runs
on PHP and MySQL. Also we might need some PHP extensions like
php-mysql, php-gd, php-xml.
Python 2.x and Python 3.x: an interpreted, interactive,
object-oriented, extensible programming language. Python 2.x should be
included for backward compatibility as many python scripts and
applications still use the 2.x version. Python 3.x should be included
for forward compatibility — more apps would be coded in 3.x version in
coming days.
Expect: a Unix automation and testing tool and used to automate
interactive applications such as telnet, ftp, passwd, fsck, rlogin,
tip, etc. E-Pustakalaya uses Fedora Commons which has a interactive
setup; we use expect to automate the installation by providing all
answers to the setup program. Expect is useful to create headless
installers, and it also has a python wrapper.
libicu and unicode support: Adding unicode support in XS will help to
have localized web applications hosted on the XS (using gettext
framework).
Java: Adding a Java Runtime Environment (JRE) would add support for
running java based applications (e.g. Tomcat, Fedora Commons, etc.)
tzdata and extensions: Adding timezone data and its wrapper libraries
in various languages will help the support for timezone data in
applications hosted on XS (e.g. SchoolTool needs pytz).
SchoolTool: a free administrative software for schools around the
world. It provides a good administrative interface and facilities.
I’ve already packaged SchoolTool for Fedora and tested it on XS. OLE
Nepal is also in transition to pilot SchoolTool to a few schools. Also
that a integration of Moodle and SchoolTool is being worked out.
Moodle 2.x: a Course Management System (CMS), also known as a Learning
Management System (LMS) or a Virtual Learning Environment (VLE). The
moodle on current XS is outdated. Moodle 2.x hosts improved interface
and additional features than its previous versions. 

Re: [Server-devel] XS wishlist

2011-05-27 Thread Abhishek Singh
On 05/27/2011 10:15 PM, Sameer Verma wrote:
 Came across this via Twitter: http://asingh.com.np/blog/olpc-xs-my-wishlist/

 Here is a copy and paste for archival purposes:

 Sameer

 ---
 elow is a list of changes that I wish to have in the OLPC XS (some of
 which comes from our own list of customization):

 Porting XS to new version of Fedora
 Fedora Project has come to the release of version 15 of their Linux
 distribution host a lot of interesting features, but OLPC XS is still
 stuck with Fedora 9 (which itself has moved to “End of Life”). This
 state hinders us from using more stable software components, access to
 bug-fixes, and improved infrastructure. This also forces packagers to
 package software for Fedora 9. Porting XS to Fedora 15 will bring into
 all the awesomeness, but again it will be a lot of work porting the
 patches and packages (developed by OLPC community) to Fedora 15.

 Support for multiple architecture
 Though XS is targeted to be run on generic low-end servers (mostly
 i386 architecture), but the recent trend of hardware price fall,
 deployers will tend to use more advanced hardware (which might support
 x86_64 architecture). Current XS effort is targeted at i386 (32 bit)
 builds, but adding x86_64 (64 bit) builds would not be that
 cumbersome, and would definitely attract deployers eyeing 64bit
 hardware.

 Basic Self Tests
 It would be great to have basic self tests embedded into the XS, which
 will help the school side to diagnose and fix the problem easily.
 Individuals at the school looking after the school server might not be
 proficient with GNU/Linux and would have a hard time to diagnose and
 fix a problem with XS; this is a case with the Nepalese deployments.
 Adding to this, for a fix, either the support team needs to be
 dispatched to the school (which might be located in a remote place),
 or the ask the school to bring back the school server to the support
 centre. Given the scenario in Nepal, with just a single support
 centre, this fix can cost a lot of time, effort, and money. Basic self
 tests, with mechanism to provide instructions on now to fix simple
 problems is greatly going to ease the hassle. The self tests can
 contain testing services, network status and such.

 Inclusion of new packages
 systemd: a replacement for SysVinit and Upstart that acts as a system
 and session manager.
 usb-modeswitch: a library/utility for handling Mode-Switching USB
 Devices on Linux. This package is required to access internet through
 3G cards (e.g. Mobile broadband).
 ipcheck: a Dyndns.org client to register your dynamic IP address. It
 helps to configure the server with dynamic dns and with port
 forwarding enabled on the Internet gateway, eases accessing the
 schoolserver from anywhere on the Internet.
 MySQL: a relational database server, and a de-facto backend for many
 services. Also it would be good to ditch PostgreSQL for Moodle. MySQL
 management is easy than PostgreSQL and there is more documentation,
 community support and human resource for MySQL.
 PHP with required extensions: a powerful server-side HTML embedded
 scripting language. OLE Nepal’s digital library “E-Pustakalaya” runs
 on PHP and MySQL. Also we might need some PHP extensions like
 php-mysql, php-gd, php-xml.
 Python 2.x and Python 3.x: an interpreted, interactive,
 object-oriented, extensible programming language. Python 2.x should be
 included for backward compatibility as many python scripts and
 applications still use the 2.x version. Python 3.x should be included
 for forward compatibility — more apps would be coded in 3.x version in
 coming days.
 Expect: a Unix automation and testing tool and used to automate
 interactive applications such as telnet, ftp, passwd, fsck, rlogin,
 tip, etc. E-Pustakalaya uses Fedora Commons which has a interactive
 setup; we use expect to automate the installation by providing all
 answers to the setup program. Expect is useful to create headless
 installers, and it also has a python wrapper.
 libicu and unicode support: Adding unicode support in XS will help to
 have localized web applications hosted on the XS (using gettext
 framework).
 Java: Adding a Java Runtime Environment (JRE) would add support for
 running java based applications (e.g. Tomcat, Fedora Commons, etc.)
 tzdata and extensions: Adding timezone data and its wrapper libraries
 in various languages will help the support for timezone data in
 applications hosted on XS (e.g. SchoolTool needs pytz).
 SchoolTool: a free administrative software for schools around the
 world. It provides a good administrative interface and facilities.
 I’ve already packaged SchoolTool for Fedora and tested it on XS. OLE
 Nepal is also in transition to pilot SchoolTool to a few schools. Also
 that a integration of Moodle and SchoolTool is being worked out.
 Moodle 2.x: a Course Management System (CMS), also known as a Learning
 Management System (LMS) or a Virtual Learning Environment (VLE).