TikiWiki & the Chicago '05 MLSS
This page documents my experiences using TikiWiki for the Chicago '05 Machine Learning Summer School. Please add at least two kilograms of salt to anything I say, as I am not a wiki expert. I'm writing this documentation in the hope that people who know more than I do will get cheesed off by my documentation and write their own, thereby making my documentation redundant.
Related Article: Post on JLangford's Machine Learning Blog (13 June 2005)
Note of course that TikiWiki has a lot of great documentation, but I find it too overwhelming to read. But they've put a lot of effort into it, and the Flash movie tutorials in particular are good eye candy.
I have only bothered writing documentation for what I feel isn't adequately documented by the TikiWiki community.
A simple content management system that enables lots of users to simultaneously make and modify the pages of a website.
If that's not enough of a definition for you, go read about them in the Wikipedia.
Software used to create a wiki is called a wiki engine. Here's a long list of engines.
TikiWiki is one of the most complete wiki engines around. It has a lot more features than are offered by most other Wikis, such as calendars, polls, forums, etc. In that sense it is a full Content Management System - most wiki engines just have basic features like editable pages.
Having said that, I'm not sure if I would use TikiWiki in future (I'm really p*ss*d that I could never get image galleries working properly on it and group permissions didnt always work correctly) - and intend to give other wiki engines a shot at some point.
Those of you who like dead-tree versions might want to check out the 350 page TikiWiki PDF (with screenshots!)
Installing the software (on a Linux box)I worked from the directions from this webpage as I was installing on a linux box with an Apache server. (Most linux boxen run Apache by default.)
I didn't have root access to the Linux box I was working on, but only had to bug the system administrator (John O'Langford) for one thing, which was setting up a MySQL account (TikiWiki needs a database).
Here's what the root person would type in a situation where
cd /home/dinoj/public_html/tiki mysqladmin create tiki mysql --user=root --password=bigmac mysql mysql> GRANT ALL PRIVILEGES ON *.* TO dinoj'@'localhost' -> IDENTIFIED BY 'tmpasw$d' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO 'dinoj'@'%' -> IDENTIFIED BY 'tmpasw$d' WITH GRANT OPTION;
(I'm not sure if the third line above is required - I've never used MySQL myself.)
Now you should be able to get to your TikiWiki website http://www.myurl.org/tiki/tiki-install.php (where www.myurl.org is the web address corresponding to /home/dinoj/public_html. You can do everything with the web browser from now on, once you login as admin (user name = password = admin). Also, don't worry about the PHP extension - you don't have to know any PHP with TikiWiki.
By the way, if you are ever asked to choose a structure to start your default tikiwiki with, the "FishClub" option is fine. You're going to change it anyway.
Setting up your wiki
Many useful pages can be got to from the admin menu http://www.myurl.org/tiki/tiki-admin.php (or click on "admin-click" in the "Applications" panel on the left hand side, but for some reason, some of the most important ones can't. I've listed these below.
You can create different pages for different things (e.g. a description of a tutorial/talk/presentation or a signup sheet). Pages are called articles and you can create new ones from http://www.myurl.org/tiki/tiki-list_articles.php (go to "edit new article")
Modules are the little menus that appear on the screen. You can make some appear to different groups of people. http://www.myurl.org/tiki/tiki-admin_modules.php . You can change an exisitng module by "edit"ing it at the top (where it says "name title action" - under "action") then scroll down to the bottom where you see the html of the module under "create new user module". You can modify the html in any way you wish, linking to other websites or to articles you've created.
Forums, or bulletin boards, can be created with http://www.myurl.org/tiki/tiki-admin_forums.php
Surveys can be created with http://www.myurl.org/tiki/tiki-admin_surveys.php (and I wish I could figure out a way to create surveys that ordinary users can participate in but not see the results of, since the way that is supposed to do this - using permissions - doesnt work).
Calendars can be created with http://www.myurl.org/tiki/tiki-admin_calendars.php. I wish calendars could be usably printed from here. And their interface for adding new events is - to use a polite euphemism - disgusting.
FAQs can be created with http://www.myurl.org/tiki/tiki-list_faqs.php. Once you set up a collection of FAQs on some topic, you an add individual faqs by clicking on the speech bubble with a question mark.
Adding new usersEach user belongs to at least one group. Permissions are set for groups, not for individual users. To change groups (including adding new groups and changing permissions) go to http://www.myurl.org/tiki/tiki-admingroups.php . To add users, go to http://www.myurl.org/tiki/tiki-adminusers.php .
Anyone who views the wiki on the web is in group "Anonymous". Anyone who registers on the website (which by default is any human with web-access) is in group "Registered". You can also create other groups with more rights to edit pages, etc.
Here are some things I did, and many things I wish I'd done.
Before the summer school
Give the admin password to a few other people (e.g. other organizers) in the event that you are struck down by a meteorite while walking home.
Get a bunch of detail-oriented volunteers (otherwise you'll end up doing too much work.)
Set up a guest account.
Get the basics of the wiki ready about three weeks beforehand, and then send out emails to participants encouraging them to use it. In your email, send out a pass code for participants to use while registering. Send this email out at least twice. Also send the password for the guest account to everyone.
Create Forums for people to ask questions e.g. "must I bring a sleeping bag?", "is there laundry?", "are there cheap dingy hotels nearby?". Set each forum up so that posts to it are immediately emailed to some volunteer tasked with replying to such posts.
Anticipate other questions by setting up FAQs, posting your own questions and then answering them.
Set up a file gallery so that slides, etc can be stored on the wiki itself. Set permissions so that anyone (i.e. anonymous users) can download files.
Set up a page for each presentation/lecture. Send presenters emails on how they can edit their pages. Don't expect any of them to actually do it, so place something there first so they feel pressurized to edit it. (In a couple of years, people will be used enough to wikis to do this themselves.) Press lecturers for slides (even drafts) and put them up beforehand.
Set up calendars of events.
Set up an image gallery. Set permissions so that only registered users (possibly higher permissions if you are paranoid) can see pictures.
Set up surveys for things you` would like to know beforehand, e.g. the number of participants who are bringing their own laptops. Don't expect a full answer - this is a sample. Therefore, do not phrase your questions so that a negative answer is equivalent to no answer. For example, don't ask those who are bringing laptops to say so - instead ask people "Are you bringing a laptop ? Y/N". Also remember that certain groups of people are more likely to check out the wiki beforehand than others.
During the summer school
Set up a forum for social events so that participants can organize events among themselves.
Regularly make updates, e.g. new slides for lectures, new events in the calendar.
Use the front page of the wiki as a 'latest headlines' page.
Set up pages for events (e.g. tutorials, boat trips) that need 'sign-up sheet' capability.
Set up surveys for various things. To protect the guilty, some surveys may need to be set up so that participants cannot see the results.
After the summer school
Put up lists of participants
Make sure the wiki remains as a record of events for future visitors. Possibly freeze most permissions so it can't be edited by anyone other than the admin.
Don't forget the admin password.
This documentation was written by Dinoj Surendran in June 2005. He met his first wiki in September 2004, when Gunnar Raetsch was the first person to set one up for a Machine Learning Summer School. Gunnar used Tikiwiki as well, and it played a large part in the success of the Berder MLSS.