[GSoC Proposal] Improve Media:YouTube

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

Who?

Hi, my name is Tiago Carmona. I'm a Computer Sciences student at Universidade de Campinas (A.K.A. Unicamp) at Brazil. I've started using Drupal 3 years before in an internship at Harvard University, but never got a chance to really help the Drupal community. Aside from working with computers and studding, I'm also a part of the Rotaract program, a Rotary sponsored organization that, among other things, focus on helping real communities in all the world. I hope that with the help of the GSoC program I can also start helping the Drupal community.
You guys can email me in carmona.tiago at gmail.com , which is also my gtalk.

Have you contributed to a open source project before?

I've always wanted to contribute as a coder to open source projects, but never found a good opportunity to do it (as having a mentor). I've helped the Brazilian Mozilla community (MozBR) in many computer related events here in Brazil, but never did anything code-related.

Why do you want to do a project involving Drupal?

Drupal was very important in my growth as a Computer Scientist, as the framework that I've first learned in PHP. Also, I've always seen the Drupal community as a very active one, with many people collaborating to improve the software and the community. These two things make me want to help the project, and I see in the Google Summer of Code a perfect opportunity to do that.

Overview:

Improve the module Media:YouTube to add the browser upload support.

Description:

Media:Youtube is a nice module that provides Youtube support for the Media family of modules. It has many features, but lack support for uploading. While direct upload is handled nicely in the Media Mover module in Drupal 7, Browser upload still isn't supported. It was supported via the module Video Upload in Drupal 6, written by bojanz.

The main difference between Direct upload and Browser upload is that in the Direct upload users upload the video to Drupal website, and then Drupal uploads it to the service. Its great when you need to moderate the content of videos, but greatly increases bandwidth usage. Browser upload uploads the file directly to Youtube, and after the upload is completed it saves a file reference (ID) in the Drupal database. This method, while don't support moderation of the content, saves the extra bandwich usage of the Direct upload. Also I'm planning to add support to have Youtube account associated per user or having just one per site, to prevent the upload of videos that might violate the Youtube terms of use.

In a nutshell, this project have the goal to add browser upload support to Media:Youtube, making it possible to have the Youtube account associated per user or just one per site. I think it's an awesome feature, in the way that it helps Drupal websites to have a better multimedia support, while also incentivating the users to share video information's using Drupal and Youtube.

Schedule:

May 23 - May 29: Get familiarized with Drupal 7 (as I've only worked with Drupal 6 and Drupal 5) and Git.
May 30 - June 05: Study the Youtube upload API and the Media:Youtube module.
June 06 - June 12: Develop the UI for uploading the Videos.
June 13 - June 19: Implement the browser upload feature.
June 20 - June 26: Implement the browser upload feature.
June 27 - July 03: Final tests in university and review of the documentation. (As I'm from Brazil, it's going to be a "Google Winter Code" to me)
July 04 - July 10: Implement the browser upload feature.
July 11 - July 17: Implement the browser upload feature.
July 18 - July 24: Implement the option to associate by user accounts or site account.
July 25 - July 31: Implement the option to associate by user accounts or site account.
August 01 - August 07: Clean the code and start with the module final test.
August 08 - August 14: Finish module testing.
August 15 - August 22: Final review in the documentation. End of project.

Mentors:

I'm in contact with bojanz, and while he isn't my mentor yet, he allowed me to add him as a possible mentor.
Also wundo said in a lecture here in Unicamp that he is whiling to mentor any student here in Campinas/Brazil, so I hope he can also help me out.

Puzzle: isset($a) === empty($a) then what $a could be?

$a could be an empty array, as it returns TRUE to both isset(because it is set in the memory) and to empty(as it is empty). So $a = array();

Links:

http://groups.drupal.org/node/140244 - Original idea.
http://groups.drupal.org/node/140559 - Project description
http://drupal.org/sandbox/tcarmona/1119848 - Git repository

Google Summer of Code 2011

Group notifications

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