Help support the XML sitemap rewrite! Individual donations are welcomed to help offset my free time on the project. If your company would like to sponsor the rewrite or a specific feature, please contact me. Also be sure to read this blog post!

State of the Drupal XML Sitemap 2009

Note: this is a serious post, but I had to have a little fun and wanted to parody Barack Obama's 2009 State of the Union speech.

I've come here today not only to address the distinguished men and women in this great community, but to speak frankly and directly about everyone's favorite Drupal module, XML sitemap. I know that for many Drupalers reading right now, the state of the module is a concern. And rightly so. If you haven't been personally affected by this module, you probably know someone who has--a friend; a neighbor; a co-worker. But while the module's reputation may be weakened and our confidence shaken, tonight I want every Drupaler to know this: We will rebuild, we will recover, and the XML sitemap module will emerge stronger than before.

So how did things get this bad?

For those of you who haven't had the pleasure of using XML sitemap yet, I think Angie Byron (webchick) and Jeff Eaton said it best:

webchick: "Dear XMLSiteMap module: Please die. And not in that cute, friendly way. I mean I literally hope you get hit by a bus. Twice."
eaton: "Uhoh. Brainstorming a #drupal site assessment drinking game with @quicksketch ... "XMLSitemap? Finish your drink."

The last stable/official release of the module was the 5.x-1.6 version from almost a year ago. There is a 5.x-2.x version that was supposed to fix problems in 5.x-1.6. For over a year, the 6.x-1.x-dev version has been a work-in progress port of the unfinished 5.x-2.x version. Despite there not being any stable 6.x release, there are over 10,000 people using development builds which are buggy, frequently failed on updates, and could not scale to large sites. This of course, leads to several issues in the queue with over 200 replies with recurring themes of frustration and impatience.

Much like the current US/world recession, I can't assign blame to any one person or problem. The current maintainer, Kiam was very active and would keep hacking away at the module, fixing problems, but sometimes introducing new ones. For the 25th most popular Drupal module, there was a lack of regulation (peer code review) that we usually see in other popular or large modules. There was no way to say that a change won't work, or something is a bad idea until after the code had been changed. Some developers that needed a working module for their clients would take one look at the code and issue queue and would promptly run away, seeing no other short-term solution besides writing their own custom implementation. The people who's input and time could help the most did not need or want to help contribute back. Those who did make honest efforts were frustrated with language barriers or misunderstandings. There was no test coverage for the module, which I also can't blame since writing SimpleTests for an existing, largish module which you didn't originally write is really hard. But new features would be added and bugs would be fixed without ensuring that they would work correctly.

Dave + Growing Venture Solutions = Yay!

I've been pretty busy and been away from blogging for a while. But I figured I should sneak in this announcement. Working with Drupal the last few years has mostly been a hobby and a passion, but over the last few months I've been wanting to turn it into a profession. Recently I've been partnering with another great Drupal developer, doing contracted freelance work for Mark Boulton Design, the company hired by the Drupal Association to help improve Drupal 7's usability experience.

I'm also very happy and excited to announce that I've recently been hired by Greg Knaddison at Growing Venture Solutions as a Drupal Generalist. I'll be working with a small, but really great team (mostly based out of Denver, Colorado) helping to provide development, support and training for companies using Drupal. I'm very fortunate to have found such a good fit for my situation in life, such great people to call my new co-workers, and a job that has a lot of potential for personal growth.

I still have a couple more good news announcements that I can't release yet, but I'll keep you updated when I can! I'm excited to see where life takes me from here now! :)

Preparing your modules for Drupal 7

I know it seems like a far distance away and as much as you'd like to ignore it, Drupal 7 is coming and it will be awesome. Some ambitious developers have actually started with Drupal 7 version of their modules, but what if you just want to get a little head start? I'll show you a few ways that you can help prepare your Drupal 6 modules now to help make life easier when you full port to Drupal 7 later on. To see a list of all the current 6.x to 7.x module changes, view http://drupal.org/node/224333.

I heart LEGOs and K'Nex!

On a random whim, I signed myself up to get the LEGO catalog, a long lost friend I haven't seen since my elementary school days. The LEGO catalog is as glorious as I remember, but the prices are not. I always loved the City LEGOs, especially the emergency-response LEGOs and I always had a complete city put together.

I also miss K'Nex. Specifically, the first large-scale K'Nex roller coaster (see picture) that took up my entire room. Man was that was one big box of fun!

It's times like there that I'm sad that I sold all my LEGOs and K'Nex and no longer have them around. I guess it's for the best, but sometimes I just want to be a little kid again. If I had the money, I would be getting some LEGO MindStorm kits ASAP.

Drupal OpenDNS Shortcuts

OpenDNS logoFor a while I had been using the OpenSearch browser plugins to help me search Drupal.org, and different versions of the Drupal APIs. But now I have found an even better method using OpenDNS. If you are not using the OpenDNS service already, I highly suggest you do! Not only does it provide fast and reliable DNS lookups, typo correction, and anti-phishing protection, but also a handy little feature called shortcuts, which lets you map a short term to a long URL via the address bar. This feature is pretty identical to FireFox's Smart Keywords, but they will work on any computer and any browser! As a Drupal developer, I have found the following shortcuts very useful to quickly get to certain areas on drupal.org:

