This is the application submitted to Google for GSOC 2010:
TikiWiki CMS/Groupware is a full-featured, web-based, multilingual, tightly integrated, all-in-one Wiki/CMS/Groupware, Free Source Software (GNU/LGPL), using PHP, ADOdb and Smarty. It is actively developed by a very large international community and is translated in over 30 languages. Over 220 developers have contributed code to the project.
TikiWiki can be used to create all sorts of Web applications, websites, online community sites, portals, knowledge base, intranets, and extranets. TikiWiki offers a very large number of features "out-of-the-box", arguably more than any other Open Source Web Application. Highly configurable & modular, all the features are optional and administered via a web-based interface. Major features include a robust wiki engine, news articles, discussion forums, newsletters, blogs, a file/image gallery, bug & issue tracker (form generator), a links directory, polls/surveys and quizzes, a FAQ, a banner management system, a calendar, maps, Mobile Tiki (PDA, VoiceXML and WAP access), RSS feeds, a category system, tags, an advanced themeing engine (Smarty), a workflow engine, a spreadsheet, live support, Shoutbox, inter-user messages, a menu generator, an advanced user, group and permission system, internal search engine, external authentication support, and much much more.
Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?
We were a participant last year and enjoyed the experience thoroughly. We felt that it greatly helped both the organization, our mentors/developers and the students involved. It led to increased participation, important contributions to the code base and features of the platform. We hope that we can benefit similarly this year, to gain increased participation and exposure for the community, and to use GSOC as a rally point around our development initiatives.
Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.
We participated last year (2009). It was an awesome experience. One of our mentors even volunteered to host us at his UK residence/home office for a special GSOC edition of "TikiFest" (what we call TikiWiki developers/community gatherings). See http://tiki.org/TikiFestGSOC2009. We had a lot of good work done while we were there and also throughout the summer. Lots of good code contributed, important features were given a boost by the GSOC participation, and bonding amongst the participants.
The main challenge was mentors being a little too busy to spend the amount of time that they wanted to. This year we will compensate for this by being more conservative with mentor allocation, meaning that we will keep more mentors in reserve and officially make them assisting mentors (I know this is not really in the GSOC system but we think that having an officially recognized assistant mentor helps within our organization) instead of having them mentor separate students on their own.
Interested students are encouraged to join and ask question on our public mailing list http://sourceforge.net/mail/?group_id=64258. If they instead want to communicate to our GSOC committee in private, they can email us at gsoc (AT) tiki.org
#tikiwiki on irc.freenode.net
- Name and e-mail
- Which project do you wish to work on? See http://dev.tiki.org/GSOC+Ideas+2010
- Detailed description of how you intend to achieve the goals of the project you selected, e.g. what you intend to do, your suggested implementation, and a list of quantifiable results, a suggested project schedule?
- Availability: How many hours per week can you spend working on this? What other obligations do you have this summer?
- Bio: Who are you? What makes you the best person to work on this project?
- Do you have a preferred/suggested mentor for your project?
- Where do you live? (we'll try to match you with a mentor in a compatible timezone, or in the same city, if possible.)
- Have you analyzed the field? Please provide a list of 3 (or more) similar and/or related existing applications (free source or commercial) and your thoughts on these. (min 300 words on each)
- Are you comfortable with the 3 Rules of the community and the fact that you'll be committing directly to the core of TikiWiki?
- Have you put any code or writing that you've authored online? If so, please provide links.
- What other question(s) should we have asked you?
We select mentors based on:
1. Their track record of reliability in the community.
2. Their interest in mentoring (as opposed to just coding).
3. The level of interest in the projects that they plan to mentor.
4. Mentors must have sufficient technical ability to help the student with the project.
1. The first thing is to plan properly to minimize the risk by conducting a thorough process to pick the candidate and project.
2. It is very important to have regular follow-ups. Code produced in the context of the GSOC project will become an integral part of TikiWiki code (not an optional 3rd party add-on), and thus, the broader community will be involved in setting the requirements, testing, bugfixing, documentation and translation.
3. Ideally, at least one of the mentors should live geographically close enough to the student to enable face-to-face follow-up meetings if necessary.
4. If, despite these precautions, a student should disappear, the administrator will intervene and identify the cause(s) of this disappearance. We will follow up/ discuss with the GSOC team to find a solution (Fund another student on the same project? etc.) It is noted that the GSOC initial bonding and project planning phase with the student is so important, and should hopefully avoid any disappearing contributors.
5. One of the 3 Rules of TikiWiki is "commit early, commit often". Frequent commits of code will ensure that we will not face a total loss if a student should disappear, and this will also help someone else continue on the work.
1. This is unlikely because mentors are picked because of their track record of reliability in the community. However, sometimes, unusual circumstances arise. Again, the administrator will be in regular contact with each team to make sure that all teams are intact and functioning well. We will be designating an official assistant mentor for each student that will be accepted this year.
2. Again, since the GSOC project will be an integral part of TikiWiki code and thus, the whole community will be potentially involved, one of the active community members will fill the void, while attempting to minimize the negative impact for the student and the project.
What steps will you take to encourage students to interact with your project's community before, during and after the program?
1. There are several consultancies that use TikiWiki for customer projects. If the student did a good job and interacted positively with the community, the odds are high for him/her to get TikiWiki-related work contracts or even a full-time position.
2. Our experience with students is that they tend to propose more they can realistically finish within the GSOC timeframe. Our mentors will encourage the students to continue on things they want to do after GSOC, while ensuring that the student is not overloaded with the pressure of aiming to complete too much during GSOC.
3. TikiWiki is a very versatile application. Chances are that, having gained familiarity with the software, the student will have a use for it in many future personal or professional projects.