If you are trying to set up your personal site using Drupal, these insights might come in handy. At least, those were the points that cost me the most time to figure out.

  • As far as web writing markup goes, do not use Textile, do use Markdown. Not only does it work properly with Unicode (UTF-8, really), its markup is also more sensible, yet similar. Both Textile and Markdown have Drupal modules available for them. Now you know which one to use. I will gradually migrate my site over to it, but one thing at a time. Josie: Markdown has magically appeared in your modules list, you need to enable it and configure your input filters to use it.

Markdown is extensively documented.

Update: My site is migrated. Death to Textile! }:)

  • If you (like me) first set up your site on a home server and then want to migrate it onto some paid hosting site, and want to rename Drupal’s tables in the process (because the hosting company only gives you one database), do beware. When you post stories after this, Drupal will refuse to add nodes, complaining about duplicate node IDs. I was first confused into thinking that MySQL’s auto_increment columns were at fault for generating those duplicate IDs or otherwise had not survived the database dump’n’restore, and I spent an hour trying to fix that. Then I realized that Drupal has its own table called sequences for this purpose. To make a long story short: If you rename tables in drupal, don’t forget to also rename them in the sequences table.

  • Clean URLs” can make your site unusable. Assume you have transferred a site from somewhere that does support Clean URLs to somewhere that doesn’t. At the new site, Drupal looks at the database , still thinks that they’re enabled, and outputs its URLs in “clean” form, so your admin interface (or, really, any link on your site) will not work. Voilà, your site is unusable. Even if you figure out that the “Clean URLs” setting in Drupal is mirrored in the variables table, changing that in there does not seem to help. A crude hack that saved my life twice is changing includes/common.inc.

Update: See the [link:More Drupal wizardry|post] about Clean URLs via the ErrorDocument directive.