Drupal.org

Syndicate content
Drupal.org is the official website of Drupal, an open source content management platform. Equipped with a powerful blend of features, Drupal supports a variety of websites ranging from personal weblogs to large community-driven websites.
Updated: 27 weeks 2 days ago

Drupal 7.7 released

Wed, 07/27/2011 - 2:01pm

Drupal 7.5, a maintenance release which fixes security vulnerabilities is now available for download. Drupal 7.6 7.7 also fixes other issues reported through the bug tracking system.

Note: Drupal 7.7 is just Drupal 7.6 with a fixed VERSION string (7.6 was reporting itself as 7.5). No other changes.

Download Drupal 7.7

Upgrading your existing Drupal 7 sites is strongly recommended. There are no new features in these releases. For more information about the Drupal 7.x release series, consult the Drupal 7.0 release announcement.

Security information

We have a security announcement mailing list, a history of all security advisories, and an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 7 includes the built-in Update status module, which informs you about important updates to your modules and themes.

Bug reports

Drupal 7.x is being maintained, so given enough bug fixes (not just bug reports), a new maintenance release will be made available the last Wednesday of next month (August 31).

Changelog

Drupal 7.5 only includes fixes for security issues. Drupal 7.6 also includes bugfixes. The full list of changes between the 7.4 and 7.7 releases can be found by reading the 7.6 release notes. A complete list of all bug fixes in the stable 7.x branch can be found in the git commit log.

Security vulnerabilities

Drupal 7.5 was released in response to the discovery of security vulnerabilities. Details can be found in the official security advisory:

To fix the security problem, please upgrade Drupal.

What is included with each release?

We make two versions of Drupal core available, so you can choose to only include security fixes (Drupal 7.5) or security fixes and bugfixes (Drupal 7.7). You can choose your preferred version. We are trying to make it easier and quicker to roll out security updates by making security-only releases available as well as ones with bugfixes included. We hope this helps you roll out the fixes as soon as possible. Read more details in the handbook.

