[Wikitech-l] What to do with TimedMediaHandler

2014-12-11 Thread Derk-Jan Hartman
So for a while now, I have been toying a bit with
TimedMediaHandler/MwEmbed/TimedText, with the long term goal of wanting it
to be compatible with VE, live preview, flow etc.

There is a significant challenge here, that we are sort of conveniently
ignoring because stuff 'mostly works' currently and the MM team having
their plate full with plenty of other stuff:

1: There are many patches in our modules that have not been merged upstream
2: There are many patches upstream that were not merged in our tree
3: Upstream re-uses RL and much infrastructure of MW, but is also
significantly behind. They still use php i18n, and their RL classes
themselves are also out of date (1.19 style ?). This makes it difficult to
get 'our' changes merged upstream, because we need to bring any RL changes
etc with it as well.
4: No linting and code style checks are in place, making it difficult to
assess and maintain quality.
5: Old jQuery version used upstream
6: Lot's of what we consider deprecated methodologies are still used
upstream.
7: Upstream has a new skin ??
8: It uses loader scripts on every page, which really aren't necessary
anymore now that we can add modules to ParserOutput, but since I don't
fully understand upstream, i'm not sure what is needed to not break
upstream in this regard.
9: The JS modules arbitrarily add stuff to the mw. variables, no
namespacing there.
10: The RL modules are badly defined, overlap each other and some script
files contain what should be in separate modules
11: We have 5 'mwembed' modules, but upstream has about 20, so they have
quite a bit more code to maintain and migrate.
12: Brion is working on his ogvjs player which at some point needs to
integrate with this as well (Brion already has some patches for this [1]).
13: Kaltura itself seems very busy and doesn't seem to have too much time
to help us out. Since some of the code is however highly specific to their
use cases, it becomes difficult to validate changes.

Oh and the file trees are disjunct between us and upstream, making git
merging a lot more troublesome than it should be (anyone got tips ?).

This is maintenance hell, we need to come up with a plan here or we are
going the way of getting so far out of sync that the cheapest solution will
be to start from scratch...

So my questions:
1: Is there anything in upstream that we actually want ? I've been hearing
about the 'update' that was still coming from there for over a year now,
but due to how far both trees are now out of sync, i'm not really holding
my breath for that anymore. The last 'proper sync' seems to have been
'Kaltura 1.7' in july 2012.[2] They are now at v2.21.9
2: Who can think of a strategy to fix this ?
3: Or should we just split off our modules and let upstream sort this out ?
4: Should we consider starting something from scratch ?

DJ

I have done a bit of cleanup [3] with jshint and jscs on the modules that
we use. There are some remaining problems [4], some of which are true bugs
in the code. I don't intend to propose these changes for merging any time
soon, since it will probably make consolidation of the two variants even
more complicated, but I'll try to keep it up to date and maybe try to fix
some of these bugs upstream or in MW.

[1] https://gerrit.wikimedia.org/r/#/c/165477/
 https://gerrit.wikimedia.org/r/#/c/165478/
 https://gerrit.wikimedia.org/r/#/c/165479/
[2] https://gerrit.wikimedia.org/r/#/c/16468/
[3] https://github.com/hartman/mwEmbed/compare/jscleanup
[4] https://phabricator.wikimedia.org/P147
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Re: [Wikitech-l] What to do with TimedMediaHandler

2014-12-11 Thread Amir E. Aharoni
Sorry about the shameless plug, but I'd love to add this to the list:
Integration TimedText with Translate.
Phab: https://phabricator.wikimedia.org/T44495

Most of your list is technical debt, whereas translation would be an actual
feature, and possibly not even a very complicated one to do.


--
Amir Elisha Aharoni · אָמִיר אֱלִישָׁע אַהֲרוֹנִי
http://aharoni.wordpress.com
‪“We're living in pieces,
I want to live in peace.” – T. Moore‬

2014-12-11 17:55 GMT+02:00 Derk-Jan Hartman d.j.hartman+wmf...@gmail.com:

 So for a while now, I have been toying a bit with
 TimedMediaHandler/MwEmbed/TimedText, with the long term goal of wanting it
 to be compatible with VE, live preview, flow etc.

 There is a significant challenge here, that we are sort of conveniently
 ignoring because stuff 'mostly works' currently and the MM team having
 their plate full with plenty of other stuff:

 1: There are many patches in our modules that have not been merged upstream
 2: There are many patches upstream that were not merged in our tree
 3: Upstream re-uses RL and much infrastructure of MW, but is also
 significantly behind. They still use php i18n, and their RL classes
 themselves are also out of date (1.19 style ?). This makes it difficult to
 get 'our' changes merged upstream, because we need to bring any RL changes
 etc with it as well.
 4: No linting and code style checks are in place, making it difficult to
 assess and maintain quality.
 5: Old jQuery version used upstream
 6: Lot's of what we consider deprecated methodologies are still used
 upstream.
 7: Upstream has a new skin ??
 8: It uses loader scripts on every page, which really aren't necessary
 anymore now that we can add modules to ParserOutput, but since I don't
 fully understand upstream, i'm not sure what is needed to not break
 upstream in this regard.
 9: The JS modules arbitrarily add stuff to the mw. variables, no
 namespacing there.
 10: The RL modules are badly defined, overlap each other and some script
 files contain what should be in separate modules
 11: We have 5 'mwembed' modules, but upstream has about 20, so they have
 quite a bit more code to maintain and migrate.
 12: Brion is working on his ogvjs player which at some point needs to
 integrate with this as well (Brion already has some patches for this [1]).
 13: Kaltura itself seems very busy and doesn't seem to have too much time
 to help us out. Since some of the code is however highly specific to their
 use cases, it becomes difficult to validate changes.

 Oh and the file trees are disjunct between us and upstream, making git
 merging a lot more troublesome than it should be (anyone got tips ?).

 This is maintenance hell, we need to come up with a plan here or we are
 going the way of getting so far out of sync that the cheapest solution will
 be to start from scratch...

 So my questions:
 1: Is there anything in upstream that we actually want ? I've been hearing
 about the 'update' that was still coming from there for over a year now,
 but due to how far both trees are now out of sync, i'm not really holding
 my breath for that anymore. The last 'proper sync' seems to have been
 'Kaltura 1.7' in july 2012.[2] They are now at v2.21.9
 2: Who can think of a strategy to fix this ?
 3: Or should we just split off our modules and let upstream sort this out ?
 4: Should we consider starting something from scratch ?

 DJ

 I have done a bit of cleanup [3] with jshint and jscs on the modules that
 we use. There are some remaining problems [4], some of which are true bugs
 in the code. I don't intend to propose these changes for merging any time
 soon, since it will probably make consolidation of the two variants even
 more complicated, but I'll try to keep it up to date and maybe try to fix
 some of these bugs upstream or in MW.

 [1] https://gerrit.wikimedia.org/r/#/c/165477/
  https://gerrit.wikimedia.org/r/#/c/165478/
  https://gerrit.wikimedia.org/r/#/c/165479/
 [2] https://gerrit.wikimedia.org/r/#/c/16468/
 [3] https://github.com/hartman/mwEmbed/compare/jscleanup
 [4] https://phabricator.wikimedia.org/P147
 ___
 Wikitech-l mailing list
 Wikitech-l@lists.wikimedia.org
 https://lists.wikimedia.org/mailman/listinfo/wikitech-l
___
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l