Dies ist eine alte Version des Dokuments!
Das Issues System ermöglicht das Erfassen und Bearbeiten von im Rahmen der Arbeit mit FH Complete auftretenden Fehlern. Wichtig ist dabei die Unterscheidung zwischen
Ein issue kann für eine Person oder eine Organisationseinheit auftreten.
Zur Abarbeitung der Issues existiert eine Fehler Monitoring Übersicht. Hier werden die zuletzt aufgetretenen Issues aufgelistet. Wenn der Issue behoben wurde, kann dieser hier manuell auf „behoben“ gesetzt werden.
Ein Issue kann folgende Status haben:
Ein issue wird in der Übersicht angezeigt, wenn
Auf der linken Seite der Monitoring Übersicht sind vordefinierte Filter zu finden. So werden je nach Auswahl offene oder erledigte issues angezeigt.
Das Setzen eines Issues auf „Behoben“ kann entweder manuell in der Fehler Monitoring Oberfläche oder automatisiert durch einen Job erfolgen. Der Job wird folgendermaßen aufgerufen:
php index.ci.php/jobs/IssueResolver/run
für Issues im Core Teil von FH Complete
php index.ci.php/extensions/FHC-Core-Extensionname/jobs/IssueResolver/run
für in einer extension
definierte Issues
Der Job geht alle nicht behobenen Issues im Core oder in der Extension durch und prüft für den Fehlercode des Issues, ob der Issue noch besteht. Zur automatisierten Behebung muss pro Fehlercode definiert werden, wenn ein aufgetretener Issue für diesen Fehler als behoben gilt. Hierzu sind folgende Schritte notwendig:
checkIfIssueIsResolved($params)
implementieren. Diese muss ein success objekt mit „true“, wenn der Issue behoben ist, oder „false“, wenn nicht, oder ein error objekt wenn Fehler bei der Prüfung aufgetreten sind, zurückgeben. Die Methode akzeptiert einen $params Array, welcher zusätzliche, zur Behebung notwendige Parameter beinhaltet (z.B. prestudent_id, wenn der Fehler einen bestimmten Prestudent betrifft). Die Parameter müssen bei Auftreten des issues (in der jeweiligen Applikation) in die Issue Tabelle als JSON-Object (Spalte behebung_parameter) geschrieben werden. Gemäss Konvention sollte die library genauso wie der betreffende Fehlercode benannt werden. Beispiel für eine Issue library:Hier wird geprüft, ob das ZGV Datum eines Studenten in der Zukunft liegt. Wenn nicht, gilt der Fehler als behoben und es wird success(true) retourniert. Dies hat zur Folge dass der IssueResolver Job den Fehler auf Status „behoben“ setzt. Das ZGV Datum ist pro Prestudent gespeichert, daher muss als Parameter die prestudent_id übergeben werden. Dieser Parameter muss beim Schreiben des Issues mitgespeichert werden.
Nun sollte bei Aufruf des IssueResolver Jobs für jeden noch nicht behobenen Issue geprüft werden, ob der Issue noch besteht und der Status des Issues entsprechend angepasst werden..
Für die Prüfung und Behebung bestimmter Fehler können einzelne Mitarbeiter bzw. Abteilungen zuständig sein. Hierzu besteht die Möglichkeit, einzelne Fehlercodes einer Person bzw. Organisationseinheit zuzuteilen. In der Fehler Monitoring Übersicht gibt es dazu das Feld „Hauptzuständig“. Dieses hat der Wert „Nein“ wenn eine Zuständigkeit für einen anderen User als den eingeloggten definiert wurde. Zur Verwaltung der Zuständigkeiten existiert eine grafische Benutzeroberfläche.