3 minute read

About a year ago I got tired of trying to keep the mounting supply of PDFs and PowerPoint slides I’ve collected over the years organized.  They weren’t searchable, I had to organize them in broad categories in folders, I couldn’t share them between work and home, they took up a ton of space on my computer and I had to make sure I kept them backed up somewhere.

I couldn’t find a service online that did everything I wanted.  The only one I found with any promise was Google Docs, but they have all kinds of size restrictions and the PDFs uploaded aren’t searchable.

So I ended up cobbling together a solution that works for me and wanted to share the solution with everyone else.

The Cobbling

I started with a Media Wiki based web application because I want to be able to access this library anywhere.  I already had a bunch of domains lying around I could use and was already paying for hosting.  Media Wiki also has a huge number of extensions people have written for it that were invaluable in accomplishing my end goal.

The main page is a combination of two extensions,

  • WikiCategoryTagCloud – Lets me display all my categories as a cloud on the main page, letting me quickly find something from a particular event.
  • DynamicPageList – Displays the giant list of files I’ve collected.  They are organized by when they were uploaded, so finding something I uploaded recently is a breeze.

I also made some modifications to the default limits on my wiki’s upload so that I could upload the fairly large PDF files and PowerPoint slides.

One crucial goal I had was to make the text in PDFs and PowerPoints searchable.  For that I used the FileIndexer extension.

I could have stopped there but ended up finding an extension that would render the contents of the PDF directly to the browser window if for some reason I didn’t have a PDF reader or was on a slow connection and wanted to look at a single portion of a large PDF.

For that I was able to use the PdfHandler extension, which has a dependency on the WebStore extension.

One Year Later

A year after cobbling the pieces together I’m still pretty happy with the solution.  It hasn’t failed on me yet and I have constant access to my library no matter where I am.  I wish I could package up the relevant pieces so others could just setup their own whitepaper repository, but I haven’t checked the redistribution rights of all the relevant bits.