LocalLayerWidget Version 2.5 and AccessifizrWidget Layer - 09/28/2017

01-08-2015 07:55 AM
Occasional Contributor III

I've been having a blast playing around with the new Web AppBuilder, and have taken a few cracks at putting together some custom Widgets that I'd like to share with the community.  I hope these can assist in everyone's future Mappmaking endeavours!


LocalLayerWidget v 2.5

September 28 2017 : LocalLayerWidget v2.5 released:  This major release includes the following enhancements for the widget.  Thanks to everyone who's donated!:

Release LocalLayerWidget 2.5 · cmndrbensisko/LocalLayer · GitHub 

  • Support for 2.5 Release of ArcGIS Web App Builder
  • Support for Custom Layers via Transformers
  • Demos and sample apps
  • Prototype 3D Widget
  • Dynamic GUI changes at runtime and css insertion via odds.json/odds.css
  • And more!

November 14, 2016: LocalLayerWidget v2.2 released:  This major release includes the following enhancements for the widget:

Release LocalLayer v2.2 · cmndrbensisko/LocalLayer · GitHub 

  • Related Table Viewing and Editing
  • ImageService Viewing and Popups
  • WMS Service Viewing and Popups
  • Ability to integrate with the IncidentAnalysis widget
  • Hide Layer In Legend capability added
  • Dynamic mode added, allowing for URL-fed configuration files
  • And more!

May 18, 2016: LocalLayerWidget v.2.0 released:  This substantial change for Web App Builder v.2.0. removes the need to edit any core files in the Web App Builder, unlike previous versions.  A slight change will still be necessary for the AttributeTable widget to work properly with LocalLayerWidget layers.

  • https://github.com/cmndrbensisko/LocalLayer/releases/tag/v2.0
  • Enhancements:
    • Added autorefresh capability for dynamic layers, and sub-minute decimal values can be specified for time.
    • Added support for non-consecutive sublayer numbering to support 10.3.1 mapservices
    • Editor Tracking via an organizational Active Directory instead of ArcGIS Online User now supported
  • Bug Fixes:
    • View Attachments now works for Dynamic Layers
    • Addition of GeoJson layers fixed
    • Fix to MapService sublayer visibility when no sublayers are selected to display by default.

Mar 29, 2016: LocalLayerWidget v.1.3.1 released; Contains bugfixes to v.1.3. related to custom rendering for Feature Layers and toggling sublayer visibility in the LayerList widget.

Mar 22, 2016: LocalLayerWidget v.1.3 is now available!  (Note the version naming change; Version 1.3 refers to its compatibility with v1.3 of the WAB - This is indeed the latest version of the widget as of March 22, 2016).  Be sure to read the github page to see what tweaks need to be made to ensure that everything continues running smoothly in version 1.3 of the Web AppBuilder.

  • Includes support for GeoJSON and WebTileLayers
  • Custom Symbology and Labelling Options for Feature Layers
    • Currently requires the use of playground to generate custom json layer and label styling for Feature Layers.  For more information, please follow the instructions on the Github page.

Feb 10, 2015: LocalLayerWidget v.1.5 is now available!  This release contains full support for adding Tiled layers to your application directly from ArcGIS Server, in addition to the Basemap, Dynamic, and Feature layers available before.  Feel free to grab the widget from our Release page located at https://github.com/cmndrbensisko/LocalLayer/releases.

Feb 2, 2015: LocalLayerWidget v.1.2 is now available!  This release provides a great GUI developed by Robert Scheitlin to more easily add Feature, Dynamic, and Basemap layers to your ArcGIS Web AppBuilder Applications.  Take it for a spin, and please keep us informed of any bugs or desired enhancements through our Github Issue Tracker located at https://github.com/cmndrbensisko/LocalLayerWidget/issues.

Jan 12, 2015: Note that LocalLayerWidget v.1.1 is now available, which provides Click-To-Identify support and the option to add Feature and Basemap layers in addition to Dynamic layers.

The LocalLayer Widget is intended to allow the direct addition of MapServices to an ArcGIS Web AppBuilder application, without needing to wrap the desired services in an ArcGIS Online/Portal Web Map.


Basically, your basemap will still need to come from Portal/AGOL, but otherwise you just provide direct URLs to your own MapServices in the widget's configuration settings.  The MapServices should load and display as usual in the map, and cooperate with the Legend, LayerList, and Attribute Table widgets. Click-To-Identify functionality won't work currently, though, because the current WAB implementation relies on Portal for all the popup info.  As stated in the January 12th 2015 release, popups are fully customizable.  Note that it's not an in-panel widget, so you'll need to follow a few extra steps in the project's Readme file.


