XWiki Projects

This page hosts project ideas for the Google Summer of Code 2008. Students can come up with their own ideas, and propose them on the mailing list or the IRC channel.

Warning: The GSoC 2008 project is now closed.

XWiki GSoc 2007 projects are over here

Topics:

Suggested way of working for SOC students

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 SOC 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 and if these practices are followed then it'll be much easier to integrate the SOC student work into XWiki's official releases.

So here are some practices we'd like SOC students to follow (please comment on the list if you'd like to change some of them or propose other things):

  • SOC students should be considered like any XWiki contributor which means they should respect the same rules and which means they are not committers on XWiki core. Note that a SOC student can become a Committer in the same manner a contributor can become one.
  • SOC students will be given commit access to the sandbox only where they'll create their project (one top level directory for each project). For projects which need to modify some existing code, JIRA issues will need to be created and patches attached. It's important that patches be of good quality and small in order to be applied quickly. Once sandbox projects reach a good level of maturity (meaning they work and the code is of code quality, documented, etc) then we'd like to migrate them to the main release tree.
  • SOC students should obey all Community rules. For example this means:
    • using the XWiki coding conventions
    • using the defined communication channels: IRC and mailing list
    • etc
  • SOC students have time allocated to familiarize with XWiki development process. As such we'd like each SOC student to pick one or several existing issues in JIRA and send a patch that fixes it/them before that period ends (from April 14th to May 26th) This is a critical integration step to ensure all SOC students understand how XWiki works and it's a chance to start asking questions and get to know each other.
  • SOC student should post a quick introduction on the xwiki dev mailing list to explain who they are and what they're going to work on.
  • SOC student should always go to the list when communicating about their project. They should not talk directly to their mentors. They should use the XWiki IRC channel if they need to talk to them. The goal is that everyone in the XWiki community help them, answer their questions but also know what they are doing. This will make patch applications and integration of their work back into XWiki trunk easier later on. This is very important and a criteria of success for the student. This is about learning how open source works… Note that student can also CC their mentor's email address if they want but the mails have to go to the XWiki dev list.
  • SOC students should not block on anything for a long period of time. They should ask plenty of questions on the list (but they should also be autonomous!)
  • SOC students should be as much as possible in contact with the community, following the mailing lists (and answering mails, when they know what to say), stay on the IRC channel, give regular status updates on their project. This does not mean that a SOC student is not allowed to take a break, of course, but that while working a student should be integrated as much as possible with the community.
  • When taking a vacation/break, notify the mentor; a mysterious disappearance could lead to a negative feedback afterwards.
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.

Conditions for success

Students will need to meet these criteria for sucess:

  • 1) Must have something that works and is in some finished state.
  • 2) Must be integrated or close to be integrated in xwiki without too much effort
  • 3) Must have interacted correctly and continuously with the community
  • 4) The work must have been enough (it's supposed to be a 2 men/month effort)
Note that the real important part is 3) since this is a criteria for success for 1), 2) and 4).

Student Application template

Please use this template as the basis for you student application which must be submitted to google.

Selected Projects for GSOC 2008

Collaborative Business Drawing in GWT

This project is hard.

The objective is to extend the currently in development new Wysiwyg Editor with a collaborative business drawing tool.

The wysiwyg editor will support real-time collaborative editing. The business drawing tool should support drawing inside the same infrastructure. The merging functions of the Wysiwyg editor will be made available.

The drawing tool should work with GWT (Google Web Toolkit) and SVG or Canvas. At this point no SVG Api are fully available for GWT. This will need to be done.

VincentMassol: Not sure if it helps but here's a link to Gliffy a possibly similar plugin for Confluence: http://blogs.atlassian.com/news/2008/04/gliffy_now_avai.html

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=3D199037196AC6D0

Coordinated by *
  • Jean-Vincent Drean
    Jean-Vincent Drean
    Jean-Vincent Drean dev

Distributed XWiki Search Engine

Support multiple installations of XWiki being indexed on one or multiple XWiki Servers and share the index.

It should be possible to share easily the index so that multiple XWiki installations can be shared in one UI.

Also the search UI should be possible to customize depending on Document types.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=71AE9A71881FCD29

Design link: http://dev.xwiki.org/xwiki/bin/view/Design/DistributedXWikiSearchEngine

