Page MenuHomePhabricator

Agree on a "manifest" format to expose the configuration of Wikibase instances
Open, Needs TriagePublic

Description

Background: we want to make it possible for OpenRefine users to upload statements to arbitrary Wikibase instances.
Idea: the user should be able to specify which instance they want to push to just with a single URI. That URI should contain a "manifest" file which would describe everything we need to know about this instance (such as: URL of the MediaWiki API, query service, and so on).

We have drafted the necessary information as far as OpenRefine is concerned:
https://etherpad.wikimedia.org/p/wm_modelling_Wikibase
Of course the idea is that manifest file could also be consumed by other tools which could be adapted to various Wikibase instances - so there might be other sensible things to add there.

We need input about:

  • the format and typical URI of that file?
  • which information to include (what is redundant, what did we forget, …)?

Event Timeline

A sample of what such a manifest could look like is here:
https://gist.github.com/despens/d6ae4110c4e97944ddba29f23d78899f
It could be served at a predictable location for each wikibase instance - such as, for instance,
https://www.wikidata.org/manifest-v0.1.json
or something similar

One other approach to this problem would be to consider that these manifest files are not expected to be necessarily hosted by the Wikibase instance itself - these configuration files could be user-contributed and hosted anywhere (or derived automatically from the Wikibase Registry). The downside is that this requires more work from the community (users need to maintain these manifest files themselves) but it could be necessary if we want to include things like URLs of external tools like QuickStatements.

Vvjjkkii renamed this task from Agree on a "manifest" format to expose the configuration of Wikibase instances to rqaaaaaaaa.Jul 1 2018, 1:03 AM
Vvjjkkii triaged this task as High priority.
Vvjjkkii updated the task description. (Show Details)
Vvjjkkii removed a subscriber: Aklapper.
JJMC89 renamed this task from rqaaaaaaaa to Agree on a "manifest" format to expose the configuration of Wikibase instances.Jul 1 2018, 1:26 AM
JJMC89 raised the priority of this task from High to Needs Triage.
JJMC89 updated the task description. (Show Details)
JJMC89 added a subscriber: Aklapper.

I have tried to to this using this Wikibase instance: https://arbaso.wiki.opencura.com/. I find a problem following the instructions here (https://github.com/wetneb/openrefine-wikibase) with Redis. It seems that there is an error with INCRBYFLOAT.

redis.exceptions.ResponseError: unknown command 'INCRBYFLOAT'

But it could be my own problem!

@Theklan let's move your issue to a different ticket as your issue does not seem to be related: T240436

If the manifest has to be constructed by hand, it seems like YAML would be a better format than JSON. They are equivalent from a structural and informational point of view, but YAML is much easier to edit without creating invalid documents.

Excited to see the Wikibase team picking up this issue. I am tagging this ticket with the corresponding project, hoping that this is appropriate?