[Server-devel] XS wishlist
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
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).