Drupal

My New Book: Using Drupal

using-drupal.jpg

My first book, "Using Drupal" will be shipped December 16, 2008. I co-authored the book with several other incredible Lullabots: Angie Byron, Addi Berry, Jeff Eaton, James Walker and Jeff Robbins. I'm very, very excited about the release of this book, not only because it's the first one I've authored, but because of the subject matter covered. There are several other books on Drupal (including the excellent Pro Drupal Development book, also authored by Lullabots John VanDyk and Matt Westgate), but none of them approach Drupal with such comprehensive coverage of actually using the software to build websites. It's also the first book to extensively cover contributed modules in addition to Drupal core.

Despite having worked on the book for well over a year, it's hard to believe it's really here. Today I received a newsletter from O'Reilly containing my biography for the book. The book is already available through O'Reilly's excellent Safari service. I haven't received my physical copies yet, but I guess it's already undeniable that the book really is finished and one more life goal accomplished.

Here's my bio on O'Reilly.com. You can pre-order Using Drupal from Amazon.com.

Personal Post-DrupalCon Agenda

Once again, DrupalCon this year was no disappointment. After getting back and having a few days to refresh and set my priorities, I've laid out a bit of list of tasks that I hope to complete in the coming months.

Image handling. There's no getting out of it now. After announcing my drive to make image handling part of core during the Multimedia Panel session (with Aaron Winborn and James Walker), I don't think there's any way I can back down from the commitment.

Image issue on Drupal.org: http://drupal.org/node/232129

A color picker for Fivestar. Before the Drupal code sprint at MIT, I brokered a deal that if Mahalie Pech made me a set of Bombs for Fivestar I'd make it so you can pick the colors. That's come along pretty nicely for code written during a code sprint. Look to a beta implementation of that in Fivestar soon.

Fivestar issue on Drupal.org: http://drupal.org/node/232127

Popups (modal dialogs). Tao Starbow took the lead on implementations of popups (think Facebook) in Drupal 6 and I helped kick around some possibilities and how we can possible get this implemented into the Drupal UI. Seems like first candidates for popup implementation are the help text Drupal-wide, and the confirmation dialogs (Are you sure you want to delete this node, etc). Tao's done an amazing job and I'm very excited to see where this takes the Drupal UI.

Popups issue on Drupal.org: http://drupal.org/node/193311

JavaScript in Drupal 6 - DrupalCon 2008

drupalcon2008.png

March 5, 2008 I'll be giving a presentation on two of the most exciting new JavaScript features in Drupal 6. You might be able to guess, on Drag and Drop and the new AHAH framework in Drupal 6. These are two features that slipped in at the last possible moment in the Drupal 6 development cycle, but I feel will be a serious player in module development in Drupal 6 contributed modules.

Drag and Drop

Drag and drop is already implemented in many places in core: the blocks page, book outlines, menu hierarchies, taxonomy terms, file uploads, and others. In the contributed modules, CCK has already implemented drag and drop for field organization and it's likely we'll see it in the final version of Views 2. I posted a screencast of the drag and drop for the blocks page a few months ago.

AHAH Framework

AHAH stands for Asynchronous HTML and HTTP. It's a close cousin of AJAX, which is the same concept of making a HTTP request in the background through javascript, then updating the page somehow with the new content from the second request. The difference between them is AHAH simply returns HTML back, then directly injects it into the page. It's a simpler and more direct method of page manipulation.

Webform 2.x Plans

Webform and I have had a long history together. It was used on my first Drupal site as a contact form, and it's been used ever since. It was the first module I reported a bug, and led me to learn how to roll a patch file. I became the maintainer and ported it to Drupal 4.7 after learning the then new FormsAPI. Not long after, Lullabot contracted me to write some enhancements for the a client, leading me to be hired full-time.

So I owe Webform a lot it seems, but yet it's long been the black mark on my CVS history, barely receiving patches months apart. With Drupal 6 around the corner, the requests for a port will come soon, probably requiring a large number of changes to accommodate for the improved FormsAPI. Because maintaining two drastically different version of the same module doesn't appeal to anyone, I've begun work on Webform 2.x for Drupal 5 to make it possible to support both D5 and D6 versions simultaneously.

So, what's new and different?

  • The components form has been moved from the main edit form to a separate tab.
  • Editing components immediately saves to the node, preventing nasty $_POST value checking and hidden elements passing data back and forth.
  • A new Grid element (also in the 1.x version)
    Grid component example
  • Individual components can be cloned, preventing repeated setup of the same elements

Fivestar 1.9 Demo

Fivestar is getting loads of new features very soon. Two of the most common problems will be solved in the next release:

- Fivestar now can display the current average by default, with user's rating underneath.
- Fivestar now can display when submitting comments, making reviews a one-click option.

As you'll see in this video, we also get several interface enhancements and new star sets (still looking for more though if you want to lend a hand!) You can grab the latest version of Fivestar demoed here as a tarball of the dev version, or you can wait for version 1.9 of Fivestar, due to be out shortly.

http://drupal.org/project/fivestar

Drupal Drag and Drop (redux)

A follow-up to yesterday's video on Drag and Drop tables. The new version combines the new dragtable.js with a special blocks.js file. The dragtable.js (320 lines) handles reordering of weights and matching regions with their siblings, as well as the actual drag and drop. The new blocks.js (50 lines) handles the specialty case 'regions' dropdown, so that changing this field moves the row into the new region.

See the patch for Drupal 6: http://drupal.org/node/181066

Drupal Drag and Drop

Not too long ago the AHAH patches went into Drupal core. While I'm thrilled with their inclusion, we can push Drupal's interface further with the addition of drag and drop, eliminating the visible weights system. Read more about it in the issue queue.

See the patch for Drupal 6: http://drupal.org/node/181066

Rain City Studio Thanks

raincity.png

Today I was browsing through the various Drupal firms and starting plowing through their various portfolios. Some peeps I've worked with from various companies:

While reading through Rain City's site, they mention me specifically for work on Sony's Multisite Implementation. Thanks guys!
I can't thank Lullabot's Nathan Haug enough for his incredible support as we became familiar with the site framework.
Many thanks to Doug Gottlieb, Nathan Haug, Earl Miles and all the folks at Lullabot and Sony who have made these sites happen. Here's to many more.

AHAH Example

So... today I put in effort into expanding the now committed AHAH Forms API to extend to all form elements. This means all kinds of effortless page updating on text area changes, radio buttons... you name it. The first target: the blocks page! Does this seem useful or annoying to you guys? Admittedly, the weight problem needs to be solved in general, but I'm not sure if this is the solution. Notice that different regions disappear and appear as needed, no javascript in the block module involved at all. In any case, it made a great test-case scenario!

See the patch for Drupal 6: http://drupal.org/node/157752

Nate Goes Lullabot

lullabot.png

September 29 marked another big shift in my lifestyle. It concluded the my day of work at 220solutions/cvbTV, and marked the first day of full-time work at Lullabot. I'll now be doing Drupal development fulltime, along with occasional training sessions and consulting.

The 'bots flew me up to San Francisco this past week to meet most of the crew and sit in on the latest workshops. I couldn't ask for a better group of people to work with. Besides the people, we've also got some awesome projects in the pipe that I'm really excited about.

Syndicate content