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

Feature Request: Add support for user policy banner or page #3634

Closed
hansen-m opened this issue Jun 24, 2024 · 10 comments
Closed

Feature Request: Add support for user policy banner or page #3634

hansen-m opened this issue Jun 24, 2024 · 10 comments

Comments

@hansen-m
Copy link

A useful feature to have would be a user policy page or pop-up that a user was required to read and accept before being allowed to continue on and use onDemand (or possibly per-cluster?).

Configuration ideas:

  • Localizable policy text (customizable as plain, Markdown and/or HTML)
  • Button text (if a decline/disagree button is included, then a URL to redirect to if clicked)
  • Required "always" at each login or "once" per-user (with timestamp stored in ~/ondemand)
  • Version changes (and an updated policy requires new accept)

A workaround to not having this feature is to use something like a public welcome page but not ideal: https://discourse.openondemand.org/t/public-welcome-page/1922

Discourse post: https://discourse.openondemand.org/t/add-policy-banner/3535

@osc-bot osc-bot added this to the Backlog milestone Jun 24, 2024
@johrstrom
Copy link
Contributor

Hi thanks for the feature request and sorry for the delay on discourse.

Just off the top thinking about this, I figure we'd need

  • Something to indicate the user has never logged in - like as you indicate a file somewhere in ~/ondemand.
  • Some sort of API for acceptance. Maybe this API can use the same file for updating.

@abujeda
Copy link
Contributor

abujeda commented Jul 8, 2024

I have an idea to enhance the current implementation for Announcements to add a dismissible feature.
These are announcements with a button. When clicked, the announcement will not appear again for the user.

We can use the user settings to store that the announcement was completed. If this is required again, a new announcement needs to be added.

It does not stop the user from using OnDemand, but if required can be made big enough to go over the page fold.

This is a small demo, I have configure 2 announcements, one is dismissible:
announcements

@abujeda
Copy link
Contributor

abujeda commented Jul 9, 2024

I created a prototype based on announcements. It adds 2 new features to announcements:

  • Dismissible Announcements
  • Required Announcements

Required announcements will block all requests to the application and only display an empty homepage with all the announcements until all required announcements have been executed.

#3667

@johrstrom
Copy link
Contributor

Aday's feature was merged, so it'll be in 4.0. Let me know if it's what you'd expect or not.

@hansen-m
Copy link
Author

@abujeda We need to update our instance before we can implement this but at first glance, it seems like it would check all the boxes for functioning as a policy banner.. only question is - would the required dismissed alerts/announcements re-appear if the policy text were modified or how would that work? (i.e. an acceptance versioning API)

@abujeda
Copy link
Contributor

abujeda commented Aug 26, 2024

Each announcement takes an optional id. If the text change, but the id stays the same, the announcement will not re-appear after the update. if the id changes, the announcement will re-appear regardless of the text.

by default, if no id is present in the announcement YAML, the hash of the file will be used as the id. if the text changes, the default id will change too and the announcement will re-appear.

Does it make sense?

@hansen-m
Copy link
Author

@abujeda Yes, that's great! Thank you.

@abujeda
Copy link
Contributor

abujeda commented Aug 29, 2024

@johrstrom I think we can close this one as completed

@johrstrom
Copy link
Contributor

Thanks, works for me!

@johrstrom
Copy link
Contributor

I guess I should note that while we're closing this now as done, it won't be available until the 4.0 release, whenever that may be.

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

No branches or pull requests

4 participants