Let's make Mapps accessible for everyone!  With an eye on WCAG compliance, the Accessifizr Widget is designed to help make web applications keyboard navigable without having to modify core application code and UI.


Information about how to configure this widget is available in the core Accessifizr.js library project available here‌, but the gist is that you create a JSON-based 'roadmap' detailing the keyboard navigation of your web application, and how it should change in response to users entering modal menus, hitting the escape button, etc.  For applying descriptive alternate text to page elements, the widget leverages dojo's built-in internationalization support to specify multilingual alternate text strings.  The end result is a web app that, hopefully, is a bit easier to use for people with mobility or visual challenges.

507 Replies
Occasional Contributor III

Hey all, hope things are well.  Thank you all for your continued support of the LocalLayer widget; I'm happy to see it used so widely.  

I've been working on another tool that I plan to share with the community, and hope to present on it at the upcoming Dev Summit this year.  I've submitted an abstract below, and would appreciate if anyone interested could 'Like' it.

Fully Offline Mobile Apps with AppStudio for ArcGIS 

I've been able to use AppStudio for ArcGIS to develop a fully interactive native iOS/Android/Windows app that lets a user explore GIS datasets packaged into Mobile Map Package files.  Because map data is loaded onto the device alongside the app, like a template, the resulting application is fully offline, and doesn't even require logging into ArcGIS Online to run.  Once the app is loaded onto a device along with an mmpk file, it can be taken out into the field to provide the user with full navigation/click-for-popups/address locator functionality.

If this sounds interesting or useful to you, please feel free to upvote the link above!  Many thanks.

New Contributor II

Hi all, reporting success with the newest WAB 2.7, thanks for the nice LL widget!

0 Kudos
New Contributor II

Adam Drackley

Hi, just trying to add WebTiledLayer, but with no success - the same error with different apis and different WABS - 2.5-2.7 - TypeError "c is undefined".

0 Kudos
Occasional Contributor III

It's neat that you're trying to use WebTiledLayer, Atanas.  I haven't tested it in awhile, so hopefully a bug hasn't crept in; What service are you attempting to add as a WebTiledLayer?  I'll investigate a bit on my end using some of the Stamen maps below,


0 Kudos
New Contributor II

Hi Adam, I tried with many and different sources - from stamen, digitalglobe, etc. Tried with subdomains, or without. When "visible" is true, the app loads the WebTiledLayer, but again crashed all. Best regards!

0 Kudos
Occasional Contributor III

Can you email me your LocalLayer Config file with the WebTiledLayers, Atanas?  It will help me debug from my end.  The email is on the Github page.

New Contributor III

I'm using the LocalLayer widget 2.5 with WAB DE 2.7 and it works fine as long as I comment out line 187 in llw.js. If the line is not commented out the application will not load.

New Contributor II

Just to mention, other way to run LL on WAB 2.6-2.7 is to edit jimu.js\LayerInfos\LayerInfos.js and to toggle commented line 36 and lines 583-593, where the function is defined. Sorry but find it before reading this thread,,, (line 187).

0 Kudos
Occasional Contributor III

Hey all, hope things are well.  I've got a candidate version of the latest LocalLayer widget up below, with quite a few bug fixes.  Feel free to test in WAB versions 2.5 to 2.8, and let me know how it works out with your existing apps and workflows.

GitHub - cmndrbensisko/LocalLayer at LocalLayerv.2.8 


  • Several fixes to the Custom Layer settings dialog; the dialog should work better now, should allow you to edit it, etc.  As a note, I've been using Custom Layers pretty extensively to consume feeds from multiple sources; It's nice to have an avenue to bring custom Javascript code into the WAB in a modular way.
  • Webtile Layers load properly as either Basemaps or Tile Layers
  • A failed layer load will no longer cause the application to hang; The app will load regardless after 20 seconds.
  • Field selector menus should no longer be blocked by other menus.
  • The widget should automatically turn 'showLayers' on in the map config if any Feature Layers are present in the application.
  • The "Replace Layers in Webmap?" option actually works now; This allows you to create 'hybrid' apps where the layers set by the LocalLayer widget are just 'appended' to the other layers set by the ArcGIS Online/Portal map selected in the Map tab.  This lets you use the strengths of both tools; I was able to bring in KML/GPX layers from an AGOL map and supplement them with some LocalLayer layers.

I think that's it; the overall usability of the widget is improved in this 'housekeeping' release.  If there are any other really useful pieces of functionality that you guys would appreciate, keep submitting ideas.

Edit: Just saw your post Andrew; I'm surprised anyone uses that Proxy capability, since it's a holdover from the very first release.  What ideally would you like the Proxy option to do?

New Contributor III

Thanks Adam, works great for me in WAB 2.8!

0 Kudos