Update notes
  • (#634616) AJAX now responds to 'click' instead of 'mousedown'. Testing was performed to make sure this doesn't affect major contributed modules, but could cause issues.
  • (#1164852) The 'translatable' flag on fields added via the UI now defaults to FALSE, same as fields added via the API do. Contrib modules such as Entity Translation can allow toggling this back for sites that need it. An upgrade path will be included in a future release to bring all legacy fields into compliance.
  • (#1083982) Remote streamwrappers are now supported, because of fixes to where drupal_realpath() is called.

node_access_write_grants() now named _node_access_write_grants()

Tue, 07/12/2011 - 5:53pm
Project:  Drupal core Introduced in branch:  8.x Introduced in version:  8.x-UNSTABLE1 Issues:  Rename node_access_write_grants() to _node_access_write_grants() and discourage its use Description: 

node_access_write_grants is now named _node_access_write_grants to discourage its use. Any module writing its grants with this function will always get them written. However, when rebuilding permissions, core will collect grants from all node access modules via node_access_acquire_grants and only the ones with the highest priority win. This may result in different data and thus in unreliable node access.

Entity label callbacks now receive $entity_type as first parameter

Tue, 07/12/2011 - 5:50pm
Project:  Drupal core Introduced in branch:  8.x Introduced in version:  8.x-UNSTABLE1 Issues:  entity_label() is not passing along the $entity_type parameter Description: 

Any label callback defined in an entity now receives two arguments: $entity_type and $entity. This allows label callbacks that apply to multiple entity types.
In Drupal 7.2 and up, you can also use the added $entity_type parameter. Note that for backwards compatibility with Drupal 7.0 the parameter order is reversed.

Example:
<?php
function example_entity_info() {
  ...
  $entities['example']['label callback'] = 'example_label';
  return $entities;
}

// Drupal 7.0 and up:
function example_label($entity) {
  ...
}

// Drupal 7.2 and up:
function example_label($entity, $entity_type) {
  ...
}

// Drupal 8.x:
function example_label($entity_type, $entity) {
  ...
}
?>

Drupal 7.4 released

Wed, 06/29/2011 - 6:22pm

Drupal 7.3, a maintenance release which fixes security vulnerabilities is now available for download.

Drupal 7.4 also fixes other issues reported through the bug tracking system.

Download Drupal 7.4

Upgrading your existing Drupal 7 sites is strongly recommended. There are no new features in these releases. For more information about the Drupal 7.x release series, consult the Drupal 7.0 release announcement.

Security information

We have a security announcement mailing list, a history of all security advisories, and an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 7 includes the built-in Update status module, which informs you about important updates to your modules and themes.

Bug reports

Drupal 7.x is being maintained, so given enough bug fixes (not just bug reports), a new maintenance release will be made available the last Wednesday of next month (July 27).

Changelog

Drupal 7.3 only includes fixes for security issues. Drupal 7.4 also includes bugfixes. The full list of changes between the 7.2 and 7.4 releases can be found by reading the 7.4 release notes. A complete list of all bug fixes in the stable 7.x branch can be found in the git commit log.

Security vulnerabilities

Drupal 7.3 was released in response to the discovery of security vulnerabilities. Details can be found in the official security advisory:

To fix the security problem, please upgrade Drupal.

What is included with each release?

We make two versions of Drupal core available, so you can choose to only include security fixes (Drupal 7.3) or security fixes and bugfixes (Drupal 7.4). You can choose your preferred version. We are trying to make it easier and quicker to roll out security updates by making security-only releases available as well as ones with bugfixes included. We hope this helps you roll out the fixes as soon as possible. Read more details in the handbook.

Update notes

The robots.txt file was changed in Drupal 7 to disallow crawlers from the filter tips pages.

Known issues

#1204648: Tests added for SA-2011-CORE-002 broke testbot causes node access tests to fail, for people running the full core test suite in the Testing module. Fixed in 7.x-dev, and will be included in the 7.5 release.

Docs team 2nd Quarter 2011 update

Tue, 06/28/2011 - 10:53am

Hello from Jennifer and Ariane, your friendly Drupal Documentation Team co-leads! It’s time for a quarterly update on what’s happening in the Documentation team—we've been trying out some new initiatives and working on infrastructure since our last update (April 5, 2011), and we'd like to get you up to date.

April - June events
  • In April and May, Ariane tried out a new concept: picking out a few online Drupal.org documentation projects for the docs team to focus on, in the spirit of an agile "sprint" (not to be confused with a day-long let's-all-document "sprint"). April's sprint focused on 5 key Drupal 7 documentation updates, and it was quite successful: many people participated; four of the five documentation goals were completed, and lots of progress was made on the 5th (updating the core module documentation for Drupal 7). May's sprint had a bit less momentum, but many of the April contributors continued on, and some progress was made.
  • Jennifer also made a developer-doc priority for April and May—to finish the theme and module Drupal 6 to 7 migration guides. This task was completed in June.
  • We named June “Bring a Friend to Docs” month, and outlined an easy procedure to ease new contributors into contributing to documentation. If you missed it in June, you’re still welcome to follow the steps on that page—we can always use more contributors!
Upcoming events
  • Jennifer and Ariane will both be at DrupalCon London (thanks to the Drupal Association for funding Jennifer's trip!). Keep an eye on the BOF (Birds of a Feather - informal sessions) schedule, and join us for a Documentation sprint on Friday, August 26 (if you can't make it to London, you can join us in IRC on #drupal-docs, probably about 9 AM to 5 PM London time). Jennifer's also (hopefully) co-presenting a Core Conversation about improving the Drupal Help system with Kristof Van Tomme, if it gets accepted. Hope to see you there!
  • Ariane's online documentation sprints will take a vacation for the summer, and are planned to resume after DrupalCon London. It will be business as usual in the Docs issue queue in the interim.
  • To keep up on future Documentation Team events, follow @drupaldocs on Twitter, and join http://groups.drupal.org/documentation-team
  • If you'd like to host a documentation sprint at your regional camp, local LinuxFest, etc., we have a newly updated guide to hosting a sprint available.
Other Docs Team milestones and news
  • There have been several new contributors this quarter making patches for API documentation, which is much appreciated! We’ve managed to get quite a few API doc issues fixed, and are really improving the quality of the documentation. Keep up the good work, team!
  • We have been holding weekly "Documentation Office Hours"—one-hour IRC meetings on Tuesday afternoon (North American time), open to anyone for questions and discussions about contributing to documentation. It seems like it's been very helpful to have a definite time when people can find us on IRC, and we plan to continue with this schedule for the foreseeable future.
  • The Documentation Contributors block is back, and available for your Dashboard, with handy links relevant to Docs contributors. See http://groups.drupal.org/node/154024 for more details.
  • Jennifer has been working on an infrastructure initiative: to announce Drupal code changes as “Change notification” nodes on Drupal.org, using Views and a content type with CCK fields (issue). This will act as a replacement for and enhancement of the current (very cumbersome and hard-to-maintain) Module and Theme update guides, and hopefully help the process of making sure that as Drupal evolves, the documentation evolves with it, as well as making it easier for module and theme developers to keep up with changes. Jennifer is also working with Angela Byron and others to change some other documentation-related aspects of the core Drupal development process. We’ll be announcing the process changes, the Change notification nodes, and other updates as they go live.
  • Jennifer is also hoping to get to some of the other infrastructure and communication issues identified in our December 2010 docs meeting this summer, once the change notification nodes project is launched, so hopefully we'll have some more Docs infrastructure news next quarter!
  • Jennifer is mentoring a Google Summer of Code student this summer, Tamás Demeter-Haludka (Yorirou), who is building a module to do Conditional Text in Drupal, as part of the initiative to make a better help system in Drupal 8. We’ll be having some BOF gatherings and hopefully a Core Conversation at DrupalCon London on this initiative, if you would like to get involved.
Next Steps

If you're interested in helping with Drupal documentation:

That's all for now, hope you're having a fantastic summer and that we'll see you in London!

DrupalCon London Session Schedule and Core Conversations

Tue, 06/14/2011 - 11:04am


The DrupalCon London Team had the task of narrowing 341 fantastic proposals into a schedule of 60 sessions, balanced across 5 tracks: Site Building and Environment Set-up, Business and Best Practices, Code & Coders, Design, UX & Theming, and Ecosystem. You can check out the schedule now and attendees will be able to build their schedule on the DrupalCon London site by logging in later this week.

This breaks down to 5 tracks with 12 sessions each. The 6th track, Core Conversations, will also have 12 sessions slots available and DrupalCon London will be opening core conversation session proposals between 14 June and 14 July 2011, 23:59 GMT+1. Core Conversations are a place for people actively working on Drupal or Drupal.org to meet and plan the future of Drupal (Drupal 8). We will announce selected Core Conversation sessions on 22 July 2011.

We remind you that we have some excellent pre-conference training courses and workshops scheduled for 22 August 2011 and invite you to register for these. This is a great opportunity for Drupalists at all levels of experience to learn from the experts.

The cost for a full day training varies from only £150 for the Absolute Beginner's Guide to Drupal to £325 for advanced topics like Building Modules for Drupal 7 and Drupal Powered E-Commerce.

Demand for Drupal talent is high, so why not invest in your future!

Register now to attend DrupalCon London and for pre-conference training.

If you would like to support DrupalCon London and help us spread the word about the conference. Here you can get badges for your website and promote the conference via our Twitter and Facebook widgets.

See you at DrupalCon London 22-26 August 2011!

Stay up-to-date with the latest information about DrupalCon London by going to http://london2011.drupal.org/ or following us on Twitter @drupalcon.

Community Input Sought for DrupalCon North America 2013

Mon, 06/06/2011 - 9:03am

One of the main activities of the Drupal Association (aside from keeping the lights on here at drupal.org) is to produce each DrupalCon, an international event that brings together the people who use, develop, design, and support the Drupal platform. Every DrupalCon features dozens of curated sessions and panels from some of the most influential people and brightest minds within the Drupal community and beyond, as well as countless opportunities for networking, code sprints, informal conversations, and more.

While we’re very excited about the upcoming DrupalCons in London in August (do you have your tickets yet?) and Denver next March, we’re already thinking ahead about where the 2013 North American DrupalCon should be. And, we’d like your help!

Please take the straw poll to tell us where you would (and would not) like DrupalCon to be held:

http://www.surveymonkey.com/s/drupalconpoll

Or, if you’re part of a team that would like to get more involved and organize a DrupalCon in a specific location, please submit your team’s interest via our nomination form on the Association site.

Surveys and nominations will be accepted through 11:59pm Hawaiian Time (UTC/GMT -10 hours) on June 19, 2011.

For more information, the Association’s Web site has the 2013 DrupalCon North American Selection Committee and the selection process. Thanks!

Report from the University of Minnesota Drupal Usability Testing

Wed, 06/01/2011 - 4:42pm

From May 17 - 19, 2011, in advance of DrupalCamp Twin Cities, several Drupal community members met at the University of Minnesota usability lab in Minneapolis to perform a round of formal usability testing on Drupal 7. This is the fourth major usability testing for Drupal, and the first targeting the new Drupal 7 release.

People who were familiar with building websites (but not with Drupal) were observed while they worked through a number of site building tasks. This report contains a summary of the results.

Summary

The good news is that most of the changes that were put in Drupal 7 tested well. Compared to Drupal 6, Drupal 7 no longer confuses new users with basic conceptual hurdles like where the front-end vs. back-end of their site is and how to create an "About us" page, and for the most part the administrative interface is clear.

The bad news is that now that some of these basics have been dealt with, we've uncovered a whole new layer of challenges for first-time Drupal site builders, some of which were pretty surprising. Finding modules, creating and placing blocks, and creating content types were difficult tasks for participants to understand, and it's these site builder tools we'll want to improve for Drupal 8.

Who did we test, and how did we test them?

Eight participants (a typical number for this kind of study) evaluated Drupal by working through a series of real world tasks over a 75 minute period, "thinking aloud" while the team observed and took notes from behind a one-way mirror. The participants could phone a "help desk" (staffed by a member of the team) if they ever got stuck and needed a nudge in the right direction, and a number of open-ended questions were asked throughout the test session.

All eight of our participants are people directly in Drupal's target audience. They are site builders, already using tools such as Dreamweaver and WordPress. They know HTML and understand how the web works. All but one had no prior experience in Drupal.

What did we ask them to do?

First, we gave participants a couple of minutes to click around the interface and provide their initial impressions. Then, we provided them with a series of tasks (see the scenarios covering basic things site builders do from day-to-day, including:

  • Content creation
  • Appearance settings
  • Block management
  • Installing a module
  • Creating a new content type
Test Results

In previous usability testing against Drupal 6 and early Drupal 7, we had intended to test things such as CCK, users and permissions, taxonomy, and so on. What we ended up testing instead was how horrifically confused new users were performing even basic tasks within Drupal 6's administrative interface: the separation of front end/backend, the overwhelming number of options at /admin, confusion between Page and Story, and more all stopped people from using Drupal successfully.

Based on this testing, we made a number of changes to Drupal 7 to try to combat these conceptual problems. And in short, all of the major usability problems found in Drupal 6 and attacked in Drupal 7 appear to be either vastly improved or non-existent in Drupal 7. Hooray! :D

What tested well?
  • First impressions: After some initial exploration (around 2 minutes), participants had a favorable response to Drupal 7 and thought it was:
    • "very simple"
    • "clearly laid out"
    • "there is a lot you can do"
    • "not very cluttered"
  • Creating content: All participants—but one—were able to add content (using different links from the homepage) without difficulty. Participants thought it was "pretty simple", "straightforward" and "easy to find 'add content'".
  • Basic Page vs. Article: Participants understood the difference between "Basic Page" and "Article". All the participants who tried to add an "About us" page to the main menu chose "Basic Page".
  • Changing the color of their site: Participants instantly knew to go to "Appearance" to change the color of their site. Although some participants had minor issues finding the theme settings page, they were eventually able to complete the task. Participants also liked how of color changes were previewed live on the affected area itself.
  • Toolbar: Participants found the toolbar quickly and had a fair understanding of what it did.
  • Toggle between the administrative overlay and site: All but one participant had a clear understanding of how to toggle between the overlay and the site. Participants understood when they were performing administrative activities and frequently used the overlay's "close" button to return to their previous location or before preparing to start a new task.
What tested poorly?

Now that people can actually navigate and do basic content creation tasks without much difficulty, they encounter other parts of Drupal's administration that are still utterly baffling. This section covers the major issues, though there are many more, some of them quite easy to fix!

  • Drupal terminology is obscure.
    Terms like "Block" and "Module" and "Content types" and "Triptych" either have no meaning, or a preconceived meaning that is different from what Drupal uses these words for. For example, some think of "module" as a block.
  • The distinction between "sidebar" content and content made absolutely no sense. Content is content.
    When asked to create a sidebar block, every single participant went for the "Add content" link. Unsure which option to choose, they went for either "Article" or "Basic page" and scoured the vertical tabs options for a way to add it into the sidebar.

  • The lack of a visually obvious way to place content on the page was a huge detriment
    People really craved some sort of "edit in place" mode as a visual way of controlling their site layout. They tried to click on region names in the block demonstration page to add content there. They tried to take a node that was outlined with the contextual links border and drag it to the sidebar. They tried to click and drag to resize sidebars. The lack of this functionality made Drupal appear extremely clunky.
  • Lack of realistic previews makes building sites in Drupal extremely challenging
    The preview as provided by Color module is what participants really were craving to see absolutely everywhere.

    Menus have no preview either, only text descriptions that give no visual clue to where on the page they will appear. Content can be previewed, but this preview is shown in the administration theme and overlay, not in the context of the actual user-facing site. This was frustrating and confusing.

  • While Drupal takes a "content-first" approach to site building, many people take a structure- and/or appearance-first approach.

    When looking at a mockup of the website they were trying to build, the natural inclination for several participants was to start setting up the navigation structure first. They ran into issues when doing this, because they were required to enter something for the "Path" field of the menu item they were creating, and they had no idea what that could be.

  • These Drupal evaluators did not realize you can extend it, and so Drupal is seen as limited in functionality.
    If users found their way to the modules page at all, they did not see that they could add new options there.

    Given that the entire point of using Drupal is that you can easily extend it with modules, making this fact more discoverable should be a primary objective of Drupal 8.

  • The workflow of finding and adding a new module from Drupal.org is overwhelming.
    Once a help desk call pointed them at the "Install new module" link, new problems began. Being taken off-site to Drupal.org was extremely jarring, as was the (apparent) requirement to download a module to the desktop and then upload it to the server to install it. People suggested an in-app browser for modules from Drupal.org. Additionally, the filtering options on drupal.org for modules are overwhelming. The search box, arguably the most valuable tool for when you have a general idea of what you're looking for, is located far down the list and was missed by most participants. Instead, they honed in on the "Categories" drop-down, which was completely useless to them.

  • People were unable to make the connection between a module's version number and modules listed on Drupal.org
    They generally just picked the first thing in the list, which happened to be 7.x for Webform, but wasn't for "Announcements", which another participant searched for. (Another issue is that once people know modules exist, they want to use them for absolutely everything, including things that could be accomplished through blocks and content types.)

Overall Results

After 75 minutes of using Drupal 7, participants were asked about their overall expressions. Participants commented:

  • "This was just hard. I struggled with it. I will have my sister help me."
  • "If you know what are you doing, it's okay. But for the first time user, it is a little shaky."
  • "A little confusing at first ... but I think you need to toy around with it ... get familiar with it."
  • "Not as user friendly as I thought."

When the participants were asked to select five words they associated with their Drupal 7 experience, 60% of their comments were positive. The most prominent word was "Customizable". (See the complete results.)

Participants were also asked to rate their experience on a 5 point Likert scale in terms of ease of use and value. Half of the participants thought Drupal was "Difficult to use", and all the participants thought it was "Completely valuable" or "Somewhat valuable". (See the complete results for ease of use and value.)

Finally, it is important to note that none of the participants were able to make it through their session without needing at least some assistance from the "help desk".

Next steps

We found over 100 issues during this testing round, some of them major, and many more minor ones. These are captured in raw form in the "Issues Analysis Matrix" spreadsheet, and in the issue queue under the "UMN 2011" tag. We will discuss, design and code changes for these, involving the larger community on what it means to fix them, and how. You are most welcome to join the effort!

  • Keep tabs on high-impact issues at the Usability Community Initiatives page.
  • Participate in larger discussions in the Usability group.
  • Provide and review patches for issues with the "UMN 2011" tag.
  • Help us create Drupal.org issues for the remainder of the issues found in testing. (Ping someone in #drupal-usability for edit access)
  • Help with uploading and splicing videos of participants' experience to illustrate issues to developers in the issue queue. (Ping someone in #drupal-usability for more info)
  • Chat with the team in #drupal-usability and #drupal-contribute on IRC.

We also encourage you to help with further usability testing, both formal and informal. What we tested at University of Minnesota only scratches the surface of what Drupal core can do (for example, we didn't cover Taxonomy, Search, adding themes from Drupal.org, etc.). We need further testing to verify if our changes are actual improvements, and there are many contributed modules out there that would benefit from usability testing as well.

Join us and help make Drupal 7 and 8 a joy to use!

Sponsors

A sincere thank you to our many sponsors :

    

And our many individual sponors; Marilyn Langfeld, zerolab, Walter Ebert, Jacine Luisi, Miles Worthington, Nate Haug (Lullabot), Yashesh (Venuslabs Web Solutions), Stein Bjørklund, Brian Link, Greg Dunlap, Wunderkraut, and others. Without you, this testing, and gathering together all who took part, would not have been possible!

Resources

Here Come the DrupalCon London Keynote Speakers

Thu, 05/26/2011 - 2:15pm

We are proud to announce DrupalCon London's keynote speakers: Tom Standage, The Web Standardistas and, of course, Dries Buytaert.

Dries Buytaert

Dries Buytaert, Drupal Project Lead and President of the Drupal Association, will kick-off the conference with his State of Drupal keynote presentation on Tuesday, 23rd August.

Dries Buytaert will discuss where Drupal is and where it is going. In particular, he’ll discuss the future of Drupal 8 and give an update on the core initiatives that were set-up since the last DrupalCon.

Dries Buytaert is the original creator and project lead for the Drupal open source Web publishing platform or “the reason there is a DrupalCon in the first place”. In addition, he is also the co-founder and CTO of Acquia, a company that offers hosting, technical support, and services for the Drupal platform, and the co-founder of Mollom, a web service that helps identify content quality and stop website spam.

Follow Dries on Twitter.

Tom Standage

Tom Standage, the digital editor at The Economist, will hold a keynote on Wednesday, 24th August.

Known for his historical analogies in science, technology and business writing, Tom's presentation will examine the pre-history of social media over the past two millennia and place the construction and use of today’s publishing tools in their full historical context.

Besides being a digital editor, Tom Standage is the author of five history books, writes the video-game column for Intelligence Life, The Economist’s lifestyle magazine and is a regular commentator on BBC radio. He holds a degree in engineering and computer science.

Follow Tom on Twitter.

The Web Standardistas

Christopher Murphy and Nicklas Persson will present a keynote presentation on Thursday, 25th August.

The tweed-clad duo will address the role design has to play, and how "fundamental and timeless design principles" are profoundly important throughout the evolution of a project like Drupal.

Christopher and Nicklas teach interactive design at the University of Ulster at Belfast, where they have been active in promoting a web standards-based curriculum. As practicing designers and digital artists, their work has been featured in a variety of design books and magazines.

Follow The Standardistas on Twitter.

Early Bird Deadline Coming Up

Take advantage of the Early Bird ticket price at £255 (+VAT), which ends on 31st May, 11h59pm, GMT+1 (midnight in London, UK). This price includes a ticket to the DrupalCon Party, which you won't want to miss! Conference passes without the party ticket are only £230 (+VAT).

Stay up-to-date with the latest information about DrupalCon London by going to http://london2011.drupal.org/ or following us on Twitter @drupalcon.

Drupal 7.2 and 6.22 released

Wed, 05/25/2011 - 4:02am

Drupal 7.1 and 6.21, maintenance releases which fix security vulnerabilities are now available for download.

Drupal 7.2 and 6.22 also fix other issues reported through the bug tracking system.

Download Drupal 7.2
Download Drupal 6.22

Upgrading your existing Drupal 7 and 6 sites is strongly recommended. There are no new features in these releases. For more information about the Drupal 7.x release series, consult the Drupal 7.0 release announcement, more information on the 6.x releases can be found in the Drupal 6.0 release announcement. Drupal 5 is no longer maintained, upgrading to Drupal 6 is recommended.

Security information

We have a security announcement mailing list, a history of all security advisories, and an RSS feed with the most recent security advisories. We strongly advise Drupal administrators to sign up for the list.

Drupal 7 and 6 include the built-in Update status module, which informs you about important updates to your modules and themes.

Bug reports

Both Drupal 7.x and 6.x branches are being maintained, so given enough bug fixes (not just bug reports) more maintenance releases will be made available.

Changelog

Drupal 7.1 only includes fixes for security issues. Drupal 7.2 also includes bugfixes. The full list of changes between the 7.0 and 7.2 releases can be found by reading the 7.2 release notes. A complete list of all bug fixes in the stable 7.x branch can be found in the git commit log.

Drupal 6.21 only includes fixes for security issues. Drupal 6.22 also includes bugfixes. The full list of changes between the 6.20 and 6.22 releases can be found by reading the 6.22 release notes. A complete list of all bug fixes in the stable 6.x branch can be found at git commit log.

Security vulnerabilities

Drupal 7.1 and 6.21 were released in response to the discovery of security vulnerabilities. Details can be found in the official security advisory:

To fix the security problem, please upgrade Drupal.

What is included with each release?

We made two versions of both Drupal 7 and 6 available, so you can choose to only include security fixes (Drupal 7.1 and 6.21 respectively) or security fixes and bugfixes (Drupal 7.2 and 6.22). You can choose your preferred version. We are trying to make it easier and quicker to roll out security updates by making security-only releases available as well as ones with bugfixes included. We hope this helps you roll out the fixes as soon as possible. Read more details in the handbook.

Update notes

The .htaccess file was changed in Drupal 7.2 to allow for simpler server configuration, while the (default.)settings.php just got a minor documentation fix that should not affect any copies. The robots.txt file did not change in Drupal 7.

The robots.txt file was changed in Drupal 6.22 to allow crawlers to index the contact page. The .htaccess and (default.)settings.php files were not changed in Drupal 6.

Known issues

When updating to Drupal 6.22, you might loose some of your block configuration. Follow #1173012: Blocks lose settings during update.php and cache clears for more information. If you need to update to Drupal 6.22 and experience this issue in testing, you can roll back the patch from #235673: Changes to block caching mode not caught.

Society for Human Resource Management - Case Study

Mon, 05/23/2011 - 11:12pm
SHRM Chapter Websites: Worldwide Membership, Powered by Drupal


The Society for Human Resource Management (SHRM) is the world’s largest association serving the needs of the HR industry. With more than 240 chapters in over 140 countries worldwide, SHRM represents a total membership that exceeds 250,000 human resource professionals.
Each SHRM chapter oversees its own site which acts as a local hub of SHRM activity, providing news, industry updates, and event and conference announcements, as well as a complete member directory. Site updates are deployed by SHRM headquarters, while administration is handled by local chapter directors, who may or may not have any experience with website management. Here is an example of the new chapter site capabilities: Cumberland Valley SHRM.

Pitfalls of a Proprietary System

The original SHRM chapter site network was run on a proprietary CMS created with IIS and ASP under Windows. Expensive, clunky and difficult for newly-minted SHRM chapter webmasters to use, only a select few were able to successfully navigate the system well enough to add or modify content on their local chapter site. Seeing the need for a unified, accessible, and easily extensible solution, SHRM approached Saforian to revamp the chapter site network.

The Open Source Approach

Our challenge was twofold: not only did each SHRM chapter need a well-architected, branded site that less web-savvy administrators could comfortably maintain, they also needed a way to migrate old data stored in the existing MSSQL database to the new set-up.

We knew out of the gate that new websites would need to be rapidly configured and deployed as new chapters were founded, and we also knew that the chosen CMS would need to dextrously accommodate a significant amount of custom code.

Drupal’s extensible multi-site functionality, ease of customization, open-source ethos and massive module base fit the bill as an ideal platform replacement for the existing system.

Keeping Updates Manageable

It was clear that without a networked approach, performing maintenance and updates on 240 websites would quickly become a logistical nightmare. Leveraging Drupal’s multi-site capabilities, we crafted a site configuration to keep maintenance as undemanding as possible.

Each chapter site uses a single code base, but separate databases and files directories, meaning that while module and Drupal core updates need only be deployed once, each site has the flexibility to manage divergent content, users and settings.

Command-line Fu

The Drupal shell utility Drush was instrumental in keeping maintenance and deployment times down, giving us the power to automate updates or install modules to all sites with a single command. Coupled with the Permissions_API, Drush let us batch set module permissions via the command line.

Merging Old and New

Data migration was at once the most challenging and interesting aspect of this project. The old chapter sites ran on IIS/ASP/MSSQL, and each site was associated with anywhere from dozens to hundreds of members, files and disparate content types. After a several-weeks-long investigation into the best transfer process, a series of tools and procedures were developed to carefully relocate and reorganize the data.

Working with batches of five chapter websites at a time, we first ran custom scripts to move production data and files into a Drupal 6/MySQL system hosted on a migration server. Once any migration errors were fixed, code was placed in open source version control system Subversion, and the chapter site was transferred from a migration server to a staging system. The new site was cleaned up using Drupal, and finally transferred to its home on the production system, where site data underwent a thorough review from front-end and back-end users.

MSSQL and MS Access data was scrubbed and inserted into MySQL using a custom-built Drupal module, which could be run via the Drupal admin panel or the command line. The module imported HTML pages from the previous system and jettisoned superfluous tags, maintained the integrity of user profile data during transfer, and slotted survey results from the old system into a Drupal Webform-readable format.

Snazzy Features

After all was said and done, the completed SHRM chapter sites were intuitive, flexible and packed with useful tools.

SHRM Administration Panel

Drupal made it easy to create a tailor-made administration panel that helps administrators jump straight to the most important tasks while keeping the techie stuff safely out of the way. Through the panel, administrators can add and edit content, activate or disable memberships, tweak the registration process, assign roles and permissions, manage comments, and edit navigation menus.

Easy Site Configuration Panel

Using this fire-and-forget site setup interface, administrators can choose from five different template color schemes, upload logos, set the site title and contact information, set home page block configuration options, and integrate their site with Facebook, Twitter and Linkedin.

Searchable member directory

Provides member search by name and keyword, or by alphabetical browsing. Administrators can also use the directory as a filtering tool to send out mass emails to their member base, or only to certain member categories.

Customizable Member Profiles

While SHRM global requires that certain profile data be gathered on each member, local branches wanted the ability to add their own fields to member profiles. The Drupal Profile module was adapted to give administrators the power to define customized profile fields for their members, while allowing members to choose whether fields are private or publicly viewable in the member directory.

Paypal Integration

Chapter administrators are able to seamlessly accept donations and event registration payments via Paypal.

Meetings & Events Management

Admins were given an easy way to keep their members abreast of SHRM’s busy conference schedule with custom event content types automatically hooked in to collapsible home page blocks.

Forms & Surveys

The forms and surveys feature lets administrators gather, store, sort and download data from members and non-members.

Training Center

A detailed, all-encompassing built-in training center was created and included on each chapter site, with dozens of video tutorials and articles to help new administrators perform common tasks.

Notable Contributed Modules

Backup and Migrate - Simplified the process of migrating databases from development, staging and production environments, particularly useful in that it fully supports Drush integration.
Calendar – This module came in handy in the creation of a custom events calendar for SHRM conferences and chapter meetings.
CKeditor and CKfinder – A powerful WYSIWYG library and interface.
Private – Node access control for members-only content.
Scheduler – Future-dating content publishing and unpublishing.

Infrastructure

Four total servers were used, here are the configurations:

2 Load Balanced Web Servers
  • Processors: Two (2) Intel Xeon Quad Core E5410 2.33 GHz w/ 1333 FSB
  • Memory: 8 GB DDR2 PC2-5300
  • Hard Drives: 2 x 146GB SAS 15K RPM Mirrored in Raid 1 (for redundancy)
  • OS: CentOS 5.5 64bit (Redhat Enterprise)
  • PHP: 5.2.10
MySQL server (with a second identical one for failover)
  • MySQL server (with a second identical one for failover)
  • Processors: Two (2) Intel Xeon Quad Core E5410 2.33 GHz w/ 1333 FSB
  • Memory: 8 GB DDR2 PC2-5300
  • Hard Drives: 2 x 146GB SAS 15K RPM Mirrored in Raid 1 (for OS) Hard Drives: 2 x 146GB SAS 15K RPM
  • Mirrored in Raid 1 (for MySQL)
  • OS: CentOS 5.5 64bit (Redhat Enterprise)
  • MySQL: 5.1.34
Accomplishing the Work

At Saforian we believe in open source software and have promoted it since our inception. Drupal has played a significant role in allowing us to continue to create flexible, web-based user experiences that foster great visual design and efficient, easy-to-use functionality. It has become our go-to CMS system.

This particular project utilized a team of five individuals with the majority of the development effort being handled by a single, senior-level developer. We had several work streams running simultaneously to ensure an on-time release. Strategy and back-end architecture work started the project, with design and production work following and then full development and migration to finalize.

Our information architect and designers worked initially to define the structure, content hierarchies and overall design styling. An interactive prototype was created to support testing and to serve as a vehicle for gathering feedback from stakeholders and chapter members. Once the design was approved, we quickly moved into our development efforts, which included front-end HTML template production work; Drupal theme integration; module development and configuration; and complete migration exercises.

Pagebuild Case Study

Tue, 05/17/2011 - 9:18am

Pagebuild allows non technical users to build websites very quickly and easily. It was built on top of Drupal, with the idea behind it being to provide an editing interface that is so simple, even an adult could use it. This is a explanation of what we did and how we went about doing it (and why).

Motivation

Spoon Media has been building Drupal sites for the last 6 years. We generally do mid to large size projects and pretty quickly we noticed how often we were turning away business from companies with modest budgets. That wasn't great for them, because most low budget web solutions are pretty ordinary and it also meant we were sending small jobs elsewhere. This was the main motivation for building Pagebuild - we wanted to let small business get a great website at a inexpensive price but still retain a high standard of product.

High Level Architecture

Pagebuild as a product consists of two main systems which we've dubbed front-end and back-end.

The front-end is the software that allows customers to edit their Pagebuild site. This consists of a series of custom Drupal modules and a whole lot of JavaScript that provides the easy to use WYSIWYG experience.

The back-end is the software that allows customers to signup, create and manage their websites. Aegir is used to provision and manage sites and custom Drupal modules provide a simple customer interface to the site provisioning and management process, as well as the standard account and billing settings.

Both the front-end and back-end are powered by their own Aegir platforms.

Of course we use a bunch of great Drupal community modules across both systems. More on that follows.

Front-end

In order to provide an incredibly simple site editing interface it was clear from the beginning that the bulk of the work on the front-end would involve using JavaScript to implement the desired UX.

jQuery, jQuery UI and a series of jQuery plugins are used extensively.

I'll explain the motivations and provide some light implementation details for selected features.

Editing

It was very important for us that the editor was truly WYSIWYG. It wasn't enough that a heading was a heading and bolded text was bold. We needed headings to be styled exactly the same whether the user is editing a content area or viewing it. As a result we threw out the idea of using IFrame based WYSIWYG editors such as CKEditor or TinyMCE.

Another requirement was that users should be able to freely drag and drop images from our Media Manager into the content area. Doing this with an IFrame based editor was not possible.

After much back and forth we settled on Twoism's reviser as the base for the WYSIWYG editor. I say base, as significant Pagebuild specific changes were made in order to get it work just so.

The result is that we are able to provide a true WYSIWYG editing experience that is completely tailored to the Pagebuild Way.

One of coolest features of Pagebuild's editing would have to be the ability to drag images from the Media Manager toolbar and drop them into the content area at a position that makes sense visually. Unlike other drag and drop solutions in web WYSIWYGs, Pagebuild won't allow you drop an image in the middle of a sentence. With jQuery UI's sortable plugin we are able to force the image to be moved around the content area and dropped in sensible drop zones.

Blocks and regions

Of course it's not enough for users to be able to edit the main content area. In order to allow the user to create unique and flexible page layouts we leverage Drupal's regions and blocks to make this happen.

When editing a page regions can be shown or hidden, and blocks can be added to regions. This all happens via AJAX, and creating/editing/deleting blocks happens on the page itself to prevent interrupting the editing experience. As an added bonus existing blocks can be dragged from one region to another.

Themes

We provide a number of free themes for customers to choose from. All Pagebuild themes are Zen subthemes. On top of being a great base for our themes it was required in order for our JavaScript to work, as we need all DOM classes and IDs to be consistent across themes.

When a user selects a theme from the Switch theme toolbar we simply set that theme to be the default for all users, and make sure the block visibility remains the same.

I'll talk more about how themes are put together a below.

Back-end

Where the front-end development was largely JavaScript backed up by Drupal modules to make the magic happen, the back-end is true to its name in being largely the work of Aegir and custom Drupal modules.

Provisioning

From a customer's perspective the Pagebuild adventure begins with sign-up. Here we capture the customer's details, process the payment and provision the site.

We use Aegir to provision new sites automagically when the customer has finished signing up. Aegir, being as wonderful as it is, makes this incredibly simple. All you need to do is create a node of type site, and it will be added to Aegir's task queue.

After sign-up the customer is automatically logged in and presented with the Pagebuild Dashboard. Once the site has been provisioned (which usually happens inside of 60 seconds) they can login to it and start editing right away.

In order to implement a Single Sign On the back-end acts as an OpenID provider. Our custom Drupal install profile adds an entry into the authmap table allowing them to login to their site without having to re-enter their login details.

The custom Drupal install profile on the front-end communicates with the back-end database to setup themes, roles, filters, pathauto and imagecache settings, amongst other things.

Once a customer has signed up they can add new sites to their subscription with a simple single page form.

Domain settings

When a customer first signs up they are asked to enter a subdomain for their website. Initially the site is provisioned as example.pagebuild.net.

Once the site is provisioned though, the customer has the option to use any domain of their choosing for their site.

Again Aegir makes this very simple. When the customer submits the form we check that the domain they have specified points to our IP address. This prevents the site from being unreachable if the A record doesn't match. Once we've checked the A record points to the correct IP address we create a migrate task in Aegir, which goes off and renames the site.

Thanks Aegir!

Theme editor

Customers are able to choose from a set of free themes or they can make their own theme.

Using one of our themes as a starting point, the user can alter every aspect of the design from their browser. They can then save their theme with a new name, effectively forking it from the pre built theme we provided. This concept is used in both Drupal Gardens and in the Sweaver module, however both of those implementations allow so much freedom as to be confusing to a non technical user. We have taken the concept and made it harder to do silly things to your theme by restricting what HTML elements you can actually modify. Whilst this limits the power of the theme editor, on the whole it results in a better theme when used by a novice.

Custom themes

While we provide free themes for customers to use on their site, we also provide them with a service whereby they can purchase a customised design. This is not automated and involves the customer talking with a designer to get a result.

In order to greatly simplify the process of creating themes for Pagebuild we implemented a simple templating language that allows designers to write minimal HTML and as much CSS as they require to get the look right. Each theme only requires a single theme template. This is about all it needs to be:

[START]
[REGION:header]
[NAVIGATION]
<!-- #masthead, #masthead-inner -->
<div id="masthead">
<div id="masthead-inner" class="clear-block">
[LOGO]
[SITENAME]
</div>
</div>
<!-- /#masthead-inner, /#masthead-->
<!-- #main, #main-inner -->
<div id="main">
<div id="main-inner" class="clear-block">
[BREADCRUMB]
<!-- #content, #content-inner -->
<div id="content">
<div id="content-inner">
[REGION:top]
[PAGENAME]
[CONTENT]
[REGION:bottom]
</div>
</div>
<!-- /#content-inner, /#content-->
[REGION:left]
[REGION:right]
</div>
</div>
<!-- /#main-inner, /#main-->
[REGION:footer]
[END]

Using the token module we replace the Pagebuild theme tags with the Zen markup required to make sure the theme works with the Pagebuild editor.

Designers upload the template file, a CSS file and whatever images are required and a complete Zen subtheme is automatically generated and copied into sites/all/themes ready for use.

The permissions on individual theme nodes ensures the theme is available only to the customer who purchased it.

Custom themes are currently only available to designers we have an existing relationship with. In the future we plan to open this feature up to more designers. Further down the track we will open the feature to customers themselves.

Subscriptions

Initially we tried using Ubercart, uc_recurring and various payment modules for the checkout and subscription payments. It turned out this added an unnecessary layer of complexity to the system. The Ubercart product wasn't meshing well with the existing Aegir and Pagebuild CCK types. Eventually we replaced the whole thing with a simpler custom built payment and subscription module.

The uc_hosting module to integrate Aegir and Ubercart looks promising, but we needed to move quickly, and rolling our own system allowed us to do that. Another benefit is that the payment system is tightly integrated with the rest of the Pagebuild system. This allowed us to do exactly what we need to do without working around the assumptions inherent in Ubercart, uc_recurring and the payment modules.

Main challenges Internet Explorer

The the first half of development we aimed to support IE7+ for page editing. After considerable effort we decided to ditch native IE support, and instead create a simple UX for the customer to install Google Chrome Frame.

We are really pushing the limit of WebKit and Gecko browsers when it comes to building WYSIWYGs, and we decided that a superior experience was preferable to a lowest-common-denominator one.

The UX we provide for customers to install GCF is as simple as possible, and we doubt it will deter customers.

Of course, GCF is only required for customers when editing their site. We support IE6+ as well as the proper browsers when viewing Pagebuild sites.

Content editable

Instead of using an IFrame based WYSIWYG editor we decided to use a feature of some browsers called content editable.

While we believe this provides a superior editing experience, the cost is in the fact that it is not uniformly supported across all browsers. Worse, some implementations are particularly bad. Anecdote alert: In order to fix a bug caused by Firefox's implementation of document.execCommand we were forced to build a debug binary of Firefox and step through the rendering code in gdb.

Despite the additional effort required in rolling our own WYSIWYG editor, we are very happy with the experience we've managed to produce.

Outro

So that is about it. If you want to see it in action you can sign up for a free trial at https://my.pagebuild.net/signup/demo or take a look at some of the live sites built with Pagebuild:

We are really interested to hear what people think about it so please leave us a comment and we will reply. We are constantly developing the product (we roll a new release weekly) and so genuine feedback is really helpful and may even end up becoming part of the product.

Training at DrupalCon London!

Fri, 05/13/2011 - 10:35am

We're delighted to announce the array of courses available for DrupalCon London, which will be held August 22-26, 2011. View the course listing at http://london2011.drupal.org/conference/training

With the Drupal community growing so quickly, building your skills is more important than ever. We want these courses to help the community provide a broader range of services, employ the most innovative and efficient practices, and allow Drupal (and the Drupalists!) to excel. Whether you're new or experienced with Drupal you can always gain from some hands-on training. We have instructors coming from Canada, U.S. and all over Europe to share their expertise.

Prices range from £150 - £325. These courses are an affordable way to round out your DrupalCon experience. Keep in mind, the early bird registration deadline is the 31st of May!

We hope you'll find something for everyone on your team, and that you take this unique opportunity for intensive professional development. We'll be posting further details in the coming week! We'll have more information about the training providers and the learning objectives for each course.

Meanwhile, check out these brief descriptions here:

If you're new to Drupal...

Absolute Beginner's Guide to Drupal   -   £150! (+VAT) Sign up today!

Learn the fundamentals of working with Drupal.

Making the Switch to Drupal: The developer's view   -   £250! (+VAT) Sign up today!

Learn how to read the blueprint before using your saw.

OpenPublic, build websites for government  -   £325! (+VAT) Sign up today!

Want to Build Sites for Government? Learn to Build Better and Faster with OpenPublic.

Theming for Non-Themers   -   £250! (+VAT) Sign up today!

Learn how to create amazing looking sites in Drupal with no code.

 

If you're experienced with Drupal and want to develop new skills...

Advanced Configuration with Views, Page Manager, Flag and Rules   -   £325! (+VAT) Sign up today!

Learn how Drupal works, how to implement hooks, and working with databases and Form API to extend Drupal.

Building Modules for Drupal 7   -   £325! (+VAT) Sign up today!

Learn how Drupal works, how to implement hooks, and working with databases and Form API to extend Drupal.

Drupal 7 SEO   -   £325! (+VAT) Sign up today!

Learn on-page optimization to get the best search engine placement for your site.

Drupal Performance and Scalability   -   £325! (+VAT) Sign up today!

Learn the best practices for tuning and scaling Drupal sites.

 

If you're experienced with Drupal and want a deep dive into speciality topics...

Aegir Hosting System: Deep Dive   -   £325! (+VAT) Sign up today!

Learn a scalable solution for deploying and managing Drupal sites.

Creating Awesome UX Deliverables   -   £325! (+VAT) Sign up today!

Learn to develop and communicate a UX Vision, employing best practices and patterns.

Drupal Powered E-commerce   -   £325! (+VAT) Sign up today!

Learn to build e-commerce functionality in Drupal.

jQuery for Drupal   -   £325! (+VAT) Sign up today!

Rich and interactive user interfaces. Learn to build them with this Drupal-jQuery course.

Stay up-to-date with the latest information about DrupalCon London by going to http://london2011.drupal.org/ or following us on Twitter @drupalcon.

Community Spotlight: Melissa Anderson (eliza411)

Mon, 05/09/2011 - 11:38am

Despite Melissa Anderson (eliza411)'s low user number on Drupal.org, she was a relatively quiet contributor until about halfway through the Great Git Migration, when she took over as project manager of that huge undertaking. Melissa’s scope, focus, and competence [editor’s note: a dreadful understatement!] continue to amaze everyone, and she is generally accepted as a fundamental reason that the Git Migration was completed on schedule and to such great reception.

Hailing from a small Alaska town with a background in education, Melissa is now officially co-lead of the Git Project with Sam Boyer. Randy Fay, Sam Boyer, and the entire Git migration team have nominated Melissa in honor of her incredible contribution.

To get to know her a little better, we asked Melissa a few questions:

How did you get involved in Drupal? Seems like it was a while ago...

I needed a solution for managing information in a public way. I tried Postnuke, but it was a complete #fail. Some very interesting friends recommended Mambo (now Joomla) and Drupal.

In the early years I wasn't involved in the wider community - I just got my own work done in the issue queue and forums. When I moved to Portland, I got involved in the Drupal User Group, and when Andrew Morton (drewish) left town, he left me and Jonathan Hedstrom (jhedstrom) in charge of it. I'm still doing that.

How did you end up being the Git Migration project manager?

I had been project managing and site building for some time and was ready for a change. Chris Strahl had planned to manage the Git project, but got hired by Acquia and disappeared to Africa. Same basic kind of thing, he was leaving town and asked me if I knew anyone who might take it on. :-) I thought it seemed like an interesting problem to solve, so I signed on.

I guess I have a habit of standing around and looking approachable. And people hand big projects to me.
[Editor's note: And she seems to do quite well with them.]

At Drupalcon, Chicago you and Michael Halstead had the highest-profile wedding ever held at a Drupalcon. Can you tell us a little about how that came about?

Michael and I had been a couple for several years, and we’d talked about marriage. After the Git migration, we felt if we can get through the Git migration together, we can survive anything. And we had lots of friends there. Just the week before Drupalcon, we decided to go for it.


Eliza and Michael's wedding at DrupalCon Chicago, March 8, 2011

How did you come to have the obvious project management skills you have? Is that your profession?

My formal background and education are in teaching, where I did mostly project-based learning. You take on real things that you try to accomplish and then learn by doing them. When I was teaching technology, the "Cyberpunk MOO" class was the most fun I ever had. My students, many of whom loathed their English classes, were able to earn language arts credits to read William Gibson novels and then build a MOO loosely in the style of those novels. [Editor’s note: A MOO is “a text-based on-line virtual reality system to which multiple users (players) are connected at the same time," if you're not hip enough to know that already.]

I’ve been building web sites and managing web development projects for the better part of the last 10 years, though.

Is it true that you brought former students into the Git migration project?

I have former students with myriad tech backgrounds, and it was awesome to be able to work with two of them again on this project. It’s been a pleasure to keep in touch with former students and follow their progress and success, and on occasion, work together to make things happen.

Tell us a little about your background and your family.

I grew up in Delta Junction, Alaska, population 840. We had no running water or electricity and lived in a basement made out of styrofoam. When it got cold enough to freeze the diesel fuel, all the neighbors came to our house because it was the only place that wasn't frozen. At 16, I left for the warmer climes of the lower 48 to study education.

What is next for you now that the huge commitment is over?

I'm now officially co-lead of the Git team, with Sam Boyer. The Git team is kind of a prototype of the new D8 core initiatives, with two leads, one almost explicitly a manager. I'm still working with others to iron out some of the big technical and community decisions but am starting to work on other things, too.

I'd like to add an Agile workflow-oriented interface to the issue queue so that it's easier to organize sprints, especially work that may cross module boundaries. Tagging doesn't really do the trick.

I'm also working with Derek Wright on the project-maintainer interface in the project module (the part that project owners interact with when managing code, releases, maintainers, etc., on the project page on Drupal.org).

What do you see in the near future for Git in Drupal?

Well, there are some key blockers before we can get to the good stuff, the most significant being the need for real, representative development and staging areas so we can have some confidence that we won't negatively impact Drupal.org when doing a deployment.

But then comes some really exciting work, like per-issue repositories and a much more integrated repository viewer.

Thank you, Melissa, for what you've already contributed and for your future work. The whole Drupal community appreciates your great accomplishment in managing the Git migration.

More Melissa Anderson goodness

Drupal.org Profile: http://drupal.org/user/33570
G.d.o: http://groups.drupal.org/user/6954
Twitter: http://twitter.com/lz411

Submit Your Session Proposals for DrupalCon London 2011!

Fri, 05/06/2011 - 11:05am

There are 9 days left to submit your session proposal for DrupalCon London 2011, which will be held August 22-26, 2011 at the Fairfield Halls in South London. This is your chance to share your knowledge and experiences with DrupalCon attendees. Deadline for session submissions is 15th May, 2011 at 11:59 GMT+1.

You can submit sessions at http://london2011.drupal.org/conference/sessions under the following tracks:

Check out what others have proposed so far.

There will also be a separate "Core Conversations" track, which will open session submissions next week.

Make sure to also read the Speaker FAQ, which has information on the timeline for session selection process and other tips. Also, for the first time, selected speakers, giving a full session, will receive free admission to the conference and the opening party on Tuesday night.

To be able to submit session proposals you need to register. Once you're registered, you'll have the opportunity to purchase your conference ticket and sign up for the DrupalCon London opening party.

If you already have a drupal.org user account, you can use it to automatically sign in to the DrupalCon website.

The Early Bird price is at 230 GBP and will last until May 31st. After that, ticket prices will increase to 280 GBP. All tickets are subject to 20% British VAT.

You can keep up-to-date with the latest information about DrupalCon London by going to http://london2011.drupal.org/ or following us on Twitter @drupalcon.

Google announces Summer of Code results Drupal gets 20 projects!!

Thu, 04/28/2011 - 3:11pm

We are thrilled to announce that Google will be sponsoring 20 Drupal projects for Summer of Code 2011. We would like to extend our sincere thanks to Google, who are investing over $110,000 in the Drupal project.

As always, we had many more projects that we would have liked to accept than we were able to. The mentoring team deliberated fiercely over the past two weeks, and arrived at the final acceptance list.

Many of the projects this year were from the idea list we collected at DrupalCon Chicago. Drupal will benefit from a new exposed translation activity, hierarchical permissions for Drupal 8 core, javaScript testing framework, version control activity logging, Module and Theme Browser in Drupal Core and Drupal Commerce discounts setup. There are also projects focused on improvements to the Drupal.org infrastructure such as including git infrastructure compatible with Drupal's auth mechanism.

Some of Drupal's major contributed modules will also gain, including extending the current "Materialized Views" API, help Aegir move to a 2.0 release, improving rules 2 etc.

If you would like to keep up to date on Summer of Code happenings, would like to volunteer to help test students' projects, and/or would like to help students as they find their way in our community, please join the SoC 2011 working group and help out in whatever ways you can.

Here's to another great summer! :)

Application Student Mentors Expose Drupal translation activity Adam Lippai gaborhojtsy Making the git infrastructure compatible with Drupal's auth mechanism Anshul Singhle sdboyer Hierarchical permissions for Drupal 8 Bálint Kléri

  chx Version Control Activity logging, Activity Streams and Development Statistics Christophe Van Gysel sdboyer, sirkitree JavaScript testing framework cwgordon7 ksenzee Recommender Module Performance Enhancement & Drupal for Data-intensive Computing Daniel Zhou Owen Barton, dylan_tack Extending the current "Materialized Views" API Dhruv Baldawa straussd Improving the Search API Thomas Seidl mh86, narres Drupal Commerce discounts setup Felipe Eltermann rszrama, wundo Porting Neologism to Drupal 7 Mayank Kandpal cygri, dylan_tack Business Analytics and Reporting nodestroy mh86, zsanmartin Help Aegir move to a 2.0 release Seth Vincent anarcat Improving Rules 2 sebastian klausi Integrate node.js as well as DrupalChat module functionality to Chatroom module. Shashwat Srivastava afeijo, zesanmartin, justinrandell Derivates API for Media ecosystem (D7) Janez Urevc kreynen Secure Code Review Jim Berry greggles, stella Onboarding API Tiago Carmona wundo, ezra-g Porting DrupalGapps to D7 & Integration of OAuth & Google Documents List API Vaidik ankur, dereine, stella, houndbee Module and Theme Browser in Drupal Core Leighton Whiting dmitrig01 Conditional text Tamás Demeter-Haludka jhodgdon


Drupal Usability Testing: We need your help!

Wed, 04/27/2011 - 9:35am

During the Drupal 7 release cycle we had two usability tests, one at the University of Minnesota and one at the University of Baltimore. These tests helped us understand the fundamental issues that Drupal site-builders face and set the direction for many of the major usability improvements in Drupal 7. These tests also triggered a cultural shift within the Drupal contributor community: we now consider user experience design a top priority in all major development efforts.

As the next step in this effort, we are running new usability tests to inform Drupal 8 development!

From May 17-19, the University of Minnesota has once again offered to host a formal usability test in their lab facilities, this time targeting Drupal 8 (as well as Drupal 7 contrib). These tests will give us the chance to see how far we’ve come in solving issues we identified previously. They will also give us a chance to evaluate the new interfaces and tools we added to Drupal 7 core, including the Overlay, Contextual Links, and Toolbar modules.

Attending community members will analyze the test data and produce actionable issues to work on by starting discussions and bringing the problems we find to the issue queues. All test results, including much of the data (e.g., videos), will be made publicly available on the web and in presentations at DrupalCamp Twin Cities and DrupalCon London.

While the Drupal 7 user experience movement focused on improving things for content editors, we now want to specifically work on making it easier to build out a site structure in Drupal 8. We will test Drupal site-building tools like blocks, menus, content types and module pages. This is an area with serious problems which keeps many people from using Drupal.

Who's involved?

This test will be attended by members of the Drupal community including: Drupal 7 co-maintainer, Angie Byron (webchick); key members of the Drupal UX Team: Bojhan Somers (Bojhan), Brad Bowman (beeradb), Dharmesh Mistry (dcmistry), Jen Lampton (jenlampton), David Rothstein (David_Rothstein), Chad Fennell (cfennell) and Erika Stenrick (estenrick).

How can I help?

We are asking you to help fund the costs of bringing these amazing contributors together. While several attending members will be fully or partially sponsored by their employers, others are coming in from overseas, do not directly benefit financially from Drupal, and need help.

Your donation will help sponsor an important effort that will help set the direction for an even better drupal 8.

Building a Brand Ambassador System with Drupal

Tue, 04/12/2011 - 12:22pm

Brands are increasingly turning to brand ambassadors to market their products. Ambassadors are individuals with credibility in a given area who are hired by a brand to introduce consumers to a given product and educate them about its advantages.

Liquor companies, for example, often hire bartenders as brand ambassadors. The bartenders / brand ambassadors then tell their customers about the company’s brand of gin, and train other bartenders in making signature cocktails with that gin.

Brand ambassadors provide companies and products with valuable credibility. Wouldn’t you trust a liquor recommendation that came from a bartender over one that came from a salesperson?

The downside is logistics. Creating a regional or national team of brand ambassadors requires big investments in recruitment, training and management.

With Drupal however, you can create an online system that helps recruit, manage and monitor brand ambassadors with much less investment.

This project was another collaboration between design and development shop ISL Consulting in San Francisco, and ClearMetrics digital agency in New York.

The Problem

The client, Twinlab, is a major manufacturer of sports nutrition supplements. They wanted to set up a brand ambassador program from scratch, and they had two overriding goals:

1.) Excellent Applicant Screening: The sale and marketing of sports nutrition supplements is extensively regulated at federal and state levels. As a result, Twinlab couldn’t hire just any personal trainer or gym employee to be a brand ambassador. They needed to find and screen candidates with extensive knowledge of supplements and supplement regulations.

2.) Incentives: Twinlab wanted its brand ambassadors to steer people to its online store, Twinlab.com, to buy product. To do that effectively, Twinlab needed to reward the ambassadors each time a consumer they referred to the site made a purchase. In essence, they need to set up an offline affiliate program.

3.) Flexible Support: The brand ambassadors were to be contractors, working independently in their local markets to raise awareness of Twinlab. They wouldn’t have constant, face-to-face contact with Twinlab marketing staff. As a result, the company needed a way to get the ambassadors new product information and sales collateral (like brochures, posters, signage, etc.) quickly.

Costs had to be kept at a minimum in achieving all these goals. Twinlab couldn’t hire a full-time staff to hire and manage its brand ambassadors. All these tasks would have to be centralized and simplified by an online system.

Drupal was chosen because the client was already running Ubercart with the coupon module very successfully. This site was added to a multi-domain installation so that products could be shared from other sites with this site.

The Star Player of the System: Ubercart Discount Coupons Module

The primary task of this online system was to identify brand ambassadors and customers who had been referred to Twinlab.com by brand ambassadors. The simplest way to identify or “tag” an ambassador or customer was to provide them with specific codes that they could enter into the system during key transactions.

The processes behind the codes used in this program are complicated, but they are largely handled by the Ubercart Discount Coupons (UC Coupon) Module. This module provides the ability to input or generate codes that create various types of discounts in purchasing goods. These codes have some powerful options. They can be set to become active and inactive at certain times, and they can be configured to specify who can redeem them, product requirements, and how many times they can be redeemed. Furthermore, the module provides the administrative interface for managing the coupons and providing reports on their usage.

Custom Module
There was a fair amount of custom code needed to accomplish the unique requirements of the Brand Ambassador system. However, Drupal's architecture and the features provided by existing contributed modules allowed us to create a custom module that allowed us to use existing, tested code from the Community as our foundation, and add "glue" and customization where needed.

Much of the custom module had to do with modifying the functionality of the Ubercart Discount Coupons Module. A coupon, as set up and controlled by this module, was the basis for the Ambassador's Code. Our custom module contained the code that worked along with, and modified behavior of Ubercart Discount Coupons Module, for example to add the means to link the codes between Ambassadors and their Customers.

We also had to create quite a few custom pages, a significant one being a "dashboard" page for the Brand Ambassador to view current status of orders and commissions relevant to their membership.

Brand Ambassador Recruitment

ClearMetrics developed an offline-online system that would allow Twinlab to recruit and screen candidates without hiring or contracting recruitment positions.

Twinlab already had a large outside sales staff selling sports supplements to stores and sports organizations around the country. When salespeople came across individuals who would make good ambassadors, they told them about the program, and generated a personalized code that allowed the candidates to log-in to a special section of Twinlab.com to undergo an automated screening process.

Screening Tool

This process began on the front page of the site, where a simple custom form collected the special brand ambassador registration coupon code, validated it against the UC Coupon system, and allowed users to register to apply to become brand ambassadors.

This initial form is a case of using Drupal's excellent Form API to create some unusual functionality. The form's button is tied to a client-side jquery script that is able to call a server-side function to evaluate the coupon code value entered into the field, and give meaningful feedback to the user into a div defined as an item of the form, before the form executes its action. The form executes dupal_add_js to add the jquery in the right contexts. This was necessary in order to provide direct feedback on the code via an overlay, without moving the user from the page.

As part of the applications, candidates had to pass an online quiz that tested their knowledge of supplement safety and regulations. The Webform Module came through with flying colors, allowing great flexibility in defining various types of questions, and defining appropriate responses and actions based on the candidate's submission.

Candidates were also required to put in their credit card information (which was subject to $1 verification charge) in order to confirm their identity and address. Ubercart was used to handle the ecommerce portion of the site. The progression of the candidate to the next phase was handled through UC Coupon by having applicants “purchase” a membership package for $1.

Upon checkout, a conditional action, configured entirely in Ubercart, was triggered to send an email message informing the applicant of next steps.

After they completed these tasks, their application was forwarded to Twinlab managers for final approval. Again, conditional actions provided by Ubercart allowed us to set up the notification system, entirely through site administration forms. This system was optimal for Twinlab because it combined the speed of automatic registration and screening with ultimate human control of who was representing the brand.

Code-Based Incentives

To provide a proper incentive for its brand ambassadors to spread the word about Twinlab products, the company wanted to provide them with a portion of every sale they referred to Twinlab.com. The model was similar to an affiliate program for web sites, the only difference being that brand ambassadors do most of their referrals offline, not online.

When the prospective brand ambassador successfully completed the registration and it was approved by the staff, the user was granted the brand ambassador role, which permitted them access to content and tools provided exclusively to brand ambassadors. Thanks to Drupal's role-based user permission system, this ability was already available.

Using Drupal's hook_user, when the brand ambassador role is granted to a user, the system generates a new, individualized coupon just for that brand ambassador, to give to his or her customers. This special coupon is linked to the brand ambassador’s system profile, so that all purchases made using that coupon are tracked. Finally, all of this information is emailed to the brand ambassador, through a straightforward call to Drupal's hook_mail.

The brand ambassador would hand out the codes to customers. When the customers entered the codes while shopping at Twinlab.com, they got a discount. This functionality was entirely handled by the uc_coupon module. Through the uc_order hook, the sale was then attached to the brand ambassador’s profile through the association with the coupon itself, and a portion of it credited to their account.

Realizing that brand ambassadors were also influencing people online and through social media, ISL created badges that the ambassadors could embed on their blogs and profiles. Brand Ambassadors were provided html code that would render their personalized badges, which would link to the Twinlab.com product catalog, with data in the querystring that set the incoming visitor’s session with the value of the brand ambassador’s customer coupon code. This value was used to populate the coupon code entry in the checkout page with the value of the customer’s coupon code. Therefore, by clicking on the badges, users were navigated to Twinlab.com and received a discount on all purchases made in that session. Like the offline codes, these purchases were trackable.

Brand Ambassador Dashboard

When their applications were approved, brand ambassadors were given access to an exclusive dashboard on Twinlab.com. Simple and easy to navigate, the purpose of the dashboard was to give the ambassadors all the materials and information they needed to represent the brand.

The dashboard was a highly customized feature that was added as a series of contextual menu items in the user’s profile as defined by hook_menu. This allowed the user to access these features, along with all of the information and management provided by Drupal and the modules supporting this program, such as the contentprofile module. Drupal’s hook system allowed us to place the elements of brand ambassador-specific information into the appropriate places within existing account and profile information.

From the dashboard, the ambassadors could download pamphlets, sales sheets, product information, tutorials, e-mail templates, and a variety of other brand collateral. Twinlab could upload new collateral and relevant messages to all ambassador dashboards with just one-click: a big improvement over the alternatives, like sending out unwieldy e-mails to mass list.

The dashboard also aggregated code-based sales for the ambassadors, so they could see how much they had earned through consumer purchases. They could also see who was buying, and through what channels, so they could gauge the effectiveness of their efforts and improve their performance.

The biggest advantage of the dashboard was its speed and ease of use. Ambassadors could get collateral and the sales information when they needed it, just by logging in.

The site is hosted at Rackspace on a dedicated server on a multi-domain installation that runs a number of other sites.

Other Contributed Modules
There are many modules used on the Twinlab.com site. The primary contributed modules used by the Brand Ambassador system were uc_coupon, email_registration, cck, content_profile, securepages, stc_taxes, webform, and, of course, views.

Results

The new Drupal-based system has allowed Twinlab to expand its brand ambassador program and boost website sales. Since implementation, the number of Twinlab brand ambassadors has increased and web sales have jumped.

“The ambassador program has done more than just boost sales though,” said Marc Stover, director of marketing at Twinlab. “It’s enhanced our brand. Every day, hundreds of consumers are learning about our products from experts they trust. You can’t buy that sort of connection. And it’s something we wouldn’t have been able to do without this web-based tool.”

ISL Consulting and ClearMetrics

ISL Consulting is a San Francisco-based web development agency founded in 1993 that has built numerous Drupal websites. ClearMetrics is our New-York based partner that focuses on advertising and media campaigns as well as marketing tools that drive users to take action on websites or in the real world. Together, we’ve built a number of e-commerce and social business sites.

The project was run by a client Project Manager, a Business Analyst and Project Manager on our side, a lead developer and architect, a themer and designer with support for set-up, planning and database issues from another senior engineer and database administrator. As is often the case in these kinds of sites, our developers play an important role with the Business Analyst during the planning phases to explain options to clients. This allows us to best bring Drupal functionality and modules to bear on their business objectives.

Short downtime on Tuesday 2011-04-12, 18:00 UTC

Fri, 04/08/2011 - 12:20pm

We will be deploying forum2 and this requires the full attention of the database, so we'll take drupal.org down. This should take about 20 minutes. The subdomains will not be affected, but you will not be able to log on during that time.