[Sugar-devel] Brief summary of some of the CodeCamp activities

Bastien bzg at altern.org
Tue Sep 13 10:23:51 EDT 2011

Dear all,

here is a brief summary of some of our sunday activities at the 
SugarCamp.  Thanks to all who participated!


                     SugarCamp -- CodeCamp -- summary

Daniel Drake, Raul Gutierrez and Simon Schampijer - remove hippocanvas

Daniel Drake, Raul Gutierrez and Simon Schampijer worked on the
refactoring of Sugar internals to remove a dated component known as
hippocanvas.  This is a prerequisite for a follow-on project to move
Sugar to the GTK3 graphical interface library, which is essential for
the future of Sugar. Great progress was made this weekend, and the code
is expected to be included in Sugar soon.

Related link: [http://wiki.sugarlabs.org/go/Features/GTK3]

Christoph Derndorfer - gathering materials for Haiti 

I spent the day working on materials for the ongoing efforts in Haiti
with the two somewhat tangible outcomes I have being a 1-page
information sheet for parents and teachers and a small .xol content
bundle with a handful of Paris photos available under a CC license on
Flickr. I got some feedback on the information sheet from Mitch who had
worked on the eKindling project in the Philippines and then sent out a
first draft to the Haiti team. With regard to the content bundle I was
mainly interested in seeing how long it would take to manually select
some suitably licensed photos and package them up for use in an offline

Bastien Guerry - reformat the OLPC Deployment Guide 

The OLPC Wiki gives access to the PDF version of the [2011 OLPC
Deployment Guide].  I took this guide, converted it to plain text,
structured the plain text files into org-mode files, then stored these
files into a [git repo].

>From this repository, I splitted the guide into small files (one for
each section), which makes it easy to export those files into mediawiki
syntax and ODT documents (see the =split/mw/= and =split/odt/=
directories in the repo.)  Mediawiki files will help putting the guide
on the OLPC Wiki, and ODT files will help translating the guide into
other languages.  From OLPC France's experience, users find it easier to
translate using ODT files than using a wiki interface.

Since this repo is in org-mode, you can also export it to HTML -- this
can be useful if you want to create a non-wiki HTML version that you
want to regularily update and publish.  This HTML version can come with
comments (using services like [disqus]).

I also illustrated the PDF export of Python code, using LaTeX and
pygments to have the code highlighted (see for example [this PDF]).
Such a git repo could be useful for gathering development-related
documentation of Sugar.

PS: I just [wikified the 2011 OLPC Deployment Guide] on OLPC's wiki.

[2011 OLPC Deployment Guide]: http://wiki.laptop.org/go/File:OLPC_Deployment_Guide_2011.pdf
[git repo]: https://github.com/bzg/OLPC-Deployment--community--guide
[disqus]: http://disqus.com/
[this PDF]: http://lumiere.ens.fr/~guerry/u/sugar_python.pdf
[wikified the 2011 OLPC Deployment Guide]: http://wiki.laptop.org/go/Deployment_Guide_2011

Florent Pigout - Help start a new activity 

Yesterday at the sugarcamp #2 2011 in Paris, I wrote a simple tools that
helps to start new activity projects. It's based on `paster create`
command and it generates activity skeletons according given templates
(pygtk, pygame...)

Here is how to install the creactivity tools (in development only for

  ~$ git clone git://git.sugarlabs.org/creactivity/creactivity.git
  ~$ cd creactivity
  ~$ python setup.py develop

Soon on Pypi, then =pip install -U creactivity= should be enough.

Here is the list of the available activity templates:

  ~$ paster create --list-templates
  Available templates:
    basic_package:   A basic setuptools-enabled package
    creactigame:     An activty template for a sugar app
    creactivistore:  An activty template for a sugar app
    creactivity:     An activty template for a sugar app
    creactiweb:      A webapp activity template for a sugar app
    paste_deploy:    A web application deployed through paste.deploy

Here is how we can initialize a new projet skeleton, with pygame for

  ~$ paster create -t creactigame <project_name>
  Selected and implied templates:
    Creactivity#creactigame  An activty template for a sugar app
    egg:      mygame
    package:  mygame
    project:  mygame
  Creating template creactigame
  Creating directory ./mygame
    Recursing into +package+
      Creating ./mygame/mygame/
      Copying __init__.py to ./mygame/mygame/__init__.py
      Copying activity.py_tmpl to ./mygame/mygame/activity.py
    Recursing into +package+.egg-info
      Creating ./mygame/mygame.egg-info/
      Copying blank to ./mygame/mygame.egg-info/blank
    Copying MANIFEST_tmpl to ./mygame/MANIFEST
    Recursing into activity
      Creating ./mygame/activity/
      Copying activity-+package+.svg to ./mygame/activity/
      Copying activity.info_tmpl to ./mygame/activity/activity.info
    Recursing into docs
      Creating ./mygame/docs/
      Copying Makefile to ./mygame/docs/Makefile
      Recursing into build
        Creating ./mygame/docs/build/
        Copying blank to ./mygame/docs/build/blank
      Recursing into source
        Creating ./mygame/docs/source/
        Recursing into +package+
          Creating ./mygame/docs/source/mygame/
          Copying index.rst to ./mygame/docs/source/mygame/index.rst
        Recursing into _static
          Creating ./mygame/docs/source/_static/
          Copying blank to ./mygame/docs/source/_static/blank
        Recursing into _templates
          Creating ./mygame/docs/source/_templates/
          Copying blank to ./mygame/docs/source/_templates/blank
        Copying conf.py_tmpl to ./mygame/docs/source/conf.py
        Copying index.rst_tmpl to ./mygame/docs/source/index.rst
        Copying sugar.png to ./mygame/docs/source/sugar.png
    Recursing into locale
      Creating ./mygame/locale/
      Recursing into en
        Creating ./mygame/locale/en/
        Recursing into LC_MESSAGES
          Creating ./mygame/locale/en/LC_MESSAGES/
          Copying blank to ./mygame/locale/en/LC_MESSAGES/blank
      Recursing into fr
        Creating ./mygame/locale/fr/
        Recursing into LC_MESSAGES
          Creating ./mygame/locale/fr/LC_MESSAGES/
          Copying blank to ./mygame/locale/fr/LC_MESSAGES/blank
    Recursing into po
      Creating ./mygame/po/
      Copying app.fil_tmpl to ./mygame/po/app.fil
      Copying create_pot.sh_tmpl to ./mygame/po/create_pot.sh
      Copying gen_mo.sh_tmpl to ./mygame/po/gen_mo.sh
      Copying mki18n.py to ./mygame/po/mki18n.py
    Copying setup.py to ./mygame/setup.py
    Recursing into sugargame
      Creating ./mygame/sugargame/
      Copying __init__.py to ./mygame/sugargame/__init__.py
      Copying canvas.py to ./mygame/sugargame/canvas.py
      Copying event.py to ./mygame/sugargame/event.py
  Running /home/florent/Public/Dev/Python/OLPC/oenv/bin/python setup.py

Note new project contains sphinx doc and po folders, ready to use:

  ~$ cd mygame/doc
  ~$ make html ...
  ~$ cd mygame/po
  ~$ sh create_pot.sh
  ~$ sh gen_mo.sh

.. Some template are experimental proposals like web and triplestore
template. Don't hesitate to send emails for more info about creativity or
its templates.


More information about the Sugar-devel mailing list