CVS edit link for kmadel
I have done quite a bit of custom module coding for my company's website and for some personal stuff. Recently I have create the base of a module that formats a video uploaded to a CCK file_field as an HTML5 video (that is the video tag supported by Chrome, Firefox 3+, and Safari 4+), with a fallback to Flash for unsupported browsers. It does this without any JavaScript following the recipe as described here:
http://camendesign.com/code/
Currently, the only module that I am aware of that formats a cck file_field as a HTML5 video element is the MediaFront module. However, that module utilizes a lot of JavaScript, and this seems to create a number of issues for different mobile browsers that support the video tag in different ways (currently, the MediaFront generated code doesn't work so well on the iPad). I believe there should be a video formatter that support the HTML5 standards based video tag and nothing more (except Flash fallback for older browsers).
Comments
Comment #1
kmadel commentedWill utilize browscap and getid3 if installed, but doesn't require them so that it is quicker to get set up initially.
Comment #2
kmadel commentedMinor update to allow it to work without the getid3/filemetadata modules installed.
Comment #3
kmadel commentedComment #4
kmadel commentedHere it goes again, this time I will mark as needs review and post the module code at the same time.
Also, I have added integration with the 'colorbox' module via an additional 'lightbox' formatter.
Comment #5
avpadernoHello, and thanks for applying for a CVS account. I am adding the review tags, and some volunteers will review your code, pointing out what needs to be changed.
I wonder how HTML5 output can be mixed with Drupal output, which is XHTML 1.0 transitional by default. Did you check if the output of the module passes the W3C validation?
Comment #6
kmadel commentedNot sure if this is a really an issue or not. HTML5 is replacing XHTML 1.0, and there is already at least one module that generates a video element - the MediaFront module. And I really feel that it is more important to support the myriad devices and browsers that support the HTML5 video tag, than it is to get too caught up with mixed output.
From the HTML5 spec (http://dev.w3.org/html5/spec/Overview.html#history-1): "The latter requirement in particular required that the scope of the HTML5 specification include what had previously been specified in three separate documents: HTML4, XHTML1, and DOM2 HTML."
And thanks, good question.
Comment #7
avpadernoThe problem is that some tags defined in HTML 5 are not defined in XHTML; defining a document as XHTML, and adding HTML 5 content is like defining a document HTML 4, and adding XHTML content.
Comment #8
kmadel commentedThe only tags that are used are the video and/or object elements (if the user has the 'browscap' module installed, then the video element won't be generated for browsers that don't support it; only the 'object' element for the Flash based player).
Also, there is already at least one module that generates the 'video' element (the MediaFront module: http://drupal.org/project/mediafront), so I assumed that it was not a reason for module to not be accepted.
I believe that it should be a user decision to weigh whether the benefits of the 'video' element outweigh XHTML 1.0 transitional validation OR could just instruct users to just declare their html (in their page template) as "".
Again, I believe that it is more important to move forward with a module like this as mobile devices with webkit/firefox/opera browsers that support the video element become more and more pervasive and represent more and more of our websites' traffic.
Regards
Comment #9
ñull commentedJust another thought in the web standard discussion I see here. Drupal is not only used in the web. Drupal can be and is used in an intranet situation where the organisation determines the standard (which could be one family of browsers). In that situation the HTML5 and XHTML mix becomes less important and the module proposed here is then fully justified when that same organisation for their own reasons (may be security) rejects closed source standards like Flash.
Comment #10
kmadel commentedJust curious if there are any issues that are still outstanding that I need fix/review.
Comment #11
kmadel commentedDoes this mean that to legitimately use the 'video' element in Drupal we will have to wait for at least Drupal 8 (unless you use the already approved 'MediaFront' module that is already using the 'video' element)?
Comment #12
michaek commentedI strongly support the acceptance of such a module. @kiamlaluno's concerns about video tags in the XHTML Doctype are probably misplaced, as HTML5 has an accompanying XHTML5 spec that should allow Drupal's HTML to validate. (However, the doctype would need to be changed from XHTML transitional.)
Trust the Drupal users to make decisions about how to structure their sites - preventing important functionality because it might lead to HTML that doesn't validate to the DTD (which will only trigger quirks mode, after all) doesn't seem like a good decision.
Comment #13
macdee commentedWhile @kiamlaluno has a point about the usefulness of standards I strongly agree with @kmadel and @michaek that there are times when we are at crossroads and such decisions should be left to the discretion of the individual.
We're having the video element thrust on us prematurely by the shear number of users. The fact that the element itself is not entirely standards compliant is hardly the fault of the module's author and is not a compelling argument for the exclusion of this module.
As @kmadel noted there are already approved modules online that are leveraging the "video" tag. He mentioned "Mediafront" and I am also aware of the module "Video for Everybody!".
Let me also add that I have tried @kmadel's "Html5 video" module as well as the two others mentioned above and I've found his approach to be unique and would be a valuable addition to the module repository. I'd certainly use it!
So +1 for giving the gentleman his CVS account so we can all benefit from this module.
Comment #14
bobmane commentedthis module/concept should be the singular focus of media for drupal--- and its a shame it is not live! please approve and get current!!!!!
Comment #15
xmacinfoThere is no need to wait for Drupal 8 to support HTML 5 and the video tag. Any version of Drupal can output HTML5 just by changing the doctype. In fact, if a theme template already supports XHTML transitional, by just changing the doctype it will convert the whole template to HTML5 (the XHTML variant).
So there is no need to hold on such module because it wants to use HTML5 tags.
That being said, here are one suggestion and one issue.
Suggestion: In the readme file, add information on how to modify the doctype of a theme template file in order to have an HTML5-compliant doctype.
Issue: Remove the flowplayer player completely. This player to not use GPL2 licencing so the player cannot be hosted on d.o.
Comment #16
xmacinfoAs my previous comment. :-)
Comment #17
ensignavenger commentedSuggestion- instead of using Flowplayer, take a look at http://videojs.com/ (LGPL License, WebM support) or http://flarevideo.com/ (MIT license). Since neither is GPL, you sill couldn't host the video player on d.o., however, you could allow the user to upload the player to the libraries folder, the way WYSIWIG and other modules handle it. Personally, I like VideoJS because it supports WebM.
I hope you get a CVS account soon! A Drupal 7 version would be sweet, too :)
Comment #18
kmadel commentedI appreciate the comments. I have not removed FlowPlayer yet (it is GPL 3), but if that is not allowed, then I will remove it. The reason for having it in the project is just to simplify the install process, but I suppose that someone who has installed CCK and FileField should have no problem downloading a FlashPlayer and installing it in '/sites/libraries/'.
I have also fixed some issues around how CCK accesses field settings.
Another big change is the ability to specify the video file type when you upload it rather than rely on the getid3 module to identify based on detected audio codec.
Finally, there should be a live example of this module in action, publicly available by Monday, July 5th.
The updated module is attached.
Here is the content of the updated readme (note there is a section on the doctype):
This is a Drupal Module - HTML5 Video Field
It implements an HTML5 Video field for CCK
Copyright 2010 Kurt Madel
1. No JavaScript for player detection or the actual player - is not a custom JavaScript player it never will be
2. based on concept described at http://camendesign.com/code/video_for_everybody#hd -
3. You may enable Flash fallback, supports all browsers that support Flash
4. Supports iPad and iPhone (should support Android devices as well, but untested) when correct video type is uploaded
5. Supports flash blocker in Firefox - seems to be an issue with some JavaScript players
6. With browscap module installed, will only output markup required by the browser request
7. support for H.264, OGG (Theora/Vorbis), and WebM (VP8/Vorbis)
8. Supports the native video player for the following browsers (can fallback to Flash for all others):
- Safari 4+ with H.264 (avc/mp4a) - must be baseline profile for iPhone/iPod Touch support
- Chrome 4+ with H.264 (avc/mp4a) or OGG (Theora/Vorbis)
- Firefox 3.5+ with OGG (Theora/Vorbis)
- Opera 10.54+ OGG or WebM (VP8/Vorbis)
- IE 9 Preview 3+ with H.264
9. Allows you to configure settings at the field level - if you want to use the settings site wide, then just reuse that field
10. With the Colorbox module installed, creates a custom formatter that will use the poster image of the video to creat a thumbnail that when clicked, opens the video in a lightbox
Quick Start
1. Ensure that you have CCK and Filefield installed (optionally and for the best experience, install the getid3, browscap,and colorbox modules)
2. On a new or existing content type add the 'HTML5 Video' field
3. Configure the field as you would like
4. Create new content and upload 1 or more supported video files (but just one of each type- TODO add validation to only allow one of each type)
5. Once upload is complete, select the targeted type for said file: 'H.264', 'OGG (Theora video/Vorbis audio)', WebM (VP8 video/Vorbis audio)', 'Mobile' OR 'Poster Image'
6. Watch your video
A Quick Note Regarding HTML5 and Drupal
HTML5 still requires a DOCTYPE and it may be as simple as: DOCTYPE HTML
However, per http://dev.w3.org/html5/spec/Overview.html#the-doctype, "an obsolete permitted DOCTYPE string can be inserted into the DOCTYPE"
- so the default Drupal doctype (DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd") may still be used and you will still be HTML5 compliant in addition to being Drupal compliant
OGG Support
You may need to add the following to your .htaccess file for your server to recognize the OGG file type: AddType video/ogg .ogv, AddType video/ogg .ogg
Forthe WebM file type: AddType video/webm .webm
Licensed under the GNU Public License (see LICENSE.txt)
Comment #19
kmadel commentedBy the way, just curious if you saw the following post on HTML5 and Drupal:
http://atendesigngroup.com/blog/html5-drupal
And, I hope to have a Drupal 7 version by September.
Comment #20
sreynen commented@kmadel, you do need to remove the flowplayer code. 3rd party code is not allowed in Drupal CVS. The standard practice is to include a link in the README.txt to where someone can download the 3rd party code, along with instructions of where to put the code in your module directory (or using Libraries API).
You should also remove the LICENSE.txt, as that gets added automatically by the packaging system on Drupal.org. Everything in Drupal CVS is GPL, so no need to state that in individual projects or files.
Beyond that, I see some minor issues. Markup should be running through theme functions (or templates), for example, in case people want to change it. But that can be done after the project is up.
The HTML5 question is a non-issue now, settled in other threads since that comment. That's not the part that needs work.
Comment #21
xmacinfoIndeed, all codes on d.o. must be GPL2. GPL3 is not allowed. This is why you need to remove Flowplayer.
Comment #22
avpadernoTo complete the information, GPL 3 is not compatible with GPL 2.
Even in the case it would be compatible, code available from third-party sites should not be committed in Drupal.org; Drupal.org should remain the repository for Drupal modules, and themes (and installation profiles).
Comment #23
michaek commentedA few things:
1. In html5_video_format_field(), "/" is repeatedly used in place of base_path().
2. The implementation of "Video for Everybody" is not the same as the current VfE version: each video is in a separate element on VfE, and this implementation uses src on the video tag, which doesn't seem to work for my Firefox (3.6.3).
3. VfE does not make use of browser detection, which is used heavily in this module. Wouldn't it be better without?
4. I'm not enthusiastic about looping over the uploaded files to find the various formats - I know this is a simple way to reuse the file CCK field type, but it doesn't seem very clean to me, and it gets in the way of the convention of setting "Unlimited" to allow multiple videos (in this case, it becomes different formats of the same video).
This isn't intended to count against the acceptance of the module, but to point out necessary (and less immediately necessary) improvements.
I've attached a patch that should address 1 & 2.
Comment #24
michaek commentedIn response to @ensignavenger's request not to use Flowplayer, http://videojs.com/ actually does fall back to Flowplayer. http://flarevideo.com/ seems to have its own simple Flash video player - I haven't looked all that closely at it, but it's likely that a more widely used Flash fallback is a better bet. (Also, Flare Video is implemented via Javascript, which doesn't seem necessary.) There's an existing Flowplayer API module for Drupal, as well, to avoid duplicating code: http://drupal.org/project/flowplayer
Comment #25
mandclu commentedFlarevideo uses Javascript, but it does so by leveraging jQuery, which should mean that integration with Drupal is light weight.
These are early days for HTML5 players, I think it's reasonable to say we should expect the options available to evolve dramatically over the next few months. I think the idea behind this module is sound, especially if it's relatively easy for anyone interested to add integration for new players as they gain momentum.
I'd also suggest that it makes most sense for the code that specifically supports flowplayer to be moved out to a separate file, and the code abstracted so to facilitate adding support for new players.
I do agree, as well, that it makes most sense for player code to be put into the libraries directory. You can look at SWF Tools or WYSIWYG API as examples of modules that support multiple external libraries.
Comment #26
michaek commentedI was bringing up the Javascript for Flare because it depends on Javascript (that is, it's invoked via jQuery) and some users may have Flash enabled but Javascript disabled. Better one dependency than two.
Comment #27
jlbretton commentedWill be a useful module + easy to use.
What about to merge with the video_for_everybody module, still in dev: http://drupal.org/project/video_for_everybody
FYI: Couldn't make it work on my FF3.6 (Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; fr; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6), and fallback on FF3 didn't work neither.
webkit Chrome4 Safari4 Mac + PC= fine
Jean
Comment #28
michaek commentedI wasn't aware of, and haven't tested, the http://drupal.org/project/video_for_everybody module, but this seems like it's a pretty clear duplication of those efforts.
Comment #29
kmadel commentedThis is actually quite a bit different than the video_for_everbody module, and fixes a few ugly quirks that the video for everybody solution has to work with - for example no poster image for the video element because of a nasty iPhone bug: "Removed the poster attribute from the video element as the iPhone OS has a nasty bug that will cause any HTML5 video element (not just VfE) that uses multiple
<source>tags to fail whenever the page is refreshed." By utilizing browscap or the useragent string to detect whether or not the request originate from an iPhone, only the necessary markup is includes - for an iPhone that would be<video src="videofile.mp4" poster="poster.jpg" controls="controls"/>With this, although a work around, poster images work fine with the iPhone.However, I believe there are a lot of cases where the video_for_everybody will be the simpler approach. There are some serious caching implication with the approach I have, but I feel that figuring those out will lead to a much better video experience across more devices.
More importantly, my module is implemented as a CCK field type that you can add to any content type. Whereas the video_for_everbody is a CCK content type that you import into your Drupal install.
Comment #30
avpadernoThe fix you applied for your module could be applied also for the existing one.
Comment #31
kmadel commentedNot really, because the other module does not utilize the useragent string or browscap, and it shouldn't for what it is trying to do. My module requires more configuration and relies on more modules, but allows more streamlined and device specific markup generation.
But the real difference, again, is that my module implements a CCK field type, whereas the video_for_everbody only implements a content type. I believe that a cck field type offers Drupal developers a lot more flexibility than depending on one specific content type for their video. I have three different content types on the site I am utilizing this for that use the field.
Comment #32
avpadernoThat is the difference that really matters. I don't think that opening a feature request to change Video for Everybody! to implement a CCK type instead of a content type is the path to follow.
@kmadel: Thank you for your reply.
Comment #33
avpadernoI forgot to change status.
Comment #34
avpadernoAny reference to the license used for the code should be removed by comments; is too generic.
The copyright statement would not be anymore valid in the moment you apply patches provided by other users.
TRUEmakes me think the code is not complete. As reported in the requirements, the proposed module should be complete.Comment #35
avpadernoWhat michaek reports is correct.
base_path()should be used any times a module is returning a file path; in the case Drupal is installed in a subdirectory of the web server root directory,base_path()returns the correct base path. There are Drupal functions that return the path of files, and also these functions usebase_path().Comment #36
jlbretton commentedI think I found what make the module fail on FF. If you have Flashblock active, the fall-back doesn't work witch is the correct behaviour. But where it gets annoying is Flashblock is also hidded to the end user, whose therefore not aware any more is using Flash instead on the native video tag.
So what the module might need, is to detect that Flachblock is activated and in order to let the user see the Flashblock icone. We could do it with jquery, wouldn't it be better if it could be embeded in the module?
Note: I've noticed this behaviour playing with the mediafront modulehttp://www.mediafront.org/. Also I've haven't tested this behavior on the html5_video module, but by deduction, it seems a logical path.
Temporary solution: Detection with Jquery or deactivate Flashblock or provide the ogg file
Jean
Comment #37
sreynen commentedThough some of the comments are, this issue as a whole isn't really about "The reason why Firefox fails to play." It's still about kmadel's CVS application, so I'm changing the title back to reflect that.
Comment #38
jlbretton commentedSo I've tested FF without Flashblock. Unlike mediafront, desactivating Flashblock doesn't slove the issue. Neither mp4 nor ogg/ogv plays.
Jean
Comment #39
michaek commentedI've spent a few hours today on the existing video_for_everybody module (#863636) and I'm not convinced this proposed module provides any additional functionality. In fact, I think the vfe approach is superior: it uses a content type with fields for each video format, while this module uses a single CCK field for all formats.
The content type approach can associate any number of videos with a node (using Node Reference), while the field approach can have only one video per node. Further, the approach of specifying different formats of a single video within the same field seems likely to encourage user error. Clearly labeled fields for mp4 and ogv make it simpler for a user to understand how to add video content.
Lastly, using browscap is counter to the philosophy of the video for everybody approach. The goal of the approach is to provide cross-browser video without relying on javascript or user agent sniffing. Certainly, we have the technical capability to abandon that philosophy, but we do so at the cost of elegance and ease of maintenance.
This is a valuable effort, but I think there's every reason to focus energies on the existing module.
Comment #40
jlbretton commentedThanks Michael for sharing your video_for_everybody tests.
Is vfe module already stable or you've found major bugs?
Jean
Comment #41
michaek commentedWe should discuss this somewhere other than @kmadel's CVS account issue. :) Go ahead and open an issue on the VfE project, and I'll be happy to share my experiences.
Comment #42
jlbretton commentedmichaek --> http://drupal.org/node/865642
Comment #43
kmadel commentedFirst of all, it is possible to have multiple videos with a CCK field. This basically builds upon file_field and so you may allow as many files (videos) per html5_video field as you would like... Also, by being a field, you have the ability to apply field type specific formatters - I have included a Colorbox formatter that uses the poster image to create a thumb image that when clicked on will open the video in a the 'colorbox' (lightbox). Additionally, the browscap capabilities allows detection of mobile devices and returns the element directly rather than generating a lightbox on devices that typically open videos in their native video applications at full screen (a lot of Android phones, iPhones, WebOS based phones).
Secondly, one major reason to have this module is to give people options over the VFE approach, but still without JavaScript. Don't get me wrong, the VFE approach is awesome, but Drupal is about having options in my opinion, and I think this module would provide a good option. By using something like browscap, many of the caveats of the VFE approach are able to be overcome:
1) Using the poster image attribute for iPhone OS 3 and less
2) Falling back to Flash for Firefox 3.5+ when you decide to only create a H.264 file (not saying this is the best way again, but it is an option)
3) Adding 'onclick="play()" for Android based OSes, otherwise the video element won't work!
There may be others that I don't recall right away, and there will probably be others in the future.
For me, I prefer to have the flexibility of a field.
Comment #44
kmadel commentedOdd, I actually had this working with Firefox. H.264 file only with flash block on, and the flash block warning?? or whatever you want to call it loaded over the where the video would be, allowing you to click on it.
This may be a caching issue - which is a major issue with my approach, and one I am still grappling with to a certain extent.
Comment #45
kmadel commentedHere is the updated version. Note I tested H.264 only with Firefox 3.6 and Flashblock 1.5.13 installed, and it works for both included formatters. I also added base_path() to all src attributes and updated the access callback for the colorbox menu item. And of greater importance, removed Flowplayer.
Also added a lot of instructions to the README.txt
NOTE: I am contemplating adding validation that would enforce only one file per 'Video Target' types: H.264, OGG, WebM, Mobile, and Poster Image
I would prefer to have a set number of file_fields with one representing each of those types, but this doesn't seem very easy to do if you want to piggy back on all the great work already done for file_field.
Comment #46
kmadel commentedLive demo www.captechconsulting.com
Comment #47
avpadernoRemember to change status, when you upload new code.
Comment #48
kmadel commentedThanks for updating the status. I will make sure I change the status the next time I upload any changes.
Comment #49
avpadernoMenu callback descriptions, and titles are not passed to
t()as that is already done from Drupal core code.hook_uninstall()doesn't remove the Drupal variables defined, and used from the module.$cidwith a value that depends on the browser being used. There are values in the cache that don't depend from the browser used to access a Drupal site. The modified code doesn't consider the case the module is installed on an already active site; in such case, modules would not get the data saved in cache before the file cache.inc has been replaced with the copy of the file given with the module.Comment #50
kmadel commentedkiamlaluno
Thanks for the valuable input. As far as #3 is concerned, I thought that the README.txt explained it pretty clearly, and this is similar to what some existing modules are doing:
*** html5_video and Drupal CACHING ***
This module does not work with Drupal caching unless you set up the cache.inc included with this module. This basically creates separate cache keys for each of the targeted browsers
this module: Flash only browser, OGG browsers, Android (necessary to call the play() on the video element), other Mobile (use H.264), and H.264 browsers. Content that is already cached
will be replaced with html5_video prefixed cached versions.
To enable the html5_video cache.inc, simply add the following line to your settings.php file (note the actual path will be the path to where you installed the module):
$conf['cache_inc'] = './sites/all/modules/html5_video/cache.inc';
Obviously, this may seem heavy handed for many users. An alternative approach would be to disable caching only for certain pages that have videos on them via the cacheexclude module
(if going with this approach, I would recommend setting up an automatic URL alias with PathAuto that includes the content type that contains your video field). Another apprroach
would be to use the ajaxblocks module - as long as your videos were always displayed in blocks. I have thought about actually adding a special AJAX type formatter for the html5_video
field type that would always load the server side generated markup asycnchronously for this field only, no matter where or how it is displayed (node view, block, Views, etc...).
As far as #4, I have explicitly added a check for the imagecache module. However, the code at line 605 was already checking for the the $content_info['imagecache_preset'] which could only be set if the imagecache module is installed. Now there is a double check.
Comment #51
avpadernoFor what I am concerned, the code contained in cache.inc has some problems:
cache_get(),cache_set()is to use a different way to save the cache data; there are implementations of those functions that use APC, or memcached.Comment #52
kmadel commentedI agree, and part of the problem is that Drupal 6 does not have a fine-grained API for modules to interact with the built-in cache. The cache.inc is only suggested and is a stop-gap approach (that also happens to be approved by the existing Drupal module http://drupal.org/project/browser_theme) - I assume that someone that isn't as good a reviewer as you allowed that module to be added to drupal.org. I believe there are a few options moving forward (all will require a good bit of additional work).
1) Add configuration to only have certain path arguments use the prefix caching.
2) Modify the cck formatters for the field so that they load their browser specific content asynchrounously (kind of goes against trying to eliminate most if not all JavaScript)
Basically, this module is built to generate browser specific markup and this is not easy to do when using the built-in Drupal caching (and difficult with any caching mechanism). Of course some the browser specific markup could be done with JavaScript manipulation of the markup client side, but I don't really like the idea of that - for example one specific issue is with the video element in Android browsers vs all other browsers - Android browsers won't play the video unless the play() JavaScript function is called on the video element, so you can simply add onclick="play()" - but this practically breaks the video element in desktop players...
Comment #53
avpadernoIn short time, it's probably easier to change the code in cache.inc to apply the prefix only to some cache tables, or to some cache IDs. So far, Drupal core code uses only the cache table, not other tables.
I still don't get the reason why the module doesn't clear the cache it needs to clear, instead of changing all the cache IDs.
Talking of http://drupal.org/project/browser_theme, the maintainer of that project applied to be co-maintainer of an existing module (see #790604: mark.carver [markcarver]); in such case, there has not been any review of code, nor someone that isn't a good reviewer.
Comment #54
jmcclelland commentedThanks for your work on this module.
I think your approach of having a separate video CCK field type is significantly and importantly different from the vfe approach.
I just posted a feature request to the vfe issue tracker:
http://drupal.org/node/890218
I suggest that the code used to generate the html 5 code (and deal with all the fall back configuration) be abstracted into an api module. That way both projects could share the same duplicate code and each one could focus on the different approaches to Drupal integration (for what it's worth - I'd like to see a module that implements an input filter that would convert [video src="/path/to/video"] with the proper html5 code - which is yet another implementation of the same idea).
Hope that's helpful.
jamie
Comment #55
avpadernoComment #56
mcfilms commentedSo what happened here? Did Kmadel get a CVS account?
That demo he showed on http://www.captechconsulting.com looked fantastic. It's one of the few (only?) examples of HTML5 video working in Drupal.
The Maintenance status of Video For Everybody is currently "Unknown." We REALLY need this module and the development effort that has gone into it.
I understand there were a few outstanding issues. I got nervous about changing the cache ID for all tables. But we had a person that had done some exceptional work and I would be willing to test this module today and support the effort to bring it to Drupal 7.
Just saying I hope we didn't run Kmadel off.
Comment #57
michaek commentedI agree with @mcfilms on this. I favor v4e philosophically, but I don't think there's any reason not to have multiple approaches. (Actually, I think the process of being approved for CVS accounts is pretty anachronistic.)
I've done some further work on the v4e module on my own, some of which I've posted as patches in issues, but I'd be happy to put the rest out there for the community. Probably on github. :)
Comment #58
sreynen commentedThe module may be great, but this is an application for a specific person to gain CVS access. That person disappeared from the thread, so the application died. That's not a rejection of the module.
Comment #59
michaek commentedOh, I completely understand. But it seems somewhat distorting to community involvement that one's access to CVS is often based on the acceptability of a specific module (and definitely was in this case). @kmadel was clearly doing a lot of good work on his module, but the discussion around accepting his CVS application (and the ultimate closing of the issue) was concerned with whether his module would duplicate the functionality of other modules.
Comment #60
michaek commentedActually, I may be mistaken about why the issue was closed - I don't want to assume that I know why @kmadel left this discussion, or why @kiamlaluno closed the issue.
Comment #61
avpadernosreynen is correct on comment #58: The user who applied for a CVS account didn't change the code as reported by the review, nor did attach a new version of the module after comment #51; I take the user lost interest.
Comment #62
mcfilms commentedWell my point of contention is that Kmadel responded to all the issues as they arose. When questioned about his module duplicating another module's work, he explained how and why it was different. There were some suggestions on making some more improvements to the module, but should these have prevented him from getting a CVS account?
I'm just curious what the criteria is and at what point somebody says "awww heck, you know what? The benefit of what you are doing far outweigh the potential hazards."
Please look at comment #85 on this very long thread about CVS here:
http://drupal.org/node/703116#comment-3122264
I think this person's idea is better than the current method of CVS account review.
I wrote about this issue once before here:
http://drupal.org/node/811402
Comment #63
avpadernoI reported in #51 what is wrong with the code, but kmandel didn't change the code.
Comment #64
sreynen commented@mcfilms, I completely agree it's important to question how we can improve this process, but this particular thread isn't the place to have that discussion.
Not only is it a place where no one else will find it, but it's not really relevant here. It's simply impossible to say to @kmadel "the benefit of what you are doing..." because @kmadel is no longer here and no longer doing anything we can see. As far as I can tell, @kmadel has been absent from Drupal.org in general recently, not just this thread. Unless you're arguing that participating in your own application thread shouldn't be a prerequisite to having a CVS account, all other considerations are made irrelevant by @kmadel dropping out of this thread.
Comment #65
mcfilms commentedI am happy to have this discussion elsewhere. Is there an ongoing thread I can join?
I bring this up every so often because I know there is at least one moderator listening and hope that I can effect incremental change. (Also, I thought the work he was doing was valuable and maybe I could woo him back.)
Comment #66
sreynen commentedI think #703116: Our CVS account application requirements are obtuse and discourage contributions, which you pointed to, is where this conversation is happening. The issue is currently postponed because several aspects of the process will necessarily change with the move from CVS to git, but that needn't stop the discussion.
Comment #67
kmadel commentedI still feel that there needs to be a solid html5 video solution (and actually, it would be nice if there was one that worked the FFMPEG converter as well). Definitely not one of the easiest nuts to crack. But, I am will to continue to work on the shortcomings of my module if there is still interest.
Thanks
Comment #68
mcfilms commentedWelcome back! I am very interested. Currently I am working on D7 and HTML5 with video. I have some degree of success with the video.js player hardcoded into my pages. I'm also testing the Mediafront module for D7. But neither solution is perfect.
@kmadel, you also might consider offering to team up with Travist and see if you can work together on the MediaFront module. Maybe you can prune some of the javascript weight and make it easier to play video in iDevices.
Comment #69
michaek commentedI'm also still really interested in this, and I've done a certain amount of work with the video_for_everybody module. Count me in as willing to contribute to a solid HTML5 video module.
Comment #70
macdee commentedI too am still interested. Good to see you back!
Comment #71
avpadernoComment #72
dre2phresh commentedWould really like to see a D7 version of the module
Comment #73
zzolo commentedHi. Please read all the following and the links provided as this is very important information about your CVS Application:
Drupal.org has moved from CVS to Git! This is a very significant change for the Drupal community and for your application. Please read the following documentation on how this affects and benefits you and the application process:
Migrating from CVS Applications to (Git) Full Project Applications
Comment #74
kbell commentedI'm really glad you're back! Subscribing.
-kelly
Comment #75
virtuali1151 commentedVery interested in this module as well.. I think it is much needed.
Comment #76
avpadernoAs per previous comment, I am setting this issue as Won't fix.
Since new users can now create full projects, applications have a different purpose and they are handled on a different issue queue. See Apply for permission to opt into security advisory coverage for more information.
Comment #77
avpaderno