<commit_before># Configurable Map Viewer (CMV)

[![Build Status](https://travis-ci.org/DavidSpriggs/ConfigurableViewerJSAPI.svg?branch=master)](https://travis-ci.org/DavidSpriggs/ConfigurableViewerJSAPI)

This JS web app can be easily configured or used as a boilerplate/starting point for basic viewers. It also demonstrates best practices for OO and classes in JS (via dojo's great [declare](http://dojotoolkit.org/reference-guide/1.9/dojo/_base/declare.html) system). 

## Demo Site
[http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer](http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer)

Note: Not all functions work in the demo site due to a limitation in GitHub project hosting (no functioning proxy page).

## Installation:
* Download the latest release [here](https://github.com/DavidSpriggs/ConfigurableViewerJSAPI/releases).
* Move to your web server
* configure the proper proxy page. Should work out of the box if using IIS.
* Edit the config.js file to include your services and desired widgets.
* Enjoy!

## Customize:
* Use the ConfigurableViewerJSAPI\js\config\viewer.js file to customize your own map layers, task urls and widgets.

## Notes:
* This is the beginning of a viewer, it in no way represents a complete solution and is intended for well versed JS developers as a starting point.
* If there is a feature you would like to request, add it to the projects [trello board](https://trello.com/b/TjjipGmV/configurable-map-viewer) for consideration.
* This app demonstrates best practices of OO programing in dojo and JS, using modular design and classes.

## Widgets Included:
* Base Maps
* Bookmarks
* Directions
* Draw
* Editor
* Find
* Geocoder
* Growler
* Help Button
* Home
* Identify (for dynamic layers)
* Legend
* Locate Button (Geolocation)
* Measure
* Overview Map
* Print (Advanced)
* Scalebar
* StreetView
* Table of contents

## Change log:
See [releases](https://github.com/DavidSpriggs/ConfigurableViewerJSAPI/releases) for change logs.

# IRC
We have an IRC channel: `#cmv` on freenode for the project. If you have questions, stop on by. I recommend [HexChat](http://hexchat.github.io) as an IRC client or you can use freenode's [webchat](http://webchat.freenode.net) client.

# Contributing to the project
There are many ways to contribute:<commit_msg>Updates to readme [ci skip]<commit_after># Configurable Map Viewer (CMV)

[![Build Status](https://travis-ci.org/DavidSpriggs/ConfigurableViewerJSAPI.svg?branch=master)](https://travis-ci.org/DavidSpriggs/ConfigurableViewerJSAPI)

This JS web app can be easily configured or used as a boilerplate/starting point for basic viewers. It also demonstrates best practices for modular design and OOP via classes in JS using dojo's great [declare](http://dojotoolkit.org/reference-guide/1.9/dojo/_base/declare.html) system.


## Demo Site
[http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer](http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer)

Note: Not all functions work in the demo site due to a limitation in GitHub project hosting (no functioning proxy page).

## Installation:
* Download the latest release [here](https://github.com/DavidSpriggs/ConfigurableViewerJSAPI/releases).
* Move to your web server
* configure the proper proxy page. Should work out of the box if using IIS.
* Edit the config.js file to include your services and desired widgets.
* Enjoy!

## Customize:
* Use the ConfigurableViewerJSAPI\js\config\viewer.js file to customize your own map layers, task urls and widgets.


## Widgets Included:
* Base Maps
* Bookmarks
* Directions
* Draw
* Editor
* Find
* Geocoder
* Growler
* Help Button
* Home
* Identify (for dynamic layers)
* Legend
* Locate Button (Geolocation)
* Measure
* Overview Map
* Print (Advanced)
* Scalebar
* StreetView
* Table of contents
* If there is a feature you would like to request, add it to the projects [trello board](https://trello.com/b/TjjipGmV/configurable-map-viewer) for consideration.

## Change log:
See [releases](https://github.com/DavidSpriggs/ConfigurableViewerJSAPI/releases) for change logs.

## IRC
We have an IRC channel: `#cmv` on freenode for the project. If you have questions, stop on by. I recommend [HexChat](http://hexchat.github.io) as an IRC client or you can use freenode's [webchat](http://webchat.freenode.net) client.

## Contributing to the project
There are many ways to contribute:
{'fraction_non_alphanumeric': 0.094446973145198, 'fraction_numerical': 0.0009103322712790169, 'mean_word_length': 4.89142091152815, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6376840', 'n_tokens_mistral': 1380, 'n_tokens_neox': 1306, 'n_words': 485}