ASLO2

From Sugar Labs
Revision as of 02:36, 31 August 2014 by SAMdroid (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

New Page Features/New_ASLO

The aslo2 is a hypothetical revision of the aslo site that brings new features. This pages discusses them.

You can find the code here: https://github.com/SAMdroid-apps/aslo/

You can view it live here: http://www.aslo.cf/

Current ASLO Feature Parity

Here are the important things the current ASLO has that the new one has too:

  • Stores every version of the activity
  • Shows the user the latest compatible version
  • Can search by title or description
  • Users can comment and add stars
  • Activities in categories
  • i18n ui
  • The update manager in the system settings

New Features

For Users

  • Nicer ui - just in my own opinion
  • No more reloads - the activities detail pages load almost instantly
  • Localised search - users can search in their own language
  • 'Instant' search - it is very fast :)
  • A comment system that lets people to actually discuss activities - they can post ideas, questions, reviews and bug reports. Any user can then post a reply to the post and then somebody can reply to the reply.........
  • Not yet implemented: Connect B.SL.O with the ASLO - Let people post bug reports is a really easy way

For Developers

  • Github integration - a webhook can be connected with github which can build and update the activities listing automatically (see the technical description below)
  • Communication with their users - they can talk over the comments system (in real time even). I really need to add email notifications so this can work better
  • No more references to firefox addons in random corners of the site :)

Activity Categories

The new ASLO adds a categories field in the activity.info. It is a space separated list of categories.

The current categories are (with their name for the activity.info):

  • Games (game)
  • Programming (programming)
  • Internet (internet)
  • Science (science)
  • Maths (maths)
  • Geography (geography)
  • Office (office)
  • Tools (tools)
  • System (system)

Please tell me what you think about these.

Help Us --- Translate it!

Warning, the strings are unstable - you should wait before you translate

Here it is, step by step:

1. Make a copy of this file: https://github.com/SAMdroid-apps/aslo/blob/master/web/locales/dev/translation.json 2. Translate the values (the things on the right of the colons) 3. Save the translated file in /web/locales/en_US/translation.json (replace en_US with your language) 4. Also save it in the general language folder (without the country code). eg: /web/locales/en/translation.json 5. Send me a pull request (or an email) 6. BE HAPPY :)

Implementation Details

JSON Backend

The data about the activities is stored in a json file. This json file is available via GitHub (currently https://github.com/SAMdroid-apps/sugar-activities). This is served with the correct content type here: http://aslo-bot-master.sugarlabs.org/data.json

Activity Buildbots

The aslo2 integrates a lot with GitHub. It offers a web hook for which the activity can be automatically built and listing data extracted.

Here is a diagram of the network:

   GitHub ----Hook-Request----> Bot Master  <----Activity-Data------.
     ^                            |    ^------Request-For-Task---> Bots
     |-----Data-Committed---------|

Here is a list of data sorces for the activity listing:

  • Title, Summary - activity.info for en-US and po/LANG.po for the translations
  • Screenshots - /screenshots/LANG/NAME.png
  • What's New - NEWS.LANG (NEWS defaults to en-US). Use this format https://github.com/ignaciouy/chat/blob/af7bbc9b8036fb7252cf21cd6a2e6d545a42ed5d/NEWS
  • Compatibility - Robots reading through your code :)
  • Authors - You need to do that manually
  • Bundle - Automatically compiled by the robots
  • Categories - from the activity.info - a space seperated list under the name categories

Commenting

Here are a few points:

  • Live updating - via websockets
  • Replying to comments
  • 4 comment types: bug, question, idea and rating