We published the last UCS major release (UCS 4.0) in 2016. With UCS 5.0, we have now decided to go for an extensive update of the technical base and design of UCS. The first beta version of UCS 5.0, which has now been released, provides an initial preview of these updates. While testers are invited to try it, app vendors are offered a possibility to port and adapt their software. The beta version gives a glimpse of the new UI design and already provides some of the planned functions. However, this preview is not intended for productive use.
Objective of UCS 5.0 beta
Please feel invited to test this beta release. We hope to receive valuable feedback and hints on the new features that have already been implemented in the beta version. This is particularly important for our partners in the Univention App Center, who can use the beta version to start testing and integrating their own apps. However, all interested UCS users are highly welcome to take a look at this current state and share their feedback with us. This is why we focused on the availability of core functions in this Beta version and provide the functions of an Active Directory-compatible domain controller.
The release is not suitable for productive use. First, it is not yet complete and most of the apps are still missing. Second, it still has a number of known bugs and certainly some others that are yet unknown. In addition, we will not support an update to the later stable version of UCS 5.0.
Preview of the new design
The most obvious change is the modernized design of UCS 5, which can already be seen during the installation process. In the default configuration, UCS will appear darker and, in our opinion, more elegant and uncluttered. We have visually reduced many areas and defined simpler shapes with a clearer color language, for example, for the “tiles” in the portal.
As the changes in the beta are very obvious, the status of an “unfinished” beta version becomes clearly visible, in particular in this area. A lot of work is currently being done on the look and feel of UCS 5. In many places, the interfaces are still incomplete or partly still use visualizations from UCS 4. These will disappear. In the weeks after the beta release, a lot of work will be done in this area. You can use the beta to follow these changes, as we will continuously publish the work results and the beta is prepared to install these using the normal update mechanisms. However, we cannot guarantee that updates will always work properly.
With the change to the new design, we have also introduced a central “theming” option for all web interfaces provided by Univention. Via CSS, you are able to define, for example, colors and fonts of the portal, the Univention Management Console, the user self-service as well as the single sign-on login to SAML and OpenID Connect. Based on this, we also intend to include in the release the option to switch to a “bright” web interface design.
At the base: Debian, installation and repositories
UCS 5.0, including the beta release, is based on the current Debian stable “Buster”. Together with the update, we assume from Debian all package updates as well as the improvements in the installation process. The announced renaming of the system roles is also implemented.
That said, we have made important changes in two areas at the base of UCS. Firstly, it concerns the structure of the package repositories, i.e. the source of all software packages on our servers. So far, these were organized hierarchically based on UCS releases, meaning one repository for each patch level release. Although this allowed a clear separation of packages in the release process, it has led to a strongly increased number of repositories. For your understanding, UCS 4.4 always integrates all sources of earlier UCS 4.x releases, as the repositories build on each other. Since the releases are maintained in parallel, the packages in the repositories are partly in the same version and partly in different versions. We will clearly simplify these structures by storing all available packages in one repository and maintaining one package list (“packages” files) per release. This will speed up the App Center and package installations, save space on our servers and the mirror servers in UCS environments, and simplify our release processes.
Another change we made concerns the installation process: after the basic installation of the DVD image is done via the “Debian installer”, the system now prompts for a reboot. In UCS 4.4., the system continued at this point by requesting Univention-specific parameters like the system role. While users should hardly perceive this as a change, it is crucial for UCS developers and UCS Apps: directly after the basic installation, the system is still in the runtime environment of the Debian installer providing significantly different possibilities than after the reboot. UCS 4.4 still offered two different options – without reboot when installing from ISO and with reboot when installing as a virtual machine or app appliance. We hereby standardize the installation process and eliminate many special options. In addition, in the future UCS users will be able to select and install significantly more applications directly during the initial setup.
Python 3 as the new standard
It was an important development goal of UCS 5.0 to migrate the software components developed by Univention from Python 2 to Python 3. In some areas, this conversion was quite complex due to a different handling of the strings used in the directory service. In addition, we also had to make sure that it must be possible to have both Python versions in mixed environments of UCS 4 and UCS 5 roll out Python-based extensions such as “hooks” to extended attributes of the Univention Directory Manager. In the beta release, the migration to Python 3 has been implemented for Univention Directory Manager (UDM), Univention Configuration Registry (UCR), Admin Diary, plugins of the Univention Directory Listener, Samba 4 with the S4 Connector and parts of the Univention Management Console (UMC), among others. Many tools and libraries were also migrated along the way. The interfaces for the integration in UCS have thus been converted to Python 3, and app developers can prepare their implementations for UCS 5.0 if necessary.
In general, we will still support Python 2 as a runtime environment in UCS 5.0. Also some of our implementations will still use Python 2 as default with the release of UCS 5.0. However, all interfaces to UDM or in the listener will require Python 3. Therefore, they need to be tested with Python 3 for an update to UCS 5.0 and adapted if necessary. With the release of UCS 5.1, we will no longer provide support for Python 2 in UCS.
On the way to the final release
Until the final release, we still have a few things to do that are either still incomplete in the beta or not even included. Among them is, as already described in the article about the discontinuations, the change from Nagios monitoring to Prometheus Alerts. This is not yet included in the beta version.
Furthermore, important apps are still missing like the connectors to Microsoft 365, G-Suite and Active Directory which allow UCS to become a member in Active Directory domains. For the release of the productive version in spring, we not only plan to provide as many partner apps as possible but also to have our own extensions integrated, such as UCS@school.
I look forward to receiving your first impressions of the upcoming UCS 5 as a comment here below, on help.univention.com or as an e-mail to firstname.lastname@example.org. But first, I’d like to invite you once again to download and test the UCS 5.0 Beta.