Coordinated by *
  • David Ward (+ Ludovic Dubost)
    David Ward (+ Ludovic Dubost)
    David Ward (+ Ludovic Dubost) dev

Office Import

Allow importing Office documents into XWiki using the WYSIWYG editor. This entails converting them to proper wiki syntax (Word, Excel). For example importing an Excel document should generate proper wiki tables. This project should also allow viewing attached Office documents in view mode.

Idea: http://weblogs.java.net/blog/tchangu/archive/2005/12/open_office_jav_1.html

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=9CC37920211FF4A4

Coordinated by *
  • Vincent Massol
    Vincent Massol
    Vincent Massol dev

Presentation Application

A while ago, XWiki contained a presentation application based on S5, but it wasn't maintained, it wasn't often used, so it was dropped. Still, a better presentation application would be useful.

Some feature ideas:

  • WYSIWYG slide editor (not too fancy)
  • Style templates (graphics)
  • Slide layout templates
  • Export to PDF
  • Easy upload to Slideshare
  • Different view modes: Fullscreen, inline presentation, outline, slide list...
Se also: Scientific Presentation Application for SPAWN.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=27F450DE66682B26

Coordinated by *
  • Jerome Velociter
    Jerome Velociter
    Jerome Velociter dev

SSO and OpenID Support

We need any Single Sing On (SSO) support in XWiki. Standards: OpenID, SAML, Shibboleth, LID, inames.

  • XWiki as SSO client
Possible to login in xwiki with SSO account.

  • XWiki as SSO server
Provide SSO accounts in xwiki installation. For example openid: username.xwiki.com

We need research SSO systems to choose best, more commonly SSO framework.

More information: http://mail-archive.objectweb.org/xwiki-dev/2007-03/msg00169.html

Links:

http://openid.net/
http://shibboleth.internet2.edu/
http://en.wikipedia.org/wiki/SAML
http://lid.netmesh.org/
http://en.wikipedia.org/wiki/Inames
http://yadis.org/
http://federid.objectweb.org/
http://jira.xwiki.org/jira/browse/XWIKI-402

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=99D93C2209593362

Coordinated by *
  • Thomas Mortagne
    Thomas Mortagne
    Thomas Mortagne dev

Watch UI & ergonomics improvements

Improving XWiki Watch feed reader user interface, in both matters of usability and style, according to the rules of Human Computer Interaction. Final purpose of the project is to offer a better user experience for Watch by providing optimized ergonomics and a more appealing skin.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=99528503F0C66B30

Coordinated by *
  • Anca Paula Luca
    Anca Paula Luca
    Anca Paula Luca dev

WebDAV API

Workplan

GoalStatus
Create a maven project for the existing code base.[COMPLETE]
Modify the pom to deploy the webdav servlet easily (mvn jetty:run).[COMPLETE]
Fix / Implement basic browsing functionality.[COMPLETE]
Fix DAV properties of various file types.[COMPLETE]
Fix support for editing wiki files (GET / PUT).[COMPLETE]
Implement adding / removing pages / spaces (MKCOL / DELETE).[COMPLETE]
Modularise / Refactor the code base.[COMPLETE]
Implement integration-test support.[COMPLETE]
Implement renaming spaces / pages.[COMPLETE]
Implement adding / removing / renaming / moving attachments.[COMPLETE]
Migrate to XWIKI-1.6 core.[COMPLETE]
Implement handling a large number of entries in the attachments view.[COMPLETE]
Implement support for temporary (in-memory) files (file name begins with a ".").[COMPLETE]
Create an installation guide.[COMPLETE]
Modify the pom to build a jar (instead of a war).[COMPLETE]
Write a separate minimal war to respond to the OPTIONS request correctly (interoperability).[COMPLETE]
Handle large numbers of pages in spaces (A, B, C, D … view).[COMPLETE]
Implement webdav-office integration. (New)[INPROGRESS]
Perform ineroperability testing and report / fix bugs.[INPROGRESS]
Add global support for files starting with a "." (already implemented for pages).[PENDING]
Add support for directories starting with a "." or "(".[PENDING]
Implement Add / Remove member methods on all other views appropriately.[PENDING]
Add the library view. (+ verify the behaviour, write tests).[PENDING]
Replicate tests on all views.[PENDING]
Implement locking / versionning appropriately.[PENDING]
Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

XWiki Offline

XWiki Offline should allow to bring your XWiki on the road and make modifications to it. The synchronization should be highly transparent and run all the time.

The implementation should be open and integratable with XWiki P2P work.

The tool can be embedded in XEclipse and should support multiple wikis.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=6B55DAF432F71B66

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

XWiki REST API

XWiki should provide a fully REST api that is very nice and very complete in order to interact with all the data of XWiki.

The API should also provide it's services through GWT and other formats.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=5C5980F20B21C56A

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

XWiki Syntax validation, coloring and suggestion in XEclipse

XEclipse is an offline XWiki Editor which allows to edit remove XWiki pages.

We want to allow to provide additional services in the Wiki page editor:

  • syntax validation
  • syntax coloring
  • suggestions of tags and Apis
This should be quite similar with what we see in IDEs like Eclipse of IntelliJ.

The validation, coloring and suggestion should be supporting a mix of:

  • Wiki syntax
  • Basic HTML
  • Velocity
  • Groovy
It should support the XWiki api for the suggestions

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=99978464535DA2AF

Coordinated by *
  • Fabio Mancinelli
    Fabio Mancinelli
    Fabio Mancinelli dev

Proposed Projects

31 projects proposed in total.

Anti Vandalism Filters

While access rights are a global way of ensuring that only trusted people can edit, and CAPTCHA gives moderate results for preventing automatic spamming, an automatic vandalism detection mechanism is better as it allows anybody to edit, and does not annoy people with deciphering terribly distorted letters.

Wikipedia does that with the help of bots that revert suspect edits. XWiki can block suspect edits before they even happen.

Some filters/features:

  • Autodetect clients making mass requests and block their IP for a certain amount of time
  • Autodetect bad edits based on the entered text (machine learning algorithms)
  • Work with an anti-spam service that lists "bad" IPs
  • Users can indicate bad edits so that the filter can learn from new instances
Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Marta Girdea
    Marta Girdea
    Marta Girdea dev

Application Manager

XWiki is an Application Wiki, but so far it is pretty hard to manage applications in a wiki. The goal of this project is to provide an easy to use application manager, which can be used to easily find and install new applications, detect available updates, manage dependencies, etc.

Draft features:

  • Management interface, listing installed apps, and allowing to add/update/remove applications.
  • The manager should have a configurable list of URLs where to check for new applications
  • Each app should have:
    • name
    • description
    • version
    • repository URL
    • homepage URL
    • dependencies
  • The interface should list the installed apps, showing: name, description, installed version, available compatible version at the app's repo URL, and upgrade/remove buttons (if there's an error checking the URL, show a warning icon)
  • An "Add" button leads to the installation screen. Here the user can browse or search for available extensions in the configured repos, the results showing: name, desc, version, reqs. Links to complete version list, install, more info.
See also:
  • Add-ons manager in Firefox 3
  • Synaptic, the Ubuntu software manager
  • mac/google/opera gadget management
Coordinated by *
  • Vincent Massol
    Vincent Massol
    Vincent Massol dev
  • Thomas Mortagne
    Thomas Mortagne
    Thomas Mortagne dev
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

Application Wizard

Full AJAX (GWT) based Application Wizard. This should be an IDE like environement allow to create data oriented application from scratch on top of the XWiki Framework. It should allow to design the data model and the presentation page.
Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

Collaborative Business Drawing in GWT

This project is hard.

The objective is to extend the currently in development new Wysiwyg Editor with a collaborative business drawing tool.

The wysiwyg editor will support real-time collaborative editing. The business drawing tool should support drawing inside the same infrastructure. The merging functions of the Wysiwyg editor will be made available.

The drawing tool should work with GWT (Google Web Toolkit) and SVG or Canvas. At this point no SVG Api are fully available for GWT. This will need to be done.

VincentMassol: Not sure if it helps but here's a link to Gliffy a possibly similar plugin for Confluence: http://blogs.atlassian.com/news/2008/04/gliffy_now_avai.html

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=3D199037196AC6D0

Coordinated by *
  • Jean-Vincent Drean
    Jean-Vincent Drean
    Jean-Vincent Drean dev

Distributed XWiki Search Engine

Support multiple installations of XWiki being indexed on one or multiple XWiki Servers and share the index.

It should be possible to share easily the index so that multiple XWiki installations can be shared in one UI.

