mediawiki / maps
Adds various mapping features to MediaWiki
Fund package maintenance!
JeroenDeDauw
Installs: 121 924
Dependents: 4
Suggesters: 0
Security: 0
Stars: 74
Watchers: 21
Forks: 60
Open Issues: 102
Language:JavaScript
Type:mediawiki-extension
Requires
- php: >=7.4
- composer/installers: ^2.0.0|^1.0.1
- data-values/geo: ~4.0|~3.0
- jeroen/file-fetcher: ~6.0|~5.0
- jeroen/file-fetcher-cache: ~1.0
- jeroen/simple-cache: ~2.0
- jeroen/simple-geocoder: ~1.2
- jmikola/geojson: ^1.0.2
- mediawiki/parser-hooks: ~1.5
- mediawiki/validator: ~2.2
- param-processor/param-processor: ^1.10
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 39.0.0
- phpstan/phpstan: ^1.4.8
- vimeo/psalm: ^5.0.0
Suggests
- mediawiki/semantic-media-wiki: Add, edit, aggregate and visualize structured coordinate data stored with Semantic MediaWiki
Replaces
- dev-master
- 10.3.0
- 10.2.0
- 10.1.2
- 10.1.1
- 10.1.0
- 10.0.0
- 9.0.7
- 9.0.6
- 9.0.5
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.0.0
- 7.20.1
- 7.20.0
- 7.19.0
- 7.18.0
- 7.17.2
- 7.17.1
- 7.17.0
- 7.16.0
- 7.15.6
- 7.15.5
- 7.15.4
- 7.15.3
- 7.15.2
- 7.15.1
- 7.15.0
- 7.14.0
- 7.13.0
- 7.12.2
- 7.12.1
- 7.12.0
- 7.11.0
- 7.10.0
- 7.9.0
- 7.8.3
- 7.8.2
- 7.8.1
- 7.8.0
- 7.7.0
- 7.6.0
- 7.5.0
- 7.4.1
- 7.4.0
- 7.3.3
- 7.3.2
- 7.3.1
- 7.3.0
- 7.2.0
- 7.1.0
- 7.0.0
- 6.3.0
- 6.2.2
- 6.2.1
- 6.2.0
- 6.1.0
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.6.0
- 5.5.5
- 5.5.4
- 5.5.3
- 5.5.2
- 5.5.1
- 5.5.0
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.2
- 5.0.1
- 5.0.0
- 4.4.0
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 4.0.0-RC1
- 3.8.x-dev
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1
- 3.0.1
- 3.0
- 3.0-RC2
- dev-dependabot/composer/phpstan/phpstan-tw-2.0.4
- dev-rel1020
- dev-mw-config
- dev-mw-autoload
- dev-geocode
This package is auto-updated.
Last update: 2024-12-19 12:11:20 UTC
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:
- Customizable and dynamic Leaflet maps
- Customizable and dynamic Google Maps
- Structured data and query integration with Semantic MediaWiki
- Visual map editor
- GeoJSON and KML support
- Parser functions for geocoding, coordinate formatting and geospatial operations
- Translations in over 100 languages, image layers, static maps and more
Missing a feature? Get software development via Professional.Wiki. Discounts for work that is open-sourced.
Documentation
For administrators
- Installation
- Configuration
- Release notes - detailed list of changes per release
- Platform compatibility - overview of PHP and MediaWiki support per release
For wiki users
- Feature overview
- Displaying Leaflet maps
- Customizing Leaflet maps
- Displaying Google maps
- Customizing Google Maps
- Semantic MediaWiki integration
Getting support
- Professional support and custom development: Professional.Wiki
- Ask a question on the mailing list
- File an issue on our issue tracker
Project status
- Latest version
- Downloads on Packagist
- Continuous integration
- Open bugs and feature requests
- Maps on OpenHub
- Blog posts about Maps
Contributing
Development
To ensure the dev dependencies get installed, have this in your composer.local.json
:
{ "require": { "vimeo/psalm": "^4", "phpstan/phpstan": "^1.4.9" }, "extra": { "merge-plugin": { "include": [ "extensions/Maps/composer.json" ] } } }
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 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 inMap\SemanticFormat
)src/WikitextParsers
- Parsers for the wikitext definitions of map elements (like theLegacyModel
)
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
You can use the Makefile
by running make commands in the Maps
directory.
make ci
: Run everythingmake test
: Run all tests and static analysismake cs
: Run all style checks
Alternatively, you can execute commands from the MediaWiki root directory:
- PHPUnit:
php tests/phpunit/phpunit.php -c extensions/Maps/
- Style checks:
vendor/bin/phpcs -p -s --standard=extensions/Maps/phpcs.xml
- PHPStan:
vendor/bin/phpstan analyse --configuration=extensions/Maps/phpstan.neon --memory-limit=2G
- Psalm:
php vendor/bin/psalm --config=extensions/Maps/psalm.xml
Beware that due to technical debt, some tests access the network.