Page MenuHomePhabricator

Add diagram of software dependencies on mw.org
Closed, DeclinedPublic

Description

There are different pieces of software at mediawiki.org, including extensions, libraries, mediawiki.api, jquery, jquery.ui, oojs, oojs.ui, extensions depend on each other, many gadgets. Yet there is no diagram of which ones depend on which ones. Please create such dependencies diagram and link to it at the bottom of every page which talks about software.

Event Timeline

@Gryllida: Which underlying problem in which situation would get solved by having some diagram that shows dependencies?

@Aklapper People would find it easier to choose what software to use. This could include usage at their own MediaWiki instance as well as at their personal web site where they would like to reuse OOjs code for their own scripts.

Knowing the dependencies would also assist new developers with understanding the codebase to supply bug fixes.

Perhaps we could think of it as of UML: the diagram would solve the same problems. Having UML diagrams for all MediaWiki code would be useful for the same reason, frontend and backend separately.

@Gryllida: Could you provide some specific use cases? "People find it easier to choose what software to use" is extremely generic. :-/
In which specific situation (which specific dependencies from which software on which software did you have to find out?) would a diagram have helped?
I'm simply not convinced yet that the proposed solution would actually solve the (slightly unclear) underlying problem. Especially as the scope feels so unclear (for example, how to even list "gadgets" in such a diagram? The available gadgets depend on the configuration of each single website out there, hence what to show here?)

Unfortunately closing this report as no further information has been provided. @Gryllida: After you have provided the information asked for, please set the status of this report back to "Open" via the Add Action...Change Status dropdown. Thanks!

A person may want to use OOjs or a gadget at their personal wiki or website. We need to show this person what modules each gadget needs, similarly to how a Linux distribution package manager lists dependencies for each package. It makes it easier for people to choose what software to use.

"each gadget" is per-wiki. I don't see how or why to cover every single gadget for every single wiki. And keep that updated.

similarly to how a Linux distribution package manager lists dependencies for each package

Already solved: Gadgets should list their dependencies and compatibility with RL in the options of their definition. Not hidden in an image file in non-machine-readable format. :)