* Remove EditGroups URL template from Wikibase schema
Instead it is fetched from the manifest and stored in operation metadata.
Closes#3656.
* Fix compatibility with older JDKs
* Remove unnecessary fallback in ManifestV1 constructor
* Add SchemaPropertyFetcher class
To retrieve and inspect all the properties appearing in the issues tab.
* created new list from unmodifiable lists
* created new list from unmodifiable lists
* rebased successfully
* overriden getMultipleDocuments method
* Test failure issue resolved
* added tests for SchemaPropertyExtractor class
Closes#1640. All Wikibase-dependent parameters, which were previously hard-coded for Wikidata, are now described in a JSON manifest. The manifest is currently constructed by hand, but, in the future, will hopefully be published by each Wikibase instance at a standard location.
* setup the manifest framework
* add dependency mechanism to scrutinizers & update tests
* add json creators to constraint entities
* adapt the backend (units tests are to be updated)
* remove the call to prepareDependencies() in the constructor
* update code according to review feedback
* update scrutinizers tests
* fix typo & update ConstraintsV1
* log if a scrutinizer is skipped
* update versioning handling in the backend
* correct the order of "actual" and "expected" for assertEquals method
* use regex to check manifest versions
* 1. add wikibase-manager.js, wikibase-dialog.js, etc.
2. move dialog/schema-alignment-dialog.js -> schema-alignment.js
3. remove unused schema-alignment-dialog.html
4. change most mentions of "Wikidata" to "Wikibase"
* support saving cookies for different Wikibases & fix LoginCommandTest
* fix schema related tests
* removed unused WikibaseCredentials
* include MediaWiki API endpoint in the schema
* fetch language codes for different Wikibases
* fix lgtm-bot alerts
* keep a connection map (MediaWiki API endpoint => Connection) in ConnectionManager
* simplify the constraint configurations of the manifest and remove lots of unnecessary code.
* add slash to the end of mediawiki.root
* add manifest schema and use ajv to validate the manifest
* remove JSONP support (Wikibase manifest host should support CORS)
* save manifests on manifest update
* add unit tests for Manifest
* include the exception in logger.error() method to make it easier to debug
* include the message of ManifestException when calling respondError
* test multiple connections
* test no manifest & test invalid manifest
* adapt manage-account-dialog.js to support multiple Wikibase connections
* update instance/subclass of related translations
* beautify import-schema-dialog.html
* use "${lang}" variable in the reconciliation service endpoint of the manifest
* adapt schema-alignment.js after introducing "${lang}" variable in the reconciliation service endpoint
* use WikibaseManager.getSelectedWikibaseApi() in SchemaAlignment._getPropertyType
* replace more mentions of "Wikidata" to "Wikibase"
* use WikibaseManager.getSelectedWikibaseApi() in previewrenderer.js
* support fetching language codes of different Wikibases in the frontend
* skip EditInspector if missing 'property_constraint_pid' in the manifest
* improve unit tests for fetching lang codes
* skip scrutinizers depending on fetcher if 'property_constraint_pid' is missing in the manifest
* make sure the schema alignment panel is set up before rendering
* fix preview bug
* add getters of "instance of" and "subclass of" to the Manifest interface and use them in NewItemScrutinizer
* fix hardcode for Wikidata in WbItemVariable
* rename 'entity_prefix' to 'site_iri' and move it from 'manifest.wikibase.properties' to 'manifest.wikibase'
* include oauth configurations in the manifest & support logging in with owner-only consumer for Wikibases with the OAuth extension
* correct schema fallback logic
* select default wikibase according to the saved schema
* include maxlag in the manifest
* [backend] move maxlag setting from preferences to request parameter
* support setting maxlag when uploading edits
* rename "Manage Wikibase" to "Select Wikibase instance" and localize it
* fix manifest updating bug
* include EditGroups in the manifest
* add the reconciliation service from the manifest to standard services if it's not present yet when adding a new manifest
* update according to review feedback
1. use inherited color variable
2. rename 'gridwroks' to 'openrefine'
3. remove unnecessary 'async: true'
4. add 'format: url' validation to urls to the schema
* rename 'wikibasePrefix' to 'siteIri'
* Make sure data directory is directory, not a file
* Add a test for zip archive import
Also tests the saving of the archive file name and source filename
* Add TODOs - no functional changes
* Cosmetic cleanups
* Revert importer API changes for archive file name parameter
Fixes#2963
- restore binary compatibility to the API
- hoist the handling of both fileSource and archiveFileName from
TabularImportingParserBase and TreeImportingParserBase to
ImportingParserBase so that there's only one copy. These 3 classes are
all part of the internal implementation, so there should be no
compatibility issue.
* Revert weird flow of control for import options metadata
This reverts the very convoluted control flow that was introduced
when adding the input options to the project metadata. Instead
the metadata is all handled in the importer framework rather than
having to change APIs are have individual importers worry about
it.
The feature never had test coverage, so that is still to be added.
* Add test for import options in project metadata & fix bug
Fixes bug where same options object was being reused and overwritten,
so all copies in the list ended up the same.
Implemented Citation needed Cconstraint as part of #2354
Test class added with appropriate testc cases
Updated severity level to critical as well as the messages
merged unsourced and citation-needed scrutinizer
updated severity levels and warning messages
* Add One-of qualifier value property constraint
Implemented one-of qualifier value property constraint as part of #2354
* Test class added
* Test cases updated and working fine
* resolved merge conflicts
* Move findValues method to EditScrtuinzer
As findValues method is not concerned with fetching, therefore moving it to EditScrtuinizer
* updated test classes accordingly
* updated test classes accordingly
* test files updated after shifting the findValues method
* Revert "Revert "Reused Constraint IDs and Parameter PIDs (#2893)""
This reverts commit 4c739be843.
* Reuse Constraint IDs and Parameter PIDs
After the cleanup of MockConstraintFetcher, using constraint IDs and property IDs defined in the corresponding scrtinizer for the test files.
After adding the code for fetching parameters for different scrutinizers in their corresponding classes, we should remove the redundant code from the ConstraintFetcher
* Add ItemRequires Constraint
Implemented Item requires constraint as part of #2354
* done with implementation of ItemRequiresScrutinizer Class
* Test class added with suitable test cases
* Implemented RestrictedPosition Scrutinizer tests using mocks
Added RestrictedPositionConstraint class and updated test cases using mocks
* Tests updated & working fine
* Implemented DistinctValueScrutinizer tests using mcokito
Added inner class to the scrutinizer and updated the tests using mocks.
* Tests updated-testNoIssue added
* all tests updated & working fine
* Implemented SingleValue Scrutinizer tests using mocks
Updated test class & added inner class to the scrutinizer
* tests updated
* Updated SingleValueConstraint class
updated test class by creating mocks for ConstraintFetcher
Implemented tests for conflicts-with scrutinizer using mocks
Added testcase for no statementList & multiple constraint.
Implemented tests using mock for conflicts-with scrutinizer
Implemented tests using mock for conflicts-with scrutinizer
Added test case for multiple constraints
Added test case for multiple constraints
Closes#1612
Merges @afkbrb work to finish @wetneb protype, including:
* adding support for OAuth in addition to basic auth
* supporting registration of single user Wikidata OAuth consumers.
* adding extensive tests
* cleaning up the login dialog
This depends on the next release of the Wikidata Toolkit, but we're currently publishing our own snapshot that includes the necessary changes (thanks @wetneb!)
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>