Drupal

Practical Performance Benchmarking, and Tuning

Nick Lewis - Sat, 11/19/2011 - 22:12

As promised here are my slides, a few corrections, and some links to further resources. 

Categories: Drupal, Geek Community

Drupal 7's new multilingual systems (part 8) - Menu languages and translation

Gábor Hojtsy - Sat, 11/19/2011 - 18:05

After reviewing language support and translation for many of Drupal's pieces, we arrived at a pretty complex question, building multilingual navigation. The question is especially of importance because we often need to put translated content in menus, and the cross of translation of content and translation of menus can easily get us into the woods. Let's build some simple solutions for different use cases to see how to think of multilingual menus.

AttachmentSize MenuTranslation2.png111.98 KB MenuTranslation4.png90 KB MenuTranslation6.png52.45 KB MenuTranslation8.png81.2 KB Tags:
Categories: Drupal, Geek Community

Hit-list for top Drupal 7 module stabilization

Web Chick - Fri, 11/11/2011 - 10:27

Back in September, http://drupalcontribstatus.com/ was launched to track the porting status of the top 60 contributed projects to Drupal 7. Since then, we've whittled the list down to just 20 projects remaining, as well as tons of progress on the rest! YEAH!

I contacted each of the maintainer(s) of those remaining projects and have come up with a list of next steps for each. Your help is needed if we want to get that graph up to 100% by year's end. (Just in time for Drupal 7's first birthday! :))

As a general rule, help is needed in the following areas:

  • Issue queue triage (Difficulty: Novice): Going through the issue queues of these modules and doing things like closing duplicate reports, verifying that bug reports are valid, and so on. None of this is particularly difficult work, but time that maintainers have to spend doing it is time they can NOT spend porting their modules to Drupal 7.
  • Reviewing patches (Difficulty: Intermediate): Going through the issues in the queue marked "needs review" and making sure patches still apply, then testing to make sure that they still work, then reporting on the results of your testing are all critical things that really help save maintainers time, and ensure that any actionable issues are escalated to their attention.
  • Experience in various core sub-systems (Difficulty: Intermediate to Advanced): If you know how to write automated tests, are familiar with how the render API works, can answer questions about the new Field API or File API, there are several issues identified that could use YOUR help! Note that you don't necessarily need to be in MAINTAINERS.txt to provide this help, either; if you've already started building Drupal 7 sites and modules, you likely know enough to be helpful!
  • Co-maintainership (Difficulty: Intermediate) Many of these projects are seeking co-maintainers. If you or your business/customers depend on any of these modules, investing solid time in the issue queue to help review and roll patches for issues in need would be of tremendous benefit, and would help position yourself to ask for commit rights so that you can ensure these modules stay solid going forward.
  • JavaScript knowledge! (Difficulty: Intermediate to Advanced) Seriously. We are, generally speaking, a bunch of PHP nerds. If you know JavaScript, you can be helpful on a number of different (and important) fronts.

So, without further ado, here are some specifics on how you can help Drupal 7, and the maintainers whose code you rely on!

Administration Menu

Maintainer: sun
Current status: 7.x-3.0-rc1
List of blocker issues: http://drupal.org/project/issues/search/admin_menu?status[]=Open&issue_t... (18 active issues)

Didn't get a response from this maintainer, but the list of blocker issues appears to be valid. While some seem to require a pretty deep understanding of menu system innards, others up for the taking are JavaScript-oriented or dealing with integration with other modules such as Views or Shortcut. Several issues have proposed solutions already, but need review.

Advanced Help

Maintainer: dmitrig01
Current status: 7.x-1.0-beta1 (2011-Jan-17)
List of blocker issues: http://drupal.org/project/issues/search/advanced_help?status[]=Open&issu... (0 active issues)

Dmitri thinks there aren't really blockers for a 1.0 release, so is going to take a look this weekend. Yay! :D

Better Formats

Maintainer: dragonwize
Current status: 7.x-1.x-dev (2011-Sep-16)
List of blocker issues: http://drupal.org/project/issues/search/better_formats?status[]=Open&iss... (4 active issues)

The list of blocker issues above is valid. Most relate to entity and field API. Alan is planning to put some solid work into this module over the next couple of weeks, as he needs it for a D7 project of his own. So any helpers in the issue queue should see quick response times!

Calendar

Maintainer: KarenS and arlinsandbulte
Current status: 7.x-3.0-alpha1 (2011-Aug-01)
List of blocker issues: http://drupal.org/project/issues/search/calendar?status[]=Open&issue_tag... (0 active issues)

This module is primarily blocked on stable releases of Date and Views. In the meantime, issue queue triage help would be appreciated. If you rely on this module, co-maintainers are very welcome!

CAPTCHA

Maintainers: wundo and soxofaan
Current status: 7.x-1.0-alpha3 (2011-Apr-27)
List of blocker issues: http://drupal.org/project/issues/search/captcha?status[]=Open&issue_tags... (5 active issues)

Did not hear back from these maintainers, but the list of stable release blockers includes several form-related issues. If you have experience with Drupal's form API, you may be able to help! CAPTCHA module is also currently seeking co-maintainers.

Contemplate

Maintainers: jrglasgow, dgtlmoon
Current status: 7.x-1.0-rc3 (2011-Sep-19)
List of blocker issues: http://drupal.org/project/issues/search/contemplate?issue_tags=D7+stable... (3 active issues)

Contemplate's biggest blocker is the new Render API in Drupal 7. http://drupal.org/node/1285558 describes the issue, with an analysis by zigazou:

Drupal 7 generates HTML code at the very last moment instead of what was done in Drupal 6 and earlier → Render arrays in Drupal 7
A ready to render array can be generated from the $node object via the node_view function → Drupal API : node_view
Should Contemplate give you a render array (instead of the $node object) in which you could create/modify/delete elements letting the rendering to the theme ?
Or is it up to you to render each elements via node_view and render in the template, thus generating HTML ?
Could Contemplate rely on token or dedicated data structure instead of internal Drupal structure ?

If anyone can provide insight on these questions, the module maintainers would love you to pieces. :) Without help, this module may be forced to become deprecated in Drupal 7. :(

Chaos tool suite (ctools)

Maintainer: merlinofchaos
Co-maintainers: EclipseGc, neclimdul
Current status: 7.x-1.0-rc1
List of blocker issues: N/A

Immediate needs are issue queue triage. http://drupal.org/project/issues/ctools?version=691544 has about 150 issues in it. Needs folks to go through and identify issues which are either:
a) Low-hanging fruit / Quick fixes
b) Really nasty things that ought to be cleared up before a 1.0 release
Earl has a spreadsheet at https://docs.google.com/spreadsheet/ccc?key=0At8yUf1kZmCldC01RUxwUnFsczR... where he's tracking things that need his immediate attention. Hint: The fewer issues in here, the faster it comes out, so please be picky about what things you escalate. :)
Beyond that, Earl doesn't think there are any release blocker issues, and he should be able to get a release out by year's end. Yay!

Date

Maintainer: KarenS and arlinsandbulte
Current status: 7.x-3.0-alpha1 (2011-Aug-01)
List of blocker issues: http://drupal.org/project/issues/search/date?status[]=Open&issue_tags=D7...

This module needs help on several fronts, including:

  • General issue queue triage to weed out duplicate/invalid issues would be of tremendous help.
  • Automated tests for various Date widget/formatter interactions. Spending time here will help greatly to speed up managing other issues.
  • More thorough reviews. Please, when reviewing, don't just test whether it works for your particular situation but also that it works with all types of date fields and widgets. Automated tests should help with this, but in the meantime testing can also be done manually.
  • Several UX-related issues, some of which need someone with JavaScript chops.
  • Date tokens are blocked on one of the remaining issues in the Token module queue. Helping to get Token ported will help Date module! :)
  • There are a number of issues around translations that need attention by someone who understands the translation system.
Embedded Media Field

Maintainer: aaron
Current status: N/A; no D7 release
List of blocker issues: http://drupal.org/project/issues/search/emfield?issue_tags=D7+stable+rel... (N/A active issues)

Didn't hear back from this maintainer, but the latest word from Aaron is that he would like to port this module to Drupal 7, although others are focusing their attention on a migration path from emfield to Media module.

In any event, http://drupal.org/project/media (now at its second release candidate) may be worth a look if you need this capability for Drupal 7.

Features

Maintainer: febbraro, hefox, tim.plunkett
Current status: 7.x-1.0-beta4 (2011-Sep-20)
List of blocker issues: http://drupal.org/project/issues/search/features?status[]=Open&issue_tag... (6 active issues)

Didn't hear back from this maintainer on this one, but half of the issues in the blocker issues queue are marked needs review, so testing on those would be extremely helpful.

Lightbox 2

Maintainer: stella, yukare
Current status: 7.x-1.0-beta1 (2011-Oct-16)
List of blocker issues: http://drupal.org/project/issues/search/lightbox2?status[]=Open&issue_ta... (TBD active issues)

Didn't hear back from this maintainer, presumably because of https://twitter.com/#!/snpower/status/132432976398131200 :) Congratulations!

However, if I had to guess, I'd say issue queue triage would be your best shot at getting a release of this out sooner. And if you're savvy with JavaScript, this might be a great project for you to sink your teeth into.

Nodewords

(Note: Renamed to Meta tags in Drupal 7.)
Maintainer: Dave Reid
Current status: 7.x-1.0-alpha3 (2011-Sep-30)
List of blocker issues: http://drupal.org/project/issues/search/metatag?status[]=Open&issue_tags... (7 active issues)

For the most part, major development efforts for Meta tags is now complete, and Dave is now onto code clean-up and stabilization.

There's one remaining architectural issue which could use hashing out. Meta tags currently puts its information in the $content array so that it can be cached. However, that only works if themes are using print render($content), which it seems many custom conversions from Drupal 6 are not. If you have thoughts on this, or otherwise have performance / Render API experience, please talk to Dave. He's looking for validation on the approach.

Panels

Maintainer: merlinofchaos
Current status: 7.x-3.0-alpha3 (2011-Mar-17)
List of blocker issues: http://drupal.org/project/issues/search/panels?status[]=Open&issue_tags=... (1 active issue)

A stable release of Panels is blocked on a stable CTools release, so helping with issues in the CTools issue queue will help Panels.

The biggest thing Panels needs at the moment is issue queue triage, to try and sort through the issues there, close invalid issues, and of the valid issues, determine whether or not they're Panels bugs or actually CTools bugs. If the issue queue gets cleaned up, that'll greatly help Earl to determine what, if any, of the outlier bugs are blockers once CTools 1.0 comes out.

Path redirect

(Note: Renamed to Redirect in Drupal 7.)
Maintainer: Dave Reid
Current status: 7.x-1.0-beta3 (2011-May-06)
List of blocker issues: http://drupal.org/project/issues/search/redirect?status[]=Open&issue_tag... (4 active issues)

Major development on Redirect module is pretty much done. Woohoo! However, there are still a few issues remaining issues in the blocker queue that need reviews from folks, particularly the Path redirect -> Redirect upgrade path issue.

