AlekSIS issueshttps://edugit.org/AlekSIS/official/AlekSIS/-/issues2023-12-13T18:58:49Zhttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/74Software Bill of Materials2023-12-13T18:58:49ZJonathan Wethgit@jonathanweth.deSoftware Bill of MaterialsNik | Klampfradlerdominik.george@teckids.orgNik | Klampfradlerdominik.george@teckids.orghttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/73Ensure that everything is covered by reversion2023-12-09T14:29:59ZJonathan Wethgit@jonathanweth.deEnsure that everything is covered by reversion- GraphQL mutations
- Backend code like Celery tasks
- **not** legacy views
Important: Ensure that comment and user are set properly.- GraphQL mutations
- Backend code like Celery tasks
- **not** legacy views
Important: Ensure that comment and user are set properly.2023.12 – "Falk"https://edugit.org/AlekSIS/official/AlekSIS/-/issues/72Provide useful fixtures in all apps2024-02-10T17:01:14ZJonathan Wethgit@jonathanweth.deProvide useful fixtures in all appsTo increase development speed, define fixtures below:To increase development speed, define fixtures below:permcupermcuhttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/71Document release workflow2023-11-26T14:43:34ZJonathan Wethgit@jonathanweth.deDocument release workflow- Name conventions for branches
- Tagging
- Pipeline success
- When backporting
- Updating changelog
- Backporting changelog
- Where to find supported versions- Name conventions for branches
- Tagging
- Pipeline success
- When backporting
- Updating changelog
- Backporting changelog
- Where to find supported versionshttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/70Proposal: Document currently supported versions of apps and distribution some...2023-11-26T14:42:44ZJonathan Wethgit@jonathanweth.deProposal: Document currently supported versions of apps and distribution somewherein order to know for which app versions we have to provide patch releasesin order to know for which app versions we have to provide patch releaseshttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/69Set icons for active menu entries2023-11-18T23:51:19ZJonathan Wethgit@jonathanweth.deSet icons for active menu entries2023.12 – "Falk"https://edugit.org/AlekSIS/official/AlekSIS/-/issues/66Consider `PROTECT` instead of `CASCADE` for some models2023-10-16T16:21:34ZJonathan Wethgit@jonathanweth.deConsider `PROTECT` instead of `CASCADE` for some models2023.12 – "Falk"Jonathan Wethgit@jonathanweth.deJonathan Wethgit@jonathanweth.dehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/65Build release docs from tags2024-02-19T15:32:29ZJonathan Wethgit@jonathanweth.deBuild release docs from tagsCurrently, the docs are built from the apps' master branches. But, to get the docs for a release, we need to built them from the matching tags.Currently, the docs are built from the apps' master branches. But, to get the docs for a release, we need to built them from the matching tags.2023.12 – "Falk"Jonathan Wethgit@jonathanweth.deJonathan Wethgit@jonathanweth.dehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/64The Aleksolotl – Development of AlekSIS' mascot2024-03-10T15:33:32ZJonathan Wethgit@jonathanweth.deThe Aleksolotl – Development of AlekSIS' mascotDuring FrOSCon 2023, a group of AlekSIS developers did a little brainstorming on the character of the Aleksolotl:
The Aleksolotl is the official mascot of the AlekSIS project.
- The Aleksolotl is an axolotl.
- Its colors are differen...During FrOSCon 2023, a group of AlekSIS developers did a little brainstorming on the character of the Aleksolotl:
The Aleksolotl is the official mascot of the AlekSIS project.
- The Aleksolotl is an axolotl.
- Its colors are different variants of blue.
- It's extremely playful.
- It has a schoolbag.
- It really doesn't like developers not doing their stuff.
- It's incredibly sweet and kind.
- It's a little bit naive.
- It's very curious.
- It loves to learn and organize things.
- Its favorite meal is a Greek seafood platter.
Additionally, there were some ideas in which places an Aleksolotl could appear:
- plush toys
- printed
- digital
- rollups
- manuals
- sheets
- t-shirts
- socks
- website
- stickers
- banners
- as soldering kit
This issue is mainly intended to keep track of the progress of getting an Aleksolotl graphic.
- [ ] Finish main graphics as SVG
- [ ] Check and document licensing with creator
- [ ] Reward creator
- [ ] Define list of needed Aleksolotl designs
- [ ] Review list of needed Aleksolotl designs
- [ ] Let creator create needed designs
- [ ] Implement on website (picture, explanation)
- [ ] Implement in manual (picture, explanation)
- [ ] Implement in error pages in application
- [ ] Implement on about page in application
- [ ] Create merchandise
Where do we need the Aleksolotl and how should it look?
| Implemented? | Where | How should it look? |
| ------ | ------ | --- |
| [ ] | Search when no results | Sad, maybe looking through Binoculars? |
| [ ] | 403 page | angry, looking like a bouncer with sunglasses and verschränkte Arme |
| [ ] | 404 page | confused with a map in hand |
| [ ] | 500 page | Confused with a toolbox |
| [ ] | Offline fallback page | has a smartphone in hand with a big floating wifi error (like [this](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.lifewire.com%2Fthmb%2FXhhd0Q1isp-73z24kGN0VgK4Hfo%3D%2F3000x2000%2Ffilters%3Afill(auto%2C1)%2Fwhat-to-do-when-theres-no-wi-fi-internet-connection-2378240_Final-832f509c9ca940e480a3288d39c02679.png&f=1&nofb=1&ipt=de2ab832148bd837ae9fd5afc28f93ed705304ea6affcaa300d95c372550a812&ipo=images) |
| [ ] | Crud-lists when no items | some kind of motivating message to create an object |
| [ ] | Notifications when no notifications | maybe a sad aleksolotl that thinks of letters/mail? |
| [ ] | Splash screen | Instead of the loader maybe some kind of animated swimming aleksolotl ? |
| [ ] | Data checks | Happy and in a winner's pose if all checks passed, sad or angry if there are failures |
| [ ] | FAQ asking page | question marks around its head maybe |
| [ ] | REBUS and Feedback success pages | maybe exclamation marks around its head? Or joyful in some kind of way |
| [ ] | Timebased documents default document | some kind of being confused |
| [ ] | Timetable management when no group is selected | Aleksolotl standing at magnet board |
| [ ] | No timetable selected | Aleksolotl checking its timetable |2023.12 – "Falk"Jonathan Wethgit@jonathanweth.deJonathan Wethgit@jonathanweth.dehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/61Introduce pre-commit hooks2023-07-23T11:27:08ZNik | Klampfradlerdominik.george@teckids.orgIntroduce pre-commit hookshttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/60[CI] Introduce migration tests on empty database2023-05-30T08:27:35ZJonathan Wethgit@jonathanweth.de[CI] Introduce migration tests on empty databasehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/59[ROADMAP] Timetable creation in AlekSIS2023-08-18T19:45:27ZHangzhi Yuhangzhi@protonmail.com[ROADMAP] Timetable creation in AlekSISThe following things have to implemented and tested:
- [ ] Back- and frontend for planning of lessons: Linking teachers to courses and providing courses with designated lesson count (per week)
- [ ] Planning of school structure (sort c...The following things have to implemented and tested:
- [ ] Back- and frontend for planning of lessons: Linking teachers to courses and providing courses with designated lesson count (per week)
- [ ] Planning of school structure (sort classes into grades and courses into classes)
- [ ] Frontend for (manual) group-wise creating and editing of timetables based on the new timetable data model structure described in https://edugit.org/AlekSIS/official/AlekSIS/-/issues/58
- [ ] Ensuring compatibility with existing data, e.g. from past UNTIS imports
- [ ] Inclusion of other timed events (e.g. holidays, school events, exams ...) in timetable creation process
While developing the timetable frontend, the following requirements (partly expressed by pilot schools) have to be taken into consideration:
- [ ] Blocking time slots/rooms/relevant persons in timetable creation frontend in case a conflict exists (e.g. when the teacher who is supposed to teach a lesson in question is already teaching another one at the same time)
- [ ] Collect statistics about the work load of teachers (= the lessons/substitutions taught), visualize this information and use it e.g. when creating substituted lessons
- [ ] Allow for planning of multiple parallel courses in one group ("Wahlpflichtkurse")/non-class-based lesson planning ("Kurssystem")
- [ ] long term: Reach level of automation comparable with established/already in use timetable planning software avoiding increased workload - e.g. consideration of other concurring events (final goal: mainly automatically created timetables without much need for manual correction)
- [ ] long term: Also allow planning of supervisions and substitutions via the new frontend; short term: Ensure generalization of frontend components so that the said features can be implemented without much effort
- [ ] Allow editing of all information that is supposed to be used by the calendar frontend/delivered via iCal feed (e.g. notes in lessons, special colors, ...?)
- [ ] Consider possible use case of lessons not taking place every week -> implications for frontend?
- [x] Consider partly usage of existing calendar component for some parts of the workflow
- [ ] TBA (considering e.g. meeting with HNS)
In order to implement the new features given the requirements described above, the following steps are suggested:
- [x] Collect ideas on the UI implementation of common workflows in timetable creation processes (considering the workflows of existing software) resulting in wireframes demonstrating the frontend components to be created
- [ ] Implement lesson planning in front- and backend
- [x] Implement school structure planning (@ZugBahnHof)
- [x] Extend group data model in order to represent grades (Jahrgänge) and classes (→ roles; also @ZugBahnHof)
- [x] Create school structure planning component
- [x] Implement course planning ("Unterrichtsplanung") (`TimeboundCourseConfig` model in Lesrooster https://edugit.org/AlekSIS/onboarding/AlekSIS-App-Lesrooster/-/issues/2) (@yuha)
- [x] Extend data model for courses in order to link lesson quotas to courses
- [x] Create course planning component
- [x] Implement timetable creation ("Stundenplanerstellung"/"Magnettafel") components (in which app?) (@yuha and @ZugBahnHof)
- [x] Add queries and mutations needed for performing CRUD actions on relevant objects (especially Lesson model)
- [x] Check usability of https://edugit.org/AlekSIS/libs/vue-draggable-grid and, if necessary, adapt it to fit new requirements
- [ ] Implement frontend linkage between Cursus/Lesrooster and newly created timetable creation components
- [ ] Check accessibility of relevant external data (e.g. other events, groups, ...) via GraphQL API and, if necessary, expand it
- [ ] Check existing permission structure in relevant apps and, if necessary, adapt it
- [ ] Drop existing substitution creation processHangzhi Yuhangzhi@protonmail.comHangzhi Yuhangzhi@protonmail.comhttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/58[ROADMAP] Migration to new data model for timetables2024-03-07T11:38:51ZJonathan Wethgit@jonathanweth.de[ROADMAP] Migration to new data model for timetablesThis currently consists of work in the following apps:
- Core (AlekSIS/official/AlekSIS-Core!1304)
- Chronos (https://edugit.org/AlekSIS/official/AlekSIS-App-Chronos/-/merge_requests/301)
- Cursus (AlekSIS/onboarding/AlekSIS-App-Cursus!2...This currently consists of work in the following apps:
- Core (AlekSIS/official/AlekSIS-Core!1304)
- Chronos (https://edugit.org/AlekSIS/official/AlekSIS-App-Chronos/-/merge_requests/301)
- Cursus (AlekSIS/onboarding/AlekSIS-App-Cursus!2)
- Lesrooster (AlekSIS/onboarding/AlekSIS-App-Lesrooster!2)
- Untis (AlekSIS/official/AlekSIS-App-Untis!166)
- Kolego (master)
The following things have to implemented and tested:
- [ ] Import of all kinds of data from Untis
- [x] Calendar frontend
- [x] Export of ICS files (AlekSIS/official/AlekSIS-App-Chronos#40)
- [ ] Direct integration of iCal feeds in calendar software (AlekSIS/official/AlekSIS-App-Chronos#40)
- [ ] Display of lessons, substitutions, supervisions, events, and extra lessons in calendar frontend
- [ ] Tracking of timetable changes and sending of notifications
These are the steps:
- [x] Creation of new models in Cursus (AlekSIS/onboarding/AlekSIS-App-Cursus!1)
- [x] Creation of new models in Lesrooster (AlekSIS/onboarding/AlekSIS-App-Lesrooster!1)
- [x] Basic implementation of calendar feeds in Core (AlekSIS/official/AlekSIS-Core!1148)
- [x] Basic implementation of calendar frontend in Core (AlekSIS/official/AlekSIS-Core!1148)
- [x] Creation of new Holiday model in Core (AlekSIS/official/AlekSIS-Core!1185)
- [x] Merge of Holiday model and basic calendar frontend (AlekSIS/official/AlekSIS-Core!1185, AlekSIS/official/AlekSIS-Core!1148)
- [ ] Import of all data from AlekSIS-App-Untis (AlekSIS/official/AlekSIS-App-Untis!166)
- [x] Subjects
- [x] Rooms
- [x] Absence Reasons/Types
- [x] Person absences
- [ ] Class absences
- [ ] Room absences
- [x] Teachers
- [x] Classes
- [x] Slots and breaks
- [x] Supervisions
- [x] Lessons (Lesrooster)
- [ ] Exam model in Cursus
- [x] Fix not working django-jsonstore
- [x] Event generation from lessons in Chronos (https://edugit.org/AlekSIS/official/AlekSIS-App-Chronos/-/merge_requests/301)
- [x] Event generation from supervisions in Chronos (https://edugit.org/AlekSIS/official/AlekSIS-App-Chronos/-/merge_requests/301)
- [ ] Import more data from AlekSIS-App-Untis
- [x] Substitutions (amending lesson events in Chronos)
- [x] Extra lessons (free event via Chronos)
- [x] Supervision substitutions (amending supervision events in Chronos, AlekSIS/official/AlekSIS-App-Chronos#189)
- [x] Events (free event via Chronos)
- [ ] Exams (free event via Chronos)
- [x] Change tracking
- [ ] Clean up import
- [ ] Update logging
- [x] Ensure `__str__` methods and name mixins for m2m fields everywhere
- [x] Ensure all necessary attributes at calendar events and customize displaying of events in AlekSIS' own calendar frontend (all data from old frontend have to be included)
- [x] Substitutions should be cancelled at the substituted plan
- [x] Calendar events with current changes should be marked extra
- [x] Check permissions for calendars
- [x] Test with teacher and student accounts
- [x] Fix typing everywhere
- [x] Implement filtered calendar feeds for e.g. room timetables
- [ ] New Chronos frontend
- [x] Room timetables, teacher timetables, class/course timetables (AlekSIS/official/AlekSIS-App-Chronos#150)
- [ ] Special views (AlekSIS/official/AlekSIS-App-Chronos#119, AlekSIS/official/AlekSIS-App-Chronos#120)
- [ ] Substitutions as table and as PDF
- [ ] Working notification system (AlekSIS/official/AlekSIS-App-Chronos#201, https://edugit.org/AlekSIS/official/AlekSIS-App-Chronos/-/issues/209)
- [ ] Migration path from old Chronos to new Chronos
- [ ] Dropping of old models in Chronos
- [x] Frontend for managing holidays in Core (@ZugBahnHof, AlekSIS/official/AlekSIS-Core!1261)
- [ ] Fix versions
- [ ] Document new data model with text and graphic
- [ ] Document usage of calendar systemJonathan Wethgit@jonathanweth.deJonathan Wethgit@jonathanweth.dehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/51Incorrect plural forms in translation2023-02-16T20:07:19ZSerhii HorichenkoIncorrect plural forms in translation[This string](https://translate.edugit.org/translate/aleksis/aleksis-core/uk/?checksum=96dafac711a2630e) has incorrect set for singular/plural localization.
It has **mixed** _singular + "few" plural form_ in one localized line __without...[This string](https://translate.edugit.org/translate/aleksis/aleksis-core/uk/?checksum=96dafac711a2630e) has incorrect set for singular/plural localization.
It has **mixed** _singular + "few" plural form_ in one localized line __without variable__.
Please take an attention to the Ukrainian **integer** plural Forms [here](https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_plural_rules.html#uk).
The source line: `aleksis/core/templates/two_factor/profile/profile.html:50`
There are two ways to fix the issue as I see:
- leave singular `You have only one backup token remaining` as a separated singular string in translation and make correct plural with three forms as only plural string;
- another way is to fix singular form for singular only form (without 21,31,41,etc) and make correct division for three plural forms
1. `(21, 31, 41, etc)`,
2. `(2~4, 22~24, 32~34, etc)`,
3. `(5~19, 100, 1000, etc)`.Jonathan Wethgit@jonathanweth.deJonathan Wethgit@jonathanweth.dehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/45[Docs] Enable sphinx building / pages publishing in all apps2022-01-13T11:24:58ZNik | Klampfradlerdominik.george@teckids.org[Docs] Enable sphinx building / pages publishing in all appsPlease enable the sphinx build in all official (and onboarding) apps and have them publish to `aleksis.edugit.io`.
Obviously, the build should only trigger if `docs/` exists.
This is needed for #41Please enable the sphinx build in all official (and onboarding) apps and have them publish to `aleksis.edugit.io`.
Obviously, the build should only trigger if `docs/` exists.
This is needed for #41Tom Teichlertom.teichler@teckids.orgTom Teichlertom.teichler@teckids.orghttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/43[Docs] Add glossary section2022-06-05T11:36:19ZNik | Klampfradlerdominik.george@teckids.org[Docs] Add glossary sectionWe should add a glossary section, which is also pulled together from all apps, defining the terms used throughout AlekSIS.
We should then make sure we use these terms consistently.We should add a glossary section, which is also pulled together from all apps, defining the terms used throughout AlekSIS.
We should then make sure we use these terms consistently.https://edugit.org/AlekSIS/official/AlekSIS/-/issues/42[Docs] Enable translation for docs2022-12-16T15:34:20ZNik | Klampfradlerdominik.george@teckids.org[Docs] Enable translation for docsJonathan Wethgit@jonathanweth.deJonathan Wethgit@jonathanweth.dehttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/41[Docs] Provide intersphinx between apps2022-06-04T09:59:43ZNik | Klampfradlerdominik.george@teckids.org[Docs] Provide intersphinx between appshttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/40[Docs] Build reference docs2022-06-04T09:59:58ZNik | Klampfradlerdominik.george@teckids.org[Docs] Build reference docshttps://edugit.org/AlekSIS/official/AlekSIS/-/issues/38Add lint command for changelog2022-01-03T20:18:39ZNik | Klampfradlerdominik.george@teckids.orgAdd lint command for changelogWe should add a command to the lint change, verifying the changelog is valid rST.We should add a command to the lint change, verifying the changelog is valid rST.Nik | Klampfradlerdominik.george@teckids.orgNik | Klampfradlerdominik.george@teckids.org