professional-wiki/wikibase-export

Adds a user-friendly Wikibase export page

Installs: 1 971

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 7

Forks: 2

Open Issues: 2

Type:mediawiki-extension

1.0.0 2023-02-06 12:13 UTC

This package is auto-updated.

Last update: 2024-04-11 12:14:14 UTC


README

GitHub Workflow Status Type Coverage Psalm level Latest Stable Version Download count

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

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 everything
  • make test: Run all tests
  • make 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