Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow API owner to select one from several configured proxies #1869

Closed
4 tasks done
bajiat opened this issue Nov 4, 2016 · 22 comments · Fixed by #1927
Closed
4 tasks done

Allow API owner to select one from several configured proxies #1869

bajiat opened this issue Nov 4, 2016 · 22 comments · Fixed by #1927

Comments

@bajiat
Copy link
Contributor

bajiat commented Nov 4, 2016

If there is more than one API Umbrella proxy defined for deployment, allow the API owner to select one of them in the Proxy backend settings.

Definition of done

  • If there is more than one API Umbrella defined, owner can select any of the defined proxies, when adding or editing proxy backend settings.
  • If there is only one API Umbrella defined, a simple solution is available for defaulting to the only API Umbrella.
  • Proxy base path will come from selected proxy.
  • Show an alert to owner, if switching between proxies: "This change will potentially break API calls from applications, if API users are not warned about the change."

Open issues: If owner changes the proxy, do we need to delete the proxy backend from the original proxy? Users will have a broken link, is it our responsibility to notify or is it owner's responsibility to warn the users?

Wireframes

  • In API profile Proxy tab, a dropmenu would appear depending on if there are more than 1 proxy available for selection.
    Open question: in case of only one proxy avialable, should we show the name as hard coded?
    apiprofilemultiproxyselector

  • On selecting a specific proxy, associated fields for that proxy would be populated. In the case for only one available proxy, the fields can appear instantly Proxy tab is selected for viewing:

apiprofilemultiproxyselector2

apiprofilemultiproxyselector3

  • When API owner tries to switch from one proxy to another, the following alert window should appear:
    apiprofilemultiproxyselector4
@jykae
Copy link
Contributor

jykae commented Nov 4, 2016

Interested

@Nazarah
Copy link
Contributor

Nazarah commented Nov 7, 2016

Open Question: Need to consider the scenario when owner wishes to switch from one proxy to another...Alert message?

@bajiat
Copy link
Contributor Author

bajiat commented Nov 7, 2016

@marla-singer Could you take this task?

@marla-singer
Copy link
Contributor

@bajiat yes, take it.

@bajiat bajiat added this to the Sprint 35 milestone Nov 7, 2016
@bajiat
Copy link
Contributor Author

bajiat commented Nov 7, 2016

@marla-singer Great! Can you please estimate the task in days?

@bajiat bajiat added ready and removed planning labels Nov 7, 2016
@marla-singer
Copy link
Contributor

marla-singer commented Nov 7, 2016

@bajiat Well, I'm not sure, maybe 2-3 days.

Show an alert to owner, if switching between proxies: "This change will potentially break API calls from applications, if API users are not warned about the change."

Is it essential to notice user in process switching? Can it be simply static sentence like:
"Be careful: Changing proxy will potentially break API calls from applications, if API users are not warned about the change."

@Nazarah
Copy link
Contributor

Nazarah commented Nov 8, 2016

@marla-singer Are you talking about the owner seeing the progress that the proxy has been switched to another one? I think there a simple feedback dialogue would be good. When the process is done an confirmation dialogue as well. However, I think API users should be notified about the change because they would see a broken link in the API profile page

@bajiat
Copy link
Contributor Author

bajiat commented Nov 8, 2016

I think the first step is to warn the owner that they are making a breaking change (from the point of view of API users).

We don't have a notification feature in APInf yet, but notifying the users after proxy has been changed could be considered part of it, when we build one.

@Nazarah
Copy link
Contributor

Nazarah commented Nov 8, 2016

Alert message when API owner tries to switch proxy:
"Caution! Changing the proxy will change the call URL and will potentially break API calls from applications. Please inform your API consumers about this change and suggest them to check whether or not they need to obtain new API key from the newly selected proxy."****

@marla-singer
Copy link
Contributor

marla-singer commented Nov 8, 2016

Open question: in case of only one proxy avialable, should we show the name as hard coded?

