<div dir="ltr">Hi Tony,<div><br></div><div style>When you sent me your ds-backup script to migrate student datastore to the server based upon the "favorite" star in the journal, I downloaded the olpc repo, and added your version as a branch, and uploaded it to <a href="https://github.com/georgejhunt/ds-backup/blob/ds_on_xs/client/ds-backup.py">https://github.com/georgejhunt/ds-backup/blob/ds_on_xs/client/ds-backup.py</a>. This is a branch which I called "ds_on_xs", but which could just as easily be called "tony's ds-backup".</div>
<div style><br></div><div style>If you are interested, I'd like to create a repo at github for any of the following: (can't do everything at once):</div><div style><ul style><li style>epath library system, <br></li>
<li style>english language content,<br></li><li style>schools, a django application to keep track of students and teachers<br></li></ul><div style>And then we can all have access to it and make changes to separate branches, and contribute to one another's code.  If you'd like, you can have your own github account (they're free), or I can give you shared  </div>
<div style>access to the repo that we create together at the <a href="http://github.com/georgejhunt">github.com/georgejhunt</a> account.</div><div style><br></div><div style>George</div></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Jul 10, 2013 at 8:32 AM, Tony Anderson <span dir="ltr"><<a href="mailto:tony@olenepal.org" target="_blank">tony@olenepal.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<div class="im"><br>
<br>
On 07/10/2013 02:07 PM, David Farning wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Pathagar is based on Django. The digital library on the school servers in<br>
>Rwanda and Lesotho is based on the same technology but supports any item<br>
>with a recognized mime-type. The issue is how to organize the contents so<br>
>that it can be easily accessed.<br>
</blockquote>
Are these open source projects? Can you send links to project code so<br>
we can learn from the approach or include it directly<br>
in XS? The plugin structure enables us to run multiple libraries.<br>
<br>
</blockquote></div>
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.<br>
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.<br>
<br>
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. <a href="http://schoolserver/library/" target="_blank">http://schoolserver/library/</a> 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.).<br>

<br>
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.<br>

<br>
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 server.<br>

<br>
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.<br>

<br>
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.<span class="HOEnZb"><font color="#888888"><br>

<br>
Tony<br>
<br>
</font></span></blockquote></div><br></div>