Changes

Jump to navigation Jump to search
no edit summary
Line 1: Line 1: −
=== Setting up the Sugar environment ===
+
=== Basics: Attribution and Licensing ===
   −
There are several options for setting up the Sugar environment for development.
+
Read [[Attribution and Licensing]], as both are important for all submissions.
* Install Sugar on [[Ubuntu]], [[Fedora]], or [[Debian]], using apt or dnf;
  −
* From Windows. macOS or iOS, run Sugar in a virtual machine;
  −
* Live boot from [[SoaS|Sugar on a Stick]];
  −
* or ''better yet'', use Sugar Live Build containing Sugar 0.112, which can be booted from hard drive, flash drive, and optical media, automatically starting Sugar without persistence; or can be installed as a virtual machine, with persistence and password protection, and contains all build dependencies, configured source trees (git clones in /usr/src), and binaries (make install) for Sugar 0.112 (Download from http://people.sugarlabs.org/~quozl/sugar-live-build-20171009/).
     −
See also https://developer.sugarlabs.org/dev-environment.md.html
+
=== Setting up a Sugarizer environment ===
 +
 
 +
Use your computer.  See also [[#Getting started with Sugarizer]].
 +
 
 +
=== Setting up a Sugar desktop environment ===
 +
 
 +
There are several options for setting up the Sugar desktop environment for development, depending on what equipment you have;
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Your Equipment !! Your Operating System !! Our Recommendation
 +
|-
 +
| rowspan="2" | You have only one computer and don't want to erase it
 +
| Linux, Windows, macOS, or iOS
 +
| Install virtualisation software, make a new virtual machine and install [[Live Build|Sugar Live Build]], [[SoaS|Sugar on a Stick]], [[Ubuntu]], [[Fedora]], or [[Debian]].
 +
|-
 +
| Linux
 +
| Install Sugar packages from your distribution, see [[Ubuntu]], [[Fedora]] or [[Debian]].  For other distributions, contact your distribution community.
 +
|-
 +
| You have another computer that can be erased
 +
| Doesn't matter
 +
| Install [[Live Build|Sugar Live Build]], [[SoaS|Sugar on a Stick]], [[Ubuntu]], [[Fedora]], or [[Debian]].
 +
|}
 +
 
 +
What's the difference between Live Build, Sugar on a Stick and the various Linux options?
 +
 
 +
{| class="wikitable"
 +
|-
 +
!  !! Live Build (based on Debian) !! Sugar on a Stick (based on Fedora) !! Ubuntu, Debian or Fedora
 +
|-
 +
! Sugar desktop user experience on startup
 +
| yes, 0.112 || yes, 0.110 || no, must install packages
 +
|-
 +
! Good for Sugar activity development
 +
| yes || no, must install packages || no, must install packages
 +
|-
 +
! Good for Sugar desktop module development
 +
| yes, source code included || no, must install git and use rpmbuild || no, must install packages
 +
|-
 +
! Works on a spare computer
 +
| yes || yes || yes
 +
|-
 +
! Works as a Virtual Machine
 +
| yes || yes || yes
 +
|}
 +
 
 +
See also [https://developer.sugarlabs.org/dev-environment.md.html Setup a development environment].
    
=== Getting started with coding in Sugar ===
 
=== Getting started with coding in Sugar ===
   −
Most Sugar development is in either Python or JavaScript.
+
Sugar development is in either Python or JavaScript languages.
   −
* You will need knowledge of Python and GTK (See http://python-gtk-3-tutorial.readthedocs.org/en/latest/);
+
* For the JavaScript language, you will need knowledge of;
* or JavaScript/HTML5;
+
** JavaScript;
* and then the basic of Sugar development (See http://www.flossmanuals.net/make-your-own-sugar-activities/);
+
** HTML5;
 +
** web browsers;
 +
** web design; and,
 +
** web deployment.
 +
* For the Python language, you will need knowledge of;
 +
** [https://www.python.org/ Python];
 +
** the [https://pygobject.readthedocs.io/en/latest/ PyGObject] package;
 +
** the [https://python-gtk-3-tutorial.readthedocs.org/en/latest/ Python bindings] for [https://www.gtk.org/ GTK+ 3]; and
 +
** the [https://lazka.github.io/pgi-docs/#Gtk-3.0 Gtk-3.0 section of the PyGObject API Reference].
 +
* For both, you will need knowledge of Sugar activity development, see the book [http://www.flossmanuals.net/make-your-own-sugar-activities/ Make Your Own Sugar Activities!]
   −
Please note that you must run [http://legacy.python.org/dev/peps/pep-0008/#introduction pep8] and pyflakes on your code ''before'' submitting your patches.
+
Python programmers, you must run [http://legacy.python.org/dev/peps/pep-0008/#introduction pep8] and pyflakes on your code ''before'' submitting your patches.
    
=== Getting started with GIT ===
 
=== Getting started with GIT ===
   −
Some knowledge of git is important as your work will be submitted to our git repository (https://github.com/sugarlabs). The basic mechanism is a pull request (PR), which is detailed in [http://developer.sugarlabs.org/contributing.md.html].
+
Some knowledge of git is important as your work will be submitted to our [https://github.com/sugarlabs git repositories]. The basic mechanism is a pull-request (PR), which is explained in [https://developer.sugarlabs.org/contributing.md.html Contributing].
   −
''It is required that you follow the steps outlined on the Contributing Page when doing coding and documentation tasks in GCI.''
+
''It is required that you follow the steps outlined on the [https://developer.sugarlabs.org/contributing.md.html Contributing] page when doing coding and documentation tasks in GCI.''
   −
GitHub provides a tutorial (See https://try.github.io/levels/1/challenges/1). There are many other guides to GIT as well.
+
GitHub provides a [https://try.github.io/levels/1/challenges/1 tutorial]. There are many other guides to GIT as well.
   −
Our old bug tracker is https://bugs.sugarlabs.org, but these days, we mostly report bugs using the ''issues'' mechanism on GitHub. (See https://guides.github.com/features/issues/ for details on GitHub Issues.)
+
Our old bug tracker is https://bugs.sugarlabs.org, but these days, we mostly report bugs using the ''issues'' feature of GitHub. (See https://guides.github.com/features/issues/ for details on GitHub Issues.)
    
=== Getting started with Sugarizer ===  
 
=== Getting started with Sugarizer ===  
   −
Sugar Web Framework is the JavaScript Framework for Sugar [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]. Sugarizer [http://sugarizer.org] is a subset of Sugar that allow runing activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App.
+
Sugar Web Framework is the [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md JavaScript Framework for Sugar]. [http://sugarizer.org Sugarizer] is a subset of Sugar that allow running activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App.
 +
 
 +
=== Getting a wiki account ===
 +
 
 +
Some tasks require that you make edits to this wiki for which you'll need an account. Please email walter @ sugarlabs . org to request an account.
 +
 
 +
=== Getting help ===
 +
 
 +
Got a problem?  Ask your mentors, ask other students, or ask the Sugar Labs community.
 +
 
 +
The Sugar Labs community is large, and there are people who are not mentors in the contest.  Mentors are [[Google_Code_In_2017#Mentors|listed]].  Everyone else you talk with may be a non-mentor.
 +
 
 +
As part of Sugar Labs community, non-mentors are to treat students in accord with the [[Sugar_Labs/Legal/Code_of_Conduct|Code of Conduct]], and as if they are new to Sugar Labs.
 +
 
 +
Students should keep in mind that some people are non-mentors, and cannot see the contest tasks, contest progress, dates, or information about students.  When communicating widely, be sure to;
 +
 
 +
* introduce yourself, the first time;
 +
* tell us what your task is, without relying on a link to the task (because we probably can't see it);
 +
* talk about the task as if you want to do it yourself, not because of the contest; and,
 +
* defend your technical decisions without using the contest as a defence.
 +
 
 +
Non-mentors may give good guidance on technical decisions, but bad guidance on how they think a task is judged.  Always consult with your mentors as well.

Navigation menu