Home » Internet Goodness, Linux Administration, Python

Making Django pervasive- Pylucid as an example

23 May 2007 No Comment


Two days ago, I was doing my weekly browse of Freshmeat when I came across Pylucid,a CMS that seems to be getting refactored from it’s original Python foundations into Django.

Now, it’s versioning is still 0.8.0alpha1 and yes, it is alpha quality software with many things not working etc. but SOME things really struck me about it.

  1. It’s the first Django released application I have seen that came as an ‘all-in-one’ bundle; meaning I downloaded it, untarred it, clicked the standalone_run.bat and the thing ran on Django’s built-in webserver.
  2. To achieve this, it came bundled with Django
  3. It came with all the required index.fcgi setup so that I was able to upload it to my standard Cpanel server with mod_python installed and it just ran.
  4. It included an installer and python web shell (disabled by default) so that you can do the needful without requiring shell access.

While the installer isn’t perfect and the CMS itself is still missing some modules and has quite a few errors in it, it was the first Django app I have downloaded that I could get working in 5 minutes.

It just happened that on that same day, I had been reading this article on Keith Robinson’s blog about how he was tossing up between Ruby on Rails or Django and they had a decent sysadmin work for a few hours and couldn’t get django working (I can’t figure that one out myself.. it’s not THAT difficult) but it’s a case in point.

Jeff Croft has made some very relevant comments at the bottom of the article and one struck me as it was one of the main reasons I went looking for alternatives to Ruby on Rails. He says:

I guess my personal perception problem with Rails (and a perception is all it is, I’ve never actually used the thing) is that I perceive Ruby to be an irrelevant language outside of Rails. I perceive Rails somewhat as a beautiful house built in the middle of nowhere. It’s a great house, and if you never need to go anywhere else, it’s fine. But it seems like as soon as you try to step out of that Rails fence, you’d be in trouble. Python’s much larger community means there are thousands of pre-made libraries and classes to take advantage of, more people available for support, more books on the topic, and more flexibility if you ever decide to leave Django.

There are two other issues to address for converting the php masses over to python or a framework like Django. That is, availability of hosting. I quote Jeff again in saying:

The same thing I said about hiring applies to hosting, too. Who cares if there are 5000 hosting companies that provide PHP support, 100 that provides Rails support, and 50 that provide Django support? How many hosting services do you need? One. That’s all.

In a sense, he’s right but what about all those web designers and developers that have a good relationship with their hosting provider, trust them and use them for everything? For me, getting Django as a plugin for Cpanel, Plesk, Helm etc. similar to Fantastico would be the best thing. Maybe the folks over at Fantastico could package it in. That would be the fantastic. I won’t hide my bias here, I run a hosting business and we run mostly Cpanel as well as Plesk and Webmin. It seems I can easily offer Django hosting from the Django Hosts page. You buy VPS / Dedicated Server, well of course you can run Django but really, how many of designers and developers do you know that have the resources or the desire to manage their own mail server, apache, security yada yada yada. Yet, not all shared hosting is as bad as Dreamhosts ;)

Mind you, I haven’t had the opportunity to try out Chapter 21 of the DjangoBook which seems to have a simpler implementation than what has been used in Pylucid.

Lack of backwards compatibility in php5 was a strong reason for lack of uptake on it. Whilst there are cgi workarounds for running php4 and php5 simultaneously on a server. Thousands of hosts couldn’t do a server-wide update to php5 without breaking everyone’s software. The situation’s still here today. We STILL have to run php5 side by side with php4. But at least, you can upload your Cakephp, Symfony, Qcodo project and 9 times out of 10, the thing will just run.

How did PHP become so pervasive? Why isn’t there a Java equivalent of WordPress, Joomla, Egroupware, Zen-cart available? because ease of Mr. and Mrs. Smith home user couldn’t come to grips with it, can’t find a host that supports it or they go and ask their current host – Can I run X Java project? The answer is no

What brought about wide use of PHP was due partly to the fact that there became so many widely available OSS and it was so easy and cheap to install to try it out. People became ‘overnight’ hackers of that software because their open source cms, shopping cart, groupware didn’t quite do what they needed. They either needed to learn how to do it themselves or go to Elance or Scriptlance to get it done for them. Thus became the business of php and dare I say, there’s a fairly fertile land of php developers running around writing spaghetti code worldwide now, god help us.

You see, both Django and Ruby on Rails has been off an running for over a year now and both claim (which I agree with) massive increases in site / developer productivity, so why is there no Joomla, no Zen-cart, no Egroupware? Why haven’t these projects seen the light of day and taken the road to enlightenment? PyLucid, Scroll Blog and Sphene Community tools are the only ones I have seen thus far.

btw, take the above as a grain of salt, I am ranting and have a headache.

Technorati Tags: , , ,

Powered by ScribeFire.

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.