Current version as of 18 November 2005 is 2.1.2.
24 March 2006
Development on version 3 is slow, but I plan to have a beta version available by summer 2006.
18 November 2005
Development has begun on Version 3 of the Community Wish List server, the first major upgrade since 2003. I'm basically rewriting the code from scratch, based on things I've learned while working with Moodle and some other projects at work. Planned features include:
For developers, planned changes include:
Version 3 will be compatible with Version 2, so no gift or user information will be lost, even if there are minor database changes. There will be complete installation/upgrade instructions.
I created the Community Wish List Server about three years ago for my family. When I got married, I gained new family members in states other than my own, and shortly after that my aunt and my uncle moved away from California to Arizona.
Holidays and birthdays are important in both our families, as is gift-giving. But keeping track of what people actually want for their birthdays or for Christmas is really difficult when everyone lives so far apart from each other. Inspired by a Perl application that a friend of a friend had written a few years ago, I created the Community Wish List Server so that everyone in my family could see what everyone else wanted for Christmas or their birthday.
Over the years the program has gained a lot in functionality and I've added a lot of features. You can pick and choose the wish lists that you want to see instead of having to look at the lists of people you'll never buy for. The functionality for importing wish lists from Amazon can be built in pretty easy (though you'll need a developer token from Amazon to do so). And so on.
The Wish List Server is a web-based application that lets people keep wish lists on line and share them with friends and family, as well as see the wish lists of other users. Users can "claim" items on a wish list, indicating that they plan on purchasing that item for that person. Items that have been claimed show up only as "claimed" when someone else views that same wish list; but the person who owns the wish list will not see that the item has been claimed. This keeps the element of surprise.
Suppose, for example, that there are three people registered in the database: Bob, Joan, and Harold. They have all created wish lists on a running copy of the Wish List Server.
Let's say that Bob has put Season 4 of Angel on his Wish List (he can link to the Amazon.com or barnesandnobel.com entry for that DVD on his list, as well as a picture of the item, if he so wishes). When Joan and Harold view Bob's wish list, they'll see Angel on his list.
Suppose, then, that Joan decides she's going to claim that item on Bob's list. She merely pulls up his list on her end, and clicks on the "claim" link; the claim is then registered in the database, though Joan has the option of "unclaiming" it in the future (she can also mark it "purchased" once she has bought the item). When Harold looks at Bob's wish list, he sees that Angel has been claimed, but he will not see who claimed it. And when Bob views his own wish list, he will not even see that the item has been claimed.
Simple enough. There are a couple more features to look at.
First, all users can create a "shopping list", which is just a list of items that they've claimed on other users' wish lists. For example, if Joan claims Angel on Bob's wish list, and then prints out her shopping list, it will show her that she should buy that for Bob. If she has marked Angel as purchased, then when she prints out her shopping list, Angel will be printed with a line through it, like this, to indicate that the item has already been purchased. This can help users keep track of what they're planning on buying for whom, without having to browse through everyone's wish list just to see what they've claimed.
The system also allows for sending "thank you" e-mails. When Bob receives his copy of Angel from Joan, he can click on the "Received" link on his wish list for that item. He then gets an option to send a "thank you" e-mail to Joan, if Joan has an e-mail address listed in the database.
Uses can also configure which wish lists they wish to see. Suppose that Bob and Joan are good friends, but Bob has no idea who Harold is, and also that Harold has no idea who Bob is. Bob can configure his wish list so that only Joan shows up on his list, but Bob's does not (and vice versa). In the future, if Harold wants to start viewing Bob's wish list, he can do so by configuring his "recipients" list. This makes the wish list more useful for large families and groups of people, not all of whom buy gifts for each other (in my own family, for example, my wife and I purchase gifts for my aunt, but not for my second cousin; so both my wife and I see my aunt's wish list, but not my second cousin's. However, my aunt sees mine, my wife's, and my second cousin's wish list).
There are a lot more features, but those are the main ones for now.
It should be relatively simple to convert the software to work with other database programs.
This software was originally written for use with Apache 1.3 and FreeBSD, but I don't see why it shouldn't work on other platforms that support PHP and MySQL, such as Windows.
In addition, most of my testing and use of this software has been done in Firefox or Mozilla. Most of my family uses IE, of course, so cross-platform compatibility is a high priority.
To install the Community Wish List Server:
That's it!
The software does not support "anonymous" gift-giving. All claims and purchases are tracked through the software.
I'm sure other issues will come up.