drupal

On Drupal.org moving to a distributed version control system

Update: Drupal.org is going Git!

Drupal.org's use of CVS as a version control system has long been a thorn in the side of the project and its contributor community. As many newer (and sexier) version control systems have popped up over the years, most of us have switched to something else for our day-to-day work, and the only time we need to remember how to use CVS again is when we are interacting with Drupal.org. It's a pain even for the most "blue-blooded" among us, and for some, this is a blocker to contributing back altogether. Dries has even identified playing around with other version control systems in his 8 steps for Drupal 8, and Larry also identifies it as a requirement for Drupal to realize it's not an underground success anymore.

Naturally, this situation prompts the periodic raising of the (perfectly reasonable) question by someone every few weeks of, "Why the %&#! is Drupal still using CVS?!" At one point, we got sick of expending time, energy, and focus on this question constantly, and so wrote up Why is Drupal still using CVS and how can I help change that?.

Unfortunately, no "help" ever materialized from the repeated linking of people over there, so after an impromptu IRC discussion the other day prompted by serial trouble-maker walkah, a few of us decided to brainstorm a list of what exactly it would take to gain some momentum on this goal (hey, testbot has been down for a few days, so we needed something to do! :P).

We created the following wiki page to centralize information and discussion, and coordinate mobilization around this effort:

Action items for moving Drupal.org off of CVS

The page has been up for about four days, and has had some very interesting discussion so far (happily, almost entirely devoid of meaningless "+1"-style comments). We've also in the process managed to wrangle a pretty nice list of resources for other projects who might be considering a similar move (or at least that's the hope)!

Here's a very high-level summary of the discussion so far:

  • Based on our project/community goals, as well as the effort required to get there, there is no point in moving to a better centralized version control system. Distributed version control seems to clearly be the way of the future for massive hubs of collaboration such as Drupal.org, and so we've eliminated Subversion as a contender. We also eliminated Mercurial, based on lack of community expertise.
  • Of the people in our community who use distributed version control systems, the overwhelming majority use Git. And by pulling random project metrics, Git also seems to be far and away the project with the most thriving community and most momentum behind it.
  • However, Bazaar has the support of the Drupal.org infrastructure team, since it is capable of functioning as both a centralized and decentralized version control system, making the mental shift easier.
  • We're currently exploring what sort of Drupal.org-related action items exist, as well as what possibilities exist for moving off of project* module, should we decide to do that, just to get all possible cards on the table.

So if you have expertise in Git or Bzr (or preferably, both), knowledge of the various Drupal.org infrastructure/Project* module details, and/or can provide more details to flesh out the blanks in the wiki, please head over to Action items for moving Drupal.org off of CVS and pitch in!

(Note: Comments are off on this post, because you should be posting over there instead. :))

my.cnf: Beware of hard drive crushing binary logs

If you've tried to import a Drupal database dump with the cache table data still intact, you've probably at one point or another run into a "max_allowed_packet" error coming from MySQL. An easy way to address this is to increase the setting in my.cnf.

About a year ago I hit this issue, and came across this helpful blog post that explained how to copy one of the default my-XXX.cnf files into MAMP. I thought it was real cute how these files talk about servers with 64M-128M of RAM as being "medium" so I copied my-large.cnf or something in, tweaked the setting, and went on with my day.

Lately though, I've been getting out of disk space messages, which I've always found puzzling, since 99.9% of what I do on this machine is Drupal. And hey, I know jQuery UI is pretty massive, and I have a few Drupal 7 checkouts laying around, but what the heck? :P I started deleting things like old VMs I wasn't using anymore. But finally today I was down to about 200MB (?!?).

All hands on deck for Drupal 7 alpha 1 this Friday!

Greetings, folks!

As you may or may not have heard, on Friday we are going to roll Drupal 7.0 Alpha 1. This will be the very first time that the vast majority of the community (not to mention the outside world) will download Drupal 7, and play around with all of the hard work you've all been doing for the past ~24 months. So! I would love to do everything that we can to really shine it up over the next couple of days.

