tl,dr: MediaWiki needs a more human-friendly interface for using videos in wiki pages. https://www.mediawiki.org/wiki/Extension:Video significantly improves the video experience in MediaWiki. The extension is not feature-complete yet, but *you* can help!
Now for the longer version: Basically all video player extensions for MediaWiki are parser tags, and as such, they're not the easiest to use, and some of the less popular ones might have security issues and whatnot, given the lack of sufficient attention from skilled developers. It's not obvious to the layperson that <youtube>oUCEN-XvC7g</youtube> renders the YouTube video "First hands-on with the Nokia X family", published by Nokia [1]. Better yet, choosing "Embed" on YouTube gives you the following code snippet, which -- obviously -- doesn't render the video on an average MediaWiki installation: <iframe width="560" height="315" src="//www.youtube.com/embed/oUCEN-XvC7g" frameborder="0" allowfullscreen></iframe>
David Pean (of ArmchairGM/social tools fame [2]) identified this problem back in 2007 and he wrote the Video extension to solve the problem. Despite being enabled on ArmchairGM until AGM was migrated to the standard Wikia codebase (in late 2010/early 2011 [3]), this great extension was unfortunately never quite finished, and while the basic concept mostly works, plenty of areas could use developer attention to make this *the* best video embedding extension out there for MediaWiki. Unlike your average parser hook for embedding videos, the Video extension adds a new Video: namespace and two special pages for handling videos. Videos are added via Special:AddVideo, which doesn't actually upload the underlying .flv/.mpg/.avi/.mp4/.whatever, but rather stores some metadata about the video and uploader with the unique, user-supplied name. Therefore after adding the video to the wiki via Special:AddVideo, [1] could be embedded via syntax such as [[Video:First hands-on with the Nokia X family|300px]] on a wiki page.
In late 2011 I published a cleaned-up version of the Video extension, and John Du Hart signficantly improved the extension's architecture and reduced code duplication. Despite this, the extension received basically only minor maintenance commits until today/yesterday [4], when I got rid of some legacy code and further improved the video undeletion workflow [5]. Certain key elements are nevertheless missing from the extension's current implementation and I know I'm not able to code all of these on my own, which is precisely why I'm asking you to consider helping out with this project. Things such as Special:WhatLinksHere support for videos, better undeletion code (the current implementation is a very dirty core hack that does the job, but it's not what we want to aim for in the long run), more i18n, support for *your* favorite video service...and of course, bug fixes such as having the relevant caches correctly purged when a video is deleted so that deleted videos no longer show up on pages that embed them, for example.
Some of the related, FOSS-licensed extensions from which code could be borrowed include: * WikiVid [6], a similar special page based approach to video embedding, written by profilic MediaWiki developer Daniel Friesen (Dantman); never finished, supports embedding via wiki link syntax and has some code related to tracking which pages use which videos (the download link doesn't appear to be working, but I have a copy of the source code if there's ever a need for that) * WikiaVideo [7], Wikia's older video extension which was at some point enabled on all Wikia wikis (before being deprecated in favor of newer video extensions). It seemed to have been based on David's Video extension, though it required some core hacks [8] and whatnot. I'm not sure when it got removed from the repository and I was too lazy to dig up the precise date and/or commit, but the linked version should give you a general idea of how the extension worked. Unlike David's Video extension, this extension required no custom database tables, but it instead reused core tables such as filearchive, image or oldimage for storing information about the videos. An interesting approach, but nevertheless not the one I'd have gone with. Some parts of WikiaVideo have already been incorporated into Video, such as Hulu provider code (/extensions/Video/providers/HuluVideo.php) or some of the Special:Undelete integration code (/extensions/Video/VideoPageArchive.php).
Let's put the "media" back to "MediaWiki"!
[1] https://www.youtube.com/watch?v=oUCEN-XvC7g [2] https://www.mediawiki.org/wiki/Social_tools [3] http://wikiindex.org/ArmchairGM [4] depending on your timezone, the position of the stars, and other factors to take into consideration when dealing with dates and times [5] https://git.wikimedia.org/commit/mediawiki%2Fextensions%2FVideo/68176b583de4... [6] https://www.mediawiki.org/wiki/Extension:WikiVid [7] https://github.com/svn2github/wikia/tree/673dadc4a2d47698589ac3294893f9163e6... [8] https://github.com/svn2github/wikia/tree/673dadc4a2d47698589ac3294893f9163e6...
Thanks and regards, -- Jack Phoenix MediaWiki developer
On Sep 23, 2014 8:41 AM, "Jack Phoenix" jack@countervandalism.net wrote:
tl,dr: MediaWiki needs a more human-friendly interface for using videos in wiki pages. https://www.mediawiki.org/wiki/Extension:Video significantly improves the video experience in MediaWiki. The extension is not feature-complete yet, but *you* can help!
Now for the longer version: Basically all video player extensions for MediaWiki are parser tags, and
as
such, they're not the easiest to use, and some of the less popular ones might have security issues and whatnot, given the lack of sufficient attention from skilled developers. It's not obvious to the layperson that <youtube>oUCEN-XvC7g</youtube> renders the YouTube video "First hands-on with the Nokia X family", published by Nokia [1]. Better yet, choosing "Embed" on YouTube gives you the following code snippet, which --
obviously
-- doesn't render the video on an average MediaWiki installation: <iframe width="560" height="315" src="//www.youtube.com/embed/oUCEN-XvC7g" frameborder="0" allowfullscreen></iframe>
David Pean (of ArmchairGM/social tools fame [2]) identified this problem back in 2007 and he wrote the Video extension to solve the problem.
Despite
being enabled on ArmchairGM until AGM was migrated to the standard Wikia codebase (in late 2010/early 2011 [3]), this great extension was unfortunately never quite finished, and while the basic concept mostly works, plenty of areas could use developer attention to make this *the* best video embedding extension out there for MediaWiki. Unlike your average parser hook for embedding videos, the Video extension adds a new Video: namespace and two special pages for handling videos. Videos are added via Special:AddVideo, which doesn't actually upload the underlying .flv/.mpg/.avi/.mp4/.whatever, but rather stores some metadata about the video and uploader with the unique, user-supplied name.
Therefore
after adding the video to the wiki via Special:AddVideo, [1] could be embedded via syntax such as [[Video:First hands-on with the Nokia X family|300px]] on a wiki page.
In late 2011 I published a cleaned-up version of the Video extension, and John Du Hart signficantly improved the extension's architecture and
reduced
code duplication. Despite this, the extension received basically only
minor
maintenance commits until today/yesterday [4], when I got rid of some legacy code and further improved the video undeletion workflow [5].
Certain
key elements are nevertheless missing from the extension's current implementation and I know I'm not able to code all of these on my own, which is precisely why I'm asking you to consider helping out with this project. Things such as Special:WhatLinksHere support for videos, better undeletion code (the current implementation is a very dirty core hack that does the job, but it's not what we want to aim for in the long run), more i18n, support for *your* favorite video service...and of course, bug fixes such as having the relevant caches correctly purged when a video is deleted so that deleted videos no longer show up on pages that embed them, for
example.
Some of the related, FOSS-licensed extensions from which code could be borrowed include:
- WikiVid [6], a similar special page based approach to video embedding,
written by profilic MediaWiki developer Daniel Friesen (Dantman); never finished, supports embedding via wiki link syntax and has some code
related
to tracking which pages use which videos (the download link doesn't appear to be working, but I have a copy of the source code if there's ever a need for that)
- WikiaVideo [7], Wikia's older video extension which was at some point
enabled on all Wikia wikis (before being deprecated in favor of newer
video
extensions). It seemed to have been based on David's Video extension, though it required some core hacks [8] and whatnot. I'm not sure when it got removed from the repository and I was too lazy to dig up the precise date and/or commit, but the linked version should give you a general idea of how the extension worked. Unlike David's Video extension, this
extension
required no custom database tables, but it instead reused core tables such as filearchive, image or oldimage for storing information about the
videos.
An interesting approach, but nevertheless not the one I'd have gone with. Some parts of WikiaVideo have already been incorporated into Video, such
as
Hulu provider code (/extensions/Video/providers/HuluVideo.php) or some of the Special:Undelete integration code (/extensions/Video/VideoPageArchive.php).
Let's put the "media" back to "MediaWiki"!
[1] https://www.youtube.com/watch?v=oUCEN-XvC7g [2] https://www.mediawiki.org/wiki/Social_tools [3] http://wikiindex.org/ArmchairGM [4] depending on your timezone, the position of the stars, and other factors to take into consideration when dealing with dates and times [5]
https://git.wikimedia.org/commit/mediawiki%2Fextensions%2FVideo/68176b583de4...
https://github.com/svn2github/wikia/tree/673dadc4a2d47698589ac3294893f9163e6...
[8]
https://github.com/svn2github/wikia/tree/673dadc4a2d47698589ac3294893f9163e6...
Thanks and regards,
Jack Phoenix MediaWiki developer _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Hmm, the video namespace is an interesting approach. Has anyone considered trying instead of <tag>opaque string</tag>, something like <embed> url here </embed>, which than tries to use oEmbed to embed whatever is at the url? Most video sharing site support oEmbed.
--bawolff
oEmbed indeed looks interesting; this is the first time I heard about it. :)
I'll note for the record that while not exactly an oEmbed implementation, the YouTube extension [1] has allowed the <youtube>some YouTube URL goes here</youtube> syntax for embedding YT videos since late 2013 [2]. This isn't exactly advertised on any of the related documentation pages, though (bug #1 and all that stuff). Likewise, this syntax isn't available for any of the smaller providers as someone who speaks regex natively has to write the regexes for those (patches welcome!). On Tue, Sep 23, 2014 at 10:03 PM, Brian Wolff bawolff@gmail.com wrote:
Hmm, the video namespace is an interesting approach. Has anyone considered trying instead of <tag>opaque string</tag>, something like <embed> url here </embed>, which than tries to use oEmbed to embed whatever is at the url? Most video sharing site support oEmbed.
--bawolff
[1] https://www.mediawiki.org/wiki/Extension:YouTube [2] https://git.wikimedia.org/commitdiff/mediawiki%2Fextensions%2FYouTube/7acd1d...
Thanks and regards, -- Jack Phoenix MediaWiki developer
wikitech-l@lists.wikimedia.org