Lebenszyklus einer Veranstaltung

In der Veranstaltungsverwaltung durchlaufen Veranstaltungen und Kurse ein Lebenszyklus-Modell. Dieses ist nötig um bestimmten Nutzergruppen in den unterschiedlichen Phasen des Modells den Zugriff auf Aktionen zu ermöglichen oder diesen zu verweigern. Diese Phasen des Lebenzyklus wurden wie folgt eingeteilt:
LifeCycleState = {PUBLISHED, REGISTRATION_PERIOD, DISTRIBUTION_PERIOD, RUNNING_PERIOD, FINISHED}
PUBLISHED: Eine Veranstaltung die von dem Dozenten ins UnivIS eingestellt und in die Veranstaltungsverwaltung importiert wurde. Wärend dieser Phase sieht der Student die Veranstaltung, mit allen Informationen, kann aber noch keine Aktionen tätigen.
Mit Beginn des Anmeldezeitraum ändert sich der Lebenszyklus automatisch zu REGISTRATION_PERIOD. Studenten können sich nun anmelden und Dozenten erhalten einen Überblick wie stark die Veranstaltung ausgelastet ist.
Nach dem Ende des Anmeldezeitraums wird die Phase DISTRIBUTION_PERIOD aktiv. In dieser Phase werden die Teilnehmer mittels der gewählten Heuristik automatisch der Veranstaltung oder, falls die Veranstaltung Kurse hat, einem Kurs zugeordnet. Nach dieser Zuordnung geht eine Email an alle angemeldeten Studenten mit ihrem Status.
Während der Durchführung der Veranstaltung befindet sich diese in der Phase RUNNING_PERIOD. Da sich Studenten evtl. für unterschiedliche Veranstaltungen angemeldet haben und dadurch Terminüberschneidungen möglich sind, können sich Studenten in dieser Phase noch abmelden. Dozenten können dann den freien Platz durch einen Nachrücker von der Warteliste auffüllen.
Nach Beendigung der Veranstaltung bekommt die Veranstaltung die Phase FINISHED. Alle Aktionen, mit Ausnahme der Benachrichtigungsfunktion, sind nun für die verschiedenen Benutzergruppen gesperrt. Dozenten können sich zusätzlich noch die Teilnehmerlisten ausdrucken.