So if I type "dpi path_redirect" in my browser's address bar, I will automatically be directed to http://drupal.org/project/issues/path_redirect. Do you have any handy shortcuts that you use? Please comment and share them!

Getting noticed for Drupal 7

Greg Knaddison at Growing Venture Solutions recently computed statistics for who are the top patchers and drivers for Drupal 7 so far (see full results here). Guess who's #4? Me! Occasionally it feels nice to be noticed. :)

Big congrats goes to catch, who is rocking things out at #1 and I will also most likely be working on a project with in the near future. There are also a lot of people providing 1-2 patches that are helping making Drupal 7, so let's keep building momentum and make this release the best yet!

Laptop out of commission

Ok, so my four-year-old laptop that I use for development is officially dying. The insides of the hinges connecting the screen to the laptop are crumbling apart inside, and the screen is no longer able to hold itself up. I have a nice big stack of books holding the screen up right now, but it kind of defeats the purpose of being a laptop. Plus my hard drive is getting more and more click-y each day. I haven't been able to be in #drupal IRC or working on code as much as I've wanted to recently.

I'm trying to find a good replacement on Dell Outlet but it's a hit-and-miss type of site where the good configurations tend to disappear fast. If I can't get a replacement quick enough, I'm probably going to have to cancel my trip to Boston for the Drupal.org upgrade sprints and will no doubt put me behind on keeping my contrib modules up to date (it already has). Now more than ever, it would be greatly appreciated if you use/like any of my Drupal modules, to help and contribute to my replacement laptop fund.

This really kinda stinks, but it's not like I wasn't expecting this anytime soon. :/

Drupal.org redesign sprints

Undoubtedly Drupal's biggest community asset is the Drupal.org website itself, which has been in need of a major redesign for quite some time. As our community has grown quickly, Drupal.org has not grown with the features and usability needed to match. The good news is that the redesign planning is nearly finished, but we are nearing a very critical task. We need to upgrade Drupal.org and all its modules to run on Drupal 6 before we can actually implement the redesign. With Drupal 7 coming up quickly in Q4 2009, and Drupal 6 released almost a year ago, we are still running our biggest asset on the much-less-awesome, nearing-end-of-life version 5.

Dries and the Drupal Association have started organizing redesign sprints over the next two months to concentrate effort and focus, the first of which is dedicated to the massive task of upgrading Drupal.org. Along with many other contributors, I've volunteered my time and effort to attend the sprint in Boston. But like myself, some of us aren't sponsored and require financial assistance to attend. Please consider reading http://drupal.org/node/356002 and donating to this important cause that will further expand Drupal's reach and to provide us better tools to communicate and collaborate.

Restricted content - Yet-another-but-different Drupal node access module

I previously posted about my search for my ideal content access module. Since then I've done a lot of searching and digging through the source code of all the most popular content access modules. I've come to realize there was really no module currently out there that had the features I was looking for. A quick review of the feature wish list:

  • Per-content access restricted by user roles
  • If the content is restricted to user, don't just hide the node, but rather show a message in place of the content like "Sorry, this post has been restricted to users with the following roles: registered user, friend."
  • If the current user is anonymous and the content is restricted, also show a message like "Please create an account to view this content." with a link to the user register page, of course.

restricted_content1 The built-in Drupal node access system is not really ideal for this direction since there's absolutely no middle ground between, "This user can view the node" and "OMG! Hide this node completely!" So today I started Restricted content, a yet-another-but-totally-different node access module. After only a couple hours of coding, it seems to be working fairly well, minus any kind of testing framework (I swear I'll get right on it webchick!). The content restriction messages shown to the user are customizable and can be integrated with token for some cool token replacement. For anyone daring enough to try it or even just take a look at the code, your comments and feedback are wanted and welcome here or in the issue queue. Hopefully some of you can find this useful like I have!

We're Engaged

Engagement kissAt five minutes past midnight on today, December 24, I finally popped the question and Jenny was foolish enough to say yes. :) I'll post my whole story behind it shortly on http://davenjenny.com/wedding/engagement/daves-story (yes, I'm a dork and we'll have our own wedding website coded by yours truly). But I'll just say I was very sneaky, very nervous, and she nearly couldn't wait for me to finish the question before she said "yes."

Jenny had to work a short shift at work today, but our day has been otherwise filled with sharing with friends and family, calling all the best friends, and treasuring in the moment. We are tentatively planning for a wedding sometime in early 2010 and we couldn't be happier. We've both been smiling out of control today. :) There's a slide show of more pictures in the full post below or you can go look at the photoset on Flickr.

I love my fiancee. :)

EDIT: My proposal story is now up at http://davenjenny.com/wedding/engagement/daves-story

Syndicate content