Semantic MediaWiki and related extensions
|
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.
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 codesrc/ParserHooks
- Entry points for all parser hooks except #display_map
src/Presentation
- Presentation layer code that does not belong to a more specific directorysrc/DataAccess
- Persistence layer code that does not belong to a more specific directorysrc/GeoJsonPages
- Code that deals with pages in the GeoJson namespacesrc/LegacyModel
- Badly designed and deprecated representations of map elements (markers, polygons, etc)src/LegacyMapEditor
- Deprecated and Google Maps only Special:MapEditor pagesrc/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/
.
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.