General Actions:
This page hosts information and project ideas for the Google Summer of Code 2013. Students can come up with their own ideas, and propose them on the mailing list or the IRC channel.
First and foremost, working on XWiki needs to be fun and a good learning process! However, the XWiki project is already following some development rules that we're asking GSoC students to follow too. This is for the good of the XWiki project but more importantly it's a good way to learn how an open source community works. Also, if these practices are followed, it'll be much easier to integrate the resulting work into XWiki's official releases.
So here are some practices we'd like GSoC students to follow (please comment on the list if you'd like to change some of them or propose other things):
Remember that this is not a summer job, or a Rent-a-coder like project, but a rewarded successful integration in an free software/open source community. If all you are interested in is the money, then better look for a real job, as Free Software requires passionate people; an ideal candidate is more interested in the t-shirt.
Good generic advises:
Students will need to meet these criteria for success:
Note that the real important part is 3) since this is a criteria for success for 1), 2) and 4).
Please use this template as the basis for your student application which must be submitted to Google.
The projects below, out of all the proposed projects, have been selected to participate in GSoC 2013.
Our current XWiki mobile client enables users to access their XWiki cloud instances through their mobile devices. Improve this mobile client in order to let the users benefit from XWiki's powerful features.
Coordinated by Ludovic Dubost. Estimated workload: 3 months. Read more...
The Activity Stream offers an efficient way of keeping up with all the changes occurring in the wiki. However, the current implementation (for both the backend and the {{activity}} macro) is not very efficient and flexible. Work on a new backend has been started, but only as a lightweight component API, which still relies on the old activity macro for its implementation.
The goals of this project are:
Coordinated by Ludovic Dubost. Estimated workload: 3 month. Read more...
Coordinated by Ludovic Dubost. Estimated workload: 3 month. Read more...
Coordinated by Fabio Mancinelli / Ludovic Dubost. Estimated workload: 3 months. Read more...
The tool proposed here is to provide a shell to publish ePub archives that work on mobile devices. The objective is to export assemblies of pages within an ePub book that can be enjoyed offline on devices following identified profiles.
In particular the XWiki Collaborative Learning Assets Management System, an OER sharing platform in use by several projects, supports the assembly of learning resources of diverse origins and types by a concept of collections which encourages re-usability. This project should enhance this re-usability by an export feature that allows the content of a collection to be exported as e-book.
The software should support the author in predicting and verifying the playability of the content on various devices (e.g. warning that a Flash file is not going to work on the profile Aldiko on Android). It should also leverage open-source softwares such as Swify, ImageMagick, of ffmpeg to ensure an embedding that is reasonable in size and that works. An environment for prototyping the delivered ePub is central to this work.
The Curriki and Sankoré teams, together with the trainee, will support this choice in suggesting environments in wide use in their target population where this can be tested in the timeframe of the project (schools in the US, India, France, and the French speaking Africa).
A very successful contribution would include code that we can deploy to any XCLAMS installation. It should, with a small amount of changes, allow developers to also export to other package formats such as SCORM or Common Cartridge.
Mentors: the XCLAMS community and Curriki team, among others Paul Libbrecht and Joshua Marks (confirmed), as well as Ludovic Dubost and Flavius Olaru.
Delivery: open-source code (LGPL) using Groovy, Velocity, Unix command-line-tools, that can be made part of the XCLAMS core code.
Coordinated by Paul Libbrecht, Joshua Marks. Estimated workload: several weeks. Read more...
There are already several extensions that deal with git: a module that allows to perform operations on a git repository from the wiki, a small GitHub stub that allows to list committers for an organization or a project, and a more complex application that allows to synchronize wiki pages with a repository on GitHub. The goal of this project is to provide a richer integration with git:
Another direction is enhancing the GitHub Commit Application:
Our current XWiki mobile client enables users to access their XWiki cloud instances through their mobile devices. Improve this mobile client in order to let the users benefit from XWiki's powerful features.
Coordinated by Ludovic Dubost. Estimated workload: 3 months. Read more...
XWiki provide an extensions repository for anyone to easily deploy contributions. See http://extensions.xwiki.org.
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.
Here are some ideas: Repository open Jira issues.
Coordinated by Thomas Mortagne. Read more...
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.
Various ideas:
etc.
Coordinated by Thomas Mortagne. Read more...
A relatively new feature of XWiki is the ability to send messages to certain users, groups, or globally in a whole wiki. Although useful, messages can easily go unnoticed, since there are no notifications about received messages. Some improvements could be:
The goal is to replace the xwiki-coded editor by the CK Editor one: http://ckeditor.com/ (see demo at http://ckeditor.com/demo).
Rationale:
The goal of this GSoc project is to succeed in creating an extension to replace the current editor with the CKEditor one. One area to pay attention too is Macro rendering and ability to editor macro content/parameters.
Coordinated by Marius. Read more...
Coordinated by Thomas Mortagne. Read more...
The project refers to the ability of having Live Notifications integrated inside XWiki.
The notification system will be generic and able to address use cases such as:
The notification system will have both a server-side (Java) component and a client-side (JavaScript) component. It will be implemented as a generic system available to all applications that would like to send live notifications to an user or a group of users.
Coordinated by Marius Florea, Eduard Moraru, Ecaterina Moraru. Read more...
Right now XWiki Extension Manager support plain Maven and XWiki Extension (http://extensions.xwiki.org) repositories.
The idea is to add support for as much other kind of repositories as possible.
Here are some good examples:
See http://dev.xwiki.org/xwiki/bin/view/Design/ExtensionManagerRepositories for more details.
Coordinated by Thomas Mortagne. Read more...
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.
Coordinated by Thomas Mortagne. Read more...
An XWiki extension for creating and managing collections of wiki pages. The extension must provide both
For the API you can rewrite the xwiki-plugin-collection into a component, but only after a discussion on the devs mailing list. For the UI you can implement Caty's proposal for Selective Export UI, of course, without the export options.
Collections are extremely useful as the input for:
You should check how the existing Multipage Export Application uses the xwiki-plugin-collection in order to understand the main use case for Wiki Collections.
Coordinated by Marius Florea, Ecaterina Moraru. Read more...
Enhance the CRaSH Console extension to:
Then implement XWiki specific commands to:
Coordinated by Marius Florea. Read more...
Eclipse Orion is a Web IDE from Eclipse: http://www.eclipse.org/orion/
XWiki is a powerfull development framework allowing to develop 100% from the Web
The first objective it to build an Orion plugin to communicate with XWiki and allow to view the applications installed in an XWiki instance and add code to them (Javascript extensions, CSS extensions, Velocity and Groovy scripts, Scheduler jobs, etc..). This would allow to edit XWiki code from Orion and save changes to XWiki and view the results right away.
The second objective is to embed the Orion code inside XWiki to be able to run the IDE from XWiki itself. From App Within Minutes you should be able to launch the Orion IDE UI and load all the code from the AppWithinMinutes application.
Finally it should be possible to edit and XWiki class from the Orion UI.
Coordinated by Ludovic Dubost. Estimated workload: 3 month. Read more...
The XWiki Collaborative Learning Assets Management System is used in several projects of sharing platforms for learning content, among others: curriki.org, i2geo.net, and planete.sankore.org.
The project's work is to implement web-based tools in these platforms so that content in one platform can be made visible in another. Differently than federated search, the objective is to allow an easy transport of a resource from one server to another where it starts a new life while it keeps a link to the original. That transport should be initiated by a function triggered by a user who thinks it is useful to copy to bring the resource closer to him/her or a group or him/her.
Ideally, the tool should scale to support administrators that transport complete collections (as much as 1000) of selected learning resources.
Moreover, the link to the original should be kept and displayed and it should be possible for a user to request an upgrade of the transported resource if the source has been updated and if compatible. The practice of versionning systems such as git or mercurial should be a model. The project would be very successful if it can employ the 3-way-merge facilities of the underlying XWiki to this process, making it possible to work in parallel.
Such a contribution is likely to support initiatives as to build an local copy of Curriki with selected content which can serve a local community of teachers (the Curriki team has been asked for such by governments of countries with a relatively limited external internet bandwidth). Moreover, this contribution should be created in a sufficiently generic way so that any XWiki installation that has the necessary XWiki objects to transport the learning resources can exploit it.
Mentors: the XCLAMS community, including Joshua Marks, Paul Libbrecht (confirmed), Ludovic Dubost and Flavius Olaru (to be confirmed) with regular checks with active members of the communities of the servers above.
Delivery: open-source code (LGPL) using Groovy, Velocity, Unix command-line-tools, that can be made part of the XCLAMS core code.
Coordinated by Paul Libbrecht, Joshua Marks. Estimated workload: several weeks. Read more...