<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 20, 2017 at 8:07 PM, Tony Anderson <span dir="ltr"><<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
Hi Walter,<br>
<br>
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.<br></div></blockquote><div><br></div><div>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? </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
<br>
Apparently developers have permission to add an xo bundle, but do
not have permission to update ASLO so that it <br>
shows that bundle.<br>
<br>
Tony<br>
<br>
<div class="m_2017803824253690631moz-cite-prefix">On 04/21/2017 07:42 AM, Walter Bender
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Apr 20, 2017 at 7:35 PM, Tony
Anderson <span dir="ltr"><<a href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Hi, Walter<br>
<br>
It is wonderful to see a discussion on technical matters
concerning Sugar. <br>
<br>
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
<a href="http://download.sugarlabs.org/activities" target="_blank">download.sugarlabs.org/activit<wbr>ies</a>
and an update so that version is the one shown by ASLO.
The developer hub and its authentication would no longer
be needed.<br>
<br>
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 <br>
the systems mailing list be notified to make the
transfer. Your steps 2-4 should be done before the
transfer. <br>
<br>
The word tedious applies also to the process of testing
the activities.<br>
<br>
1. Download the activity zip file from GitHub (made
necessary as a download from ASLO was often not the
right version).<br>
2. Use setup.py to generate the xo bundle (python
setup.py dist_xo). <br>
3. Some activities did not have a setup.py or it failed.
In this case cp -r some-activity-master
/home/tony/Activities/some.act<wbr>ivity
</div>
</blockquote>
<div><br>
</div>
<div>Why not just download the git repo directly into
~/Activities? That should work. </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
4. Run the activity<br>
5. If failed to start, debug with the log<br>
6. If possible fix, and run again<br>
7. Go to GitHub and post issues reporting the problems<br>
<br>
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 <a href="http://activity.info" target="_blank">activity.info</a>
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, ...). <br>
<br>
Tony<br>
<br>
<br>
<br>
<div class="m_2017803824253690631m_1093523794728921624moz-cite-prefix">On
04/20/2017 08:22 PM, Walter Bender wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Apr 20, 2017 at
3:45 AM, Tony Anderson <span dir="ltr"><<a href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Hi,
Walter<br>
<br>
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.<br>
</div>
</blockquote>
<div><br>
</div>
<div>It is a one-time effort per activity to
"transfer" it to sugarlabs.</div>
<div><br>
</div>
<div>What is tedious the process I am going
through right now to just update the version
numbers of an activity:</div>
<div><br>
</div>
<div>1. clone the activity</div>
<div>2. update the version number</div>
<div>3. update NEWS with all of the commit info
since the last version update</div>
<div>4. often it is necessary to update the repo
path as it was not changed when the activity
was transfered</div>
<div>5. make a PR</div>
<div>6, wait for someone to merge the PR</div>
<div>7. once the PR is merged, pull the updated
repo</div>
<div>8. use setup.py to create new .xo and .tar
bundles</div>
<div><br>
</div>
<div>Here is where things break down:</div>
<div><br>
</div>
<div>9. use admin privileges on ASLO to add
myself to the activity</div>
<div><br>
</div>
<div>10. upload a new version of the activity</div>
<div>11. scp the tar file to downloads</div>
<div><br>
</div>
<div>And here:</div>
<div><br>
</div>
<div>12. add a tag with the new version number
to the repo on GH/sugarlabs</div>
<div><br>
</div>
<div>Would be great to have some scripts that do
most of 1-8.</div>
<div>Not sure about how to handle 9 properly.</div>
<div>Would be great to automate 10-11.</div>
<div>Not sure the proper protocol for 12.</div>
<div><br>
</div>
<div>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,</div>
<div><br>
</div>
<div>regards.</div>
<div><br>
</div>
<div>-walter</div>
<div><br>
</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <br>
Tony<br>
<br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574moz-cite-prefix">On
04/20/2017 09:26 AM, Walter Bender wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Apr
19, 2017 at 9:09 PM, Tony Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> I get the
following messages when trying
to create a new repository in
sugarlabs:<br>
<br>
You don’t appear to have
permission to create
repositories for this
organization. Sorry about that.<br>
</div>
</blockquote>
<div><br>
</div>
<div>That is by design. Only members
can create repositories on the
project.</div>
<div><br>
</div>
<div>Quoting from <a href="https://github.com/sugarlabs/sugar-docs/blob/master/contributing.md" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="https://github.com/sugarlabs/s" target="_blank">https://github.com/sugarlabs/s</a><wbr>ugar-docs/blob/master/contribu<wbr><a href="http://ting.md">ting.md</a></div>
<div><br>
</div>
<div>"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."</div>
<div><br>
</div>
<div>You can also of course ask to
join the sugarlabs project on
GitHub.</div>
<div><br>
</div>
<div>-walter</div>
<div><br>
</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF"> Tony<br>
<br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072moz-cite-prefix">On
04/20/2017 03:56 AM, Samuel
Cantero wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On
Wed, Apr 19, 2017 at
1:40 AM, Tony Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
Hi Walter<br>
<br>
We haven't heard
from Sam C. <br>
</div>
</blockquote>
<div><br>
</div>
<div>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.</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<br>
I am thinking that
rather than keep the
metadata regarding
Sugar activities, it
might be better to
include it in <a href="http://activity.info" target="_blank">activity.info</a> (e.g.
developers, summary,
description, what
works, release
notes). This would
enable ASLO to
generate its screens
from the bundle. <br>
<br>
Jatin now has a
working minimal
prototype of the
Django version. It
would be helpful if
it were on the Sugar
servers supporting
ASLO.<br>
</div>
</blockquote>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<br>
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?<br>
</div>
</blockquote>
<div><br>
</div>
<div>Try and tell me.</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<br>
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. </div>
</blockquote>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<br>
I would appreciate
your help in setting
up the
authorizations
needed. </div>
</blockquote>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<br>
Thanks,<br>
<br>
Tony
<div>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072h5"><br>
<br>
<br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069moz-cite-prefix">On
04/13/2017
01:40 AM,
Walter Bender
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">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.
<div><br>
</div>
<div>regards.</div>
<div><br>
</div>
<div>-walter</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Wed, Apr 12,
2017 at 1:14
PM, Jatin
Dhankhar <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:dhankhar.jatin@gmail.com" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:dhankhar.jatin@gmail.com" target="_blank">dhankhar.jatin@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hi,<span>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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.</span></blockquote>
</span>
<div>Sure,
whatever works
:). What is
your IRC
nickname ?</div>
<span>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">There are two things that you will need to have
local to the
django
project. First
is the
directory </span><a href="http://download.sugarlabs.org/" style="font-size:12.8px" target="_blank">download.sugarlabs.o<wbr>rg</a><span style="font-size:12.8px"> which
has the Sugar
activity
bundles</span></blockquote>
</span>
<div>Do I need
to mirror the
whole
setup/directory
? <br>
</div>
<div><br>
</div>
<div>When
talking about
scraping you
probably meant
<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="http://activities.sugarlabs" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="http://activities.sugarlabs" target="_blank">http://activities.sugarlabs</a>.o<wbr>rg instead of <a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="http://download.sugarlabs.o" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="http://download.sugarlabs.o" target="_blank">http://download.sugarlabs.o</a><wbr>rg/, right ? <br>
Also for
scraping, <a href="https://scrapy.org/" target="_blank">Scrapy</a> seems to more
popular than
beautifulsoup
?<br>
<br>
Also a big
thanks for
including
Walter in the
discussion :D</div>
<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069HOEnZb"><font color="#888888">
<div><br>
</div>
<div>- Jatin
Dhankhar</div>
<div> </div>
</font></span></div>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069HOEnZb">
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069h5">
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Wed, Apr 12,
2017 at 6:30
AM, Tony
Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
Hi, Jatin<br>
<br>
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.<br>
<br>
There are two
things that
you will need
to have local
to the django
project. First
is the
directory <a href="http://download.sugarlabs.org" target="_blank">download.sugarlabs.org</a>
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.<br>
<br>
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).<br>
<br>
Naturally, it
would be
easier if you
have access to
the db
directly.<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501HOEnZb"><font color="#888888"><br>
<br>
Tony</font></span>
<div>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501h5"><br>
<br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224moz-cite-prefix">On
04/12/2017
01:40 AM,
Jatin Dhankhar
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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.</span></blockquote>
As per wiki <a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="https://wiki.mozilla.org/Updat" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="https://wiki.mozilla.org/Updat" target="_blank">https://wiki.mozilla.org/Updat</a><wbr>e:Remora_Server_Requirements#S<wbr>VN.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 <a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="https://github.com/sugarl" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="https://github.com/sugarl" target="_blank">https://github.com/sugarl</a><wbr>abs/aslo/blob/master/aslo/db-u<wbr>pdate.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.<br>
<div><br>
</div>
<div>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 :)</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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. </span></blockquote>
<div><br>
</div>
<div> Yes,
tried that. <a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="https://gitter.im" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="https://gitter.im" target="_blank">https://gitter.im</a> fits in
naturally with
Github (really
sorry for
suggesting a
new mode of
communication
everyday) 😅</div>
<div><br>
</div>
<div>- Jatin
Dhankhar</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Tue, Apr 11,
2017 at 6:14
AM, Tony
Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
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. <br>
<br>
Localization
of Python
activities is
done by
Pootle, when
implemented by
the developer.
The developer
does something
like the
following:<br>
<br>
from
gettext import
gettext as _<br>
<br>
self.copy.set_tooltip(_('Copy'<wbr>))<br>
<br>
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 <a href="http://translate.sugarlabs.org" target="_blank">translate.sugarlabs.org</a>
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. <br>
<br>
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.<br>
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). <br>
<br>
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.<br>
<br>
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.<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224HOEnZb"><font color="#888888"><br>
<br>
Tony</font></span>
<div>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224h5"><br>
<br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942moz-cite-prefix">On
04/11/2017
01:36 AM,
Jatin Dhankhar
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hi Tony,</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">Normally, we use </span><a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="http://chat.sugarlabs.org" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="http://chat.sugarlabs.org" target="_blank">http://chat.sugarlabs.org</a><span style="font-size:12.8px"> <wbr>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. </span></blockquote>
<div>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 <a href="https://about.mattermost.com/" target="_blank">Mattermost</a>).</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px"> Another part of the process is how to update '</span><a href="http://translate.sugarlabs.org/" style="font-size:12.8px" target="_blank">translate.sugarlabs.org</a><span style="font-size:12.8px">'
with the
corresponding
POT file to
enable
localization.
We can get
help from
Chris Leonard
on this. </span></blockquote>
<div><br>
</div>
<div>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 ? </div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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.</span></blockquote>
<div>Let me
know when your
connection is
stable and I
would start.</div>
<div> What
are the
things you
need me to do
in the
meantime ? </div>
<div><br style="font-size:12.8px">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">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. </span></blockquote>
<div><br>
</div>
<div><a href="https://www.reddit.com/r/linux/comments/3e3q8n/is_there_a_technical_reason_why_gtk3_is_better/" target="_blank">Some people believe GTK3 is slightly better</a> 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.</div>
</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">You are wading into a deep and vast body of
water!</span></blockquote>
<div>As long
as I have
something to
hold onto, I
will not drown
😅 </div>
<div><br>
</div>
<div>Thanks,</div>
<div>Jatin
Dhankhar</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Mon, Apr 10,
2017 at 9:11
AM, Tony
Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
Hi, Jatin<br>
<br>
Normally, we
use <a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="http://chat.sugarlabs.org" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="http://chat.sugarlabs.org" target="_blank">http://chat.sugarlabs.org</a> 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. <br>
<br>
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. <br>
<br>
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 <a href="http://download.sugarlabs.org" target="_blank">download.sugarlabs.org</a>
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 '<a href="http://translate.sugarlabs.org" target="_blank">translate.sugarlabs.org</a>'
with the
corresponding
POT file to
enable
localization.
We can get
help from
Chris Leonard
on this. <br>
<br>
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.<br>
<br>
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). <br>
<br>
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. <br>
<br>
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. <br>
<br>
You are wading
into a deep
and vast body
of water!<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942HOEnZb"><font color="#888888"><br>
<br>
Tony</font></span>
<div>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942h5"><br>
<br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942m_2297804042014618975moz-cite-prefix">On
04/10/2017
12:00 AM,
Jatin Dhankhar
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,
<div>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)</div>
<div><br>
</div>
<div>Should I
deploy the
same polls app
on
DigitalOcean
along with CI
pipeline and
branching
model in the
meantime with
code hosted on
Github ?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Jatin
Dhankhar</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Sat, Apr 8,
2017 at 6:28
AM, Tony
Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
Hi, Jatin<br>
<br>
I abbreviated
this thread
because I am
getting
complaints
from the list
that the
emails are too
long.<br>
<br>
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 <br>
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. <br>
The views.py
reads this
file and
builds the
view from the
jsons. <br>
<br>
So the app
consists of:<br>
urls.py<br>
views.py<br>
templates/<br>
base.html<br>
list.html<br>
activity.html<br>
<br>
with the data:<br>
fixtures/activities.json
<br>
icons/<br>
xo/<br>
<br>
The icons
directory has
the activity
icons (*.svg)<br>
The xo
directory has
the activity
bundles (*.xo)<br>
<br>
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.<br>
<br>
I have also
mentioned our
dialog to
Walter Bender
suggesting
that you could
set up your
working model
as <a href="http://activities3.sugarlabs.org" target="_blank">activities3.sugarlabs.org</a>.
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.<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942m_2297804042014618975HOEnZb"><font color="#888888"><br>
<br>
Tony</font></span><span><br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942m_2297804042014618975m_-2022019510050925157moz-cite-prefix">On
04/07/2017
12:23 AM,
Jatin Dhankhar
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,
<div><br>
</div>
<div>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. </div>
<div><br>
</div>
<div>Thanks.</div>
<div>Jatin
Dhankhar</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Thu, Apr 6,
2017 at 7:11
AM, Tony
Anderson <span dir="ltr"><<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net" target="_blank">tony_anderson@usa.net</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
Hi, Jatin<br>
<br>
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 (<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="https://www.djangoproject.com" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="https://www.djangoproject.com" target="_blank">https://www.djangoproject.com</a><wbr>/).
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 {{ <a href="http://activity.name" target="_blank">activity.name</a>
}}
transferring
information
from the view
to the
template.<br>
<br>
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.<br>
<br>
For example,
my project is
schoolsite. So
my setup looks
like:<br>
<br>
/library/schoolsite/schoolsite<br>
/library/schoolsite/aslo<br>
<br>
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. <br>
<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069m_6722767647619661501m_-7011079753232270224m_5089198513458135942m_2297804042014618975m_-2022019510050925157HOEnZb"><font color="#888888"> <br>
Tony</font></span></div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</span></div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
<br>
______________________________<wbr>_________________<br>
ASLO mailing
list<br>
<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-abbreviated" href="mailto:ASLO@lists.sugarlabs.org" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-abbreviated" href="mailto:ASLO@lists.sugarlabs.org" target="_blank">ASLO@lists.sugarlabs.org</a><br>
<a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="http://lists.sugarlabs.org/lis" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="http://lists.sugarlabs.org/lis" target="_blank">http://lists.sugarlabs.org/lis</a><wbr>tinfo/aslo<br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888">
<div><br>
</div>
-- <br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-m_5049279913999944072m_6307486910291391069gmail_signature">
<div dir="ltr">
<div><font><font>Walter
Bender</font></font><br>
<font><font>Sugar
Labs</font></font></div>
<div><font><font><a class="m_2017803824253690631m_1093523794728921624moz-txt-link-freetext" href="http://www.sugarlabs.org" target="_blank"></a><a class="m_2017803824253690631moz-txt-link-freetext" href="http://www.sugarlabs.org" target="_blank">http://www.sugarlabs.org</a></font></font><br>
<br>
</div>
</div>
</div>
</font></span></font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888"> </font></span></font></span></blockquote>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888"> <br>
</font></span></font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888"> </font></span></font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888">
<span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888"> </font></span></font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888">
</font></span></font></span></blockquote>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888">
</font></span></font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <span class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail-HOEnZb"><font color="#888888"> <br>
</font></span></font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> </font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> </font></span></blockquote>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <br>
</font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> </font></span></blockquote>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> </font></span></div>
<span class="m_2017803824253690631m_1093523794728921624HOEnZb"><font color="#888888"> <br>
<br clear="all">
<span class="m_2017803824253690631HOEnZb"><font color="#888888">
<div><br>
</div>
-- <br>
<div class="m_2017803824253690631m_1093523794728921624m_2408988921113010574gmail_signature">
<div dir="ltr">
<div><font><font>Walter
Bender</font></font><br>
<font><font>Sugar Labs</font></font></div>
<div><font><a href="http://www.sugarlabs.org" target="_blank"><font></font></a><font><a class="m_2017803824253690631moz-txt-link-freetext" href="http://www.sugarlabs.org" target="_blank">http://www.sugarlabs.org</a></font></font><br>
<br>
</div>
</div>
</div>
</font></span></font></span></div>
<span class="m_2017803824253690631HOEnZb"><font color="#888888"> </font></span></div>
<span class="m_2017803824253690631HOEnZb"><font color="#888888">
</font></span></blockquote>
<span class="m_2017803824253690631HOEnZb"><font color="#888888">
<br>
</font></span></div>
<span class="m_2017803824253690631HOEnZb"><font color="#888888"> </font></span></blockquote>
<span class="m_2017803824253690631HOEnZb"><font color="#888888"> </font></span></div>
<span class="m_2017803824253690631HOEnZb"><font color="#888888"> <br>
<br clear="all"><span class="HOEnZb"><font color="#888888">
<div><br>
</div>
-- <br>
<div class="m_2017803824253690631m_1093523794728921624gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div><font><font>Walter Bender</font></font><br>
<font><font>Sugar Labs</font></font></div>
<div><font><a href="http://www.sugarlabs.org" target="_blank"><font>http://www.sugarlabs.org</font></a></font><br>
<br>
</div>
</div>
</div>
</font></span></font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
</font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
</font></span></div><span class="HOEnZb"><font color="#888888">
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="m_2017803824253690631gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div><font><font>Walter Bender</font></font><br>
<font><font>Sugar Labs</font></font></div>
<div><font><a href="http://www.sugarlabs.org" target="_blank"><font>http://www.sugarlabs.org</font></a></font><br>
<br>
</div>
</div>
</div>
</font></span></div>
</div>
</blockquote>
<br>
</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font><font>Walter Bender</font></font><br><font><font>Sugar Labs</font></font></div><div><font><a href="http://www.sugarlabs.org" target="_blank"><font>http://www.sugarlabs.org</font></a></font><br><a href="http://www.sugarlabs.org" target="_blank"><font></font></a><br></div></div></div>
</div></div>