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

Reply via email to