A project that has fascinated me for a long while is Wordpress. I'd link to the site except, well, I don't have to. Everyone and his mother knows about Wordpress (and if you don't, it's only a google search away).
One of the fascinations is the continual comparison of Wordpress to Drupal. Drupal is a content management system that lets you store all sorts of crap on your website. With no programming experience, you can set up a pretty nice website. If I ever finish one of my projects, you'll be able to set up a nice website with a custom look AND import your data from a Wordpress site.
Now, Wordpress is a blogging platform. Anything more than straight blogging, and you need to migrate away from Wordpress. And that's fine. What it does, it does very well, and has a significant market penetration. Doesn't hurt that I've met Matt and spent time accidently running into him.
Because the tool I'm writing will work for Drupal as well as Wordpress, and Wordpress has a huge following, I figured subscribing to a Wordpress mailing list would be good exposure to the issues around Wordpress, from a different perspective.
After about a month of reading the mailing list discussions, my opinion is honestly, holy crap, this is a premiere blogging platform? WTF?
Issues that surprised me, in no particular order other than this is how I remembered them, include (recalling that these are developer issues, and not necessarily issues an end user would notice or care about).
- No error reporting on plug-in installation failure.
This is basic stuff. If there's a problem during the installation process, let the user know.
- Log errors to a central location.
A developer published a break-through plug-in, without full code release though, that allows other developers to record a log message with a single line, and this was a breakthrough. I almost have to pick on this one, since Drupal has had watchdog() in since I started working on it in the 4.1 days many years ago.
- Multiple database connections corruption
Different plugins, needing to create connections to a different database or its own connection to the WP database, can cause DB connection corruption errors. The recommended solution? Use the PHP mysql_* functions, losing all the DB helper functions of the package. This removes a large part of the alure of using a framework in the first place by removing the database abstraction layer (and forcing the user into the only database the plug-in author supports - what if the user wants to use postgres? Or Oracle?
Update: apparently this issue was brought up from a bad bit of code, which has since been fixed in some plugin. Need to look to see if you can set up access to multiple databases in WP.
- Big fans of superficial criticisms
In the GoPHP5 movement, rather than debate the merits and goals of the idea, a lead developer complains the site is ugly. This surprised me a LOT.
- Plugins for simple fixes
A user needs to install a plugin to change a quote in a post title from an incorrect HTML code to a correct one. Another one that surprised me. I thought people considered Drupal to be complicated.
- The view of Drupal as "THE" competitor
The number of references to "Drupal converters" and Drupal does this and Drupal does that nearly universally implies that Drupal is the WP competitor of note. Personally, I find other blogging platforms like Typo3, or hosted ones like Vox, LiveJournal, or Blogger to be WP's correct competitors.
The part that gets me in all of this is that Wordpress developers seem to both drink the WP koolaid and have a chips on their collective shoulders.
I'll still continue to watch the project, with the intent of bringing to Drupal any nifty tools that Wordpress users get, but the glow of the project has worn off. What is it about discovering the insides of software that removes the shine so quickly?