7 (DE): Scolaris Market
Finden Sie hier Anleitungen zu Scolaris Market, den Schnittstellen zu weiteren Systemen wie Einwohnerkontrolle, Finanzverwaltungslösungen oder weiteren Datenaustauschsystemen.
- Einwohnerkontrolle (EWK)
- EWK-Schnittstelle: Systematik
- EWK-bezogene Felder in Scolaris
- EWK-Import
- EWK-Protokoll verarbeiten
- Schnittstelle GERES
- Connect
Einwohnerkontrolle (EWK)
EWK-Schnittstelle: Systematik
Die Einwohnerkontrolle (EWK) der zugehörigen Gemeinde übermittelt (meist) wöchentlich ein EWK-File an die Schulverwaltung.
Die zuständigen Mitarbeiter:innen der Schulverwaltung mit entsprechenden administrativen Rechten führen, wie im folgenden Kapitel detailliert erklärt, die Synchronisation der Scolaris-Datenbank mithilfe der Daten des EWK-Files durch.
Den Transfer der Daten von der Gemeinde zu Scolaris funktioniert wie folgt:
- Die EWK-ID-Nummern der Schüler- und Adressdatensätze sind jeweils im Feld Fremd-ID (Register Übersicht) eingetragen und identisch mit den in der EWK verwendeten ID-Nummern.
- Bei der Synchronisierung eines Files wird immer die ganze Datenbank zusätzlich nach Versicherungsnummern durchsucht, um sicherzustellen, dass dieser Datensatz nicht bereits vorhanden ist.
EWK-bezogene Felder in Scolaris
EWK-bezogene Felder in den Formularen Schüler und Adresse
Im Folgenden sollen wichtige EWK-bezogene Felder am Beispiel des Formulars Schüler erklärt werden. Diese Erklärungen gelten ebenfalls für die entsprechenden Felder im Formular Adresse.
Nr. | Bezeichnung | Funktion |
1 |
Fremd-ID (Zahl) bzw. Fremd-ID (Haushalt) im Formular Adresse |
In diesem Feld befindet sich nach erstmaligem Abgleich der Daten mit der Einwohnerkontrolle (wird durch CMI Scolaris bei Kauf der EWK-Schnittstelle durchgeführt) die gemeinsame Identifikationsnummer des EWK-Datensatzes und des Scolaris-Datensatzes. Aufgrund dieser Nummern können die Datensätze abgeglichen werden. |
2 | Verwaist | Wenn dieses Kontrollfeld aktiviert ist, ist die entsprechende Fremd-ID (=EWK-Nummer) nicht mehr im EWK-File vorhanden; somit kann dieser Datensatz nicht mehr abgeglichen werden. |
3 | EWK-Immun | Falls ein Datensatz nicht mehr mit der Einwohnerkontrolle synchronisiert werden soll (z.B. wenn Sie bereits von einer Adressänderung eines/ Schülers/in wissen, bevor diese bei der EWK aktualisiert wurde), können Sie den Datensatz von der Synchronisation ausschliessen, bis die EWK ebenfalls auf dem neusten Stand ist). Dafür aktivieren Sie das Kontrollkästchen EWK-Immun. |
4 | Zusatzanschriften | Falls manuell eine Zusatzanschrift erfasst wurde, wird diese bei der EWK-Synchronisation nicht gelöscht (z. B. Pflegeeltern). Sollte sich aber in der Einwohnerkontrolle etwas ändern, wäre diese Information stärker. |
Bei einigen EWK-Schnittstellen werden ausserdem Auskunftssperren abgeglichen. Hat ein Schülerdatensatz nach dem EWK-Abgleich im Feld Farbe die Farbe Gelb, hat die Einwohnerkontrolle für dieses Kind eine Adresssperre hinterlegt. Erscheint im Feld Farbe die Farbe Rot, ist bei der Einwohnerkontrolle eine ganzheitliche Auskunftssperre hinterlegt.
Heimatort des Schülers
Der Heimatort beinhaltet auch immer die Kantonsangabe (wichtig für Zeugnisse). Dabei können Schüler:innen mehrere Heimatorte besitzen. Diese werden in folgender Reihenfolge aufgelistet:
-
Schweizer Gemeinde
-
Innerhalb Kanton
-
Heimatort, welcher der Schulgemeinde entspricht
-
Ausland
Das Feld Heimatort ist auf 30 Zeichen beschränkt.
Falls der Heimatort länger ist als 30 Zeichen, wird er nicht synchronisiert.
Wenn im Feld mehrere Heimatorte getrennt durch ein Komma aufgelistet werden und diese Auflistung der Heimatorte insgesamt zu lang ist, wird der Ort hinter dem Komma gelöscht.
Konfession des/ Schülers/in
Es ist möglich, die Konfession der Schüler:innen zu synchronisieren. Hierfür muss die Referenztabelle Konfession entsprechend konfiguriert werden mittels der Spalte FID (Fremd-ID). Hier wird der Schlüssel zur Einwohnerkontrolle eingetragen. Falls nichts eingetragen wird, bleiben die manuell erfassten Konfessionen bestehen.
EWK-Import
Mitarbeiter:innen der Schulverwaltung mit entsprechenden Benutzerrechten können den EWK-Import wie folgt durchführen:
Rufen Sie im Modul Administration über die Schnittstellen die Funktion EWK-Import auf.
Schritt 1: EWK Import
Per Klick auf EWK Import öffnet sich der in den Programmoptionen hinterlegte Transferpfad, in welchem Sie Ihr Importfile der Einwohnerkontrolle vorfinden. Wählen Sie das aktuellste File an und löschen Sie, wenn dies nicht bereits erledigt wurde, die alten Importfiles.
Das File wird nun als aktuellstes File in Scolaris lediglich importiert - die enthaltenen Informationen sind zu diesem Zeitpunkt noch nicht in die Datensätze eingepflegt.
Bei Installation der Schnittstelle wird zwischen der Schulverwaltung und der Einwohnerkontrolle vereinbart, auf welchem Weg (per E-Mail, per Direkthinterlegung etc.) das Importfile in den erwähnten Transferordner kommt.
Schritt 2: EWK Synchronisation
Nach Durchführung des EWK Imports aktiviert sich der Button für die EWK Synchronisation. Durch Klick darauf werden die Datensätze aus Scolaris mit den Datensätzen im File der Einwohnerkontrolle synchronisiert (basierend auf der übereinstimmenden (Fremd-)ID. Allfällige Änderungen werden nun direkt an den Datensätzen vorgenommen.
Schritt 3: Protokoll drucken
Nach erfolgter Synchronisation muss zwingend das Protokoll der Synchronisation gedruckt werden. Klicken Sie dazu im Modul Administration unter Schnittstellen auf EWK-Import. Im sich daraufhin öffnenden Fenster sollten Sie das Häkchen bei inkl. Anzeige der nicht synchronisierten Daten setzen, damit auf der Liste ebenfalls die Datensätze abgebildet werden, die aus irgendeinem Grund nicht synchronisiert werden konnten.
Den auf dem Protokoll aufgeführten Meldungen muss je nach Status der Meldung nachgegangen werden. Mehr dazu im kommenden Kapitel.
EWK-Protokoll verarbeiten
Bei jeder EWK-Synchronisation wird ein Protokoll erstellt, welches die vom Abgleich betroffenen Datensätze in den entsprechenden Kategorien auflistet. Mithilfe dieses Protokolls können Sie die Veränderungen an den Datensätzen nachvollziehen und die notwendigen Aufgaben nach der Synchronisation erledigen.
Folgend finden Sie eine Auflistung sämtlicher möglicher Kategorien und eine Beschreibung zur allfälligen Nachbearbeitung der jeweiligen Datensätze.
Neue Schüler
Es muss kontrolliert werden, ob diese Datensätze nicht vor dem Import bereits manuell erfasst wurden. Ist dies der Fall, sprich wurde beim Import ein Duplikat eines bestehenden Datensatzes gemacht, gehen Sie wie folgt vor:
-
Öffnen Sie den neu von der EWK importierten Datensatz über den Button im jeweiligen Formular.
-
Kopieren Sie die dort hinterlegte Fremd-ID in das Feld Fremd-ID des bereits bestehenden, manuell erfassten Datensatzes.
-
Falls Sie bereits vor der nächsten EWK-Synchronisation die Daten der Einwohnerkontrolle im bestehenden Datensatz aktualisieren möchten, können Sie diesen mit den Informationen aus dem neuen Datensatz manuell überschreiben.
-
Löschen Sie nun den von der EWK importierten Datensatz. So verlieren Sie keine bereits beim manuell erfassten Datensatz hinterlegten Informationen wie die Klasseneinteilung etc. Bei der nächsten EWK-Synchronisation wird der bestehende Datensatz aufgrund der nun enthaltenen Fremd-ID mit den Informationen aus der EWK aktualisiert.
Dieser Vorgang muss beim Schüler- sowie auch bei den verknüpften Adressdatensätzen durchgeführt werden.
Ist beim bereits manuell erfassten Schülerdatensatz die AHV/Versicherungsnummer hinterlegt, so entsteht beim EWK-Import kein neuer Schülerdatensatz. Die Fremd-ID wird direkt beim bestehenden Schülerdatensatz nachgeführt, jedoch muss die Adresse gemäss obigem Beschrieb manuell zusammengeführt werden.
Achten Sie sich auf die Geburtsdaten der unter „neue Schüler“ aufgelisteten Kinder. Sind diese erst gerade geboren kann davon ausgegangen werden, dass sie nicht manuell vorgängig in Scolaris erfasst wurden und somit nicht geprüft werden müssen.
Mutierte Schüler
Kontrollieren Sie bei den mutierten Schülern die grau gekennzeichneten Informationen, denn diese wurden bei der EWK-Synchronisation verändert. Um einer Mutation detaillierter auf den Grund zu gehen, muss der jeweilige Schülerdatensatz in Scolaris geöffnet werden.
Ausgeschiedene Schüler
Unter dem Titel Ausgeschiedene Schüler finden Sie Schülerdatensätze, bei welchen aufgrund der Information der EWK in der Mutationsplanung ein Austrittsdatum hinterlegt wurde. Gehen Sie in diesen Fällen wie folgt vor:
-
Öffnen Sie den betroffenen Schülerdatensatz im Formular Schüler.
-
Wechseln Sie zum Register Klasse und kontrollieren Sie den geplanten Austritt unter Mutationsplanung.
-
Soll die Mutation nicht durchgeführt werden da der Schüler beispielsweise das Schuljahr noch in der aktuellen Klasse beendet, kann die geplante Mutation mit Aktivierung des Kontrollfelds neben dem Austrittsdatum sistiert werden. Diese werden erst nach Entfernen des Sistierungshakens mutiert.
-
Die fälligen Mutationen werden nach Überschreiten des Stichtages auf der Startseite von Scolaris angezeigt und können vom Administrator per Klick durchgeführt werden.
Wegziehende Schüler welche noch keine Klasse oder Planklasse zugewiesen haben, erscheinen nicht in dieser Kategorie Ausgeschiedene Schüler, sondern in der Protokollkategorie Mutierte Schüler. Diese Schüler müssen nicht die Mutationsplanung durchlaufen sondern werden mit dem Wegzugdatum direkt ins Archiv geschrieben.
Mutation Wiederzuzug
In einem solchen Fall wird beim Archivschüler das Austrittsdatum gelöscht und somit ist dieser wieder im Formular Schüler aufrufbar.
Mutierte Personen und Adressen
Kontrollieren Sie bei den mutierten Personen und Adressen die grau gekennzeichneten Informationen, denn diese wurden bei der EWK-Synchronisation verändert. Um einer Mutation detaillierter auf den Grund zu gehen, kann der jeweilige Personal- oder Adressdatensatz in Scolaris im jeweiligen Formular geöffnet werden.
Betrifft es eine Adresse aus dem Formular Personal erscheint vor der EWK-Nummer ein P.
Keine Mutation der Schüler (Datensätze immun)
In dieser Kategorie werden die Schülerdatensätze aufgelistet, welche Sie aus verschiedenen Gründen vorgängig im Datensatz mit EWK immun gekennzeichnet haben. Prüfen Sie, ob die gezeigten Schüler alle noch vom EWK-Abgleich ausgeschlossen bleiben sollen oder ob die Kennzeichnung EWK-immun bei einem der Schülerdatensätze entfernt werden kann.
Keine Neuaufnahme der Schüler (bereits archiviert)
Die hier vermerkten Schüler findet Scolaris während der EWK-Synchronisation bereits als Datensatz in ihrem Schülerarchiv. Aus diesem Grund wird an den entsprechenden Datensätzen nichts verändert. In der Regel handelt es sich hierbei um Schüler, welche die Schule bereits beendet haben.
Kein Update der aktiven Schüler (Duplikate der Fremd-ID)
Unter dieser Kategorie finden sich Schüler, welche bereits in einem anderen Mandanten aktiv in einer Klasse eingeteilt sind. Somit werden sie nicht in ihren Mandanten importiert/synchronisiert und stehen Ihnen ab dem Moment zur Verfügung, in welchem sie im anderen Mandanten archiviert wurden.
Diese Kategorie erscheint nur bei Datenbanken mit mehreren Mandanten.
Keine Aufnahme der Schüler (ungültiger Haushaltsbezug in der EWK)
Die hier aufgelisteten EWK-Nummern haben keinen neuen Schülerdatensatz generiert. Daher finden sich auf dieser Liste nur die Angaben der EWK-Nummer. Diese EWK-Nummern haben keinen plausiblen Bezug und müssen auf Seiten der EWK kontrolliert und bereinigt werden.
Schnittstelle GERES
Schnittstellenspezifische Angaben zu GERES
Grundsätzliches
Gegenüber der EWK-Synchronisation mit den Einwohnerkontrolldaten einer einzigen Gemeinde, liefert die GERES-Schnittstelle die Exporte mehrerer (oder aller) Gemeinden eines Kantons.
Als Schlüsselfeld wird basierend auf der Sozialversicherungsnummer die FID gebildet; diese ist damit eindeutig für alle Personen einer gesamten Datenbank. Die FID wird als erster Schritt der Synchronisation aus der Sozialversicherungsnummer gebildet und ist anschliessend für den korrekten Datenabgleich zuständig.
Sobald ein Schüler oder eine Adresse mit Versicherungsnummer erfasst wird, schreibt es die Fremd-ID.
Fallbeispiel: Im Kanton Schwyz wechselt eine Familie den Wohnort (unterschiedliche Datenbanken). Die neue Schule kann nun einfach den Namen des Schülers inkl. Versicherungsnummer im Formular Schüler erfassen. Nach der nächsten Synchronisation sind alle Stammdaten abgeglichen und es müssen keine Stammdaten manuell eingetragen werden.
Mandanten (Datenbank mit mehreren Schulgemeinden)
Hier finden Sie eine Auflistung bezüglich Mandantenzuweisung nach einer EWK-Synchronisation:
Neuer Schüler
Wird ein neuer Schüler importiert, erhält dieser den Mandanten des zugewiesenen Wohnortes (Konfiguration Katalog Gemeinden). Die dazugehörige Adresse erhält ebenfalls den selben Mandanten. Sollte die Adresse bereits vorhanden sein, wird dieser neue Mandant hinzugefügt.
Umzug inaktiver Schüler
Es wird geprüft ob dieser inaktive Schüler keine Klasse (Planklasse, Zusatzklasse, Historyklasse, etc.) hat. Falls keine Klasse vorhanden ist, bekommt dieser Schüler den zugewiesenen Wohnortmandant nach Umzug. Die dazugehörige Adresse erhält diesen Mandant zusätzlich.
Umzug Schüler mit Klasse
Ist dieser Schüler bereits in einer Klasse, verändert sich bezüglich Mandantenzuweisung nichts. Der Schüler bleibt im bestehenden Mandanten und muss allenfalls manuell in die neue Klasse eingetragen werden und automatisch erhält dann der Schüler den Mandanten der Klasse.
Mutation Schüler
Gibt es eine sonstige Mutation beim Schüler z. B. neuer Heimatort oder Konfession passiert bezüglich Mandant nichts. Der Schüler sowie die Adresse behält den bereits eingetragenen Mandanten.
EWK-Import Schnittstelle GERES
Gehen Sie im Modul Administration auf die Schnittstelle EWK-Import. Um nun das EWK-Protokoll zu drucken, gehen Sie wie folgt vor:
-
Wöchentlich wird der EWK-Import und die Synchronistion automatisiert durchgeführt.
-
Drucken Sie das Protokoll mithilfe der von/bis Daten aus. Die Auswahl inkl. Anzeige der nicht synchronisierten Daten bildet auf der Liste ebenfalls die Daten ab, welche aus irgendeinem Grund nicht synchronisert werden konnten.
-
Wenn nach dem erfolgten Druck Änderungenen Journalisieren angewählt wird, ist beim nächsten Druck das korrekte (letzte) Datum bereits voreingestellt.
Connect
Attribute
Connect Attribute
AD Feld Name | AAD Feld Name | LDAP Attribute | Feldname Connect | Scolaris |
---|---|---|---|---|
– | – | – | ID | Primärspalte, Autowert |
– | – | – | UserMandant | Mandantzahl aus dem Datensatz |
– | – | – | UserConfigSourceTable | Herkunft der Daten (meistens 'TblStudent' oder 'TblAdressierung') |
employeeID | educationTeacher.externalID educationStudent.externalID |
– | UserConfigSourceFK | Primärschlüssel des ursprünglichen Datensatzes (meistens 'TblStudent' oder 'TblAdressierung') |
– | – | – | UserConfigHasChanged | 0 = keine Verarbeitung (unverändert) 1 = Verarbeitung (Datensatz ist neu oder verändert) |
– | – | – | UserTimestampSource | Timestamp der Datenquelle zum späteren Vergleich, ob sich der Quelldatensatz verändert hat |
– | – | – | Timestamp | Timestamp des aktuellen Datensatzes zum Vergleich mit dem Quelldatensatz |
– | – | – | UserConfigIsGeneric | 0 = automatisch aus Scolaris erzeugter Benutzer 1 = manuell erstellter Benutzer |
– | – | – | UserConfigType | S = Student/Schüler P = Person/Personal/Lehrperson etc. M = Manuell erstellt |
– | – | – | UserConfigDelete | Markiert Benutzer in der Datenbank als gelöscht (zur späteren Löschung des Datensatzes) |
– | – | – | UserWarning | Markiert den Datensatz mit Warnmeldungen: 1 = Kein Mandant wurde ausgewählt 2 = UserConfigMandant ist nicht Teil des Mandanten 3 = Der zugewiesene Mandant ist nicht konfiguriert 4 = Das Attribut UserConfigDNFirstElem ist nicht eindeutig 5 = UserPrincipalName ist nicht vorhanden 6 = UserSAMAccountName ist nicht vorhanden 7 = Die zugewiesene E-Mail Adresse ist ungültig 8 = Der Mandant ist nicht vorhanden 9 = MailAlias ist ungültig |
– | – | – | UserStatus | Dabei haben die verschiedenen Auswahlmöglichkeiten folgende Werte: 0 = aktiviert 1 = deaktiviert 2 = gelöscht 3 = immun |
– | mittels Methode keine Eigenschaft |
– | UserPasswort | siehe Passwortspezifikation weiter unten |
– | mittels Methode keine Eigenschaft |
– | UserConfigDisabled | 1 = Benutzer deaktiviert 0 = Benutzer aktiviert |
– | mittels Methode keine Eigenschaft |
– | UserConfigPasswordReset | 1 = wird zurückgesetzt 0 = nicht zurücksetzen |
AD Attribute
AD Feld Name | LDAP Attribute | Feldname Connect | Scolaris |
---|---|---|---|
objectGUID | objectGUID | UserObjectGUID | AD generiert, wird als Objektidentifizierung in Scolaris gespeichert |
* cn | cn | UserCN | Personal.Name und Personal.Vorname Student.Name und Student.Vorname Keine Sonderzeichen und Umlaute, „ReplaceSpecialcharacters“ verwenden. |
employeeID | employeeID | UserEmployeeID | Personal.Versicherungsnummer Student.Versicherungsnummer |
* User logon name (pre-Windows 2000) |
sAMAccountName | UserSAMAccountName | Personal.ID: P.nnnnn Student.ID: S.nnnnn |
* User logon name | userPrincipalName (UPN: 128 Zeichen) |
UserUserPrincipalName | Personal.Login Student.Login Domain gemäss Kunde |
* First Name | givenName | UserGivenName | Personal.Vorname Student.Vorname |
* Last Name | sn | UserSn | Personal.Name Student.Name |
* Displayname | displayName | UserDisplayName | Personal.Name und Personal.Vorname Student.Name und Student.Vorname |
Initials | initials | UserInitials | Personal.Kurzzeichen Student.Kurzzeichen |
Job Titel | Title | UserTitle | Personal.Beruf Student bleibt leer |
* Company | Company | UserCompany | Mandant.Firma |
Departement | Department | UserDepartment | Personal.Schule.Gebäude.Bezeichnung Student.Klasse.Gebäude.Bezeichnung |
Manager | Manager | UserManager | Distinguished name: Personal.Schule.Gebäude.Schulleiter Student.Klasse.Hauptklassenlehrer |
Office | physicalDeliveryOfficeName | UserPhysicalDeliveryOfficeName | Personal.Schule.Schulzimmer Student.Klasse.Klassenzimmer |
Street | streetAddress | UserStreetAddress | Personal.Schule.Gebäude.Strasse Student.Klasse.Gebäude.Strasse |
Zip/Postal Code | postalCode | UserPostalCode | Personal.Schule.Gebäude.PLZ Student.Klasse.Gebäude.PLZ |
State/province | St | UserSt | Kanton (konstanter Wert) |
City | L | UserL | Personal.Schule.Gebäude.Ort Student.Klasse.Gebäude.Ort |
County/Region | C | UserC | „CH“ (konstanter Wert) |
preferredLanguage | preferredLanguage | UserPreferredLanguage | „de-DE“ (konstanter Wert) |
Web page | WWWHomePage | UserWWWHomePage | gemäss Angaben des Kunden (mandantenfähig) |
UserMail | Entspricht dem UPN | ||
Telephone number | telephoneNumber | UserTelephoneNumber | Personal: 0 = leer 1 = Telefonnummer Geschäft Student bleibt leer |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute1 | extensionAttribute1 | UserExtensionAttribute01 | individuell |
extensionAttribute9 | extensionAttribute9 | UserExtensionAttribute09 | offen |
extensionAttribute10 | extensionAttribute10 | UserExtensionAttribute10 | offen |
extensionAttribute11 | extensionAttribute11 | UserExtensionAttribute11 | offen |
extensionAttribute12 | extensionAttribute12 | UserExtensionAttribute12 | offen |
extensionAttribute13 | extensionAttribute13 | UserExtensionAttribute13 | offen |
extensionAttribute14 | extensionAttribute14 | UserExtensionAttribute14 | offen |
extensionAttribute15 | extensionAttribute15 | UserExtensionAttribute15 | offen |
Notes | Info | UserInfo | Personal: 0 = leer 1 = Personal.Vertretungsinfo 2 = SC-Version Schüler: 0 = leer 1 = SC-Version |
– | PasswordNeverExpires | UserDisablePasswordExpiration | leer = Standard-Passwort-Richtlinie O365 'DisableStrongPassword' = erlaubt schwächere Passwörter 'DisablePasswordExpiration' = Passwort läuft nicht ab |
Legende: * = zwingend zu befüllendes Attribut
Organisational Units
AD Benutzerprofil | AD Bereich |
---|---|
Personal | OU=LocalProfile,OU=Lehrpersonen,OU=Accounts,DC=,DC= Domain Controller muss kundenspezifisch angegeben werden |
Studenten | OU=Standard,OU=Lernende,OU=Accounts,DC=,DC= |
AAD-Attribute
AAD Feld Name | Feldname Connect | Scolaris |
---|---|---|
userPrincipalName | UserUserPrincipalName | Personal.Login Student.Login Domain gemäss Kunde |
UserMail | Entspricht dem UPN | |
id | UserAadGUID | Entspricht sinngemäss dem UserObjectGUID |
primaryRole | UserPrimaryRole | Typ des Benutzers → 'student' oder 'teacher' |
externalSource | UserAadExternalSource | Wo der Benutzer erstellt wurde, als Belegungsempfehlung wird als konstanter Wert 'sis' vorgeschlagen |
mailNickname | UserAadMailNickname | Entspricht UPN |
businessPhones | UserAadBusinessPhone | Personal: 0 = leer 1 = Telefonnummer Geschäft Student bleibt leer |
usageLocation | UserAadUsageLocation | Defaultwert 'CH' (wichtig für O365) oder aus Konfiguration des Benutzers |
userType | UserAadUserType | Defaultwert 'Member', ansonsten aus Konfiguration des Benutzers UserType.LP UserType.SuS |
educationStudent.birthdate | UserAadBirthDate | Student.Geburtsdatum oder leer Bei Personal leer |
educationStudent.gender | UserAadGender | Wenn 'ShowGender' = 1 dann male oder female, ansonsten other Bei Personal leer |
educationStudent.grade | UserAadGrade | Schüler.Klasse.Bezeichnung & Untergruppe Bei Personal leer |
educationStudent.graduationYear | UserAadGraduationYear | Personal : leer Students: Berechnetes Jahr aus Schuljahr und Programmjahr oder leer |
passwordProfile.password | UserPassword | siehe weitere Spezikfikationen über Passwortgenerierung |
surname | UserSn | Personal.Nachname Student.Nachname |
givenName | UserGivenName | Personal.Vorname Student.Vorname |
displayName | UserDisplayName | Personal.Name und Personal.Vorname Student.Name und Student.Vorname |
educationSchool.displayName | UserCompany | Mandant.Firma aus Konfiguration (Company.LP, Company.SuS) |
officeLocation/department | UserDepartment | Personal.Gebäude.Bezeichnung Personal.Klasse.Gebäude.Bezeichnung Personal.Beschäftigung.Gebäude.Bezeichnung Schüler.Klasse.Gebäude.Bezeichnung Wert aus Konfiguration (Department.SuS, Department.LP) |
physicalAddress.street | UserStreetAdress | Personal.Gebäude.Strasse Personal.Klasse.Gebäude.Strasse leer Schüler.Klasse.Gebäude.Strasse |
physicalAddress.postalCode | UserPostalCode | Personal: Personal.Gebäude.PLZ Personal.Klasse.Gebäude.PLZ leer Schüler: Schüler.Klasse.Gebäude.PLZ leer |
physicalAddress.state | UserSt | Kürzel des Kantons des Kunden (aus Konfiguration oder leer) |
physicalAddress.city | UserL | Personal: Personal.Gebäude.Ort Schüler: Schüler.Klasse.Gebäude.Ort |
countryOrRegion | UserC | Defaultwert: 'CH' Ansonsten aus Konfiguration (Land.LP, Land.SuS) |
preferredLanguage | UserPreferredLanguage | Aus Konfiguration (Sprache.LP, Sprache.SuS) → Hinweis: Für AAD ist die Sprache nach ISO 639-1 Code einzutragen (2-stellig). Defaultwert: 'de-DE' |
accountEnabled | UserConfigDisabled | Nutzer bleibt solange deaktiviert, wie der Wert der Feldes 1 ist. |
*passwordProfile | UserDisableStrongPassword | Legt das Passwort-Profil fest (mit Initial-Passwort). Dieses Feld ist bei der Erstellung zwingend zu setzen |
passwordPolicies | UserDisablePasswordExpiration | leer = Standard-Passwort-Richtlinie O365 'DisableStrongPassword' = erlaubt schwächere Passwörter 'DisablePasswordExpiration' = Passwort läuft nicht ab Kombination der Argumente möglich: 'DisablePasswordExpiration, DisableStrongPassword' |
passwordProfile.forceChangePasswordNextSignIn | UserForceChangePassWordNextSignIn | 1 = Benutzer muss bei nächster Anmeldung das Kennwort ändern. 0 = Keine Passwortänderung erforderlich |
Legende: * = zwingend zu befüllendes Attribut
Passwörter
Passwörter komplex
Grundsätzlich müssen die Passwörter des Personals, die durch Scolaris erstellt werden, folgende Kriterien erfüllen:
-
mindestens 8 Zeichen lang
-
Gross/Kleinbuchstaben enthalten
-
Mindestens eine Ziffer
-
Mindestens ein Sonderzeichen
Bei diesem Passwort handelt es sich um ein Einmalpasswort, welches durch die Person nach der erstmaligen Anmeldung an Office365 dort geändert werden muss. Das Initialpasswort bleibt in Scolaris gespeichert und wird nur noch für das Zurücksetzen des AD-Passwortes verwendet.
Passwörter einfach ohne Sonderzeichen
Studentenpasswörter werden ebenfalls durch Scolaris vergeben. Diese werden nie mehr geändert und direkt in Office365 übernommen. Die Passwörter bestehen aus zweisilbigen Wörten mit 5 Buchstaben, welche jeweils nach der ersten Silbe durch 3 Ziffern dazwischen getrennt werden.
Folgende Ziffern werden verwendet: 2, 3, 4, 5, 6, 7, 8, 9 (ohne 1 und 0)
Folgende 50 Wörter dienen als Basis für das Passwort:
Blume, Fahne, Falte, Fauna, Felge, Finne, Finte, Firma, Flora, Folge, Frage, Gatte, Handy, Harfe, Hilfe, Hirte, Kafka, Kairo, Kaste, Katze, Kerze, Kette, Kiste, Kunde, Lampe, Laute, Lippe, Liste, Lotto, Marke, Pasta, Pfote, Rasse, Ratte, Rente, Rolle, Saite, Salto, Sauna, Seife, Skala, Sonne, Stola, Stube, Stufe, Tanne, Tasse, Taufe, Tulpe, Wespe
Passwörter einfach mit Sonderzeichen
Studentenpasswörter werden ebenfalls durch Scolaris vergeben. Diese werden nie mehr geändert und direkt in Office365 übernommen. Die Passwörter bestehen aus zweisilbigen Wörten mit 5 Buchstaben, welche jeweils nach der ersten Silbe durch 2 Ziffern und ein Sonderzeichen dazwischen getrennt werden.
Folgende Ziffern werden verwendet: 2, 3, 4, 5, 6, 7, 8, 9 (ohne 1 und 0)
Folgende Sonderzeichen werden verwendet: ?, !, +, -, %, *
Folgende 50 Wörter dienen als Basis für das Passwort:
Blume, Fahne, Falte, Fauna, Felge, Finne, Finte, Firma, Flora, Folge, Frage, Gatte, Handy, Harfe, Hilfe, Hirte, Kafka, Kairo, Kaste, Katze, Kerze, Kette, Kiste, Kunde, Lampe, Laute, Lippe, Liste, Lotto, Marke, Pasta, Pfote, Rasse, Ratte, Rente, Rolle, Saite, Salto, Sauna, Seife, Skala, Sonne, Stola, Stube, Stufe, Tanne, Tasse, Taufe, Tulpe, Wespe
Office365 Attribute
In Scolaris existieren drei Office365 Attribute: O365Immun, O365deaktiviert und O365PWreset. Dieser werden neuerdings nicht mehr über die Attribute in der Datenbank gesteuert, sondern können über das Connectformular geändert werden. Jede Person und jede Gruppe hat neu ein Feld 'Status', in dem die bisherigen O365-Attribute enthalten sind.
Dabei haben die verschiedenen Auswahlmöglichkeiten folgende Werte:
-
0 = aktiviert
-
1 = deaktiviert
-
2 = gelöscht
-
3 = immun
Gruppenbildung
Connect Attribute
AD Feld Name | AAD Feld Name | LDAP Attribute | Feldname Connect | Scolaris |
---|---|---|---|---|
– | – | – | ID | Primärschlüssüsselspalte, Autowert |
– | – | – | GroupMandant | Mandantzahl aus Datensatz Wichtig: Gruppen, welche in allen Mandanten erscheinen sollen (Bsp: 'Alle_Personal') benötigen eine Mandantzahl, die alle Mandanten berücksichtigt. Wird in der Konfiguration wie folgt hinterlegt: IDV_IC_Config.Mandantzahl-Alle |
– | externalID | – | GroupConfigSourceFK | Primärschlüssel des ursprünglichen Datensatzes oder künstlicher Wert Meistens nur bei der Klasse benötigt |
– | externalName | – | GroupConfigSourceTable | Quelltabelle oder künstlicher Wert (No-Table-…) Meistens nur bei der Klasse benötigt |
– | – | – | GroupConfigHasChanged | 0 = keine verarbeitung (unverändert) 1 = Verarbeitung (Datensatz ist neu oder verändert) |
– | – | – | GroupTimestampSource | Timestamp der Datenquelle zum späteren Vergleich, ob sich der Quelldatensatz verändert hat |
– | – | – | Timestamp | Timestamp des aktuellen Datensatz zum Vergleich mit dem Quelldatensatz |
– | – | – | GroupConfigDelete | Gruppe wird an diesem Datum gelöscht |
– | – | – | GroupIsGeneric | 0 = automatisch aus SC erzeugter Benutzer 1 = manuelle erstellter Benutzer |
– | – | – | GroupWarning | Markiert den Datensatz mit Warnmeldungen: 1 = Kein Mandant wurde ausgewählt 2 = GroupConfigMandant ist nicht Teil des Mandanten 3 = Der zugewiesene Mandant ist nicht konfiguriert 4 = Das Attribut GroupConfigDNFirstElem ist nicht eindeutig 8 = Der Mandant ist nicht vorhanden |
Gruppen Namensbildung
Gruppe | Muster |
---|---|
Klassengruppen | {Mandant}_KL_{Klassenbezeichnung}_{Klassenuntergruppe}_{Klasse Schuljahr} |
Funktionsgruppen | {Mandant}_FN_{Programmfunktion} |
Schulhausgruppen | {Mandant}_SH_{Schulhaus} |
Alles Personal je Mandant | {Mandant}_Personal |
Alle Studenten je Mandant | {Mandant}_Lernende |
Alles Personal je Schulhaus | {Mandant}_SH_Personal_{Schulhaus} |
Alle Lernende je Schulhaus | {Mandant}_SH_Lernende_{Schulhaus} |
Alles Personal | Alle_Personal |
Alle Studenten | Alle_Lernende |
AD-Attribute
AD Feld Name | LDAP Attribute | Feldname Connect | Scolaris |
---|---|---|---|
objectGUID | objectGUID | GroupObjectGUID | AD generiert, wird als Objektidentifizierung gespeichert |
* cn | Cn | GroupCN | entsteht aus Namensbildung |
* name | Name | GroupDisplayname | entsteht aus Namensbildung |
– | – | GroupDescription | entsteht aus Namensbildung |
*sAMAccountName | sAMAccountName | GroupSAMAccountName | Referenziert wenn möglich, den Datensatz in Scolaris: Klassengruppen: KL.nnnn Funktionsgruppen: FN Schulhausgruppen: SH.nnnn Alles Personal je Mandant: MAND_PERS Alle Studenten je Mandant: MAND_STUD Alles Personal je Schulhaus: SH_PERS.00000 Alle Lernende je Schulhaus: SH_STUD.00000 Alles Personal: ALLE_PERS Alle Stundenten: ALLE_STUD |
Info | Info | GroupInfo | Scolaris {Programmversion}, Update: TT.MM.JJJJ HH :mm :ss |
– | – | GroupType | SG: Security-Group im AD |
Legende: * = dieses Feld muss zwingend vorhanden sein
Organizational Units
AD Gruppenprofile | AD Bereich |
---|---|
Klassengruppen | OU=Klassen,OU=,OU=,DC=,DC= Domain Controller (DC) muss kundenspezifisch angepasst werden. OU wird auch kundenspezifisch angepasst. Übliche Werte OU = Gruppen, AutoCompoisition, Org |
Funktionsgruppen | OU=Funktionen,OU=,OU=,DC=,DC= |
Schulhausgruppen | OU=Schulhaus,OU=,OU=,DC=,DC= |
Rollengruppen | OU=Rollen,OU=,DC=,DC= |
AAD-Attribute
AAD Feld Name | Feldname Connect | Scolaris |
---|---|---|
id | GroupAadGUID | ObjectGUID aus dem Gruppenobjekt des AAD |
– | GroupAadType | NULL = Gruppe wird in AAD nicht erstellt EDUCLASS = Education Klasse O365 = Office 365-Gruppe im AAD (wird auch als Distribution-List verwendet) SG = Security-Group im AAD |
externalSource | GroupAadExternalSource | konstanter Wert 'sis' |
mailNickname | GroupAadMailNickname | Prefix von UPN |
Displayname | GroupDisplayname | entsteht aus Namensbildung |
Description | GroupDescription | entsteht aus Namensbildung |
classCode | sAMAccountName | GroupSAMAccountName |
Konfigurator
Der Connect-Konfigurator in Scolaris ermöglicht es, den verschiedenen Benutzergruppen (Schüler / Personal) Standardwerte zuzuweisen. Zusätzlich dazu können Einstellungen über die Synchronisation zum A/AD vorgenommen werden, sowie Passwortvorgaben und Gruppendefinitionen erstellt werden. In einem weiteren Teil können weiter spezifische Angaben zu existierenden Mandanten gemacht werden.
Allgemeine Konfiguration
Auf dem nachfolgenden Bild sind die Felder des allgemeinen Abschnitts ersichtlich.
Um die Konfigurationsmöglichkeiten aufzuzeigen, werden die Bezüge zu den Konfigurationen und deren Effekt tabellarisch dargestellt.
Label | Verwendung AD | Verwendung AAD | Zuweisung zu Attributen in Datenbank | Zuweisung in Scolaris |
---|---|---|---|---|
DN | ✔ | ✘ | TblConnectConfig.DN | Wird jedem Namen zugewiesen |
DN Personal | ✔ | ✘ | TblConnectConfig.DNPersonal | Wird jedem Benutzer zugewiesen, der als Personal klassifiziert ist |
DN Schüler | ✔ | ✘ | TblConnectConfig.DNStudent | Wird jedem Benutzer zugewiesen, der als Schüler klassifiziert ist |
State | ✔ | ✔ | TblConnectConfig.State | Wird jedem Benutzer unter 'St' zugewiesen |
Language | ✔ | ✔ | TblConnectConfig.Language | Wird jedem Benutzer zugewiesen unter „preferred Language“ zugewiesen |
Test-Präfix | ✔ | ✘ | TblConnectConfig.TestPräfix | Wird benötigt, um Testumgebungen von unabhängig von Produktivumgebungen zu testen |
API-Username | ✔ | ✔ | TbLConnectConfig.ConnectAPIUser | Wird benötigt, um auf API zuzugreifen |
API-Passwort | ✔ | ✔ | TbLConnectConfig.ConnectAPIPasswort | Wird benötigt, um auf API zuzugreifen |
AD synchronisieren | ✔ | ✘ | TbLConnectConfig.SyncAD | Gibt an, ob das AD synchronisiert werden soll 1 = synchronisieren 0 = nicht synchronisieren |
AAD synchronisieren | ✘ | ✔ | TbLConnectConfig.SyncAAD | Gibt an, ob das AAD synchronisiert werden soll 1 = synchronisieren 0 = nicht synchronisieren |
AD Hostname | ✔ | ✘ | TblConnectConfig.ADHostname | Spezifiziert den Hostnamen des AD |
AD Hostname | ✔ | ✘ | TblConnectConfig.ADUsername | Spezifiziert den Usernamen des AD |
AD Hostname | ✔ | ✘ | TblConnectConfig.ADPasswort | Spezifiziert das Passwort des AD |
AAD Tenant | ✘ | ✔ | TblConnectConfig.AADTenant | Spezifiziert die URL des AAD-Services |
Anhand der allgemeinen Informationen kann Scolaris den Verbindungsaufbau zum A/AD vornehmen.
Konfiguration Stufen und Passwortvorgaben
Die verschiedenen Stufen und die dazugehörigen Passwortvorgaben können in dem gleichnamigen Abschnitt konfiguriert werden. Diese Stufen können sowohl in das AD als auch in das AAD geschrieben werden.
Label | Zuweisung des Attributes in der Datenbank | Zuweisung in Scolaris |
---|---|---|
Stufe 1-4 | TblConnectConfig.Stufe1Key - TblConnectConfig-Stufe4Key | Die jewiligen Stufen werden kundenspezifisch angeboten |
Passwortstärke | TblConnectConfig.Stufe1PasswortPolicy - TblConnectConfig.Stufe4PasswortPolicy | Die jeweiligen Passwortstärken existieren: 1 = einfach ohne Sonderzeichen 2 = einfach mit Sonderzeichen 3 = komplex |
PJ | TblConnectConfig.Stufe1Programmjahr - TblConnectConfig.Stufe4Programmjahr | Kommagetrennte Zahlen erlauben es, die Passwortvorgabe an das Programmjahr anzupassen |
PW läuft nie ab | TblConnectConfig.Stufe1DisablePasswordexpiration - TblConnectConfig.Stufe4DisablePasswordexpiration | 0 = Passwort läuft ab 1 = Passwort läuft nicht ab |
PW-Änderung erzwingen | TblConnectConfig.Stufe1ForcePasswordchange - TblConnectConfig.Stufe4ForcePasswordchange | 0 = Erzwingt keine Passwortänderung bei Neuanmeldung 1 = Passwortänderung bei Anmeldung benötigt |
PW-Änderung verhindern | TblConnectConfig.Stufe1PreventPasswordchange - TblConnectConfig.Stufe4PreventPasswortchange | 0 = Passwörter können geändert werden 1 = Passwörter können nicht geändert werden |
Detailkonfigurationen Benutzer
Die Detailkonfiguration aus dem Konfigurator werden verwendet, um Daten einheitlich in Benutzerdatensätzen abzuspeichern. Dabei können verschiedene Werte an die zwei Gruppen 'Personal' und 'Schüler' vergeben werden.
Label | Verwendung AD | Verwendung AAD | Zuweisung zu Attributen in Datenbank | Zuweisung in Scolaris |
---|---|---|---|---|
Karrenzfrist Personal / Schüler | ✔ | ✘ | TblConnectConfig.PersonalKarrenzfrist | Wird zu einem späteren Zeitpunkt verwendet, um UserConfigDelete zu berechnen |
User Info | ✔ | ✘ | TblConnectConfig.StudentUserInfo / TblConnectConfig.PersonalUserInfo | Personal: 0 = leer 1 = Vertretungstext der Person (IDV_EC_GetVertretungstext wird aufgerufen) 2 = Scolaris-Programmversion wird bei der Benutzerinfo hinterlegt Student: 0 = leer 1 = Scolaris Programmversion Diese Konfiguration bewirkt, dass die UserInfo mit dem richtigen Text befüllt wird. |
User Initials | ✔ | ✔ | TblConnectConfig.StudentUserInitials / TblConnectConfig.PersonalUserInitials | 0 = leer 1 = Kurzzeichen wird verwendet (UserInitials) |
User Title | ✔ | ✘ | TblConnectConfig.PersonalUserTitle | 0 = leer 1 = Beruf 2 = Funktion |
Office Name | ✔ | ✘ | TblConnectConfig.PersonalOfficeName / TblConnectConfig.StudentOfficeName | Personal: 0 = leer 1 = Klassenzimmer 2 = Personalzimmer Student: 0 = leer 1 = Klassenzimmer |
AD telephone | ✔ | ✘ | TblConnectConfig.PersonalADTelephone | 0 = leer 1 = Telefon Geschäft |
Primary role | ✔ | ✔ | TblConnectConfig.StudentPrimaryRole / TblConnectConfig.PersonalPrimaryRole | Personal: 0 = leer 1 = teacher Student: 0 = leer 1 = student |
AAD telephone | ✘ | ✔ | TblConnectConfig.PersonalAADTelephone | 0 = leer 1 = Telefon Geschäft |
AAD mobile | ✘ | ✔ | TblConnectConfig.PersonalAADMobile | 0 = leer 1 = Personal Natel |
Geschlecht synchronisieren | ✔ | ✔ | TblConnectConfig.ShowGender | 0 = keine Geschlechter angezeigt 1 = Geschlechter werden angezeigt als 'male', 'female' und 'other' |
Konfiguration der zu erstellenden Gruppen
Damit Scolaris neue Gruppen bilden kann, müssen diese vorab definiert werden.
Die auf dem Bild aufgeführte Tabelle ermöglicht es, in der Spalte 'Groupdefinition' mittels Dropdown die verfügbaren Gruppen hinzuzufügen.
Jede Gruppendefinition benötigt anschliessend ergänzende Informationen, damit die Gruppenbildung nach korrektem Syntax ausgeführt wird.
Groupdefinition | DN | DN First Elem | Groupname definition | Displayname | SAM Account Name | AdType | AadType |
---|---|---|---|---|---|---|---|
Gesamtes Personal und alle Schüler pro Schulhaus | OU=Schulhaus,OU=Gruppen,OU= | ['CN=']['SR']['_SH_'][GebäudeKurzbezeichnung][',']['OU=Schulhaus,OU=Gruppen,OU=,DC=,DC='] | ['SR']['_SH_'][GebäudeKurzbezeichnung] | ['Schulhaus '][GebäudeBezeichnung] | ['SR']['.SH.'] [GebäudeID] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Gesamtes Personal | OU=Personal,OU=User,OU= | CN=Alle_Personal, OU=Stufen,OU=Gruppen,OU=,DC=,DC= | Personal_Alle | Alle_Personal | ALLE_PERS | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Personal pro Mandant | OU=Stufen,OU=Gruppen,OU= | ['CN='][Mandant]['_Personal'][', ']['OU=Stufen,OU=Gruppen,OU=,DC=,DC='] | [Mandant]['_Personal'] | ['Alles Personal '][Mandant] | [Mandant]['_PERS'] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Personal pro Mandant und Funktion | OU=Funktionen,OU=Gruppen,OU= | ['CN='][Mandant]['_FN'_][FUNKTION][', ']['OU=Funktionen,OU=Gruppen,OU=,DC=,DC='] | [Mandant]['_FN_'][FUNKTION] | ['Funktion'][FUNKTION][' ¦ '][Mandant] | [Mandant]['_FN_'][FUNKTION] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Personal pro Schulhaus (aus Personal) | OU=Schulhaus,OU=Gruppen,OU= | ['CN='][Mandant]['_SH_Personal'][GebäudeKurzbezeichnung][',']['OU=Schulhaus,OU=Gruppen,OU=,DC=,DC='] | [Mandant]['_SH_Personal_'][GebäudeKurzbezeichnung] | ['Alles Personal '][GebäudeBezeichnung] | [Mandant]['.SH_Pers.'][GebäudeID] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Alle Schüler | OU=Stufen,OU=Gruppen,OU= | CN=Alle_Lernende, OU=Stufen,OU=Gruppen,OU=,DC=,DC= | Schüler_Alle | Alle_Lernende | ALLE_STUD | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Schüler pro Mandant | OU=Stufen,OU=Gruppen,OU= | ['CN='][Mandant]['_Lernende'][', ']['OU=Stufen,OU=Gruppen,OU=,DC=,DC='] | [Mandant]['_Lernende'] | ['Alle Lernende '][Mandant] | [Mandant]['_STUD'] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Schüler inkl. Lehrperson 1 pro Klasse | OU=Klassen,OU=Gruppen,OU= | ['CN='][Mandant]['_KL_'][GebäudeKurzbezeichnung]['_'][OrganisationBezeichnung]['_'][OrganisationUntergruppe]['_'][Schuljahr][',']['OU=Klassen,OU=Gruppen,OU=,DC=,DC='] | [Mandant]['_KL_'][GebäudeKurzbezeichnung]['_'][OrganisationBezeichnung]['_'][OrganisationUntergruppe][Schuljahr] | ['Klasse '][OrganisationUntergruppe][' '][OrganisationBezeichnung][' ¦ '][GebäudeBezeichnung] | ['KL.'][OrganisationID] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Schüler pro Schulhaus | OU=Schulhaus,OU=Gruppen,OU= | ['CN='][Mandant]['_SH_Lernende_'][GebäudeKurzbezeichnung][',']['OU=Schulhaus,OU=Gruppen,OU=,DC=,DC='] | [Mandant]['_SH_Lernende_'][GebäudeKurzbezeichnung] | ['Alle Lernende '][GebäudeBezeichnung] | [Mandant]['.SH_STUD.'][GebäudeID] | SG oder Leer | SG, O365, EDUCLASS oder NULL |
Konfiguraiton der Mandanten
Um die Mandantenfähigkeit von Scolaris beizubehalten, können nun im Connect Formular auch Angaben über die vorhandenen Mandanten gemacht werden.
Feldname Connect | Beschreibung |
---|---|
Mandant | Allmandant.Kürzel , wobei Allmandant.MandantID benutzt wird, um einen Mandanten eindeutig zu kennzeichnen. Diese ID wird dann in TblConnectConfig geschrieben |
Homepage (S) | Standard Homepage der Schüler, wird in TblConnectConfig.StudentHomepage und IDV_EC_Config geschrieben (ConfigKey = 'Homepage') |
Homepage (P) | Standard Homepage des Personals, wird in TblConnectConfig.PersonalHomepage und IDV_EC_Config geschrieben (ConfigKey = 'Homepage') |
Upn-Domain (S) | Upn-Domain der Schüler, wird in TblConnectConfig.StudentUpnDomain und IDV_EC_Config geschrieben (ConfigKey = 'Student-UpnDomain') |
Upn-Domain (P) | Upn-Domain des Personals, wird in TblConnectConfig.PersonalUpnDomain und IDV_EC_Config geschrieben (ConfigKey = 'Personal-UpnDomain') |
Die Erkennung der Mandanten erfolgt standardmässig über die dazugehörigen ID's.
Manager
Beschreibung Connect Manager
Der Connect Manager ist zuständig zur korrekten Einrichtung eines Connect-Jobs eines Kunden. Um einen solchen Connect-Job auszuführen, wird ein eigener Pod in Kubernetes pro Kunde benötigt. Im Kubernetes Dashboard könnnen Connect-Jobs definiert werden. Damit ein Job fehlerfrei durchlaufen kann, benötigt es eine Job-Definition. Diese besteht aus den folgenden Informationen:
-
Name
-
Realm
-
Cron String (VisualCron)
-
docker-imager (gleiche Version bei allen)
-
Timeout
-
Secrets
-
Kundennummer + Realm
-
SSH-Relay keys
-
GRPC (Goole Remote Procedure Call) wird verschlüsselt
-
-
SQLdb enthält die Login-Informationen der jewieligen Datenbank, auf die zugegriffen wird.
Der Connect-Manager geht die einzelnen Job-Definitionen durch und lässt diese laufen.
Beschreibung Updatefunktionen
Die Updatefunktionen werden dazu verwendet, die Tabellen, welche für Connect verwendet werden, zu aktualisieren, so dass die Tabelle die Soll-Struktur im AD vorgibt.
Updatefunktion Benutzer
Zuerst werden die Konfigurationen der Studenten aus Scolaris als Variablen gespeichert, so dass diese Konfiguration anschliessend auf die Studenten übertragen werden kann. Zusätzlich dazu werden die Studenten markiert, welche zukünftig gelöscht werden sollten. Die Bedingung, die zur Löschung verwendet wird lautet wie folgt:WHERE UserConfigType = 'S' AND Students.StudentID IS NULL AND UserConfigDelete IS NULL AND UserConfigIsGeneric = 0
Im Anschluss wird der gesamte Vorgang für das Personal wiederholt
Beschreibung Validierungsfunktion
Dieser Abschnitt beschreibt die verwendete Funktion „connect_validate“. Die Validierungsfunktion kontrolliert die Benutzer- und Gruppendatensätze auf deren Vollständigkeit und weist bei fehlenden Attributen einen Fehlertyp (Integer) zu. Nachfolgend wird eine Tabelle mit den entsprechenden Fehlertypen und deren Bedeutung aufgeführt. Bei jeder Validierung werden zu Beginn die Fehlertypen der Benutzer und Gruppen auf NULL gesetzt, so dass
Benutzervalidierung
Fehlertyp | Bedeutung | SQL Bedingung |
---|---|---|
1 | Kein Mandant wurde ausgewählt | MainConnectUser.UserConfigMandantChosen IS NULL AND MainConnectUser.UserWarning IS NULL |
2 | UserConfigMandant ist nicht Teil des Mandanten | (POWER(2, UserConfigMandantChosen -1 ) & Mandant ) = 0 AND MainConnectUser.UserWarning IS NULL |
3 | Der zugewiesene Mandant ist nicht konfiguriert | MainConnectUser.UserConfigMandantChosen NOT IN (SELECT MandantNummer FORM TblConnectConfigMandant) AND UserWarning is NULL |
4 | Das Attribut UserConfigDNFIrstElem ist nicht eindeutig | MainConnectUser.UserConfigDNFirstElem IN (select UserConfigDNFirstElem FROM MainConnectUser GROUP BY UserConfigDNFirstElem HAVING COUNT (*)>1) |
5 | UserPrincipalName ist nicht vorhanden | MainConnectUser.UserUserPrincipalName IS NULL |
6 | UserSAMAccountName ist nicht vorhanden | MainConnectUser.UserSAMAccountName IS NULL |
7 | Die zugewiesene E-Mail Adresse ist ungültig | CASE WHEN UserMail LIKE '[a-z,0-9,_,-]%@[a-z,0-9,_,-]%.[a-z][a-z]%' AND UserMail NOT LIKE '%@%@%' AND CHARINDEX('.@',UserMail) = 0 AND CHARINDEX('..',UserMail) = 0 AND HARINDEX(',',UserMail) = 0 AND CHARINDEX(' ',UserMail) = 0 AND RIGHT(UserMail, 1) BETWEEN 'a' AND 'z' THEN 1 ELSE 0 END = 0 |
8 | Der Mandant ist nicht vorhanden | WHERE MainConnectUser.Mandant IS NULL |
9 | MailAlias ungültig | CASE WHEN UserAlias(1-5) LIKE '[a-z,0-9,_,-]%@[a-z,0-9,_,-]%.[a-z][a-z]%' AND UserMail NOT LIKE '%@%@%' AND CHARINDEX('.@',UserMail) = 0 AND |
Gruppenvalidierung
Fehlertyp | Bedeutung | SQL Bedingung |
---|---|---|
1 | Kein Mandant wurde ausgewählt | MainConnectGroup.GroupConfigMandantChosen IS NULL AND MainConnectGroup.GroupWarning IS NULL |
2 | GroupConfigMandant ist nicht Teil des Mandanten | (POWER(2, GroupConfigMandantChosen -1 ) & Mandant ) = 0 AND MainConnectGroup.GroupWarning IS NULL AND GroupConfigMandantChosen != 0 |
3 | Der zugewiesene Mandant ist nicht konfiguriert | MainConnectGroup.GroupConfigMandantChosen NOT IN (SELECT MandantNummer FORM TblConnectConfigMandant) AND GroupWarning is NULL AND GroupConfigMandantChosen != 0 |
4 | Das Attribut GroupConfigDNFIrstElem ist nicht eindeutig | MainConnectGroup.GroupConfigDNFirstElem IN (select GroupConfigDNFirstElem FROM MainConnectGroup GROUP BY GroupConfigDNFirstElem HAVING COUNT (*)>1) |
8 | Der Mandant ist nicht vorhanden | WHERE MainConnectGroup.Mandant IS NULL |
Beschreibung Migrationsfunktion
Die Funktion „sp_ConnectMigrateUser“ übernimmt GUID und Aliasse von TblConnectMigration nach MainConnectUser. Zuerst wird überprüft, ob der Datensatz einen Usertyp (Migrationstyp) hat. In einem weiteren Verlauf werden alle Daten aus TblConnectMigration ausgelesen, welche anschliessend in die MainConnectUser Tabelle übertragen werden. Dabei werden folgende Attribute verwendet:
MainConnectUser | TblConnectMigration |
---|---|
UserObjectGUID | UserGUID |
UserMailAlias1 | Alias1 |
UserMailAlias2 | Alias2 |
UserMailAlias3 | Alias3 |
UserMailAlias4 | Alias4 |
UserMailAlias5 | Alias5 |