When enabling a new datatype on a wikibase, browser clients have a hard time adapting to the change as the new datatype will not automatically get added to the datatypestore held in the browsers local storage.
So for example, when enabling the musical-notation data type on a wiki, if a user has previously used the wiki they will not be able to use the data type unless they clear their local storage.
Instead when they try to edit or add something with the data type the following will happen:
Found property P3 in entityStore but couldn't find the datatype "musical-notation" in dataTypeStore. This is a bug or a configuration issue.
The error is thrown from: https://github.com/wikimedia/mediawiki-extensions-Wikibase/blob/master/view/resources/jquery/wikibase/snakview/snakview.variations.Value.js#L191-L195
We need to clear and or update localstorage in this error condition, or prompt the user to do so?
Reviewer test steps
- Install and enable Score extension
<?php // in your LocalSettings.php wfLoadExtension( 'Score' ); $wgMusicalNotationEnableWikibaseDataType = true; $wgScoreLilyPond = '/usr/bin/lilypond';
- create a property of data type Musical Notation (provided by Score extension)
- add a property statement of the musical notation type you just created in an item/lexeme
here's a valid lilypond example
\relative c' { \clef treble \key c \major \time 4/4 a4 b c d e f g a2 }
- disable musical notation data type
<?php // in your LocalSettings.php $wgMusicalNotationEnableWikibaseDataType = false;
- hard reload your item/lexeme page with the lilypond property statement
musical notation property won't render now and it'll appear like following screenshot
- try to edit the musical notation type property
you should see a warning like in the following screenshot
- enable musical notation data type again
<?php // in your LocalSettings.php $wgMusicalNotationEnableWikibaseDataType = true;
- hard reload your item/lexeme page with the lilypond property statement
- try to edit the musical notation type property again
you should be able to edit the property now, and should not see a warning similar to the one form step 5