Add statistics page for absences #266

Closed
opened 2024-01-10 18:12:26 +01:00 by yuha · 24 comments
Member

Due to the frequent need of aggregated absence data per student/per group/per course, statistic components on the person and group pages should be introduced. It should be possible to filter the data that is aggregated by school term.

https://design.edugit.org/#/workspace/4cb67ad2-841a-81b6-8003-4809953226e4/d4872814-7693-809c-8003-df116cce0642?page-id=d4872814-7693-809c-8003-df116cce0643

Aggregations on student page (component 1)

Query per person and school term

  • Total count of participations
  • Total count of absences with absence reasons that say count_as_absent
  • Count of absences grouped by absence reasons
  • (exclude for now) Both things also divided by a day factor
  • Sum of tardiness
  • Count of tardiness
  • Count of extra marks grouped by extra marks

Aggregations on groups page (component 2)

Query per group and school term with a list of persons and annotated statistics

for each student

  • Total count of participations
  • Total count of absences with absence reasons that say count_as_absent
  • Count of absences grouped by absence reasons
  • (exclude for now) Both things also divided by a day factor
  • Sum of tardiness
  • Count of tardiness
  • Count of extra marks grouped by extra marks
Due to the frequent need of aggregated absence data per student/per group/per course, statistic components on the person and group pages should be introduced. It should be possible to filter the data that is aggregated by school term. https://design.edugit.org/#/workspace/4cb67ad2-841a-81b6-8003-4809953226e4/d4872814-7693-809c-8003-df116cce0642?page-id=d4872814-7693-809c-8003-df116cce0643 ## Aggregations on student page (component 1) Query per person and school term * Total count of participations * Total count of absences with absence reasons that say `count_as_absent` * Count of absences grouped by absence reasons * (exclude for now) Both things also divided by a day factor * Sum of tardiness * Count of tardiness * Count of extra marks grouped by extra marks ## Aggregations on groups page (component 2) Query per group and school term with a list of persons and annotated statistics **for each student** * Total count of participations * Total count of absences with absence reasons that say `count_as_absent` * Count of absences grouped by absence reasons * (exclude for now) Both things also divided by a day factor * Sum of tardiness * Count of tardiness * Count of extra marks grouped by extra marks
Member

statistiken

![statistiken](/uploads/0312e1daf416c7f7a55848f87ee6e63a/statistiken.png)
Member

Possibly connected in some way to #124 #120

Possibly connected in some way to #124 #120
Member

Our idea: no separate page, but a widget with fullscreen capabilities, displayed on the person overview page in the core (and possibly later as well on the dashboard).

How would this work technically: Each app can declare inside the index.js which collection the respective app defines, and which components it provides for specific collections. Vite/the bundler will somehow merge thes values and provide at a singular place (via the aleksis mixin maybe?).

Example: the core would define the collections "core-dashboard", "core-person-overview" and "core-group-overview", and alsijil would supply components for personal statistics (and at a later point one for group statistics as well)

this would solve/require https://edugit.org/AlekSIS/official/AlekSIS-Core/-/issues/122

Our idea: no separate page, but a widget with fullscreen capabilities, displayed on the person overview page in the core (and possibly later as well on the dashboard). How would this work technically: Each app can declare inside the index.js which collection the respective app defines, and which components it provides for specific collections. Vite/the bundler will somehow merge thes values and provide at a singular place (via the aleksis mixin maybe?). Example: the core would define the collections "core-dashboard", "core-person-overview" and "core-group-overview", and alsijil would supply components for personal statistics (and at a later point one for group statistics as well) this would solve/require https://edugit.org/AlekSIS/official/AlekSIS-Core/-/issues/122
Member

@hansegucker please think very hard about this as well

@hansegucker please think very hard about this as well
Owner

I like this idea. But we also have to consider additional pages for statistic overviews for whole groups.

I like this idea. But we also have to consider additional pages for statistic overviews for whole groups.
Author
Member

