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!
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
November 14, 2016: LocalLayerWidget v2.2 released: This major release includes the following enhancements for the widget:
Release LocalLayer v2.2 · cmndrbensisko/LocalLayer · GitHub
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.
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.
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.
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.
I do see the updated info now. yea!. My doc will be more more step by step (mainly so I remember) and maybe more than they will want on the github page, but I will make sure it gets posted somewhere when complete.
Adam Drackley Robert Scheitlin, GISP
I've written down my instructions "so far" for installing and using the widget...subject to change as I learn more, and WAB and the widget(s) change. Because I wanted better formatting than I know how to do in an .md file, I wrote it in Word and created a PDF. Can this (a PDF) be provided thru GitHub? If not, (or in addition) one option is to post it the same what I did with my "Tips" for installing WAB post.
If so, I was wondering if either/both of you would like to review before I do. I would email it, but neither of you follow me here, so can't direct mail. If posting is a preferred option and you don't want to review, I'll just post and you can comment from there.
I find posting to my GeoNet page helps me find it again (vs. getting lost on local hardware) and maybe others can benefit..
Just a thought, but maybe this is something you can keep on your geonet blog as a "Live" document, updating/replacing it as it grows. That way, we can just link to your blog post in our Readme.md file, and take the best bits of your experience as a guinea pig new adopter for the widget's 'official' documentation. How would this sound?
That is what I was leaning towards, since that would make it easier for me to maintain. It will have to be a living document since this is all still changing rapidly. I'll try to post later today.
Adam,
We can fix the issue of the widgets name by you following the instruction in this link and renaming the whole repo. This would fix the issue of the download and the main widgets folder having LocalLayerWidget instead of LocalLayer (sorry that I added this issue by wanting to standardize the widget name).
...and I'll update my doc to match.
Got it. It doesn't look like there's any way to keep Github from appending the "-master" branch name to the zipped repo, but hopefully the rename will make things easier for users.
Adam,
We can point people to the release (as long as we create one for each version). In the release you can document changes and enhancements and attach binary files like a zip. I created a release for version 1.2 already, and in that release there is a zip with the LocalLayer folder (minus -master).
Adam Drackley wrote:
Got it. It doesn't look like there's any way to keep Github from appending the "-master" branch name to the zipped repo, but hopefully the rename will make things easier for users.
At least not having "Widget" as part of the widget folder name is better. ...makes adding the "uri" section less confusing. Thanks.
Adam,
This one is still a biggie:
5) It looks like Feature layers are always on top no matter what. I need to have dynamic layers overlying a feature layer, and this seems to be impossible.
This image shows the layering as set up in widget:
I need to have several dynamic layers overlying the Geology Feature layer in the app. The following image shows that the Geology Feature layer is always on top in the app, no matter what. Can this behavior be changed, or is there a workaround?
If this service is added as a Dynamic layer, it will not display in the app at all, apparently since it is a tiled (cached) service.
Best regards,
Barnaby