Source: https://docs.software-univention.de/release-notes-ucsschool-4.4v1-de.html
Timestamp: 2019-03-18 21:54:10+00:00

Document:
UCS@school 4.4 v1 Release Notes
Release Notes für die Inbetriebnahme und Aktualisierung von UCS@school 4.4 v1
2.1. Einstellung der Unterstützung von zusätzlicher Anmeldeserver
2.2. Entfernung des UMC-Moduls "CSV-Import"
3.1. Automatisches Hinzufügen von Rollen
3.3. Normalisierung von Benutzerdaten über die Importschnittstelle
4.1. Join-Hooks
6.1. Generic issues
6.3. UCS@school installer
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.12. CSV-Import
6.13. iTALC
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.
§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.
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:
-> curl -OOs http://updates.software-univention.de/download/univention-update-checks/pre-update-checks-4.4{,.gpg}
-> gpgv --keyring /usr/share/keyrings/univention-archive-key-ucs-4x.gpg pre-update-checks-4.4.gpg \
gpgv: Signature made Mo 11 Mär 2019 12:09:59 CET
gpgv:                using RSA key 36602BA86B8BFD3C
Starting pre-update checks (Sa 23. Feb 08:21:12 CET 2019):
Checking failed_ldif ...                          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.
§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.
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).
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).
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).
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).
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).
The handling of ucsschoolRole for secondary school slaves has been removed (Bug 48732).
§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).
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).

References: §2

§2

§3

§3

§3

§4

§6

§6

§6

§6

§6

§6

§6

§6

§6

§6

§6

§6