[GSoC Proposal] - Extend functionalities of and add new features to Media module

Events happening in the community are now at Drupal community events on www.drupal.org.
darklrd's picture

Overview – Extend functionalities of and add new features to Media module.

Description - This project will contribute to the on going development of Media (http://drupal.org/project/media) module and extend its functionalities further. The main goal will be to provide integration with WYSIWYG editor.
I will work on following features -

I also plan to enhance the image functionality further by providing following features (if time permits)-

  • Provide options to set image title, alternate title, description, caption, hyperlink, alignment, size, etc.
  • Provide option to edit the image with the following features -
    • Crop
    • Rotate
    • Flip horizontally and vertically
    • Common filters such as brightness and contrast control.

This project is for Drupal 7.

Timeline -

  • May 23 - 28 - Get familar with Drupal 7 API and Git practices etc.
  • May 28 - June 11 - Provide options to set and edit various image properties and create corresponding CSS stylesheets for them [along with this issue Floating images left and right].
  • June 12 - June 25 - Provide a common 'copy embed code' button.
  • June 25 - July 11 - Automation of configuration steps for WYSIWYG Integration.
  • July 11 - July Midterm submission.
  • July 12 - July 16 - Research on how to provide provision for embedding of all media types.
  • July 16 - August 3 - Embedding of all media types with a fallback.
  • August 3 - August 15 - Write tests for WYSIWYG integration (http://drupal.org/node/1026532)
  • August 15 - August 22 - Provide options to edit the image such as crop, rotate, apply common filters(if time permits). Final Report submission.

Mentors - Aaron, Jacob

Contact details -

IRC - darklrd
Email id - darklrd@gmail.com

Difficulty - Hard

Comments

Needed

rwohleb's picture

This would definitely be a welcome addition. It's something that I'll likely have to work on at some point if someone else hasn't solved the issue soon, so if this proposal is accepted I'll make sure to keep in touch.

Great

darklrd's picture

Thanks a lot. Could you provide me some more suggestions as to how can I further refine this feature list (maybe suggest some features that should be added to 'integrate with WYSIWYG module' section )?

Thanks again

Concern more about videos,

hypertext200's picture

Concern more about videos, like video converting, thumbnails creation, video gallery, video playback. I mentioned possible integration to the video module http://groups.drupal.org/node/136674. I would love to support if you need any help on video handling and integrating with video stuff. Can you please elaborate more about how your going to handle those stuff?

Senior Drupal Developer at DrupalConnect

HTML 5 player

darklrd's picture

I am planning to use HTML 5 media player for this. Or maybe a good flash player to 'embed' video file in the content. It will be really helpful if you could suggest some other ideas for this.

Query regarding Video module

darklrd's picture

I just now checked out Video module. Does it provide ready to use API? If yes, maybe I could use its API for embedding video files and creating thumbnails for them.

Yes, you can use video hooks

hypertext200's picture

Yes, you can use video hooks for creating thumbnails, converting videos. I can give you full spec and support on that and I'm in a middle of a discussion with Jacob about the road map for integrating Video module with Media module, so possibly we can get you in for the discussions. Regarding HTML5 player you have few options available, VideoJS module is a one I contributed which is using tag + JS. The most difficult part is handling file. In video module video object contains.

  • Video Thumbnails
  • Original Video
  • Converted videos

So you have to think about managing multiple files, multiple files for a single field.

Hope this helps!

Senior Drupal Developer at DrupalConnect

Inline image placement and layout (classes)

Mark Nielsen's picture

Looks good, darklrd. One thing that seems to fall through the gaps between various modules at the moment is inline image placement and layout.

Most image/file pickers are concerned with with file upload and image processing. Once that's done, they pass the image URL to a WYSIWYG editor's image dialogue where the user has some formatting/layout options.

The problem is that these image placement dialogues were designed for deprecated properies such as align, vspace, hspace, border, etc. This is over-complex and misguided in the extreme. All they really need to do is offer 2 or 3 layout options that add a CSS class to that image.

Would it be possible for you to completely integrate your solution into the WYSIWYG module, to the point where you're also offering the image placement options? With those options focusing on applying CSS classes?

(I've been talking about this thing in the WYSIWYG group as well: WYSIWYG Specification: end-user's perspective)

that's a good idea; media +

aaron's picture

that's a good idea; media + styles is already doing that for the align (using a class to float the image wrapper). make sense to treat the other deprecated properties similarly.

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

Re: Inline image placement and layout

darklrd's picture

Hi Mark

I will create a plugin for WYSIWYG. Once you upload your media files using that plugin, it will provide you with inline placement, layout and editing options.

I have not tested this yet. But, yes it will be focused on applying CSS classes.

Thanks

That would be GREAT

mwoodwar's picture

It still amazes me that the whole image thing is soooo complex in Drupal; looking forward to your module

Thanks :)

darklrd's picture

Thanks :)

Gets my vote then :)

