Posted by Scott Laird
Wed, 01 Sep 2004 16:27:00 GMT
I installed Movable Type when I first started this blog, but I’ve been itching to change for months. A small part of that itch is Movable Type’s new pricing model, but it’s really more then that. I have a number of needs that MT isn’t really filling, and I’d like to move to something that works better for me.
The big problem is that I can’t find anything that’s quite right. I looked at Drupal for a while, but there are a few things with it that I just couldn’t cope with:
- It’s a much bigger system then I really need, with a lot of complexity.
- It’s written in PHP. If I could treat it as a black box, I wouldn’t really care, but I couldn’t because…
- It’s essentially hard-coded to need MySQL. In theory, it’ll work with PostgreSQL, but I fought with it for days without actually getting it to work. There were a number of deeply-embedded MySQLisms in the code that I just couldn’t fix, even after digging into the code for a while.
- PHP’s SQL code is too scary to look at. While the core of Drupal goes to great lengths to prevent SQL injection attacks, a number of add-in modules looked pretty clueless. In addition, all of the SQL code is built up using
command = 'insert into foo (a,b) values ("'+value1+'","'+value2'");'-style commands, which are inherently ugly and prone to problems. I really prefer the Perl (and Ruby) DBI version: insert into foo (a,b) values (?,?), where you provide value1 and value2 as parameters to the DBI execute function.
- Template modifications are a royal pain compared to MT. Out of the box, all of the templates used HTML tables, unlike MT’s clean CSS-only templates.
Now, if I was setting up a big community site, none of these would really matter to me. I could spend a couple weeks on templates. Heck, I’d expect to spend a while tweaking things until they worked right for me. If I was doing this from a corporate perspective, I could just hire someone with experience in Drupal, like Bryght. But I’m not building a big community site, and I’m not willing to pay someone to do it for me. I’m largely doing this for the fun of it, and Drupal doesn’t seem to be a lot of fun.
So I’m back looking again. MT has cleaned up their prices, so I could just install MT 3.1 and be done with it. It wouldn’t be a lot of work to upgrade, and there’d be a handful of benefits, but it still wouldn’t give me an HTML photo gallery or a decent interface for static non-blog pages.
I’m fighting off the urge to use Rails to write a blogging system for myself. Hopefully, if I fight off the urge long enough, then someone else will do it for me, and I can just take their framework and adapt it to my needs. One can always hope :-).
Posted in Blog stuff | Tags blog, broken, drupal, movabletype, rails, upgrade
Posted by Scott Laird
Fri, 21 May 2004 10:43:14 GMT
I spent another hour or so looking at Drupal, and I think I’ve solved most of my problems. First, the mod_rewrite issue. I’m not sure if it is simply an apache2-ism or what, but everything started working once I added the DocumentRoot as a prefix in the RewriteCond lines and added an extra / in the RewriteRule line. These lines are from the VirtualHost block of my Apache 2.0.49 config:
RewriteEngine on
RewriteLog /var/log/apache2/rewrite.log
RewriteLogLevel 9
RewriteCond /var/www/testing.scottstuff.net/%{REQUEST_FILENAME} !-f
RewriteCond /var/www/testing.scottstuff.net/%{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
I also had to prune the DirectoryIndex settings or Apache would try to feed index.html through the rewrite code and come out really confused:
Once that was done, I could turn on clean URLs and everything worked correctly.
Next, I looked into conversion from Movable Type. There are a pile of scripts floating around out there, but they’re all slightly broken. Several assume that you’re using MySQL, while I’m using Postgres. Others leave out comments. None of them seem to set up Drupal’s path module to do URL rewriting, so old MT URLs won’t work.
So I spent a bit of time and fixed most of the problems. My conversion script is based on one from Tim Allman and Morbus Iff that’s been floating around. It handles comment conversion and adds URI re-writing entries for all blog entries and for each category index. It re-uses MT’s URLs as much as possible, so it’ll probably even do the right thing if you’ve changed URL formats, but don’t quote me on that.
The way the script works is kind of cool–you set it up as a Movable Type index template, and have it export to a file called import.php. Then copy the file to the root of your Drupal tree and then run it via your web browser. The script will execute and import everything that MT gave it into Drupal.
So, at this point, here’s what’s still broken:
- No Markdown filter.
- Trackbacks aren’t converted.
- It needs a better theme.
- I need to write a script or two to integrate the project pages from http://svn.scottstuff.net into Drupal.
- Similarly, it’d be nice to integrate my book event page into Drupal, but I’m not sure how practical that is.
Posted in Blog stuff | Tags apache, blog, drupal, php | 4 comments
Posted by Scott Laird
Wed, 19 May 2004 22:22:12 GMT
As I mentioned before, I’m sort of looking for something to replace Movable Type for this website.
This is only partially related to MT’s recent pricing announcements; I can get by with the free single-blog version of MT, at least for now. Rather, I’d like to expand my basic blog to include some of the pieces of http://svn.scottstuff.net and my photo gallery, with a single comment engine tying everything together. And MT just isn’t up to it right now.
I spent some time this weekend looking into Drupal, which is a heavy-weight system that can scale down to individual blogs, but scales up to large community or political sites. The Dean campaign was using Drupal, for example. It has a few things going for it:
- Supports non-blog static pages, with or without comments.
- Has an active community.
- Has atom and wiki plugins (untested).
- Has gallery photo plugin.
On the other hand, I’ve hit two serious snags:
- I can’t find a Markdown plugin for it. Google suggests that it exists, but I haven’t seen it anywhere. I could probably just take the Textile plugin and graft the PHP Markdown library into it.
- It’s written in PHP.
- I can’t get its “clean URL” support to work right. By default, Drupal uses “index.php?q=…” URLs, but you can get it to generate nice, clean URLs with very little work. Just click one radio button in the web configuration UI, and there you go. Er, once you get
mod_rewrite working with Apache. I spent two hours on it, fighting with mod_rewrite and Apache 2, and the best I could do was get it to give me a 400 Bad Request error whenever I fed it a URL that should have been rewritten. The rewrite log looks okay, but it doesn’t actually work.
If I can fix the two big problems, then I’ll probably build a test site using the regular scottstuff.net contents, and see where things go from there.
Posted in Blog stuff | Tags blog, drupal | 3 comments
Posted by Scott Laird
Fri, 14 May 2004 16:14:25 GMT
The new pricing for Movable Type (the software that runs this blog, along with a zillion others) is out. The previous release was free for non-commercial use. The new release is free–if you only have one author and fewer then 3 blogs. Any more then that, and you need to pay. The cheapest license is $99, marked down to $69 for the moment, and that only covers 3 authors. For commercial users, pricing starts at $299 (on sale now–only $199) for 5 authors, and goes up to $699 ($599) for 20 authors/15 blogs.
Needless to say, this is causing a bit of an uproar, and a lot of people are looking at switching from MT to other systems.
I guess I’m probably one of them. I’ve been half-heartedly looking for a different system for a while, but my needs are kind of unusual (as usual :-). Here’s a short list of what I’m looking for:
- Simple, customizable blog engine, supports RSS and Atom, as well as at least one API supported by Ecto and NetNewsWire’s editor. Atom API support would be nice, but not all that critical, since I don’t have an Atom-aware editor yet.
- Trackback and comment support. Preferably threaded. I actually like the concept behind Six Apart’s TypeKey, but that’s too much to ask, probably.
- Support for non-blog pages. Take a look at http://svn.scottstuff.net for an example. Most of the pages are auto-generated, but I’d like to be able to share the template with my blog, and it’d be nice to be able to use the same comment engine.
- Support for the Markdown markup language. I’ve found it to me vastly easier to work with then writing raw XHTML. That’s not to say that HTML is hard, but Markdown really lowers the amount of effort required.
- Decent comment-spam tools. Admittedly, most comment spam is keyed to MT’s comment system, but that’ll change.
- Tools for converting from MT. I don’t mind spending a bit of time on this, and I only have 190-ish posts here, but I’m not throwing them away, and it’d be nice to save the comments and trackbacks, too.
- A photo gallery system that doesn’t suck. Since I haven’t found one that doesn’t suck yet, this is a difficult requirement. My goal is to be able to maintain one big master index in iView MediaPro on my Mac, and then sync the pictures and metadata onto my server from time to time, mostly using rsync and xml. Then, I want an automated script to pre-render thumbnails (on-demand thumbnails of 6 MP images are too slow for my poor server) and lay everything out. I’m currently using Album, but I’m not particularly fond of it. It just works better then anything else I’ve used. Systems that require manual, non-scriptable uploading of individual images need not apply.
- A semi-integrated Wiki’d be nice, but I doubt I’d use it any time soon.
- It needs to be scriptable and easy to enhance. Ideally, it’d be written in a language that I’m comfortable with; Ruby’d be best, and Perl’s okay. I can cope with Python and PHP, but I don’t really like either. A decent XML RPC/SOAP/REST interface would be nice, too.
If anyone has any suggestions, please leave comments. I suspect I’ll hear at least one recommendation for Drupal, but it’d be nice to hear other suggestions too. Can Drupal handle semi-static non-blog pages easily?
Posted in Computer Software, Web stuff, Blog stuff | Tags blog, drupal, movabletype, requirments | 1 comment