Canvas Apps Separate SharePoint Site URL from List ID
Submitted byAnonymouson10-27-202109:41 AM
In a canvas app I manage multiple copies of the same app for the application lifecycle of Dev, Test, Certification and Production. Each time I move the latest code from one copy to another I have to remove the data sources and connect new data sources that are associated to each copy. I use SharePoint lists and each copy of the app is associated with a separate SharePoint Site with the same list structure as the other copies.
Using this method I have ran into an issued (described below). The workaround for my issue ended up being to replace the data source, save and reopen the app. Now I know you will probably say just use a "Solution" well to keep with O365 licenses I can't do that.
So I have come up with another "feature idea" that would help anyone out with my type of application lifecycle model. I suggest that part of the data import for canvas apps to allow the user to supply a new SharePoint site URL. This would allow the importing of copies in a way that seamlessly updates the data sources if the site structures are exactly the same. This would not only make my life much simpler but also remove the issue where removing and adding a duplicate data source causes erroneous error messages.
Please consider this a request for that feature Idea.
---When migrating a canvas app with an identical structure as in two SharePoint sites, the app throws several errors.
---The references to the SharePoint sites were not updates correctly causing the app to throw the error.
---As a work around, our Product team found out that when they take one of the Galleries and change the Item filter formula to use ‘Proposal Intake_1’ and then simply add the SharePoint list a second time to get the _1 name there were no errors before adding the list (to be expected) and then the formula errors are resolved by adding the list. So, there were no formula errors after adding Proposal Intake a second time and when using a gallery that has the Name error when importing the list after removing it.