Wanted: advice concerning Wikis

This entry was published at least two years ago (originally posted on February 16, 2004). Since that time the information may have become outdated or my beliefs may have changed (in general, assume a more open and liberal current viewpoint). A fuller disclaimer is available.

I’ve got a project running around in my head that I believe a Wiki would be a good solution for, but I’ve not done much to play with/experiment with Wikis in the past. I’d like to start playing around with this project soon after I get home, so if there’s anyone out there who might be able to give some advice or recommendations, I’d appreciate some “expert assistance”…

For a while now, I’ve been hosting The Hanscom Family Website. While the original intention was for it to be a collaborative weblog for the entire Hanscom family, so far it’s been acting primarily as my dad’s weblog (and there’s certainly nothing wrong with that!). Hopefully we’ll be gaining more authors soon, though, as I’ll be sending a “how to” tutorial to Susan, Eric, and possibly Doug and Pam also once I’m home.

One of the original ideas I wanted to include on the website (and actually was started on an earlier incarnation, but lost in a server mishap) was a genealogical record of the family. As I don’t know of a really good way to do a web-based family tree, my idea was for each person to have a single page listing important dates (birth, death, marriage, etc.), contact info (if desired), and biographical information. Each page would also have a set of links to immediate family members (parents, children, siblings) that would allow the user to navigate their way through the family tree. We could then, over time, create a genealogical database (of sorts) of the family.

One of the big reasons I’ve wanted to do this (and this was brought up in a major way during a conversation with my mom last night) was the number of stories that are scattered among all the various family members — some written, but many only currently locked in the vaults of memory.

The difficulty I had in the first implementation was that each person’s page was just a static HTML page, and if there were to be any changes to it, they’d have to be done myself. I’d need to have information and stories sent to me, at which point I’d make the changes to the static pages and save them to the server. It’d work, but it would be slow and somewhat kludgy, especially as it would rely on my own time constraints in order to get any additions actually incorporated into the pages.

Last night as mom and I were talking, though, it occurred to me that a Wiki could be a perfect solution to this problem. The page structure and layout would be essentially the same, but it would allow any of our family members to click an “Edit This Page” link on any one of the pages and add whatever they wanted, be it more biographical information about themselves, memories of other relatives, stories that have been passed down in family lore about ancestors, or other such things. In theory, at the very least, this could work very well.

My limitations (and worries) are simply that I’m by far the most technologically- and web-literate of my family members, and I need to do everything I can to make sure that the interface is as simple and easy to use as possible. I also want to ensure that the site is not publicly editable, so there would need to be some sort of account registration system so that I could grant global edit rights to family members, but prevent random passers-by from making unwelcome changes. I also want to have the system be as resource-friendly as possible, as it will be running on a 350Mhz G3 that is already hosting three websites, two of which use the MovableType weblogging system (which I love, but I also realize that Perl can be a major resource hog as sites grow, and my webserver only has so much firepower at the moment).

I did a quick web search and found the Wiki Wiki Web’s list of Wiki engines, but truth to tell, it’s a little daunting, as there are so many different engines available. Even if I narrow it down to the two languages that I’m sure my system can easily run (Perl and PHP) there are still a large number of possible choices, and I’m not entirely sure which scripting language would be the better choice as far as conserving system resources and ensuring that response time for serving/editing/saving pages is fairly reasonable.

So, to sum up, here’s what I’m looking for:

  • A Wiki (or similar) engine to allow for collaborative decentralized editing of a set of web pages.
  • User accounts or some form of access control and management.
  • As simple and ‘idiot-proof’ of an editing interface as possible.
  • Low (or as low as possible) system resource overhead.
  • The host webserver is a 350Mhz G3-based Mac running OS X 10.2 (i.e., the Apache webserver, Perl and PHP supported, UNIX-based).

Any ideas? Recommendations? Questions, comments, words of wisdom? Any and all would be appreciated!