Wiki source code of XWiki @ Google Code-In 2017
Last modified by Ecaterina Moraru (Valica) on 2018/08/23 13:01
Show last authors
author | version | line-number | content |
---|---|---|---|
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! |