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

191670
507
01-08-2015 07:55 AM
Labels (1)
AdamDrackley
Frequent Contributor

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

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.

https://github.com/cmndrbensisko/LocalLayerWidget

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.

AccessifizrWidget

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.

https://github.com/cmndrbensisko/AccessifizrWidget

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
BarnabyRockwell
Deactivated User

Robert and Adam,

Using v1.6 of this widget and WAB Dev 1.2, there seems to be an incompatibility with the WAB LayerList widget.  Using apps imported from WAB Dev 1.1, when I click on the Layer List widget, no layers load (it just hangs).  Layers themselves (added using LocalLayer widget) appear fine in viewer, but I cannot switch between them since nothing is visible in the Layer List widget.  Any ideas?

An odd thing:

Using an imported app that uses an AGOL Web Map for service layers instead of the LocalLayer widget, the Layer List still hangs.  What the....?  Perhaps the issue has nothing to do the the LL widget, but is a bug with WAB Dev 1.2 Layer List widget? 

Best regards,

Barnaby

--

Edit:  The information in \client\stemapp\jimu.js\LayerInfos\LayerInfoForMapService.js has changed from WD1.1, so the instructions on how to modify this file to get the LL widget to work may have to be changed.  For example, there are no longer lines that read as below:

var url = this.originOperLayer.url + '/' + subId; (now it is var url = this.layerObject.url + '/' + subId;)

var url = this.originOperLayer.url + '/layers'; (now it is var url = this.layerObject.url + '/layers';)

0 Kudos
BarnabyRockwell
Deactivated User

I wiped WAB Dev 1.2 and installed it again from scratch, and imported one of my apps from 1.1.

This time, the Layer List shows the layers which were added using LL widget (v1.6), but the layer names have all been replaced with the REST service directory name:

Untitled.jpgAll my services lie within the usminmap server directory.  I'm using ArcGIS Server 10.3.1.  Other than this layer name issue, everything else about the LL widget seems to work fine so far...

Cheers,

Barnaby

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

All,

   Version 1.2 for WAB 1.2 has now been released. I have made the decision to make the version number regress to 1.2 to keep with the standard version numbering of WAB and other custom widgets. You can download the release here. Pay close attention to the changes in the ReadMe.md as the required changes to certain WAB source files have changed.

0 Kudos
DanielStoelb
Frequent Contributor

So I just updated to the latest version and it appears that it isn't recognizing any of the modifications to the sublayers - turning off the ones turned on by default from the service.  Has anyone else had this issue?

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

Daniel,

   The ability to set sublayer visibility for dynamic layers that was added in 1.6 was removed in 1.2 due to many issues with that feature.

0 Kudos
BarnabyRockwell
Deactivated User

Robert,

Fantastic work, as usual.    Many, many thanks for updating the widget!

I'm glad you removed the layer visibility functionality from v1.6 (I was quietly hoping you'd remove it).

Best regards,

Barnaby

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Robert, on a new install, with fresh setting for all my widgets, when I try to set up the reverse proxy, whether I check the "Use Proxy" check box or not, the address/location boxes are not taking input (grayed out).

I edited the     <WAB>\server\apps\#\configs\LocalLayer\config_Local Layer Widget.json   adding the proxy info from the previous version, restarted WAB and now the Use Proxy shows my info.

My guess it the "Use Proxy" box is not triggering what it should?  (haven't got to the point see see if the proxy is reading or not).

Should I be putting this comment her (my preference) of the github page??

EDIT: additionally, I used to be able to add my basemap to the LL widget, this version doesn't allow it (Alaska Albers).  haven't dove into the issue yet. so just fyi for now.

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

Rebecca,

  I asked Adam on the purpose of the reverse proxy back when I was designing the widgets UI and he mentioned that it had to do with some personal needs he had in his setup. I still don't understand the use or need for it as WAB handles the proxy stuff already. Please provide more info on the Alaskan basemap issue when you can.

0 Kudos
FinbarGillen
Frequent Contributor

Hi,

Whenever I go to open the LocalLayers widget within my application it doesn't open.

I think this where it is referenced in the console log. Any suggestions?

Cheers,

Finbar

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

Finbar,

   It sounds like WAB can not get access to the WebMap. Can you verfiy that your WebMap is working and accessible?

0 Kudos