[IAEP] Learn activity

Tony Anderson tony_anderson at usa.net
Tue Jun 19 14:53:10 EDT 2012


I have tried to address your points below. Thanks for your patience and 
taking the time to work through this.

You can, of course, do the install without the scripts. They are simple 
so you can see what they are trying to do.

1. Install Learn. This can be done in the normal way through browse. I 
was only concerned that there were problems in the deployment trying to 
install over an earlier version without erasing. The script technique 
has worked well in Rwanda.

2. The change to SimpleHTTPServer.py enables audio and video in the 
lessons using the karma.js script created by Bryan Berry. The script 
preloads images, audio clips, and video clips into memory before 
displaying the page. This load is done by the local host and so requires 
correct mime-type headers. This wasn't happening because 
SimpleHTTPServer.py didn't recognize the .ogg and ,ogv file extensions.

3. The change to Sugar-launch is needed to enable Learn to launch 
activities with a specified bundle (essentially installing the bundle 
from the lesson folder into the Journal and then resuming the Sugar 
activity). This is done by using a -o flag on the command line

If 2 and 3 are omitted, you will lose audio and will not be able to 
launch the examples using ShowNTell, Memorize and so forth. Otherwise, 
most of the functionality will not be affected.

4. Install Firefox in /usr/bin directly or in /opt with a link from 
/usr/bin. I only did the latter because it is a way for two versions to 
co-exist and for a time I wasn't sure that Learn worked with the more 
recent versions so I wanted a fallback.

5. Make sure the Kls_demo_1.tar.bz2 file is unpacked on a usb drive.
The Learn activity checks all the mounted drives for a folder: kls.

That should be all that is needed to make it work. Let me know if it 
still has problems.

Thanks again for your time and patience.


On 06/19/2012 05:51 PM, Bert Freudenberg wrote:
> So you're talking about this page:
> 	http://wiki.sugarlabs.org/go/Activities/Learn
> I indeed encountered other issues.
> You should warn people that your scripts not only install firefox in /opt, but also modify /usr/lib/python2.7/SimpleHTTPServer.py and /usr/bin/sugar-launch.

The purpose of the script is to install a recent version of Firefox 
whether or not it is already installed. I erase Firefox from /usr/bin 
and set up a symbolic link to the installed version in /opt. This should 
work in builds with or without the Gnome desktop. The documentation 
should say the most recent version. I'll have to think about how to get 
the script to handle different file names.

The change to SimpleHTTPServer.py is the simplest way I know to get 
Firefox to recognize the extensions .ogg and .ogv. I probably need to 
post a bug report on this.

The change to Sugar-launch enables it to be run with options -o and -u. 
I believe this has always been the intent. I hope at some point this can 
be done upstream.
> You should not tell people that "the USB drive replaces the schoolserver" because the USB is not used at all at runtime. It's simply one way of installing your stuff.

Not so. The USB drive contains a folder 'kls'. The install scripts untar 
the Kls_demo_1.tar.bz2 which contains the content. This folder has the 
demo content which is downloaded when the activity is run. I am using 
for the install just for convenience. When used with the school server, 
this content and much more is downloaded from the school server.
> Your setup instructions on the "website" do not work. Besides of the broken formatting, the commands, if typed literally as given, do not work.
Ouch! I forgot the ./Learn.sh and the sudo ./Firefox.sh. Also, for some 
reason the upload process named the files Learn.sh and Firefox.sh 
instead of learn.sh and firefox.sh. I have updated the website.

> They're also outdated. There is no firefox-11.0.tar.bz2 on mozilla.org. Only the current version is available for download (firefox-13.0.1.tar.bz2) but with that, your Firefox.sh would not work.
This is going to take some thought. I happened to have version 11 
downloaded and used it. Firefox is changing versions now very rapidly, 
so I need a script that can accept whatever version the user downloads.
> Running the activity modifies the activity directory (creating symlinks, copying contents etc.). That's verboten (under Rainbow, literally so).
As far as I know, Rainbow was dropped. In 0.82, I patched activity 
factory to add Learn activity to the list of activities that ran under 
olpc. (also verboten).
> Your activity expects the content in ~/Documents/karma. Your instructions/scripts do not put it there. And if they did, the activity would try to copy the whole content tree on every launch.
Again, not so. The karma folder and other content are downloaded from 
the school server (or usb drive) on the first launch. If they are 
already there, they are not downloaded again.

> Even after I fixed all that manually, it still does not work. The activity itself fails to start and show anything useful. It appears to only launch the web server and Firefox. In a separate window. Not fullscreen. Firefox shows only a directory listing, not the lessons. Quitting Firefox leaves the web server running.
If we can surmount the install problems, it should show the main screen 
seen in the screen shot on the website.
> So how is this supposed to work? Don't give me scripts, but explain, please. I jumped through all these hoops because I really wanted to see it working.
> - Bert -
> On 2012-06-19, at 16:36, Tony Anderson wrote:
>> Hi,
>> Thanks for pointing this out. We always seem to miss the obvious in documentation.
>> The website I am referring to is the one linked from activity page on ASLO.
>> This version uses a usb drive to stand in for the school server. The first time Learn is launched it must be connected to the school server to download the initial content. If not, the user gets a message saying it must be connected to the school server. Apparently, this isn't handled correctly when starting without the usb drive (or a school server).
>> The webpage linked from the activity screen gives information on how to set up the usb drive. Since Learn wraps Firefox, it needs to be installed. On recent builds with Gnome desktop, Firefox is installed, but Learn works better with versions from 4 up and so needs to be reinstalled. The web page provides scripts to handle all of this, hopefully, for non-developers.
>> Please let me know if you encounter other issues.
>> Thanks,
>> Tony
>> On 06/19/2012 03:34 PM, Bert Freudenberg wrote:
>>> On 2012-06-18, at 17:00, Tony Anderson wrote:
>>>> Hello,
>>>> Today, Version 51 of the Learn activity has been posted to Activities.Sugarlabs.org. This version is intended for use
>>>> by deployments to evaluate its usefulness in their context.
>>>> It has a separate (45mb) file of content which can be downloaded
>>>> from the website. The website also has installation instructions.
>>> Which website?
>>> When I run this on an XO-1.5 @ 885, it opens a Firefox window (not full-screen) with an error message ("connection error, laptop not registered") and a blank icon in the frame. Additionally, there is the Learn icon in the frame, but clicking it says the activity could not be started.
>>> - Bert -
>>> .
> .

More information about the IAEP mailing list