https://wiki.sugarlabs.org/api.php?action=feedcontributions&user=Svineet&feedformat=atomSugar Labs - User contributions [en]2024-03-29T06:37:20ZUser contributionsMediaWiki 1.35.2https://wiki.sugarlabs.org/index.php?title=New_Developer&diff=91235New Developer2014-01-25T08:37:00Z<p>Svineet: </p>
<hr />
<div>== Developing for Sugar ==<br />
So you want to contribute to Sugar in code? You've come to the right place. There is always work to do, and we appreciate anyway you can help.<br />
<br> There are two ways you can contribute to Sugar in code - <br />
* Contribute to the Sugar shell itself or the related components(like toolkit)<br />
* Contribute to the Activities<br />
<br />
'''Note:''' This page isn't complete. Please add whatever seems important.<br />
<br />
== Learning required skills ==<br />
Here is a list of recommended resources to learn -<br />
* Python - [http://www.diveintopython.net/toc/index.html Dive into Python], [http://learnpythonthehardway.org/book/ Learn Python the Hard Way]<br />
* git - [http://git-scm.com/book Pro Git book]<br />
* GTK3 for Python - [http://python-gtk-3-tutorial.readthedocs.org/en/latest/ Read the Docs GTK+3 book]<br />
<br />
== Contributing to Sugar shell and related components ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* C <br />
* GTK+ 3<br />
* git<br />
<br />
=== Resources ===<br />
The code for the Sugar shell is on Github. You will need a Github account to contribute and you need to know git, a version control system. <br/><br />
All repositories in Sugar can be found at our [https://github.com/sugarlabs Github Organization]. See the [http://developer.sugarlabs.org/ developer] website for more information. <br><br />
<br />
Also see [[Development Team]] page on this wiki for more information.<br />
<br />
=== Work to do ===<br />
Looking for something to do? Check these out - <br />
* [https://github.com/ignaciouy/sugar-irc/wiki/Top-Ten-Tickets-This-Week Top Ten Bugs this week]<br />
* [http://bugs.sugarlabs.org/ Bug Tracker]<br />
<br />
== Contributing to Activities ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* GTK+ 3<br />
* git<br />
<br />
=== Resources ===<br />
You can get started using this manual - http://en.flossmanuals.net/make-your-own-sugar-activities/ <br><br />
'''Note:''' This manual is a bit outdated, but most of the information still applies. <br><br />
<br />
You can obtain source code from our Gitorious instance - http://git.sugarlabs.org/ <br><br />
Create an account there, and proceed. It is very much similar to Github.<br />
<br />
See the [https://git.sugarlabs.org/hello-world hello-world] activity for basic source code of an activity. <br><br />
There are many such hello world activities, [https://git.sugarlabs.org/search?q=hello+world search for them on Gitorious]<br />
<br />
=== Work to do ===<br />
Looking for work? Check these out - <br />
* [http://bugs.sugarlabs.org/ Bug Tracker]</div>Svineethttps://wiki.sugarlabs.org/index.php?title=New_Developer&diff=91234New Developer2014-01-25T08:26:26Z<p>Svineet: /* Contributing to Activities */</p>
<hr />
<div>== Developing for Sugar ==<br />
So you want to contribute to Sugar in code? You've come to the right place. There is always work to do, and we appreciate anyway you can help.<br />
<br> There are two ways you can contribute to Sugar in code - <br />
* Contribute to the Sugar shell itself or the related components(like toolkit)<br />
* Contribute to the Activities<br />
<br />
'''Note:''' This page isn't complete. Please add whatever seems important.<br />
<br />
== Learning required skills ==<br />
Here is a list of recommended resources to learn -<br />
* Python - [http://www.diveintopython.net/toc/index.html Dive into Python], [http://learnpythonthehardway.org/book/ Learn Python the Hard Way]<br />
* git - [http://git-scm.com/book Pro Git book]<br />
* GTK3 for Python - [http://python-gtk-3-tutorial.readthedocs.org/en/latest/ Read the Docs GTK+3 book]<br />
<br />
== Contributing to Sugar shell and related components ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* C <br />
* GTK+ 3<br />
* git<br />
<br />
The code for the Sugar shell is on Github. You will need a Github account to contribute and you need to know git, a version control system. <br/><br />
All repositories in Sugar can be found at our [https://github.com/sugarlabs Github Organization]. See the [http://developer.sugarlabs.org/ developer] website for more information. <br><br />
Looking for something to do? Check these out - <br />
* [https://github.com/ignaciouy/sugar-irc/wiki/Top-Ten-Tickets-This-Week Top Ten Bugs this week]<br />
* [http://bugs.sugarlabs.org/ Bug Tracker]<br />
<br />
== Contributing to Activities ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* GTK+ 3<br />
* git<br />
<br />
You can get started using this manual - http://en.flossmanuals.net/make-your-own-sugar-activities/ <br><br />
<br />
'''Note:''' This manual is a bit outdated, but most of the information still applies. <br><br />
You can obtain source code from our Gitorious instance - http://git.sugarlabs.org/ <br><br />
Create an account there, and proceed. It is very much similar to Github.<br />
<br />
Looking for work? Check these out - <br />
* [http://bugs.sugarlabs.org/ Bug Tracker]</div>Svineethttps://wiki.sugarlabs.org/index.php?title=New_Developer&diff=91233New Developer2014-01-25T08:20:20Z<p>Svineet: /* Contributing to Activities */</p>
<hr />
<div>== Developing for Sugar ==<br />
So you want to contribute to Sugar in code? You've come to the right place. There is always work to do, and we appreciate anyway you can help.<br />
<br> There are two ways you can contribute to Sugar in code - <br />
* Contribute to the Sugar shell itself or the related components(like toolkit)<br />
* Contribute to the Activities<br />
<br />
'''Note:''' This page isn't complete. Please add whatever seems important.<br />
<br />
== Learning required skills ==<br />
Here is a list of recommended resources to learn -<br />
* Python - [http://www.diveintopython.net/toc/index.html Dive into Python], [http://learnpythonthehardway.org/book/ Learn Python the Hard Way]<br />
* git - [http://git-scm.com/book Pro Git book]<br />
* GTK3 for Python - [http://python-gtk-3-tutorial.readthedocs.org/en/latest/ Read the Docs GTK+3 book]<br />
<br />
== Contributing to Sugar shell and related components ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* C <br />
* GTK+ 3<br />
* git<br />
<br />
The code for the Sugar shell is on Github. You will need a Github account to contribute and you need to know git, a version control system. <br/><br />
All repositories in Sugar can be found at our [https://github.com/sugarlabs Github Organization]. See the [http://developer.sugarlabs.org/ developer] website for more information. <br><br />
Looking for something to do? Check these out - <br />
* [https://github.com/ignaciouy/sugar-irc/wiki/Top-Ten-Tickets-This-Week Top Ten Bugs this week]<br />
* [http://bugs.sugarlabs.org/ Bug Tracker]<br />
<br />
== Contributing to Activities ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* GTK+ 3<br />
* git<br />
<br />
You can get started using this manual - http://en.flossmanuals.net/make-your-own-sugar-activities/ <br><br />
'''Note:''' This manual is a bit outdated, but most of the information still applies. <br><br />
You can obtain source code from our Gitorious instance - http://git.sugarlabs.org/ <br><br />
Create an account there, and proceed. It is very much similar to Github.<br />
<br />
Looking for work? Check these out - <br />
* [http://bugs.sugarlabs.org/ Bug Tracker]</div>Svineethttps://wiki.sugarlabs.org/index.php?title=New_Developer&diff=91232New Developer2014-01-25T08:19:02Z<p>Svineet: Created page with "== Developing for Sugar == So you want to contribute to Sugar in code? You've come to the right place. There is always work to do, and we appreciate anyway you can help. <br> ..."</p>
<hr />
<div>== Developing for Sugar ==<br />
So you want to contribute to Sugar in code? You've come to the right place. There is always work to do, and we appreciate anyway you can help.<br />
<br> There are two ways you can contribute to Sugar in code - <br />
* Contribute to the Sugar shell itself or the related components(like toolkit)<br />
* Contribute to the Activities<br />
<br />
'''Note:''' This page isn't complete. Please add whatever seems important.<br />
<br />
== Learning required skills ==<br />
Here is a list of recommended resources to learn -<br />
* Python - [http://www.diveintopython.net/toc/index.html Dive into Python], [http://learnpythonthehardway.org/book/ Learn Python the Hard Way]<br />
* git - [http://git-scm.com/book Pro Git book]<br />
* GTK3 for Python - [http://python-gtk-3-tutorial.readthedocs.org/en/latest/ Read the Docs GTK+3 book]<br />
<br />
== Contributing to Sugar shell and related components ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* C <br />
* GTK+ 3<br />
* git<br />
<br />
The code for the Sugar shell is on Github. You will need a Github account to contribute and you need to know git, a version control system. <br/><br />
All repositories in Sugar can be found at our [https://github.com/sugarlabs Github Organization]. See the [http://developer.sugarlabs.org/ developer] website for more information. <br><br />
Looking for something to do? Check these out - <br />
* [https://github.com/ignaciouy/sugar-irc/wiki/Top-Ten-Tickets-This-Week Top Ten Bugs this week]<br />
* [http://bugs.sugarlabs.org/ Bug Tracker]<br />
<br />
== Contributing to Activities ==<br />
These are the main skills required for developing Sugar shell and toolkit - <br />
* Python<br />
* GTK+ 3<br />
* git<br />
<br />
You can get started using this manual - http://en.flossmanuals.net/make-your-own-sugar-activities/ <br><br />
'''Note:''' This manual is a bit outdated, but most of the information still applies. <br><br />
You can obtain source code from our Gitorious instance - http://git.sugarlabs.org/ <br><br />
Create an account there, and proceed. It is very much similar to Github.</div>Svineethttps://wiki.sugarlabs.org/index.php?title=Mentors&diff=91231Mentors2014-01-25T08:04:36Z<p>Svineet: </p>
<hr />
<div>Here are some people who would be happy to help you get started with sugar:<br />
<br />
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"<br />
|-style="background:#787878; color: white;"<br />
! Name !! IRC nick !! Github<br />
|-<br />
| Daniel Narvaez || dnarvaez || dnarvaez<br />
|-<br />
| Sam Parkinson || SAMdroid || SAMdroid<br />
|-<br />
| Walter Bender || walterbender || walterbender<br />
|-<br />
| Sai Vineet || svineet || svineet<br />
|}<br />
<br />
'''Please add yourself''' if you feel you may be able to help people.<br />
<br />
== What is IRC? ==<br />
IRC is Internet Relay Chat. You can get a tutorial [http://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial here] <br/><br />
A good IRC client is [https://kiwiirc.com/client/ Kiwi IRC], as it is web based, and you don't need to download anything.</div>Svineethttps://wiki.sugarlabs.org/index.php?title=Mentors&diff=91230Mentors2014-01-25T08:02:58Z<p>Svineet: </p>
<hr />
<div>Here are some people who would be happy to help you get started with sugar:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! IRC nick !! Github<br />
|-<br />
| Daniel Narvaez || dnarvaez || dnarvaez<br />
|-<br />
| Sam Parkinson || SAMdroid || SAMdroid<br />
|-<br />
| Walter Bender || walterbender || walterbender<br />
|-<br />
| Sai Vineet || svineet || svineet<br />
|}<br />
<br />
'''Please add yourself''' if you feel you may be able to help people.<br />
<br />
== What is IRC? ==<br />
IRC is Internet Relay Chat. You can get a tutorial [http://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial here] <br/><br />
A good IRC client is [https://kiwiirc.com/client/ Kiwi IRC], as it is web based, and you don't need to download anything.</div>Svineethttps://wiki.sugarlabs.org/index.php?title=Mentors&diff=91229Mentors2014-01-25T08:00:32Z<p>Svineet: </p>
<hr />
<div>Here are some people who would be happy to help you get started with sugar:<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! IRC nick<br />
|-<br />
| Daniel Narvaez || dnarvaez<br />
|-<br />
| Sam Parkinson || SAMdroid<br />
|-<br />
| Walter Bender || walterbender<br />
|-<br />
| Sai Vineet || svineet<br />
|}<br />
<br />
'''Please add yourself''' if you feel you may be able to help people.<br />
<br />
== What is IRC? ==<br />
IRC is Internet Relay Chat. You can get a tutorial [http://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial here] <br/><br />
A good IRC client is [https://kiwiirc.com/client/ Kiwi IRC], as it is web based, and you don't need to download anything.</div>Svineethttps://wiki.sugarlabs.org/index.php?title=Activity_Team&diff=91118Activity Team2014-01-07T15:55:19Z<p>Svineet: </p>
<hr />
<div><noinclude><div class="noprint">{{TeamHeader|Activity Team}}</div></noinclude><br />
<br />
==Mission==<br />
<br />
{{:Activity Team/Mission}}<br />
<br />
==Tips for Activity Developers==<br />
<br />
=== Ask your 'newbie' question on-line ===<br />
<br />
Join [http://en.wikipedia.org/wiki/IRC IRC] channel [irc://irc.freenode.net/sugar #sugar] (e.g. via [http://webchat.freenode.net/?randomnick=1&prompt=1&channels=sugar web client]) and ask your question about activity, or sugar core, development process. Also browse chat [http://meeting.sugarlabs.org/sugar logs].<br />
<br />
=== Creating a new activity ===<br />
<br />
See [[Activity Team/Creating a New Activity|Creating a New Activity]] and [[Activity Team/Resources|Activity Team Resources]].<br />
<br />
=== Automated Testing ===<br />
<br />
See [[Automated Activity Testing]]<br />
<br />
=== Problems logging in to Gitorious? ===<br />
<br />
Gitorious users are sometimes having their IP addresses incorrectly blacklisted at http://git.sugarlabs.org/. If your SSH key is rejected with the error "Access denied or bad repository path", please open a ticket by emailing git AT sugarlabs DOT org.<br />
<br />
===Port to GTK3===<br />
<br />
We have hints on [[Features/GTK3/Porting|porting from GTK2 to GTK3]].<br />
<br />
===Move an activity===<br />
<br />
We need help moving activities over to Sugar Labs from OLPC's servers. This is a great way to get started helping out the Activity Team. See [[Activity Team/How_to_migrate_from_OLPC]] for instructions, and [[Activity Team/Activity Status]] for the list of activities that need to be moved.<br />
<br />
While moving activities, it would be great to check that the .pot files are up to date and the MANIFEST is correct. This will really help out the distro packagers.<br />
<br />
===Cross-platform compatibility===<br />
<br />
As Sugar is integrated into more distros and the hardware base expands, it is important to keep Activity developers informed of any issues they need be aware of. For example, when Sugar was only expected to run on the XO-1 laptop, it was safe to assume that the display was always 1200x900. <br />
<br />
The [[Activity Team/Compatibility Tips|Compatibility Tips]] page is a place to accumulate tips.<br />
<br />
===Migrating from GTK2 to GTK3===<br />
<br />
The Sugar platform is migrating from GTK2 to GTK3 to stay relevant with upstream changes and benefit from their efforts. Sugar 0.96 (available in OLPC 12.1 development builds) includes support for a transition period, where both GTK2 and GTK3 activities can coexists, but new Sugar features will only be added to the GTK3 toolkit (e.g. improvements in touchscreen support). Have a read through the [http://wiki.sugarlabs.org/go/Features/GTK3/Porting migration notes], and the [http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html GTK3 Python tutorials] to get a feel for how things need to be changed. New activities should be developed with GTK3, unless you need to support an existing deployment today using an older build.<br />
<br />
===Modify Activities===<br />
<br />
A guide has been written describing how to make simple modifications to popular Sugar activities. Examples include adding sounds to TamTam, blocks to TurtleArt, buttons to Calculate, etc.<br />
<br />
* [[Activity Team/Modifying an Activity]]<br />
<br />
===Remote control your XO===<br />
<br />
[[Activity Team/Remote control your XO|Remote control your XO]] from your development machine can be handy while developing an activity.<br />
<br />
===Internationalization===<br />
<br />
We use '''[http://docs.python.org/library/gettext.html gettext]''' to internationalize activities. The basic steps are:<br />
<br />
In your Python code:<br />
from gettext import gettext as _<br />
<br />
Hence forth, encapsulate strings that you want translated in _():<br />
_('string to be translated')<br />
<br />
Run <code>setup.py</code> to generate a POT file for your project. This file will contain a reference to all of the encapsulated strings.<br />
<br />
From here, you need to:<br />
# <code>git add</code>, <code>commit</code>, and <code>push</code> the POT file to git<br />
# request that your project be added to the pootle server (by filing a task to the localization component on bugs.sugarlabs.org)<br />
# add pootle as a committer to your project on gitorious<br />
<br />
Once translations are committed to your project:<br />
# do a <code>git pull</code> to get a local copy of the .po files<br />
# run <code>setup.py fix_manifest</code> to create the .mo files used at run time<br />
Details can be found on the [[Translation Team/i18n Best Practices]] page.<br />
<br />
===General overview of git===<br />
<br />
Read the brief overview below but then '''start''' with our <br />
* [[Activity Team/Git Tutorial|git tutorial]].<br />
<br />
====glossary====<br />
<br />
;VCS: Version Control System &mdash; keeps track of changes to a set of files.<br />
;git: the distributed VCS used by Sugar Labs<br />
;commit: set of changes to files tracked by a VCS, accompanied by metadata (author, description, etc.)<br />
;diff/patch: (usually textual) representation of changes. These are also the names of specific tools used to create/apply these representations of changes.<br />
;repository: storage place for commits, usually of a certain piece of software<br />
;gitorious: software for hosting git repositories, including a web interface for administration<br />
;git.sugarlabs.org: server hosted by Sugar Labs running gitorious<br />
<br />
====Setup====<br />
(Once per machine you're working on)<br />
git clone git://git.sugarlabs.org/whatever/mainline.git whatever<br />
<br />
====Regular usage====<br />
cd whatever<br />
[hack away and test your changes]<br />
git diff<br />
[review your changes, go back to hacking if you notice a mistake]<br />
git status<br />
git add NameOfNewFile # if you created any file you want included<br />
git commit -a<br />
[describe your changes - by convention the first line is a summary and the remaining lines are long description]<br />
[start again at hacking if you're offline]<br />
git log origin/master..master # shows you all commits not pushed yet<br />
git push # if/once you are online<br />
<br />
Git offers a lot more commands and features that can make your life<br />
easier, but it's best to start off small and use only those mentioned<br />
above. It's very easy to get confused if you're unfamiliar with git.<br />
<br />
Even if you use the more advanced features, git does a pretty good job at<br />
allowing you to recover from your mistakes.<br />
So if you ever mess up and don't know how to fix it yourself, please<br />
stop (at least for me that's usually the hardest part ;) ), try to<br />
recollect the exact sequence of actions (e.g. from shell history) and ask<br />
for help.<br />
<br />
----<br />
<br />
Once you have [[Activity Team/How_to_migrate_from_OLPC|migrated]] your project, you may have some more detailed [[Activity Team/Git FAQ|questions regarding how Sugar Labs uses git]], particularly in regard to patch management.<br />
<br />
----<br />
<br />
{{:Activity Team/Git}}<br />
<br />
== Maintainers ==<br />
<br />
{{:Activity Team/Maintainers}}<br />
<br />
== Testers ==<br />
<br />
Please see the [[Features/Soas_V4/ASLOxo_Activity_Test_Table|Activity Test-table page]] for tester information.<br />
<br />
== Background information ==<br />
<br />
=== Sugar Activities ===<br />
<br />
There is an [[Activities]] page where we highlight Sugar activities in the wiki. (We need to discuss how best to manage the content of this page as well as how to manage the activity-specific sub-pages.)<br />
<br />
===Sugar [[Human Interface Guidelines]]===<br />
<br />
The [[Human_Interface_Guidelines|Sugar Human Interface Guidelines]] content has also been migrated to Sugar Labs. This guide is a critical resource when designing activities. <br />
: An [[Activity Team/Project Ideas#Activity HIG|Activity HIG]] discussion<br />
<br />
===Sugar Almanac===<br />
<br />
The [[Development Team/Almanac|Sugar Almanac]] content has been migrated to Sugar Labs. It's a great, quick reference when building python Activities.<br />
<br />
===activities.sugarlabs.org===<br />
<br />
The [http://activities.sugarlabs.org Sugar Activity Library] is our user-facing portal for Sugar activities. The site uses the back-end Mozilla built for Firefox and Thunderbird extensions at addons.mozilla.org, called Remora. To help out, check out [[Activity Library]].<br />
<br />
===sugar-widgets library===<br />
<br />
See [[Development Team/sugar-port]].<br />
<br />
===sugar-sprites library===<br />
<br />
See [[Activity Team/Sugar-sprites]]<br />
<br />
== Misc. ==<br />
<br />
===Mime types and file suffixes===<br />
<br />
You can associate your activity with mime types by including a mime_types entry in the activity/activity.info file; e.g.<br />
<br />
mime_types = text/plain;text/x-python;text/x-logo;text/x-svg;application/xml;text/html;text/xml;image/svg+xml<br />
<br />
You can associate your activity with a file suffix by including a mimetypes.xml file in your activity subdirectory:<br />
<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"><br />
<mime-type type="application/x-turtle-art"><br />
<comment xml:lang="en">Turtle Art</comment><br />
<glob pattern="*.ta"/><br />
</mime-type><br />
</mime-info><br />
<br />
'''Note:''' You cannot just copy your activity into the ~/Activities directory. You have to install it as a .xo bundle or using 'setup.py install' (note that the latter is tricky as the command might get your paths messed up). This installation step will create a file --> ~/.local/share/mime/packages/<your-bundle_id>.xml<br />
<br />
If your activity does not register any mimetype, then it won't matter.<br />
<br />
If your activity was already properly installed (with sugar-install-bundle), then copying new source into Activities will not be affected by this problem unless the new source registers a new mimetype that the old source did not.<br />
<br />
=== Activity Team users on activities.sugarlabs.org ===<br />
<br />
Fake emails to identify users:<br />
* ''activity.team@sugarlabs.org'' activities that are supported by Activity Team<br />
* ''trash@dev.null'' activities to remove<br />
<br />
===setup.py===<br />
<br />
There is a handy utility that is a standard part of Sugar Activity bundles, setup.py. You should use it to create and update POT files, generate a MANIFEST file and update locale files, and create .xo and .tar files for distribution.<br />
<br />
./setup.py genpot # generates or updates the POT file used by gettext for internationalization<br />
./setup.py build<br />
./setup.py fix_manifest # updates the MANIFEST file and generates or updates the locale files used for internationalization<br />
./setup.py dist_xo # creates an .xo bundle from your project<br />
./setup.py dist_source # creates a .tar.gz file from your project<br />
<br />
===Packaging activities discussion=== <br />
<br />
We are currently discussing how to package activities in the future, in order to support all distributions. Please add your comments to the following pages.<br />
* [[Activity Team/Packaging|Packaging]]<br />
** should we remove "Activities" section from that page; all issues where moved to Activity_Status page [[User:Alsroot|alsroot]] 10:33, 16 January 2009 (UTC)<br />
* [[Activity Team/Packaging Ideas|Packaging ideas]]<br />
<br />
=== The Sugar Control Panel ===<br />
<br />
While not strictly in the realm of Activities, it may be useful on occasion to add a section to the Sugar Control Panel. [[Activity Team/Control Panel|Things to keep in mind]].<br />
<br />
=== A typical update cycle ===<br />
<br />
Anyone can contribute a patch to a Sugar Activity. The typical work cycle involves an interaction with the activity (project) maintainer as follows:<br />
# make a clone (anyone)<br />
# make your changes (anyone)<br />
# mail your patch to sugar_devel (anyone)<br />
# make changes as per suggestions by the project maintainer and developer community (anyone)<br />
# push your changes (anyone)<br />
# request a merge (anyone)<br />
# write release notes (anyone)<br />
# tag the new version in git (project maintainer)<br />
# create the .xo and .tar files (project maintainer)<br />
# upload .tar to download.sugarlabs.org (project maintainer)<br />
# upload .xo to activities.sugarlabs.org (project maintainer)<br />
# update wiki documentation (anyone)<br />
<br />
=== OLPC XO game buttons ===<br />
<br />
The game buttons on the OLPC XO are accessible:<br />
* The left-side buttons map to KP_Up, KP_Right, KP_Down, and KP_Left<br />
* The right-side buttons map to KP_Page_Up (o), KP_End (✓), KP_Page_Down (×), and KP_Home (◽)<br />
<br />
=== The Sugar Object Chooser ===<br />
<br />
The Object Chooser is the activity-level user interface to the Journal. Examples and caveats are found [[Activity_Team/Object_Chooser|here]].<br />
<br />
==[[Activity Team/Project Ideas|Project Ideas]]==<br />
<br />
The Activity Team always needs project ideas and suggestions. Post your ideas to [[Activity Team/Project Ideas]]. <br />
<br />
If you see something here you would like to help with, please [[Activity Team/Contacts|contact us]].<br />
<br />
[[User:Wade|Wade]] 17:19, 13 January 2009 (UTC)<br />
<br />
==Additional resources==<br />
<br />
Additional resources may be found [[Activity_Team/Resources|here]].<br />
<br />
==Sugar Activity development courses==<br />
<br />
There are university- and secondary-school-level courses being taught around Sugar development. Several of the syllabi are on line:<br />
<br />
* http://wiki.paraguayeduca.org/index.php/Curso_Sugar_FPUNA is being adapted by UNA<br />
* http://teachingopensource.org/index.php/RIT/The_Course is being taught at RIT<br />
<br />
==Meetings==<br />
<br />
Please check [[/Meetings]] for meeting schedules/logs. <br />
<br />
== Moving to Sugar Labs ==<br />
<br />
A few notes re moving to the Sugar Labs infrastructure:<br />
<br />
* use git init to create a new project unless it already exists.<br />
* use <code>setup.py dist_source</code> to make the source package associated with your project.<br />
* source packages now go in:<br />
download.sugarlabs.org:/srv/www-sugarlabs/download/sources/<br />
<br />
: from there, if your project (if it is an Activity) probably belongs in the honey subdirectory, e.g.,<br />
download.sugarlabs.org:/srv/www-sugarlabs/download/sources/honey/Abacus/<br />
<br />
: If your project is part of the Sugar core, it goes in sucrose/fructose/ (for core Activities) or sucrose/glucose (for core modules), e.g.,<br />
download.sugarlabs.org:/srv/www-sugarlabs/download/sources/fructore/TurtleArt/<br />
download.sugarlabs.org:/srv/www-sugarlabs/download/sources/glucose/sugar-toolkit/<br />
<br />
* don't forget to update addons as well!!<br />
activities.sugarlabs.org<br />
<br />
* and to copy the tar file to download.sugarlabs.org<br />
download.sugarlabs.org:/download/sources/honey/...<br />
download.sugarlabs.org:/download/sources/sucrose/fructose/...<br />
<br />
== Subpages ==<br />
{{Special:PrefixIndex/{{PAGENAME}}/}}<br />
<br />
[[Category:Activity Team]]<br />
[[Category:Team]]</div>Svineethttps://wiki.sugarlabs.org/index.php?title=Automated_Activity_Testing&diff=91117Automated Activity Testing2014-01-07T15:52:56Z<p>Svineet: Created page with "Sugar toolkit now has support for Automated Activity Testing. This page lists the various aspects of Activity Testing. The tests are supposed to be organized into the <tt>tes..."</p>
<hr />
<div>Sugar toolkit now has support for Automated Activity Testing. This page lists the various aspects of Activity Testing.<br />
<br />
The tests are supposed to be organized into the <tt>tests</tt> directory inside the bundle path. Inside this there are two subdirectories - <tt>integration</tt> and <tt>unit</tt> which contain UI and unit tests respectively. Both of them contain test files starting with <tt>test_</tt>. So the directory structure can be summarized as follows - <br />
<br />
tests/<br />
|-integration/<br />
|test_operations.py<br />
|-unit/<br />
|test_functions.py<br />
<br />
Only files beginning with test_ will be executed.<br />
<br />
These tests can be executed using <code>./setup.py check</code><br />
setup.py also takes a optional argument of which set of tests to run - <br />
<br />
./setup.py check integration<br />
./setup.py check unit<br />
<br />
See the example [https://git.sugarlabs.org/~svineet33/calculate/svineet33s-calculate/commit/8cdf4f6d556b58379081a1f339513e0636506e5e tests] inside Calculate.</div>Svineethttps://wiki.sugarlabs.org/index.php?title=Features/Multiple_home_views&diff=90896Features/Multiple home views2013-12-17T16:33:18Z<p>Svineet: Added information regarding setting of View Names</p>
<hr />
<div><noinclude><br />
[[Category:FeatureLanded|Multiple home views]]<br />
</noinclude><br />
<br />
== Summary ==<br />
Option to have different collections of activities on the Home View for formal (classroom) and informal (home) use.<br />
<br />
== Owner ==<br />
* Name: [[User:Walter|Walter Bender]]<br />
* Email: <walter at sugarlabs dot org><br />
<br />
== Current status ==<br />
* Targeted release: 0.100<br />
* Last updated: 09.26.2013<br />
* Percentage of completion: 100%<br />
<br />
== Detailed Description ==<br />
It has been reported that teachers are upset by the fact that children have differing collections of activities on their home views; to the extent that some deployments forbid children from loading "unofficial" activities onto their machines. As an easy workaround to both offering the teacher a consistent classroom experience for each child and for the children to have the freedom to modify their system's look and feel to their convenience and taste, I am proposing to have two home views: one for school and one for personal use.<br />
<br />
I propose replacing the spiral vs random view buttons with school vs personal buttons (using the school and xo icons). There would be a separate collection of activities for each view, set in the list view. View names can also be set.<br />
<br />
There are several ways we could implement this:<br />
# The most simple, non-invasive solution would be to have starred and unstarred views. The starred view would be exactly the same as the current home view. The unstarred would show those activities that are not starred.<br />
# A variant of the above would be to have a tristate star in the list view, where a third star is in the user's colors and the two home views be filled or user filled.<br />
# Instead of a star, there would be a school and an xo. Activities could appear in either, both, or none (As shown in the illustration below).<br />
<br />
Note: In the illustration, the selection is in the secondary menu. Upon reflection, I think it should part of the primary selection (in line with the list view, replacing the current circle icon).<br />
<br />
Note: the current method of selecting home view style, e.g.,spiral or random, could (arguably should) be replaced by standard secondary menus. (Is there anywhere else in the entire interface where we use these secondary button menus? -- admittedly, this style may be more suitable for touch, in which case all secondary menus should work that way.)<br />
<br />
== Benefit to Sugar ==<br />
The Sugar user would have more options regarding layout (most window managers provide multiple desktops) and the teacher could ask for a more structured configuration when desired.<br />
<br />
<br />
== Scope ==<br />
The changes would be to sugar/src/jarabe/desktop activitylist.py, favoriteslayout.py and favoriteview.py<br />
<br />
== How To Test ==<br />
{{:{{PAGENAME}}/Testing}}<br />
<br />
== User Experience ==<br />
The user would have have two desktops, plus the list view. As is the case now, all activities will show up in the list view.<br />
<br />
== Dependencies ==<br />
No new dependencies<br />
<br />
== Contingency Plan ==<br />
<br />
<br />
== Documentation ==<br />
<br />
<br />
== Release Notes ==<br />
[[Image:Home-view-1.png|300px]]<br />
[[Image:Home-view-2.png|300px]]<br />
[[Image:List-view.png|300px]]<br />
<br />
* Multiple home pages are enabled using gconf, e.g., to enable two home views:<br />
gconftool-2 -s /desktop/sugar/desktop/view_icons --type list --list-type string ['view-radial','view-radial']<br />
gconftool-2 -s /desktop/sugar/desktop/view_favorites --type list --list-type string ['emblem-favorite','emblem-favorite']<br />
gconftool-2 -s /desktop/sugar/desktop/favorite_names --type list --list-type string ['Home View','Student View']<br />
<br />
* A deployment might enable this in:<br />
olpc-os-builder:modules/sugar/kspost.50.gconf.inc<br />
<br />
== Comments and Discussion ==<br />
* See [[{{TALKPAGENAME}}|discussion tab for this feature]]</div>Svineet