Zum Inhalt springen

Kursausschreibung (Systemübersicht)

Diese Seite beschreibt das Kursausschreibungs-System in SwissMentor: die zentralen Begriffe, Komponenten und den Anmeldeprozess inklusive Status und Objekt-Aktionen.

Das Kursausschreibungs-System ermöglicht:

  • Ausschreibungsplattformen (z. B. eine öffentliche Webseite) mit einer oder mehreren Kursausschreibungen
  • Kursausschreibungen als sichtbare Angebote mit verlinkten Kursen, Anzeigezeitraum und optionaler sofortiger Teilnehmererstellung
  • Kurs-Anmeldungen (CourseRegistration) pro Person/Kurs mit Status Neu, Warteliste, Gebucht oder Abgemeldet
  • Objekt-Aktionen wie «Buchen» oder «Auf Warteliste», die den Status ändern und ggf. den Kursteilnehmer (CourseParticipant) anlegen

Die öffentliche Anmeldung (z. B. über eine Pilot-Webseite) erzeugt immer eine Kurs-Anmeldung im Status Neu. Ob sofort ein Kursteilnehmer angelegt wird oder erst beim manuellen Buchen, steuert die Einstellung Kursteilnehmer sofort erstellen bei der Kursausschreibung.

  • Eine Ausschreibungsplattform (SysType LSTNGPLTFRM) ist der übergeordnete Container (z. B. «Öffentliche Kursübersicht»).
  • Unter einer Plattform können mehrere Kursausschreibungen (ObjectType COURSELISTING) angelegt werden.
  • Die Plattform wird für die öffentliche Anzeige und die Zuordnung von Kursen zu einer Anmeldeseite verwendet (z. B. über platformGuid bei der öffentlichen Anmeldung).
  • Eine Kursausschreibung (Dispose.CourseListing, ObjectType COURSELISTING) repräsentiert ein sichtbares Angebot mit Name, Beschreibung, optionalem Bild und Zeiträumen.
  • ShowOnlineFrom / ShowOnlineTo: Zeitraum, in dem die Ausschreibung angezeigt wird.
  • Kurse: Über die Tabelle CourseListingCourse werden Kurse mit der Ausschreibung verknüpft (inkl. optionaler Preise und eigener Anzeigezeiträume).
  • Kursteilnehmer sofort erstellen (CreateParticipantImmediately):
    • Aus: Anmeldung wird nur als Kurs-Anmeldung (Status «Neu») erstellt; der Kursteilnehmer wird erst bei der Objekt-Aktion Buchen angelegt.
    • An: Bei der öffentlichen Anmeldung kann je nach Implementierung sofort ein Kursteilnehmer erstellt werden (Pilot-Verhalten kann variieren).
  • Eine Kurs-Anmeldung (Enrollment.CourseRegistration, ObjectType CRSREGISTRN) entspricht einer Anmeldung einer Person zu einem oder mehreren Kursen.
  • Enthält u. a.: Anmeldedatum, Anmeldeart (z. B. Kurs), anmeldende Person (Registrant), verknüpfte Kurse, optional Verkäufer (Seller).
  • Der Status der Anmeldung steuert den weiteren Ablauf (siehe Prozess unten).

Die Kurs-Anmeldung durchläuft folgende Status (Object.Status für CRSREGISTRN):

StatusBedeutung
Neu (NEW)Anmeldung ist eingegangen, noch nicht bearbeitet.
Warteliste (CRSREGWLST)Anmeldung steht auf der Warteliste (z. B. Kurs voll).
Gebucht (CRSREGBOK)Anmeldung bestätigt; der Kursteilnehmer wird bei der Objekt-Aktion «Buchen» angelegt, falls noch nicht vorhanden.
Abgemeldet (CRSREGUNRG)Anmeldung storniert bzw. abgemeldet.

Die erlaubten Objekt-Aktionen (Workflow.ProcessStep) und Statusübergänge:

Objekt-AktionVon StatusNach StatusBemerkung
Buchen (CRSREGBOOK)Neu, WartelisteGebuchtFührt die gespeicherte Prozedur Enrollment.P_CreateCourseParticipantFromRegistration aus: erstellt Kursteilnehmer (CourseParticipant) und Member, falls noch nicht vorhanden und Platz vorhanden.
Auf Warteliste (CRSREGWTLST)NeuWartelisteSetzt die Anmeldung auf die Warteliste.
Zurück auf Neu (CRSREGRESET)WartelisteNeuSetzt den Status wieder auf «Neu».
Abmelden (CRSREGUNREG)Neu, Warteliste, GebuchtAbgemeldetStorniert die Anmeldung.
Löschen (DELETE)Neu(Objekt gelöscht)Standard-Löschschritt.

Das folgende Diagramm zeigt die möglichen Statusübergänge und die zugehörigen Objekt-Aktionen für eine Kurs-Anmeldung.

Ablauf «Buchen» und Erstellung des Kursteilnehmers

Abschnitt betitelt „Ablauf «Buchen» und Erstellung des Kursteilnehmers“

Wenn die Objekt-Aktion Buchen ausgeführt wird:

  1. Der Status der Anmeldung wird auf Gebucht gesetzt.
  2. Die gespeicherte Prozedur Enrollment.P_CreateCourseParticipantFromRegistration wird ausgeführt.
  3. Für jeden mit der Anmeldung verknüpften Kurs:
    • Es wird geprüft, ob die angemeldete Person bereits Kursteilnehmer dieses Kurses ist; falls ja, wird übersprungen.
    • Falls der Kurs eine maximale Teilnehmerzahl hat, wird geprüft, ob noch Platz ist.
    • Es werden ein Objekt (Typ PARTICIPANT), ein Eintrag in Dispose.CourseParticipant und ein Member (Person dem Kurs zugeordnet) angelegt.

Damit wird aus einer «nur» gebuchten Anmeldung eine sichtbare Kursteilnahme in der Kursverwaltung.

  • Ort: Bei der Kursausschreibung (Dispose.CourseListing), Feld CreateParticipantImmediately.
  • Bedeutung:
    • Nein (Standard): Öffentliche Anmeldung erzeugt nur eine Kurs-Anmeldung im Status Neu. Ein Kursteilnehmer entsteht erst, wenn ein Benutzer in SwissMentor die Objekt-Aktion Buchen ausführt.
    • Ja: Je nach Pilot-Implementierung kann bei der öffentlichen Anmeldung direkt ein Kursteilnehmer angelegt werden (Ablauf kann in der Pilotphase noch angepasst werden).

Die Verwaltung der Anmeldungen (Liste, Statistik, Status ändern, Buchen, Warteliste, Abmelden) ist in der Anwendung unter dem Kurs im Reiter Anmeldungen bzw. über die Kursausschreibung beschrieben. Dazu siehe Kursanmeldung.

  • Status und Objekt-Aktionen für CourseRegistration: Changelog-Atom 26.2604.0.0073-CourseRegistrationStatusAndProcessSteps.sql.
  • Erstellung Kursteilnehmer beim Buchen: gespeicherte Prozedur Enrollment.P_CreateCourseParticipantFromRegistration, aufgerufen von der Objekt-Aktion «Buchen» (CRSREGBOOK).