Showing posts with label drupal. Show all posts
Showing posts with label drupal. Show all posts

Tuesday, March 17, 2009

Drupal 6 JavaScript and jQuery is out

I got my copies of Drupal 6 JavaScript and jQuery today.

Honestly, writing this book was a struggle. I think I spent longer debugging JavaScript on a multitude of platforms than I did actually writing the book. That makes the entire experience less enjoyable.

Another frustration with the book was trying to use the appropriate tone. My intent at the outset was to attract a different crowd. Rather than write to computer scientists and software engineers, I wanted to write to new web developers -- perhaps those who haven't done much programming at all. I don't think I met my own expectations in that regard. It is a rare gift to be able to explain something you know well to someone who has little base knowledge.

On the reverse side, I did have a chance to write some of the flashiest book code that I have ever written. Instead of writing generic code, I had the opportunity to start from what Drupal already has and build out. A few of my favorite examples were:
  • The real-time comment notification system (like Growl for a website). I might even have a project coming up that would allow me to use this on a production site.
  • A simple but configurable HTML editor called "better editor" (because it is an extension of an earlier example in the book). I could actually imagine creating a real module version of that.
  • A sorta cool client-side theming engine. It was fun. It has some practical application. Who knows... perhaps someone else will be able to make something useful of it.
So, yes, there were parts of this book that I really enjoyed working on.

Biographically speaking, it was rather strange to write a JavaScript book. I think the first server-side web apps that I wrote (that is, beyond simple CGIs) were written in Netscape's "Server-Side" JavaScript sometime around 1996 or 1997. And my first major consulting position was as a Lawson JavaScript developer. Looking back, Lawson was an unsung pioneer in the field. They were attempting to approximate AJAX with frames (not iframes -- no, this was before iframes were widely adopted). When I jumped ship from JavaScript to Java, I didn't think I'd turn back. But as the technologies have matured, I've found reason to want to script stuff on the client again.

Finally, I think the most interesting thing to come out of the book (and out of a discussion I had with Larry Garfield while writing the book) was QueryPath. Okay, to be completely honest, QueryPath was the result of three things:
  • Wes Munsil's teaching me how to write recursive descent parsers in June. Once I knew how to do it, I really wanted to write one. And who writes CSS parsers for PHP?
  • Learning jQuery. As soon as I started working with it I became enamoured. And the JavaScript book gave me more of a chance to think about its structure.
  • Expressing my frustrations with XML technologies to Crell, who flippantly suggested I write "jQuery for PHP". Really, that was the moment when the entire thing meshed. That happened somewhere around Chapter 4 of this book.
Will I write more books? Probably. I love the process. But maybe I'll take a breather for a few.

Wait... I just came up with a good idea for a book.

Friday, September 26, 2008

Agile + Scrum

Chris Brookins at Acquia turned me on to an Agile-friendly project management methodology (did I get that right?) called Scrum. I've been reading up on it here and there, and found an interesting blog, agilesoftwaredevelopment.com, that is running a four-part series on experiences starting a Agile+Scrum-based project. (1, 2, 3, 4)

The Agile Software Development site seems to have new content every day, most of it dealing directly with either Agile or Scrum. Good reading. Oh, and did I mention that the site is powered by Drupal?

Thursday, September 18, 2008

Tools for Improving Online Information

Over at O'Reilly, Andy Oram has an interesting article on improving online documentation, moving it beyond a mere digital rendition of the traditional print media.

He suggests two tools which will, he thinks, improve the way documentation is done in an online world. Ready for them?
  • Quizzes: Objectively measure the effectiveness of the documentation by gaining useful feedback.
  • Bibliographies: Provide cross-referencing tools that can help build "paths" through available documentation. And make it easier for readers to contribute to building such paths.
Of course, it is no surprise that I think the second one is invaluable. I've been known to dabble in that area in the past.

I also just recently became maintainer of the venerable the Quiz module on Drupal.org.

Thursday, September 11, 2008

Slashdot review of Learning Drupal 6

I just found out that Slashdot posted a review of Learning Drupal 6 Module Development. The reviewer gave it a 9/10 -- with his detracting points being a few typos in the text, and some stylistic differences with the Packt writing guidelines. Needless to say, I'm thrilled to get such a positive review on a site like Slashdot.

Friday, September 5, 2008

My 15 minutes?



It's been a busy few weeks:
Now if only I could get the JavaScript book finished....

Friday, July 25, 2008

DrupalCamp Colorado


Tomorrow, DrupalCamp Colorado begins.

I am planning on doing a session there on JavaScript and Drupal (heavy on the jQuery).

There are a surprising number of session proposals, and it looks like many of them will be very interesting. I'm excited to be going.

In the meantime, I have been working on J.D. Trout's new web page (moving here). It's using Drupal 6 with a whole host of newly-minted Drupal 6 modules -- like Views 2, CCK, and Image. Which brings to mind something I'd really like to rant about: What in the world is going on with Drupal image support? ImageField is gone... now FileField Image is here.... but wait... it's gone now. And maybe ImageField is coming back. Maybe. Poor lonely Image is the only image module that looks stable on Drupal 6.... and it's awfully hard to use with Views and CCK.

Thursday, June 19, 2008

In the Works: A Book on Drupal and JavaScript

I've started on a new book on Drupal. This time, instead of covering the PHP aspect, I am focusing on JavaScript. Drupal 6 has made some major headway in this arena, and it seems to be about time to focus on that.

As usual, Packt is the publisher. They're a great company to work with.

Monday, June 2, 2008

Article on Themes and Modules in Drupal 6

Packt has published a new article of mine (extracted from the Learning Drupal 6 Module Development book.) The article, entitled Theming Modules in Drupal 6, discusses how module developers can build modules that take advantage of the robust theme system in Drupal.

From the article's introduction:
The Philosophy Quotes module that we will create in this article will use Drupal's theme system and a simple database query to theme the content of a custom content type.

The goal of the article is to create a module that uses the theme engine to render content. That way, the module will always produce attractively marked-up content. But when a theme designer needs to change the module's look and feel, this can be done using a template... and the module code itself doesn't need to be touched.

Friday, February 22, 2008

Learning Drupal 6 Module Development

Packt has now set up the official information page for my Drupal book.

This book has a very hands-on practical feeling to it. Each chapter walks through the creation of a module, theme, or installation profile. The goal is to produce modules that actually do something.

The modules cover a range of development tasks, from the fun (jQuery, AJAX/JSON, and XML feeds) to the practical (providing administrators with a special email notification system). More attention has been devoted to some of the new or updated Drupal 6 subsystems, like the Menu API, Forms API, mail subsystem, triggers and actions, sub-themes, and new Javascript.

One chapter covers theming, and one chapter covers building a custom installation profile (that is, an installer for a highly customized version of Drupal).

I'm actually done writing the book (ahead of schedule, I might add). Now, it will go through reviewing and printing before hitting the shelves. My editor tells me that it will probably ship in June. But apparently they are optimistic -- they but the book up for pre-order already.

This has been by far the most fun book I've written, and I think I will stick to this sort of format for future books (at least the development ones).

And if you are coming to DrupalCon Boston, look me up.