Add simple course book list #256

Closed
opened 2024-01-10 17:23:16 +01:00 by yuha · 27 comments
yuha commented 2024-01-10 17:23:16 +01:00 (Migrated from edugit.org)

As the first step towards the new course book, the main course book page should be created. As the existing mock-up states, this should contain a table of lesson documentations (with a button at the end of the page that triggers new documentations to be loaded and the possibility to implement infinite scrolling at some point in the future; see https://edugit.org/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/270), created when some field in a documentation is edited. The basic filter functionality seen in the mock-up should be added. From the start on, the page should be mobile and desktop friendly. Management features for personal notes/absences/lesson documentations, the additional absence overview page and export functionality are to be added later on.

As the first step towards the new course book, the main course book page should be created. As the existing mock-up states, this should contain a table of lesson documentations (with a button at the end of the page that triggers new documentations to be loaded and the possibility to implement infinite scrolling at some point in the future; see https://edugit.org/AlekSIS/official/AlekSIS-App-Alsijil/-/issues/270), created when some field in a documentation is edited. The basic filter functionality seen in the mock-up should be added. From the start on, the page should be mobile and desktop friendly. Management features for personal notes/absences/lesson documentations, the additional absence overview page and export functionality are to be added later on.
yuha commented 2024-01-10 17:35:30 +01:00 (Migrated from edugit.org)

changed the description

changed the description
yuha commented 2024-01-10 21:31:59 +01:00 (Migrated from edugit.org)

changed the description

changed the description
hansegucker commented 2024-01-10 22:01:51 +01:00 (Migrated from edugit.org)

assigned to @yuha

assigned to @yuha
hansegucker commented 2024-01-10 22:02:33 +01:00 (Migrated from edugit.org)

@permcu also assigned

@permcu also assigned
yuha commented 2024-01-10 22:41:46 +01:00 (Migrated from edugit.org)

changed the description

changed the description
ZugBahnHof commented 2024-01-16 16:35:02 +01:00 (Migrated from edugit.org)

Meeting today decided:

  • frontend queries documentations for a group and a time range
  • backend generates a list of existing documentations and dummy-docs for lesson events without a documentation (empty documentations don't have to be persisted in the database)
  • frontend receives a list of documentations to display
  • frontend is unaware if the documentations are persisted or not
  • this way the frontend only has to deal with one type of documentation
  • when editing data related to a documentation, the backend decides whether it is actually an update or also a create operation
  • the backend creates the documentation based on information coded into the dummy id (if there is one with this lessonevent, the existing one is updated)
  • the dummy id is a string of the following format: DUMMY:{LessonEventID}
  • a documentation has a field firstOfDay which may contain true if this is the first documentation of this day in this collection (→ can vary depending on filtering, is needed for the display of subheadings)
Meeting today decided: - frontend queries documentations for a group and a time range - backend generates a list of existing documentations and dummy-docs for lesson events without a documentation (empty documentations don't have to be persisted in the database) - frontend receives a list of documentations to display - frontend is unaware if the documentations are persisted or not - this way the frontend only has to deal with one type of documentation - when editing data related to a documentation, the backend decides whether it is actually an update or also a create operation - the backend creates the documentation based on information coded into the dummy id (if there is one with this lessonevent, the existing one is updated) - the dummy id is a string of the following format: `DUMMY:{LessonEventID}` - a documentation has a field `firstOfDay` which may contain true if this is the first documentation of this day in this collection (→ can vary depending on filtering, is needed for the display of subheadings)
permcu commented 2024-01-16 18:10:42 +01:00 (Migrated from edugit.org)

Regarding firstOfDay:
There is a frontend only solution. Separation of concerns suggest doing this frontend only.

  • v-data-iterator has a function used to group items (group by day (via date_start))
  • use the v-data-iterator default slot to do nested iteration (@ZugBahnHof this still uses only one CRUDIterator!)

This would be my prefered solution.

Regarding firstOfDay: There is a frontend only solution. Separation of concerns suggest doing this frontend only. - v-data-iterator has a function used to group items (group by day (via date_start)) - use the v-data-iterator default slot to do nested iteration (@ZugBahnHof this still uses only one CRUDIterator!) This would be my prefered solution.
hansegucker commented 2024-01-16 18:47:23 +01:00 (Migrated from edugit.org)

Sounds very reasonable to me. I also advocate for putting the main part of business logic into the models, so please adhere to this. How is your plan to implement this? Who does what in the next time?

Sounds very reasonable to me. I also advocate for putting the main part of business logic into the models, so please adhere to this. How is your plan to implement this? Who does what in the next time?
yuha commented 2024-01-16 23:05:38 +01:00 (Migrated from edugit.org)

created branch 256-add-simple-course-book-list to address this issue

created branch [`256-add-simple-course-book-list`](/AlekSIS/official/AlekSIS-App-Alsijil/-/compare/master...256-add-simple-course-book-list) to address this issue
yuha commented 2024-01-16 23:05:45 +01:00 (Migrated from edugit.org)

mentioned in merge request !740

mentioned in merge request !740
permcu commented 2024-01-17 17:16:38 +01:00 (Migrated from edugit.org)

@ZugBahnHof @yuha are implementing the proposed backend solution. I did the required CRUDIterator so far. Next steps will be discussed next meeting.

@ZugBahnHof @yuha are implementing the proposed backend solution. I did the required CRUDIterator so far. Next steps will be discussed next meeting.
hansegucker commented 2024-01-17 21:03:23 +01:00 (Migrated from edugit.org)

Pass concrete CalendarEvent through get_single_events pipeline @yuha

Pass concrete `CalendarEvent` through `get_single_events` pipeline @yuha
yuha commented 2024-01-18 16:43:03 +01:00 (Migrated from edugit.org)
done, see: https://edugit.org/AlekSIS/official/AlekSIS-Core/-/issues/964
yuha commented 2024-01-24 21:41:54 +01:00 (Migrated from edugit.org)

@yuha does permission/rules related stuff

@yuha does permission/rules related stuff
permcu commented 2024-01-26 00:19:29 +01:00 (Migrated from edugit.org)

Screenshot_2024-01-26_at_00-04-53_Calendar___AlekSIS

![Screenshot_2024-01-26_at_00-04-53_Calendar___AlekSIS](/uploads/97fdcb31f635c7d5a87b3a1a05e74a30/Screenshot_2024-01-26_at_00-04-53_Calendar___AlekSIS.png)
ZugBahnHof commented 2024-01-30 19:17:06 +01:00 (Migrated from edugit.org)

Data Complete
mdi:check-circle-outline
success

Missing data
mdi:alert-outline
error

Pending
mdi:dots-horizontal
warning

Lesson Cancelled
mdi:close
error

Substitution
mdi:update
secondary

Data Complete mdi:check-circle-outline success Missing data mdi:alert-outline error Pending mdi:dots-horizontal warning Lesson Cancelled mdi:close error Substitution mdi:update secondary
ZugBahnHof commented 2024-01-30 19:17:53 +01:00 (Migrated from edugit.org)

image

![image](/uploads/be3372000c2b91efd9ce207202475ea3/image.png)
ZugBahnHof commented 2024-01-30 19:19:13 +01:00 (Migrated from edugit.org)

Please check if there are predefined icons (or predefine them somewhere)

Please check if there are predefined icons (or predefine them somewhere)
yuha commented 2024-01-30 19:28:01 +01:00 (Migrated from edugit.org)

@yuha checks if substitutions breaks this

@yuha checks if substitutions breaks this
ZugBahnHof commented 2024-02-14 21:52:58 +01:00 (Migrated from edugit.org)

Devmeeting decided the following urls
0. coursebook/ → 1

  1. coursebook/datum/ → 3
  2. coursebook/datum/all/
  3. coursebook/datum/my/
  4. coursebook/datum/all/type/id/
  5. coursebook/datum/my/type/id/

also

  • select has "All/My", groups and courses
  • toggle filters between documentations where the logged-in user is teacher (or in the future also student)
  • date picking stuff is for after didacta
  • once @permcu finished das grobe, poliere ich details
Devmeeting decided the following urls 0. coursebook/ → 1 1. coursebook/datum/ → 3 2. coursebook/datum/all/ 3. coursebook/datum/my/ 4. coursebook/datum/all/type/id/ 5. coursebook/datum/my/type/id/ also - select has "All/My", groups and courses - toggle filters between documentations where the logged-in user is teacher (or in the future also student) - date picking stuff is for after didacta - once @permcu finished das grobe, poliere ich details
yuha commented 2024-02-17 14:31:33 +01:00 (Migrated from edugit.org)

now they don't anymore – only LessonEvents that are not substituted themselves get their (dummy) documentations displayed

now they don't anymore – only LessonEvents that are not substituted themselves get their (dummy) documentations displayed
yuha commented 2024-02-17 16:33:25 +01:00 (Migrated from edugit.org)

url scheme is implemented now

url scheme is implemented now
ZugBahnHof commented 2024-02-23 18:15:22 +01:00 (Migrated from edugit.org)

mentioned in issue #254

mentioned in issue #254
ZugBahnHof commented 2024-03-13 20:35:01 +01:00 (Migrated from edugit.org)

subject not editable yet

subject not editable yet
ZugBahnHof commented 2024-03-13 20:35:21 +01:00 (Migrated from edugit.org)

verify that changes are being tracked using revisions

verify that changes are being tracked using revisions
ZugBahnHof commented 2024-03-20 21:11:21 +01:00 (Migrated from edugit.org)

marked this issue as related to #63

marked this issue as related to #63
hansegucker commented 2024-04-23 21:24:26 +02:00 (Migrated from edugit.org)

mentioned in commit 0e5225db25

mentioned in commit 0e5225db256955660a5357d937e44a2d19887a01
hansegucker (Migrated from edugit.org) closed this issue 2024-04-23 21:24:26 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#256
No description provided.