XS Community Edition/0.4/Services/Activity Update: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Created page with 'I have never tested or even looked at this before, but today on the call, George made sure I saw this link which has all the details regarding the Activity Update service for the…')
 
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
You've got your .xo files, set up your activities.info file, it's all on a USB drive in a dir named xs-activity-server, and now that you've got all the ingredients, the last step is to create a manifest for the XSCE to read.
I have never tested or even looked at this before, but today on the call, George made sure I saw this link which has all the details regarding the Activity Update service for the XSCE: http://dev.laptop.org/git/users/martin/xs-activity-server/tree/README


=Creating the activity updater=
But if you're sitting there with a USB drive, some activities you'd like to include, you've got an XSCE, and you want some simple instructions, here's a digest.


==Copying activities==
Unfortunately I'm going to assume you're on a Linux box, apologies to the Windows people.


First, insert your USB drive into your computer (I used my regular FAT32 formatted drive that I also use for flashing XOs) and create a directory named xs-activity-server
#Insert your USB drive into your computer (I used my regular FAT32 formatted drive that I also use for flashing XOs)
#Create a directory named xs-activity-server
#Navigate into the xs-activity-server dir.
#Download some activities.


==Create Activity Descriptions==
Navigate into the xs-activity-server dir and download some activities.
Activity Descriptions are shown in http://schoolserver/activities

<ol>
This isn't necessary, but it's quite nice. Write a "blurb" for the activity that will show up on the entry for the activity in http://schoolserver/activities
#Get the bundle_id for the Activity by running:

First, get the bundle_id for the Activity. In Linux, it's simply:


zipgrep bundle_id activityname.xo
zipgrep bundle_id activityname.xo


It should return something like:
That command will return something like:


JAMediaTube.activity/activity/activity.info:bundle_id = org.laptop.JAMediaTube
JAMediaTube.activity/activity/activity.info:bundle_id = org.laptop.JAMediaTube


You want the bit at the end.
The bundle_id is the section after the = sign.


Now, create an .info file in the xs-activity-server dir. It doesn't matter what it's named, just do activities.info or something.
#Create file named activities.info in the xs-activity-server dir.


For every activity you would like to write a "blurb" for, put an entry for that in the activities.info file. For example:
#Create a section for each activity in the activities.info file which contains:
[bundle_id]
description = text description

For example:


[org.laptop.JAMediaTube]
[org.laptop.JAMediaTube]
Line 30: Line 36:
[org.laptop.FakeActivity]
[org.laptop.FakeActivity]
description = This is a placeholder for documentation purposes
description = This is a placeholder for documentation purposes
</ol>


==Create manifest==
Notice the bundle_id value we grepped for earlier? That's in brackets in the .info file with the description directly underneath.
#run this command:


sha1sum *.xo *.info > manifest.sha1
You've got your .xo files, set up your activities.info file, it's all on a USB drive in a dir named xs-activity-server, and now that you've got all the ingredients, the last order of business is to create a manifest for the XSCE to read.


#Eject the USB drive and plug it into the XSCE.
While in the xs-activity-server dir on your USB drive, run this command:


=update a school server=
sha1sum *.xo *.info > manifest.sha1
The activities you put on the USB drive in the xs-activity-server dir will be installed. they will appear at http://schoolserver/activities.


#Plug the USB drive into the XSCE.
Eject the USB drive and plug it into the XSCE. And then magic happens! The activities you put on the USB drive in the xs-activity-server dir will just "automagically" show up on http://schoolserver/activities with the "blurbs" you wrote in the activities.info file.
#Remove the USB drive


I don't know how the USB drive gets ejected by novice users from the XSCE. Which could be a concern?
I don't know how the USB drive gets ejected by novice users from the XSCE. Which could be a concern?

At any rate, this probably needs a wiki entry.

Latest revision as of 23:49, 8 August 2013

You've got your .xo files, set up your activities.info file, it's all on a USB drive in a dir named xs-activity-server, and now that you've got all the ingredients, the last step is to create a manifest for the XSCE to read.

Creating the activity updater

Copying activities

  1. Insert your USB drive into your computer (I used my regular FAT32 formatted drive that I also use for flashing XOs)
  2. Create a directory named xs-activity-server
  3. Navigate into the xs-activity-server dir.
  4. Download some activities.

Create Activity Descriptions

Activity Descriptions are shown in http://schoolserver/activities

    1. Get the bundle_id for the Activity by running:
    zipgrep bundle_id activityname.xo That command will return something like: JAMediaTube.activity/activity/activity.info:bundle_id = org.laptop.JAMediaTube The bundle_id is the section after the = sign.
    1. Create file named activities.info in the xs-activity-server dir.
    1. Create a section for each activity in the activities.info file which contains:
    [bundle_id] description = text description For example: [org.laptop.JAMediaTube] description = Watch YouTube! It's really fun! [org.laptop.FakeActivity] description = This is a placeholder for documentation purposes

Create manifest

  1. run this command:

sha1sum *.xo *.info > manifest.sha1

  1. Eject the USB drive and plug it into the XSCE.

update a school server

The activities you put on the USB drive in the xs-activity-server dir will be installed. they will appear at http://schoolserver/activities.

  1. Plug the USB drive into the XSCE.
  2. Remove the USB drive

I don't know how the USB drive gets ejected by novice users from the XSCE. Which could be a concern?