UCS@school 4.4 v1 Release Notes

Release Notes für die Inbetriebnahme und Aktualisierung von UCS@school 4.4 v1


Inhaltsverzeichnis

1. Release-Highlights
2. Hinweise zum Update
2.1. Einstellung der Unterstützung von zusätzlicher Anmeldeserver
2.2. Entfernung des UMC-Moduls "CSV-Import"
3. Vorbereitung von Installation und Update
3.1. Automatisches Hinzufügen von Rollen
3.2. RADIUS
3.3. Normalisierung von Benutzerdaten über die Importschnittstelle
4. Nachbereitung des Updates
4.1. Join-Hooks
5. Hinweise zum Zugriff auf die Univention Management Console
6. Changelog
6.1. Generic issues
6.2. RADIUS
6.3. UCS@school installer
6.4. LDAP
6.5. Import
6.6. HTTP import API
6.7. UCS@school python library
6.8. Schools
6.9. Password reset for students/teachers
6.10. Computer room
6.11. Exam mode
6.12. CSV-Import
6.13. iTALC

§Kapitel 1. Release-Highlights

UCS@school 4.4 steht jetzt auch für das vierte Minor-Release von Univention Corporate Server (UCS) zur Verfügung. Es profitiert von einer Reihe an umfangreichen Funktionserweiterungen und Verbesserungen, neue Eigenschaften sowie diverse Detailverbesserungen und Fehlerkorrekturen, die in UCS 4.4 eingeflossen sind. Die wichtigsten Änderungen im Überblick:

  • Für große Schulumgebungen bei Schulträgern wurde der Installationsprozess vereinfacht, wodurch die Neuinstallation jetzt allgemein schneller abläuft. So wird z.B. bei der Installation eines Schulservers automatisch erkannt, dass es sich um einen Schulserver handelt, welche Pakete benötigt werden und für welche Schule er konfiguriert werden soll.

  • Standardmäßig wird nun bei fast allen UCS@school-Objekten (Benutzern, Klassen, Arbeitsgruppen, Räumen, Schulen, ...) ein zusätzliches Rollenattribut gepflegt, das vor allem die Anbindung externer Services vereinfacht.

  • Das Portal wurde für Landes-, Schulträger- sowie Schulinstallationen weiter optimiert. Es können nun Kategorien nebeneinander dargestellt werden, eine Anmeldung vorausgesetzt und eigene Oberflächendesigns hinterlegt werden.

  • Mit UCS 4.4 bzw. UCS@school 4.4 wurde die Integration von RADIUS mit der RADIUS-App aus UCS vereinheitlicht und verbessert. So stehen jetzt unter UCS@school alle Features aus beiden Apps zur Verfügung. Darüber hinaus wurde ein detailliertes Logging für Authentifizierungsanfragen implementiert.

§Kapitel 2. Hinweise zum Update

Während der Aktualisierung kann es zu Ausfällen von Diensten innerhalb der Domäne kommen. Aus diesem Grund sollte das Update innerhalb eines Wartungsfensters erfolgen. Grundsätzlich wird empfohlen das Update zunächst in einer Testumgebung einzuspielen und zu testen. Die Testumgebung sollte dabei identisch zur Produktivumgebung sein. Je nach Systemgeschwindigkeit, Netzwerkanbindung und installierter Software kann das Update zwischen 20 Minuten und mehreren Stunden dauern.

Das Update von UCS@school muss zunächst auf dem Domaincontroller Master durchgeführt werden, bevor das Update auf den übrigen UCS@school-Systemen der Domäne gestartet werden kann. Ansonsten wird es zu Problemen auf den übrigen UCS@school-Schulservern kommen.

§2.1. Einstellung der Unterstützung von zusätzlicher Anmeldeserver

Beginnend mit UCS@school 4.4 wird der Betrieb von zusätzlichen Anmeldeservern am Schulstandort (secondary slaves) nicht mehr von UCS@school unterstützt. Deshalb sollte vor der Aktualisierung auf UCS@school 4.4 geprüft werden, wo/wie die installierten Dienste der betroffenen Systeme weiterhin angeboten werden können.

§2.2. Entfernung des UMC-Moduls "CSV-Import"

