Services like citoid and cxserver (and in the past Parsoid) affect the way a wiki works. It would be useful to see their versions on Special:Version, like it's possible for core, PHP, database, extensions, libraries, etc.
Description
Details
| Subject | Repo | Branch | Lines +/- | |
|---|---|---|---|---|
| Display Parsoid version on Special:Version | mediawiki/core | master | +169 -2 |
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Open | None | T108226 Special:Version should show the versions of services that a wiki uses | |||
| Resolved | Arlolra | T114629 Parsoid should have a stable endpoint to get the version of it | |||
| Declined | None | T114681 RESTBase should have a version endpoint |
Event Timeline
Change 243269 had a related patch set uploaded (by Florianschmidtwelzow):
Display Parsoid version on Special:Version
I had to C-2 the patch just because Parsoid has not made its version available under a stable API yet. We should fix that before merging the patch. Perhaps RESTBase can do so as well.
Also, note that RESTBase caches content from potentially many different historical Parsoid versions. So the idea here doesn't works quite as well when Parsoid is sitting behind RESTBase. But it's better than nothing -- perhaps RESTBase can return a version string of the form "RESTBASE xyz (Parsoid pdq, cassandra abc, ...)" encapsulating the version strings of Parsoid and other services RESTBase is proxying for.
I think, that Special:Version should show the currently used (installed) version of a service. Think about the parser, e.g.. It's possible, that something in the Parser is changed with a new MediaWiki version. Int his case, if a wiki sysadmin upgrades the wiki, the new version of MediaWiki (which would mean a new version of the Parser, too) is visible on Special:Version, while some pages may still be cached with the old parser version. Same with some extensions, which extends the parser. They are already visible on Special:Version, while there are still pages, which was rendered/parsed without the extension installed :)
If the parsoid version of a specific page would make sense, I would suggest to add it as an additional information to the info action of a content page. Nevertheless, I think it's still useful to show the actual used Parsoid version on Special:Version, maybe named as "Parsoid API" or whatever :)
From gerrit (moving discussion here):
@GWicke:
We should really focus on the API rather than the implementation. The API is primarily defined by the content type, which is versioned.
So, lets make this a 'DOM spec version' instead?
@ssastry:
Agree with Gabriel here. This should point to a combo of DOM spec version + API version (since both are important and can change independently). We currently don't expose that info in Parsoid, but we should make that available as part of the _version endpoint.
@GWicke:
We expose the expected mime type in the RESTBase swagger spec, which is available at https://en.wikipedia.org/api/rest_v1/?spec.
Adding to the above:
I agree that the DOM spec version is important, but think that's in *addition* to the software version. A particular software version of Parsoid could have bugs (or a new feature) independent of the DOM or API version information. The version information is for debugging purposes, exposing more information is good.
As a concrete suggestion, perhaps we should open separate tasks in Parsoid and RESTBase to create a stable 'version' endpoint in the API. Ideally the version string would contain both a git hash of the running software and the current content mime type (which includes the DOM spec version), but we can discuss the details in those subtasks.
Change 243269 abandoned by Florianschmidtwelzow:
Display Parsoid version on Special:Version
Reason:
It seems no one like this change :( Joke :P See T108226
Change 243269 restored by Florianschmidtwelzow:
Display Parsoid version on Special:Version
Now that Parsoid is no longer a JS service, this is no longer relevant for Parsoid. Untagging Parsoid.
... Trying to revive this.
Parsoid is no longer relevant, but showing a version of cxserver would definitely be useful. Probably also citoid, and maybe graphoid and mathoid. I'm not sure about others.
It would be great to have a standard way to get their versions and show them on Special:Version.
Change 243269 abandoned by Jforrester:
[mediawiki/core@master] Display Parsoid version on Special:Version
Reason:
This has been since resolved by means of loading Parsoid through composer.