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'
Bumps google-api-services-sheets from v4-rev20200707-1.30.10 to v4-rev20200813-1.30.10.
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* Update jQuery UI from 1.10.3 to 1.12.1 and associated theme CSS
* Fix sidebar tab layout issue with new jQuery UI
* Update initialization jQuery UI Tabs widgets
selected is now active, but the first tab is selected by default
so we don't need to do it manually.
* Patch GData initialization error
Don't attempt to initialize if we get no docs back (ie unauthorized)
* Refactor module wiring to reduce redundancy
* Update to jQuery 1.12.4 & jQuery Migrate 1.4.1 - fixes#2932
This updates to the latest jQuery 1.x and jQuery Migrate 1.x,
the first step in upgrading to a modern jQuery.
* Add a couple of bug fixes from Google Code SVN
This is an unrelease version from the Google Code freebase-site
repo which only has a few changes from the v4.3 release, but
one of them is removing the `browser.msie` reference that
jQuery Migrate is complaining about.
* Use prop() for 'checked' and 'disabled'
* Update jQuery 'value' property setting code to use val()
* Use prop() instead of attr() to set 'selected'
* Patch for jQuery >1.9
* Replace js string concatenation with i18n parameters
refs #1858
Remove Javascript string concatentation and use jquery i18n()
instead so that translators have the needed context and
flexibility to be able to do a good job. Also remove code-based
plurals conditionalization and replace with i18n.
* Update French translation so I can test non-English support
* Add missing localization
* Clean up formatting of service API link
* 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
Bumps google-api-services-sheets from v4-rev20200616-1.30.10 to v4-rev20200707-1.30.10.
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* 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