Tuesday, August 19, 2008

Organizing Your Movie Collection

Summary: This post is about several ways to organize a movie collection using Debian or Ubuntu and Gnome, in response to a question by Jack Hynes.

In response to my call for requests, said...
I was trying to sort out a Mysql database with php front-end to sort out a list of films (so I could organise alphabetically or my year). Is there a way to do this easily using a Gnome program with GUI?
My problem with Jack's question is that I really don't know which direction he's coming from. I figure there could be four possibilities:
  1. Jack needs to organize his movies and was thinking about writing a web app to do it, but decided to ask if Gnome has something already. In other words, Jack doesn't have a database already filled with information.
  2. Jack has a database filled with information and wants a front end to it instead of coding something in PHP.
  3. Jack wants to develop a PHP app which works well in Gnome.
  4. Jack loves PHP and wants an IDE for Gnome to develop his PHP application easily and intuitively.

1. Organize your movies using Griffith.

I put them in the order of probability. Let's look at all four.

Griffith is a GTK+ application which organizes your music library. It supports back-ends using SQLite, MySQL, Postgres, and MS SQL. Given the movie name, you can get the details from one of thirty online services, including IMDB, of course. The application supports sorting by any of the columns and has user-defined views and searches.

It also keeps track of minutae like codecs, physical media type, and region coding. If you want to loan out part of your library, Griffith will even e-mail you a reminder to get it back from the deadbeat.

Griffith is really sharp and I recommend it if you use Gnome, Xubuntu, or LXDE. Another application which is native to Gnome is GnomeCatalog.

2. Getting to your existing MySQL (movie) database.

If you already have a database and just need access to it, you can either continue to use the database or you can export it and use it within a new application.

If Jack just wants to get at the information in the database, he can export it to a CSV file and import that file into Griffith. Griffith can then look up any missing information on the Internet.

If Jack wants to continue using the database and wants to look it over while in Gnome, there are many ways to do that. One of the easier ones is to connect using the "Data sources" wizard in OpenOffice.org. Once he has connected, he can manipulate and sort the data just as if it were in a spreadsheet, using Writer to create custom reports.

If he doesn't want to use OO.o, he might take a look at Mergeant, a database admin tool for Gnome.

3. Develop GTK+ applications using PHP

GKT-PHP is a great GTK+ binding for PHP. The latest release was just in May, so the project is still going strong. Jack can continue to use the PHP he knows and loves while making an application that works well in Gnome. Learning the binding will take a little work, but the tutorials and other documentation look really good.

4. PHP development environments for Gnome

The only thing that Free software has more of than "Hello World" programs are programming tools. There are several IDEs developed just for Gnome or GTK which can help Jack out.

The first and simplest way to go is GEdit (I realize it's not an IDE). GEdit gets a bad rap because it's small, but the plugin architecture makes it great for programming. In fact, I'm getting ready to write about the Latex plugin which has finally solved my Latex/Lyx/Texmacs dilemma.

When I did (really minor) web development stuff for my old school several years ago, Screem was already a mature and full-featured IDE for HTML and PHP. These days, it has many more features and handles CSS well, too.

GPHPEdit is another IDE specifically for PHP. I've never used it, though, so I'm not going to make an ass out of myself by pretending to have an opinion.

The final IDE JAck might want to take a look at is Geany. I used it for a little while before settling on Screem a few years ago. It didn't fit my style back then, but it has matured and Jack may have a different style to me.

Well, Jack, I hope that's answered your question. If it hasn't, and I've completely missed the point, be sure to tell me. You don't even need to be polite about it. ;)


  1. August 20, 2008 1:22 AM

    Cheers Daengbo, useful post! I saw Griffith a few weeks ago on lifehacker but never tried it out. As for the other ideas, they look good but maybe will need a bit more time.

    A bit more info on my question: I want this list: http://jackhynes.tumblr.com/post/30627809/an-almost-definitive-list-of-movies-i-have-ever-seen to be sortable alphabetically or by year. So I just enter the film name and year and on the webpage it can be sorted a b c d etc. or 1990 1991 1992 etc.

    I'm quite savvy on the HTML front but haven't used php before, I just assumed it would be the best language to write the page in?

  2. August 20, 2008 6:59 AM

    Ah, I get it. For something that simple, take a look at Cake for PHP ( http://cakephp.org/ ) or Ruby on Rails ( http://www.rubyonrails.org/ ).

  3. August 20, 2008 7:14 AM

    OK. Now that I'm awake, I think I have a better solution for you. You only have two versions of the list online with no data entry r other editing. A dynamic language like PHP would be a waste.

    One option would be to use Javascript to order the elements of the list, but I think it would just be easier to use Griffith (or even a just spreadsheet) to manage your list, sort by year or title, then export as HTML. You can create a link from one page to another:
    Sort {by year} {by title}.


Other I' Been to Ubuntu Stories