Enterprise-CMCS / eAPD

CMS (Centers for Medicare and Medicaid Services) eAPD - Modernizing the APD experience
https://eapd.cms.gov
Other
58 stars 25 forks source link

[Design Issue] Create Maintenance page #4434

Open thetif opened 2 years ago

thetif commented 2 years ago

Now that we are using LaunchDarkly, we could easily flip on a maintenance page if something goes wrong with the application. Create a page that we could display to the user when the system is down for updates or errors.

This task is done when…

akuas commented 1 year ago

Closing Notes

As of April 12th 2023 FYI System outage/schedule maintenance help text comes from the eAPD Inquiry Response Document that Caryn wrote.

Scheduled Maintenance Workflow: User access the eAPD before and during a scheduled maintenance.

  1. An information alert will be displayed within ours of days of when it is needed. Around the same time we will need a message in the eapd-user-support channel the day before, depending on the severity/urgency, as it has been done before.
  2. The alert will be on the login/logout and dashboard pages. I did not include it in the builder because I thought it would be overkill and the other maintenance pages I saw for reference kept the alerts on the homepages and logins.
  3. If a user is logged in an working on an APD right before the schedule maintenance and during, the page will turn gray and present the unable to make changes modal alerting users of a scheduled maintenance
  4. Source of illustration : Online illustrations by Storyset

Scheduled Maintenance Workflow: User access the eAPD after the start of a schedule maintenance.

  1. We will turn on the schedule maintenance so that would be the 1st page users see instead of the login page. If they use a url for the builder they would have the same experience of being directed to the system outage page.
  2. This page will be active until the maintenance is over. I don’t think we need session timeout here.

Unscheduled/unexpected System Outage : A unexpected system outage occurs while a user is in the system, then eAPD is notified

(Out of scope of this ticket but I wanted to create it because it is not much different)

  1. User logs in and access an APD, they experience the unable to make changes and know that they have internet connection, so they either email or slack message that they cant edit, notifying eAPD that the system is down. Alternatively, internally we can realize that the system is down and notify slack and update the website.
  2. First they experience the unable to save changes, once we know we turn on the system outage page until the issue is resolved.
akuas commented 1 year ago

@jeromeleecms @stephanieboydcms @SGilliamA1M This ticket is ready to review. I still need to ask Tif questions about how certain aspects would work, next week, so this is not a final review or anything.

SGilliamA1M commented 1 year ago

Thanks @akuas! Designs look great. I dropped a comment regarding restricting users from logging in while system maintenance is in progress. A few reasons we should consider in support of this cause:

  1. It prevents users from expecting that after logged in, they would be able to engage with/navigate the system as usual.
  2. Logs configured on the backend for tracking are often limited during system maintenance.

@jeromeleecms and @stephanieboydcms - any thoughts on this? @thetif - can you weigh in on this from a technical perspective?

akuas commented 1 year ago

Okay this is ready for review again :) @stephanieboydcms @jeromeleecms

stephanieboydcms commented 1 year ago

Good on my end @akuas

jeromeleecms commented 1 year ago

Just need to spin up what the dev implementation looks like ;)