Shared ExperienceBuilder development

833
3
09-08-2022 10:27 PM
Labels (1)
PaulCharsley
New Contributor II

We have a team of developers using the ExperienceBuilder developer edition to create a web app. We are using ArcGIS Enterprise. Different developers may work creating widgets and a theme which they will want to share. What is best practice for doing this? We are planning to:

  • Download and commit the ExperienceBuilder development installation to our git repository
  • In this way all developers can share the same version of the development environment and more importantly, the "your-extensions" folder with widgets and themes

Is this a good approach?

I've also noticed that experiences can be created locally and there doesn't seem to be a way to push them to the portal. Where are these local experiences stored? Is there another folder separate from the "your-extensions" folder where locally created experiences are stored?

0 Kudos
3 Replies
Grant-S-Carroll
Esri Contributor

Hi Paul

I use Docker as a way of seperating my widget code from the Experience Builder framework, this means that I don't have to commit Experience Builder in to the repo, only my widget code. I mostly use Azure DevOps and build my widgets and apps using pipelines.

In order to share how to do that I've put together some blog posts on how to use docker with Experience Builder and also how to build your widgets and optionally also push them straight in to Portal as well. See below. 

https://www.spatial-innovation.co.nz/post/using-docker-to-speed-experience-builder-development

https://www.spatial-innovation.co.nz/post/esri-custom-widgets-part2

https://www.spatial-innovation.co.nz/post/creating-and-distributing-esri-custom-widgets-part-3

Experiences are stored in the server\public\apps folder. Using docker you could also optionally store these in a single folder and map them in to docker. Likewise, you could also use the REST API and some python code in a pipeline to push these portal if you needed to as well. Note, you need Enterprise 11 to host custom widgets.

There is also an approach suggested under the FAQs here as well, if you scroll towards the bottom of the page.

 

Hope that helps.

 

 

MarkJTurnbull
New Contributor III

Hi Paul

I am currently going through the same process to include a team of developers to update app/experience configurations and custom widgets.

I have just setup a couple of BitBucket repos for app configs and custom widgets using information at this FAQ 

We are going through and testing the process right now, learning as we go. I have found that even though we are logged into Portal as administrators we can't edit an app/experience as a user other than the owner, so we are having to edit the info.json file for the app to change the ownership as required. I am currently chasing down a better way of overcoming this issue, I tried this suggestion but it does not work. Apparently, there is no ability to perform shared updates, but may come in a later version.

 

Mark

 

AndreasEugster
Occasional Contributor

@MarkJTurnbull how did you proceed ? any insights?


Confronted with the same problem. We have ~10 people working with the ExB-Dev-edition. We have an organisation-template-app which per default is used for most experiences. As described in the FAQ each developer has the public/app folder as a git-remote-repo... but as long as the developers don't change the "owner" prop in the info.json they can not use/see the template... which again interfers with the .git workflow.

0 Kudos