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)

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:

Einwohnerkontrolle (EWK)

EWK-bezogene Felder in Scolaris

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.

image-1687951075839.jpg

 

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.

 

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:

  1. Schweizer Gemeinde
  2. Innerhalb Kanton
  3. Heimatort, welcher der Schulgemeinde entspricht
  4. 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.

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.

Einwohnerkontrolle (EWK)

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.

image-1687952451386.jpg

 

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.

image-1687953290293.jpg

Den auf dem Protokoll aufgeführten Meldungen muss je nach Status der Meldung nachgegangen werden. Mehr dazu im kommenden Kapitel.

Einwohnerkontrolle (EWK)

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.

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.

 

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.

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.

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.

 

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.

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.

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.

 

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.

Einwohnerkontrolle (EWK)

Schnittstelle GERES

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.

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.

Gehen Sie im Modul Administration auf die Schnittstelle EWK-Import. Um nun das EWK-Protokoll zu drucken, gehen Sie wie folgt vor:

Connect

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 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)
E-Mail mail 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

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 Feld Name Feldname Connect Scolaris
userPrincipalName UserUserPrincipalName Personal.Login
Student.Login
Domain gemäss Kunde
mail 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


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.

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

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

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:

Connect

Gruppenbildung

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
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 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

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 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
Connect

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.


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.


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

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'

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

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.

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.

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.

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

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

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
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

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