API modules to consider and evaluate:
Note: Some of these might be client only etc, so can definitely be ignored etc.
**Get things that can interact with properties**
- Should be tested
- Should interact with the federated properties
- Highest prio of the 4 chunks of api modules
APIs:
[x] wbsearchentities
- Mostly done in {T246349} P11101
- Example: https://wikidata-federated-properties.wmflabs.org/w/api.php?action=wbsearchentities&format=json&search=instance%20o&language=en&type=property
[] wbgetentities
- works for items probably since [T247593] is done
- Example: https://wikidata-federated-properties.wmflabs.org/w/api.php?action=wbgetentities&format=json&ids=Q2
- It's unclear what should happen when requesting a federated Property through wbgetentities. Should that work? It currently claims that the Property is missing, see e.g. https://wikidata-federated-properties.wmflabs.org/w/api.php?action=wbgetentities&format=json&ids=P1
- Perhpas this needs a different error message?
[x] wbgetclaims
- works probably since [T247593] is done
- Example: https://wikidata-federated-properties.wmflabs.org/w/api.php?action=wbgetclaims&format=json&entity=Q2&property=P734
[x] wbformatentities
- Mostly done in {T246606} P11100
- https://wikidata-federated-properties.wmflabs.org/w/api.php?action=wbformatentities&format=json&ids=P31
[x] wbformatvalue
- Mostly done in [T246606] and [T251776] P11335
- Example: https://wikidata-federated-properties.wmflabs.org/api.php?action=wbformatvalue&format=json&generate=text%2Fhtml&datavalue={%22value%22%3A{%22id%22%3A%22P31%22}%2C%22type%22%3A%22wikibase-entityid%22}&options=
[x] wbsgetsuggestions
- this is provided by the PropertySuggester extension. out of scope!
**Edit API modules that are used to edit statements:**
[x] wbcreateclaim
* Tried locally: `/mediawiki/api.php?action=wbcreateclaim&format=json&entity=Q5&snaktype=value&property=P433&value=%22itsastring%22&token=%2B%5C`
[x] wbeditentity
* Tried locally: `/mediawiki/api.php?action=wbeditentity&format=json&id=Q5&token=%2B%5C&data=%7B%22claims%22%3A%7B%22P433%22%3A%5B%7B%22mainsnak%22%3A%7B%22snaktype%22%3A%22value%22%2C%22property%22%3A%22P433%22%2C%22datavalue%22%3A%7B%22value%22%3A%22blergh%22%2C%22type%22%3A%22string%22%7D%2C%22datatype%22%3A%22string%22%7D%2C%22type%22%3A%22statement%22%7D%5D%7D%7D`
[x] wbremoveclaims
- Tried locally `/mediawiki/api.php?action=wbremoveclaims&format=json&claim=Q5%245DA2C95E-843F-48B4-A548-733F29E5F9BF&token=%2B%5C&baserevid=177`
[x] wbremovequalifiers
- Tried locally: `/mediawiki/api.php?action=wbremovequalifiers&format=json&claim=Q5%247A046C25-4353-4DBA-A52F-FBC34574293C&qualifiers=57dd39b13ca8e4729fef07254c0b27b0fc16f414&token=%2B%5C`
[x] wbremovereferences
- Tried locally `/mediawiki/api.php?action=wbremovereferences&format=json&statement=Q5%242c550fe1-4951-ac7d-1d4f-49a3afeec0ff&references=d38963cc72dc785441c2575d22f4b8fa629a7005&token=%2B%5C`
[x] wbsetreference
- Tried locally: `/mediawiki/api.php?action=wbsetreference&format=json&statement=Q5%242c550fe1-4951-ac7d-1d4f-49a3afeec0ff&snaks=%7B%22P433%22%3A%5B%7B%22snaktype%22%3A%22value%22%2C%22property%22%3A%22P433%22%2C%22datavalue%22%3A%7B%22value%22%3A%22ref%22%2C%22type%22%3A%22string%22%7D%2C%22datatype%22%3A%22string%22%7D%5D%7D&token=%2B%5C`
[x] wbsetclaimvalue
- Tried locally: `/mediawiki/api.php?action=wbsetclaimvalue&format=json&claim=Q5%242c550fe1-4951-ac7d-1d4f-49a3afeec0ff&value=%22hello%22&snaktype=value&token=%2B%5C`
[x] wbsetqualifier
- Tried locally: `/mediawiki/api.php?action=wbsetqualifier&format=json&claim=Q5%242c550fe1-4951-ac7d-1d4f-49a3afeec0ff&property=P433&value=%22foo%22&snaktype=value&token=%2B%5C`
**Edit API modules that interact with properties :**
- probably should have a standard error message across all modules
- should NOT allow editing remote or local properties
- Middle prio of the 4 chunks of api modules
APIs:
[] wbcreateclaim
[] wbeditentity
[] wbremoveclaims
[] wbremovequalifiers
[] wbremovereferences
[] wbsetreference
[] wbsetaliases
[] wbsetdescription
[] wbsetlabel
[] wbsetclaim
[] wbsetclaimvalue
[] wbsetqualifier
**Edit API modules that DO NOT interact with properties**
- probably nothing to do here
- these are probably all already tested
- Low prio of the 4 chunks of api modules
APIs:
[x] wblinktitles
[x] wbmergeitems
[x] wblmergelexemes
[x] wbcreateredirect
[x] wbsetsitelink
**Get things that DO NOT interact with properties**
- probably don't need to do anything?
- probably all already tested
- Low prio of the 4 chunks of api modules
APIs:
[x] wbavailablebadges
[x] wbcheckconstraintparameters
[x] wbcheckconstraints
[x] wbparsevalue
TBA are there any generators / other modules etc that need to be considered?
[] pageterms?
**Initial Estimation**
- For the errors that appear for APIs that must not work with federated properties (API modules that interact with properties): 8