FoodWiki

Entry on Cooking For Engineers (www.cookingforengineers.com), July 17, 2006

Over the weekend, I had a brainstorm. I’ve been trying The Living Cookbook for a while, and while it’s definitely got some great features, I feel that the interface isn’t great. I considered trying to build my own database system in Access, but after sketching it out, I found that there were some serious design flaws beyond my ken to fix.

Then it dawned on me – Why not build a wiki? It would fit all my requirements:

-Easy to search
-Contain recipes
-Contain info on cooking hardware
-Contain information on various ingredients
-Highly cross-referenced between all information

So, my intention is to build a Food Wiki. I’m debating exactly which platform to use, but I’m tempted to build a Linux system using VMWare Server (which is free and no longer beta, BTW). Most likely, I’ll use MediaWiki, since that’s what powers the ubiquitous Wikipedia.

Since some of the recipes will be from my existing, copyrighted cookbooks, I won’t be able to post the articles. That being said, IF I can get this working, I’ll post on this forum and let people know how this can be pulled off.
—-
My initial attempt to get this running was using a pre-configured VM (Virtual Machine) that would run on the new, free VMServer from VMWare. At first, this seemed like a very elegant solution; the rPath MediaWiki Appliance (http://www.rpath.org/rbuilder/project/vehera-base/releases) was relatively small, at around 115 MB (compressed), and contained a ready-made Linux server (Red Hat-based, from the looks of things) with Apache, MySQL, PHP, and of course MediaWiki. However, I soon found it had certain limitations that didn’t work well for me. First off, there’s no GUI. While I do know some Linux, I wouldn’t say it’s my strong suit. Second, the installations all sat in weird directories, and the information provided by the manufacturer was scant. This made it difficult to configure. Third, I realized that if I wanted this to be available anywhere I had a computer, I would have to put it on the Internet, and with my personal copies of copyrighted recipes. So, I scrapped the Virtual Machine, and set out to find an alternative.

That alternative turned out to be MediaWiki-On-A-Stick (http://meta.wikimedia.org/wiki/Wiki_on_a_stick_with_WOS_%28Webserver_on_Stick%29). Using a small server based on Apache, and the MediaWiki application, the total installation took up less than 40MB (despite their claim to be able to run on a 32MB card). In addition, this would be portable via a USB drive, while remaining private. In fact, it might be more mobile than one that I had to have an Internet connection to get to; after all, I carry a drive with me nearly all the time, so as long as there’s a computer, it’s all good.

Getting it started up was only slightly more difficult than the instructions would have you believe – the password they tell you to use for the database is “root”, but the actual password is “my_password”. Not the most secure thing in the world, but then if you’re just using it locally, security may not be your highest priority. Also, depending on your proxy settings, you may need to use 127.0.0.1 in some instances instead of localhost.

Once the wiki is installed, you’re pretty much good to go. Customizing the wiki is a bit tricky, as there isn’t very good documentation, but considering the size of the installation, you could have two separate versions; a “production” and a “sandbox.”

One other experiment I tried was copying the whole kit and caboodle over from my flash drive to a local hard drive. Sure enough, it boots up just the same with no configuration changes. Thus, in the interest of saving your flash drive from unnecessary read-write activity, you could build the entire thing on a local drive, and then transfer it over to the portable device of your choice.

After taking care of the initial setup, I was ready to start bringing in the various bits and pieces of information. One of my sources is a series of HTML files, generated by Living Cookbook, and since I had already spent a great deal of time bringing my information in to that application, I wasn’t interested in starting over. I needed a way to import the data in bulk. Unfortunately, as far as I could tell, no such feature or tool exists. So, I was stuck doing it by hand, which wasn’t as bad as I had originally anticipated.

As I started bringing each recipe in by copying the text from the HTML file generated by Living Cookbook, I realized that I could finally do something about some of the issues I had with how Living Cookbook is somewhat limited in its scope. Its normal operation is to classify recipes under a “cookbook”, which more or less a folder. Instead, since I’m a big fan of cross-referencing systems (a la Gmail’s labels), I decided to use MediaWiki’s built-in “Category” feature. This allowed me to specify not only what categories a recipe would belong to, but also allowed me to create categories on the fly. Since I had a rough idea of how I wanted to approach this, it made my cross-referencing a snap. For example, some of my recipes include sub-recipes for special condiments; by grouping the recipe as both a recipe AND a condiment, I’ll be able to find the information I’m looking for, regardless of which part of the recipe has me interested.

So far, I’ve got over 150 articles entered on my system. Roughly half are recipes, while the other articles are mostly relating to ingredients. By picking up a few formatting tricks from the WikiBooks Cookbook (http://en.wikibooks.org/wiki/Cookbook), I’ve been able to spruce up my recipes, link to any ingredient which has multiple names (such as green onions, also known as spring onions) or which is foreign to me (for example, black bean sauce). Even simple stuff like Garlic gets a page.

Another handy feature is the “Wanted Pages” special page. Basically, if you create a link to an internal page that doesn’t exist, and don’t bother to create one right away, you can go back later and find out where your gaps are. I’ve got approximately 140 entries to make still, and nearly all are ingredients.

So, while there’s still a few kinks to work out, overall I’d say that using MediaWiki as a way to store recipes and other food-related information is very handy. By cross-referencing information between recipes and ingredients, as well as informational articles about food-related topics (like “How to host a wine & cheese party), you can make it very easy to look up the culinary data you need in seconds.

Now, all I need is my own kitchen, a computer to run the wiki on, and a nice LCD flat panel to mount on a kitchen wall…

Leave a Reply

Your email address will not be published.