Adds various mapping features to MediaWiki

Fund package maintenance!
JeroenDeDauw
Patreon

Installs: 58 550

Dependents: 3

Suggesters: 0

Security: 0

Stars: 50

Watchers: 16

Forks: 48

Open Issues: 47

Language:JavaScript

Type:mediawiki-extension


README

Maps is the MediaWiki extension to visualize and work with geographical information. It has been maintained since 2009 and is installed on 1000+ wikis.

Features:

Missing a feature? Professional.Wiki does custom development at a discount if it is open sourced.

Documentation

For administrators

For wiki users

Getting support

Project status

Contributing

Project structure

The src/ contains the PHP code and follows PSR-4 autoloading.

  • src/Map - Map display entry points (such as handling of #display_map) and their supporting code
  • src/ParserHooks - Entry points for all parser hooks except #display_map
  • src/Presentation - Presentation layer code that does not belong to a more specific directory
  • src/DataAccess - Persistence layer code that does not belong to a more specific directory
  • src/GeoJsonPages - Code that deals with pages in the GeoJson namespace
  • src/LegacyModel - Badly designed and deprecated representations of map elements (markers, polygons, etc)
  • src/LegacyMapEditor - Deprecated and Google Maps only Special:MapEditor page
  • src/SemanticMW - Semantic MediaWiki code except for the map entry point (which is in Map\SemanticFormat)
  • src/WikitextParsers - Parsers for the wikitext definitions of map elements (like the LegacyModel)

JavaScript, CSS and other web resources go into resources/.

Tests for PHP go into tests/ where they are grouped by test type (ie unit, integration). Within those test type directories the tests should mirror the directory structure in src/.

Running the tests

As setup, run composer install inside of the Maps root directory.

You can run the MediaWiki independent tests by executing phpunit in the root directory of maps:

phpunit

This is possible without having a MediaWiki installation or webserver. A clone of the Maps code suffices.

If you do not have PHPUnit installed, you can download the .phar into the root directory and execute it there:

wget -O phpunit.phar https://phar.phpunit.de/phpunit-7.phar
php phpunit.phar

To run the tests with MediaWiki, change into tests/phpunit of your MediaWiki installation and run

php phpunit.php --wiki wiki -c ../../extensions/Maps/phpunit.xml.dist

Where you either update wiki to match your wikis name, or drop the parameter. The above command works without modification if you are using the MediaWiki Vagrant.

Beware that due to technical debt, some tests access the network.

Links