Media Code Sprint

Media Sprint Recap on Drupal Dojo! (Forthcoming)

Arthur and I will co-present a recap of last week's exciting Media Code Sprint, held in various offices in NYC! We'll be doing this with the Drupal Dojo, using DimDim.

Media Code Sprint Recap
Tuesday, January 13, 2008 at 3:30 PM (EST)

Why You Want to Be There

  • Because you want to learn about the future of multimedia in Drupal.
  • Because you want to help transform multimedia handling for Drupal.
  • Because everything you thought you knew about Drupal and multimedia is about to be obsolete (and why that's a good thing)...

I'll post a synopsis and schedule in the morning, so stay tuned!

Media Code Sprint (January 2009)

Wrapping up Day 1 of the Media Code Sprint for January 2009! (Edit from 2008... doh!) I'm in the Advomatic NYC offices with Arthur Foelsche (arthurf), Roger López (at http://drupal.org/user/67977), Darrel O'Pry (dopry), and Owen Osborn (oweno).

Today's been a great brain-storming day, figuring out our plans for the weekend. For those of you who don't know about this media sprint, among the stated goals is to backport the File API from Drupal 7 to Drupal 6, get the major media modules using that, and creating a GUI to wrap around it. You can see more at the Media Sprint wiki.

The discussions have been amazing to be part of. We plan to create a new form element and field, using FileField as its core, and create a registry API on top of that, using PHP Stream Wrappers (built into PHP 4+).

Initially, we would have an upload box created with FileField. Then tabs would be created as module add-ons, for local files as thumbnails, Embedded Media Field text field for third party URL's, YouTube or Flickr searches, etc. This would be similar to what I used for Video Uploads/Embeds at YouDrup. In the future, this could also be replaced with a flash uploader for multiple uploads and progress (which can only be done in PHP with APC enabled), such as is done with Kaltura.

More tomorrow! We're meeting at Advomatic again, and in #drupal-dev at IRC. Saturday we'll meet at Sony, and an as-of-yet undetermined Drupal shop on Sunday.

SimpleTests for hook_file in Media Code Sprint (Status Report Two)

The Media Code Sprint has been a great success thus far! We have built a fairly comprehensive test suite for hook_file. It still needs to be rounded out, so that, for instance, all the cases for file saving are covered. However, validation is fleshed out, and the framework is pretty much usable and ready for testing gurus to go in and run it through its courses.

Jonathan Hedstrom (jhedstrom) of OpenSourcery joined us this morning, and created the FileDirectoryTest class, finding and fixing some flaws in the current file api in the process. His help was invaluable. And we all quashed other minor bugs and problems in the documentation, so it's been a most successful sprint thus far.

Tomorrow should prove to be productive as well. It's my last day in Portland before heading back east to Pennsylvania, so I plan to make it a great one. Thanks to Advomatic for sending me out to the media code sprint! It's great to work with a company that recognizes the value of Open Source, and reinvests in the community.

Drewish and I will be taking a break in the early afternoon to present a remote session for DrupalCamp Colorado on Drupal Multimedia, where we plan to talk about the state of the art and our recommendations for Drupal 6, as well as a brief overview of the successes of the Media Code Sprint, and what that means for the future of Drupal. See you there!

Media Code Sprint: Status Report One

As announced, we've begun the Media Code Sprint to put better media handling into Drupal core!

It's been a great time so far. In the morning, drewish compiled a file function guessing game (free beer!), and andreiashu took the bait and completed the first round with great feedback about how unusable the current state is.

Next, we've sat down and begun writing SimpleTests for the hook_file patch. This has been great fun for me personally; though drewish is an old hand at building tests, this is completely new for me. And to top it off, webchick, Queen of Drupal testing, dropped by our table and got involved!

Even the process of writing tests has been helpful; we found at least one case for validation that had been missed in the original patch, and drewish decided that file_scan_directory needed refactoring. (He's currently chasing other problems as well, and cursing about finding himself going down rabbit holes.)

There's more fun to be had for all! If you want a quick 15 minute task that everyone is qualified to do, go play the File API Function Guessing Game. If you want to do more, then ping me (aaronwinborn), drewish, or dopry at #drupal in IRC, or leave a comment here!

Media Code Sprint (Top 3 Goals)

Andrew Morton (drewish), Darrel O'Pry (dopry, remotely), and I are heading up a Media Code Sprint in Portland this week! Come help, in person or remotely, if you're interested in multimedia and Drupal! It has now officially started, and as I've volunteered to help keep folks updated, here goes...

First the reasons.

Number One: Better Media Handling in Core

Dries conducted a survey prior to his State of Drupal presentation at Boston Drupalcon 2008, and number one on the top ten (or 11) list of what would make THE KILLER DRUPAL 7 Release was "Better media handling".

Let me repeat that. Better media handling.

People have done really amazing stuff in contrib, but it is difficult (if not impossible in many cases) for developers to coordinate the use of files, as there is no good means for file handling in the core of Drupal. Thus, we have several dozen (or more) media modules doing some small part, or even duplicating functionality, sometimes out of necessity.

We need (better) media and file handling in Drupal core. In particular, there has been a patch for a hook_file in the queue for over a year, which has been in the Patch Spotlight (for the second time, no less) since May! (And has been RTBC several times during that process...) Come on folks.

One of the powers of Drupal is its system of hooks. We have hooks to modify nodes, to notify changes to user objects, to alter nearly any data (such as forms and menus). Noticeably absent is a consistent handling for files or any sort of notification. We need hook_file.

So goal Number One: get media handling in core. The means? Add hook_file and make files into a 1st class Drupal object. We'll be creating a test suite for functionality in the hook_file patch to validate it and "grease the wheels" to get it committed.

The other goals of this sprint pale in comparison to the first in utility, but are still highly desirable and worthwhile.

Number Two: Refactor File Functionality in Core

As an extension to the first goal, there is a lot of inconsistency with how Drupal currently handles files. For instance, in some areas a function may return an object, and in others a string. Additionally, some functions are misnamed, or try to do too much to be useful as a file API.

Some specific examples: for what it does, file_check_directory may be better suited as something like file_check_writable, or maybe even split into that and file_check_make_writable. Also, for instance, file_scan_directory needs to return file objects, rather than the current associative array (keyed on the provided key) of objects with "path", "basename", and "name" members corresponding to the matching files. (The function does what it needs to, but the returned objects have keys not corresponding to anything else used in core.)

So goal Number Two: refactor file functionality in core. The means? Go through and check for (and fix!) existing file functionality for documentation and consistency.

Number Three: Spruce up Existing Contributed Media Modules

There are several much needed multimedia modules that have not yet been upgraded to Drupal 6 (or which are still in heavy progress). This includes (but is not limited to) Image Field, Image API, and Embedded Media Field. Additionally, some major improvements can be made, both to these, and to other essentials, such as the Image module, such as creating a migration path from Image to Image Field (once that module is stable).

So goal Number Three: spruce up existing contributed media modules. The means? Get these modules upgraded!

I want to recognize the valiant and heroic efforts made by everyone to date, as fortunately, there has already been significant progress on all these fronts. That makes our job (relatively) easy. In some respects, we just need to finish up the jobs that have already been started.

Thus, drewish declared this week the Media Code Sprint!

We need your help. If you are a developer, or want to be a developer, jump on in! If you aren't ready to develop, or consider yourself too new for that, you can still help test patches and functionality. Jump on in! And please, even if you don't know how to apply a patch, you can still help with documentation and other small (but important) tasks. Jump on in!

If you're in Portland, You Have No Excuse®. If not, you can jump into #drupal in IRC any time you're available.

The official dates for the sprint are today (Wednesday July 23, 2008) through Saturday (the 26th). We'll be online and working most of that time. I'll make sure we continue to post progress as the week develops.

Of course, as is the wonderful nature of Drupal, this is an ongoing process. Even if we achieve our stated goals, there will always be more.

Thanks,
Aaron Winborn

Syndicate content

The Society for Venturism has chosen me as the recipient of its charity for this year, to hopefully offer me cryonic preservation when the time comes. And this month, Longecity, an excellent forum for the discussion of issues related to extending the lifespan of humans, has offered up a matching grant of up to a thousand dollars to help out! So help out! Please.