Kursausschreibung (Systemübersicht)
Diese Seite beschreibt das Kursausschreibungs-System in SwissMentor: die zentralen Begriffe, Komponenten und den Anmeldeprozess inklusive Status und Objekt-Aktionen.
Überblick
Abschnitt betitelt „Überblick“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.
Komponenten des Systems
Abschnitt betitelt „Komponenten des Systems“Ausschreibungsplattform (ListingPlatform)
Abschnitt betitelt „Ausschreibungsplattform (ListingPlatform)“- 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
platformGuidbei der öffentlichen Anmeldung).
Kursausschreibung (CourseListing)
Abschnitt betitelt „Kursausschreibung (CourseListing)“- 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).
Kurs-Anmeldung (CourseRegistration)
Abschnitt betitelt „Kurs-Anmeldung (CourseRegistration)“- 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).
Anmeldeprozess: Status und Objekt-Aktionen
Abschnitt betitelt „Anmeldeprozess: Status und Objekt-Aktionen“Die Kurs-Anmeldung durchläuft folgende Status (Object.Status für CRSREGISTRN):
| Status | Bedeutung |
|---|---|
| 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-Aktion | Von Status | Nach Status | Bemerkung |
|---|---|---|---|
| Buchen (CRSREGBOOK) | Neu, Warteliste | Gebucht | Führt die gespeicherte Prozedur Enrollment.P_CreateCourseParticipantFromRegistration aus: erstellt Kursteilnehmer (CourseParticipant) und Member, falls noch nicht vorhanden und Platz vorhanden. |
| Auf Warteliste (CRSREGWTLST) | Neu | Warteliste | Setzt die Anmeldung auf die Warteliste. |
| Zurück auf Neu (CRSREGRESET) | Warteliste | Neu | Setzt den Status wieder auf «Neu». |
| Abmelden (CRSREGUNREG) | Neu, Warteliste, Gebucht | Abgemeldet | Storniert die Anmeldung. |
| Löschen (DELETE) | Neu | (Objekt gelöscht) | Standard-Löschschritt. |
Prozessdiagramm (Status und Objekt-Aktionen)
Abschnitt betitelt „Prozessdiagramm (Status und Objekt-Aktionen)“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:
- Der Status der Anmeldung wird auf Gebucht gesetzt.
- Die gespeicherte Prozedur Enrollment.P_CreateCourseParticipantFromRegistration wird ausgeführt.
- 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.
Gesamtfluss (vereinfacht)
Abschnitt betitelt „Gesamtfluss (vereinfacht)“Einstellung «Kursteilnehmer sofort erstellen»
Abschnitt betitelt „Einstellung «Kursteilnehmer sofort erstellen»“- 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).
Verknüpfung zur Anmeldungsverwaltung
Abschnitt betitelt „Verknüpfung zur Anmeldungsverwaltung“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.
Technische Referenz (Datenbank / Changelog)
Abschnitt betitelt „Technische Referenz (Datenbank / Changelog)“- 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).