GSOC Ideas 2009

Please read Google Summer of Code 2009 GSOC for more background information on TikiWiki CMS/Groupware and the community. For information on potential mentors, see GSOC Mentors Bio 2009.

A very important aspect:
"In our case, the GSOC project will be an integral part of TikiWiki code (not an optional 3rd party add-on) and thus, the student will benefit from feedback from (and interaction with) the broader community being involved in setting the requirements, testing, bugfixing, documentation and translation. Our mentors will ensure that students' projects and deliverables are well-defined and demarcated, while helping the student integrate with the community, so as to provide an excellent and fulfilling learning experience"

Priority goes to developers who not only provide useful functionality for TikiWiki but also that have a real project which will live on after GSoC. Eating our own Dogfood has proven beneficial for TikiWiki evolution and we think it will be good for you too :-)

For any questions, you can reach 2009 TikiWiki Google Summer of code committee at gsoc at tiki.org

General skills
  • PHP
  • Smarty
  • AdoDB or pdo (Database abstraction layer to use MySQL, Postgresql, etc)
  • Zend framework eventually
  • jQuery
  • Communication and community coding

GSOC Ideas 2009

Edit UI Revamp Project

The current interface provided to users to edit wiki page content has been criticized for being confusing for users, because there are too many fields for information cluttering up the screen. The strategy to overcome this is to hide information/input fields by default, using UI elements such as twisters to expose necessary UI to show more information/input fields, combined with an overall redesign of the editing interface. There could also be semi-intelligent exposing of information/input fields depending on context and "helpers" that popup providing hints for users.

The Edit UI Revamp design process is already well underway. The goal of the GSOC project is to implement a consistent look and feel for the editing interface for TikiWiki. The specs are already almost complete and it is the student's role to implement the code necessary to create this UI based on these specifications. The student will get the opportunity to contribute his own ideas to refine the existing specifications.

See Edit User Interface Revamp for more information.

Potential mentors:

  • Rick Sapir
  • Gary Cunningham-Lee
  • luci aka luciash d' being
  • Marc Laporte
  • Jonny Bradley

Difficulty level:

Required skills/interests

  • Strong background in Usability.
  • Interest in TikiWiki as a whole as the whole application will need to be gone through and making the UI nicer and more consistant.

Theme/color scheme generator

TikiWiki lacks a theme generator, i.e. a tool for non-technical users (users who do not know CSS), to customize colors of each and every different element in the interface. The Theme generator will allow the user to select colors from a color picker, and define them for elements in any existing theme.

Please see:

Difficulty level and expectations:

  • Low to moderate
  • Needs to know CSS well

Potential mentors:

  • Gary Cunningham-Lee
  • luci aka luciash d' being
  • Marc Laporte

Official PHP-BB forum and MediaWiki-TikiWiki importer

Potential mentors:

  • Patrice Weber
  • Nelson Ko

Difficulty level and expectations:

  • Moderate
  • Knowledge and familiarity with wiki syntax
  • SQL / MySQL knowledge and experience required
  • Data migration

A number of community members have a number of task specific-scripts to import MediaWiki content, as well as PHP-BB forum content into TikiWiki. However, there is a need for an official import script that is in the core of TikiWiki, as these scripts were task specific and not generalized enough.

The student's role will be to study these existing scripts, as well as propose and develop new/better approach to solving the same problem, and together with the mentor, develop importers that will be part of the core distribution of TikiWiki.

Embeddable Project Management Widgets

TikiWiki already has all the tools available to conduct project management, and pilot implementations already exist. The goal of this project is to glue together various features of TikiWiki, calendars, trackers, wiki pages, and through the development of new wiki-plugin code, to provide a tool set of project management widgets that can be used to create project management dashboards.

These widgets will be able to:

  • Display and allow editing of status of tasks
  • Provide a visual representation of task completion
  • Provide a summary of who is doing what (task assignment and responsibilities)

Please see project management for more information

Potential mentors:

  • Marc Laporte
  • Jean Georgiadis MBA, ing, PMP
  • Régis Barondeau

Difficulty level:
Low to moderate

Required skills/interests

  • Good overall understanding of project management.
  • Experience with existing Project management applications an asset.

Translation Tools Integration for Cross Lingual Wiki Engine project

The Cross Lingual Wiki Engine project aims at designing, developing and testing lightweight wiki tools to support communities that collaboratively create and maintain content in multiple languages.

The project was started in November 2007, and thus far, we have implemented basic features which could be used by a community of motivated and technically sophisticated users, to collaboratively produce multilingual content in simple scenarios.

The GSOC project is specifically aimed at integrating translation tools (both online services such as translate.google.com, open source dictionary and terminology software, as well as text alignment tools.

Such tools could include:

  1. PhpDictionary: http://sourceforge.net/projects/phpdictionary/
  2. GlossWord: http://sourceforge.net/projects/glossword/
  3. bitext2tmx: http://sourceforge.net/projects/bitext2tmx/
  4. PHP implementation of Dijkstra's algorithm http://en.giswiki.net/wiki/Dijkstra%27s_algorithm#PHP


  • Alain Désilets
  • Seb Paquet
  • Xavier de Pedro

See www.wiki-translation.com for details.

Level of difficulty: Medium.

Basic Ecommerce shopping cart using TikiWiki Trackers

TikiWiki already has the ability to manage product lists & descriptions. There is already a working version of basic online ordering functionality. The goal of this project is to extend this functionality into a basic but complete ecommerce shopping cart, by coding the glue between different features.

Features to be added:
* "Add to cart" button in wiki pages
* A simple cart (external link) like this (external link)
* better https handling
* link to PayPal and Google Checkout
* Email confirmations

Please see: Shopping Cart

Potential mentors:

  • Marc Laporte
  • Tom Aratyn
  • Matthew Bickerton

Difficulty level:

Special skills required:

  • Knowledge of e-commerce shopping carts

Drag and Drop functionality

The goal of this project is to make use of Jquery AJAX libraries (and other libraries if needed), to build drag-and-drop and autosave functionality into the following components of TikiWiki.

The following are needed:

  • Drag & Drop files into file galleries from Desktop
  • Add, move, modify events in calendar via drag and drop
  • Drag & drop arranging of items in categories

Possible mentors:

  • Patrice Weber
  • Nelson Ko
  • Jonny Bradley

Difficulty level:

Required skills/interests

  • Good knowledge of JavaScript and how AJAX works
  • jQuery

Social Networking based on Existing Friends and Profiles Features

  • Implement easily customizable user profiles and inter-user interactions, thus enabling social networking with Tiki by extending the existing Tiki Friends and User Profiles features.

The features that have to be added to Tiki Friends and User Profiles are:

  • Enhanced customizable friends list that shows pictures/information based on admin/user defined settings
  • Search and filter friends list based on criteria
  • Allow for viewing of friends of friends
  • Allow for classifying of friends with tags

Difficulty level and expectations:

  • Moderate
  • Good understanding of social networking
  • Knowledge of SQL/MySQL required

Potential mentors:

  • Seb Paquet
  • Morgan Tocker
  • Nelson Ko
  • Yan Levasseur

Related links

WebDAV Access to TikiWiki File Galleries

The TikiWiki File Galleries is already a full featured system that includes version control on uploaded files. The next step is the adding of the capability to upload and manage files via WEBDAV.

The goals of this project is to:

  • There is already some WEBDAV work being done in TikiWiki. This project will finish off this work.
  • Implement Webdav access to file galleries from Open Office
  • Implement a large file uploader that will upload large files via WEBDAV interface.

Possible mentors:

  • Patrice Weber
  • Nelson Ko

Difficulty level:
Moderate to high

Skills required:

  • Knowledge and experience with WEBDAV
  • Knowledge and experience with document management

Generalized Interface to Plug In Third Party Search Engines

There is already a working version of 3rd party search (Sphinx) integrated with TikiWiki for the support.mozilla.com site. There is also a working implemention of Google search APIs. However, all these efforts use separate integration approaches.

We want the ability to easily plugin any third party search system, whether it is Sphinx, Google Search or Lucene.

The goal of this project is to:

  • Create a generalized third party search engine interface within TikiWiki that will allow for rapid plugging of third party-search engines.
  • Allow for memcache and file system caching of search queries and results
  • Support for tag and keyword synonyms, and configuration of this
  • Integrated tag, category and full-text search

Difficulty level and expectations:

  • Moderate to High
  • Experience in search related technologies

Potential mentors:

  • Nelson Ko
  • Sylvie Greverend

Kaltura - Tikiwiki Collaborative Video Integration

Kaltura is a platform for collaborative video editing wiki-style. This allows for videos to be edited within a TikiWiki page, similar to the text, by multiple collaborators. Editors can add voiceovers, insert clips, cut-and-paste and rearrange clips, add subtitles/other effects.

A proof of concept implementation is already available. The goal of this project is to make the proof-of-concept a reality by coding the integration components necessary to insert Kaltura collaborative video editing into TikiWiki.


  • User account and access control integrations for embedded collaborative videos, should be integrated
  • Collaborative video editing history should be integrated
  • Admin panel to configure/setup Kaltura in TikiWiki

Difficulty level and expectations:

  • Moderate
  • Must enjoy editing video, putting up videos on video sites, understand web user interface issues, and be able to implement in PHP/Smarty


  • Nelson Ko
  • Matthew Bickerton
  • Jonny Bradley

Workspaces Integration

Tiki has thousands of features and one the them is Aulawiki. It's a mod for educational environments that creates workspaces for users to share resources within them (wiki pages, blogs, forums, ...). This allows tiki users to organize work areas in their tikis. The main objective of this project is to integrate all the available functionality of workspaces in the tiki core. Going with tiki into social networking scenarios, like we are doing, implies that a way of organizing the resources and permissions in groups is needed.

The Aulawiki code for workspaces is already available. The main goal of this project is to add this "new" workspaces feature into tiki by coding the integration of the current workspaces. Almost everything is already done in tiki (remember we have thousands of features), but we sometimes need a way to integrate all of them ;-)



  • Implement the new Workspaces concept.
  • The new architecture will be based on Categories and Profiles.
  • Admin panel to configure/setup Workspaces in TikiWiki

