[ASLO] ASLO build and deployment process (Jatin Dhankhar)
Tony Anderson
tony_anderson at usa.net
Thu Apr 20 20:19:31 EDT 2017
Agreed. I copy the repository from some-activity-master to
some.activity in /home/olpc/Activities on an XO. It then runs in Sugar
as an activity.
I assume setup.py is the standard way to make a bundle and includes
various checks. At present it checks that the repository is git enabled
apparently to replace the need for a manifest. This could be a good
place to put other checks, e.g. a complete activity,info.
Tony
On 04/21/2017 08:10 AM, Walter Bender wrote:
>
>
> On Thu, Apr 20, 2017 at 8:07 PM, Tony Anderson <tony_anderson at usa.net
> <mailto:tony_anderson at usa.net>> wrote:
>
> 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.
>
>
> You can name the git repo anything you want when you clone... I do it
> all the time to save the trouble of making the bundle each time when
> debugging. What am I missing?
>
>
> 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
>>>> <http://ting.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
>>
>
>
>
>
> --
> Walter Bender
> Sugar Labs
> http://www.sugarlabs.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/aslo/attachments/20170421/85eb31bd/attachment-0001.html>
More information about the ASLO
mailing list