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.
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 a 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.
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.