The future of multimedia in D7 or "You don't want me to kill the monkey do you?"

Jacob Singh's picture

Hey folks,

Did you know that Drupal 7 will have a amazing multimedia capabilities due in large part to the Media module?

Hi, my name is Jacob Singh.

You may remember me from such kick-ass projects as Acquia Search (ApacheSolr), Drupal Gardens or GUI updates in core.  You may also just be dying to know what's going to happen to the monkey.  Either way, I'm here to tell you about what I've been up to along with many of my colleagues and Drupal buddies.

The Media module provides a rich interface for:

  • Managing files
  • Uploading new files or adding them from the internets
  • Browsing existing files
  • Embedding files in WYSIWYG editors
  • Adding fields and meta-data to files
  • Generally making Drupal suck less when it comes to files.

But don't take my word for it, watch me stumble through this demo (about 5 min of fast paced monkey-on-baby action)

and then vote for my media session at Drupalcon

Content | Site-Install.png

Comments

First off: Great

Posted on July 11, 2010 - 7:50am by Tobias Stöckler.

First off: Great stuff!
Can't wait to get my hands on that.

The fact that you can add a Media field to e.g. a node, which is in turn fieldable (and shows those fields in the node), sounds a lot like Fieldable Fields.
Over at #695636: Figure out whether Fields API and Multigroup module can coexist that was discussed as a possible successor of the Multigroup functionality in CCK 3.x. Maybe you could leave a short note there about the approach Media module has taken and how that worked out.

Re Tobias Stöckler : The

Posted on July 11, 2010 - 11:52am by Yves Chedemois.

Re Tobias Stöckler :

The only similarity is that both would be 'reference' fields, i.e fields whose values are ids of other objects - 'node' for noderef, 'taxo term' for D7 taxo fields, 'file' for D7 file and image fields, 'media' for Media field...

Fieldable fields (as a possible approach for the infamous 'combo field' request) boil down to nothing else than a 'ghost-entity reference' field : i.e., a field whose values are ids of entities of a specific, dedicated type. Those 'ghost entities' hold the values in the 'combo field'; unlike nodes, taxo terms, files, media..., they have no visible existence in you site (display, edit form) other than being 'embedded' into the display and edit form of the parent entity. The field values appear as if they belonged to the parent entity, when in fact they belong to a 'sub-entity' through an indirection.

None of this is ready yet, and right now there is no guarantee that it will be at some point. As far as I remember, the tricky bits notably reside in this 'form / subform' area, and also in the way this approach would translate in Field UI.

In short : 'fieldable fields' relate to 'Media fields' only to the same (limited) extent than they are to good old noderef fields. I'm not sure the specific case of Media fields carries interesting knowledge on that regard.

Jacob Singh's picture
Jacob Singh
Acquia Staff

Hi Tobias, Thanks for the

Posted on July 11, 2010 - 9:21pm by Jacob Singh.

Hi Tobias,

Thanks for the comment. I agree while writing it I said to myself.. hmm this would be better represented as some kind of entity reference API... but I like to build APIs after building working products, so looking forward to seeing what kind of integration will make sense there. The Acquia focus has been on WYSIWYG and usability thus far, but there will be a big push to the data driven side soon as we start supporting a slicker file browser as well as galleries.

Let's get in touch at DrupalCon. To chat about it.

Best,
Jacob

Curious what the monkey

Posted on July 11, 2010 - 1:10pm by Sc meeven.

Curious what the monkey alludes to :-)

Jacob Singh's picture
Jacob Singh
Acquia Staff

Vote for my DrupalCon

Posted on July 11, 2010 - 9:18pm by Jacob Singh.

Vote for my DrupalCon session or my daughter eats the monkey.

http://cph2010.drupal.org/sessions/rich-multimedia-drupal-7

Cool stuff. One of the big

Posted on July 14, 2010 - 12:54am by Larry Garfield.

Cool stuff.

One of the big questions I have with Media, though, is scalability of the interface. The media browser currently appears to give one big list. That's going to fall flat once there are a few hundred or, god forbid, a few thousand entries in the library.

Moreover, I've had cases where I've needed to say that certain users can use certain media but not others. Or a certain node can only use media that has a given flag, or is in a given nodequeue (D6 approaches, anyway). I'm unclear how Media module would handle such more robust use cases. (If it does, that will be awesome.)

Yes, I would really like to

Posted on July 15, 2010 - 7:49am by Arlin Sandbulte.

Yes, I would really like to know this as well.
The browser interface really needs some sort of organizational structure, IMO. Like a folder/directory structure. Not that the files themselves need to be stored in the same directory type structure. Rather, tags, fields, and/or taxonomy attached to a media item could be used to give the media items an organizational structure which could then be used in the media interface to organize the presentation of media items as well as limit the media items available to certain users.

