nl-kat-coordination
nl-kat-coordination copied to clipboard
Implement new reports flow
Goal
Configure, save and view reports As a user, I want to be able to configure the reports I generate and then view them in a table so that I have more visibility and control over the reports I generate.
Description
Build a report page where reports can be found that have been generated through the manual or periodical process.
This includes:
- A configuration page when creating a report
- An export page when creating a report
- A page with an overview of all the previously saved reports ("History"/"All Reports")
- A page where presets can be added and edited for scheduling ("Recipes"/"Presets")
- A page where the presets can be scheduled ("Scheduled")
Design
Figma design: https://www.figma.com/file/8r4OSFIJt1PF4iDXf9MbqM/%E2%9C%85-KAT-%7C-Approved-for-implementation?type=design&node-id=1211%3A1481&mode=design&t=GgJr2UcIuXk78s01-1
Design ticket: #2345
Related tickets
Closed
- [x] #2739
- [x] #2817
- [x] #2803
- [x] #2770
- [x] #2772
- [x] #2771
- [x] #2773
- [x] #2787
History
- [x] #2720
- [x] #2669
- [ ] #3027
Scheduling/presets/queries
- [ ] Step 1: #3088
- [ ] Step 2: #2658
- [ ] #2779
- [ ] #2774
- [x] #2775
- [ ] Step 3: #2974
- [ ] Step 4: Change and cancel scheduled reports
- [ ] #3123
- [ ] #3124
- [ ] Step 5: #3041
- [ ] Step 6: #2670
This is the implementation ticket for:
#2345 Design a space for generated reports (Reports page) As a user, I would like to have a place where I can view:
- The reports I generated
- including their status
Out of scope:
- The tab structure is not part of the scope of this ticket and will be discussed at a different time.
- The filter design is outdated, the new filter design is part of ticket #2463 and can be discussed at the filter page in Figma
The approved design can be found here: https://www.figma.com/file/8r4OSFIJt1PF4iDXf9MbqM/%E2%9C%85-KAT-%7C-Approved-for-implementation?type=design&node-id=1413%3A53597&mode=design&t=AFaoCMRv6uVySrQr-1
For saving recurring reports, in a previous project I have used https://github.com/jazzband/django-recurrence for something similar. It has a RecurrenceField, but also general Recurrence and Rule classes that can be useful. The project seems to need a bit love, but I think spending a little bit time on that is better than reinventing the wheel.
For scheduling/queries/preset, we've discussed that to the following steps are needed (in this order):
Step 1: While generating a report, create a JSON (add a post-request to each page). At each step in the report flow, the JSON is expanded.
Step 2: Expand Configuration page with the scheduler. (Config settings also needs to be added to the JSON)
Step 3: Make things that are scheduled visible on the report overview page (scheduled tab)
Step 4: Be able to edit and delete scheduled reports
Step 5: Be able to create queries (add this to JSON instead of hard OOI selection)
Step 6: Create "Presets"/"Recipe" tab on report overview page. A user should be able to create, display, edit and delete presets/recipes/favorites (or whatever name it eventually gets)