Also the search UI should be possible to customize depending on Document types.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=71AE9A71881FCD29

Design link: http://dev.xwiki.org/xwiki/bin/view/Design/DistributedXWikiSearchEngine

Coordinated by *
  • David Ward (+ Ludovic Dubost)
    David Ward (+ Ludovic Dubost)
    David Ward (+ Ludovic Dubost) dev

Gadget, Media and Content sites integration

The objective is to be able to integrate as many tools as possible from the web.

These include:

  • Youtube, Dailymotion
  • Scribe
  • Google Docs viewers, Calendar
  • Google, Netvibes Gadgets
Any web tools that has a Javascript embedding system is a candidate for integration.

The integration should be available with a simple macro with easy to use parameters and made available in the Wysiwyg editor either in Wysiwyg or with an image placeholder.

Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

Import Export from any other Wiki

Create a extensible framework to import export data between wikis. This should handle converting the data in the pages including links between pages and metadata as well as direct access to the data through either a web service (prefered) or database or the file system

The system should at least for MediaWiki and Confluence in import mode

Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

Improved content fetching mechanism for XWiki Watch

The feed reader plugin that Watch is currently using should be improved to maximize content fetching from feed sources. Also, building a whole new module allowing content fetching from other web sources (e.g. semantically marked html pages, relying on technologies that would address a range of content as wide as possible e.g. GRDDL)
Coordinated by *
  • Anca Paula Luca
    Anca Paula Luca
    Anca Paula Luca dev
  • Jerome Velociter
    Jerome Velociter
    Jerome Velociter dev

Installation Wizard

Create a web wizard that starts when XWiki products are started for the first time. The wizard would allow admins to set up a XWiki instance with:
  • database connection details
  • set an admin password
  • import the admin application
  • choose a set of applications to import in one's wiki
  • list the migrations that need to be executed and allow the user to select them, including for multi wikis installs
Note that this means modifying the xwiki packaging to include the admin XAR as part of the WAR package and the ability to download additional applications.

This also includes reviewing and updating accordingly the installation instructions on xwiki.org.

Coordinated by *
  • Vincent Massol
    Vincent Massol
    Vincent Massol dev

Full JSR 168 (portlet) compatibility

A while ago, XWiki could be integrated with eXo, a "friend" project providing portal services. But the integration was not maintained, as few people ever asked for it.

The goal of this project is to review/finish the existing portlet implementation, making sure that XWiki can be used in at least 2 portal containers.

See also: http://jira.xwiki.org/jira/browse/XWIKI-602

Coordinated by *
  • ?
    ?
    ? dev

New Data Model Component

This is part of the switch to the component-based architecture of XWiki.

The new data model has been discussed on the mailing list, and a prototype is already committed in the sandbox. This project aims at finishing the implementation, integrating it with the other components (storage, application logic), writing tests and documentation.

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Vincent Massol
    Vincent Massol
    Vincent Massol dev

New skinning system based on XBL

XBL is an XML language that allows binding a new presentational or behavioral aspect on top of an existing XML element. Although a not so popular language, and not implemented in most browsers, there is a small js library that implements XBL 2.0, along with other important W3C specifications rarely seen in the real web, and which can be used cross-browser: http://code.google.com/p/xbl/

The idea of this project is to make a new skin that uses XBL to enhance the raw markup so that a skin can insert new elements needed for styling not by changing the velocity templates that generate the HTML, but by binding those elements from an XBL/CSS file.

What needs to be done:

  • Integrate the XBL library and check that it works
  • Strip the velocity templates of extra styling-only elements
  • Create bindings in the skins to add those elements back
Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

New Storage Component

This is part of the switch to the component-based architecture of XWiki.

The current storage model is not so well designed. The switch to a component-based architecture is a good opportunity to redesign it, and reimplement either the hibernate or the jcr one accordingly. Of course, the model will have to be integrated in the platform and completely replace the current storage.

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Vincent Massol
    Vincent Massol
    Vincent Massol dev

Office Import

Allow importing Office documents into XWiki using the WYSIWYG editor. This entails converting them to proper wiki syntax (Word, Excel). For example importing an Excel document should generate proper wiki tables. This project should also allow viewing attached Office documents in view mode.

Idea: http://weblogs.java.net/blog/tchangu/archive/2005/12/open_office_jav_1.html

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=9CC37920211FF4A4

