Difference between revisions of "Google Code In 2017/background"

From Sugar Labs
Jump to navigation Jump to search
(→‎Getting started with GIT: fix broken link)
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
* From Windows. macOS or iOS, run Sugar in a virtual machine;
 
* From Windows. macOS or iOS, run Sugar in a virtual machine;
 
* Live boot from [[SoaS|Sugar on a Stick]];
 
* 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/).
+
* 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]).
  
See also https://developer.sugarlabs.org/dev-environment.md.html
+
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 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.

Revision as of 20:58, 21 November 2017

Setting up the Sugar environment

There are several options for setting up the Sugar environment for development.

  • 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 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 our server).

See also Setup a development environment.

Getting started with coding in Sugar

Sugar development is in either Python or JavaScript languages.

Python programmers, you must run pep8 and pyflakes on your code before submitting your patches.

Getting started with GIT

Some knowledge of git is important as your work will be submitted to our git repositories. The basic mechanism is a pull-request (PR), which is explained in Contributing.

It is required that you follow the steps outlined on the Contributing page when doing coding and documentation tasks in GCI.

GitHub provides a 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 feature of GitHub. (See https://guides.github.com/features/issues/ for details on GitHub Issues.)

Getting started with Sugarizer

Sugar Web Framework is the JavaScript Framework for Sugar. 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 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 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 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.