Past few weeks have been all about migrating the old Avarthrel site content to the new Avarthrel site.
This, in turn, meant that I had to face the notorious learning curve of Drupal.
Actually, I was delighted to notice that for the most part, there wasn’t that much of a learning curve, mostly because Drupal already fit to my way of thinking. Hence: rambling on some noobish experiences on neophyte Drupaling. When I got the new Avarthrel website up and running in late May, I was not entirely sure what software I’d be using. Movable Type 5 seemed like a good choice, and it’s still my blogging platform of choice (I don’t think I’ll be moving this blog to Drupal, either, as I surmised - having the blog on its own subdomain is quite sensible enough). For a short time I even considered the idea of using WordPress, but let us speak no more of that treason now that I have Movable Type up and running on this site, and have managed to migrate my personal blogs from Melody to Movable Type again. I eventually went with Drupal, even when my last attempt to use Drupal left me with a distinct feeling of… well, something dog-like, anyway. But this time, things went much smoother because I didn’t enable every bloody module at once. =)
Hence, I’d like to share what I think are the most important things newbies should keep in mind with Drupal.
The most important thing newbies who dive into Drupal should keep in mind is that Drupal isn’t a content management system. It’s a content management system.
Most of the CMSes these days are very management-centric. You have stuff that needs to be managed. The CMS provides some powerful means to manage the content.
But if you look at the “content” that two major blogwares of this era manage, you notice that there’s pretty much four types of content: blog posts, static pages, assets and comments/trackbacks.
You may notice that not everything in this world is a “blog post” or a “static page”. Many content management systems don’t go too far when they think of what content really is.
In Drupal, especially Drupal 7, you need to pay special attention to the fact that content is just “nodes”. Everything is a node. But nodes can be of different types. Different types of information require different bits of information to be filled in.
For example, in normal content management systems, you’d have some kind of a content item - say, a short story. You’d need to put the HTML in some place. You’d need to think where the PDF goes. You’d need to think of where to put the introductory information and what to put in the index pages.
In Drupal, all that information goes in the same place. You have a story that has a text. And authorial blurbs. And summaries. If you want to display it in one page, it will display in one way, perhaps not showing everything it at once. But you don’t need to write a special index, at least not necessarily: by using the other information you put in short story nodes, you can automatically generate an index. Everything you need to know about a short story goes in one place.
And that was pretty much the point that sold Drupal to me. The avarthrel site content was already stored in Webgen pages in form of field-value pairs, and various “blocks” of content. In Drupal, all I needed to do was to create content types for short stories, comic pages and even the mini-tales image gallery… and then store that information in the fields.
Not that I could yet format all this information them properly, but I’ve barely scratched the surface of what’s possible with Drupal. I will get it done eventually. What’s important now is that I’m able to store all this information to Drupal nodes.
Once you’ve clearly defined what your content is, what goes in the content itself, it doesn’t come as a surprise that the management of the content is hell of a lot more powerful than what you can do with just a simple blogware. Drupal has incredible management side too: You can categorise content incredibly efficiently with the taxonomies, and have them accessible very easily through the menu system. Once you have material in taxonomies, you can just let people view them, but it’s better to go with the Views module - you can just list your content more powerfully this way.
I think Drupal’s content-centricness is just plain incredible. With most content management systems, the first thing I start thinking of is how to convert the existing stuff to the new site by mass imports and like. In Drupal’s case, I found I was copypasting stuff by hand. And I was enjoying every moment, for some obscure reason. I was bringing content online and it just worked.
The second most important thing newbies need to remember about Drupal is that someone has probably done something like this before. There’s some great Drupal modules out there that make stuff happen.
I wanted a contact form on my site. Drupal core has a contact form module, but it basically just sends email. Having a public-facing email form in this day and age is just nuts. CAPTCHA it is, then. And there’s plenty of CAPTCHA options for Drupal - I went with Mollom, because it’s run by Drupal guys. Drupal’s modularity allows you to just say “stick this thing to this other thing” - the contact form is a public-facing form, and Mollom module protects public-facing forms, so… Boom! Another simple example was that I was thinking “gee, wouldn’t it be nice if I could use wiki-style freelinking to link to other pages and, well, Avarthrel Wiki.” Ka-bam! Another premade module that just required adding a very simple bit of code to let me link to my wiki.
Overall, I think it’s pretty cool that Drupal just isn’t as scary as some people claim it to be. There are some things that aren’t entirely intuitive - like how when you want to style the content at all, you’re pretty much better off by installing Display Suite, just copying the default theme, starting to hack away at your custom CSS and assigning some custom CSS classes to your fields. It’s not as clear as it should, but once you get going, you really don’t need that much documentation.
In summary: I’m happy ton run Drupal on this site, and I’m staying, dammit!
Update: Follow-up on further wonders!.