Coordinated by *
  • Vincent Massol
    Vincent Massol
    Vincent Massol dev

Presentation Application

A while ago, XWiki contained a presentation application based on S5, but it wasn't maintained, it wasn't often used, so it was dropped. Still, a better presentation application would be useful.

Some feature ideas:

  • WYSIWYG slide editor (not too fancy)
  • Style templates (graphics)
  • Slide layout templates
  • Export to PDF
  • Easy upload to Slideshare
  • Different view modes: Fullscreen, inline presentation, outline, slide list...
Se also: Scientific Presentation Application for SPAWN.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=27F450DE66682B26

Coordinated by *
  • Jerome Velociter
    Jerome Velociter
    Jerome Velociter dev

Putting the Query plugin and JCR storage back on track

XWiki has a JCR storage, written as another SoC project. Unfortunately, since nobody was using it, as JCR was not as popular back then, it was unmaintained and soon became deprecated.

Of course, it cannot be used unless there is a common query language that can be used for both the current hibernate-based storage and the JCR storage. Fortunately, there is another component called the QueryPlugin that can be used. Another SoC project, it was also left to rot.

The idea of this project is to:

  • Get the JCR storage up to date with the recent changes in the Hibernate storage
  • Check the status of the QueryPlugin and update it accordingly
  • Replace the direct usage of HQL queries and Hibernate with calls to the query plugin
  • Document the new way of working with queries
  • Add tests that check that the Query plugin continues to work
  • Add tests that check that the JCR storage continues to work
  • Optional: Add tests that check that there are no direct HQL/Hibernate queries in the core
Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

Review Application

While in the wiki way anybody is free to update a document, sometimes feedback should be given on a read-only document, in the form of a review.

Basically, a review is a positioned comment. In Review mode, the user can click on a spot in the document to add comments, highlight text, delete text, insert text, with an interface like the one in Adobe Acrobat Professional. We need to find a way for the reviewed data to be anchored, so that later edits won't mess all the reviews.

The review interface can be shown in cumulative or standalone mode, which means that previous reviews can be also be displayed to another reviewer or not.

Reviews can be private (only the document author can view the reviews) or public.

The author can then view such a review (or all of them together) and:

  • easily apply "delete" and "insert" changes with one click
  • easily remove the comments and highlights
  • while being able to also edit the document.
See also: Review Application in SPAWN.
Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Marta Girdea
    Marta Girdea
    Marta Girdea dev

SSO and OpenID Support

We need any Single Sing On (SSO) support in XWiki. Standards: OpenID, SAML, Shibboleth, LID, inames.

  • XWiki as SSO client
Possible to login in xwiki with SSO account.

  • XWiki as SSO server
Provide SSO accounts in xwiki installation. For example openid: username.xwiki.com

We need research SSO systems to choose best, more commonly SSO framework.

More information: http://mail-archive.objectweb.org/xwiki-dev/2007-03/msg00169.html

Links:

http://openid.net/
http://shibboleth.internet2.edu/
http://en.wikipedia.org/wiki/SAML
http://lid.netmesh.org/
http://en.wikipedia.org/wiki/Inames
http://yadis.org/
http://federid.objectweb.org/
http://jira.xwiki.org/jira/browse/XWIKI-402

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=99D93C2209593362

Coordinated by *
  • Thomas Mortagne
    Thomas Mortagne
    Thomas Mortagne dev

Single Sign-On (or Central Authentication System) Integration

A project proposal from a prospective Google Summer of Code student participant

Single Sign-On (or Central Authentication Service) is actively deployed in large organizations, especially universities and colleges. I plan to build a module that integrates Single Sign-On (SSO) or Central Authentication Service (CAS). It will help end users by eliminating extra registration /login process, and integrating organizational access control.

There are many SSO/CAS in the market. The following services are on my short list to integrate:

  1. JA-SIG Central Authentication Service
An open source CAS originally developed by Yale University, JA-SIG has been deployed in over 80 universities worldwide, and has a user base of more than one million

2. Shibboleth Like JA-SIG, Shibboleth is actively adopted in Europe, and it is estimated to have a user base of over 4 million!

If time possible, I would also like to integrate Open Id and Windows LiveId. However, my priority is JA-SIG & Shibboleth, since they are open source and adopted in many educational institutions. I think XWiki is an enterprise level application and by integration with enterprise level single sign-on, XWiki will be more appealing to educational institutions for central (hosted) installation.

