flexion / ef-cms

An Electronic Filing / Case Management System.
23 stars 10 forks source link

Streamline Trial Session Data Returned for Dashboards #9758

Closed cholly75 closed 1 year ago

cholly75 commented 1 year ago

As a judge and chambers users, so that I am not logged out immediately upon viewing my dashboard, I need the logic that returns my relevant trial sessions to query specifically for sessions I am associated to.

On 12/19/22 we started experiencing immediate logouts for judge and chambers users; the root cause of this was traced to the accumulated volume of overall trial session data. Apparently the logic responsible for displaying relevant sessions on the user dashboard queries for all available trial sessions before filtering them for applicable user data; the amount of data initially returned in the query exceeds the size limitation and causes an automatic logout for the user.

Based on recommendations by @codyseibert this can be refined to query for the specific needed data initially, preventing the need to return the entirety of the trial session data and avoiding the forced logout symptom described above.

Pre-Conditions

Acceptance Criteria

Notes

Tasks

Test Cases

Story Definition of Ready (Created on 9/26/21)

The following criteria must be met in order for the user story to be picked up by the Flexion development team. The user story must:

Process: Flexion developers and designers will test if the story meets acceptance criteria and test cases in Flexion dev and staging environments (“standard testing”). If additional acceptance criteria or testing scenarios are discovered while the story is in progress, a new story should be created, added to the backlog and prioritized by the product owner.

Definition of Done (Updated 5-19-22)

Product Owner

UX

Engineering

mmarcotte commented 1 year ago

When deployed, we will need to restore the following trial sessions:

ttlenard commented 1 year ago

Testing Feedback 12/20/2022. @codyseibert @cholly75

I went through and clicked on everything from the Session copy page and Session detail page as a Judge and CA. Results are expected. Testing looks great! Here are my testing notes.

  1. Judge/CA can log in and view dashboard
  2. Can Click on upcoming and recent trial sessions - session copy page opens
  3. From Session Copy page:
    • Print with/without notes
    • Add trial status
    • Add Case Note
    • Delete Case Note
    • Add Session Note
    • Delete Session Note
    • Update Filter view
    • Download all Cases
    • Open Cases by from session copy by clicking on Docket number
    • Can then view documents as you normally would.
  4. Once in a Case that is scheduled for trial, Judge/CA can click on Case information tab, and then click on the Trial Session link to return to the Session Copy Page.
  5. Can click on the View All Session Info Link
  6. From the View All Session Info page
    • Print the trial session detail page
    • Open Cases by from trial session detail page by clicking on Docket number
    • Can then view documents as you normally would.
    • Can navigate around the Open, Inactive, All tab
  7. Can work with the recent messages from the dashboard as you normally would

What the Judge/CA CANNOT do at this point in time (with the payload exceeding our limit). This is to be expected until the next story is deployed. (#9759)

  1. Judge/CA cannot click on the Trial Sessions Tab - Results in the user getting logged out
  2. Judge/CA cannot click on the Edit link from the Trial Session Detail page

When reviewing the JSON in the console, I see that the trial-session json now only shows the data for the specific judge, rather than EVERY judge and EVERY trial session. I do have some things to consider for the future:

  1. Do we need to include the case order? There is still ALOT of data getting returned. Will we eventually exceed the limit at some point in the future even if we have filtered by Judge in this view?
  2. Maybe we could just display the upcoming and recent sessions in the json? Do we need to list out ALL of the cases that the Judge has ever had? Maybe we could make this match whatever is displayed in the UI?
  3. Is there other data that we could not display that could free up some space?