Beginnend mit UCS@school 4.4 ist das UMC-Modul CSV-Import kein Bestandteil mehr von UCS@school und wird während des Updates automatisch entfernt. Deshalb sollte vor der Aktualisierung auf UCS@school 4.4 eine alternative Lösung für den Import verwendet werden. Seit UCS@school 4.2 v6 wird das UMC-Modul Benutzerimport mit UCS@school ausgeliefert. Wir empfehlen die eigenen Importprozesse zu prüfen und an das neue UMC-Modul anzupassen. Das UMC-Modul Benutzerimport beinhaltet alle wichtigen Funktionen aus dem CSV_Import und darüber hinaus noch viele weitere Features. Weitere Informationen dazu sind im UCS@school-Handbuch (http://docs.software-univention.de/ucsschool-umc-import-handbuch-4.4.html) zu finden.

§Kapitel 3. Vorbereitung von Installation und Update

Es sollte geprüft werden, ob ausreichend Festplattenplatz verfügbar ist. Eine Standard-Installation benötigt min. 6 GB Speicherplatz. Das Update benötigt je nach Umfang der vorhanden Installation mindestens 2 GB weiteren Speicherplatz zum Herunterladen und Installieren der Pakete.

Für das Update sollte eine Anmeldung auf der lokalen Konsole des Systems mit dem Benutzer root durchgeführt und das Update dort gestartet werden. Alternativ kann das Update über die Univention Management Console durchgeführt werden.

Eine Remote-Aktualisierung über SSH wird nicht empfohlen, da dies beispielsweise bei Unterbrechung der Netzverbindung zum Abbruch des Update-Vorgangs und zu einer Beeinträchtigung des Systems führen kann. Sollte dennoch eine Aktualisierung über eine Netzverbindung durchgeführt werden, ist sicherzustellen, dass das Update bei einer Unterbrechung der Netzverbindung trotzdem weiterläuft. Hierfür kann beispielsweise das Tool screen eingesetzt werden, das auf allen Systemrollen installiert ist.

Mit UCS 4.4 bietet Univention wieder ein Skript an, mit dem Probleme, die das Update des UCS Systems verhindern würden, schon vor dem Update erkannt werden können. Diese Skript kann vor dem Update manuell auf das System geladen und ausgeführt werden:

# download
-> curl -OOs http://updates.software-univention.de/download/univention-update-checks/pre-update-checks-4.4{,.gpg}

# run script
-> gpgv --keyring /usr/share/keyrings/univention-archive-key-ucs-4x.gpg pre-update-checks-4.4.gpg \
        pre-update-checks-4.4 && bash pre-update-checks-4.4

gpgv: Signature made Mo 11 Mär 2019 12:09:59 CET
gpgv:                using RSA key 36602BA86B8BFD3C
gpgv: Good signature from "Univention Corporate Server 4.x <packages@univention.de>"

Starting pre-update checks (Sa 23. Feb 08:21:12 CET 2019):

Checking app_appliance ...                        OK
Checking disk_space ...                           OK
Checking failed_ldif ...                          OK
Checking hold_packages ...                        OK
Checking ldap_connection ...                      OK
Checking ldap_schema ...                          OK
...

§3.1. Automatisches Hinzufügen von Rollen

Ab UCS@school 4.4 wird nun standardmäßig bei fast allen UCS@school-Objekten (Benutzern, Klassen, Arbeitsgruppen, Räumen, Schulen, ...) ein zusätzliches Rollenattribut gepflegt. Dieses Attribut wird ab sofort in UCS@school vorausgesetzt, da es zukünftig zur Identifikation von UCS@school-Objekten im LDAP-Verzeichnis verwendet werden.

Während des Updates wird standardmäßig ein Migrationsskript ausgeführt, welches allen unterstützten UCS@school-Objekten ein Rollen-Attribut hinzufügt und das Feature aktiviert. Falls notwendig, kann diese automatische Migration während des Updates verhindert werden, um sie zu einem späteren Zeitpunkt manuell durchzuführen. Dafür muss die UCR Variable ucsschool/feature/roles/skip_migration vor dem Update auf den Wert yes gesetzt werden.

Das nachträgliche Hinzufügen der Rollen-Attribute kann über das Kommandozeilenwerkzeug /usr/share/ucs-school-import/scripts/migrate_ucsschool_roles gestartet werden. Üblicherweise wird das Werkzeug mit dem Parameter --all-objects gestartet.

§3.2. RADIUS

Mit UCS 4.4 bzw. UCS@school 4.4 wurde die Integration von RADIUS mit der RADIUS-App aus UCS vereinheitlicht. Daher wird beginnend mit UCS@school 4.4 während der Installation des Pakets ucs-school-radius-802.1x auch automatisch die UCS-App RADIUS installiert. Mit der Installation der RADIUS-App werden auch dessen Features (re-)aktiviert. Sollte die RADIUS-App in der Vergangenheit schon einmal eingesetzt worden sein, sollte vor/nach dem Update genau geprüft werden, ob ggf. noch Einstellungen von der vorherigen Verwendung im LDAP-Verzeichnis zu finden sind und ob diese noch aktuell sind, um Probleme bei den Zugriffsberechtigungen zu vermeiden.

§3.3. Normalisierung von Benutzerdaten über die Importschnittstelle

Mit UCS@school 4.4 ändern sich einige Standardeinstellungen und Optionen bei der Importschnittstelle für Benutzer. Dies macht ggf. einige Anpassungen an bereits vorhandenen JSON-Konfigurationsdateien notwendig, um das alte Verhalten wiederherzustellen.

So wurde z.B. die Voreinstellung für die Optionen normalize:vorname und normalize:nachname von true auf false geändert. Infolgedessen werden Vor- und Nachname beim Benutzerimport nicht mehr normiert und können somit Umlaute etc. enthalten. Dies ist insbesondere dann wichtig, wenn der Wert für record_uid über ein Schema aus firstname oder lastname berechnet wird und sich jetzt durch Umlaute ein anderer Wert ergeben kann. Das Schema in scheme:username sollte daher geprüft werden, dass das Voranstellen von <:umlauts> notwendig ist, um die Werte weiterhin die auf gleiche Weise zu berechnen.

Weiterhin wurde aus Konsistenzgründen die Konfigurationsoption scheme:recordUID in scheme:record_uid umbenannt. Die interne Methode ImportUser.make_recordUID() wurde entsprechend auch in ImportUser.make_record_uid() umbenannt.

Analog wurden auch die Konfigurationsoption sourceUID und die Kommandozeilenoption --sourceUID in source_uid und --source_uid umbenannt. Die interne Methode ImportUser.make_sourceUID() wurde zu ImportUser.make_source_uid() umbenannt.

Im Benutzerimport ändert sich auch das Verhalten von school_classes. Vor UCS@school 4.4 wurden Klassenzuordnungen von Benutzern nicht verändert, wenn in der Importdatei kein Wert für school_classes angegeben wurde. Beginnend mit UCS@school 4.4 werden alle Klassenzuordnungen eines Benutzers entfernt, wenn das entsprechende Feld in der Importdatei leer ist und school_classes im Import-Mapping zugeordnet wurde. Um das alte Verhalten wiederherzustellen, muss die Konfigurationsoption school_classes_keep_if_empty auf den Wert true gesetzt werden.

§Kapitel 4. Nachbereitung des Updates

Nach dem Update müssen die neuen oder aktualisierten Join-Skripte ausgeführt werden. Dies kann auf zwei Wegen erfolgen:

  • über das UMC-Modul Domänenbeitritt oder

  • durch Aufruf des Befehls univention-run-join-scripts als Benutzer root.

§4.1. Join-Hooks

Der in UCS@school 4.4 eingeführte Installationsprozess nutzt das neue Feature Join-Hooks, das ab Univention Corporate Server 4.4 zur Verfügung steht. Join-Hooks werden in einer UCS@school-Umgebung vom Domänencontroller Master im LDAP-Verzeichnis hinterlegt und automatisch während des Join-Vorgangs bzw. während der Ausführung von Joinskripten ausgeführt. Der UCS@school-Join-Hook installiert auf allen Systemen der Domäne automatisch die UCS@school-App aus dem Univention App Center und installiert die auf dem jeweiligen System benötigten UCS@school-Pakete, sofern diese noch fehlen.

Nach dem Update des Domänencontroller Master auf UCS 4.4/UCS@school 4.4 muss auf allen anderen Systemen der Domäne der Befehl univention-run-join-scripts auf der Kommandozeile ausgeführt werden, was den Join-Hook auf jedem System erstmalig ausführt. Für die Erstinstalation der benötigten Pakete wird der Join-Hook je nach Rolle des Systems und dessen Systemperformance mehrere Minuten benötigen. Dieser Vorgang darf dabei nicht abgebrochen werden.

§Kapitel 5. Hinweise zum Zugriff auf die Univention Management Console

Univention Management Console verwendet für die Darstellung der Web-Oberfläche zahlreiche Javascript- und CSS-Funktionen. Cookies müssen im Browser zugelassen sein. Die folgenden Browser werden empfohlen:

  • Chrome ab Version 71

  • Firefox ab Version 60

  • Safari und Safari Mobile ab Version 12

  • Microsoft Edge ab Version 18

Der Internet Explorer wird ab diesem Release nicht mehr von Univention Management Console unterstützt.

Auf älteren Browsern können Darstellungs- oder Performanceprobleme auftreten.

§Kapitel 6. Changelog

Die Changelogs mit den detaillierten Änderungsinformationen werden nur in Englisch gepflegt. Aufgeführt sind die Änderungen zwischen den UCS@school-Versionen 4.3 v7 und 4.4 v1. Die Änderungsinformationen für vorherige Versionssprünge finden sich unter https://docs.software-univention.de/.

§6.1. Generic issues

  • A typo on the demo portal has been fixed (Bug 48540).

  • The UCS@school logo has been updated (Bug 48699).

  • The postinst scripts of all UCS@school packages now use call_joinscript instead of calling join scripts directly (Bug 48731).

  • The meta packages have been adapted to handle the simplified installation process (Bug 47969, Bug 48883).

  • The meta packages for Domänencontroller Master now recommend the installation of the HTTP-API import backend and frontend (Bug 48790).

  • The LDAP attribute ucsschoolRole of domain controller objects is now set during domain join (Bug 48519).

  • The installation process has been simplified for the UCS@school administrator. On system roles other than Domänencontroller Master the UCS@school configuration wizard does no longer have to be run manually. All necessary steps for installation of UCS@school are done automatically during domain join if the corresponding school was previously created in LDAP directory (Bug 47942, Bug 47940, Bug 47941, Bug 47954, Bug 47955, Bug 47957, Bug 47696. Bug 48534, Bug 48740, Bug 48734).

  • Fixed join of DC backup with Samba4 into single server environment (Bug 48815).

  • Support for the new join script API has been added to all affected packages (Bug 47076).

§6.2. RADIUS

  • The package ucs-school-radius-802.1x has been revised and simplified. It now includes an addon for the RADIUS app from UCS. This means ucs-school-radius-802.1x now depends on the univention-radius package which will be installed automatically as a dependency. Therefore the features of the RADIUS app and the UCS@school RADIUS integration are now provided in UCS@school (Bug 46018).

§6.3. UCS@school installer

  • The installation process has been simplified for the UCS@school administrator. On system roles other than Domänencontroller Master the UCS@school configuration wizard does no longer have to be run manually. All necessary steps for installation of UCS@school are done automatically during domain join if the corresponding school was previously created in LDAP directory (Bug 47942, Bug 47940, Bug 47941, Bug 47954, Bug 47955, Bug 47957, Bug 47696. Bug 48534).

  • The UCS@school configuration wizard now recognizes all already configured systems and shows a corresponding message (Bug 48697).

  • In some rare cases the UCS@school configuration wizard did not install any UCS@school packages. This problem has been fixed (Bug 48665).

  • An unnecessary postinst script has been removed (Bug 48681).

§6.4. LDAP

  • New LDAP indices have been added, e.g. for ucsschoolRole (Bug 48384).

  • An OID collision in the UCS@school LDAP schema has been fixed. This is just a precaution. Problems are not known at this time (Bug 45538).

  • The LDAP schema has been updated to activate substring search for the LDAP attribute ucsschoolRole (Bug 48246).

§6.5. Import

  • The default of the settings normalize:firstname and normalize:lastname has been changed from true to false. As a consequence the displayName (if not set explicitly) will also not be normalized and will thus contain umlauts etc. (Bug 47351).

    Note

    If the record_uid is calculated using a schema from firstname or lastname, then it might change now! Prepend <:umlauts> to the schemas in scheme:username to prevent this.

  • To be more consistent with other variable names, the configuration key scheme:recordUID has been renamed to scheme:record_uid. The method ImportUser.make_recordUID() has also been renamed to ImportUser.make_record_uid() (Bug 48478).

  • To be more consistent with other variable names, the configuration key sourceUID and its associated command line argument --sourceUID have been renamed to source_uid and --source_uid respectively. The method ImportUser.make_sourceUID() has also been renamed to ImportUser.make_source_uid() (Bug 48478).

  • The school_classes user attribute (the class assignment) is now emptied, if the class field in a row of a CSV file is empty. Before, the school_classes user attribute was actively restored in the case that a modification had completely emptied it. To return to the previous behavior add the key school_classes_keep_if_empty to the import configuration with a value of true (Bug 48045).

  • The UCS@school import framework's ImportUser class has been made more accessable to 3rd party software (Bug 48423).

  • UCS@school now maintains a new LDAP attribute ucsschoolRole for most UCS@school LDAP objects. The attribute contains information about the object's role within a specific scope (Bug 48226, Bug 48678, Bug 48732).

  • A user's ucsschoolRole attribute is now updated, when changing the school (Bug 48649).

  • The description of the UCR variable ucsschool/import/attach/policy/default-umc-users has been clarified (Bug 48722).

  • Starting with UCS@school 4.4, it is no longer supported to create secondary slaves for a school server. Therefore the script ucs-school-join-secondary-samba4 has been removed (Bug 48836).

  • The handling of samba's local accounts "dns-$hostname" has been improved. The account is not added to the ignore list of univention-s4-connector anymore (Bug 48534).

§6.6. HTTP import API

  • The meta packages for DC master now recommend the installation of the HTTP-API import backend and frontend.

§6.7. UCS@school python library

  • A problem has been solved ucsschool library that returned the wrong shares when fetching all WorkGroupShares (Bug 48428).

  • The UCS@school library has been extended to provide internal functions a faster way to query all users with certain criteria from LDAP (Bug 47885).

  • An error when filtering in a search for schools was fixed (Bug 48429).

  • Activate the ucsschoolRole feature by default (Bug 48226, Bug 48226, Bug 48647, Bug 48741).

  • A users school_classes are now removed, if the school_classes attribute is empty and specified in csv:mapping (Bug 48045).

  • An additional validation has been added for computer objects to prevent new IP subnets etc. from being silently added (Bug 48099).

  • If ucsschool/import/attach/policy/default-umc-users was set to no, the LDAP group Domain Users $OU had not been created erroneously. This problem has been fixed (Bug 48722).

  • The handling of ucsschoolRole for secondary school slaves has been removed (Bug 48732).

  • A user's ucsschoolRole attribute is now updated, when changing the school (Bug 48649).

§6.8. Schools

  • Upon computer creation the user now has to validate the creation of additional networks and gets an error if an overlapping subnet would be created (Bug 48099).

  • It is now possible to specify an administrative slave when creating a new school (Bug 48743).

§6.9. Password reset for students/teachers

  • In environments with several hundred users in an OU, opening the UMC module Passwords (students) could take an extremely long time, making the module almost unusable. The responsible LDAP query has now been identified and replaced by a more powerful variant in order to considerably reduce loading times (Bug 47885).

§6.10. Computer room

  • The grid layout of the computer room module has been adapted to the design changes done for UCS 4.4 (Bug 48868).

§6.11. Exam mode

  • Creating an exam with a whitespace at the beginning or end of the name created a traceback upon starting the exam. Whitespaces are now trimmed automatically (Bug 48509).

§6.12. CSV-Import

  • The UMC module CSV-Import has been removed and will be automatically deinstalled during the update (Bug 48063).

§6.13. iTALC

  • The detection of the correct place for the samba share iTALC-Installation in the joinscript 85italc-windows.inst has been fixed for single server environments (Bug 37828).