Coordinated by *
  • Minghui Yu
    Minghui Yu
    Minghui Yu dev
  • Estimated workload: 35 hours per week for 2 months. Read more...

Skin Wizard

There was the idea of making a XWiki.Skin class, containing some options for colors, margins, widths, and to generate the skin based on these variables. For example, there should have been a 'padding' property which should have been used for panels, menu, page content… It was working for a while in the 'xwiki10' skin. The skin is supposed to be customized (well, based on the same general layout) using a skin wizard.
Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Marta Girdea
    Marta Girdea
    Marta Girdea dev

Translation Management

Goals:
  • Cleanup translations
    • remove deprecated entries
    • rename existing according to some best practices (to be defined, too)
    • split ApplicationResources into specific files, keeping only core messages in there, the others going to plugins or applications
  • Add a mechanism for plugins to have their own static resources
  • Rewrite the message tool with better performance in mind
  • LiveTranslate: interface mode that allows to (right?)click on any translatable piece of text and enter a new value for it, which will get stored in the translation document
  • Reporting tool that shows how do different translations cover the base language
Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev
  • Marta Girdea
    Marta Girdea
    Marta Girdea dev

Various small applications and plugins

XWiki is an application wiki, but it does not have enough applications so far (compared with the hundreds or thousands of extensions available for Moodle, Joomla or Wordpress, for example).

This project does not have one specific goal, but allows the student to bring his own application/plugin ideas. A good application should include at least 5 ideas for new small applications or plugins. Other work could include:

  • cleaning up existing plugins, moving them to a distinct build module, documenting, testing
  • maintaining existing applications (like the FAQ, poll, blog, photo album)
Coordinated by *
  • ?
    ?
    ? dev

Watch UI & ergonomics improvements

Improving XWiki Watch feed reader user interface, in both matters of usability and style, according to the rules of Human Computer Interaction. Final purpose of the project is to offer a better user experience for Watch by providing optimized ergonomics and a more appealing skin.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=99528503F0C66B30

Coordinated by *
  • Anca Paula Luca
    Anca Paula Luca
    Anca Paula Luca dev

WebDAV API

Workplan

GoalStatus
Create a maven project for the existing code base.[COMPLETE]
Modify the pom to deploy the webdav servlet easily (mvn jetty:run).[COMPLETE]
Fix / Implement basic browsing functionality.[COMPLETE]
Fix DAV properties of various file types.[COMPLETE]
Fix support for editing wiki files (GET / PUT).[COMPLETE]
Implement adding / removing pages / spaces (MKCOL / DELETE).[COMPLETE]
Modularise / Refactor the code base.[COMPLETE]
Implement integration-test support.[COMPLETE]
Implement renaming spaces / pages.[COMPLETE]
Implement adding / removing / renaming / moving attachments.[COMPLETE]
Migrate to XWIKI-1.6 core.[COMPLETE]
Implement handling a large number of entries in the attachments view.[COMPLETE]
Implement support for temporary (in-memory) files (file name begins with a ".").[COMPLETE]
Create an installation guide.[COMPLETE]
Modify the pom to build a jar (instead of a war).[COMPLETE]
Write a separate minimal war to respond to the OPTIONS request correctly (interoperability).[COMPLETE]
Handle large numbers of pages in spaces (A, B, C, D … view).[COMPLETE]
Implement webdav-office integration. (New)[INPROGRESS]
Perform ineroperability testing and report / fix bugs.[INPROGRESS]
Add global support for files starting with a "." (already implemented for pages).[PENDING]
Add support for directories starting with a "." or "(".[PENDING]
Implement Add / Remove member methods on all other views appropriately.[PENDING]
Add the library view. (+ verify the behaviour, write tests).[PENDING]
Replicate tests on all views.[PENDING]
Implement locking / versionning appropriately.[PENDING]
Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

Web Services integration for XWiki Watch

Integrating our collaborative RSS reader Watch, with various Web 2.0 services oriented to publishing and retrieving information on/from web, as could be:
  • publishing data from XWatch to blog services
  • exchanging data with collaborative bookmarking services
  • applying services for an article or a feed (digg, favourite on technorati, etc.)
  • providing a method of adding data to Watch from outside the application: collecting data through browser extensions, bookmarklets, etc
  • whatever turns you on
