professional-wiki / wikibase-export
Adds a user-friendly Wikibase export page
Installs: 3 231
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 6
Forks: 2
Open Issues: 4
Type:mediawiki-extension
Requires
- php: >=8.0
- composer/installers: ^2|^1.0.1
- opis/json-schema: ^2.3.0
- wmde/clock: ^1.0.0
Requires (Dev)
- mediawiki/mediawiki-codesniffer: ^40.0.0
- phpstan/phpstan: ^1.8.11
- vimeo/psalm: ^4.22.0
This package is auto-updated.
Last update: 2024-12-09 12:10:47 UTC
README
Wikibase extension for exporting data as simple CSV.
Professional Wiki created and maintains Wikibase Export. We provide Wikibase hosting, Wikibase development, and Wikibase consulting.
Table of Contents
- Demo
- Usage
- REST API
- Installation
- PHP Configuration
- Export page text configuration
- Development
- Release notes
Demo
Quickly get an idea about what this extension does by checking out the demo wiki or demo video.
Usage documentation
See the usage documentation.
REST API
This extension provides a REST API endpoint for exporting Wikibase items.
For more information, refer to the REST API documentation.
Installation
Platform requirements:
- PHP 8.0 or later (tested up to 8.1)
- MediaWiki 1.37 or later (tested up to 1.39)
- Wikibase 1.37 or later (tested up to 1.39)
The recommended way to install Wikibase Export is using Composer with MediaWiki's built-in support for Composer.
On the commandline, go to your wikis root directory. Then run these two commands:
COMPOSER=composer.local.json composer require --no-update professional-wiki/wikibase-export:~1.0
composer update professional-wiki/wikibase-export --no-dev -o
Then enable the extension by adding the following to the bottom of your wikis LocalSettings.php file:
wfLoadExtension( 'WikibaseExport' );
You can verify the extension was enabled successfully by opening your wikis Special:Version page.
PHP Configuration
Configuration can be changed via LocalSettings.php.
Export configuration
In JSON format, following the JSON Schema at schema.json.
Gets combined with rules defined on page MediaWiki:WikibaseExportConfig
.
Variable: $wgWikibaseExport
Default: ""
Example: example.json
Caution: invalid JSON will be ignored. No error will be shown, the intended config will just not be applied.
Enable in-wiki configuration
If it should be possible to configure this extension via MediaWiki:WikibaseExportConfig
.
Variable: $wgWikibaseExportEnableInWikiConfig
Default: true
Example: false
The page MediaWiki:WikibaseExportConfig
will always be available. If this configuration is set to false
, its contents will be ignored.
Development
To ensure the dev dependencies get installed, have this in your composer.local.json
:
{ "require": { "vimeo/psalm": "^4", "phpstan/phpstan": "^1.8.11" }, "extra": { "merge-plugin": { "include": [ "extensions/WikibaseExport/composer.json" ] } } }
Running tests and CI checks
You can use the Makefile
by running make commands in the WikibaseExport
directory.
make ci
: Run everythingmake test
: Run all testsmake cs
: Run all style checks and static analysis
Alternatively, you can execute commands from the MediaWiki root directory:
- PHPUnit:
php tests/phpunit/phpunit.php -c extensions/WikibaseExport/
- Style checks:
vendor/bin/phpcs -p -s --standard=extensions/WikibaseExport/phpcs.xml
- PHPStan:
vendor/bin/phpstan analyse --configuration=extensions/WikibaseExport/phpstan.neon --memory-limit=2G
- Psalm:
php vendor/bin/psalm --config=extensions/WikibaseExport/psalm.xml
Release notes
Version 1.0.0 - 2023-02-06
- Special page with export UI
- Language selector
- Subject (entity) selector
- Grouping and filtering by year based on point in time or time range qualifiers
- Property selection for both grouped and ungrouped values
- Header style choice: entity label or entity ID
- Support for multiple values
- Configuration that can be set via PHP and a configuration UI on
MediaWiki:WikibaseExportConfig
- API endpoint for export
- TranslateWiki integration
- Support for PHP from 8.0 up to 8.2
- Support for MediaWiki from 1.37 up to 1.39