Mark Nielsen's picture

Don't suppose you could add some support for BUEditor on the side?...

A few thoughts

arthurf's picture

We spoke briefly on IRC about this. I would suggest a few things:
* create a target spec for what you what from the wysiwyg editing capabilities. What wordpress current offers I think would be a very good starting point and give you some direction to go for.
* as per setting URL paths- this will require user permissions among other things on stream wrappers. I would suggest that you may want to focus on the wysiwyg improvements before you tackle this- this is really a non-trivial thing as you need to consider support for cdns, public/private files, etc.
* as per video handling, here I think you need a spec as well. You likely want to coordinate with (slashrsm) who is interested in this as well. heshan.lk should also be involved in this conversation. I am interested in this from a transformation layer API and would be happy to continue some of the discussions that people involved in the media module have had. This again is something that is probably much larger than the scope of your proposal, but there may be aspects of it that you could tackle- specifically work on the interface would be very helpful.

Updated proposal

darklrd's picture

Hi arthurf

As suggested, I have redefined the scope of my proposal and made it more specific. I have picked up the features that have been listed here from Wordpress. Regarding video handling, I was thinking maybe I could use a HTML 5 player or a flash player to embed the video files in the content or use the embed code directly for third party sources. I will also discuss this on IRC as suggested.

Thanks

mediaelement

aaron's picture

https://drupal.org/project/mediaelement is the best solution i'm aware of for a consistent cross-browser html5 (where possible) player.

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

Does it have an API?

darklrd's picture

Then, maybe I can use mediaelement instead. Does it have an API?

youtube supported as well

aaron's picture

The media plugin for WYSIWYG currently supports only images

please note that youtube is also supported with http://drupal.org/project/media_youtube .

Aaron Winborn
Drupal Multimedia (my book, available now!)
AaronWinborn.com
Advomatic

Thanks for pointing this out.

darklrd's picture

Thanks for pointing this out. I have updated my proposal.

Thanks again

I proposed "Derivates API"

slashrsm's picture

I proposed "Derivates API" for Media ecosystem (http://groups.drupal.org/node/138714). It looks, that our proposals are connected to each other. Mybe we should discuss how can we cooperate?

Janez Urevc - software engineer @ Examiner.com - @slashrsm - janezurevc.name

Yes , lets discuss this on

darklrd's picture

Yes , lets discuss this on IRC :)

When are you online? In which

slashrsm's picture

When are you online? In which timezone are you?

Janez Urevc - software engineer @ Examiner.com - @slashrsm - janezurevc.name

Hey, when are you usually

darklrd's picture

Hey, when are you usually online? My timezone is UTC +5:30.

I'm UTC+1. Today I have to

slashrsm's picture

I'm UTC+1. Today I have to travel, but tomorrow I'll be online almost whole day. Tomorrow (wednsday) around 10:00 AM UTC?

Janez Urevc - software engineer @ Examiner.com - @slashrsm - janezurevc.name

Okay, I will ping you

darklrd's picture

Okay, I will ping you tomorrow.

http://drupal.org/node/104357

JacobSingh's picture

http://drupal.org/node/1043570#comment-4255044

Is a good discussion of issues w/ floating in ckeditor w/ media.

I don't understand this:
"Provide multiple options to upload i.e from local computer, from an external URL or from the Media library."
This functionality is already present. You have evaluated media / wysiwyg right?

"Provide option to edit the image with the following features -
Crop
Rotate
Flip horizontally and vertically
Common filters such as brightness and contrast control."

Is going to be complex and probably better suited to Janek's proposal: http://groups.drupal.org/node/138714. That being said, you would want to coordinate on that). http://drupal.org/node/969284 is the issue about the same.

Here's a couple things I'd like to see done in WYSIWYG / Media land:

Of course, you choose your own adventure here, but those look like worthy goals to me.

Hey Jacob, Thank you for your

darklrd's picture

Hey Jacob,

Thank you for your suggestions. I was talking about uploads from external web sources and not aware of the Media Internet Sources module. Yes, this upload functionality is already there. I will discuss the 'image editing' functionality with Janek as suggested. Also, I am going through these issues and will update my proposal soon.

Thanks again.

Hey Jacob I have updated my

darklrd's picture

Hey Jacob

I have updated my proposal. Please suggest further improvements, if any.

Thanks

Showing custom fields

tomgf's picture

Hi darkird,

Recently I have worked a bit on a patch to the Media module as I needed to show custom fields and use alternate text, title and captions on some images. I have published what I have done in http://drupal.org/node/1106444 . I also wrote about a simple module to strip media files before producing a stripped summary: http://drupal.org/node/1113088

Please, have a look and see if these could be of any use beyond my particular needs.

Thanks!

Hi tomgf, Thanks a lot! :)

darklrd's picture

Hi tomgf,

Thanks a lot! :)

Final Version

darklrd's picture

I have updated my proposal again. This is the final version.

Thanks

Media

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: