Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This page hosts information and project ideas for the open source project [[XWiki>>http://www.xwiki.org/]] related to the Google Code-In 2017 program.
6
7 XWiki has also been [[participating to Google Summer of Code>>doc:GoogleSummerOfCode.WebHome]] since 2005.
8
9 = About Code-In =
10
11 You can learn a lot about the program by reading the [[Code-In website>>https://developers.google.com/open-source/gci/]]. The timeline of this year's edition is given [[here>>https://developers.google.com/open-source/gci/timeline]].
12
13 = XWiki Guidelines =
14
15 Being part of the XWiki community means knowing our rules and practices. As a Code-In student you need to make sure you [[read and apply our guidelines>>Guidelines]] (you'll also find onboarding guides there).
16
17 For Code-In mentors please follow the following [[guidelines for creating Code-In tasks>>GuidelineForTasks]].
18
19 = Task List =
20
21 The lists of [[Google Code-In side>>https://codein.withgoogle.com/dashboard/tasks/]].
22
23 This will be available on the Code-In website, but for now here's a list of example tasks:
24
25 {{velocity}}
26 #if ($services.security.authorization.hasAccess('edit'))
27 Admin tools:
28 * You can use the following script to push Jira issues on Google Code-In website: [[.Code.JIRASyncronization]]
29 * You can use the following script to set all mentors in Google Code-In tasks which don't have any: [[.Code.SetMentors]]
30 #end
31 {{/velocity}}
32
33 == Non-repeatable Tasks ==
34
35 [[List of non-repeatable example tasks>>https://jira.xwiki.org/issues/?filter=14628]] from our issue tracker.
36
37 == Repeatable Tasks ==
38
39 === Setup ===
40
41 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4798591157665792/]] Become a community member: create an account on xwiki.org, then log in with that account on the forum, create an account on Riot. Success criteria:
42 ** Post a new topic on the forum to introduce yourself and mention your Riot chat id.
43 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/6322519776690176/]] Setup a development environment (for Code tasks only). Install the XWiki client docker image or some virtual box VM.
44 ** Screenshot of the shell with the name
45 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5662395449999360/]] Debug Java XWiki code
46 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5657168072146944/]] Modify XWiki Java code and see the change in a running instance
47 * Become a code contributor: create jira and github account, fork XWiki platform, create a branch and push a change
48 ** Link to the new branch on user's github account
49
50 === xwiki.org ===
51
52 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5414608384819200/]]Fix 10 links on xwiki.org that point to the platform or enterprise wikis with redirects and replace them with the redirect reference. Success criteria:
53 ** Use minor edits
54 ** Provide a link to revision diffs
55 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5683641512361984/]]Find and update 5 screenshots of XWiki features on xwiki.org that are not up to date with the latest version of XWiki. Success criteria:
56 ** Use the same attachment name that exist
57 ** Provide the URLs to the old + new images
58 ** Use a similar size of image than what exists
59 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/6310127588081664/]] Find an replace 10 images on xwiki.org that don't use the ~{~{image}} macro yet and replace them with that macro. Success criteria:
60 ** Provide a link to the version diff for each image replaced
61 * Find and fix 5 broken links on xwiki.org ([[Example of wording it>>https://codein.withgoogle.com/archive/2015/task/4663854789296128/]]). Success criteria:
62 ** Link to the revision diff fixing each broken link
63
64 === Tests ===
65
66 * Run and report result of 10 tests from [[http:~~/~~/test.xwiki.org/xwiki/bin/view/Main/WebHome>>doc:test:Main.WebHome]]. You should use a combination of XWiki versions, Browser type+version, Database type+version that doesn't already exist, and create a new result entry. Success criteria:
67 ** New entries on test.xwiki.org
68 ** Q: How to ensure that the students has really executed the test? [[Example>>https://codein.withgoogle.com/archive/2015/organization/5130216833810432/task/6623891837419520/]]
69 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5090949380177920/]] Test XWiki and report a valid bug/improvement on the latest version
70 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5686805762408448/preview/]] Create a new test case on http://test.xwiki.org for an XWiki feature / extension of your choice. Run this test case on the latest XWiki version for multiple browsers, databases. Make sure the test case doesn't already exist.
71
72 === Code ===
73
74 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4837521210998784/]] Convert 1 unit test written in JMock, into a Mockito test using XWiki's ##MockitoComponentMockingRule## or ##MockitoComponentManagerRule##. Success criteria:
75 ** Pull Request
76 ** Following testing best practices defined at [[http:~~/~~/dev.xwiki.org/xwiki/bin/view/Community/Testing>>doc:Community.Testing]]
77 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4837521210998784/]] Increase test coverage (as measure by Jacoco) for a single module by 1%, by adding new tests to existing test suites. Success criteria:
78 ** Pull Request
79 ** pom.xml modified in the PR to match the new coverage threshold and build passing with quality profile (##-Pquality##).
80 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5640728279515136/]] Replace **at least 1** call to deprecated using alternative valid APIs
81 ** The module build is still passing
82 ** Pull Request
83 * Move 1 unused deprecated method/class to Legacy module (using AspectJ for methods). Success criteria:
84 ** Full build of commons, rendering, platform still passing without failure
85 ** Pull Request
86 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5724753140645888/]] [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4552318773100544/]] [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5100214086008832/]] Remove 1 coding violation from http://sonar.xwiki.org/issues/search#resolved=false. (commons, rendering, or platform). Success criteria:
87 ** Pull Request
88 ** After PR is applied, http://sonar.xwiki.org/issues/search#resolved=false should not show the violation any more
89 * Find one place that doesn't allow the UI to be translated (missing translation keys). Success criteria:
90 ** Point to the code containing the hardcoded string
91 * Implement a new ColorTheme. Success criteria:
92 ** PR in the "Extra ColorTheme Pack" extension project in xwiki-contrib (we neeFind one place that doesn't allow the UI to be translated (missing translation keys). Success criteria: d to create it)
93 ** Screenshot of the home page using the Color Theme
94 ** Documentation of it on the extension page on e.x.o
95 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5705063936819200/]] In **1 UI test** replace all setup code which use the UI by REST calls
96 ** The test is still passing
97 ** Pull Request
98 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5630474581966848/preview/]] Design and publish a new color theme extension for XWiki
99 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5636886498377728/preview/]] Map and publish a new icon theme extension for XWiki
100 * New type converter
101 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4879100252520448/]] Fix any Jira issue listed on https://jira.xwiki.org
102 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4860322655502336/]] Fix README files
103 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/6323102617174016/]] Review default translation files for mistakes
104 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/5167106968518656/]] Implement a new APPWM property type
105
106 === Outreach ===
107
108 * Design a new logo for an extension found on [[e.x.o>>doc:extensions:Main.WebHome]]. Success criteria:
109 ** Original logo (doesn't exist on the web already and cannot be considered as plagiarism)
110 ** Screenshot of the logo in action
111 ** Right sizes so that be can used on JIRA project, on e.x.o. TODO: decide what we do for the icon inside XWiki when the extension is installed
112 ** XINFRA issue created to use the logo on JIRA, e.x.o, etc.
113 * Design a logo for XWiki participation in GCI and GSOC. Success criteria:
114 ** Post the logo on a wiki page that will have been prepared for that
115 ** Original logo (doesn't exist on the web already and cannot be considered as plagiarism)
116 * Interview an XWiki contributor or user. Don't forget to mention that you are doing this as part of GCI 2017 and also try to explain them about the program a bit. Write a blog post about your interview. Success criteria:
117 ** Link to blog post
118 * Write 3-paragraph essay to explain what is XWiki to grandpa/grandma ([[Credit goes to Drupal>>https://codein.withgoogle.com/archive/2015/organization/5689922476310528/task/6056420625612800/]]). XWiki is quite a foreign concept to many people. e.g. people who are not in the tech world; Grandpa/Grandma old generation. We want to produce a short essay to allow us to explain what XWiki is to those people. Deliverables: Write a blog and link to it for mentor to review. A short essay about XWiki which can be understand by a Grandpa/Grandma, a high school student who plays a lot of basketball, or a waitress/waiter who works in a Mexican or Chinese restaurant. Success criteria:
119 ** Link to blog post
120 ** Original work and not plagiarism
121 * [[(/)>>https://codein.withgoogle.com/dashboard/tasks/4734967928061952/]] Write a blog post about XWiki ([[Example of wording>>https://codein.withgoogle.com/archive/2015/organization/5130216833810432/task/6128943832760320/]]).
122 * Design a T-shirt for the XWiki community. We would give them to GSOC students and some Code-In students who did good work + more generally whenever we want to single out a member of the xwiki community who's doing a good job at participating. Success criteria:
123 ** Original work
124 ** Must look nice when printed
125 ** Related to XWiki, should use the [[XWiki logo>>doc:xwiki:Main.Logo]] somewhere
126
127 === Jira ===
128
129 * Cleanup jira issues
130
131 === Misc ===
132
133 = Contact us =
134
135 You can ask for more information about the Code-In and interact with the community and mentors through the usual communication channels: [[mailing list>>Community.Discuss]] or the [[chat channel>>Community.Chat]].
136
137 = Mentors =
138
139 Current list of people who accepted to mentor GCI:
140
141 {{velocity}}
142 $doc.mentors
143 {{/velocity}}
144
145 == Mentors Summit Participation ==
146
147 |= Year |= Participants
148 |2017|Shubham Jain, --Pawan Pal--
149
150 == Resources ==
151
152 * [[GCI 2017 Wrap-up>>xwiki:Blog.GoogleCodeIn2017Summary]]
153 * [[GCI 2017 Stats>>xwiki:Blog.GoogleCodeIn2017Stats]]
154
155 = Todos for Admins =
156
157 * Create short videos of various features for which there is not yet others. Not repeatable task, we need to create one task for each feature ourself.
158 * Create an onboarding docker image with a full dev environment set up (maven, firefox, IDE, Git, settings.xml, etc)
159 * Idea: check this [[task from FOSSASIA>>https://codein.withgoogle.com/archive/2015/task/4505721072779264/]] as an example of a task with good level of information.
160 * Idea: check https://www.katacoda.com/learn for creating onboarding tutorials
161
162 = Previous Google Code-In editions =
163
164 This is our first participation!

Get Connected