Select to view content in your preferred language

Experience Builder how to handle version control?

2187
3
Jump to solution
05-19-2021 03:30 AM
KristianTuusjärvi
Occasional Contributor

Hello I'm wondering how to handle different versions of my Experiences. So far I have not found anything related to version control. Is it possible to export the experience add it to Git and then import back if needed?

0 Kudos
2 Solutions

Accepted Solutions
KristianTuusjärvi
Occasional Contributor

It turns out that the experience project config files are saved in the following path: 

ArcGISExperienceBuilder(install folder)\server\src\public\apps

The experiences are numbered from 0,1,2.. etc.

Adding these files to for example Git allows them to be versioned. Furthermore, I would recommend using symbolic links so that your project files can be divided from the Experience Builder code.

View solution in original post

SBerg_VHB
Regular Contributor

Hi, another workflow we are working on is how to use git to sync updates to sites being developed with custom configuration and custom widgets between multiple developers.  Rather than a process to keep moving updates into the core builder site, we are currently building a repo at the builder root and using gitignore to exclude everything except the following:

# include development required files
!.gitignore
!/client/
!/client/your-extensions
!/client/your-extensions/**
!/server/
!/server/public
!/server/public/**

One quirk is that the builder home page does not stay in sync with list of sites but since by convention we are working on site "0" we can launch via https://localhost:3001/builder/?id=0 and this has been working.

Hope this helps.  Feedback on this process welcome.

Sam

View solution in original post

3 Replies
KristianTuusjärvi
Occasional Contributor

It turns out that the experience project config files are saved in the following path: 

ArcGISExperienceBuilder(install folder)\server\src\public\apps

The experiences are numbered from 0,1,2.. etc.

Adding these files to for example Git allows them to be versioned. Furthermore, I would recommend using symbolic links so that your project files can be divided from the Experience Builder code.

SBerg_VHB
Regular Contributor

Hi, another workflow we are working on is how to use git to sync updates to sites being developed with custom configuration and custom widgets between multiple developers.  Rather than a process to keep moving updates into the core builder site, we are currently building a repo at the builder root and using gitignore to exclude everything except the following:

# include development required files
!.gitignore
!/client/
!/client/your-extensions
!/client/your-extensions/**
!/server/
!/server/public
!/server/public/**

One quirk is that the builder home page does not stay in sync with list of sites but since by convention we are working on site "0" we can launch via https://localhost:3001/builder/?id=0 and this has been working.

Hope this helps.  Feedback on this process welcome.

Sam

DanNarsavage_IDWR
Regular Contributor
@SBerg_VHB wrote:

 ... by convention we are working on site "0" ...

So . . . everyone on your team must work on the same app?

0 Kudos