Formularbaukasten und Ankündigungsbearbeitung
Ziel
Es soll ein Formularbaukasten in Stud.IP eingeführt werden und exemplarisch dazu soll die Bearbeitung von Ankündigungen daraufhin umgestellt werden.
Beschreibung
Um Formulare barrierearm zu gestalten, soll es zukünftig in Stud.IP einen Formularbaukasten geben, an dem man sich bedienen kann. Tut man das, so soll das Ergebnis praktisch immer barrierearm sein und zu Stud.IP passen.
Um zu schauen, ob wir selbst glücklich werden mit diesem Formularbaukasten bzw. Formbuilder, wird dieser in diesem StEP nur an einer Stelle des Systems eingebaut - nämlich den Ankünidgungen. Das bearbeiten der Ankündigungen soll also daraufhin umgestellt werden. So können wir Erfahrungen sammeln und gegebenenfalls nachbessern oder bei Gefallen zukünftig den Baukasten an mehr Stellen einbauen.
Maßnahmen
Es wird eine neue Klasse in PHP programmiert, die genau auf die API von Stud.IP zugeschnitten ist. Mit dieser kann man ein Formular einfach aus einem SimpleORMap Objekt und weiteren Parametern erzeugen oder alternativ oder mehrere Parameter. Diese Klasse wird einem auch beim Speichern des Formulars helfen.
Da immer mehr Stellen in Stud.IP vue.js verwenden, werden insbesondere Spezialeingabefelder in wiederverwendbare Vue-Komponenten ausgelagert werden. Somit ist dieser Formularbaukasten nicht nur eine PHP-Klasse, sondern auch ein Portfolio an Vue-Komponenten.
Besonderheiten:
- Formulare bekommen für die Barrierefreiheit eine aria-live Region, in der Hinweise dargestellt werden zur Validierung des Formulars.
- Formulare werden grundsätzlich immer mit CSRFProtection abgesichert.
- Alle verfügbaren Eingabefelder werden auf Barrierefreiheit hin untersucht.
- Plugins können eigene Formulareingabefelder hinzufügen, wenn diese die PHP-Klasse verwenden wollen.
- Auch wenn man nur die PHP-Klasse verwendet, wird das Formular in Vue.js programmiert sein.
Kurzbezeichnung des Integrationsaufwandes
- mittel
Durchführung
Rasmus zur 5.2