Coder Social home page Coder Social logo

gaybro8777 / maps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from professionalwiki/maps

0.0 1.0 0.0 10.34 MB

🗺 Maps is the MediaWiki extension that enables visualization of geographic data with dynamic embedded maps.

License: Other

Shell 0.19% PHP 38.73% JavaScript 58.22% CSS 2.61% HTML 0.26%

maps's Introduction

Maps

Maps is a MediaWiki extension to work with and visualize geographical information.

Features:

  • Powerful #display_map parser hook for embedding highly customizable dynamic maps into wiki pages.
  • Support for multiple mapping services: Leaflet, Google Maps and OpenStreetMap.
  • Integration with Semantic MediaWiki via a coordinate datatype
    • Query your stored coordinates and visualize them on dynamic maps, as tables or as lists
    • Export your coordinates as KML or RDF
    • Combine coordinates with other structured data stored in your wiki
  • Geocoding via several supported services with the #geocode parser function.
  • Coordinate formatting and format conversion via the #coordinates parser function.
  • Geospatial operations
    • Calculating the distance between two points with #geodistance
    • Finding a destination given a starting point, bearing and distance with #finddestination
  • Distance formatting and format conversion via the #distance parser function.
  • Visual map editor (Special:MapEditor) to edit #display_map wikitext (requires Google Maps).

Maps has been maintained since 2009 and is installed on over 1000 public wikis.

User manual

For administrators

For wiki users

Getting support

Project status

Contributing

Project structure

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

  • src/DataAccess - implementations of services that use the network, read from disk or persistence services
  • src/Elements - Value Objects representing geographical elements (should be devoid of MediaWiki binding)
  • src/MediaWiki - MediaWiki hook points, including API modules, special pages and MediaWiki hooks
  • src/Presentation - presentation layer code (all code dealing with HTML etc should be here)
  • src/SemanticMW - Semantic MediaWiki hook points, including result printers and value descriptions

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.

maps's People

Contributors

acnetj avatar addshore avatar akionux avatar amire80 avatar anomiex avatar atdt avatar danwede avatar fannon avatar floriansw avatar gcebelieu avatar helmutleitner avatar jeroendedauw avatar kghbln avatar legoktm avatar mlidal avatar mwjames avatar netbrain avatar nikerabbit avatar nischayn22 avatar paladox avatar pastakhov avatar petertheone avatar raymondde avatar reedy avatar sarumpaet avatar shirayuki avatar siebrand avatar tosfos avatar translatewiki avatar yaronkoren avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.