Releases: cmv/cmv-app
2.0.0-beta.2
Beta 2 includes many bug fixes and several enhancements to CMV Beta 1!
Enhancements
- Lazy Loaded Widgets - Widgets in title and floating panes are no longer loaded until they are opened by the user #730
- Mobile Sidebar - A mobile friendly sidebar based on @DavidSpriggs dojo-sidebar project included by default #726. In addition many mobile enhancements have been made to cmv widgets including Basemaps #725,
- Custom group layers - The layerControl widget now supports grouping layers into custom, configurable groups #712
- Graphics layers can now be included in the
operationalLayers
array and supported the layerControl Widget #723 - OpenStreetMap layers added to the layerControl widget #723
Bug Fixes
Other
- ESRI JavaScript API Updated to 3.21 #729
2.0.0-beta.1
Introduction
Hello there and welcome to CMV 2.0 Beta 1!
It has been awhile since our previous release of CMV though we've been far from idle. The shiny new 2.0 release includes many, many, new features and bug fixes we've added over the last 18 months. Only some of the notable enhancements are listed at the top of this page. The full commit log is provided at the bottom.
While this release is labeled as a beta-1
, many developers have been using it in test and production environments for quite some time without issue. So don't be shy! Give this release a spin and provide us some feedback via the Issues or Gitter chat. Even better still, join us in making CMV even more awesome by contributing a Pull Request.
We feel there is lots of great new stuff to be excited about in this release but we're barely getting started! We have great plans for frequent releases of CMV with a beta 2 already in the works. Your feedback is very valuable to us. Please let us know what you think.
Enjoy,
The CMV Team
Highlights
Notable Enhancements
- #66, #475, #393, #499 Restructure viewer into separate modules to allow overriding layout, widget loader, config loader, and other application aspects docs
- #580, #595 Add
dojo/i18n
support for different languages throughout the cmv application and widgets. These languages are provided in this release:- Spanish
- French
- Portuguese
- Brazilian Portuguese
- #628 Add support for webmaps from ArcGIS Online and Portal See
webMapOptions
in the documentation - #677 Esri API updated to 3.20
- Major updates to the documentation
- #668, #615, #594 Dojo flat theme added - replaces un-maintained dbootstrap
- #571, #59 HTTPS everywhere
- #688 New templates for GitHub Issues and Pull Requests
Support for Additional Layers
Widgets and Layout
- #663 Add configure-ability to title pane icons
- #645 - Loading indicator while titlePane and contentPane widgets are loading
- #643 Three new widget types:
- loading
- layout
- layer
- #545 allow user-defined widget types
New widgets
- #580 Locale widget
- #660 CMV Legend widget wraps the Esri Legend dijit with additional functionality
- #625 Basemaps Gallery widget
- #496 Esri Search widget
Layer Control Widget
- #680 Enhance the layer menu to enable custom menu items. Standardize menu icons. Allow expanding the menu by clicking the layer name. Layer menu item docs
Identify Widget
- #648 Identify widget creates identify template when layers are added
- #664 Allow dynamic layers and feature layers to both be included in identify
- #597 Add support for dynamic
infoTemplates
andshowAttachments
- #505 Make identify popup draggable - Identify docs
- #489, #549 Make identify work with time enabled layers
- #655, Add identify field formatters for the ability to format an individual field in the identify popup Identify documentation
Basemap
- #519 Allow the basemap to be set via
topic.publish
- #624 Support custom and builtin AGOL basemaps simultaneously
Streetview Widget
- Use Google Maps loader from npm
- #598 Allow API key to be configured in
viewer.js
- #530 StreetView can be resized when titlePane widget is floating
Geocoding widget
- The Esri Geocoding widget has been deprecated and replaced by the Esri Search widget
Bug fixes
- #603 Sublayer menu doesn't appear for dynamic layers with only one layer
- #669 Grunt connect with proxy fixed
- #621 Hard-coded id's failing in identify
- #530, #614, #622 Floating widgets won't stop dragging
Detailed commit log
March 2017
2017-03-08 - Tim McGee - a7077c9 - Merge pull request #693 from cmv/develop
2017-03-05 - David Spriggs - f4c7529 - Merge pull request #692 from cmv/feature/updated-readme
2017-03-05 - David Spriggs - 4455680 - Merge branch 'develop' into feature/updated-readme
2017-03-05 - David Spriggs - ff0a2b4 - Merge pull request #691 from cmv/fix/clean-up-draw-widget-html-css
2017-03-04 - Tim McGee - 874b326 - use relative link for logo image
2017-03-04 - Tim McGee - 17e360f - Add CMV rocket logo
2017-03-04 - Tim McGee - cefe3ce - updated screenshot
2017-03-04 - Tim McGee - 74b1511 - HTTPS everywhere
2017-03-04 - Tim McGee - 69b4d55 - Merge branch 'develop' into fix/clean-up-draw-widget-html-css
2017-03-04 - Gregg Roemhildt - adc8b34 - Merge pull request #689 from cmv/feature/updated-badge-for-documentation
2017-03-04 - Tim McGee - c9a69e8 - Merge branch 'develop' into fix/clean-up-draw-widget-html-css
2017-03-04 - Tim McGee - 1de7566 - Updated badge (again) for documentation after addition of Greenkeeper badge. missed second docs badge in README.
2017-03-04 - Tim McGee - 212e948 - Merge branch 'develop' into feature/updated-badge-for-documentation
2017-03-03 - Tim McGee - db4c4d9 - Merge pull request #690 from cmv/greenkeeper/initial
2017-03-04 - greenkeeper[bot] - bb06971 - docs(readme): add Greenkeeper badge
2017-03-04 - greenkeeper[bot] - e777cf3 - chore(package): update dependencies
2017-03-03 - Tim McGee - c255512 - Updated badge for documentation
2017-03-03 - Tim McGee - 1408666 - Merge pull request #686 from cmv/modular-config
2017-03-03 - Tim McGee - 025ae8e - Merge branch 'develop' into modular-config
2017-03-03 - Tim McGee - edfe9bf - Merge pull request #688 from cmv/add-github-templates
2017-03-03 - roemhildtg - cc810b7 - add pull request template
2017-03-03 - roemhildtg - ea567b0 - add ISSUE_TEMPLATE.md
2017-03-03 - roemhildtg - 36a3727 - mix-in parameters passed to app constructor
2017-03-02 - Gregg Roemhildt - 1ee3e7f - make default config file configureable
2017-03-03 - Tim McGee - d6f840a - Merge pull request #685 from cmv/dojo-build-fixes
2017-03-03 - Tim McGee - 9bab91b - update flag-icon-css version to most recent.
2017-03-02 - Tim McGee - 4fbf86a - remove dependency on nls for 2 words. To override the title, include a config for the widget in viewer.js.
2017-03-02 - roemhildtg - 34c448b - use relative url for i18n path
2017-03-02 - roemhildtg - b9d22a0 - move flag icon css to dojo config for package location configuration
February 2017
2017-02-28 - Tim McGee - a9c1f92 - Merge pull request #680 from cmv/layer-menu-enhancements
support layerControlLayerInfos.menu
property
2017-02-27 - roemhildtg - 2d346f8 - Add cursor style mouse to various parts of the layer control
2017-02-27 - roemhildtg - 9d65205 - Move expand click node to the entire control row to more easily expand/collapse Control
2017-02-27 - roemhildtg - e8f2aa2 - use caret right and caret down icons for layer control expand/collapse
2017-02-27 - Gregg Roemhildt - c86e738 - Merge pull request #677 from cmv/feature/update-to-esri-jsapi-3.20
2017-02-26 - David Spriggs - 280b546 - Merge branch 'develop' into feature/update-to-esri-jsapi-3.20
2017-02-26 - David Spriggs - 03088a5 - Merge pull request #669 from cmv/fix/updated-grunt-connect-with-proxy
2017-02-26 - David Spriggs - caeba31 - Merge branch 'develop' into fix/updated-grunt-connect-with-proxy
2017-02-26 - David Spriggs - c7f1d76 - Merge pull request #668 from cmv/fix/refined-css-for-esri-directions-and-flat-theme
2017-02-25 - Tim McGee - b6fda47 - update to Esri JS API upcoming version 3.20
2017-02-11 - Gregg Roemhildt - a8978a2 - separate menus into subLayerMenu
and menu
properties
2017-02-11 - Gregg Roemhildt - 2848aad - add examples of feature layer custom menu
2017-02-11 - Gregg Roemhildt - 5f1f817 - move custom layer menu logic to _Control - all layer types now 2017-02-11 - Tim McGee - 592ed98 - Merge branch 'develop' into fix/updated-grunt-connect-with-proxy
2017-02-11 - Tim McGee - fb53891 - Merge branch 'develop' into fix/refined-css-for-esri-directions-and-flat-theme
2017-02-11 - Tim McGee - 1feae77 - Merge pull request #666 from roemhildtg/use-inherited-mixins
2017-02-11 - Gregg Roemhildt - dd2f8dc - remove extra promiseAll reference
2017-02-11 - Gregg Roemhildt - ce28af2 - pass null to create 'all' widgets
2017-02-11 - Gregg Roemhildt - 5268fd3 - Merge branch 'use-inherited-mixins' of https://github.com/roemhildtg/cmv-app into HEAD
2017-02-11 - Gregg Roemhildt - 94baf8b - Cleanup #666
2017-02-07 - Tim McGee - 92dad0a - Merge branch 'develop' into use-inherited-mixins
2017-02-07 - Tim McGee - 955f3d0 - Merge pull request #664 from roemhildtg/identify-graphics-and-dynamic-layers
2017-02-01 - roemhildtg - 9300ebb - reset viewer.js to develop
2017-02-01 - roemhildtg - 5c65783 - rename preStartup to postConfig for clarity
2017-02-01 - roemhildtg - 5c6b537 - call createPanes
when mapDeferred
resolves
2017-02-01 - roemhildtg - f3cf778 - fix lint errors
2017-02-01 - roemhildtg - 1caca2f - fix lint error
2017-02-01 - Gregg Roemhildt - 50cc823 - Merge branch 'develop' into develop
2017-02-01 - roemhildtg - 04fd307 - Override api's default graphic identify function and identify dynamic layers additionally
January 2017
2017-01-24 - David Spriggs - 46a443f - Merge pull request #663 from cmv/feature/move-titlePane-icons-to-config
2017-01-23 - Tim McGee - 6b39638 - Make the icons for the tilePanes configurable in viewer.js and remove the classes from the css.
201...
1.3.4
Fixes
- Dockable Sidebar Widgets
- reworked docking and undocking of floating widgets for better touch support.
- fixed issue with Internet Explorer when sometimes the window would continue to move with mouse after the mouse button was released
- MapInfo Widget
- fixed occasional error with setting the map scale on startup.
New Features
- Upgraded to Esri JS API version 3.14 (you get all the goodness that comes with 3.13 and 3.14).
Enhancements
- Geocoder Widget
- Limit search to map extent.
- Popup
- Allow the use of PopUp's setContent method.
- Find Widget
- Advanced functionality added. See the new documentation
- Directions Widget
- fixed styling in Esri widget when AGO routing is not used.
- Layer Types
- Added support for:
- WebTiledLayer
- ArcGISImageServiceVectorLayer (with legend)
- RasterLayer
- StreamLayer (with Legend)
- DataAdaptorFeatureLayer
- Added support for:
- Layer Control Widget
- Added support for menus on sub layers including
topic.publish
and configurable menu icons
- Added support for menus on sub layers including
- Legend Widget
- Added support for excluding operation layers.
- Editor Widget
- Added support for excluding operation layers.
- LayerControl Widget
- Added support for sublayer menus (like top level menus).
- Documentation
- Addition of detailed documentation for Find widget plus other minor enhancements
- Updated to version 1.3.4
- Font-Awesome
- Updated to Font-Awesome version 4.3.0
- Proj4JS
- Updated to Proj4JS version 2.3.3
Demo site
Download options
- If you are not a developer, and simply want to configure the viewer with you own layers use the viewer.zip download as it is built and ready to go.
- If you are a developer and want to create your own widgets or modify core packages, download a source package.
1.3.3
Here's a quick little release while we prepare some bigger and grander enhancements to CMV...
Fixes
- Growler Widget
- html tags displayed in locate button growler messages.
Growler messages no longer display html tags - message is now properly displayed as html formatted text. (Issue #341)
- html tags displayed in locate button growler messages.
- Directions Widget
- 3.12 added a new map click feature which does not work with CMV. Deactivated this default feature and hid the button in the Dom until Esri updates the API.
New Features
- New Documentation
- Use the documentation for getting started and guidance on configuring your application. Looks and works great on your phone, tablet or computer. The initial documentation is sparse. Please help make it better by contributing over at the cmv documentation repo.
- JavaScript API Enhancements
- Version 3.12 of the ESRI JavaScript API is now the default version. Read about What's New in version 3.12
Enhancements
- Find Widget
- use .dgrid-row:click events to zoom to clicked find result item. The map will now zoom to the clicked find result row regardless of whether the clicked row is the selected row or not.
- Sidebar widgets
- Added support for undocking and moving the floating widgets using the entire titlebar which should be more intuitive.
- Keep track of floating widget's position in sidebar when undocked so it will be re-docked in the same position.
Demo site
Download options
- If you are not a developer, and simply want to configure the viewer with you own layers use the viewer.zip download as it is built and ready to go.
- If you are a developer and want to create your own widgets, download a source package.
1.3.2
Fixes
-
Print Widget
- When using an async print service, the UI is updated appropriately on job failure.
-
LayerControl Widget
- dynamic layer control self aware of changes to visible layers and updates UI accordingly.
- fixed bug that removed dynamic layer control expand/collapse icon when
noLegend: true
.
-
Header/Subheader
*switched to using
innerHTML
instead ofinnerText
to support Firefox browsers. -
dbootstrap Theme
- fixed issue with sidebar splitter and Internet Explorer 10.
New Features
- LayerControl Widget
- Added CSV, GeoRSS, WMS and KML layers.
Enhancements
- All widgets support internationalization and have been localized for US-EN.
- LayerControl Widget
- All expand/collapse nodes wipe in and out.
- Draw Widget
- Now uses a custom font for draw button icons. Layout of draw buttons also improved. An advanced draw widget with options for updating symbols, editing existing graphics and other functions coming soon.
- Identify Widget
- add support for existing layerDefinitions with IdentifyTask.
- Added a new optional property to allow the info window to be draggable over the map.
- Find Widget
- add support for existing layerDefinitions with FindTask.
- Button now use FontAwesome icons.
- Print Widget
- Button now use FontAwesome icons.
Demo site
Download options
- If you are not a developer, and simply want to configure the viewer with you own layers use the viewer.zip download as it is built and ready to go.
- If you are a developer and want to create your own widgets, download a source package.
1.3.1
Version 1.3.1 is mostly a maintenance release with enhancements to the Layer Control Widget and a few minor fixes.
Fixes
- LayerControl Widget
- Introduce base class for all layer controls.
- Clean up and better internal workings.
- Controls self aware of layer visibility change and auto-update.
- Identify Widget
- The layerID of a feature layer is now used when retrieving a predefined InfoTemplate.
- Help Widget
- The contents of the help dialog is now properly displayed when openOnStartup is used.
- Basemap Widget
- Add missing
dijit/form/DropDownButton
module. - Added missing "font-family: FontAwesome;"
- Add missing
- All Widgets
- Loading Font-Awesome stylesheet in the page header to avoid missing icons in some mobile browsers.
- Fixes for compatibility with Internet Explorer 8.
- Sidebar Collapse icons
- changed css to correct positioning in some mobile browsers.
- Added missing "font-family: FontAwesome;"
Enhancements
- Layer Control Widget
- Add menu items for dynamic layer to turn all sublayers on/off.
- Add menu icon and remove menu link.
- Add Metadata link menu item option.
- Add
showAllLayers()
andhideAllLayers()
methods to LayerControl class. For devs to toggle all layers on/off. No widget UI.
- version 3.11 of the ESRI JavaScript API is now the default version.
- dbootstrap is now a pure css theme and updated to the latest Font Awesome version 4.2. no more dojo package. no more loading font files. More themes to come...
Notes
- The TOC widget has been completely removed, including the
tocLayerInfos
array in controller.
Demo site
Download options
- If you are want to deploy a CMV application to production and simply want to configure the viewer with your own layers and select from included widgets, use the viewer.zip download as it is built and ready to go.
- If you are a developer and want to create your own widgets, download a source package.
1.3.0
Fixes
- Map Right Click menu
- remove menu when there are no sub menus added by widgets.
- BaseMap Widget:
- Basemap no longer blinks if
mapStartBasemap
is the same as the map's initial basemap
- Basemap no longer blinks if
- Identify Widget:
- Identify now works without the TOC widget. Previously unknown dependency on old TOC widget has been removed.
- Identify widget no longer returns "invisible" features from layer using a layerDefinitions query.
- If the legend widget was not included in the application, the Layer name was "undefined" in the drop-down list of the Identify User Interface
New Features
- Configurable Heading, Sub Heading and Page Title
- The application heading, subheading and page title can be configured within the
config/viewer
.
- The application heading, subheading and page title can be configured within the
- New LayerControl Widget:
- A map layer control widget to replace the TOC (still available):
- Toggle layer visibility
- Layer menu with Zoom To Layer, Transparency and Layer Swipe
- Legends for ArcGIS layers
- Sublayer/folder structure and toggling for ArcGIS dynamic layers
- Layer reordering in map and LayerControl widget
- Separate vector and overlay layers (required for layer reordering)
- Supports dynamic, feature, tiled and image (more coming)
- In a first effort towards improved documentation, the LayerControl widget includes a detailed readme. More documentation for other widgets is coming soon.
- A map layer control widget to replace the TOC (still available):
Enhancements
- Find Widget:
- Perform a Find by pressing return after providing your search criteria. It is no longer necessary to click the "Submit" button.
- "Find Exact Matches Only" is now unchecked by default.
- Identify Widget:
- Can now click on a graphic created by another widget (i.e, Find) and Identify the features below it.
- Can now suppress the automatic generation of infoTemplates for layers/sublayers that have not been explicitly defined in
config/identify
. - Centralized management of infoTemplates for feature layers and other graphic layers when switching from
identify
mode to other map click modes.
- Measurement Widget
- Measurement stop when the Measurement title pane is closed.
- Drawing Widget
- Drawings are cleared when the Drawing title pane is closed. Let us know if this interferes with your workflow.
- MapClick Mode:
- Changing the map click mode to one of the various options:
draw
,editor
,measure
,identify
,streetview
is now handled with dojo topics. All relevant widgets subscribe to the same topic and respond accordingly.
- Changing the map click mode to one of the various options:
- Side panes
- Any pane can be collapsed (minimized) at application start up by using the new
open: false
parameter in the `config/viewer. - A widget can open/close a pane by publishing a topic.
- Any pane can be collapsed (minimized) at application start up by using the new
- Configuration
- The configuration files in the
config
folder are no longer minified in the viewer.zip file for a release making it easier to deploy and configure CMV in production environments.
- The configuration files in the
- Development:
- new
'isDebug
entry inconfig/viewer
to enable help with debugging CMV applications - new centralized Error Handling while debugging. No more console.log() statements.
- cleaned up code indents, inconsistent spacing and undefined variables.
- new
CMV.IO
The CMV project has a landing page: http://cmv.io/
The CMV organization has a landing page on GitHub: http://cmv.github.io/
Demo site
The demo site has a new home: http://demo.cmv.io/viewer/
Download options
- If you are want to deploy a CMV application to production and simply want to configure the viewer with you own layers and select from included widgets, use the viewer.zip download as it is built and ready to go.
- If you are a developer and want to create your own widgets, download a source package.
1.2.0
Fixes
- Geocoder widget:
- Restrict address search to current extents
- Geocoder options not being passed correctly in config
- StreetView widget:
- Resize panorama when side pane is resized
- Fixed
proj4CustomURL
typo - Fixed missing loading image
- Editor widget:
- infoTemplates for feature layers were interfering with Editor mouse clicks
- Removed infoTemplates from all feature layers when editing starts and re-add them again when editing is completed
- CSS added to correct the instance where Sidepane would disappear when using iOS and the StreeView or Find widgets were opened in the side pane.
New Features
- New Reverse Geocoding capability:
- Right click map menu for Reverse Geocoding
- New MapInfo widget:
- Simple widget for displaying coordinates of mouse location and optionally map scale and/or zoom level
- Supports grid, decimal lat/lng and DMS lat/lng. Can project grid to decimal or DMS lat/lng
- New Geocoder widget:
- Replaced ESRI Geocoder widget with CMV-version so it can be collapsible and mobile-friendly
Enhancements
- Use the compact build of ESRI JavaScript API for quicker load of api
- Improved Mobile Experience:
- viewport and other relevant meta tags added to index.html
- detect
touch
devices and use PopupMobile class for infoWindow - CSS classes for more responsive design when device has dimensions of a tablet or phone
- Move map right click menu to controller. This adds ability to include menu options from multiple widgets
- Directions widget:
- Use current location for directions
- Moved menu for directions to new right click menu
- Identify Widget:
- Right click map menu for Identify
- Optional UI for Identify widget to select single dynamic layer or all layers. Can be in a side pane with drop-down to select single layer/sublayer for identify
- InfoTemplates for Feature Layers can now be configured within the identify config:
- Support for feature layers from MapService using IdentifyTask
- Support for feature layers from FeatureService (graphics)
- Create default infoTemplate for feature layer graphics if not explicitly defined. Uses the layer's
outFields
array if provided otherwise uses the layer'sfields
array - Support for
showAttachments
in default template (feature layers) - Store the PopupTemplate for layer/sublayer once created so it doesn't need to be recreated continuously
- Optional
Identify Here
to right-click map menu - Replaced description in PopupTemplate JSON with fieldInfos array for identified layers that do not have a template defined in the config
- Add formatting for attribute table in Identify Popup to it more attractive and closer match the dbootstrap styling
- Close popup if IdentifyTask returns an error
- Layers can be excluded from identify using
identifyLayerInfos
in config - Specific Sublayers can now be specifically included from identify using
identifyLayerInfos
in config. This allows you to exclude sublayers from identify
- StreetView widget:
- Right click map menu for StreetView
- Added support for the png32 image format for dynamic operational layers.
- Side Panes:
- Added collapse buttons programmatically to handle the new multiple panes around the map.
- Side panes can be configured as collapsible or fixed position.
- Side panes can have a splitter to dynamically resize them.
Demo Site
http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer (some features do not work when hosted on github due to unavailable proxy)
1.1.2
Fixes:
- TOC expand/collapse button restored
- TOC opacity slider optional
- TOC sublayer toggle issue
New features:
- Config file can be set via url param: ?config=viewer or ?config=config/viewer
- Multi-pane configuration via config file
- Travis-ci add to project to automate releases
Demo site:
http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer (some features do not work when hosted on github due to unavailable proxy)
v1.1.1
New Features:
- New
canFloat
bool added to TitlePane Widgets config that allow them to float/move over map and be re-docked.
Demo site:
http://davidspriggs.github.io/ConfigurableViewerJSAPI/viewer (some features do not work when hosted on github due to unavailable proxy)