On Wikidata, users can toggle between 3 snak types:
1. value: This is a custom value, where the user will select a Wikidata item, type in a string, etc.
2. somevalue: This represents that a value exists for the property without saying anything about that value
3. novalue: This represents that there is no value for this property
We want to enable users to do something similar on Commons. For now, we have decided to only enable addition of somevalue and novalue snaks in the WBMI UI for properties with the Wikibase entity datatype. This is because the most likely use case of somevalue is to represent a missing WIkidata item, e.g. a creator of an image. Users will add somevalue for the creator property, then add qualifiers to represent known information.
We will, however, display existing somevalue/novalue snaks for other datatypes, e.g. if someone adds a somevalue snak for a string property via the API. This is unlikely, but will allow us to see if there are additional use cases, and therefore additional input types, to cover.
Wikidata uses three "dots" next to input elements, regardless of type – toggling between them lets the user select normal values (strings, entities, etc), unknown value (aka "somevalue"), or no value.
Acceptance criteria:
[ ] somevalue/novalue snaks display in the UI for all datatypes
[ ] somevalue/novalue snaks are deletable via edit mode for all datatypes
[ ] Users can add somevalue/novalue snaks for Wikibase entity properties
[ ] Users can add qualifiers to somevalue/novalue snaks
Top level **//somevalue//** example:
{F31458860}
Qualifier level **//somevalue//** example:
{F31458859}
Current design thoughts, process, and options can be found here: https://docs.google.com/presentation/d/1WV19D2DsXYXw3A4xmg7oPxPEwQjqeM17fa1YoRjxL18/edit?usp=sharing