Riding on Rails with Kaltura: Part 1

  • Patrick Robertson
  • October 26, 2010

Since I have learned about Kaltura's existence I have been inexplicably drawn to their platform. For those who are not familiar, Kaltura is a multimedia service provider similar to Brightcove or Ooyala. What sets Kaltura apart is that all the code that powers their corporate hosted service is open source. You can download and install a "Community Edition" of the server software that is almost identical in nature to the corporate offering. You just end up being responsible for supporting it yourself and you lose their most excellent CDN.

Like most open source projects, there are less than polished parts of the codebase. In the case of Kaltura the API clients range from decent to less than desirable. Unfortunately, the Ruby client is less than stellar. We're responsible open source programmers here at Velir though, so we're not going to rest until it is.

Enter velir_kaltura-ruby

Velir's effort to improve the kaltura-ruby library stemmed from necessity. The existing gem implementation of kaltura-ruby is incapable of uploading files. Ruby's default http library (Net::Http) cannot handle multi-part post requests which is a pretty big deal for a service that hosts files for you. Rather than simply correct the bug and leave the rest of the library alone I decided it was a good idea to leave it in better shape than when I had found it.

There are two major problems with the current implementation of kaltura-ruby: lack of namespacing and average of a few thousand lines of code per file. This makes it rather difficult to understand and troubleshoot code. Velir's implementation of the API client has succeeded in that respect in addition to a few minor bug fixes with the client itself.

I welcome you to try out our implementation of the kaltura-ruby library. The documentation is located at Rubydoc.info and the source code is located on github. To install the library all you need to do is this:

    $ gem install velir_kaltura-ruby

In my next installment I'll go over a library we've developed to make developing Kaltura applications in rails much easier!