Skip navigation
All People > rastrauch > Rebecca's GIS in Alaska

Web AppBuilder - A list of the custom widgets

last update: 11/20/2017

 

This blog contains the list and links to the custom widgets.

For latest news, etc (priamary site) :  Web AppBuilder Developer Edition - Resource List (updated 11/20/2017) 

Looking for customizing tips?  Web Appbuilder: Tips and tricks for creating, modifying and using custom widgets (2/22/2017) 

 

My other WAB related blog posts:

Custom widgets and coding tweaks -

 Note:  I list all custom widgets that I see posted. Being on the list does not mean I have tried them.

I tried to sort by function/use, but recommend looking thru full list.

User interface and experience

Services and layers:

 

Navigation:

 

Measuring drawing, editing:

 

Search, Identify, Query, popups, etc.

 

Visualization:

 

Display, output and printing:

 

 

Other discussions and widgets will be added as time allows.  Thanks to all that provide the widgets and coding tips.

**************************************************************************************************************

Please remember, custom widgets are created and provided by the generosity of the

other users in the community, like you. Most have real jobs too. So, be patient and

appreciative for the tools and advice they provide.

*************************************************************************************************************

Tips and tricks for creating, modifying and using custom widgets

last update:  10/11/2017 

 

version 2.5 now available

Web AppBuilder for ArcGIS v2.5 Developer Edition Now Available! | ArcGIS Blog 

Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers 

What's new in version 2.4—Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers 

 

My other WAB related blog posts:

 

Table of Contents/Categories (sorry no hyperlinks):

  • Developer Edition Documentation Quick-links -- official Help docs -- those related to creating your own widgets.

  • Tips for getting started with creating, using, and modifying/customizing widgets

  • Considerations when creating your own widgets
  • Creating your own widgets
  • Mix-ins (configuration tweaks)

  • ...  the rest of this TOC are placeholders right now...info in other blogs....
  • Javascript and Web development

  • Security and Proxies
  • Geoprocessing services (using ArcGIS Server to extend the task widget)

  • Arcpy/Python

  • ArcScripts 2.0 (now called Codesharing) and GitHub
  • ESRI Training Geonet group and helpful links

 

 

Developer Edition Documentation Quick-links -- official Help docs for custom widgets:

 

