This page hosts information and project ideas for the open source project XWiki related to the Google Summer of Code 2017 mentorship program.
You can learn a lot about the program by reading the GSoC FAQ. The timeline of this year's edition is given here.
Being part of the XWiki community means knowing our rules and practices. As a GSOC student you need to make sure you read and apply our guidelines.
Student Application template
When applying for one of our projects, please provide this information about yourself and the project you choose in the application which you submit to Google.
The projects below, out of all the proposed projects, have been selected to participate in GSoC 2017.
Proposed Projects (7)
Students can come up with their own ideas, but the ideas need to be proposed and discussed on the mailing list.
The idea is to continue the work on XWiki Authenticator and contacts started during GSOC 2016.
The main use case is to get all the contacts of your organization's intranet automatically synchronized on your phone so that you don't have to use a browser, go to your intranet, login and search form some user to see if he entered his phone in his profile. The other important part is to make sure this is as integrated and as standard as possible from Android point of view and allow other applications to use registered XWiki authenticators to access an XWiki instance without the need for the user to give the password to that application.
Current code: https://github.com/xwiki-contrib/android-authenticator
Known bugs/improvements: http://jira.xwiki.org/browse/ANDAUTH
The first requirements for this project during this GSOC are:
- get something stable enough to release a 1.0 version, especially a good support of bad network
- a nicer and more polished configuration UI
Then any improvement idea is welcome. You can find some ideas already listed on jira and here are a few others:
XWiki 4.4 introduce new translation macro which will allow to find easily translated content in a page when using annotated XHTML renderer.
The idea is to use that and provide a "translation mode" where you can directly select and translate what you see in the page (when the translation macro is used). The idea is also to make easy to contribute to http://l10n.xwiki.org from your local wiki by sending your corrections to it.
Various ideas for the look and feel of this feature:
XWiki community maintain a wiki with a special application to help translation XWiki projects on. See http://l10n.xwiki.org. Sources can be found on https://github.com/xwiki-contrib/application-l10n.
The goal of this GSOC is to improve it. The student will have to study it and propose improvements, there is no definite list of things to do.
- make all this a lot more dynamic
- provide tools to refactor things a bit:
- it's hard to move some translation from one space to another (for example the applicationresources on XE should be on Platform)
- use new nested spaces to better organize resources (the whole platform is in the same space right now for example)
Develop a Glossary Application in XWiki.
The idea would be to present a list of definitions in the Glossary App (one page per definition), letting users create new Glossary items. This should be developed with the App Within Minutes application.
Then we have 2 possibilities:
- Writing a Rendering Transformation to automatically create links to the Glossary item page when a page renders.
- Provide a Macro so that users can insert manually to both link to a Glossary item page and if this page doesn't exist to directly bring the user clicking it to a new page for creating that Glossary item
Of course there are plenty of other features that can be imagined and it's left to the student to make the best possible Glossary app in the allocated time!
The idea is to be able to integrate RedPen inside XWiki. RedPen is checkstyle for documentation. See this presentation to know more about it.
There are several integrations possible with XWiki that we could imagine:
- As an XWiki extension that can be installed in an XWiki instance and that would validate the content written when pressing the "save" button, allowing the reader to review the errors and either confirm the save or go back to editing and fixing the problems.
- As an XWiki extension that can be executed inside the wiki to validate several pages (this should be done in a Job with a progress bar)
- As a plugin inside RedPen to support the XWiki Syntax. This could be mandatory required for the previous 2 integrations since pages are saved in Wiki format (when you press save in the WYSIWYG editor the content is transformed to wiki syntax). However we could also imagine that the RedPen integration would take the page content and render it using the plain text renderer and then execute the check on that content too.
An even better integration would be the ability to run RedPen on the fly as user types content but I don't know if RedPen allows for this.
You can ask for more information about each project proposal and interact with the community and mentors through the usual communication channels: mailing list (devs AT xwiki.org) or the IRC channel.
Previous GSoC editions