<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi, Jatin<br>
    <br>
    Normally, we use <a class="moz-txt-link-freetext" href="http://chat.sugarlabs.org">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 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' 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!<br>
    <br>
    Tony<br>
    <br>
    <div class="moz-cite-prefix">On 04/10/2017 12:00 AM, Jatin Dhankhar
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAD+LdAHaSJ9cX2u=1iD52SXGptoXpJ6KsG4S-QwK8Y7VpeDx9w@mail.gmail.com"
      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 moz-do-not-send="true"
              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, 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
                moz-do-not-send="true"
                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="HOEnZb"><font color="#888888"><br>
                  <br>
                  Tony</font></span><span class=""><br>
                <div class="m_-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
                          moz-do-not-send="true"
                          href="mailto:tony_anderson@usa.net"
                          target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:tony_anderson@usa.net">tony_anderson@usa.net</a></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, 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 moz-do-not-send="true"
                            class="m_-2022019510050925157m_6069057648541672779moz-txt-link-freetext"
                            href="https://www.djangoproject.com/"
                            target="_blank">https://www.djangoproject.com<wbr>/</a>).


                          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
                            moz-do-not-send="true"
                            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_-2022019510050925157HOEnZb"><font
                              color="#888888"> <br>
                              Tony</font></span></div>
                      </blockquote>
                    </div>
                  </div>
                </blockquote>
                <br>
              </span></div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>