On Sep 23, 2014 8:41 AM, "Jack Phoenix" <jack(a)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/68176b583de…
https://github.com/svn2github/wikia/tree/673dadc4a2d47698589ac3294893f9163e…
[8]
https://github.com/svn2github/wikia/tree/673dadc4a2d47698589ac3294893f9163e…
Thanks and regards,
--
Jack Phoenix
MediaWiki developer
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)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