MVP Mitwirk-O-Mat Portalintegration
MVP
- Integration ins Portal (aktivierbar über setting fürs Portal)
- neues Formular im Settings-Bereich für Projekte/Gruppen
(+Tagungen?)- Formular hat eine Opt-In checkbox "Am Mitwirk-O-Mat teilnehmen" mit Erklärungstext
- wenn Checkbox angehakt, klappt großes Formular aus mit allen Text/Choice/Freitextfeldern
- Anmerkung von Felix: Das Formular sollte immer sichtbar und speicherbar sein, auch wenn das Teilnahme-Häkchen nicht gesetzt ist, damit die Gruppen ihre Antworten in Ruhe eintragen können, bevor sie dann die Teilnahme aktivieren
- einige Felder sind "ersetzende" Infos, die z.b. Gruppennamen für MoM spezifisch angeben und sonst die Projekteinstellungswerte benutzen
- API-Endpoint mit CSV-format-option
- exportiert alle MoM-aktivierten Projekte/Gruppen
- Spalten wie vom MoM gewünscht
- IFrame-Einbettung (wahrscheinlich in Wordpress)
Tech Notes (Dev-Schätzung gesamt: 36h)
- Portal:
- conf.py switch
COSINNUS_MITWIRKOMAT_ENABLED
- conf.py switch
- Model [8h]:
- neues django Model "MitwirkomatSettings":
- mit OneToOne rel auf CosinnusGroup, null=True
- evtl. 1-2 base fields, je nach spezifischem Katalog
- Hardcoded Fields:
-
is_active
bool, kann deaktiviert nach ausfüllen, damit Daten nicht verloren gehen - Name (optional: Fallback Gruppenname)
-
- Dynamic Fields
COSINNUS_MITWIRKOMAT_DYNAMIC_FIELDS
:- Link (optional: Fallback Gruppen-URL)
- Name = Gruppenname
- Abkürzung ggf. zusätzlich abfragen
- Beschreibung (optional: Fallback Gruppenbeschreibung)
- kein Markup / HTML, Max-Length
- (kein Feld: Logo wird übernommen aus Gruppe, keine Ersatzmöglichkeit)
- Fragenset: Liste von 20 Paar-Fragen mit Label: (Zustimmung (-1, 0, 1), Ergänzung (Freitext))
- pro Portal wahrscheinlich nur Label-Änderungen für die 20 Fragen
- Auswahl der Filter-Kategorien
- neues django Model "MitwirkomatSettings":
- Form [16h]:
- angezeigt als eigenständige FormView für Gruppenadmins
- Link wird im Group AppsMenu angezeigt und im leftnav des Gruppenbereichs
- Form erstellt neues MitwirkomatSettings model beim ersten speichern
- falls Opt-In-Feld abgewählt wird wird nur
is_active=False
gesetzt, MitwirkomatSettings instance wird nicht gelöscht
- falls Opt-In-Feld abgewählt wird wird nur
- API-Endpoint [12h]:
- mit CSV als format-parameter-option
- returned MitwirkomatSettings von allen gruppen, die ein MitwirkomatSettings haben, mit
is_active=True
- so generisch wie möglich, export-logik wenn möglich nur im core, nicht im portal
- loop über alle
COSINNUS_MITWIRKOMAT_DYNAMIC_FIELDS
, ausgabe in spalten, mit fieldname im header - fallbacks für optionale felderwerte werden aus group instance genommen
- Absprache für exakte Struktur des CSV und Werte
@felix.englisch gibt es besondere Ansprüche auf Übersetzbarkeit / Mehrsprachigkeit? Würden es einfach erstmal so wie normale Formularfelder im Portal machen.
Edited by Felix Englisch