Related Entries

Oracle with Active Record

« Code obfuscator!
» TiddlyWiki and GTD

MPP to SQLite via Ruby

Combine MS Project with Ruby and SQLite to make reporting easier.

I still love Python. Thought I will try my luck with Ruby. I still like Python’s syntax better. However, since everyone these days is talking about Ruby on Rails, I will look into it as well. As part of that, I am in the process of figuring out Ruby and the components that make RoR.

I especially liked ActiveRecord. It turned out to be very easy to write a quick script on windows that opens up an MS Project file, loads the tasks into a SQLite database and run some queries. Motivation for this is the fact that most reports that come with MS Project are not very useful to me. Once I get it into a SQL database, it becomes much more easier for me to automate further actions.

Here’s the script.

Installing modules were pretty easy. For example, just give gem install --remote sqlite3-ruby to install SQLite module.

It is possible to give conditions to find() method; since I still know more SQL than Ruby, I preferred to use find_by_sql() method.

Hopefully, if I ever get around to learning RoR, I will try to make a web front-end -- hey, from what I can read, everyone uses RoR to make todo-lists first! -- for assignments to be displayed on the web. It should be easy to provide the ability to update status right there and another script can then take the data from SQLite and sync it up to MS Project file. (I know, Project Central does all this and more, but what is the fun in that?)