There are three queues that I would love people to focus on if they have even one hour this week sometime to help Drupal 7:

  1. webchick's D7 alpha hit list:

    A variety of either seriously critical bugs (lingering critical API breakages, the broken upgrade path, missing security updates) or really glaring user-facing bugs that just make D7 look really sloppy. Some of these are real head-scratchers, but others I think are pretty obvious things that can be fixed in just a few lines of code.

    We will still release the alpha regardless of the state of this list on Friday, but progress here will help determine how many bold, flashing disclaimers I can remove from the announcement. ;)

    (Note that this is called webchick's D7 alpha hit list. Please do not add/remove stuff to/from this tag. If you feel something is drastically amiss, come find me on IRC and we can talk about it.)

  2. API changes lacking documentation list:
    Another thing that I'm really hoping to see along with the release of alpha 1, is a torrent of developers beginning to make good on their #D7CX pledges, by porting their modules and themes to Drupal 7. Right now, however, there are two pages of issues whose API changes are not documented in either the modules or theme upgrade guide. This is an extremely critical situation that we need to resolve ASAP in order to not stall the updates of 6.x modules to 7.x. (We all remember how much fun that 5.x -> 6.x lag was, don't we?)

    If you choose to help with this (bless you!), please both edit the appropriate handbook page(s) for the change:

    ...and also cross-file issues into the Coder module queue (http://drupal.org/node/add/project-issue/coder) against the "Upgrade Routines" component.

    Helping whittle this queue down not only will give me fewer gray hairs and make the D7 alpha 1 launch a huge success, but it will also help get you acclimated to the changes forthcoming in Drupal 7 now so that you are prepared when D7 is officially released in a few months. Plus, you can make a mean living with your brand new "Drupal 6 to 7 module/theme porting" business. ;)

    (Incidentally, I highly encourage the Drupal 8 maintainer to create a "Wall of Shame" for developers whose patches end up on this list for longer than 24 hours. ;))

  3. User interface text:

    The docs and usability teams are doing one final pass on all of the strings in core before we turn the translators loose on Friday. A lot of these require no more skill to review than the ability to read English. :)

Thank you all SO much in advance for your help, folks! Let's blow 'em all out of the water! :)

P.S.: I am probably going to be doing a "commit freeze" starting Wednesday night when I go to bed, in order to give 24 hours or so for any follow-up bugs to be shaken out prior to rolling the release, so we don't accidentally break something horribly in the final hours. GULP.

Drupal 7.0 Alpha 1: Coming soon to a downloads page near you!

Drupal 7 first opened for development back in February 2008. At Drupalcon Boston a month later, we brainstormed on how to tackle some of Drupal's toughest challenges: our usability was not up to par, we were burning time fixing the same bugs over and over, our database abstraction layer suffered many limitations, upgrades were a nightmare, and critical modules such as CCK not being ported were harming our adoption rates of Drupal 6. Drupal 7 has made tremendous strides since then to solve each of these problems, as well as many others. Among the improvements are a revamped UI, a testing framework, a new database abstraction layer, a browser-based upgrade system for contributed modules and themes, and CCK in core.

Now it's time to head into the final stretch: stomping down the list of critical bugs, so that we can release Drupal 7.0 out into the world! :D

To help this along, Dries and I will create the first alpha release of Drupal 7 on January 15, 2010, Drupal's ninth birthday. For developers working on Drupal 7 clean-ups, particularly around anything that is touching APIs or the UI in a fundamental way, your changes will need to be completed by then. Once the alpha is released, we will start to treat Drupal 7 as an actual stable release, which means nothing but non-API-breaking bug fixes.

The initial brainstorming at Drupalcon just a few weeks after development opened for Drupal 7 was instrumental in laying a strong foundation for the entire release, I would love to see Drupal 8 get the same opportunity. However, this means releasing Drupal 7 before Drupalcon SF (mid-April), so that our attention is not divided between getting our past efforts out into the world, and deciding what our future efforts will be.

And when does Drupal 7 come out? When the list of critical issues hits zero (currently at 340, though this will fluctuate all over the place for awhile as non-critical issues are marked such as and new critical issues are found). To spook you with a little math, if we want to see a Drupal 7.0 release by the end of March, at the current total we need to solve roughly 120 issues per month, or 30 issues per week, or 5 per day. Yipes! :)

Obviously, the more people we have helping out with fixing critical issues, the faster this number will go down. So if you haven't yet played around with Drupal 7, now's a great time to start! Pick a critical bug that looks interesting/achievable, and take the opportunity to learn a bit about the changes in Drupal 7 at the same time while you solve it. There are always folks in #drupal and #drupal-contribute on irc.freenode.net to help you, and there are a variety of bugs for all skill levels and areas of expertise.

Let's rock!

Virtual Drupal 7 Usability sprint this weekend!

This weekend, Nov. 21 and 22, we'll be having a virtual usability sprint on IRC to help churn through some patches and reviews to push in important usability improvements by UX freeze (12/1). We'll be focusing on the following areas:

Drop by #drupal-usability #drupal-contribute on irc.freenode.net whenever you're around this weekend, and whoever is active will help you find something interesting to work on! Coder hands and patch reviewers are especially needed, but feel free to drop by regardless of skill level. It should be a fun time, and you're guaranteed to learn a lot! :)

And if usability ain't your thing, there are always accessibility and performance issues that could use your help! :)

Drupal 7 code slush status update

Short version: Extension until Monday to work on feature exception patches. GO! :D

As Dries mentioned in his Drupal 7 code freeze post, yesterday (October 15, 2009) marked the end of the period of development known as "Code Slush": a time to focus on API clean-ups and the list of 10 feature exceptions identified at Drupalcon Paris. Major APIs in Drupal 7 should now be considered frozen, barring critical bug fixes, so contributed module authors should be able to start porting modules to fulfill their D7CX pledges.