We have consider different ways of aggregating information (e.g. summing up missed days vs summing up missed lessons) – in Berlin, for example, school certificates need to state the count of missed days.

We have consider different ways of aggregating information (e.g. summing up missed days vs summing up missed lessons) – in Berlin, for example, school certificates need to state the count of missed days.
Member

Presentation_AlekSIS-Dev-Meeting_2024-03-12T20_52_36.952Z

![Presentation_AlekSIS-Dev-Meeting_2024-03-12T20_52_36.952Z](/uploads/51a3f70caa7164d669d00791850ba12b/Presentation_AlekSIS-Dev-Meeting_2024-03-12T20_52_36.952Z.png)
Member

ignore the "Kursbuchstatistik" card, this idea has been verworfen

ignore the "Kursbuchstatistik" card, this idea has been verworfen
Author
Member

assigned to @yuha

assigned to @yuha
Member

new mockups presented in devmeeting, @hansegucker will now present them to the Katharineum

new mockups presented in devmeeting, @hansegucker will now present them to the Katharineum
Member

mentioned in issue #253

mentioned in issue #253
Owner

changed the description

changed the description
Owner

changed the description

changed the description
permcu commented 2024-05-08 15:49:17 +02:00 (Migrated from edugit.org)

created branch 266-add-statistics-page-for-absences to address this issue

created branch [`266-add-statistics-page-for-absences`](/AlekSIS/official/AlekSIS-App-Alsijil/-/compare/master...266-add-statistics-page-for-absences) to address this issue
permcu commented 2024-05-08 15:55:34 +02:00 (Migrated from edugit.org)

mentioned in merge request !751

mentioned in merge request !751
permcu commented 2024-05-14 12:10:39 +02:00 (Migrated from edugit.org)

A draft of the UI for a person in compact form for the person overview page and maximized form:

statistics card (compact=false)
  title & maximize button
  vertical cards (absences (grouped by absence-reasons), tardiness, extra-marks)
  personal-notes-list (custom virtual scroller list)
maximize
| switches to own maximized statistics page
| (at least own URL, with optional (get) parameter recording where the user came from (for close button & url sharing)
v
header (close, title, print)
School-term-select
CRUDList/Iterator
  queries documentations
  and shows
    ExtraMarks
    PersonalNotes
    Tardiness
    ParticipationStatus
to the right  
  statistics card (compact=true)
    title
    vertical cards
A draft of the UI for a person in compact form for the person overview page and maximized form: ``` statistics card (compact=false) title & maximize button vertical cards (absences (grouped by absence-reasons), tardiness, extra-marks) personal-notes-list (custom virtual scroller list) maximize | switches to own maximized statistics page | (at least own URL, with optional (get) parameter recording where the user came from (for close button & url sharing) v header (close, title, print) School-term-select CRUDList/Iterator queries documentations and shows ExtraMarks PersonalNotes Tardiness ParticipationStatus to the right statistics card (compact=true) title vertical cards ```
permcu commented 2024-06-06 16:30:12 +02:00 (Migrated from edugit.org)

StatisticsForPersonPage should have two lists:

https://edugit.org/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/255#note_91635

One has PeronalNotes et al
and the other has absences & actions (change status)

StatisticsForPersonPage should have two lists: https://edugit.org/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/255#note_91635 One has PeronalNotes et al and the other has absences & actions (change status)
Author
Member

assigned to @permcu and unassigned @yuha

assigned to @permcu and unassigned @yuha
Owner

assigned to @ZugBahnHof and unassigned @permcu

assigned to @ZugBahnHof and unassigned @permcu
Owner

mentioned in commit 43588ac578

mentioned in commit 43588ac57815027593a240116823d27c9a88dbfb
Member

added 1 design

added [1 design](/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/266/designs?version=13)
Member

added 1 design

added [1 design](/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/266/designs?version=14)
Member

added 1 design

added [1 design](/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/266/designs?version=15)
Member

added 1 design

added [1 design](/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/266/designs?version=16)
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
aleksis/AlekSIS-App-Alsijil#266
No description provided.