Wiki source code of Guidelines for creating tasks
Last modified by Eduard Moraru on 2017/11/21 13:48
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{toc/}} | ||
| 2 | |||
| 3 | = Recommendations = | ||
| 4 | |||
| 5 | * We create tasks in XWiki's JIRA and then run [[a script>>doc:GoogleCodeIn.Code.JIRASyncronization.WebHome]] to sync with the Google Code-In website | ||
| 6 | * [[Valid task categories>>https://developers.google.com/open-source/gci/resources/example-tasks]]: | ||
| 7 | ** Coding | ||
| 8 | ** Documentation/Training | ||
| 9 | ** Outreach/Research | ||
| 10 | ** Quality Assurance | ||
| 11 | ** User Interface | ||
| 12 | * When creating tasks, consider the following: | ||
| 13 | ** Set the JIRA issue with a "Trivial" or "Easy" difficulty and a "Onboarding" tag. | ||
| 14 | ** Make the tasks as small as possible. Students may have 0 knowledge of anything. | ||
| 15 | ** Ensure there's the minimum amount of setup required to complete the task | ||
| 16 | ** Include tasks to help the student being onboarded such setting up an environment, creating an account on xwiki.org, on jira, etc | ||
| 17 | ** Write the success criteria in the task description and remove as much fuzziness as possible | ||
| 18 | ** Make sure that any mentor can validate the task and decide if they've been completed satisfactorily or not | ||
| 19 | ** Find as many repeatable tasks as possible (e.g. "find and fix 10 broken links in xwiki.org") | ||
| 20 | ** Translations tasks are forbidden by Google | ||
| 21 | ** In general any tasks for which the success criteria cannot prove that the student has done the work himself are prohibited | ||
| 22 | ** Try to make tasks that can be completed in 2-3 hours for the simple ones and maximum a couple of days | ||
| 23 | |||
| 24 | = Template = | ||
| 25 | |||
| 26 | Tasks must follow the following template. See [[Example>>https://codein.withgoogle.com/archive/2015/task/4505721072779264/]]. | ||
| 27 | |||
| 28 | Jira: | ||
| 29 | |||
| 30 | {{code language="none"}} | ||
| 31 | 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/]. | ||
| 32 | |||
| 33 | h2. Prerequisites | ||
| 34 | |||
| 35 | * 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] | ||
| 36 | * 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. | ||
| 37 | |||
| 38 | <explain the tools/technologies a student should know to complete this task> | ||
| 39 | |||
| 40 | * Assign yourself to the Jira issue | ||
| 41 | |||
| 42 | h2. Issue | ||
| 43 | |||
| 44 | <indicate what need to be done (i.e. what is usually the content of the issue description outside of Google Code-In)> | ||
| 45 | |||
| 46 | h2. Expected Outcome | ||
| 47 | |||
| 48 | <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> | ||
| 49 | |||
| 50 | * The student must commit the changes and create a pull request on <indicate repository> | ||
| 51 | ** 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 | ||
| 52 | ** Add a comment in the jira issue mentioning your pull request and provide a link to it | ||
| 53 | |||
| 54 | h2. Links | ||
| 55 | |||
| 56 | <optional list of links related to this task> | ||
| 57 | |||
| 58 | h2. Getting help | ||
| 59 | |||
| 60 | 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). | ||
| 61 | {{/code}} | ||
| 62 | |||
| 63 | Pure GCI: | ||
| 64 | |||
| 65 | {{code language="none"}} | ||
| 66 | If it's your first task it's highly recommended to start with [Become a community member](https://codein.withgoogle.com/dashboard/tasks/4798591157665792/). | ||
| 67 | |||
| 68 | ## Prerequisites | ||
| 69 | |||
| 70 | <list other repeatable tasks which are recommended before this one> | ||
| 71 | |||
| 72 | <explain the tools/technologies a student should know to complete this task> | ||
| 73 | |||
| 74 | ## Objective | ||
| 75 | |||
| 76 | <explain the objective of the task here> | ||
| 77 | |||
| 78 | ## Requirements | ||
| 79 | |||
| 80 | <explain the requirements> | ||
| 81 | |||
| 82 | ## Expected Outcome | ||
| 83 | |||
| 84 | <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> | ||
| 85 | |||
| 86 | ## Links | ||
| 87 | |||
| 88 | <optional list of links related to this task> | ||
| 89 | |||
| 90 | ## Getting help | ||
| 91 | |||
| 92 | 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). | ||
| 93 | {{/code}} | ||
| 94 | |||
| 95 | = Samples = | ||
| 96 | |||
| 97 | == Tasks requiring a pull request == | ||
| 98 | |||
| 99 | === ##Prerequisites## === | ||
| 100 | |||
| 101 | Pure GCI: | ||
| 102 | |||
| 103 | {{code language="none"}} | ||
| 104 | * 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. | ||
| 105 | {{/code}} | ||
| 106 | |||
| 107 | === ##Expected Outcome## === | ||
| 108 | |||
| 109 | Pure GCI: | ||
| 110 | |||
| 111 | {{code language="none"}} | ||
| 112 | * The student must commit the changes with a comment explaining it, create a pull request and indicate the link to this pull request | ||
| 113 | {{/code}} | ||
| 114 | |||
| 115 | == Java related code tasks == | ||
| 116 | |||
| 117 | === ##Prerequisites## === | ||
| 118 | |||
| 119 | {{code language="none"}} | ||
| 120 | * 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/ | ||
| 121 | {{/code}} | ||
| 122 | |||
| 123 | === ##Expected outcome## === | ||
| 124 | |||
| 125 | {{code language="none"}} | ||
| 126 | * The student must follow the best practices documented on http://dev.xwiki.org/xwiki/bin/view/Community/JavaCodeStyle as much as possible | ||
| 127 | {{/code}} | ||
| 128 | |||
| 129 | == CSS/HTML related code tasks == | ||
| 130 | |||
| 131 | === ##Prerequisites## === | ||
| 132 | |||
| 133 | {{code language="none"}} | ||
| 134 | * 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/. | ||
| 135 | {{/code}} | ||
| 136 | |||
| 137 | === ##Expected outcome## === | ||
| 138 | |||
| 139 | {{code language="none"}} | ||
| 140 | * The student must follow the best practices documented on http://dev.xwiki.org/xwiki/bin/view/Community/XhtmlCssCodeStyle#HCSS as much as possible | ||
| 141 | {{/code}} |