OpenRefine / OpenRefine

OpenRefine is a free, open source power tool for working with messy data and improving it
https://openrefine.org/
BSD 3-Clause "New" or "Revised" License
10.78k stars 1.95k forks source link

Validate Wikibase manifest on the server #3109

Open tfmorris opened 4 years ago

tfmorris commented 4 years ago

Currently the backend depends on the manifest validation which is done in the web client. We should also validate on the backend, so that we're not relying on well-behaved clients, as discussed here: https://github.com/OpenRefine/OpenRefine/pull/2810#discussion_r475101438

Current Results

A manifest without a version field will currently likely cause the backend to get a NullPointerException when it tries to process the version.

Expected Behavior

Server works correctly regardless of the data that it receives.

wetneb commented 1 year ago

Given that Wikibase manifests are stored in the preference store, it is not clear to me how to do this: the preference store can store arbitrary values and there is no clear way to set up custom validation for one of those fields. Also, the preference store is a core component, whereas the Wikibase integration is an extension.