Difficulty level and expectations:

  • Moderate
  • Knowledge of SQL/MySQL required


  • Nelson Ko
  • Louis Philipphe
  • Roberto López

Code optimization

Tikiwiki has some features that evoluate a lot and now need some redesign and rewritting. For example: structures, categories, trackers.
If you are interesting in algorithm, optimization and enjoy to write clean code, this can be fun


  • already some experience in PHP

Difficulty level and expectations:

  • Difficult - but mentors will help you


  • sylvieg
  • Jonny Bradley


The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.

Accessibility (WAI & 508)
Articles & Submissions
BigBlueButton audio/video/chat/screensharing
Browser Compatibility
Communication Center
Contacts Address book
Contact us
Content template
Custom Home (and Group Home Page)
Database MySQL - MyISAM
Database MySQL - InnoDB
Date and Time
Debugger Console
Directory (of hyperlinks)
Documentation link from Tiki to doc.tiki.org (Help System)
Draw -superseded by Diagram
Dynamic Content
Dynamic Variable
External Authentication
Featured links
Feeds (RSS)
File Gallery
Friendship Network (Community)
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Inter-User Messages
Kaltura video management
Live Support
Logs (system & action)
Lost edit protection
Meta Tag
Missing features
Visual Mapping
OS independence (Non-Linux, Windows/IIS, Mac, BSD)
Organic Groups (Self-managed Teams)
Performance Speed / Load / Compression / Cache
Revision Approval
Search engine optimization (SEO)
Semantic links
Shopping Cart
Site Identity
Smarty Template
Social Networking
Spam protection (Anti-bot CATPCHA)
Staging and Approval
Syntax Highlighter (Codemirror)
Tell a Friend
Terms and Conditions
Federated Timesheets
Token Access
Toolbar (Quicktags)
User Administration
User Files
User Menu
Webmail and Groupmail
Wiki History, page rename, etc
Wiki plugins extends basic syntax
Wiki syntax text area, parser, etc
Wiki structure (book and table of content)
Workspace and perspectives

Useful Tools