Drupal 7 Media Sprint

by Dave Reid

This past Saturday, the 2011 Drupal 7 Media Sprint in Chicago officially started. For those unfamiliar with the Media module, lead by Aaron Winborn, it provides an extensible framework for managing files and multimedia, regardless of whether they are hosted on your own site or a third-party site. Media handling is typically a lacking feature in Drupal core and the Media module intends to be a usable, friendly, and flexible solution for a wide range of users and use cases.

Why are we having a sprint?

The last media sprint was in New York City near the end of 2009. Before and after the release of Drupal 7.0 at the beginning of 2011, both the Media module and the many other modules that integrate with it have been lagging behind in development and stability; it has been in beta for almost a year with some large beneficial, but painful changes in that time. Not having a stable and “ready” Media module is a big factor as to why many potential users and clients are not adopting Drupal 7 sooner or quicker.

Media sprint

Acquia has helped drive improvements to Media as a part of their successful efforts to include it in Drupal Gardens. Their efforts included massive interface and usability improvements resulting in the current media browser, and standardizing on enabling Drupal core’s native file entities to become field-able and re-using core’s file and image fields.

Palantir has also recently become involved with several projects that involve a large amount of media integration, including the Field Museum and American Public Media. We saw not only a need for a stable release for our clients, but also for new features that would help improve the module’s usability. Several Palantiri have been active in the module in the past and now more recently as well. We have filed several patches including Views integration for the media browser, adding an ‘Edit media’ button to edit the fields on a file once it has been selected, etc., that are now targeted for a new 2.x version of Media so that we are not making drastic changes to what will eventually be the 1.0 release.

Even still, we saw a greater need to have a concentrated effort to really help push things along and help the module and its maintainers get caught up. We at Palantir proposed and planned a cooperative week-long Media sprint in Chicago that would include all the primary and recent Media maintainers. Together we could hash out important issues and discussions, and help get us get organized and coordinated with a roadmap for the 2.x version of Media. Along with Aaron Winborn and maintainers from Palantir and Acquia, several other folks who work with Media are also participating in the sprint.

Who are the sprinters?

What has been accomplished so far? What’s left?

After two days we have already exceeded our expectations and goals. Our first day on Saturday was focused solely on issues that were blocking a stable 1.0 release of the module. We fixed all but one of seven blocking issues and spent several hours discussing a reasonable compromise for the remaining thorny issue, which was fixed early the next day. As a result of the patches committed and the hard work both by the sprinters and testers, we now have an official 7.x-1.0-rc1 release of the Media module! Websites looking for long-term stability and minimal major changes should really give this version a thorough test so that we can release a 7.x-1.0 version soon.

For the most of Sunday and now for the rest of the sprint we are pretty free to start working on the bigger features and issues for 2.x including the following:

  • Abstracting any re-usable file logic or UI from Media module to File entity
  • Use default Views to replace the media browser interface
  • Use CTools plugins for media browser tabs rather than maintaining our own custom plugin code
  • Allow the user to control which media browser plugins appear on specific fields
  • Revisit how we are handling file types

There is a pattern to the above; we would not only be adding great features, but we would also be implementing reusable solutions, a principle we hold very dear at Palantir, with our clients, and in the Drupal community. We get the benefit of both well-maintained and well-tested community solutions like Views and CTools plugins, and we also have to maintain less custom code in Media.

We are also using this sprint as an opportunity to ensure all of the current maintainers are face-to-face and in agreement on the direction of the module. We are also discussing forming our combined leadership into a potential “Media module initiative” to show that we are committed to the module’s future and direction, planning on increase our communication between not only each other but the community, and helping encourage and guide people that want to help contribute. Keep posted for my wrap-up sprint blog post for more details!

How can I help? How can I keep updated?

While we are all in person in Chicago, we are all also online in the #drupal-media IRC channel posting when we need help reviewing issues or have issues that need patches written. We are posting our daily agendas in the Media group on groups.drupal.org, tweeting from @drupalmedia, using the Twitter hashtag #D7Mediasprint, and also posting our sprint pictures to Flickr.

If you are interested in helping for the remaining days, please join us in IRC and in the Media issue queue. Even if you are not able to help during the sprint, we would still love to see you when you do or can have time to help!

Comments

Awesome write up Dave!

After all of the work by Aaron, the Drupal community, and the Drupal Gardens' team on the media module over the past 3 years, we are thrilled to be a part of this all-star team to take media forward to the next level. We can't wait to see the Drupal community further incorporate this module suite into D7 sites everywhere including the tens of thousands of current and future Drupal Gardens D7 sites so they all benefit from incredible media support.