Tips for getting started with creating, using, and modifying/customizing widgets:

     

    Considerations when creating your own widgets:

    • !! Important note re: Google Street View from Robert Scheitlin, GISP  (8/29/201) (underline added)
      • All after much back and forth with different people and what now seems to be legitimate email traffic with the Google Maps API Team. It is now apparent that this widget does NOT conform to the Google Maps API Terms of Service. Due to this fact, this widget download will be removed and the live preview site will be un-accessible.  It is my recommendation that all users of this widget immediately remove the widget from their WAB site and discontinue use of this widget. The only way it seems currently to be compliant with the TOS is to not have a (non-Google) map visible at all in the app which is of no use at all to us esri users. I find it hard to understand how the Worlds leader in GIS technology and Google can not come to terms on the use of StreetView panoramas with esri basemaps, but it is what it is. So after years of this widget being used by hundreds of users around the world we must say good-bye.
    • Suggestion checking Web AppBuilder Developer Edition - Resource List (updated 11/20/2017) to see if one already exists
    • If you plan to share/post on geonet, I would appreciate a @ tag so I can add to the list.  Also suggest adding (and updating as needed) the posted/updated date in the title.  My links will auto-update and it will make it easier for others to know there is an update.

     

    Creating your own custom widgets....

     

    Mix-ins  (configuration tweaks)

    Web AppBuilder Developer Edition– Training, Help and learning resources

    Update 10/30/2017  

    Created: April 3, 2016 

    Feb 16, 2017  - New 1-day Instructor-Led class (not free) https://www.esri.com/training/catalog/57f4505e362fd58367ab5302/configuring-web-apps-using-web-appbuilder-for-arcgis/ 

     

    Quick links for getting started with WAB, plus various training, video, and blog resources. Included are links to the UC and Dev Summit items/videos of interest, and other development training resource lists and web sites.

     

    This blog is meant to consolidate and provide quick-links to various training, webinar, blogs, tech sessions, etc. available for Web AppBuilder and related technologies.  Not an exhaustive list but most links are one page as a start to find the additional topics.  

    Note: the Web AppBuilder Developer Edition - Resource List (updated 11/20/2017)  will continue to be updated with new widgets and announcements, while this page will focus on link to “help” and training resources.

    My other WAB related blog posts:

     

     

    Table of Contents/Categories (sorry no hyperlinks):

    • Developer Edition Documentation Quick-links -- official Help docs

    • Geonet forums (places, tips, who to follow, suggested bookmarks)

    • Security and Proxies
    • ArcGIS Server - GP, printing and other tips
    • ArcGIS Online admin and other web monitoring tips
    • Ideas (requested improvements) - Includes filtered links, but check main space for updated info

    • Javascript and Web development

    • Tips for getting started with creating, using, modifying widgets    ...Moving to new blog
    • Arcpy/Python and ArcGIS API for Python

    • ArcScripts 2.0 (now called Codesharing) and GitHub
    • ESRI Training Geonet group and helpful links

    • Free Esri videos and DevSummit/UC presentations

     

    Developer Edition Documentation Quick-links -- official Help docs:

    Geonet forums (places, tips, who to follow, suggested bookmarks):

    Suggested Tags when searching or posting questions (would like help/suggestions for more standard list of tags…anyone?)

    • WAB,  Javascript,  web appbuilder,  custom widgets,  web appbuilder developer

     

    Security and Proxies (discussions and other links):

     

    ArcGIS Server, Portal - GP, printing and other tips:

     

    ArcGIS Online Admin options and other web monitoring tips::

     

    Ideas (requested improvements) - Includes filtered links, but check main space for updated info:

     

    Javascript and Web development:

     

    Tips for getting started with creating, using, and modifying widgets:

    •  moving this section to a new blog so I can expand if needed

     

     

    Arcpy/Python and ArcGIS API for Python:

     

    ArcScripts (now called Codesharing) and GitHub (some tools and custom widgets are found here):

    ESRI Training Geonet group and helpful links -- includes free class resource lists,  video links, training news, etc.

    Feb 16, 2017  - New 1-day Instructor-Led class (not free) Configuring Web Apps Using WebAppBuilder For Arcgis 

    Esri Training | Get Started with Web AppBuilder for ArcGIS (60-minute, Jan 2015)

    Esri Training      Geonet group - includes the lists below, video links, training news, etc.

    Class resource lists .....thanks to various training staff for providing these. (in no particular order)

     

    Free Esri videos and DevSummit/UC presentations (including some user presentations. NOTE:  some links may be from previous versions, so keep recorded date in mind since some things may be changed in current version(s) newest on top.  Also, some may be from 3rd party developers -- listing is not an endorsement, just fyi):

    ESRI Videos (Free. Link to "Home page"; can filter for specific topics and events)

    Esri -"Recent proceedings". Includes slide decks and some video links for events from last year. (~12 mos)

    2016 User Conference (San Diego)

    2016 DevSummit

    Frank Roberts Presents WebApp Builder for ArcGIS Webinar 2/23/15 | Innovate! and other topics/articles Insights | Innovate!

     

     

    Tutorials (might be added later)

     

    temp location...

    Blog and documents about various WAB, JavaScript, Developer and related topics

    Web AppBuilder Developer Edition - Customization Resource List

    Just looking for the custom widget list? =>  Web AppBuilder - The custom widgets list (11/20/2017) 

    The Resource list (this blog) will continue to be the main location for announcements, including any new widgets and updates, etc., as well as having direct links to the other topics.

    This blog...last update: 11/20/2017    

    ---------------------------------

    Current version:

     

    My other WAB related blog posts:

     

    Table of Contents/Categories (sorry no hyperlinks)  ---- updating.....:

    • Quick links/Notes

      • Current Version info

    • Pinned pages
    • Latest News and updates
    • Creating your own customer widgets..... moved to new blog
    • Mix-ins..... moved to new blog
    • Custom widgets and tweaks    ...moved to new blog
    •    ....

    ----------------------------

    Quick Links/Notes:   

        ----------------------------    

         

        Current version of WAB (v2.6 - Q3 2017  )

            Download: https://developers.arcgis.com/web-appbuilder/

        Pinned pages/links: 

        Latest Updates: (note: I try to list "What's New" here, so you know whether it is worth checking for changes.)

        CMV is built on top of the Esri JavaScript API so you can use your ArcGIS Server REST resources directly without using webmaps or portal. Services at ArcGIS Online and many other external services can be used as well.

        CMV includes numerous widgets available including a very robust layerControl (TOC) widget. If you prefer to use the WAB LayerList widget, you could do that too. With the upcoming version of CMV, you can use widgets created for the WebApp Builder without changing any code - either those that are included with WAB or those that developers have put together. I have created a github repo with a number of examples using WAB widgets here

        WAB items on the Ideas page ArcGIS Ideas.WAB.no distrintion between Online and Developer

        and implemented because of it )  ...Ideas implemented in the ArcGIS Online release (June 2016) | ArcGIS Blog

        filtered list of implemented items: ArcGIS Ideas

        Per Kelly Gerrow  ...

        The documentation has been updated to reflect the changes. In the blog, there are links to the ideas. On each idea, you will find a response that includes a link in the documentation that refers to the new functionality.

         

         

        --------

        Portal specific links and documents (testing Portal 10.5 now (March 2017)...these are older links for reference):  ...expect this to move to new blog

         

         

         

        Other discussions and widgets will be added as time allows.  Thanks to all that provide the widgets and coding tips.

         

        **************************************************************************************************************

        Please remember, custom widgets are created and provided by the generosity of the

        other users in the community, like you. Most have real jobs too. So, be patient and

        appreciative for the tools and advice they provide.

        *************************************************************************************************************

         

        Model Railroading and Street Map View

        This is truly just a personal blog post to share something fun.

        These links about the   Miniatur Wunderland Hamburg - model building - model railway Hamburg  which claims to be, and very well may be the largest model railroad in the world,  combine some of my favorite pastimes ....railroads , model railroads, and mapping.

         

        A post from the 4th Division of the National Model Railroad Association

        Google maps Miniatur Wunderland – Welcome to the 4th Division

        has links to a video showing some "street map" data being collected on the model (direct link below) and an interactive (it's Google, sorry Esri) map.  Something to check out when you need a chuckle and a "wow" moment.

         

        Video about promoting collecting the data  #MiniView: Das Miniatur Wunderland auf Google Maps - YouTube

        And the interactive map   About – Google Maps

         

        By the way, there are many great YouTube videos showing this model train layout.  Impressive by anyone's standards (in my opinion).

        Updated

        2/7/2017  1/30/2017 - adding link to thread with info for finding/replacing graphic elements.  At some point I may add this functionality to the tool, but no time for that now.  But worth making note of possible solution:

           Python script for mass find and replace of workspace path? 

        Write Broken Source List to Text File    and a simple script, if you do not want to use the addin

        12/20/2016  -- my download and install instructions are a bit off.  Paul Davidson pointed out that it was not working.  If you download the file and it is called ChkandFixLinks.esriaddin.zip   you need to unzip it first, then double-click on the ChkandFixLinks.esriaddin  file.  Then it should work.  This is a toolbar for ArcCatalog (not ArcMap).  I just installed and tested with 10.5. (only tested the first 2 buttons to make sure it worked).

         

        10/28/2015 New tool "Set Map Data Sources" provided by ArcGISTeam LocalGov   Have not tried, but worth a look

        9/22/2015  4:45 pm (AK time)   --- removed extra quote in line 52 of the "fix" script that caused error. Updated attachment

         

        CheckAndFixLinks.esriaddin

        - Download esriaddin file   If downloads as a zip file, unzip so you see the .addin file.

        - For Python addin, double click ChkandFixLinks.esriaddin to install  to ArcCatalog.

        - if you prefer to see/modify scripts, rename the .esriaddin to .zip, the unzip.  Tool bar and scripts are available for viewing/editing.

         

        At this time, this is the only download source.  May move to ArcScript 2.0 (when available) and/or may be interested in gitHub at some point.

         

        ArcCatalog ToolBox – tested with 10.2.2/10.3.0  -- will create reports of all broken links, with option to repair all types of connections

         

        Note: known issue, accessing mxd's saved as 10.3.x from the addin installed on a 10.2.2 machine.

         

        This Toolbar can perform the following on a folder/subfolders (using walk):

        1. list your file geodatabases (FGDB), and approximate size on disk;
        2. inventory your features classes, all types including: FGDB, covers, grids, etc.;
        3. list broken links (based on machine/user running the tool) in MXDs;
        4. repair individual feature class broken links….including .sde and .ags connection, etc. (based on .csv file input)

         

        The first three (left of Yield sign icon) create reports only (.txt, .csv, .xls)…they do not modify you mxds in anyway, so these may be nice tools to use even if you fix your links in another manner.

         

        The Yield sign is to remind you that the input .csv file is required for input for the next tool (after the Yield). 

         

        Note: For those that want a bulk drive-letter and/or <servername> change only, I removed this tool for this first release, but the code is there (same as 3a, and tool is shown in Toolbox in zip). I provided this, but suggest skipping the bulk change and using the other repair tool instead. (reason: bulk change uses findAndReplaceWorkspacePaths at the mxd level, and may change path for layers that need to be handled differently)

         

        It is recommended that you create a copy of your mxd’s and do a few test runs to get familiar with the tools (because these do a “walk” do NOT place you backup copies in a subfolder of your working folder). I have an option to write the updated mxd’s to a new _repair folder, but I have this disabled at this time.  See the recommended workflow at the end of the document.

         

         

        Notes and Cautions:

        • If you see this error: TypeError: GPToolDialog() takes at most 1 argument (2 given)” it can be ignore.  This is still arcpy bug (NIM089253)
        • The first three scripts only create lists with .csv, .xls, and/or .txt output files, so other than possibly taking a long time to run (if complex structure or slow system), they will not change any data. Most tools output a comma delimited (.csv), text (.txt), and/or an Excel (.xls) file.   By default, the YYYYMMDD_HHMM is appended to the name (startup timestamp for HHMM) so it is not overwritten on repeated runs, and the file(s) will be written to the folder being analyzed (you will need write-access to working drive to write the files).  You may need to eventually clean up (delete) these output files if you run the script often.
        • The Yield sign is a reminder that for the repair script, you need to modify a copy/modify the Excel/.csv file above, and save is as a .csv file for input to next script. When in doubt of a “new source”, do not enter a NewPath and leave NewType = “_review”.  Those old sources will not change.
        • The repair script (to right of the Yield sign) will change the mxd’s (if new source path in the .csv), so it is highly recommended that you backup your folders and mxd’s before running either one. Also, I suggest testing a few mxds in a safe location until you are comfortable with what each tool does  
        • ** Keep in mind that broken links are in “the eye of the beholder”, that is, broken based on the machine and user running the script, so when replacing paths, if you can use shared connection files, and or common path names, that will keep the mxd’s and data un-broken for multiple users.
        • If the mxd is storing “broken” user’s login credentials, running these programs may cause an unsuccessful login attempt and therefore lock the user (depending on your network setup). Keep this in mind so you can unlock the user as appropriate.
          • Caution
        • Some manual editing steps are required for to create the list to repair broken links tools.
        • If you have multiple users using the same mxd, consider using common mapping and or connection file. Store the connection files in a common location that is mapped the same for all.
        • Data will also echo messages in the Results table so you can track progress….but this can also create a very large result output. It is recommended that you “remove” the result output once the script is complete and you are done reviewing it the Result tab. (Leaving these large result output listings can significantly slow the opening and closing of ArcCatalog)
        • If Catalog closes before the script is complete, file will not be written to.

        Tools (note: all tools use “walk” to include folder and subfolders):

        • 1-List FGDB size on disk - to .csv .xls files (ListFGBsize.py)
          • Input arguments:
            • theWorkspace: drive or folder to walk through
            • outfile: default is GDBLIST, will append YYMMDD_HHMM and extensions
          • Field names in output: Name, GDBpath, and ApproxMB.

        Default output name is GDBlist with a date-time (YYYYMMDD_HHMM) appended to the basename to keep output unique for repeated script execution.

         

        • 2-Inventory FC reports, .csv AND text output   (InventoryFC.py)
          • Originally had the two separate script for the outputs, but combined since 99% was exactly the same (and could write to two files in one pass)
          • For a given folder, identifies and creates list of a feature classes, including FGDB, covers, and grids
          • Outputs two files
            • .csv (common delimited) format
              • FType – a class name assigned by me, for example:
                • ArcInfoTable
                • CoverageFeatureClass
                • FeatureClass
                • (add raster sample)
                • FCname
                  • Table of FC name if in a GDB
                  • Arc (line), point, label, polygon if a coverage
                  • (add raster sample)
                  • FullPath
                    • For file geodatabase, thru .fgb
                    • For cover tables, thru “covers” folder
                    • For covers, thru coverage name
                • .txt (very basic, report format – easier to visualize)
                  • A couple header lines,
                    • “List of all GIS data in <folder>  on <MM/DD/YYYY>
                      Includes coverages (pts, poly, arc, anno), shapes, and FGDB data.
                      -----------------------------------------------------“
                    • followed by list of FGDB/workspace/folder; my featureclass tag, as shown above, and the features class files within them (indented for easy reading)
                • Neither of these files is currently a unique list, and some folders ( especially coverages) are repeated…may change this to be unique at some point, but not high priority
        • 3a-Create Unique list of Broken Links (with 3b has option fix drive letters first)
          • Creates csv, Excel (xls), and option FGDB (although I do not use, have not found use for this yet) of unique broken links within all mxds within the folder/subfolders.
            • Option removed for this release…3B OPTION: to repair drive letter changes before running. CAUTION: using this option will use findAndReplaceWorkspacePaths at the mxd level and may not be what you need….make sure you have a back up first.
          • Output formats
            • .csv (comma delimted) format (default)
            • .xls (Excel)
            • .txt report
            • Option: FGDB table
          • Output fields:
            • UniqID – auto incremented number, just to make it easier
            • dataType – a tag I assign to help identify source type, e.g. Fgdb, MapServer_connection, Table_other, etc.
            • newType – “__review”, text to remind you it needs to be reviewed for possible correction
            • brokenPath – self explanatory
            • newPath – self explanatory
        • 4-Repair broken link source (4_DataSourceRepairX.py)
          • Updates source paths of broken links, based on input .csv file
          • Input:
            • Folder to process (will also walk thry subfolders)
            • .csv file with newType and newPath updated
          • Outputs: CAUTION overwrites mxd, so made sure you have a copy in a location that is NOT in of below the folder that you will be processing (script has ability to use SaveAs, but not currently activated in tool)

         

         

        Suggested workflow:

        1. Run script #1 and #2 to get a feel the data in you folder
        2. If you haven’t already, create backup/copy of the folder you will be working with.
        3. Run #3a (broken list, “without updates”) to find all broken links. 
        4. Review the output .xls and/or .csv.  Suggest making a copy of which ever is easier for you to work in.  They have the same info, just in two different formats. Suggested new name RepairBrokenLinks).
          • Caution: if/when sorting, make sure you have data selected.
          • I suggest you initially sort by datatype and remove all the “Group” and “Event” rows…those are for info only.
          • You may then want to sort by BrokenPath so you can find any pattern that may need to change to the same new source. 
            • For example, John had a source mapped as “d:\” , while Jane had it mapped as “f:\”  --- both show as broken links and you now want it to be mapped as a UNC path.  Add the path to newPath. If same data type, dupe value in dataType to newType … if changed, change newType as appropriate.
          • For changing SDE, I found creating new connections and saving them to a common location worked best.
          • For changing ArcGIS Services, I create a layer (.lyr) file and save it so a common location. The actually require the current connection be dropped, and the new layer be added (no replace workspace will work).
          • These are current data types the program can handle
            • cover_arc
            • cover_pont
            • cover_poly
            • cover_region
            • cover_tic
            • shape
            • fgdb
            • pgdb
            • sde
            • dbf
            • table_other
            • table_dat
            • txt
            • raster – may be SDE raster layers, or older NGS-TOPO! .tpq rasters
            • raster.jpg
            • raster.bmp
            • raster.gif
            • raster.jpg
            • raster.sid
            • raster.tif
            • service_<your AGS service name>
            • esri.sdc - this is for information only, no repair included in script….these records should be deleted before running fix
            • other – these may be coverages that could not be classified
            • group – this is for information only….these records should be deleted before running fix
            • events_table – this is for information only….these records should be deleted before running fix
            • _unknown  – this is for information only and not sure what these are. For me, listed .mxd name and may be those with .SDE issues….these records should be deleted before running fix
            • newType - “_review” until modified by user
            • brokenPath – broken data source path found in mxd
            • newPAth – empty until modified by user
        5. For any broken link that need further review (i.e. not read to change to a newPath), leave the newType as “_review” and the newPath blank.
        6. Once ready, run the#4 to repair the broken links.
        7. Once the repair is complete, run #3a again to get a new list of broken links remaining.
        8. Repeat #3a and #4 as needed.

        8/12/2015 - Quick update after WAB 1.2 release for LocalLayerWidget Today’s update is just to include some notes provided by Daniel Stoelb …nothing else has been modified (PDF has also been updated to reflect this update) :

        When working with the Local Layer widget in the 1.2 developer edition, the file location to modify in the config file for it to recognize in the WAB1.2:

        • \arcgis-web-appbuilder-1.2\client\stemapp\predefined-apps\default\config.json
        • \arcgis-web-appbuilder-1.2\client\stemapp\predefined-apps\basic_viewer\config.json
        • \arcgis-web-appbuilder-1.2\client\stemapp\predefined-apps\editor\config.json
        • \arcgis-web-appbuilder-1.2\client\stemapp\predefined-apps\simple_map_viewer\config.json

         

        March 20, 2015 - for a list of WAB resources, check out  Web AppBuilder Developer Edition - Resource List (updated 11/20/2017)

        The information below may be out of date since WAB 1.1 was released yesterday and updated may have been made to the custom widget(s). I have not been able to test.  However, ther still may be some good information below.

         

        Feb 18, 2015 -- work in progress, but lots of info below.  I made this as a separate blog post, and not with a PDF attachment.  Please leave comment if PDF version is preferred.....with shorter intro.  (see my Tips on installing WAB for "blog, all inclusive" vs the Tips for LocalLayer widget, with the PDF attached.....links are shown in second paragraph below.)

        Updating to a new LocalLayer widget release (after you’ve already started customizing)

        --- may also help with updating other widgets ---

        New releases of the LocalLayer widget have been rapid over the past couple weeks as  Adam Drackley and Robert Scheitlin, GISP  have made improvements to the code.  So, what do you do if you’ve already spent time tweaking and customizing your installed version?  First, there is nothing that says you have to upgrade, but in order for Adam, Robert and others to help, it probably is best to upgrade to the latest released version since it may have added a feature, or fixed a bug.

         

        The following are tips that may help in setting up a consistent procedure for updating. However, since each customization will vary, steps may need to be expanded or adapted for your own site(s).   [Note: some steps are similar to a first install, so see Tips and Observations for getting Web AppBuilder -  Developer Edition Installed (updated 7/19/2017) and Tips for using the custom LocalLayer widget with WAB-Dev edition (updated 10/12/2017) for more detailed instructions.]

         

        First, before an update, I recommend making a backup of your current WAB folder installation folder.  This will give you a recovery point if things get messed up during the custom upgrade to your code.   Upgrading is not difficult, but if doing a lot of cut-and-paste from your files, things happen sometimes. Also, it gives you a location to copy you custom code from. These steps should be performed while WAB and node.js are shutdown.

        • Hint: I also keep a “clean” version of the WAB folder that just contains the default WAB 1.0 and the default custom widgets.  This allows me to start fresh if things get too out of whack. And occasionally, I will start over with this, to undo anything I may not have needed to do.....wait until you feel more comfortable with the process....and always keep a backup.

         

        Note:  I will mention this again later, but it's important enough to mention up front: 

        • Brackets  () [] {} must be balanced and in proper location. 
        • commas may need to be moved, added and/or removed….
        • if not, widgets may not display or work properly.

         

        Installing new version:

        • Go to https://github.com/cmndrbensisko/LocalLayerWidget  to download the latest version.
        • Extract the .zip to a new location (do not directly overwrite current folder).
        • Rename the extracted folder to match the name of the current widget folder.  Recommend “LocalLayer” but it can be called anything, as long as the “url” variables are setup to match it (see initial installation instructions). If upgrading from LL version prior to 1.3, make sure all url variable are set as described.   Instructions below assume folder is called  LocalLayer
        • Rename the current folder(s) to  in <WAB > \client\stemapp\widgets AND  all your created sites <WAB> \server\apps\##\widgets  where the LocalLayer widget exists to LocalLayer_v1.4_old  (or similar).  Keep a list of the apps\## folders that have this folder.  Not all apps will have it, if you did not customize using the LocalLayer widget.
        • Copy the new LocalLayer folder to each of these locations.
          • NOTE: Look at the folder copied and make sure all the files/subfolders are in the “root” of this LocalLayer folder…and not in a subfolder under that.  Make adjustments if needed.  (depending on how you un-zipped the file, this could change)
          • If you have named the new folder something other than the previous name, you will need to update the “url” variables to match the new folder name
        • At this point, any NEW app should use the new version of LocalLayer. However, if you customized the widget in any of your apps, these changes may not yet be shown.

         

        Notes and Steps for transferring to updated version:

        • For existing customized apps, there are key config files that get modified when configuring a typical widget.  Many of these files are found in <WAB-install> \server\apps\##\widgets\   
        • Some KEY files for the LocalLayer widget: (and most likely the default layer, pop-ups, and attribute tables, as well)
          • For layers and pop-up configuration  <WAB> \server\apps\<#>\configs\LocalLayer\config_Local Layer Widget.json
            • Note:  spaces between “Local Layer Widget”
          • For attribute configuration <WAB> \server\apps\<#>\configs\AttributeTable\config_Attribute Table.json
            • Note:  spaces between  “Local Table”
        • The Config files in this directory may NOT have changed.However, there may be features that were added or changed to the widget that may not be reflected unless certain files are updated. Samples of this is when the ability to add Tile services was added, and when customizing the ability to modify the output format for a numeric field in pop-up was added.  For some reason, the Tile service option did not show up for me.  Neither did the pop-up field-formatting (but that was easy to modify in the config file).  There are several tips I can give to help what can or may need to be transfered:
          • Read the readme file to see if there are clues as to what needs to be updated, manually.  This may or may not give you enough info.
          • Test first.  See if things come up in WAB or not.  The new version could very well already work.
          • One thing I found that works for some of the widgets, is to remove them from my app (make sure you have backup first), save, then add the widget back. This should get a clean copy of the widget from the <WAB > \client\stemapp\widgets  folder. You can see as this is happening if you look at the node.js window.
          • If not,start from a "clean" WAB folder (see starting from scratch in the install document in my blog (link in first paragraph above).  Make sure all the custom widgets are in place.  Create a new site, making sure to do something with each widget you updated, and compare the files.
        • Open the customized/backup-up version of each of files  in a editor, preferably one that recognizes JavaScript code.. This will be used for copy-and-paste source.
          • NOTE: There are many editors available that can understand Javascript, There are many available, including free versions NotePad++ with addi-ins. Myself, I use Brackets. but it's all a matter of preference.
          • Poll on user preferences Favorite IDE for JavaScript application development with other options
          • Lots of additional resources, including info on IDE/Editors (towards bottom)   Building Applications Using the ArcGIS API for JavaScript Resources
        • Open the config file to edit.  If things need to be added to the config, carefull sut and paste to new file.  Restart WAB to test.
          • Note: Make sure brackets  () [] {} are balanced and in proper location, and commas are where they are needed (may need to be moved, added and/or remove). If not, widgets may not display or work properly.
        • Some additional notes on what you might have customized items is listed below...

         

         

        Addition tips and links for customization (gathered from testing and GeoNet threads)

        NOTE: many widget configuration, including items not configured in the widget UI, can be found in the config files found in  <WAB> \server\apps\<#>\configs\ 

        NOTE: Always make sure that () {} [] balance and to add/move/remove comma as needed

        • Attribute Table <WAB> \server\apps\<#>\configs\AttributeTable\config_Attribute Table.json :
          • Change “Layer name” shown in tab in attribute table.  By default it shows the layer name as provided in the feature  service.  To override, modify the “name”: value for the layer in “layerInfos”: .... in "config_Attribute Table.json"
          • Rearranging order of attribute tables shown.  You can do this in "config_Attribute Table.json".  Take care to add comma, if needed, between the "tab section" moved, and to make there isn't one after the last on in list.
          • Note about relationship between "config_Local Layer Widget.json" and "config_Attribute Table.json"   
            • The "name" tag in the Local Layer config file corresponds to the "id" tag in the Attribute Table config. 
            • This "id" need to be unique, and typically has "_#" added to the end, with the # corresponding to the MapServer/# in the "url"
            • The layer does not need to be turned on to get the attribute to show, but may need to tweak the "show" in the Attribute Table to be true. 
            • If layer display is off, but attribute "show": true    double-clicking the record in attribute table does not zoom-to.  Turning display of layer on, zoom-to works.


        ...more to come later

        LocalLayer widget install and usage tips

        For those wanting to be able to use ArcGIS Server services with your own ArcGIS Server services in Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers  without having to have all your services in one web map in ArcGIS Online, the LocalLayer custom widget is a good place to start.

         

        Updates to this blog and attached document:

        10/12/2017

        10/11/2017 - Updated and uploaded the help document (pdf)

        7/19/2017 - Web AppBuilder for ArcGIS v2.5 Developer Edition Now Available! | ArcGIS Blog 

        2/18/2017 -  added links to my other blog pages

        10/1/2015 - updated and attached new PDF

         

        For a more WAB resources, check out  Web AppBuilder Developer Edition - Resource List (updated 11/20/2017)

         

        My other WAB related blog posts:

         

        This document was created initially because the first few versions were lacking any detailed help.  The READMME.md now contains much of this information, but the attached document expands this info to hopefully make it a little more user friendly, for those of us that are not as hardcore at developing as they are. (NOTE: help docs have been improved since I originally wrote this. Also, very detailed doc/tutorial for this,  plus other custom widgets, can be found  Using the Web AppBuilder   ) 

         

        These are my tips and observations that I'm collecting as I'm learning to implement the widget.  Not a true "help" document, but some info that might help others.  I will update and re-post as needed.  Comments/corrections are welcome in the comment section.

         

        For the latest download, status, information on possible new features, or to help collaborate, check out the GitHub page:  LocalLayer · GitHub 

        Tips and Observations for getting Web AppBuilder -  Developer Edition Installed

        updated 7/19/2017 version 2.5 now available Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers 

        Web AppBuilder for ArcGIS v2.5 Developer Edition Now Available! | ArcGIS Blog

        note: My first blog.....or more just a place I can put notes...lots of copy/paste, so just in case someone actually reads this, and something doesn't make sense, please let me know.    -ras >>   

         

        My other WAB related blog posts:

         

        WAB  now 2.5 available (July 2017)  

           Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers

         

        Update Summary:

         

        With many of us having issues with getting the Web AppBuilder (WAB) developer’s edition set up correctly, here are a few tips and solutions I have found, both to help others, and for me to find again (!). Some tips are taken from other threads, which I will link to if I can find them again.  I will also add some of my observations, assumptions, and understanding at the end of the doc…. comments are welcome, and I will update if necessary.

        Various errors people have received are

        • issues with nodejs (only what I have come across, so far)
        • what to do about the appID on start up,  --See step 3 below
        • what to do if you messed up the appID and now get a 200 error,  - See “Starting (semi) from Scratch”, or you can look at the 10/15/2015 tip above.
        • what to do it getting a 400 error – See step 3h and 3i, talking about registering your machine

        This is not an all inclusive list, and I will try to update if other solutions are given.  Steps:

        1. Download the software (.zip) from Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers  recommend copying it to a new folder.
        2. Expand the .zip.  Recommend letting it create the “arcgis-web-appbuilder-2.X” folder…may vary depending on version
        3. I recommend manually creating the app on AGOL before you fire up WAB (sorry, not familiar with Portal) before firing up WAB.
          • Instructions in Help for creating the AppID are a bit better than in previous versions.  Link is included for your convenience: Get started—Web AppBuilder for ArcGIS (Developer Edition) | ArcGIS for Developers
            • 12/14/2016  I just used the help above, and hints from my notes, to create an AppId using Portal 10.5 (pre-release).  The help has not been updated for the new Overview-Settings tabs after the initial screen, so the setup may look a little diferent.
          • NOTE: can use the same ID that was created for WAB 1.0/1.1 etc. in current versions (assuming machine is "registered")
          • First, login to your AGOL account (I assume this must be organization account, not personal or developer, but will need to verify)
          • Go to “My Content
          • Pull down “Add Item” and select “An Application”  
          • For URL, believe it or not, the server/machine-name didn’t seem to matter much for me, (since it still worked when I had a typo), however, it is suggested that you enter   http://<your machine name>:3344/webappbuilder
          • For Title, tutorials say “Web AppBuilder for ArcGIS”, but this can be something more personal, e.g. “Rebecca-WAB” or whatever makes sense to you.
          • For tags, tutorials say “Registered App for OAuth”, but I think this is just the default, and can be different.  I know when searching this tag on AGOL, you end up seeing everyone that left it as the default.  I’m not sure if this is a good thing or not. (new graphic to reflect updated look in AGOL)

          • After you hit ADD ITEM, the item information page should open for this new app.
          • 12/14/2016  This is where is looks a little different. The next steps are found in the "Settings" tab
            • NOTE: I did this using Portal 10.5 pre-release, but the AGOL tabs are the same to the best of my knowledge....but didn't create an AGOL appid today
            • NOTE:  Mentioning this here so it doesn't get lost....make sure to check the box to "Prevent this item from being accidentally deleted"  !! You can do this at this stage, or wait until you are done with the registering, but good safetly measure.  If you do need to delete this appID  at some point, you will have to uncheck the box.
            •  --> Just noticed in the Settings tab, click on the "Web Mapping Application Settings", it brings you down to the Register key area for next step >>
            • At the bottom of that tab, you will see the Register button
            • which should now get you to the same place as you need below.
          • Select REGISTER.  In the “Redirect URI” box, add an http and https version for your machine
            • http://<machinename>
            • https://<machinename>
              • HINT: after you hit “ADD” you can’t grab the string to change the http to https:, so select and copy the string (Ctrl-A, Ctrl-C) before hitting ADD so you can past and modify the second entry.
              • HINT 2: for our location, we had to include domain info so the computer name  was <machine name>.<full domain>
              • HINT 3: If you want to use multiple machines for development, you can enter additional machine names now or later.
              • HINT 4 added 6/23/15: by Leighton Dalmasse  when configuring Web AppBuilder Developer Edition 1.x with Portal 10.3.....or AGOL --- i.e. HINT 2 above)
                • The structure of the Redirect URIs is dependent on if your server is setup in either a Domain or Workgroup. To determine the setup, go to your server’s “Control Panel\System and Security\System” (or right-click your Computer and get properties in Windows File Explorer) to view basic information and note the “Computer name, domain, and workgroup settings”, if it is setup on a Domain you will see a domain, if it is setup on a Workgroup you will see a workgroup. For each configuration the Redirect URI structure should be as follows (to cover all of your bases it is probably safe to include both but I have not tested this):

        Workgroup:

        - http://<machinename>

        - https://<machinename>

        Domain:

        - http://<machinename>.<FullDomain>

        - https://<machinename>.<FullDomain>

         

        Sample shows registering two different machines with http and https  with <machinename>.<FullDomain>

            

        Suggest to add HINT #5: If having issues and still getting the WAB redirect_uri error 400 error "Double check your computer name and pay close attention to spelling."

        HINT #6 added 2/15/2017: Tip for "Error 400  Invalid redirect_url" : Make sure your machine name is not longer than 15 characters, if it is, the url will be truncated. Change your machine name and run thru process again.  (from Can I use Web Appbuilder Dev Edition during a Free trial of ArcGis? )

         

          • When done, hit REGISTER   which will bring you back to the details page, with the App Registration info displayed.   The App ID that you can use when starting WAB for the first time will be shown.  Copy this (and/or write it down)
            1. HINT: if you already exited the details page, you can go back to the page through My Content  and then select REGISTERED INFO  (in the Setting tab) to see the info again.
            2. HINT 2: to add/delete additional computers, select EDIT and UPDATE
            3. HINT 3: I recommend checking the “Prevent this item from being accidentally deleted” in the Properties section (toward bottom when in EDIT, i.e. select the EDIT button at top of page first) Settings->General Settings (near the top) once you have it set up.
            4. HINT 4: if you want to disable this app, for whatever reason, you can UNREGISTER APP which will disable the <machines> from using this app, i.e. disabling the WAB developer this appid is pointing to it.
            5. HINT 5: Other thread that may help Migration Migraine  (correct answer from Jake Skinner )

         

        • Step 4 - With AppID, you are now ready to start up the WAB.
          1. Go to the folder with the expanded/extracted WAB software, double click Startup.bat.  This should open a command window, show the ports and a list if “inserts”   (note: if next custom widgets added later, will see more inserts)


        then if all works, your default browser (I use Firefox) should open and WAB should fire up.  If not…

         

        • HINT 1: Typically, even if installed and registered correctly, the first time I run WAB for the day (or browser session), I have to close the command window, and double-click on the startup.bat again….then it usually opens. [one of my machines requires this, the other fires right up]
          1. If the WAB setup opens properly, you should see something like the graphic below.  In the first box, put the URL to your AGOL or Portal, in the second, you AppID from Step 3 above.
          2. After hitting Continue, you will next be prompted with “Request for Permission” for your AGOL username to access the application you created or accessing (from Step 3 above).  Notice that the application you created will be listed
          3. Once you either enter you credentials (if not already logged in) or “APPROVE”, the application will open and you should be ready to go.
        • Hint 2: Problem with specify my wab developer url and app id     try creating a new user account on AGOL and follow the procedures above...see if that resolves the issue.

         

        Starting (semi) from Scratch

        If for some reason you don’t get the WAB set up correctly the first time, (maybe because you started and exited because you didn’t know what to put int for the AppID)  and therefore it:

        1. it never prompts for the appID again, or
        2. the startup is listening for the ports, but doesn’t list the “insert” statements, fires up the WAB page, but it is blank

        The easiest solution I have found is to (close the command window and the bad WAB in the browser, if applicable, then) delete the expanded “arcgis-web-appbuilder-1.0” folder (may work to rename?) and to re-extract the .zip.  Then start with the Startup.bat again with your AppID ready (Step 4 above).

         

        Observations and my initial understanding, resources, etc. (to be updated as needed)

        • GeoNet groups/spaces/places/threads you should join or be “following”:
        • There are MANY custom widgets being create and updated (many from Robert S --thanks!) I keep track of these, as much as I can  here: Web AppBuilder Developer Edition - Resource List (updated 11/20/2017)
        • Other sources….
          • Comprehensive install document with graphic by TAPAS DAS Web AppBuilder   much more than his blog title has you believe.
        • Popular questions (many threads, with slight variations, for each question):
        • My observations:
          • The AppId when first starting is the most confusing, and finding clear instructions for setting up the AppId ahead of time (including mine) are hard to find.
          • I’m not exactly sure what registering the WAB with the AGOL application and AppID really does, although I know it ties it too AGOL. Also, it control whether a computer has permission, via registration with the AGOL application.  I know it has to do with OAuth2, but I’m not a security expert.
          • I asked the question Is it better to share "application" registered in AGOL between WAB-dev edition developers, or separate?  and have decided:
            • A WAB folder (and startup.bat file) are pretty much linked to on AppID – although there are ways to shift or change which one.
            • Each user should have their own application/AppID created by them, in their own My Content
            • Multiple machines for one user can be registered to the same AppID, if desired. The WAB stores the applications being created in the local drive, so these are not necessarily shared between machines…although I think they could be setup to work that way.
            • One machine could be registered to more than on AppID, if desired and if multiple WAB startup folders exist.
        • Portal - question and answer from comments below from Seema Joshi  (question  "Has anyone tried configuring Web Appbuilder (Developer Edition ) with Portal 10.3 configured locally - behind firewall, not in Public domain ? It works fine with Webmaps configured with AGOL / Organization Account OR PFA in Public domain, but we are experiencing issue accessing Webmaps having Map Services published in local Server. It is accessing Webmaps and displaying basemap layers with correct extent but local Map layers are not displaying."    Solution ( also from Seema):

         

              Please try following :

        • Change your local Server Security permissions from HTTP Only to HTTPS Only using ArcGIS Server -> Admin -> Security -> Config -> Update option as per snapshot below.
        • Stop & Restart your local Server.
        • Add Services to your Web Map as SSL with domain name eg. https://lap-ggn-seemaj.in.niit-tech.com:6443/arcgis/rest.........
        • Save & Share WebMap
        • Try Web Appbuilder using AGOL OR Portal for ArcGIS 10.3
        • .......will format better and add image when on a better machine mid March ....see comments below until then.  Thx -Rebecca

                

         

        That’s about for tonight.  I hope this helps someone…. at least I should be able to find it again.

         

        --Thanks for all the kind words of appreciation for this and my other rather messy WAB blogs. It's nice to know they are helping others, and that I still know where to find my notes!  8/27/15