Using DokuWiki for Note-taking

To start things off, here is a guest blogpost I wrote for Knightwise.com. Knightwise.com has awesome content; check it out!

Cheers,
Matt

*Begin quoted article*

Greetings blog readers! It is I, Matt, the stay-at-home g33kdad in Northern California. I am writing today to discuss a topic that has been much on my mind lately and that is “note taking”. I know, Y A W N, right? Who cares? You open a google doc, you jot some stuff down… or maybe I used a MS word doc for that… where did I save that again… is it in Evernote… oh, here’s some paper, i’ll just write it down… but, then I’ll just have to type it up later… and what if I want to work on it at my mom’s house…and if it’s stored on some company’s server somewhere, what kind of privacy is there… nevermind, I’ll just play xbox.

So, in the spirit of T. S. Eliot who wrote that immature poets copy while mature poets steal, I steal this from Allison Sheridan of the Nosillacast Podcast, “What is the problem to be solved?”

The problem, as I see it, is keeping track of information digitally (whether or not the information started out digital). Now, unless you have been living under a rock for the recent past, you probably have an opinion on “cloud” services and computing. There are many different services available. The ubiquitous choice seems to be Evernote. Evernote is a service that allows you to store your notes on an internet accessible server. This gives you access to them from anywhere you have an internet connection. There are apps for all the major mobile platforms and for most desktop operating systems. This is a very full-featured service and very powerful, as well.

Another option is to use Google Docs or another hosted word processor. This is a great option because the interface is similar to MS Word or other word processing programs and most of the formatting options you would have on the desktop are available in your web browser.

While these are good options, they have some flaws. They require a third-party to host your notes. Having someone else handle the server maintenance and software is great, but you have to deal with privacy concerns. You also have to deal with connectivity to that service. What if you have an internet outage or you find yourself somewhere without wifi. (Do you go places without wifi?) How do you add, edit, or read notes? Also, some services may not be designed for robust note-taking.

When it comes to third-party, cloud services, my personal feelings are these: 1. Any technology can be used to make my life better. 2. Any technology I don’t own or control can be used to make my life worse. So I have to make a choice. Do I want the convenience of a service designed to meet the need? Do I want to keep all my notes in plain text on my personal computer? Is there another choice?

I have decided that a wiki is a very flexible platform for what I want to do. In case you don’t know, a wiki (see: http://www.wikipedia.org/wiki/wiki) is a web-based platform for colabrative documents. Anybody who has a user account on a wiki can edit the content, their edits are tracked, and they are available to the public or to other users of the wiki, depending on the configuration. Wikis have a simple formatting syntax that is easy to learn and use. Wikis are also designed to store digital information. Links and rich-text and even multimedia can be stored and accessed through a wiki.

There are some caveats to this. Wiki software is a web app that runs (in most cases) on a webserver. So you need to have access to a webserver to utilize a wiki. This can be a shared hosting account, a vps, or a small server in your home. The requirements are minimal. In some cases, wikis can be complicated to set up.
So, what do I do? I use a package called DokuWiki. DokuWiki is related to MediaWiki which is the software that powers one of the most famous wikis in the world, wikipedia.org. It is a powerful package and works great for note-taking. There are many plugins available to change the syntax, provide for different content types and many other extensions. I have installed it on my home server and use it most every day for my needs. But there was a slight hiccup. I still needed internet access to make notes. Not a big deal when I’m on my home network, but even with dynamic DNS, I won’t have access if I can’t get to the internet. Then, I discovered the “killer app”. There is a plugin called sync (http://www.dokuwiki.org/plugin:sync). This plugin uses XMLRPC to sync content between two dokuwiki installs. It can sync individual pages, whole namespaces (like folders or sub-directories), or even entire wiki instances. Now, I run linux on my laptop and it was a 5 minute process to start a full LAMP stack on my daily driver. (a full LAMP stack is not necessary, lighttpd with php and SQLight is sufficient) I simply installed a local instance of DokuWiki and set up the sync profile to sync with my home server instance. Now, if I’m out somewhere with no internet access, I can still access my wiki via “localhost”. Then, when I get home or to a location with wifi, I run the sync and I have a backup of my notes! Excellent.

I have just scratched the surface of the possibilities of using DokuWiki for online note-taking. There are so many other uses for a wiki and I know that DokuWiki is so easy to deploy, I will be using it again.

Thanks for taking the time to read this article. More to come!

November 24, 2013

Leave a Reply

Your email address will not be published. Required fields are marked *