Guidelines for creating tasks

Last modified by Eduard Moraru on 2017/11/21 13:48

Recommendations

  • We create tasks in XWiki's JIRA and then run a script to sync with the Google Code-In website
  • Valid task categories:
    • Coding
    • Documentation/Training
    • Outreach/Research
    • Quality Assurance
    • User Interface
  • When creating tasks, consider the following:
    • Set the JIRA issue with a "Trivial" or "Easy" difficulty and a "Onboarding" tag.
    • Make the tasks as small as possible. Students may have 0 knowledge of anything.
    • Ensure there's the minimum amount of setup required to complete the task
    • Include tasks to help the student being onboarded such setting up an environment, creating an account on xwiki.org, on jira, etc
    • Write the success criteria in the task description and remove as much fuzziness as possible
    • Make sure that any mentor can validate the task and decide if they've been completed satisfactorily or not
    • Find as many repeatable tasks as possible (e.g. "find and fix 10 broken links in xwiki.org")
    • Translations tasks are forbidden by Google
    • In general any tasks for which the success criteria cannot prove that the student has done the work himself are prohibited
    • Try to make tasks that can be completed in 2-3 hours for the simple ones and maximum a couple of days

Template

Tasks must follow the following template. See Example.

Jira:

If it's your first Google Code-In task it's highly recommended to start with [Become a community member|https://codein.withgoogle.com/dashboard/tasks/4798591157665792/].

h2. Prerequisites

* The student will need to have a Jira account, if it's not the case you can [signup here|https://jira.xwiki.org/secure/Signup!default.jspa]
* The student will also need a https://www.github.com account. You might also want to take a look at [Git|https://try.github.io] and [GitHub interface|https://services.github.com/on-demand/intro-to-github/] documentations.

<explain the tools/technologies a student should know to complete this task>

* Assign yourself to the Jira issue

h2. Issue

<indicate what need to be done (i.e. what is usually the content of the issue description outside of Google Code-In)>

h2. Expected Outcome

<describe very precisely the success criteria for the task so that the student knows what to achieve and so that any mentor can easily validate the task>

* The student must commit the changes and create a pull request on <indicate repository>
** The summary of the Pull Request must have a first line matching the JIRA issue following by a colon and then the title of this issue
** Add a comment in the jira issue mentioning your pull request and provide a link to it

h2. Links

<optional list of links related to this task>

h2. Getting help

If you have any question you should use the [Chat|http://dev.xwiki.org/xwiki/bin/view/Community/Chat] (faster answer, but when there is someone around) or the [Forum|http://dev.xwiki.org/xwiki/bin/view/Community/Discuss] (more people available, but slower answer).

Pure GCI:

If it's your first task it's highly recommended to start with [Become a community member](https://codein.withgoogle.com/dashboard/tasks/4798591157665792/).

## Prerequisites

<list other repeatable tasks which are recommended before this one>

<explain the tools/technologies a student should know to complete this task>

## Objective

<explain the objective of the task here>

## Requirements

<explain the requirements>

## Expected Outcome

<describe very precisely the success criteria for the task so that the student knows what to achieve and so that any mentor can easily validate the task>

## Links

<optional list of links related to this task>

## Getting help

If you have any question you should use the [Chat](http://dev.xwiki.org/xwiki/bin/view/Community/Chat) (faster answer, but when there is someone around) or the [Forum](http://dev.xwiki.org/xwiki/bin/view/Community/Discuss) (more people available, but slower answer).

Samples

Tasks requiring a pull request

Prerequisites

Pure GCI:

* The student will need to have an account on http://www.github.com. You might also want to take a look at [Git](https://try.github.io) and [GitHub interface](https://services.github.com/on-demand/intro-to-github/] documentations.

Expected Outcome

Pure GCI:

* The student must commit the changes with a comment explaining it, create a pull request and indicate the link to this pull request

Java related code tasks

Prerequisites

* For beginners a good way to quickly get a pre configured dev environment for XWiki is to do the following task: https://codein.withgoogle.com/dashboard/tasks/6322519776690176/preview/

Expected outcome

* The student must follow the best practices documented on http://dev.xwiki.org/xwiki/bin/view/Community/JavaCodeStyle as much as possible

CSS/HTML related code tasks

Prerequisites

* Before starting your task familiarize yourself a bit with XWiki interface. You should download the latest demo version (with pre installed Standard Flavor) on http://www.xwiki.org/xwiki/bin/view/Download/.

Expected outcome

* The student must follow the best practices documented on http://dev.xwiki.org/xwiki/bin/view/Community/XhtmlCssCodeStyle#HCSS as much as possible
Tags:
   

Get Connected