School Server Wish List: Difference between revisions
Created page with "'''School Server Wish List''' This is a first attempt to organize my thoughts based on the XS Wish List. It attempts to organize the wish list roughly along the lines of the cu..." |
No edit summary |
||
| Line 1: | Line 1: | ||
This is a first attempt to organize my thoughts based on the XS Wish List. It attempts to organize | This is a first attempt to organize my thoughts based on the XS Wish List. It attempts to organize | ||
| Line 13: | Line 12: | ||
'''XS in 25 words or less''' | '''XS in 25 words or less''' | ||
XS is a LAMP stack. | XS is a LAMP stack. | ||
| Line 20: | Line 17: | ||
'''Build Options''' | '''Build Options''' | ||
The current intent is to use SUSE Open Build System to | The current intent is to use SUSE Open Build System to allow a deployment to select the | ||
architecture (i386, X_64) and packaging (Fedora, Debian) at build time. Whichever of these options is chosen | architecture (i386, X_64) and packaging (Fedora, Debian) at build time. Whichever of these options is chosen | ||
obviously affects the XC build. | obviously affects the XC build. | ||
The overall functionality similar to XS-0.6 with some changes and | The overall functionality is similar to XS-0.6 with some changes and additions discussed below. | ||
'''Base system''' | '''Base system''' | ||
Fedora: 15 | *Fedora: 15 | ||
Apache: | *Apache: | ||
MySQL: | *MySQL: | ||
PHP: | *PHP: | ||
| Line 37: | Line 34: | ||
Python 2. | *Python 2.x | ||
Python 3. | *Python 3.x | ||
including python-devel to support 'python setup.py install' | including python-devel to support 'python setup.py install' | ||
Python 2 is probably required and Python 3 a build option. | Python 2 is probably required and Python 3 a build option. | ||
| Line 49: | Line 45: | ||
This is not a complete list but some examples include: | This is not a complete list but some examples include: | ||
idmgr - registration of XOs | *idmgr - registration of XOs | ||
Journal backup and restore | *Journal backup and restore | ||
XO lease-activation | *XO lease-activation | ||
''' | '''XS configuration''' | ||
Currently each component of XS is configured as it is added. It might be nice to configuration clearly separated so that it is easy to see what to do for local customization. | Currently each component of XS is configured as it is added. It might be nice to configuration clearly separated so that it is easy to see what to do for local customization. This is particularly important for the network setup. | ||
'''Network''' | |||
The default is that an XS install configures the baseboard (RJ45) port for the LAN (172.18.0.1). A separate script | The default is that an XS install configures the baseboard (RJ45) port for the LAN (172.18.0.1). A separate script | ||
such as netsetup.sh should be available to configure the WAN network. | such as netsetup.sh should be available to configure the WAN network. This script should not be required unless the schoolserver has a WAN connection. It would be easier if the script were a file on the XS install key rather than a file in the XS build. This would make it possible for a deployment to edit the script without modifying the XS build. | ||
The network install and/or the netsetup.sh script should support access by the schoolserver using a gsm network. | The network install and/or the netsetup.sh script should support access by the schoolserver using a gsm network. | ||
| Line 78: | Line 74: | ||
'''Basic Self Tests''' | '''Basic Self Tests''' | ||
XS is | XS is composed of stable production upstream packages. The sugar-specific packages may need some | ||
sort of self-test; | sort of self-test; however, at the end of the day these are developer tests. | ||
The questions in deployment are 'is the XS build ok' and 'has it been correctly installed on a specific | |||
server'. | |||
In Nepal, this is satisfied by | |||
#mkusbinstall works, | |||
#the install works, and | |||
#it is possible to access the server from an XO via SSH. | |||
It would be desirable to have the second ethernet port | It would be desirable to have the second ethernet port configured in XS for a direct SSH connection | ||
(patch cable) to test problems with the LAN network and router configuration (easily the most common problems | (patch cable) to test problems with the LAN network and router configuration (easily the most common problems | ||
are httpd not started or the router not configured correctly). | are httpd not started or the router not configured correctly). | ||
There should be a netsetup.sh script to configure the WAN network (second port). This should only have to be run when the school server has a connection to the internet. Currently this script is in the XS build. It would be easier for a support person to find and use if it were on the XS usb drive as a separate file. This way it could be edited on an XO. | |||
"It would be great to have basic self | "It would be great to have basic self | ||
| Line 108: | Line 108: | ||
IMO this is a 'holy grail'. Anyone who has used Microsoft diagnostic wizards knows the frustration and uselessness of trying to anticipate and provide automated corrections of problems. | IMO this is a 'holy grail'. Anyone who has used Microsoft diagnostic wizards knows the frustration and uselessness of trying to anticipate and provide automated corrections of problems. | ||
XS has proven very stable. In a normal school | XS has proven very stable. In a normal school evvironment new releases are probably only needed (or desired) one | ||
time per year, prior to the start of the new school year. This suggests that the critical requirement is extensive testing of the build prior to deployment. | time per year, prior to the start of the new school year. This suggests that the critical requirement is extensive testing of the build prior to deployment. | ||
New packages: | '''New packages:''' | ||
*systemd: a replacement for SysVinit and Upstart that acts as a system | *systemd: a replacement for SysVinit and Upstart that acts as a system | ||
| Line 124: | Line 124: | ||
forwarding enabled on the Internet gateway, eases accessing the | forwarding enabled on the Internet gateway, eases accessing the | ||
schoolserver from anywhere on the Internet. | schoolserver from anywhere on the Internet. | ||
*Expect: a Unix automation and testing tool and used to automate | *Expect: a Unix automation and testing tool and used to automate | ||
| Line 152: | Line 135: | ||
framework). | framework). | ||
'''< OLPC''' | |||
There are two scenarios. One, a student with a defective laptop gets a replacement. The records on the schoolserver need to be updated to reflect the change. Two, students are in two shifts. The afternoon shift on Monday is the morning shift on Tuesday. In this case two students, one in each shift, could share a laptop (0.5 LPC). In Rwanda this would have allowed 100,000 laptops to service 200,000 students. This requires (1) a login to identify the student using the laptop, (2) two datastores - with a symbolic link at login, and (3) A and B backup folders on the school server. | |||
in | |||
'''XC in 25 words or less''' | |||
XC provides all of the software and content required in the school server but not included in XS. | |||
'''Library''' | |||
In Nepal this is Pustakalaya (www.pustakalaya.org). It is supported by Java, Fedora Commons and Fez. This installation is in XC. | |||
There is a project to develop a library based on Django. This would be an alternate in XC. | |||
'''Wiki4Schools''' | |||
XC in Nepal includes the Wiki4Schools (2008 version - which apparently is the most recent). This is based on mediawiki. | |||
There is a project to provide the same capability using openZim, this could be an alternate in XC. | |||
'''Dictionary''' | |||
XC in Nepal includes Wiktionary and a Nepali dictionary (Sabdakos). This will clearly be very deployment-specific. | |||
'''Sugar Activities''' | |||
XC includes a repository of Sugar Activities. This allows students to download and install activities of their choosing from the school server. | |||
'''Dan's Guardian''' | |||
Web filtering requires lots of disclaimers. Whoever is the authority for deploying a schoolserver needs to sign off that the filtering offered is accepted as adequate. This is part of XS in Nepal but moving it to XS might make the XS build easier. | |||
'''Moodle''' | |||
This is installed in XS in Nepal but could be installed in XS. It is dependent on the configuration of the LAMP stack in XS (Apache, MySQL or PostGreSQL). This might be a good time to move to Moodle 2. AFIK no deployment is currently using Moodle so there would be a minimum of issues with backward compatibility. | |||
'''SchoolTool''' | |||
While not directly related to the OLPC mission, one of the first uses of computers in schools is to automate the administration (attendance lists, academic calendar, and so on). There is a possibility to integrate SchoolTool with Moodle. | |||
'''Mothership or Content Update''' | |||
The model in Nepal and Rwanda is that the central development group provides the same software and content to each school. The school is not expected to make any changes and, if it did, they would be erased on the next update. | |||
It is unlikely that schools will have sufficient broadband access to support concurrent browsing for every XO. | |||
However, there should be a mechanism where each school server can connect with the mothership (e.g. cron job) and receive updates and upload changes (e.g. email). The mothership could then include this information in the next connection opportunity for the other schools. There would have to be a parallel mechanism using usb keys (e.g someone from the school goes to town with the usb drive and connects from an internet cafe). | |||
The schoolserver, in turn, provides updates to the XOs. | |||
to | |||
'''Socializing/Communication''' | |||
Open Atrium is based on Drupal. Providing a way for teachers to communicate with the central support group and with each other is very important. | |||
Moodle may offer an alternate way to do this. | |||
WordPress and Planet may also be an option. | |||
In any case, these tools need support from the mother ship. | |||
_______________________________________________ | _______________________________________________ | ||