Coordinated by *
  • Anca Paula Luca & Jerome Velociter
    Anca Paula Luca & Jerome Velociter
    Anca Paula Luca & Jerome Velociter dev

CoDi

This application wants to be a real-time, collaborative environment for creating, developing, versioning and online publishing of vector graphics. It can serve as an online meeting room for people working together on a project, who need to share ideas through the use of svg-based media (for example UML diagrams describing several parts of a project), or as a personal web-based drawing board, very useful to put down ideas quickly and to share them with colleagues or to have fun drawing with friends, and communicate with them in real-time through the incorporated chat (text and voice).

Such a tool can serve to a wide range of people, starting from graphic designers, architects, software engineers, teachers and students to the most uninitiated computer users, who are in search of a simple, clean, web-based application to serve their needs in this area.

Where could Codi be used in XWiki? It can be used as an application for Chronopolys (imagine having a mindmeister inside Chronopolys, that could effectively be used for project management), Workspaces and even Enterprise (free-drawing with chat, for instance). Codi can be customized to be used anywhere inside a bigger application. I really consider that this will be a nice feature to have. Why would it be better that other similar projects that were done in the past? Because I will make it using xwiki features from the scratch (not trying to adapt it to be used by xwiki).

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

XWiki Cross Platform Web and Desktop Widget

The objective is to spread the use of your Wiki. In order to do this we need to make your wiki content accessible from any existing widget platform:

  • iGoogle, NetVibes, My Yahoo
  • Facebook, OpenSocial
  • Desktop widgets (Google Desktop, Windows Vista, Dashboard)
  • Custom Desktop application (Firefox extension, Windows Tray)
The Widget should show the most important information from the Wiki (what's new, stats, members, watched pages) but also be extensible by adding pages created in the wiki to show information in the widget

The widget should include notifications features (using AJAX or internal scheduler) to warn of new content.

The widget should support multiple wikis in a nice UI.

Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

XWiki Jabber, Google Talk, Skype Integration

The objective is to integrate the major IM tools with XWiki. It should be very easy to start a chat in any of these tools with members of the Wiki. For example, editors of a page or members of a group (XWiki group or Workspaces space) could be invited to join a chat.

The tool then should allow to archive the chat in wiki pages.

The tool should allow to list the chats actively launched or monitored by the wiki.

This can be done using a Jabber client or with a dedicated Skype instance remote controled.

A Jabber AJAX chat tool can also be integrated for users not having Jabber or Google talk installed.

This should work with public Jabber server and also with private Jabber servers.

In case of public servers (Jabber,GTalk,Skype) the users will list their ID in their profile.

In case of a private server the Jabber server would be fully integrated with the wiki (the wiki or LDAP being the source of users)

Coordinated by *
  • Ludovic Dubost
    Ludovic Dubost
    Ludovic Dubost dev

XWiki Offline

XWiki Offline should allow to bring your XWiki on the road and make modifications to it. The synchronization should be highly transparent and run all the time.

The implementation should be open and integratable with XWiki P2P work.

The tool can be embedded in XEclipse and should support multiple wikis.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=6B55DAF432F71B66

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

XWiki REST API

XWiki should provide a fully REST api that is very nice and very complete in order to interact with all the data of XWiki.

The API should also provide it's services through GWT and other formats.

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=5C5980F20B21C56A

Coordinated by *
  • Sergiu Dumitriu
    Sergiu Dumitriu
    Sergiu Dumitriu dev

XWiki Syntax validation, coloring and suggestion in XEclipse

XEclipse is an offline XWiki Editor which allows to edit remove XWiki pages.

We want to allow to provide additional services in the Wiki page editor:

  • syntax validation
  • syntax coloring
  • suggestions of tags and Apis
This should be quite similar with what we see in IDEs like Eclipse of IntelliJ.

The validation, coloring and suggestion should be supporting a mix of:

  • Wiki syntax
  • Basic HTML
  • Velocity
  • Groovy
It should support the XWiki api for the suggestions

GSOC link: http://code.google.com/soc/2008/xwiki/appinfo.html?csaid=99978464535DA2AF

Coordinated by *
  • Fabio Mancinelli
    Fabio Mancinelli
    Fabio Mancinelli dev
Tags:
Created by Sergiu Dumitriu on 2009/03/07 12:30
   

Get Connected