Printer, e-mail and PDF versions

Maintainer: jcnventura
Current status: 7.x-1.0-beta1 (2011-Oct-17)
List of blocker issues: http://drupal.org/project/issues/search/simplenews?status[]=Open&issue_t... (N/A active issues)

This module's in pretty good shape, with a few, mostly minor to-dos. Reviews and testing would be helpful on patches in the queue.

One problem that could use help is the print_node.tpl.php template file isn't getting picked up for some reason, so print_preprocess_print_node. This is probably something easy, so if you're familiar with writing theme hooks and theme suggestions in Drupal 7, João could use some assistance!

Simplenews

Maintainer: Sutharsan, Simon Georges, miro_dietiker
Current status: 7.x-1.0-alpha1 (2011-Sep-17)
List of blocker issues: http://drupal.org/project/issues/search/simplenews?status[]=Open&issue_t... (5 active issues)

This module needs help in the following areas:
* Technical review of automated tests at http://drupal.org/node/1164578
* Some help with UI issues http://drupal.org/node/805114 & http://drupal.org/node/208016
* Testing of the upgrade path from D6 to D7
* Assistance with getting the theming right: http://drupal.org/node/700308
* In general, more active issue queue engagement (testing + contributing) by folks who depend on this module. The maintainers get frustrated when they put things out there and get crickets in return. :(

Token

Maintainer: Dave Reid
Current status: 7.x-1.0-beta7 (2011-Oct-28)
List of blocker issues: http://drupal.org/project/issues/search/token?status[]=Open&issue_tags=D... (6 active issues)

List of release blockers is valid. Here's what's needed:
- Support for nested tokens is a hot-button issue that blocks many contributed modules.
- If you are JavaScript-inclined, the upstream https://github.com/ludo/jquery-treetable library needs accessibility and performance improvements.
- Automated tests for basic token support would help ensure a healthy base from which to fix other issues.

Please help! This module unfortunately blocks others in the list. :(

Ubercart

Maintainers: TR, Island Usurper, longwave
Current status: 7.x-3.0-rc2 (2011-Oct-07)
List of blocker issues: http://drupal.org/project/issues/search/ubercart?status[]=Open&issue_tag... (0 active issues)

The good news is, no more release blocking bugs in Ubercart! The bad news is, a stable release is blocked waiting on a stable release of Views. :(

Note that a possible alternative to this module in Drupal 7 is http://drupal.org/project/commerce.

Views

Maintainers: merlinofchaos, dereine
Current status: 7.x-3.0-rc1 (2011-Jun-17)
List of blocker issues: http://drupal.org/project/issues/search/views?status[]=Open&issue_tags=D... and http://drupal.org/project/issues/search/views?issue_tags=override-problem (5 + 7 active issues)

Daniel "dereine" Wehner is leading maintainership efforts on Views currently. Currently, the best place to help out is in helping out with issues from the two lists of blocking issues above. Those remaining issues largely center on problems with the views override system.

If that sounds terrifying to you but you still want to help, the Views Bug Squad is always looking for hands. Members of the Views Bug Squad are Drupal contributors who have committed to spending a few hours a week doing basic triage the Views issue queue. Find out more at http://drupal.org/node/940718!

Views Bulk Operations

Maintainer: infojunkie, bojanz
Current status: 7.x-3.0-beta3 (2011-Oct-14)
List of blocker issues: http://drupal.org/project/issues/search/views_bulk_operations?status[]=O...
(2 active issues)

Rewrite fields.action.inc is the primary blocker for this module. Bojan is about 50% done, and hopes to post it for review within the next few days. Then, the best thing the community can do is provide feedback, so that we can figure out the best way it should look and work. Bojan has some availability in November, so now's the time if you'd like to help drive this module home!

XML Sitemap

Maintainer: Dave Reid and earnie
Current status: 7.x-2.0-beta3 (2011-Jun-20)
List of blocker issues: http://drupal.org/project/issues/search/xmlsitemap?status[]=Open&issue_t...
(TBD active issues)

This module primarily needs two things:
1) An active co-maintianer; Dave is currently single-handedly maintaining about 5 of the top 60 modules, and this is one he wouldn't mind having off his plate.
2) Lots and lots of issue queue triage. Because this module is so popular, there are tons of duplicate/invalid issues and Dave could really use some help weeding them down, to help get a clear sense of what's there in terms of release-blockers.

That's a wrap!

Whew! Hopefully you found something in that list that either you or someone you know can help crank on. If not, there's always the full list of all D7 stable release blockers for your hacking and triaging pleasure! If you're headed to a DrupalCamp over the next few weeks, consider holding a sprint to hack on these important issues.

Thanks in advance for your support!

(PS: Also thanks to Donna "KatteKrab" Benjamin for her help in formatting this formidable document!)

Tags: drupaldrupal 7#d7cxacquia
Categories: Drupal, Geek Community

Notes from Drupal 8 status update talk

Web Chick - Fri, 10/28/2011 - 22:36

Here are some notes from the Drupal 8 status update talk that Dries and I gave today to the Acquia team, since this seemed like useful info for the community to know as well. :) It covers both process changes for addressing previous issues that arose in Drupal 7, as well as a status update on Drupal 8 progress to-date. This could be useful to folks who have been wondering where all of the various Drupal 8 status updates fit into the "bigger" picture.

Please comment here if I left anything out, or messed up anything.

