cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos

Improve user experience when editing a swagger file for custom apis

I see that you guys justify the requirement to delete and recreate a custom api when the swagger file changes appropriates the infamous "by design" dev loophole.

 

since you don't justify the justification anywhere in documentation, i can only surmise that you think changing a swagger file is like changing regular apis. if this is the case, then your draconian assumption that the swagger changes are always breaking changes seems...well, draconian.

 

so please, do two things:

  • document this "feature" of powerapps, and do it clearly. (you understand, don't you, that all your customers are powerapps rookies trying to learn by trial and error how to thrive in this brave new world of software development you offer us. forcing us to start from scratch with each thing we learn will not endear you to your customers.)
  • do a much better job convincing us there is something peculiar to powerapps custom apis that warrants the "by design" designation.
Status: Completed
Comments
Responsive Resident

the video was intriguing, but short on details, especially the connection to an azure function that returns results to the powerApp. at least i know it can be done, so more spelunking...

 

back to this thread.

 

as i have learned over the last ninety days (and surely I will learn more tomorrow), editing custom api's in this build of PowerApps is basic, relatively opaque (compared to future versions), and risky (mainly because we power users are still learning). but it does work well enough to be indispensable.

 

so here's what i do to get by (please correct me where i'm wrong or missing something):

 

once i get past the clunky UI (Connections -> New Connection -> Custom) and get to my custom aip:*

  • I can edit with the Edit icon
  • I can change the underlying swagger file**
  • I can finish the edit/creation process
  • NOTE: I am not sure if i need to hit the big + sign in the Custom list (I think I've done both)

if i have published the PowerApp, (in this build of PowerApps) i go through these steps to maximize the probability of working shared code:

  1. i delete the custom connection from my app
  2. i store the app locally
  3. i strore the shared app globaly
  4. i add back the updated connection
  5. repeat steps 2 and 3
  6. test the global app with a guest user (not the user who created the app) or do a buddy build/test with someone in the company

Following are DCRs and related words of warning to PowerApp authors.

 

*DCR: make the UI better aligned with daily usage. Let me get to my custom api in one click. Give me all the data i need once i get there: what swagger file did i use? what apps/flows depend on this api?

 

**"edit" is really too vague here. while the most common change is adding/deleting/ or modifying the api, there can be other changes. Different changes can have different side-effects. I cannot assume, for example, that changing an api for an Azure Function (webhook vs standard?) will have the sme impact as changing the API of a Logic App.

And changing a signature is one thing; changing how the signature is conveyed is another. for example:

  • changing from query string to body
  • changing required to optional
  • moving code parameter from parameters array to paths resource string

should all be considered breaking changes because clients will have to do something different to get the old results.

 

Power Apps

Hi mcorning -

 

Thanks for all your feedback.

 

Regarding the UI improvements to custom APIs, we are already working on it and you should see the new experience light up in the next couple of weeks. Please do continue to give us feedback on the new UI as well.

 

Regarding editing the custom API, the current expereince lets you update the metadata along with allowing you to upload a new version of the swagger file. We are also working on supporting the ability to version your custom APIs, so you can manage any breaking changes. For now, if you do upload a new version of the swagger file, you don't have to re-create your connection - unless you have changed your authenticaion. You should still be able to use your existing connection to the custom API. All you have to do in your app is remove and re-add the custom API from the Datasources tab in the PowerApps Studio.

 

Do let us know if you have more questions or feedback on this. We are continuously making improvements in the product and we would love to get more feedback from users that can help us prioritze.

 

Thanks,

Archana