Sharing Web AppBuilder apps with multiple users

12171
16
Jump to solution
06-10-2015 01:34 PM
JillianStanford
Occasional Contributor III

Hi,

Is there a way to make a Web AppBuilder app available to multiple users in the organization?

We are trying to replicate a workflow that we used with ArcGIS Viewer for Flex in which we created template applications that multiple users could duplicate and modify to create their own applications. How can we accomplish the same thing with WAB when it seems I can only see applications that I created even if the data and webmap are shared with the entire organization? I know I can create a custom theme that defines the look and feel of the app but I want to be able to set a default web map and default widgets etc.... There is also a need for managers to be able to modify, delete and deploy other user's apps. ArcGIS Viewer for Flex allowed for this.

Hope that's clear.

Thanks for any ideas!

Jill

1 Solution

Accepted Solutions
JunshanLiu
Occasional Contributor III

For this requirement: " we created template applications that multiple users could duplicate and modify to create their own applications", the coming release will have this feature.

For this requirement: " managers to be able to modify, delete and deploy other user's apps", we have planned to use the AGOL/portal's role model, but it needs a lot of work to do, so we may not have this feature in recent releases.

View solution in original post

16 Replies
RebeccaStrauch__GISP
MVP Emeritus

Hi Jill,

So my off-the-cuff thoughts on this, based on testing as a single-user accessing it from multiple machines, which is basically the opposite of what you are trying to do I think...

(see Tips and Observations for getting Web AppBuilder - Developer Edition Installed  to maybe get some ideas  and the Web AppBuilder Developer Edition – Customization Resource List​ if you haven't seen it already)

In theory, each user would have to have a named-user account, and their own WAB appllcation setup (the online part of the setup) and therefore their own web app ID.  So, one option, if the template doesn't change often, is to customize the template in a default pattern, copy that to each user's machine as a snapshot and go from there.   I have copied the folders to a new machine (that was registered with the same app ID in my case) and it worked.

If you are talking about having a common shared location, my guess is it can be done, but I would expect you would run in to share/lock errors right away and that may corrupt things.  Maybe you can set up a "replicate" type application to keep everything in sync?  Just throwing that out there to think about.

I may be possible for users to export and import from others as an alternative.....

JillianStanford
Occasional Contributor III

Hi Rebecca,

Thank you so much for your quick reply and for compiling all of those WAB resources for everyone's benefit!

I will spend some more time digging through all of the information you posted but wanted to clarify one point - I am trying to implement the second scenario that you described above: having everyone work from a common shared location. This is the architecture we used with Viewer for Flex and I'll be developing a bunch of custom widgets that I would like to keep in one place. Corruption is a concern and I will need to do some testing but I'd still like to see if it's possible.

I have tried the following: I create a web map in AGOL, share the data and map with my Organization, log in to the common installation of WAB (http://xyz:3344/webappbuilder) and create a an app using that web map. I then ask another named user in my organization to log in to http://xyz:3344/webappbuilder. They are able to successfully create their own app but they do not see the app that I previously created.

Thanks again!!

Jill

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

Hi Jill,

So, I'm really just guessing and I'm not an authoritative expert on it, but my guess is because each named user creates their own Web App ID that is used for installing and, since the web app ID is embedded into the WAB software (or is it the app itself?), that is what is blocking the 2nd person from seeing the first.....even within a common http://xyz:3344/webappbuilder      The WAB still has a tie to AGOL, with the web app ID, even if it's not a direct online web app and even if you are using local layers/services for the basemap. 

Legally each user has to be a named user (i.e. we're not supposed to share).  But I'm wondering if the web app ID can be manipulated in such a way in the WAB or app that it can be shared?  Again, I'm just thinking out loud here and I'm not sure if this is legal use of the WAB software and API since it is still a esri product, even if provided free for us to use. Really, the AGOL or Portal is the licensing. (in my opinion).

This is an interesting topic of discussion, thinking out of the sharing development of WAB.  There are many that are much more knowledgeable than me when it comes to customizing, with Robert Scheitlin, GISP​ being my first go to guy (and the Flex guy too)....although there are many others.  I'm sure others will/can chime in.  (or some one from esri)

0 Kudos
JillianStanford
Occasional Contributor III

Hi Rebecca,

Thanks again for the reply.

Can you clarify this point?:

Rebecca Strauch wrote:

my guess is because each named user creates their own Web App ID that is used for installing and, since the web app ID is embedded into the WAB software (or is it the app itself?), that is what is blocking the 2nd person from seeing the first

Each user has not created a Web App ID for installation. I've installed the builder once, registered it once, shared it with the organization and when another user accesses WAB they are not prompted to enter a new app ID.

The individual apps, created by WAB, do not require an app ID until they are deployed. While they live in the server\apps folder they don't seem to have an app ID associated with them (at lease it's not in the config.json file) so how are they tied to my user?

Hope I got all of my terminology right!

Thanks!

Jill

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

hmmm.  I guess if it's just the one install, I wouldn't think it would/could pay attention to the named-user is my guess??  (are users access in the install thru the same connection/drive/permissions?)  Although, I know that is what is supposed to legally allow a user to use it.  But, as I mentioned, I think really is just during the install.

So, have you verified what all the users have r/w access to the appbuilder folders/files, including the \server\apps\# folders and files of you web apps?  Also, have they tried to "import" them.  my guess is that would create a new  server\apps\# but I'm not sure.

I did see this "answer" today What's the proper configuration for proxy.config and config.json for a self-hosted Web AppBuilder fo...   That although not directly related, may give some ideas on things to try.  I'm working on other projects right now, and will be semi-offline next week, so haven't had a chance to digest it, but looks like something I will be able to use at some point.

LarryStout
Occasional Contributor III

Jill,

Not sure if this helps or not, but each person building the app could have their own WAB Developer Edition, and then publish their apps to the same server.  The trick would be to put a library of custom widgets on the server for all to copy into their own StemApp.

Larry

0 Kudos
RebeccaStrauch__GISP
MVP Emeritus

I think the hard/tricky part would be:

Jill wrote:
There is also a need for managers to be able to modify, delete and deploy other user's apps.

Having multiple users view and edit the same app would be hard, if it is truely tied to the "named user: web ID.  Larry, with all your customizing, do you know if the web ID is associated with the installation of WAB or ties to each app?

0 Kudos
LarryStout
Occasional Contributor III

Rebecca,

My model is to make a basic app with the WAB, and then customize the heck out of it in the server/apps/<app#> folder.  When I'm ready to deploy, I copy it to the server and modify env.js to point to the api:

apiUrl = '//js.arcgis.com/3.13';

Sometimes I copy my widgets back to the client/stemapp folder to make sure they won't foul up the works if someone wants to use them in the WAB.

I have half a dozen apps on my web server, some of them available for the public, and never had a problem with the one appid on my PC.  To me, the appid is just a nuisance.  I know I'm going rogue, but it works for me.

I found it amusing that Esri would brag about building an app without writing a single line of code at the 2014 Dev Summit which is attended almost exclusively by people who make a living writing code.

Larry

RebeccaStrauch__GISP
MVP Emeritus

Larry, that's kind of the situation I'm in...only need one app ID for me.  I like your workflow though. But I can see multiple editors as something that might happen in the future for us too.

Funny about the comment.....which is obviously NOT the case seeing how much custom coding is being done. But my guess is they were talking about the Online version, not the dev version of WAB.