Background of D7 challenges and how we’re addressing these in D8
  • Two core maintainers overseeing entirety of Drupal core doesn’t scale; appointed “initiative owners” to take on strategic aspects of development.
  • Bi-weekly “scrum of scrum” calls with initiative leads to get them unblocked.
  • Appointed Nathaniel “Catch” Catchpole as Drupal 8 co-maintainer
    • Focus on reducing complexity of core and increasing performance.
    • In close contact with Angie/Dries to make sure his own patches get reviewed/committed in a timely manner
  • Gave Angie access to commit to D8 for D7-affecting bug fixes/tasks
    • Effectively raising the number of core maintainers to 3 for the most severe issues.
  • RTBC queue for D7+D8 down from high of ~120 in the summer to ~10-15 pretty consistently now. YAY!
  • Established “Issue thresholds” of 15 critical bugs/tasks and 100 major bugs/tasks.
    • No new features get committed to D8 while we are over thresholds: focus turns to bug fixing/stabilization so we can get back to a “stable state.”
    • Means we can release D8 within a few weeks of freezing the code, as we’ll never have more than 30 or so release-blocking issues.
  • Worked with accessibility, usability, performance, testing, and documentation teams to establish “gates” that form checklists of things to check for core patch reviewers: http://drupal.org/core-gates
  • Created http://groups.drupal.org/core as an “announcement-only” list of major happenings in the core queue.
  • Started “Core office hours” as a way of on-boarding new contributors: http://drupal.org/node/1242856
Drupal 8 progress to date
  • Canvassed both large Acquia customers as well as the wider Drupal community to identify key strategic initiatives for Drupal 8.
  • Identified “initiative owners” to take point on each of these, and to spread out responsibility/authority among more than just 1-2 people (from Acquia ;)).
    • Greg Dunlap: Configuration Management
    • Larry Garfield: Web Services
    • Jeff Burnz: Design
    • Jacine Luisi: HTML 5
    • Gábor Hojtsy: Multilingual
    • John Wilkins: Mobile
  • Most initiatives have bi-weekly IRC meetings announced at http://groups.drupal.org/drupal-initiatives to provide status updates/assign tasks.
  • Configuration management
        • Content: UUID patch committed which allows unique identifiers to allow for content staging.
          • Next step is refactoring entities to use it.
        • Config: Developed architecture that allows for saving buttons in the admin interface to automatically generate XML files holding configuration data. These can then be moved around with version control. The system intends to replace variable_get/set as well as import/export functionality in Views, Image Styles, etc.
      • Initial prototype code at http://drupal.org/sandbox/heyrocker/1145636
      • Recent sprint at BADCamp with yched, sun, davidstrauss, etc. to talk about how CMI can work with fields in core.
      • Trying to get a couple of pages in core done as “proof of concept”, then initial core patch will follow.
    • Web Services
      • http://groups.drupal.org/wscci
      • This initiative consists of four parts: a unified context system (to replace global $user vs. arg(1), etc.), a unified plugin system (to replace variable_get(’filename’) vs. hook_something(), etc.), turning Drupal into a web services platform (providing REST APIs for getting JSON, XML, etc. out), and revamping the page rendering structure to allow for chunks of content to be re-ordered in whatever way (aka “Panels in core”).
      • Initial prototype code of context system at http://drupal.org/sandbox/Crell/1260830
      • Recently committed Symfony 2 HTTP library to core so services API can take advantage of it and it does not need to be more code we maintain ourselves.

 

 

 

    • Multilingual
      • Roadmap: http://drupal.org/node/1260534
      • Unifiying the language system, bringing in good ideas from contrib to core (e.g. content/entity translation), better UX for supporting complex translation interactions
      • Work so far primarily around cleaning up underlying language system, but also some solid progress on UX as well thanks to Berlin/Montréal sprints.
      • In close contact with CMI/WSCCI initiative leads to ensure multilingual concerns are addressed.

 

    • Mobile
      • Roadmap: http://palantir.net/blog/drupal-8-mobile-initiative
      • Just kicked off last week; not too much progress yet. :)
      • In many ways a “glue” initiative to tie together elements of WSCCI, Design, and HTML 5. Covers things like responsive/mobile-friendly conversion of core themes, a solution for dynamic image resizing, and front-end performance
      • Goal: Make Drupal the “go to” CMS platform for mobile. YEAH!

 

    • Other initiatives identified by survey, yet to be announced
      • WYSIWYG
      • Usability/ease of use
      • Media/asset management
      • “Better APIs”
      • Content import/export & Content staging
        • Both part of CMI
    • Non-initiative progress
      • PHP 5.3 as a baseline, allows for better support for OO, namespaces, and other cool stuff.
      • Reducing complexity/code bloat: Profile, Blog, Trigger, and Garland removed from core.
      • “Unofficial Framework” initiative http://drupal.org/node/1224666 working towards simplifying/de-coupling subsystems
      • Numerous performance improvements, most backported to D7
      • “Snowman” http://groups.drupal.org/snowman attempting to build useful profile using Drupal core components
      • Usability testing done at University of Minnesota in May exposing D7UX was a success (yay!) but still more work to do, esp around site building tools: http://drupal.org/node/1175694
    Tags: drupaldrupal 8acquia
Categories: Drupal, Geek Community

Free DrupalCon Denver attendance for sprint leads

Web Chick - Thu, 10/06/2011 - 23:44

One of the things the Drupal Association struggles a lot with is the pricing of DrupalCon tickets for attendees. As detailed in the 2011 Annual Report (1.3 MB PDF), DrupalCon tickets make up a significant portion of the organizations' overall revenue, which goes to funding hugely important long-term projects like the Drupal.org redesign and Git migration, server upgrades, programs like the Community Cultivation Grants, as well as salaries for our staff to help run operations. While we are actively working on diversifying our revenue stream through initiatives like a revamped Drupal Marketplace and hosting listings, and adding numerous benefits to our membership program, the fact remains that in the meantime, DrupalCon ticket sales help to off-set significant costs for programs that help benefit the wider Drupal community, including those individuals who could never hope to attend a DrupalCon due to financial/geographical/visa issues.

