A modern free and open-source web mapping application with built-in migration support for legacy Flex applications. Community Edition.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
config
css
images
js
misc
server
tests
tmp
.dockerignore
.gitignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
gulpfile.js
icon.png
index.html
package.json
web.config

README.md

maple

A modern, free and open-source web mapping application with built-in migration support for legacy Flex Viewer applications.

Screenshot

In June 2016 Viewer for Flex was discontinued with no clear migration path for existing applications. Maple was born out of the necessity to provide such migration path. Our goals have been to:

  • Allow an organization to continue using Viewer for Flex while the issues of a new application development are sorted out.
  • Keep configurations between the legacy application and the new application in sync, allowing for a transition period in which both applications can be available to users.

As a result of such goals, the configuration files in Maple have a 1-to-1 correspondence to those of legacy Flex applications.

maple-diagram

A tool that automates the migration of legacy configuration files is available at https://maple.virtualgis.io

Users can also write the configuration files for new projects manually or use one of the many XML to JSON converters to convert their existing projects.

Demo

  • Hello United States. A simple public map showcasing LayerList, eMapSwitcher and Bookmark widgets.
  • Construction Demo. A more complex configuration featuring user-based authentication (via the built-in user store) and showcasing LayerList, Legend, eMapSwitcher, Bookmark, Search, Locate, ElevationProfile, WMSLooping, Print, Query, ImportDataFile, Link, Measure, eDraw widgets.

Getting Started

  1. Install and configure a web server of your choice (Windows users can use XAMP, which also installs PHP).
  2. Install and configure PHP.
  3. Download the latest version of Maple and extract it in the root folder of your web server.
  4. Go to http://localhost to make sure the default application loads.
  5. Change the configuration files in config/projects/default for your application (documentation coming soon).

Getting Started wih Docker

If you have Docker you can simply run:

docker run -d -p 80:80 -v path/to/your/config:/var/www/html/config/projects/default virtualgis/maple

Then open a web browser to http://localhost.

Creating Configuration Files

Currently looking at the existing configuration examples in config/projects is the easiest way to learn how to write configuration files for Maple.

A tool that automatically migrates configuration files coming from a legacy Flex Viewer application will also be available soon, so that you don't have to do it by hand.

Supported Widgets

We currently support the following widgets:

  • Search
  • Query
  • Bookmark
  • eTime
  • WMSLooping
  • Legend
  • Link
  • Routes
  • Locate
  • ImportDataFile
  • Edit
  • LayerList
  • eMapSwitcher
  • Measure
  • eDraw
  • ElevationProfile
  • Print
  • ConfigSelectSplash (Maple has support for multiple profiles)

If you don't see one that you need in this list, open an issue to request it.

Documentation

The best source of documentation is currently to look at the examples. We are planning to expand our documentation in the upcoming months.

Support the Project

There are many ways to contribute back to the project:

  • Help us test new and existing features and report bugs and feedback.
  • ⭐️ us on GitHub.
  • Spread the word about Maple on social media.
  • While we don't accept donations, you can purchase a premium support contract.
  • Become a contributor.

Contributing

The easiest way to get started is to take a look at our list of outstanding issues and pick one. You can also fix/improve something entirely new based on your experience with Maple. All ideas are considered and people of all skill levels are welcome to contribute.

You don't necessarily need to be a developer to become a contributor. We can use your help to write better documentation and improve the user interface texts and visuals.

If you know how to code, we primarily use Javascript (Dojo/jQuery), PHP, HTML and SCSS.

If you have questions come to Gitter and we'll be happy to help you out with your first contribution.

License

The reason for selecting the AGPL v3.0 as our open source license is to require that enhancements to Maple be released to the community. Traditional GPL often does not achieve this anymore as a huge amount of software runs in the cloud.

If use of the AGPL v3 does not satisfy your organization’s legal department (some will not approve GPL in any form), commercial licenses are available. Feel free to contact us for more details.

ESRI Licensing and Attribution

Maple is based on ESRI's Javascript SDK. Before deploying Maple in production, make sure you are complying with ESRI's Licensing and Attribution.

Maple is in no way affiliated with, authorized, maintained, sponsored or endorsed by ESRI or any of its affiliates or subsidiaries.

Roadmap

  • Documentation
  • Unit Testing
  • ES6 support
  • Upgrade ESRI API to version 4
  • Support for more widgets

Credits

Some icons have been modified from IcoMoon - Free CC BY 4.0.