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 user to force register a schema #1882

Closed
programmiri opened this issue Oct 13, 2023 · 9 comments · Fixed by #1877 or #1903
Closed

Allow user to force register a schema #1882

programmiri opened this issue Oct 13, 2023 · 9 comments · Fixed by #1877 or #1903

Comments

@programmiri
Copy link
Contributor

programmiri commented Oct 13, 2023

What happened?

We added a compatibility check for schemas before the schema creating (also update / promotion), but we didn't add the option for users to force register a schema even if it does not pass this check.

At the moment, users can't create a new schema if the compatibility check returns an error.

Todo

  • 🪸 if schema creation / update or promotion fails due to the compatibility check, give user the option to force register a new schema
  • In Angular, this needs to be added to the schema creation, too
  • add information about that for approvers

Design / Text

Form for creating / update

This are three different options how we could add this. Important: We don't show that option right away, because we don't want to encourage it. It only will show up if the api call has returned the validation error.

  1. Show a warning and the checkbox on top of the form
    -> the warning will be in the place where we in all our forms usually show errors, so it's familiar to users.
    -> the new checkbox is near the warning so users will see it directly
Screenshot 2023-10-13 at 15 13 28
  1. Show a warning and checkbox at the submit button
    -> having the checkbox near the submit button may make it more clear that this check is needed before submitting again, it feels a bit familiar to the pattern where you e.g. have to confirm you read terms of services etc.
    -> the warning is near the checkbox to highlight it more

Note: On a very small screen, user could potentially miss that elements appeared at the bottom (although the screen has to be REALLy small for this)

Screenshot 2023-10-13 at 15 13 45
  1. Have warning on top but checkbox at the submit button
    -> warning is where errors would appear and users should notice them better
    -> checkbox is in the (maybe :D) familiar place to "confirm" something before submit
Screenshot 2023-10-13 at 15 14 22

Approver table

I've no suggestion here :D this are the views where we could add that information.

I think we could add a small column in the table with header "force register" and only have a "yes" (or something like that :D) as content and then have more detailed information in the details modal, where the header is "force register" and the text more like "Yes: Force Register Schema option overriding schema compatibility has been selected." (well with a better copy).

That way, the table would not grow a lot while still providing users the information directly. In case they need more information, the detail modal will give it to them.

  1. Table with overview
Screenshot 2023-10-16 at 08 54 08
  1. Details view
Screenshot 2023-10-16 at 08 54 13
@programmiri programmiri linked a pull request Oct 13, 2023 that will close this issue
9 tasks
@aindriu-aiven
Copy link
Contributor

Force Register overrides the schema compatibility and allows the registering of the new schema.
(This is dangerous do we need a "CAUTION" style comment?)

I kind of like it up by the warning banner but I also like it down by the submit request button

@programmiri
Copy link
Contributor Author

Force Register overrides the schema compatibility and allows the registering of the new schema.
(This is dangerous do we need a "CAUTION" style comment?)

Yes, I think so! I would then add the same text to the promotion process. At the moment, we only show the checkbox (same as it was in Angular) with the caption.

I kind of like it up by the warning banner but I also like it down by the submit request button

See, that was how I was feeling, that's why there are now options for it being all over the place :D

@aindriu-aiven
Copy link
Contributor

Force Register overrides the schema compatibility and allows the registering of the new schema.
(This is dangerous do we need a "CAUTION" style comment?)

Yes, I think so! I would then add the same text to the promotion process. At the moment, we only show the checkbox (same as it was in Angular) with the caption.
I think its good enough for now but definitely any improvement we can make the better :)

I kind of like it up by the warning banner but I also like it down by the submit request button

See, that was how I was feeling, that's why there are now options for it being all over the place :D
Well I think it looks nicer at the bottom but i think it makes it more likely to be seen if its at the top where they will hopefully be reading it!

@Taikatuuli
Copy link

Approver table
I think we could add a small column in the table with header "force register" and only have a "yes" (or something like that :D) as content and then have more detailed information in the details modal, where the header is "force register" and the text more like "Yes: Force Register Schema option overriding schema compatibility has been selected." (well with a better copy).

Could we just have one more "Request type" called "Force register"? Then we don't need to add new column.

@Taikatuuli
Copy link

Show a warning and checkbox at the submit button
-> having the checkbox near the submit button may make it more clear that this check is needed before submitting again, it feels a bit familiar to the pattern where you e.g. have to confirm you read terms of services etc.
-> the warning is near the checkbox to highlight it more
Note: On a very small screen, user could potentially miss that elements appeared at the bottom (although the screen has to be REALLy small for this)

This is the clearest option from all of the once you gave, so I'm happy with this :)

@programmiri
Copy link
Contributor Author

Could we just have one more "Request type" called "Force register"? Then we don't need to add new column.

"force register" can be true for different types of requests (update, promote, create), so that would not work out.

@programmiri
Copy link
Contributor Author

@Taikatuuli This are two options what we could do in the table, simple text or status chip (I think the latter sounds good).

text status

@programmiri
Copy link
Contributor Author

And this could be the content we show in the details modal. If "forceRegister" is not selected, it won't show that headline/text at all.

Screenshot 2023-10-18 at 10 32 19

@Taikatuuli
Copy link

Warning status chip is clearer! :)

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