At the same time, we also recognize the wonderful diversity of people in our community. And for students, hobbyists, non-profits, evaluators, freelancers, and others, even the significantly off-set ticket prices (thanks to our generous DrupalCon sponsors) can make DrupalCon attendance prohibitive to the people we hope most can get there. And while we offer full-ride scholarships for a limited number of people in financial need, asking for one is often uncomfortable, especially by people who give a lot to Drupal already. In the past, we've done super-cheap "land grab" tickets (first 100 or so), but often those go to the people who don't need them: the major Drupal shops and others making ample money off Drupal who already know they'll be coming to DrupalCon, regardless of ticket cost.

This time around, we're doing something a little different. The Drupal Association has set aside a number of half-price tickets to students and non-profits, as well as FREE tickets to contributors. To snag one, you have to apply to lead a sprint on the final sprint day. These applications will get checked over by the same group who looks over the scholarship applications, and use similar criteria (involvement in community of the participant, impact of the sprint on larger project, etc.) to evaluate the submissions.

So, if you're someone who is driving important change in Drupal (or someone wants to!), please tell us about your plans and you could qualify for complimentary admission!

Tags: drupaldrupal association
Categories: Drupal, Geek Community

What has webchick been up to lately?

Web Chick - Wed, 10/05/2011 - 07:00

At the end of June I wrote up a list of things I'd been working on as part of Acquia's Office of the CTO. Here's another update for this quarter!

Drupal 7

Last quarter was focused primarily on stabilization of Drupal core and incorporation of various processes to help ensure it stays stable. With that in hand, this quarter my focus shifted more towards accelerating Drupal 7 adoption.

The good news is that in the last three months, the number of Drupal 7 sites in the wild has exploded from 60K sites on July 3rd to over 168K sites on September 25th, including this one. w00t! (Note: I'm not claiming this is because of me. :P~)

The bad news is that the number one thing holding back Drupal 7 adoption is, of course, the state of Drupal 7 contributed modules, so a lot of my effort this quarter was spent around that problem.

  • Identifying D7 stable release blockers In a post analyzing the effects of the #D7CX movement, a standard tag D7 stable release blocker was established to centrally track all issues across all contributed projects that block a stable D7 release. Since then, nearly 100 of these issues have been fixed. Yay!

    If you're looking for someplace to jump in and help contribute, attacking issues in this list would be a welcome place to start! :)

  • Tracking Drupal 7 contributed module porting Also launched this quarter was a new site at http://drupalcontribstatus.com/ which tracks the Drupal 7 porting status of the top 50 projects (well, 60; 50 + 10 that were moved into core :P), along with links to get involved to help make them happen sooner (or, take over a project if it's abandoned). The number of these projects with stable releases has gone up from 15 to 34, so we're making good progress there!

    Note: If you need this sort of reporting for evaluate your own Drupal site's D7 readiness, check out the Upgrade Status module, upon which this site is built.

  • Meeting issue thresholds After tremendous efforts by the Drupal core developers, issue queue thresholds for Drupal core that were set up last quarter got met this quarter. That means D7 has far fewer critical and major bugs (including those that block contributed modules from being ported), and it means that D8 is officially free to take off into the stratosphere. Rock!!
Drupal 8
  • Community survey + new initiatives The original Drupal 8 initiatives that were announced in Dries's State of Drupal presentation at DrupalCon Chicago—HTML 5, Configuration Management, Web Services, Multilingual, and Design—encompassed a combinatio of Dries's thinking as well as feedback from 20 of the largest Drupal sites, about where Drupal needed to go. But we also wanted to make sure to get the larger community input into that roadmap as well.

    The State of Drupal survey had over 3,000 participants, and directly as a result of that survey some additional initiatives were announced: WYSIWYG, Media/asset handling, Usability/ease of use, Mobile support, Better APIs, Content import/export. This quarter we'll start identifying and announcing initiative leads for some of these, and getting these initiatives bootstrapped.

  • Multilingual sprint I attended the last part of the Multilingual sprint that Drupal 8 Multilingual Initiative owner Gábor Hojtsy organized alongside DrupalCamp Montréal in mid-September. I tried to provide feedback on some UX issues, and generally help out wherever I could. See the excellent wrap-up report that summarizes the excellent work accomplished by the contributors there, as well as next steps.
  • Drupal 8 gates To help ensure code quality, and also to prevent burnout of our seasoned experts in specific areas, one of the major initiatives for Drupal 8 is to define a set of "gates" which document the things to check for in patches before they're committed to core.

    In our last report, the Documentation gate had been defined as a "template" of sorts. This quarter, we started additional discussions about a Performance, Accessibility, Usability, and Testing gates. Experts on each of the teams put their heads together to try and come up with the 4-6 things that they spent the most time fixing in core, so that we could pass that knowledge along to all core contributors (along with resources for learning more).

    This work is now visible at the Drupal core gates page, which core contributors and patch reviewers should familiarize themselves with.

  • Drupal 8 co-maintainer! And, of course, one of the most exciting developments to happen to Drupal 8: our new fabulous core co-maintainer, catch! Catch is a brilliant and conscientious contributor, who highly values both performance and reducing complexity. Which makes him a perfect fit for a release where these are two extremely hot-button topics (that also took a fair bit of time this quarter ;)).

    If you'd like to learn more about him, you can read a contributor spotlight piece on him from back in 2007. :)

Drupal.org

One of the things that holds Drupal back from being as awesome as it could possibly be is our poor website, Drupal.org (oh, the irony). While the Drupal Association has had tremendous success in funding large-scale initiatives such as the CVS => Git migration and the Drupal.org redesign, smaller-to-medium sized improvements have traditionally been extremely difficult to navigate, even for people who are prolific contributors elsewhere in the project.

  • Documenting how to make change on Drupal.org Making improvements to Drupal.org was always possible, it's just that the way to do it was trapped piecemeal in about 10 different peoples' heads. :) A huge initiative this quarter was the Make Drupal.org awesome guide, which documents said heads. See the front page post How YOU (yes, you!) can help make Drupal.org awesome for a step-by-step guide.
  • Unblocking contributors from being awesome To beta test the process that was documented, a group of contributors set off to try and address some of the most severe community performance issues on Drupal.org. Check out the list of improvements completed this quarter by the community. The notable thing about this list is that each of these improvements were implemented by people not on the infrastructure team! Hooray!!

    Extra added bonus? The "+1 subscribe" problem is literally days away from deployment. Mmmm! :D

  • Project application process reboot Greg Dunlap, Alan Palazzo and I gave a Core Conversation on the Project Application process, which emphasized actual data illustrating the impact on the community that the process has, and the kinds of things the process catches. Jeremy Thorson has been a tremendous thought-leader in this area, and posted a proposal for automating large parts of this. Feedback welcome!
  • Unblocking distribution blockers One of the biggest opportunities for Drupal is distributions: products built on top of Drupal like OpenPublish and Commons. However, success of distributions has traditionally been held back by sub-standard tools on Drupal.org. This quarter, I spent a bunch of time working with Derek Wright on identifying drupal.org distribution blockers and coming up with a fundraising proposal to help see them fixed (or well on their way) next quarter.
Acquia

And of course, there are Acquia-related things as well. :)

  • Acquia influence concerns There were a lot of discussions, particularly around the time of DrupalCon London, about Acquia's motives and whether or not we were growing too big for our britches, and exerting undue influence on core or the community. A lot of time was spent in these discussions in both real life and IRC offering my own point of view as "part of the problem." (Though I'd like to hope that my to-do list here demonstrates work that is directly in the community's best interests.)

    I have to say that I'm really proud of the way Acquia responded to these concerns, from Alex opening up a dialog about the question, to our CEO personally responding to concerns, to Dries explaining the rationale behind recent 'Acquiasitions' and his perspective on the influence question. The leadership team at Acquia takes these concerns about community impact very seriously, and their willingness to engage in open and honest dialog with the community is one of the reasons I love working here.

  • Crowd-Sourced Competitive Analysis One of the things that Acquia always has its eyes on is how Drupal fares relative to its competition, and also what we can do to beat them. :) A new group on groups.drupal.org was created called CMS Feature Reviews, to collect posts with in-depth analysis of how other competing products work, particularly where they out-shine Drupal, so we can compile a list of what modules or initiatives exist for making Drupal feature-equivalent.

    There you can find a detailed breakdown on Squiz CMS, as well as a pointer to an awesome set of screenshots outlining WordPress's media features for the Media module by drupleg. Feel free to add your own posts as well, and let's work together to make Drupal beat the pants off these other projects. :)

  • Engineering Week + Gardening Days I was fortunate to be able to attend Acquia's Engineering Week, when all of Acquia's engineering prowess gets into the same physical place to meet each other face-to-face, have key conversations, make progress on development, and of course have a crap-ton of fun! :D One of the itches I acquired this week was making our "Gardening Days" program (two days every sprint where engineers can work on giving back to either Drupal or Acquia) more effective, as well as more visible within both the company, and the larger community. Expect to hear more about that next quarter.

That's a wrap!

Join me next quarter, for yet another thrilling edition of "What on earth does webchick do with all of her time?" :P

Tags: acquiadrupal
Categories: Drupal, Geek Community

Using Git bisect to figure out when brokenness was introduced

Web Chick - Sun, 10/02/2011 - 23:35

I did a fresh installation of Drupal 8 this morning and came across a bit of ugliness: an ugly grey border on the home page, caused by an empty div being inserted into the page:

My last fresh install of Drupal 8 was about a week ago and didn't have this problem. I didn't relish the idea of going through all of the commits since then one-by-one to figure out where this bug was introduced.

Enter the git bisect command! The bisect command works by performing a "binary" search between one state of the code and the other in order to find, by process of elimination, where a given problem was introduced. It's quick, it's easy, and by golly it just works!

Here's how to use git bisect, step-by-step!

read more

Categories: Drupal, Geek Community

As a Drupal developer, I want to make my modules fully multilingual friendly

Gábor Hojtsy - Wed, 09/28/2011 - 17:02

I know many of you faced the goal explained above. There are tools of different levels of involvement and there is of course no ready-baked answer to this question, but here is my best take so far for the current two active versions and Drupal 8 in development.

The three areas of Drupal language support

(A) First off, you can run a single language foreign language website without a need for content or configuration translation. Because the Drupal user interface comes in a flavor of English, you'll need to translate that. But all your content and configuration can be entered in your language, so you are fine there.

(B) Second, if you need to mark your content with language information, such as if you are running a multilingual blog, where you post in different languages, but will not translate your posts, you need language assignment with multiple language options.

(C) Finally, if you need to have the same content translated, the same navigation replicated or similar navigation produced for different languages, you need translation for your content and configuration.

The three types of data for Drupal translation

When it comes to translation, Drupal data can be separated to three buckets: (1) User interface (2) Content (3) Configuration. Drupal has very extensive support for user interface translation, I'd say too much support for content translation and usually not so bright support for configuration translation. Let's enumerate what Drupal has on offer for each piece.

Tags:
Categories: Drupal, Geek Community

The "Novice" tag: helping new Drupal contributors with their first patches

Web Chick - Wed, 09/14/2011 - 06:25

Ever use Drupal or Drupal.org and come across some kind of minor, annoying issue... say a typo, or a code comment that could stand to be improved, or some other change that's only a couple of lines of code... and you think to yourself, "Self, this would take you about 5 minutes to fix, but your to-do list is 43.4 km long. Pass."

Well, the next time that happens, please pause for a moment, and file an issue for that minor problem, and tag it as "Novice".

Thanks to the efforts of brand-new contributor demarcoz, we rolled out a new Drupal.org improvement this week: a link to the queue of all Novice issues on the Dashboard! (which was itself a Novice issue: http://drupal.org/node/1266380 :))

The goal of the "Novice" tag is to help identify "low-hanging fruit" issues. This way, people who haven't been using Git and rolling patches since they were in diapers can have something bite-sized to chew on while they work their way up the learning curve of setting up a development environment, figuring out quirky git commands, and finding their way around Drupal coding standards and API peculiarities. This is a much nicer introduction to contributing than showing them an issue queue with 50,000 issues in it and saying "There ya go! Pick one that sounds interesting!" :)

And while it might take a new contributor a few days to solve something you could solve in a few minutes:

a) It's really fun to walk new people through this process and see what sorts of things trip new people up.
b) They're now equipped to tackle even harder issues in the queue, and they can eventually help you with your own 43.4 km long todo list.
c) They can also help improve documentation in places where they got stuck, and even help mentor other novices!

So the next time you find a small issue you could solve yourself in a few minutes, please don't! Instead, tag it as "Novice" and help to usher in a new crop of eager new contributors. :)

read more

Categories: Drupal, Geek Community

Tracking the porting status of Drupal 7 modules

Web Chick - Mon, 09/12/2011 - 23:26

The number of sites running Drupal 7 has been steadily climbing over the past few months, and is now north of 140K sites. At the same time, the number of Drupal 6 sites has started to flat-line.

So if you haven't started yet, now's a great time to begin thinking about and planning your site's upgrade path to Drupal 7.

To assist with this task, there's an amazing, little-known module out there by sun called Upgrade Status, which is an essential tool in the site upgrade planning process. It will inspect the modules installed on your site give you a custom-tailored report about each of their porting status to the next version of Drupal. It also provides other upgrade helpers, such as a block with links that walk you step-by-step through the process of a major upgrade.

Obviously, though, the biggest barrier to doing D6 -> D7 site upgrades (apart from time, of course :)) is the porting status of contrib. So using the magic of Upgrade Status module's data I've set up a site at http://drupalcontribstatus.com/ to track the status of the top 60 contributed projects (the top 50 + 10 that were moved into core):

The intent of this site is to act as a dashboard for folks who want to help the module porting process happen faster. There are helpful links track the issues that block a D7 release (a convention established in a previous post), issues that need review, instructions for how to take over abandoned projects, and so on.

We're currently at 32 of 60 projects ported (though obviously, most of the betas/alphas of these modules are pretty solid or we wouldn't have 100K+ D7 sites...). Can we hit all 60 by the end of the year? :) Let's try! If every DrupalCamp between now and then focused on a few of these remaining modules, I bet we could do it!

PS: Feel free to use the Contrib Status module to set up your own site to publicly track and create momentum around specific modules you care about. But WARNING: The code was largely written between the hours of Stupid O'Clock and Why Are You Still Up Dummy, so I take no responsibility for it whatsoever. :P~ If you have ideas on how to make it better, please leave feedback in the issue queue!

read more

Categories: Drupal, Geek Community

Escaping region locking on an XBOX 360

Web Chick - Sun, 09/04/2011 - 07:31

Because I searched for I don't even know how long and couldn't find an answer to this question...

The short version — do this:

The long version:

You're in the US, you buy some Call of Duty map pack expansions for XBox 360 from EB Games there, you get back home to Canada and try and redeem the codes, and what happens? "This item is not available from your region." FFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUU-

read more

Categories: Drupal, Geek Community

About my dad

Web Chick - Fri, 08/12/2011 - 07:13

A lot of people at this point have heard about my dad's passing. Our family is fortunate to be blessed with hundreds of amazing friends and acquaintances who have sent kind thoughts, and are all concerned and wondering about what happened. Here's the full story.

read more

Categories: Drupal, Geek Community

Speaking at WordCamp SF 2011: Suggestions?

Web Chick - Thu, 08/04/2011 - 04:16

On Saturday, August 13, I'm going to be speaking at WordCamp San Francisco, after being graciously invited by Jane Wells, WordPress's UI Goddess. :)

For Drupal community folks, are there questions you have about WordPress and/or its community that I could try and find answers to? Are there things you think I should particularly highlight about Drupal and its community before an audience of several hundred WordPress fanatics?

read more

Categories: Drupal, Geek Community

Drupal Core Diaries: 7.4 -> 7.7. OMG WTF BBQ?

Web Chick - Fri, 07/29/2011 - 05:13