A number of great API clean-ups made it in during the 6-week extension, as well as many of the feature exceptions. Here's where we currently stand:

  1. Image Field: DONE!
  2. Translatable fields: API changes: DONE! (UI still outstanding)
  3. Convert Profile module to Field API: Stalled. :(
  4. Convert Taxonomy module to Field API: DONE!
  5. Admin overlays: Very close!
  6. Edit anywhere: Very close! DONE!
  7. Customizable shortcut bar: Very close! DONE!
  8. Administrative dashboard DONE!
  9. Plugin Manager (automated module updates): DONE!
  10. RDF: Making good progress DONE!

There are still 5 2 exceptions outstanding, but most of them are very close. As a result, Dries and I have decided to extend the deadline for feature exceptions only until Monday, October, 19, 2009. After that, there will be a post to the drupal.org front page on the next steps in the march toward Drupal 7's release.

I also want to extend a sincere thank-you to the core contributors who have done such a major push during code slush to get Drupal 7 into an even better place than it was September 1. There was a tremendous effort, particularly over the past 7-10 days, on features and functionality that will propel Drupal 7 to the stratosphere of awesomeness. Hopefully next week we can all catch up on a bit of sleep. :D

Drupal 7 Status Update: Then and Now

I wanted to upload a copy of my slides from the Drupal 7 Status Update talk at Drupalcon Paris, and then I realized I don't think I ever uploaded my slides from the Drupal 7 Status Update talk at Drupalcon DC. Oops! So here are both of them. ;)

Drupalcon DC (March 4, 2009)

Drupalcon Paris (September 2, 2009)

You can think of these basically as an audiovisual guide to the highlights of the Drupal 7 CHANGELOG.txt and release notes. It's interesting to compare where we thought we'd go in March and where we ended up in September. Someday I'm sure I'll have lots of time to write something really navel-gazing and insightful about those 6 months in between, but alas, today is not that day. ;)

In terms of "What next?" Dries just made a post to the Drupal.org front page on the Drupal 7 release cycle which you can find at http://drupal.org/node/578446. It details the schedule for the next coming phases, and I posted some follow-ups with some action items for those hoping to help us towards release!

Hope to see you in the issue queue! :)

How not to have a frazzled, baggy-eyed webchick at Drupalcon

Dear Drupal community: I love you dearly, and I would love to look at all of your patches! However, we're down to the wire here trying to work hard on several very important initiatives over the next ten days, including:

So, if your patch:

- is against documentation or user-facing strings (stuff in t())
- adds tests
- fixes bugs, in a way that does not change APIs (function xxx() lines, db schema, etc.)
- is minor coding standards clean-up
- doesn't affect the XHTML output of Drupal

...then please consider not pinging me about it in IRC for the next 10 days so that I can focus time and energy on some of these bigger, scarier patches that must get in before 9/1. After code freeze, I am very happy to look at those other kinds of patches! :) Until then, consider helping out in one of these areas, or check http://drupal.org/community-initiatives/drupal-core and http://drupal.org/project/issues/search/drupal?issue_tags=API+change for others.

My sanity thanks you. :)

Video/Slides from Women in Open Source talk at Open Web Vancouver 09

With huge thanks to Sarah Cruise from dyke it, here's the video and slides for the Women in Open Source talk at Open Web Vancouver 2009 a month or so ago.

Women in Open Source

View Slides (16 MB PDF)
Download Video (195 MB FLV)

If you've seen the old version of that talk, the content is fairly similar, but some additional tweaking, so it might be worth checking out. Like always, there's a new horror story (and of course this debacle happened the very next day *sigh*), and at the end there is a new section called "Myth Busters" that's an attempt to shatter misconceptions that a lot of would-be open source contributors have that make them think they're not "good enough" to participate. (I know, because I was one of those myself for about a decade.) The discussion at the end is also pretty fun, esp. for the Drupal crowd. ;)

I wanted to sincerely thank the organizers of Open Web Vancouver (esp. Malcolm Van Deist and Jeff Griffiths) for having me. The conference was absolutely awesome: a wonderful mix of technology, important social and political issues, and genuinely interesting people to talk to.

It was also great to re-connect with old Drupal friends. Made me all nostalgic for my very first Drupalcon back in 2006 that completely changed my life. :') Aw!! Thanks too for all the great recommendations that have come in for "Operation: Show Marci How Awesome Vancouver Is." 18 days to go... DUN DUN DUNNNN... Keep those suggestions coming if you have them. :)

UX Sprint this weekend!

in

Drupal's usability team has organized a User Experience (UX) sprint this weekend (June 27 and 28) in Utrecht, The Netherlands. A who's-who list of user experience experts, core developers, and front-end designers will be present in person at the sprint.

If you're not in the vicinity of Utrecht, fear not! There will be a virtual code sprint this weekend over IRC as well. Join #drupal and #drupal-usability on irc.freenode.net. Come and put your coding and reviewing chops to good use on important issues that were identified during testing. Check out http://sprint.drupalusability.org/ for specific areas of focus, rated by difficulty.

We only have about 10 weeks left until Drupal 7 code freeze (September 1), so we need everyone's help! Drop on by, and have some fun! :D

Syndicate content