Changes

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;
+
=== Setting up a Sugarizer environment ===
* 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/ our server]).
+
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].
 
See also [https://developer.sugarlabs.org/dev-environment.md.html Setup a development environment].
Line 24: Line 66:  
** the [https://python-gtk-3-tutorial.readthedocs.org/en/latest/ Python bindings] for [https://www.gtk.org/ GTK+ 3]; and
 
** 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].
 
** 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 the basics of Sugar development, see the book [http://www.flossmanuals.net/make-your-own-sugar-activities/ Make Your Own Sugar Activities!]
+
* 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!]
    
Python programmers, 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.
Line 41: Line 83:     
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.
 
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.