[Server-devel] XSCE Sprint

Tony Anderson tony at olenepal.org
Wed Jul 10 08:32:12 EDT 2013


On 07/10/2013 02:07 PM, David Farning wrote:
>> Pathagar is based on Django. The digital library on the school servers in
>> >Rwanda and Lesotho is based on the same technology but supports any item
>> >with a recognized mime-type. The issue is how to organize the contents so
>> >that it can be easily accessed.
> Are these open source projects? Can you send links to project code so
> we can learn from the approach or include it directly
> in XS? The plugin structure enables us to run multiple libraries.
Django is open source. I have sent you copies of the scripts with 
install Django. Django is organized by applications - it provides a 
framework to build an application.
The basic application is called schoolsite (this is sort of a master 
application that handles the interface to Apache and to the other 
applications). The library is handled by the 'library' application.

Essentially the library content is organized into collections. A 
collection is a set of media files (library items), a folder of 
thumbnails (e.g. the first page of a pdf), and a json file (books.json). 
The json file provides title, author, path to the item, and mime-type, 
and path to the thumbnail. A script in the library application loads the 
collection (i.e. puts the books.json information in the database). The 
library is accessed by urls (e.g. http://schoolserver/library/ for the 
home page). Clicking on a category in the home pages goes to a topic 
page. A button on the topic page goes to a list of items (show 9 per 
screen). A click on the item, downloads it to the XO and installs it 
(activity) or puts it in the Journal (pdf, etc.).

Logically, the library includes the Wikipedia (Wiki4Schools) although 
that is not a Django application. It also includes Wiktionary which is 
based on Mediawiki (and currently not working because of the switch to 
PostgreSQL from MySQL). The Django content consists of the Sugar 
Activities from ASLO, the English pdfs from E-Pustakalaya, and a large 
collection of Old-time Radio and Classical music (Musopen) audio files.

I am not sure about the comment about plugins. The current model is to 
install XS-0.7 to obtain a running server (with the two configuration 
scripts which should be eliminated), a deployment-specific xs-custom 
script (which installs the usbmount script, for example). The content is 
installed from a hard drive using the usbmount script from the booted 

My sense is that the deployment really needs to determine what content 
it wants on the server particularly since the available content is 
approaching a terabyte. We need software (api, application) to enable 
this to be done, but the process will need content specialists more than 
software engineers.

I can supply you with scripts and some rudimentary documentation at the 
Django level and a sketchy index of what is in the content, if that 
helps. It is very similar to Pathagar except that Pathagar seems to 
intermediate between the internet and the server where this application 
mediates between the servers and the XO clients.


More information about the Server-devel mailing list