Some folks noticed that as of Wednesday's release, we went from 7.4 -> 7.7 and are a bit confused about what's going on, as well as why these releases happened in such rapid succession, so soon after the 7.4 release. Here's the skinny:

  • As of Drupal 7.1/Drupal 6.21, Drupal core does monthly releases. This was a new policy the core team discussed and implemented back in May, which lays out a schedule of the last Wednesday of the month for new core releases.

    This policy change has helped tremendously to provide predicability for Drupal site maintainers so they don't need to fret every Wednesday about "what if" a new core release comes out, it's helped to ensure timely fixing of security issues, and also has encouraged a general "swarming" around bug fixes in a timely manner to ensure they make the next release deadline.

    The monthly rate will likely slow down as D7 continues to mature, but for now it's really helping to provide focus on working through some of the backlog and getting contributed module blockers unstuck.

  • When security releases are required, we create two releases. One which has only the security patches, and one that has the security patches, plus all the bug fixes to date.

    Why do such a silly thing, you might ask? Because it's *really* important that security fixes get rolled out pronto, whereas the bug fix releases might conceivably need more testing to make sure they don't create any adverse effects in your environment. So we offer Drupal 7.5 for those who want only the quick fix, and Drupal 7.6 for the whole shebang.

    This graphic by Gábor Hojtsy, included on all release announcements, lays it out rather simply in flowchart form.

  • Drupal 7.6 was accidentally rolled incorrectly, hence 7.7. The only difference between 7.7 and 7.6 is literally a one line fix to the VERSION number in bootstrap.inc (ok, fine, technically 3 lines because of CHANGELOG.txt ;P). I blame being holed up sick in a hotel room with a stomach flu for missing the git commit between vi bootstrap.inc and git tag. Sorry about that. :(

    Thankfully, some helpful friends are helping to work on some automation tools for the process so that doesn't happen again. :)

Hope that helps clarify things!

read more

Categories: Drupal, Geek Community

O'Reilly Webcast on Drupal 7 tomorrow!

Web Chick - Tue, 07/19/2011 - 21:55

The fabulous and ever-entertaining Jeff Eaton and myself will be presenting about Drupal 7 tomorrow on an O'Reilly Webcast about What' new and cool in Drupal 7? at 10am - San Francisco | 6pm - London | 1pm - New York | 10:30pm - Mumbai.

We'll cover some background on the Drupal project, what some of the biggest new cool features are in Drupal 7, impart tips on upgrading, and leave lots of time for Q&A. Please Register now if you'd like to join us! :D

read more

Categories: Drupal, Geek Community

The impact of the #D7CX movement and next steps

Web Chick - Mon, 07/18/2011 - 20:06

Back around the time of the Drupal 7 code freeze, Moshe Weitzman proposed the #D7CX (Drupal 7 Contrib Experience) movement. Developers were encouraged to add a #D7CX pledge to their project pages, indicating that they would port their contributed modules and themes to Drupal 7 by the time Drupal 7 was released.

Here is some data to measure the impact that this movement had, relative to Drupal 6, as well as some recommended next steps to help us complete the work that #D7CX started.

read more

Categories: Drupal, Geek Community

A month (and a bit) in the Office of the CTO

Web Chick - Wed, 06/29/2011 - 10:05

Last month, I started my new job in Acquia's Office of the CTO. I posted my to-do list last month of a given week's worth of work, to try and provide some insight as to what I'm working on. Since that probably reads as chicken-scratch to you (my handwriting tends to be one-way encryption ;)), here are some of the highlights:

Drupal 7

read more

Categories: Drupal, Geek Community

New Drupal 7 point release Wednesday, June 29

Web Chick - Sat, 06/25/2011 - 00:57

Pursuant to the new predicatably scheduled point releases of core policy, just a heads-up that there will be a new point release of Drupal 7 this Wednesday, June 29.

read more

Categories: Drupal, Geek Community

Drupal 7's new multilingual systems (part 7) - Great usability improvements

Gábor Hojtsy - Fri, 06/17/2011 - 18:46

As some of you might be aware, a group of talented and very determined people sprinted in Berlin about a month ago just to improve the i18n module for almost a week. A lot of great improvements made it in including tests, translatable contact forms and even some great usability improvements. Before continuing my article series, I wanted to touch quickly on the usability improvements, because my previous piece presented a pretty grim picture of textgroup based translation solutions such as blocks. Well, i18n module is still using that backend, but the new user interface improvements will make the translation process much more transparent and a lot easier to work with when managing Drupal configuration.

AttachmentSize BlockTranslationTable.png48.25 KB BlockTranslateInContext.png27.86 KB Tags:
Categories: Drupal, Geek Community

On using fields API for every input in Drupal and removing translatable strings from code

Gábor Hojtsy - Wed, 06/08/2011 - 20:54

My last post where I've explained how Internationalization module re-implements some of Field API and where it does not do that it misses crucial functionality did not get much discussion. Therefore I decided to turn the key point at the end to the center of discussion: that either Drupal core will do fields for all user input (content and configuration alike, all through form your site name to your views empty text), or i18n module needs to do it in contrib. There is a clear need for input widgets, validators, permission handling, storage and output formatters and rendering used consistently. If it is not done by core, it will keep being a bolted-on half-failing approach despite best efforts in contrib. Please discuss at http://groups.drupal.org/node/154434

The other important post that we need your input in is about removing all UI strings from code. There are various issues with having them in code, while there are also various disadvantages to remove them from there. There are permission, translatability and even user experience concerns involved. This post is already getting some discussion, but we need much more. This could be a huge, fundamental change, so all your input is welcome. Don't say we did not ask you. Please discuss at http://groups.drupal.org/node/154394

Your input helps shape Drupal 8 and how Drupal supports building multilingual sites for years to come. Have your voice heard now!

Tags:
Categories: Drupal, Geek Community

Pages

Subscribe to Mosab Ahmad aggregator - Drupal