Rob Golding

Technology Consultant

The Trials and Tribulations of Django + Git

I just finished my last exam today - Web Programming and Scripting - which explains the distinct lack of activity around here in recent times. Thankfully I could end my exam season on a high, as web programming is, well, what I do - so it wasn't too much of a challenge!

Something strange happens to me every time exams come around. I seem to pick up new projects, and just run with them. This time, I've become involved with a small group of people at university, writing a portal-style information system for universities. I suppose most people call this behavior procrastination, but I'm quite deeply in denial about that.

Ever since my post about the Backtrac Backup System, I've been really enjoying using Django. Something about it just makes developing for the web, well, exciting. That can only be good, right? I am the designated server administrator for this latest project, mostly due to the fact that I am the only one with a server to administer, and some of the things I've learned so far seem worthy of a mention here.  Firstly, we as developers were - how can I put it - stepping on each other toes somewhat. The project at this point had no version control, so we were just editing a bunch of files over SFTP. Obviously, some sort of Source Control Management was in order. I did some research, and decided that Git was a nice, modern alternative to the ever-popular SVN. It also meant that my server was constantly backed up by everyone on the team - but that's just a bonus!

So, I installed Git, and started a repository. A lot of effort went into learning how the system works, and more importantly, how to make it work for us. Directed Acyclic Graphs thankfully made some sense to me, so I could just about understance the documentation. I wrote some custom hooks, and a C Program to syncronise the web-server. I was happy, and absolutely certain that this was the solution to all our woes. I was mistaken. Git just didn't work the way I had hoped. The custom hooks were throwing permission errors all over the place, and my development team (read: my friend Rob Miles) was locked out of the repository. We made the decision yesterday to scrap Git, and go back to the previous system of editing the files over SFTP. We are always in constant communication when developing for the project, so it's not too big a deal, but I feel that I failed as an adminisrator. You see, as an admin your job isn't just to play with cool toys and loud servers - your primary purpose is to give the users what they need to work, and that is most certainly not what I achieved.

I'm glad I took the time to learn Git - and I'm sure it will help me later in life, in some way or another. It's just unfortunate that it didn't work out the way I had hoped for our project.

Categories: Life, Technology, Web Development, django, programming, university | Tags: , , | RSS 2.0

  • Panikos
    Good to see a fellow *nix user at notts. if you are ever in the mood you might put up a forum (I would do it but I am leaving notts soon so i wouldnt end up maintaining it. free resources on byethost.com for running a forum btw) to go over common problems with running *nix on campus (like your proxy thread).

    Well, I send in a request for a google wave beta account too. Nothing yet but they are not really supposed to go live till september i think.

    As for svn good luck with it but unless you want to get creative i think you wont have any trouble. (this looks straightforward if you want webserver access too: http://www.debuntu.org/2006/05/20/54-how-to-sub...)

    although I personally switched to Lighttpd (my VPS resources are now free for real work) instead of Apache and I havent used it in conjuction with SVN yet.
  • Panikos
    I was quite happy with SVN during similar projects. easy to setup, basic usage is straightforward. You also have tortoise svn for windows clients.

    You might also be interested to look at new google wave as a tool of collaborative development

    http://tinyurl.com/mjzn5u
blog comments powered by Disqus