[ASLO] ASLO build and deployment process (Jatin Dhankhar)

Tony Anderson tony_anderson at usa.net
Thu Apr 20 20:07:09 EDT 2017


Hi Walter,

The git repo is not an xo bundle. The bundle needs to be built by 
setup.py. Attempts to run the repo return an error: activity directory 
name must end in activity.

Apparently developers have permission to add an xo bundle, but do not 
have permission to update ASLO so that it
shows that bundle.

Tony

On 04/21/2017 07:42 AM, Walter Bender wrote:
>
>
> On Thu, Apr 20, 2017 at 7:35 PM, Tony Anderson <tony_anderson at usa.net 
> <mailto:tony_anderson at usa.net>> wrote:
>
>     Hi, Walter
>
>     It is wonderful to see a discussion on technical matters
>     concerning Sugar.
>
>     Assuming we plan to handle development and maintenance of
>     activities through GitHub, then the 'publishing' of an activity
>     should be a simple copy of the xo bundle to
>     download.sugarlabs.org/activities
>     <http://download.sugarlabs.org/activities> and an update so that
>     version is the one shown by ASLO. The developer hub and its
>     authentication would no longer be needed.
>
>     For the activities not now in GitHub, as I understand it, the
>     activity should first be copied to a personal repository on github
>     and then
>     the systems mailing list be notified to make the transfer. Your
>     steps 2-4 should be done before the transfer.
>
>     The word tedious applies also to the process of testing the
>     activities.
>
>     1. Download the activity zip file from GitHub (made necessary as a
>     download from ASLO was often not the right version).
>     2. Use setup.py to generate the xo bundle (python setup.py dist_xo).
>     3. Some activities did not have a setup.py or it failed. In this
>     case cp -r some-activity-master /home/tony/Activities/some.activity
>
>
> Why not just download the git repo directly into ~/Activities? That 
> should work.
>
>
>     4. Run the activity
>     5. If failed to start, debug with the log
>     6. If possible fix, and run again
>     7. Go to GitHub and post issues reporting the problems
>
>     I suspect this could be automated by a python script assuming that
>     an activity which starts successfully is working. Such a script
>     could 'lint' check the activity and activity.info
>     <http://activity.info> to see that it meets our standards. One
>     problem will be to arrange tests  on four models of XO plus any
>     other supported platforms (Ubuntu, RPi, ...).
>
>     Tony
>
>
>
>     On 04/20/2017 08:22 PM, Walter Bender wrote:
>>
>>     On Thu, Apr 20, 2017 at 3:45 AM, Tony Anderson
>>     <tony_anderson at usa.net <mailto:tony_anderson at usa.net>> wrote:
>>
>>         Hi, Walter
>>
>>         I am new to this. I am registered as a member. However, it
>>         may take an 'owner'. I assume that the process you describe
>>         is how we expect our users to submit new activities. However,
>>         this may become a distraction for someone to keep having to
>>         move activities to Sugarlabs.
>>
>>
>>     It is a one-time effort per activity to "transfer" it to sugarlabs.
>>
>>     What is tedious the process I am going through right now to just
>>     update the version numbers of an activity:
>>
>>     1. clone the activity
>>     2. update the version number
>>     3. update NEWS with all of the commit info since the last version
>>     update
>>     4. often it is necessary to update the repo path as it was not
>>     changed when the activity was transfered
>>     5. make a PR
>>     6, wait for someone to merge the PR
>>     7. once the PR is merged, pull the updated repo
>>     8. use setup.py to create new .xo and .tar bundles
>>
>>     Here is where things break down:
>>
>>     9. use admin privileges on ASLO to add myself to the activity
>>
>>     10. upload a new version of the activity
>>     11. scp the tar file to downloads
>>
>>     And here:
>>
>>     12. add a tag with the new version number to the repo on GH/sugarlabs
>>
>>     Would be great to have some scripts that do most of 1-8.
>>     Not sure about how to handle 9 properly.
>>     Would be great to automate 10-11.
>>     Not sure the proper protocol for 12.
>>
>>     Finally, what is the protocol for renaming repos in GH/sugarlabs
>>     ? I renamed portfolio to portfolio-activity for consistency. Lots
>>     of other activities should be renamed. But I don't know how to do
>>     except unilaterally,
>>
>>     regards.
>>
>>     -walter
>>
>>
>>
>>         Tony
>>
>>         On 04/20/2017 09:26 AM, Walter Bender wrote:
>>>
>>>         On Wed, Apr 19, 2017 at 9:09 PM, Tony Anderson
>>>         <tony_anderson at usa.net <mailto:tony_anderson at usa.net>> wrote:
>>>
>>>             I get the following messages when trying to create a new
>>>             repository in sugarlabs:
>>>
>>>             You don’t appear to have permission to create
>>>             repositories for this organization. Sorry about that.
>>>
>>>
>>>         That is by design. Only members can create repositories on
>>>         the project.
>>>
>>>         Quoting from
>>>         https://github.com/sugarlabs/sugar-docs/blob/master/contributing.md
>>>         <https://github.com/sugarlabs/sugar-docs/blob/master/contributing.md>
>>>
>>>         "For new activities, make a new repository in your GitHub
>>>         account, put the source code in it, then ask the systems@
>>>         list to move it to the sugarlabs organisation."
>>>
>>>         You can also of course ask to join the sugarlabs project on
>>>         GitHub.
>>>
>>>         -walter
>>>
>>>
>>>             Tony
>>>
>>>             On 04/20/2017 03:56 AM, Samuel Cantero wrote:
>>>>             On Wed, Apr 19, 2017 at 1:40 AM, Tony Anderson
>>>>             <tony_anderson at usa.net <mailto:tony_anderson at usa.net>>
>>>>             wrote:
>>>>
>>>>                 Hi Walter
>>>>
>>>>                 We haven't heard from Sam C.
>>>>
>>>>
>>>>             Hi everyone! I'm sorry I haven't replied before. I have
>>>>             been very busy these days. I don't know much about ASLO
>>>>             architecture. I just have helped to keep it working.
>>>>             Aleksey is the correct guy here.
>>>>
>>>>
>>>>                 I am thinking that rather than keep the metadata
>>>>                 regarding Sugar activities, it might be better to
>>>>                 include it in activity.info <http://activity.info>
>>>>                 (e.g. developers, summary, description, what works,
>>>>                 release notes). This would enable ASLO to generate
>>>>                 its screens from the bundle.
>>>>
>>>>                 Jatin now has a working minimal prototype of the
>>>>                 Django version. It would be helpful if it were on
>>>>                 the Sugar servers supporting ASLO.
>>>>
>>>>
>>>>             We can configure a dev environment in our server and
>>>>             enable CI. It would be good to keep main repo in
>>>>             GitHub, inside sugarlabs organization. This will give
>>>>             us more chance to encourage other people to help. Where
>>>>             is the prototype right now? I would like to take a look.
>>>>
>>>>
>>>>                 I would like to add some activities from ASLO to
>>>>                 the github repository. Currently I am a 'member'.
>>>>                 Is that sufficient to enable adding a new activity?
>>>>
>>>>
>>>>             Try and tell me.
>>>>
>>>>
>>>>                 I have posted issues to each of the activities I
>>>>                 tested on the github/sugarlabs. Several of the
>>>>                 activities can be fixed by simple code changes.
>>>>                 More importantly, some order is needed in the
>>>>                 assignment of version numbers and releasing the
>>>>                 updated activities to ASLO. While I am a developer
>>>>                 on ASLO, I don't have the ability to release new
>>>>                 versions of activities in general.
>>>>
>>>>
>>>>                 I would appreciate your help in setting up the
>>>>                 authorizations needed.
>>>>
>>>>
>>>>                 Thanks,
>>>>
>>>>                 Tony
>>>>
>>>>
>>>>
>>>>                 On 04/13/2017 01:40 AM, Walter Bender wrote:
>>>>>                 Let's try to get Sam C., who currently maintains
>>>>>                 ASLO into the loop. I think he'll have lots of
>>>>>                 good advice for us.
>>>>>
>>>>>                 regards.
>>>>>
>>>>>                 -walter
>>>>>
>>>>>                 On Wed, Apr 12, 2017 at 1:14 PM, Jatin Dhankhar
>>>>>                 <dhankhar.jatin at gmail.com
>>>>>                 <mailto:dhankhar.jatin at gmail.com>> wrote:
>>>>>
>>>>>                     Hi,
>>>>>
>>>>>                         I think we need to agree on the use of
>>>>>                         IRC. If you want to communicate with
>>>>>                         members of the community, you must go
>>>>>                         where they are (#sugar). If you want a
>>>>>                         one-to-one meeting on IRC with me, I would
>>>>>                         suggest #sugar-newbies. It is normally
>>>>>                         dormant but works well and saves a log for
>>>>>                         later review. It worked well for meetings
>>>>>                         with Utkarsh Tiwari during last year's GSOC.
>>>>>
>>>>>                     Sure, whatever works :). What is your IRC
>>>>>                     nickname ?
>>>>>
>>>>>                         There are two things that you will need to
>>>>>                         have local to the django project. First is
>>>>>                         the directory download.sugarlabs.org
>>>>>                         <http://download.sugarlabs.org/> which has
>>>>>                         the Sugar activity bundles
>>>>>
>>>>>                     Do I need to mirror the whole setup/directory ?
>>>>>
>>>>>                     When talking about scraping you probably meant
>>>>>                     http://activities.sugarlabs.org instead of
>>>>>                     http://download.sugarlabs.org/, right ?
>>>>>                     Also for scraping, Scrapy
>>>>>                     <https://scrapy.org/> seems to more popular
>>>>>                     than beautifulsoup ?
>>>>>
>>>>>                     Also a big thanks for including Walter in the
>>>>>                     discussion :D
>>>>>
>>>>>                     - Jatin Dhankhar
>>>>>
>>>>>                     On Wed, Apr 12, 2017 at 6:30 AM, Tony Anderson
>>>>>                     <tony_anderson at usa.net
>>>>>                     <mailto:tony_anderson at usa.net>> wrote:
>>>>>
>>>>>                         Hi, Jatin
>>>>>
>>>>>                         I think we need to agree on the use of
>>>>>                         IRC. If you want to communicate with
>>>>>                         members of the community, you must go
>>>>>                         where they are (#sugar). If you want a
>>>>>                         one-to-one meeting on IRC with me, I would
>>>>>                         suggest #sugar-newbies. It is normally
>>>>>                         dormant but works well and saves a log for
>>>>>                         later review. It worked well for meetings
>>>>>                         with Utkarsh Tiwari during last year's GSOC.
>>>>>
>>>>>                         There are two things that you will need to
>>>>>                         have local to the django project. First is
>>>>>                         the directory download.sugarlabs.org
>>>>>                         <http://download.sugarlabs.org> which has
>>>>>                         the Sugar activity bundles. The second is
>>>>>                         the 'metadata' in the mysql db. For
>>>>>                         scraping, I would recommend BeautifulSoup
>>>>>                         (bs4). The trick will be to decide what
>>>>>                         data we want to capture and add to the json.
>>>>>
>>>>>                         The json fields in activities.json are
>>>>>                         ones I chose for the minimal system. You
>>>>>                         may want to include other information such
>>>>>                         as the number of downloads, which
>>>>>                         collections (should be entered as tags in
>>>>>                         a tag-field) and so on. One item I have
>>>>>                         referred to as flags (I marked some as X
>>>>>                         but don't remember what that meant, oh
>>>>>                         well). The intent is to record the
>>>>>                         platforms where the activity works. We
>>>>>                         also should provide links to the homepage,
>>>>>                         repository page, and update page (whatever
>>>>>                         that is). I think if you have a working
>>>>>                         scrape tool, the data it collects can be
>>>>>                         expanded as needed (assuming the tool runs
>>>>>                         in a reasonable time).
>>>>>
>>>>>                         Naturally, it would be easier if you have
>>>>>                         access to the db directly.
>>>>>
>>>>>                         Tony
>>>>>
>>>>>
>>>>>                         On 04/12/2017 01:40 AM, Jatin Dhankhar wrote:
>>>>>>
>>>>>>                             One thing you could look at. On
>>>>>>                             activities.sugarlabs,org, can you
>>>>>>                             determine from Remora where the
>>>>>>                             metadata is stored? I assume a db.
>>>>>>                             Currently I am thinking to use
>>>>>>                             BeautifulSoup to scrape the site to
>>>>>>                             get that data, but it would be much
>>>>>>                             easier to access the data directly.
>>>>>>
>>>>>>                         As per wiki
>>>>>>                         https://wiki.mozilla.org/Update:Remora_Server_Requirements#SVN.2C_DB_and_app_config data
>>>>>>                         is stored in mysql database. I don't have
>>>>>>                         access to the production server where
>>>>>>                         ASLO is currently running, following file
>>>>>>                         https://github.com/sugarlabs/aslo/blob/master/aslo/db-update.sh#L9 confirms
>>>>>>                         that data is stored in a mysql db.
>>>>>>                         However it would be interesting and fun
>>>>>>                         to scrape the data from live site. I
>>>>>>                         would do that.
>>>>>>
>>>>>>                         Thanks will poke around the code, looks
>>>>>>                         to me it's a django app and I have to
>>>>>>                         mount it on my django project, thanks :)
>>>>>>
>>>>>>                             If you are talking about IRC as a
>>>>>>                             place to meet Sugar community
>>>>>>                             members, use the freenode #sugar.
>>>>>>                             This is probably most active from
>>>>>>                             8-17 EST (UTC-5). I am currently in
>>>>>>                             the Philippines which is UTC+ 7. 
>>>>>>
>>>>>>
>>>>>>                          Yes, tried that. https://gitter.im fits
>>>>>>                         in naturally with Github (really sorry
>>>>>>                         for suggesting a new mode of
>>>>>>                         communication everyday) πŸ˜…
>>>>>>
>>>>>>                         - Jatin Dhankhar
>>>>>>
>>>>>>
>>>>>>                         On Tue, Apr 11, 2017 at 6:14 AM, Tony
>>>>>>                         Anderson <tony_anderson at usa.net
>>>>>>                         <mailto:tony_anderson at usa.net>> wrote:
>>>>>>
>>>>>>                             If you are talking about IRC as a
>>>>>>                             place to meet Sugar community
>>>>>>                             members, use the freenode #sugar.
>>>>>>                             This is probably most active from
>>>>>>                             8-17 EST (UTC-5). I am currently in
>>>>>>                             the Philippines which is UTC+ 7.
>>>>>>
>>>>>>                             Localization of Python activities is
>>>>>>                             done by Pootle, when implemented by
>>>>>>                             the developer. The developer does
>>>>>>                             something like the following:
>>>>>>
>>>>>>                                     from gettext import gettext as _
>>>>>>
>>>>>>                             self.copy.set_tooltip(_('Copy'))
>>>>>>
>>>>>>                             In this way, all text displayed is
>>>>>>                             taken from a po file based on the
>>>>>>                             locale (e.g. en.po or hi.po). This is
>>>>>>                             a simplification as the actual file
>>>>>>                             is compressed: en.mo, hi.mo. These
>>>>>>                             files are in the activity bundle. The
>>>>>>                             detail is that when a new version is
>>>>>>                             released, there is a master file:
>>>>>>                             Paint.pot from which the local
>>>>>>                             language files are built. This needs
>>>>>>                             to be submitted to
>>>>>>                             translate.sugarlabs.org
>>>>>>                             <http://translate.sugarlabs.org>
>>>>>>                             which maintains a copy. However, then
>>>>>>                             the localized version needs to be
>>>>>>                             added back to the bundle. However,
>>>>>>                             the localizations can take months for
>>>>>>                             100 languages so how synchronize the
>>>>>>                             po directory with the activity
>>>>>>                             release is difficult.
>>>>>>
>>>>>>                             The sugar3 vs sugar issue is decided.
>>>>>>                             The community wants to move to sugar3
>>>>>>                             (gtk3). The problem is that less that
>>>>>>                             20% of the activities have been
>>>>>>                             converted.
>>>>>>                             The ones that have been converted are
>>>>>>                             low hanging fruit. The unconverted
>>>>>>                             ones may require intensive work (gimp
>>>>>>                             which developed gtk originally has
>>>>>>                             not made the conversion).
>>>>>>
>>>>>>                             One thing you could look at. On
>>>>>>                             activities.sugarlabs,org, can you
>>>>>>                             determine from Remora where the
>>>>>>                             metadata is stored? I assume a db.
>>>>>>                             Currently I am thinking to use
>>>>>>                             BeautifulSoup to scrape the site to
>>>>>>                             get that data, but it would be much
>>>>>>                             easier to access the data directly.
>>>>>>
>>>>>>                             Yesterday afternoon, the ISP restored
>>>>>>                             service. Last time it died after two
>>>>>>                             days, but I am keeping my fingers
>>>>>>                             crossed. I am attaching the django stuff.
>>>>>>
>>>>>>                             Tony
>>>>>>
>>>>>>
>>>>>>                             On 04/11/2017 01:36 AM, Jatin
>>>>>>                             Dhankhar wrote:
>>>>>>>                             Hi Tony,
>>>>>>>
>>>>>>>                                 Normally, we use
>>>>>>>                                 http://chat.sugarlabs.orgor on
>>>>>>>                                 freenode: sugar-meeting or
>>>>>>>                                 sugar-newbies. These are logged
>>>>>>>                                 sites so that there is a record.
>>>>>>>                                 The second is more appropriate
>>>>>>>                                 since sugar-meeting is used for
>>>>>>>                                 SLOB meetings and the like. The
>>>>>>>                                 real problem with IRC is time
>>>>>>>                                 zones. Email has the advantage
>>>>>>>                                 that either party can send or
>>>>>>>                                 receive at any time. Last year
>>>>>>>                                 with a GSOC mentee we used
>>>>>>>                                 sugar-newbies by arranging a
>>>>>>>                                 specific meeting time in advance. 
>>>>>>>
>>>>>>>                             Yes, that is correct, main issue in
>>>>>>>                             communication barrier is due to
>>>>>>>                             timezone issues. Since most of the
>>>>>>>                             people are familiar and are
>>>>>>>                             available on IRC, it's seems to be
>>>>>>>                             the primary channel of communication
>>>>>>>                             along with mailing lists and email.
>>>>>>>                             But since you said we can use
>>>>>>>                             anything else, giving Slack a try
>>>>>>>                             won't hurt (if issue is about not
>>>>>>>                             using closed source software then
>>>>>>>                             IRC is fine, or we can try
>>>>>>>                             Mattermost
>>>>>>>                             <https://about.mattermost.com/>).
>>>>>>>
>>>>>>>                                  Another part of the process is
>>>>>>>                                 how to update
>>>>>>>                                 'translate.sugarlabs.org
>>>>>>>                                 <http://translate.sugarlabs.org/>'
>>>>>>>                                 with the corresponding POT file
>>>>>>>                                 to enable localization. We can
>>>>>>>                                 get help from Chris Leonard on
>>>>>>>                                 this. 
>>>>>>>
>>>>>>>
>>>>>>>                             I am not aware on how localization
>>>>>>>                             works. Do we need to download
>>>>>>>                             relevant files and bundle them with
>>>>>>>                             the acitvity before making it
>>>>>>>                             available on ASLO ?
>>>>>>>
>>>>>>>                                 I have my Django version
>>>>>>>                                 available - but the internet
>>>>>>>                                 problems here are still
>>>>>>>                                 unresolved. The technician is
>>>>>>>                                 supposed to make another visit
>>>>>>>                                 today to see what is wrong with
>>>>>>>                                 our connection. Let me know if
>>>>>>>                                 and when you think this will be
>>>>>>>                                 useful to you.
>>>>>>>
>>>>>>>                             Let me know when your connection is
>>>>>>>                             stable and I would start.
>>>>>>>                              What  are the things you need me to
>>>>>>>                             do in the meantime ?
>>>>>>>
>>>>>>>                                 One open issue is sugar3 vs
>>>>>>>                                 sugar. Currently two versions of
>>>>>>>                                 Sugar are released. The sugar
>>>>>>>                                 version supports gtk while
>>>>>>>                                 sugar3 supports gtk3.
>>>>>>>                                 Unfortunately, gtk3 was
>>>>>>>                                 developed to be totally
>>>>>>>                                 incompatible with gtk. For
>>>>>>>                                 example, incorporation of one
>>>>>>>                                 gtk3 feature requires that all
>>>>>>>                                 direct and indirect references
>>>>>>>                                 to gtk be removed or the
>>>>>>>                                 activity will throw an
>>>>>>>                                 exception. Several of the gtk3
>>>>>>>                                 conversions failed to meet this
>>>>>>>                                 test and so fail. The issue is
>>>>>>>                                 whether curated activities be
>>>>>>>                                 limited to ones converted to
>>>>>>>                                 gtk3. The positive is that Sugar
>>>>>>>                                 could revert to releasing and
>>>>>>>                                 maintaining only a single
>>>>>>>                                 version. The downside is that
>>>>>>>                                 100 or more activities will no
>>>>>>>                                 longer be available.
>>>>>>>                                 Specifically, in our
>>>>>>>                                 implementation of ASLO, we need
>>>>>>>                                 to show which versions of an
>>>>>>>                                 activity work on which versions
>>>>>>>                                 of Sugar (e.g. i86, arm, amd64,
>>>>>>>                                 sugar or sugar3, and so on). We
>>>>>>>                                 also need to show which ones
>>>>>>>                                 support localization. There are
>>>>>>>                                 many English activities and many
>>>>>>>                                 Spanish activities that make no
>>>>>>>                                 provision for localization.
>>>>>>>                                 Luckily there are many that have
>>>>>>>                                 no language component. However,
>>>>>>>                                 for many of these, some kind of
>>>>>>>                                 help is needed to convey the way
>>>>>>>                                 the activity works. 
>>>>>>>
>>>>>>>
>>>>>>>                             Some people believe GTK3 is slightly
>>>>>>>                             better
>>>>>>>                             <https://www.reddit.com/r/linux/comments/3e3q8n/is_there_a_technical_reason_why_gtk3_is_better/> and
>>>>>>>                             I think GTK3 will stay but that
>>>>>>>                             should be asked in community and
>>>>>>>                             voted upon and taking in
>>>>>>>                             considerations cost of development
>>>>>>>                             and porting, only a discussion will
>>>>>>>                             help in this one.
>>>>>>>
>>>>>>>                                 You are wading into a deep and
>>>>>>>                                 vast body of water!
>>>>>>>
>>>>>>>                             As long as I have something to hold
>>>>>>>                             onto, I will not drown πŸ˜…
>>>>>>>
>>>>>>>                             Thanks,
>>>>>>>                             Jatin Dhankhar
>>>>>>>
>>>>>>>                             On Mon, Apr 10, 2017 at 9:11 AM,
>>>>>>>                             Tony Anderson <tony_anderson at usa.net
>>>>>>>                             <mailto:tony_anderson at usa.net>> wrote:
>>>>>>>
>>>>>>>                                 Hi, Jatin
>>>>>>>
>>>>>>>                                 Normally, we use
>>>>>>>                                 http://chat.sugarlabs.org or on
>>>>>>>                                 freenode: sugar-meeting or
>>>>>>>                                 sugar-newbies. These are logged
>>>>>>>                                 sites so that there is a record.
>>>>>>>                                 The second is more appropriate
>>>>>>>                                 since sugar-meeting is used for
>>>>>>>                                 SLOB meetings and the like. The
>>>>>>>                                 real problem with IRC is time
>>>>>>>                                 zones. Email has the advantage
>>>>>>>                                 that either party can send or
>>>>>>>                                 receive at any time. Last year
>>>>>>>                                 with a GSOC mentee we used
>>>>>>>                                 sugar-newbies by arranging a
>>>>>>>                                 specific meeting time in advance.
>>>>>>>
>>>>>>>                                 I haven't heard from Walter, but
>>>>>>>                                 my preference would be to use
>>>>>>>                                 the Sugarlabs server since the
>>>>>>>                                 content is largely already there
>>>>>>>                                 and it would be easier to make
>>>>>>>                                 it the official site if that
>>>>>>>                                 were decided. So in the short
>>>>>>>                                 run, I think you should do
>>>>>>>                                 whatever is best for your own
>>>>>>>                                 development process.
>>>>>>>
>>>>>>>                                 I am not sure how CI fits into
>>>>>>>                                 this. If the activity
>>>>>>>                                 development is done on GitHub,
>>>>>>>                                 then the deployment model is to
>>>>>>>                                 run setup.py to create an xo
>>>>>>>                                 bundle and then copy that bundle
>>>>>>>                                 to the appropriate location in
>>>>>>>                                 the download.sugarlabs.org
>>>>>>>                                 <http://download.sugarlabs.org>
>>>>>>>                                 tree. Assuming the update
>>>>>>>                                 results from a PR, the deployer
>>>>>>>                                 would need to update the
>>>>>>>                                 activity information on ASLO
>>>>>>>                                 appropriately. However, that
>>>>>>>                                 process depends on where that
>>>>>>>                                 data (metadata) is stored.
>>>>>>>                                 Another part of the process is
>>>>>>>                                 how to update
>>>>>>>                                 'translate.sugarlabs.org
>>>>>>>                                 <http://translate.sugarlabs.org>' with
>>>>>>>                                 the corresponding POT file to
>>>>>>>                                 enable localization. We can get
>>>>>>>                                 help from Chris Leonard on this.
>>>>>>>
>>>>>>>                                 I have my Django version
>>>>>>>                                 available - but the internet
>>>>>>>                                 problems here are still
>>>>>>>                                 unresolved. The technician is
>>>>>>>                                 supposed to make another visit
>>>>>>>                                 today to see what is wrong with
>>>>>>>                                 our connection. Let me know if
>>>>>>>                                 and when you think this will be
>>>>>>>                                 useful to you.
>>>>>>>
>>>>>>>                                 I have now tested most of the
>>>>>>>                                 activities (~400). I was
>>>>>>>                                 optimistic in the number that
>>>>>>>                                 work out of the box. However, a
>>>>>>>                                 part of this is running them in
>>>>>>>                                 the Ubuntu version of Sugar
>>>>>>>                                 (amd64). There are many
>>>>>>>                                 activities which launch object
>>>>>>>                                 code (mostly c) which is
>>>>>>>                                 dependent on the architecture. I
>>>>>>>                                 am now trying to repeat the
>>>>>>>                                 tests on an XO-1.75. One issue
>>>>>>>                                 on Ubuntu is that many
>>>>>>>                                 activities assume a 1200x900
>>>>>>>                                 screen and so on a 1024X768
>>>>>>>                                 screen overflow. This makes some
>>>>>>>                                 of the games unusable since part
>>>>>>>                                 of the controls are off the
>>>>>>>                                 screen. Because of the internet
>>>>>>>                                 problems, the untested
>>>>>>>                                 activities tend to be new ones
>>>>>>>                                 since I was using my local
>>>>>>>                                 repository which is a snapshot
>>>>>>>                                 taken several months ago. The
>>>>>>>                                 other group are the GCompris
>>>>>>>                                 activities (about 70).
>>>>>>>
>>>>>>>                                 My intent is to build a
>>>>>>>                                 'curated' repository of
>>>>>>>                                 activities known to work and be
>>>>>>>                                 usable on the XO and on Ubuntu
>>>>>>>                                 (or such other platform that
>>>>>>>                                 Sugar may choose to support).
>>>>>>>                                 Most of the currently not work
>>>>>>>                                 activities have software
>>>>>>>                                 dependencies no longer included
>>>>>>>                                 in the current Sugar release. So
>>>>>>>                                 the curated library will grow as
>>>>>>>                                 activities are repaired over time.
>>>>>>>
>>>>>>>                                 One open issue is sugar3 vs
>>>>>>>                                 sugar. Currently two versions of
>>>>>>>                                 Sugar are released. The sugar
>>>>>>>                                 version supports gtk while
>>>>>>>                                 sugar3 supports gtk3.
>>>>>>>                                 Unfortunately, gtk3 was
>>>>>>>                                 developed to be totally
>>>>>>>                                 incompatible with gtk. For
>>>>>>>                                 example, incorporation of one
>>>>>>>                                 gtk3 feature requires that all
>>>>>>>                                 direct and indirect references
>>>>>>>                                 to gtk be removed or the
>>>>>>>                                 activity will throw an
>>>>>>>                                 exception. Several of the gtk3
>>>>>>>                                 conversions failed to meet this
>>>>>>>                                 test and so fail. The issue is
>>>>>>>                                 whether curated activities be
>>>>>>>                                 limited to ones converted to
>>>>>>>                                 gtk3. The positive is that Sugar
>>>>>>>                                 could revert to releasing and
>>>>>>>                                 maintaining only a single
>>>>>>>                                 version. The downside is that
>>>>>>>                                 100 or more activities will no
>>>>>>>                                 longer be available.
>>>>>>>                                 Specifically, in our
>>>>>>>                                 implementation of ASLO, we need
>>>>>>>                                 to show which versions of an
>>>>>>>                                 activity work on which versions
>>>>>>>                                 of Sugar (e.g. i86, arm, amd64,
>>>>>>>                                 sugar or sugar3, and so on). We
>>>>>>>                                 also need to show which ones
>>>>>>>                                 support localization. There are
>>>>>>>                                 many English activities and many
>>>>>>>                                 Spanish activities that make no
>>>>>>>                                 provision for localization.
>>>>>>>                                 Luckily there are many that have
>>>>>>>                                 no language component. However,
>>>>>>>                                 for many of these, some kind of
>>>>>>>                                 help is needed to convey the way
>>>>>>>                                 the activity works.
>>>>>>>
>>>>>>>                                 You are wading into a deep and
>>>>>>>                                 vast body of water!
>>>>>>>
>>>>>>>                                 Tony
>>>>>>>
>>>>>>>
>>>>>>>                                 On 04/10/2017 12:00 AM, Jatin
>>>>>>>                                 Dhankhar wrote:
>>>>>>>>                                 Hi,
>>>>>>>>                                 Sorry for the delay. I went
>>>>>>>>                                 through the polls tutorials and
>>>>>>>>                                 I think I am getting hang of
>>>>>>>>                                 Django. I have one query that
>>>>>>>>                                 is out of context, what is your
>>>>>>>>                                 IRC setup ? IRC doesn't allow
>>>>>>>>                                 message to be delivered or
>>>>>>>>                                 stored once either party is
>>>>>>>>                                 offline, people login through a
>>>>>>>>                                 external server for IRC's to
>>>>>>>>                                 maintain their availability in
>>>>>>>>                                 a channel. May I suggest
>>>>>>>>                                 something like Slack or Flock
>>>>>>>>                                 for communication. IRC is good
>>>>>>>>                                 for quick and fast connection
>>>>>>>>                                 but Slack and alternatives
>>>>>>>>                                 allow easy communication. (Just
>>>>>>>>                                 a suggestion, though)
>>>>>>>>
>>>>>>>>                                 Should I  deploy the same polls
>>>>>>>>                                 app on DigitalOcean along with
>>>>>>>>                                 CI pipeline and branching model
>>>>>>>>                                 in the meantime with code
>>>>>>>>                                 hosted on Github ?
>>>>>>>>
>>>>>>>>                                 Thanks,
>>>>>>>>                                 Jatin Dhankhar
>>>>>>>>
>>>>>>>>                                 On Sat, Apr 8, 2017 at 6:28 AM,
>>>>>>>>                                 Tony Anderson
>>>>>>>>                                 <tony_anderson at usa.net
>>>>>>>>                                 <mailto:tony_anderson at usa.net>>
>>>>>>>>                                 wrote:
>>>>>>>>
>>>>>>>>                                     Hi, Jatin
>>>>>>>>
>>>>>>>>                                     I abbreviated this thread
>>>>>>>>                                     because I am getting
>>>>>>>>                                     complaints from the list
>>>>>>>>                                     that the emails are too long.
>>>>>>>>
>>>>>>>>                                     Yesterday, I was able to
>>>>>>>>                                     complete a set of 25
>>>>>>>>                                     activities to use as a test
>>>>>>>>                                     base. The Django app now
>>>>>>>>                                     has two views. First is a
>>>>>>>>                                     display of all of the
>>>>>>>>                                     activities with the icon
>>>>>>>>                                     and name. A link for each
>>>>>>>>                                     opens the full activity
>>>>>>>>                                     page. The data for the
>>>>>>>>                                     views is in a file which is
>>>>>>>>                                     a list of jsons, one json
>>>>>>>>                                     per line.
>>>>>>>>                                     The  views.py reads this
>>>>>>>>                                     file and builds the view
>>>>>>>>                                     from the jsons.
>>>>>>>>
>>>>>>>>                                     So the app consists of:
>>>>>>>>                                         urls.py
>>>>>>>>                                         views.py
>>>>>>>>                                         templates/
>>>>>>>>                                     base.html
>>>>>>>>                                     list.html
>>>>>>>>                                     activity.html
>>>>>>>>
>>>>>>>>                                     with the data:
>>>>>>>>                                     fixtures/activities.json
>>>>>>>>                                             icons/
>>>>>>>>                                             xo/
>>>>>>>>
>>>>>>>>                                     The icons directory has the
>>>>>>>>                                     activity icons (*.svg)
>>>>>>>>                                     The xo directory has the
>>>>>>>>                                     activity bundles (*.xo)
>>>>>>>>
>>>>>>>>                                     Meanwhile, I am having more
>>>>>>>>                                     troubles with the ISP (a
>>>>>>>>                                     new one). When that gets
>>>>>>>>                                     resolved, I should be able
>>>>>>>>                                     to send the above to you.
>>>>>>>>
>>>>>>>>                                     I have also mentioned our
>>>>>>>>                                     dialog to Walter Bender
>>>>>>>>                                     suggesting that you could
>>>>>>>>                                     set up your working model
>>>>>>>>                                     as
>>>>>>>>                                     activities3.sugarlabs.org
>>>>>>>>                                     <http://activities3.sugarlabs.org>.
>>>>>>>>                                     This would give you a
>>>>>>>>                                     permanent place to do the
>>>>>>>>                                     development and make your
>>>>>>>>                                     project visible to the
>>>>>>>>                                     community so that we can
>>>>>>>>                                     obtain feedback. I aslo
>>>>>>>>                                     suggested that the project
>>>>>>>>                                     repository could be placed
>>>>>>>>                                     on GitHub so that again the
>>>>>>>>                                     community can comment and
>>>>>>>>                                     potentially contribute.
>>>>>>>>
>>>>>>>>                                     Tony
>>>>>>>>                                     On 04/07/2017 12:23 AM,
>>>>>>>>                                     Jatin Dhankhar wrote:
>>>>>>>>>                                     Hi,
>>>>>>>>>
>>>>>>>>>                                     I am setting up Django now
>>>>>>>>>                                     and going through some
>>>>>>>>>                                     tutorials. I will setup
>>>>>>>>>                                     the code with a very basic
>>>>>>>>>                                     and barebones version of
>>>>>>>>>                                     what we want to achieve
>>>>>>>>>                                     and put it in a private
>>>>>>>>>                                     repo. We can even host it
>>>>>>>>>                                     online, since I have some
>>>>>>>>>                                     DigitalOcean credit left.
>>>>>>>>>                                     Will keep you posted.
>>>>>>>>>
>>>>>>>>>                                     Thanks.
>>>>>>>>>                                     Jatin Dhankhar
>>>>>>>>>
>>>>>>>>>                                     On Thu, Apr 6, 2017 at
>>>>>>>>>                                     7:11 AM, Tony Anderson
>>>>>>>>>                                     <tony_anderson at usa.net
>>>>>>>>>                                     <mailto:tony_anderson at usa.net>>
>>>>>>>>>                                     wrote:
>>>>>>>>>
>>>>>>>>>                                         Hi, Jatin
>>>>>>>>>
>>>>>>>>>                                         In setting up Django,
>>>>>>>>>                                         I think you will do it
>>>>>>>>>                                         on your computer not
>>>>>>>>>                                         on a separate server.
>>>>>>>>>                                         Django handles that
>>>>>>>>>                                         through its own server
>>>>>>>>>                                         and has sgqlite as a
>>>>>>>>>                                         database built-in. A
>>>>>>>>>                                         good first start would
>>>>>>>>>                                         be to set up the
>>>>>>>>>                                         tutorial app
>>>>>>>>>                                         (https://www.djangoproject.com/).
>>>>>>>>>                                         Essentially you will
>>>>>>>>>                                         need to install django
>>>>>>>>>                                         and then set up the
>>>>>>>>>                                         tutorial app 'poll'.
>>>>>>>>>                                         Working through this
>>>>>>>>>                                         tutorial will help a
>>>>>>>>>                                         lot later on. The key
>>>>>>>>>                                         point is that after
>>>>>>>>>                                         initial setup, there
>>>>>>>>>                                         are three important
>>>>>>>>>                                         elements: url.py which
>>>>>>>>>                                         defines the urls to
>>>>>>>>>                                         access the
>>>>>>>>>                                         application, views.py
>>>>>>>>>                                         which is the python
>>>>>>>>>                                         code that responds to
>>>>>>>>>                                         a request by accessing
>>>>>>>>>                                         the db and delivering
>>>>>>>>>                                         the relevant
>>>>>>>>>                                         information to a
>>>>>>>>>                                         template. The template
>>>>>>>>>                                         is an html file with
>>>>>>>>>                                         variables of the form
>>>>>>>>>                                         {{ activity.name
>>>>>>>>>                                         <http://activity.name>
>>>>>>>>>                                         }} transferring
>>>>>>>>>                                         information from the
>>>>>>>>>                                         view to the template.
>>>>>>>>>
>>>>>>>>>                                         What I have is an
>>>>>>>>>                                         application: aslo.
>>>>>>>>>                                         Once you have Django
>>>>>>>>>                                         installed and have run
>>>>>>>>>                                         the tutorial app
>>>>>>>>>                                         through Django's
>>>>>>>>>                                         server, you'll be
>>>>>>>>>                                         ready. Essentially,
>>>>>>>>>                                         you will only need to
>>>>>>>>>                                         add aslo as a second
>>>>>>>>>                                         app in the settings.
>>>>>>>>>                                         One possible confusion
>>>>>>>>>                                         is that DJango lives
>>>>>>>>>                                         in a project -
>>>>>>>>>                                         essentially a
>>>>>>>>>                                         directory containing
>>>>>>>>>                                         its manage.py admin
>>>>>>>>>                                         interface. In the
>>>>>>>>>                                         directory is another
>>>>>>>>>                                         directory of the same
>>>>>>>>>                                         name with the
>>>>>>>>>                                         settings.py and
>>>>>>>>>                                         url.py. The poll app
>>>>>>>>>                                         is a directory in the
>>>>>>>>>                                         top-level alongside
>>>>>>>>>                                         the inner directory
>>>>>>>>>                                         with the project name.
>>>>>>>>>
>>>>>>>>>                                         For example, my
>>>>>>>>>                                         project is schoolsite.
>>>>>>>>>                                         So my setup looks like:
>>>>>>>>>
>>>>>>>>>                                         /library/schoolsite/schoolsite
>>>>>>>>>                                         /library/schoolsite/aslo
>>>>>>>>>
>>>>>>>>>                                         Meanwhile my code
>>>>>>>>>                                         links directly to an
>>>>>>>>>                                         activity page with no
>>>>>>>>>                                         index. I'll add an
>>>>>>>>>                                         index so the essential
>>>>>>>>>                                         structure will be
>>>>>>>>>                                         there. I'll also
>>>>>>>>>                                         include the 'fixtures'
>>>>>>>>>                                         to set up a 25
>>>>>>>>>                                         activity capability.
>>>>>>>>>                                         Fixtures are csv files
>>>>>>>>>                                         from which the
>>>>>>>>>                                         database (metadata)
>>>>>>>>>                                         can be loaded.
>>>>>>>>>
>>>>>>>>>                                         Tony
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>                     _______________________________________________
>>>>>                     ASLO mailing list
>>>>>                     ASLO at lists.sugarlabs.org
>>>>>                     <mailto:ASLO at lists.sugarlabs.org>
>>>>>                     http://lists.sugarlabs.org/listinfo/aslo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>                 -- 
>>>>>                 Walter Bender
>>>>>                 Sugar Labs
>>>>>                 http://www.sugarlabs.org
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>         -- 
>>>         Walter Bender
>>>         Sugar Labs
>>>         http://www.sugarlabs.org
>>>
>>
>>
>>
>>
>>     -- 
>>     Walter Bender
>>     Sugar Labs
>>     http://www.sugarlabs.org
>>
>
>
>
>
> -- 
> Walter Bender
> Sugar Labs
> http://www.sugarlabs.org
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/aslo/attachments/20170421/84188dea/attachment-0001.html>


More information about the ASLO mailing list