Boxroom - Ruby on Rails file repository

October 16, 2007, [MD]

While working for CARE Indonesia we were trying to implement a web-based intranet file repository, that the different sub offices could use to store their documents, to increase both archival (backup, etc) but also cross-project and organizational learning. I found the project Boxroom, a Ruby on Rails project that seemed to do pretty much what I wanted, and with a very simple and intuitive layout. I still missed a few functions, but it had a very clear code base, and so I spent part of my time at CARE adding functionality and making it more appropriate to our organization.

The product right now has a lot of really neat features - it uses a number of UNIX tools to extract the text from pdfs, rtfs, powerpoints, etc - and full-text indexes all files, so that you can search with “snippet view”, you can preview the pure text (instead of having to download a 5 MB pdf, especially useful in countries with slow internet), upload zip files that are then extracted, or select a number of files and have them zipped before downloading, distribute permissions on a group basis, and there is even a very thin “intranet news” front-end, which is mainly to promote files, since it has a very neat way of linking directly to files in the repository.

The application is almost 100%, but since my Ruby skills are not perfect, I do believe that there are still some tiny bugs or instabilities in there - the only real way to find out is to use it. However, because of other issues, we never managed to implement it at CARE before I left, and since then I have gone on to do other projects. I would very much like for these changes to be incorporated into the original Boxroom, so that they could face more “peer-review”, but unfortunately the original Boxroom is pretty much unmaintained at the moment. So instead of letting the code linger on my hard drive, I decided to at least release it to the public. The code can be found at this git repository, and I even made a nice screen-cast showing every step from downloading it with git, configuring it (almost no steps), and using the different functions.

I think this code has a lot of potential, and I would love for someone to pick up where I left and adapt it to their needs (MIT style license).


Stian Håklev October 16, 2007 Toronto, Canada
comments powered by Disqus