@Nazarah Yes, i think, we will show the name as hard code like "Current proxy is apiUmbrellaName" or something that.
Wireframes look the same like I supposed :)

@bajiat
Copy link
Contributor Author

bajiat commented Nov 8, 2016

@Nazarah The current task is about selecting from more than one API Umbrella proxies. So the in the Select Proxy menu you should be able to somehow differentiate between the different API Umbrella proxies in some way. So the selection does not happen between different proxy types, but between different instances of API Umbrella.

@marla-singer
Copy link
Contributor

marla-singer commented Nov 8, 2016

@bajiat It doesn't matter, it's just the names. Anyway the values for dropdown list will be taken from collections.

@Nazarah
Copy link
Contributor

Nazarah commented Nov 8, 2016

Use the standard Boot Strap alert popup to display when user want to switch a save a different proxy. This refers to wireframe picture 4.
Changing the wireframe picture 2 and adding them in GitHub repo.

@marla-singer
Copy link
Contributor

marla-singer commented Nov 10, 2016

Open issues: If owner changes the proxy, do we need to delete the proxy backend from the original proxy? Users will have a broken link, is it our responsibility to notify or is it owner's responsibility to warn the users?

@bajiat Don't have any answers for this question. So I don't know what to do? Save these data or delete

@marla-singer
Copy link
Contributor

marla-singer commented Nov 10, 2016

@bajiat Another open issue: What behaviour is expected if user select one proxy in list, save settings then select the first item "Select ... " ? Now I hide the form.
The question is delete or not proxy backend configuration in our data base? Delete or not from apiUmbrella?

I'm confused 😕

@marla-singer
Copy link
Contributor

Another case:
Selected proxy №2 in dropdown list
Then navigate to Proxies page and delete this proxy settings
What behaviour is expected?

@bajiat
Copy link
Contributor Author

bajiat commented Nov 14, 2016

Selected proxy №2 in dropdown list
Then navigate to Proxies page and delete this proxy settings

@marla-singer These might not be the same users. An API owner is not necessarily an admin. But still it is possible than a user with admin rights might remove a proxy that has connected API backends. The first thing to do is to warn and make sure there it at least one confirmation before the proxy is removed. Could we potentially give a count of connected proxy backends? "You are about to remove a proxy that has 57 proxy backends connected to it. Removing proxy will mean that API calls to any of the connected API backends will break."

This is not part of your task, though. I will create a follow-up issue for changing proxy settings.

@bajiat
Copy link
Contributor Author

bajiat commented Nov 14, 2016

@bajiat Another open issue: What behaviour is expected if user select one proxy in list, save settings then select the first item "Select ... " ? Now I hide the form.

What if you warn first (text suggested by Nazia) and ask for a confirmation: "Do you really want to change the proxy?"

@bajiat
Copy link
Contributor Author

bajiat commented Nov 14, 2016

If user makes a concious decision after being warned, I would say we need to delete from API Umbrella.

Ping @brylie

@brylie
Copy link
Contributor

brylie commented Nov 14, 2016

If owner changes the proxy, do we need to delete the proxy backend from the original proxy? Users will have a broken link, is it our responsibility to notify or is it owner's responsibility to warn the users?

Yes, delete the backend from the first proxy. Make sure the owner understands the potential side-effects by showing an alert.

It is the owners' responsibility to consider and communicate changes to the API users.

@brylie
Copy link
Contributor

brylie commented Nov 14, 2016

Another open issue: What behaviour is expected if user select one proxy in list, save settings then select the first item "Select ... " ? Now I hide the form.
The question is delete or not proxy backend configuration in our data base? Delete or not from apiUmbrella?

Any time the proxy is changed, and the changes are saved locally:

  • warn the administrator of possible side effects
    • loss of analytics data
    • API user broken links
  • remove the backend from the previous proxy

Note: selecting the 'Select a Proxy' option from the dropdown and clicking save is functionally the same as changing to a different proxy.

@marla-singer
Copy link
Contributor

@bajiat @brylie Thanks for answers! I understood all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants