XWiki @ Google Code-In 2017

Last modified by Ecaterina Moraru (Valica) on 2018/08/23 13:01

This page hosts information and project ideas for the open source project XWiki related to the Google Code-In 2017 program.

XWiki has also been participating to Google Summer of Code since 2005.

About Code-In

You can learn a lot about the program by reading the Code-In website. The timeline of this year's edition is given here.

XWiki Guidelines

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 (you'll also find onboarding guides there).

For Code-In mentors please follow the following guidelines for creating Code-In tasks.

Task List

The lists of Google Code-In side.

This will be available on the Code-In website, but for now here's a list of example tasks:

Non-repeatable Tasks

List of non-repeatable example tasks from our issue tracker.

Repeatable Tasks


  • accept 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:
    • Post a new topic on the forum to introduce yourself and mention your Riot chat id.
  • accept Setup a development environment (for Code tasks only). Install the XWiki client docker image or some virtual box VM.
    • Screenshot of the shell with the name
  • accept Debug Java XWiki code
  • accept Modify XWiki Java code and see the change in a running instance
  • Become a code contributor: create jira and github account, fork XWiki platform, create a branch and push a change
    • Link to the new branch on user's github account


  • acceptFix 10 links on xwiki.org that point to the platform or enterprise wikis with redirects and replace them with the redirect reference. Success criteria:
    • Use minor edits
    • Provide a link to revision diffs
  • acceptFind and update 5 screenshots of XWiki features on xwiki.org that are not up to date with the latest version of XWiki. Success criteria:
    • Use the same attachment name that exist
    • Provide the URLs to the old + new images
    • Use a similar size of image than what exists
  • accept Find an replace 10 images on xwiki.org that don't use the {{image}} macro yet and replace them with that macro. Success criteria:
    • Provide a link to the version diff for each image replaced
  • Find and fix 5 broken links on xwiki.org (Example of wording it). Success criteria:
    • Link to the revision diff fixing each broken link


  • Run and report result of 10 tests from http://test.xwiki.org/xwiki/bin/view/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:
    • New entries on test.xwiki.org
    • Q: How to ensure that the students has really executed the test? Example
  • accept Test XWiki and report a valid bug/improvement on the latest version
  • accept 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.


  • accept Convert 1 unit test written in JMock, into a Mockito test using XWiki's MockitoComponentMockingRule or MockitoComponentManagerRule. Success criteria:
  • accept Increase test coverage (as measure by Jacoco) for a single module by 1%, by adding new tests to existing test suites. Success criteria:
    • Pull Request
    • pom.xml modified in the PR to match the new coverage threshold and build passing with quality profile (-Pquality).
  • accept Replace at least 1 call to deprecated using alternative valid APIs
    • The module build is still passing
    • Pull Request
  • Move 1 unused deprecated method/class to Legacy module (using AspectJ for methods). Success criteria:
    • Full build of commons, rendering, platform still passing without failure
    • Pull Request
  • accept accept accept Remove 1 coding violation from http://sonar.xwiki.org/issues/search#resolved=false. (commons, rendering, or platform). Success criteria:
  • Find one place that doesn't allow the UI to be translated (missing translation keys). Success criteria:
    • Point to the code containing the hardcoded string
  • Implement a new ColorTheme. Success criteria:
    • 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)
    • Screenshot of the home page using the Color Theme
    • Documentation of it on the extension page on e.x.o
  • accept In 1 UI test replace all setup code which use the UI by REST calls
    • The test is still passing
    • Pull Request
  • accept Design and publish a new color theme extension for XWiki
  • accept Map and publish a new icon theme extension for XWiki
  • New type converter
  • accept Fix any Jira issue listed on https://jira.xwiki.org
  • accept Fix README files
  • accept Review default translation files for mistakes
  • accept Implement a new APPWM property type


  • Design a new logo for an extension found on e.x.o. Success criteria:
    • Original logo (doesn't exist on the web already and cannot be considered as plagiarism)
    • Screenshot of the logo in action
    • 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
    • XINFRA issue created to use the logo on JIRA, e.x.o, etc.
  • Design a logo for XWiki participation in GCI and GSOC. Success criteria:
    • Post the logo on a wiki page that will have been prepared for that
    • Original logo (doesn't exist on the web already and cannot be considered as plagiarism)
  • 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:
    • Link to blog post
  • Write 3-paragraph essay to explain what is XWiki to grandpa/grandma (Credit goes to Drupal). 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:
    • Link to blog post
    • Original work and not plagiarism
  • accept Write a blog post about XWiki (Example of wording).
  • 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:
    • Original work
    • Must look nice when printed
    • Related to XWiki, should use the XWiki logo somewhere


  • Cleanup jira issues


Contact us

You can ask for more information about the Code-In and interact with the community and mentors through the usual communication channels: mailing list or the chat channel.


Current list of people who accepted to mentor GCI:

Mentors Summit Participation

 Year  Participants
2017Shubham Jain, Pawan Pal


Todos for Admins

  • 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.
  • Create an onboarding docker image with a full dev environment set up (maven, firefox, IDE, Git, settings.xml, etc)
  • Idea: check this task from FOSSASIA as an example of a task with good level of information.
  • Idea: check https://www.katacoda.com/learn for creating onboarding tutorials

Previous Google Code-In editions

This is our first participation!

Get Connected