[copied from my Google Wave just in case it gets lost]
A Google Wave Blog. This is partly an experiment into using Wave as a place to write a blog. I was thinking that I should start a blog about my experiences as I learn Drupal, and debating over where to put it. There are lots of possibilities, but no slam-dunk winner. Should I create a forum at Drupal.org since the blog will be about Drupal? Should I put the blog up on my own website own website , since I moonlight as a Drupal Developer ? On my employer's website, since I am the Drupal webmaster for my work group? Each of these has some pros and cons. In the end, I decided to try Google Wave, partly just to see how that works out, and partly so that I can justify working on the blog no matter what hat I am wearing at the time inspiration strikes.
What's different?
Right off the bat, there are some differences between blogging on say, Drupal on WordPress, and blogging in a Wave. Obviously, there is the issue of audience. I can make this a public Wave, and I will, but I can also push it down people's throats, to some degree, by putting them into the recipient's list. For now, I'm not putting in anyone by that route.
Other differences
One thing that interests me about Wave as a blog is that anyone who reads my blog can add what would be a comment in a conventional blog to any point they choose within my post. This means I don't need to break my blogging up into meaningful chunks. It also means that it might become difficult for a reader to read a thought in it's entirety before encountering stuff that comes in from another voice. I'm not sure whether this ends up being a net plus or a net minus. That's one reason to try the experiment.
Drupal so far
I'm actually a bit late getting started with this blog, because by now I have collected a lot of information about Drupal. I've written a couple of modules, though I don't consider them ready to upload to the mothership. I've set up over a dozen drupal sites, and experimented with scores of contributed modules. I've created bunches of content types, content templates, and views. I've migrated content from Drupal to Drupal, and from non-Drupal to drupal. I haven't written any full blown themes yet, but I've modified themes, and written a mini-theme that has a configuration page wholly written by me. My point is, this blog might not be such a great starting point for people who want to learn along with me, unless they too have gotten their feet more than a bit wet in the Drupal swimming pool.
How to learn Drupal
Not surprisingly, the web is overflowing with information about Drupal. My advice to a drupal newbie, however, is to start by buying a good book, and reading it cover to cover. Finding information on Drupal is very hit and miss, even at Drupal.org. I actually think that the profusion of Web2.0 sites has had a large and negative impact on my ability to find useful information online. Too much clutter! Too many of my google hits today turn out to be pages written by people who want the same answers I have, rather than pages written by people who know the answers. Get a good book. READ IT. The book I started with was targeted at educational Drupal sites, and I can't really recommend it as a good entry for those who want to understand how drupal actually works. I do recommend two PackT books by Matt Butcher: Drupal 6 Javascript and jQuery, and Learning Drupal 6 Module Development. I dearly wish I had taken my own advice and read the latter cover-to-cover when I first got it. Instead, I skipped to the part that covered what I was actually doing at the moment. BIG MISTAKE. Matt knew better than I did what I needed to know, and in what order I should learn it.
My Personal Drupal Breakthroughs
As I struggled with Drupal, mostly by just hacking my way around the various admin interfaces, there have been some watershed moments. I'm not going to be able to remember them all, but as I go forward, my entries will revolve around these, at least, that is my current plan.
Calling a specific php function from the client-side
This is probably my biggest single breakthrough because it solves a gnarly problem. Drupal is written in php, and when you write a Drupal module, you write it in php. That's good for me, because I had a small amount of experience writing php, so it wasn't all, as they say, Greek. BUT in my pre-drupal career, I had always called php functions by submitting form information to a specific php page. In drupal, you write functions in a .module page, and there is no obvious way to call these functions once they are written. At least, no way that was obvious to me.
My big breakthrough was stumbling across the fact that the drupal hook_menu function does more than serve up navigational links. It also sets up url paths that submit data to specific drupal functions. Brilliant! Had I read the book cover-to-cover instead of skipping to the parts I thought I needed, it would have saved me weeks of hair pulling over that one.
Controlling look and feel
When I first started working with Drupal themes, I assumed that customizing an existing theme would be done exclusively through that theme's administrative interface, and through external css pages. Not so! In addition to these relatively easy routes, one must also pay attention to the all important tpl.php pages. In some cases, inline css hidden in a theme's page.tpl.php page will thwart your every attempt to change a color or font. Compounding that is the sheer complexity of the drupal typical theme's css design.
Look and feel is one of Drupal's weaknesses, in my opinion. Coming to Drupal from Dreamweaver, I really, really miss the ease with which I could both design and modify a static site's look-and-feel. With Drupal, every little thing is a struggle, and so far, I don't see the big pay off. Not insofar as look and feel are concerned.
Modules, publication and permissions
When you have set up a drupal site and logged in as user 1, you can do anything the system is capable of. As you drop in modules, the system becomes more and more powerful. What you might not realize at first is that most modules hide some or all of their features from everyone other than user 1! To let anyone other than yourself experience the wonders you think you are providing through drupal, be sure and visit the permissions page often! When someone calls you up and complains that they can't do this or that, or that they can't find this or that, check two things: permissions and publication. Unpublished nodes will appear only for you. This can be a good thing, but you will have to remember to publish at some point!