Using Semantic MediaWiki as a Social Network Contact Management System
Back in March, I started writing about building a social network contact management system. The idea was to keep track of whom I am contacting on which social networks, similar to how salespeople use a customer relationship management system.
I started writing some simple programs to gather data from various sites and I expanded on the idea in a blog post about gathering people details. I touched upon the idea again in a post about selecting blogs to read and graphing their relationships.
Then, last Wednesday when I met with some old friends and made some new contacts at a networking gathering, and then made even more contacts at a Mojiva Party, that I felt I really needed sit down and try to come up with a good package.
One friend had just asked me if I have done any work with Django, so I set up Django to see how it would work. Django looks like a very nice platform for building powerful websites. However, it looked like the learning curve would be a bit steep and that there wasn’t a lot of building blocks to work off of.
On a whim, I decided to give another look at MediaWiki. MediaWiki is the wiki that Wikipedia uses. It is very powerful and I’ve set up a few MediaWiki sites in the past. I really like the free form way of being able to enter data into a wiki. However, the issues of permissions and how best to tag data remained a stumbling block.
In the preventing access section of the MediaWiki manual, they provided a few simple lines of code to add to a LocalSettings.php file to lock down the wiki. The documentation suggested that MediaWiki was not originally designed for private wikis and other software might be better if that is what you are looking for.
However, it appears to have worked nicely for me. If you go to my contacts wiki, you should be able to see the front page, but to see anything more, you need to get a userid and password from me. Since this is my rolodex on steroids, plus a bit more, I’m not likely to give that out.
The second problem was how to tag data. I’ve used categories before, but that didn’t really work well for me. What I wanted was something like an attribute value pair. As an example, I wanted to tag my own entry with the value ‘ahynes1’ for the property ‘twitter’. Then, I wanted to be able to see the twitter ids for everyone in my Wiki.
It turns out that there is a wonderful extension to MediaWiki called Semantic MediaWiki. The instructions on installing it were fairly simple and worked nicely, so very quickly, I had a secure wiki with the ability to add attribute value pairs.
I’ve started using this, and have developed a few standard tags that I use for people. These include city, state, zip, phone, email, twitter, friendfeed, dig, party (as in political), and so on. What is nice is that the freeform nature of the wiki allows me to add whichever properties I want, whereever I want to in the wiki page.
Using the query abilities that comes with Semantic MediaWiki, I’ve created simple pages display the twitter contacts I’ve entered into my wiki as well as contacts from Woodbridge, from Connecticut and so on.
Since all the regular wiki features work, I am also using it as a reporter’s notebook, where I list ideas for coming blog posts and information for these blog posts.
I’ve also added a property, contactdate. With this, I can see a chronological list of whom I’ve contacted. I hope that as I learn my way around Semantic MediaWiki better, I can find ways of constructing more sophisticated queries, such as showing the first or last contact date for a group of people, or the total number of contacts for each person. I hope to find ways of displaying dates in a calendar and making people’s Twitter ids, Friendfeed ids and so on, functional links.
Most recently, I’ve added another tag, called upcoming event. With that, I can have a good wiki style calendar that is very easy to change.
Further down the road, I hope to figure out how to import data, such as FOAF or Portable Contacts data, and how to export data in formats like vCards or iCalendars.
So far, I’ve entered a couple dozen people, two events, and made good use of my reporter’s notebook. Stay tuned for further ideas and results, and let me know your thoughts on using Semantic MediaWiki as a Social Network Contact Management System.
Rate on NewsTrust




