1 Requirements
Manish edited this page 4 years ago

Requirements

  • App store should work offline similar to python offline documentation including client side search functionality. There should be no need of any backend.
  • App store can be downloaded, generated by anyone and can be carried in pen drive, hosted on raspberry pi and work without internet in remote regions.

Users of a Sugar activities app store also include teachers and assistants carrying USB drives, SD cards, Raspberry Pi servers, and cell phones. This is why I've specified static HTML5 with JavaScript so that the content of the app store can be used from a variety of physical sources. I can foresee adding the whole app store to laptops.

Modification to original requirements

  • Download counts will be calculated from server logs and will not be part of app store itself.

Original Requirements

Sugar app store for Python 3 activities (aslov4)

Selected
Nobody.

Prerequisites

  • Ability to write programs in Python,
  • Ability to design and write web pages that use HTML5 and JavaScript,

Description

Create the simplest possible app store for Sugar activities, where each activity included has been (a) ported to Python 3 and released, and (b) tested on Sugar Live Build.

We used to have an app store for Sugar activities, but because we can't seem to attract any PHP developers the app store has failed to keep up with development.

We now use activities.sugarlabs.org for Python 2 activities only.

We have tried to make a replacement for activities.sugarlabs.org three times, and each time the features we need were not finished. These projects have been too ambitious and have not been supported collectively by the Sugar Labs community.

Minimum Requirements;

  • support activity bundles uploaded via ssh,
  • operate from static HTML5 with JavaScript,
  • detect User-Agent of Fedora 18 systems running Sugar 0.112 or earlier, and redirect to activities.sugarlabs.org,
  • provide a list of all activity bundles,
  • provide activity bundle download, using the correct Content-Type,
  • provide search of activity bundles (using title, description, or other keywords),
  • support Sugar's microformat software upgrade feature in My Settings, (Sugar 0.116 is configured in data/org.sugarlabs.gschema.xml to use the AsloUpdater in src/jarabe/model/update/aslo.py which reaches out to a PHP script update-aslo.php, and will instead be configured to use src/jarabe/model/update/microformat.py),

Optional requirements;

  • for a specific list of activities, access the source repository and detect any change to a release tag (publish), create a bundle and extract release notes,
  • display in Browse if an activity bundle is already installed, (requires integration between Sugar on the local system and the web app),
  • download counts,
  • graphic design, style and appearance,

Non-requirements; things we don't want to have to do;

  • any changes to activity metadata files activity/activity.info,

Project Scheduling;

  • a working prototype with minimum requirements must be ready within the first two weeks,
  • once approved, the Browse activity is to be changed to point to the service, and Sugar's software upgrade feature changed,

Coding Mentors
James Cameron, Hrishi Patel and, Rahul Bothra (via mailing list)

Assistant Mentors
Samson Goddy