dl/assetsource-mediawiki

Last activity on 12 December 2020
  • 4
  • 1
  • 644
composer require dl/assetsource-mediawiki

MediaWiki Asset Source for Neos CMS

1.3.1

MediaWiki Asset Source for Neos CMS

Version
1.3.1
Type
neos-package
Release Date
11.07.2020 06:38:44
Source
git
Distribution
zip
Requires
Requires (dev)
None
Suggest
None
Provides
None
Conflicts
None
Replaces
None
MIT 4cecb70f69420b8bb1ba8aa7dfdc5e60eff6dfad

Latest Stable Version Total Downloads License

MediaWiki Asset Source

This asset source uses the public API of MediaWiki installations like the Wikipedia, MediaWiki Commons or any other Media Wiki instance to make the used assets searchable within a Neos installation.

Installation

Install the package via composer:

composer require dl/assetsource-mediawiki

Configuration

You can add arbitrary instances of this asset source, to query different wikimedia instances - e.g. the english and german instance. To do that, just add another configuration block with the specific settings under a custom identifier.

Setting Description
domain The domain on which the MediaWiki instance is available.
label The label of the instance, shown in the backend
searchStrategy A class with implemented search strategy. See the section below for details
searchStrategyOptions Search strategy specific options
useQueryResultCache Whether or not to use the result cache for queries to the API. If used, speeds up the pagination a lot but may return outdated results. The caching lifetime defaults to 1 day.
excludedIdentifierPatterns Asset identifiers which should be filtered out and not displayed. Used to filter out Wikipedias common icons.

Example for accessing the german Wikipedia:

Neos:
  Media:
    assetSources:
      wikipedia_de:
        assetSource: 'DL\AssetSource\MediaWiki\AssetSource\MediaWikiAssetSource'
        assetSourceOptions:
          domain: de.wikipedia.org
          label: Wikipedia (DE)
          searchStrategy: DL\AssetSource\MediaWiki\Api\SearchStrategies\ArticleSearchStrategy
          searchStrategyOptions:
            articleLimit: 10
          useQueryResultCache: true
          excludedIdentifierPatterns:
             - '*.svg'

Search Strategies

Searching in the wikipedia for images is a bit tricky. First there is not only one wikipedia instance, but one for each available language. Second an image can be stored in the language specific wikipedia or in Wikimedia Commons and included from there.

The package brings two different search strategies with different pros and cons.

Direct Image Search Strategy

searchStrategy: DL\AssetSource\MediaWiki\Api\SearchStrategies\DirectImageSearchStrategy

This search strategy uses the filename and available meta data like the description of an asset to search on. That means if you configure the commons.wikimedia.org as domain, the package will search through about ~50 Million asssets available in all languages. But for historical reasons, some images are stored directly in the language specific wikipedia instances and therefore not available with that setting.

Article Search Strategy (Default)

searchStrategy: DL\AssetSource\MediaWiki\Api\SearchStrategies\ArticleSearchStrategy

This search strategy fits better to the Wikipedia use case. It doesn't search the images directly but uses the more powerfull article search to receive a number of wiki articles and then queries the images shown on that articles. The benefit is, if you configure the domain to en.wikipedia.org you will get assets, that are uploaded directly to this instance, as well as all fitting assets uploaded to Wikimedia Commons

Setting Description
articleLimit How many articles should be taken into account to query images from. Maximum are 50 articles. Higher values result in more returned articles, but the results may get inaccurate

Usage of images in your project

Please take care of the correct attribution of used photos in the frontend.

Known Issues

See the issue list for known issues and missing features.

The content of the readme is provided by Github
The same vendor provides 8 package(s).