I get the feeling that this is possible, but requires custom coding or additional modules.

Robert Douglass's picture
Robert Douglass
Acquia Staff

Views. I want to be able to

Posted on July 16, 2010 - 6:34am by Robert Douglass.

Views. I want to be able to filter by views. No more, no less. That solves every use case that there is.

I can imagine a dropdown that has all the views that are meant to act as media filters. Then, each view can have its own exposed filters. We can package some standard views/filters that make sense, like "my files", "files by tag", etc.

Robert Douglass
Senior Drupal Advisor, Acquia

Jacob Singh's picture
Jacob Singh
Acquia Staff

We're actually hotly

Posted on July 15, 2010 - 11:37am by Jacob Singh.

We're actually hotly debating this very topic :)

What would you like to see in filters? Here are the various approaches:

1). Folder based. Everyone knows and love/hates it.
2). Tag based. Gmail did it, kinda worked. Doesn't work in lots of other places.
3). Text searches and filters - ala Finder or views exposed filters.

Any other ideas?

Btw, the current design actually pages as you scroll, so it does scale, it's just hard to find stuff.

Best,
J

sun's picture
Daniel F. Kudwien

...by "Jacob" and "Singh",

Posted on July 16, 2010 - 6:09pm by Daniel F. Kudwien.

...by "Jacob" and "Singh", actually :P

First name and last name, that is. Of course, it's all views. But we need to think about (potentially endless) drill-down and abstraction of exposed Views filters to make things really useful.

Yes, we absolutely need to filter by files that are used more than once. (New file usage API to the rescue.)

Oh, and that said, filter by where a file is used? Entity type, at the very least?

It's going to get complicated. Don't even want to think about UIs here, although we have to. admin_views module shipped with admin_menu already provides a nice preview on the topic -- if all your administrative listing pages are views, you actually, really, totally, awesomely want much more, immediately!

However, changes are applied persistently, for everyone. You can't just go ahead and, for now, quickly filter all nodes to only match those that are assigned to taxonomy term 123, or assigned to any term in vocabulary id 6. But you absolutely want to!

Simply installing admin_views blows your mind makes you believe that you're actually sitting in front of the CMS of the future. But the day you're starting to use the äwesomesauce, you're going to ask for more. Permanently, or just quickly for the next required maintenance task you're facing.

Refreshed possibilities create new bugs. :)

Daniel F. Kudwien
unleashed mind

Jacob Singh's picture
Jacob Singh
Acquia Staff

Hey Daniel, I've not seen

Posted on July 18, 2010 - 9:36am by Jacob Singh.

Hey Daniel,

I've not seen admin_views, nor does it seem documented so I'll have to take it for a spin when I get time on Monday/Tue. You're absolutely right about views as a potential backend. But for an end user who just installs the mod, some reasonable defaults with nice looking UI is a must. What are these default filters?

To your other point about tracking used files. Yes, this is great and it is also kinda impossible with embedded media :( I wish there was a nice solution for that. It is possible of course to track it whenever textfields are saved or loaded, but then you run the risk of getting out of date when dealing with API level changes or direct DB updates. I'm not sure really what the recourse is there when you can embed in any text area.

-J

Related Content

Related Posts

  • Jacob Singh's picture

    Well, Sprint 39 just finished up at Acquia Engineering and we've got a number of new exciting features and bug fixes releasing to Drupal Gardens in the next week.  One of these is Mollom - the best spam protection service on the internet - for all Drupal Gardens site owners.  For those not in the know, Mollom protects your site from spam by analyzing the contents of comments or other content that is contributed by users and presenting Captcha challenges if the content is suspect.

    Jacob Singh
  • Chris Brookins's picture

    In addition to the rush the Drupal Gardens team gets when adding cool new features, we like to get things right, striking a good balance between power and simplicity.  In the last sprint, we spent a bunch of time polishing the powerful XML Sitemap and Media modules with a focus on simplifying the UX and providing smart defaults so they work immediately after site creation.  Out of the box, these modules are highly customizable with many configuration settings.  Our goal was to red

    Chris Brookins
  • Dries Buytaert's picture

    There exists an interesting story about a man and a butterfly cocoon. It is about a man that found a cocoon, and brought it home to watch it turn into a butterfly. As the butterfly inside matured, it struggled to get out of its cocoon, but couldn't quite get free of it. One day, the man became tired of waiting and decided to help the butterfly. He removed the remaining bit of the cocoon. The butterfly was pleased, but it had a swollen body and small, wrinkled wings. As a result, the butterfly never succeeded in flying and spent its entire life crawling around.

    Dries Buytaert

AcquiaBlog