The new Self Service is integrated in the Portal

Starting with the new package versions of the Self Service and the Univention Portal (released as an ordinary errata update on 2022-03-23), the frontend of the Self Service is now integrated in the Univention Portal.

The new frontend is more accessible and customizable than before. But it is not fully backwards compatible, meaning that some customizations may be lost and need to be achieved differently.

This article explains the major changes that may be of interest if you update from an older version.

First of all, the old frontend is not gone. It is just not as prominently linked as before. If any of the changes below are creating serious issues for you, you can go back to the old frontend. You may want to start by that:

# re-activate the original link
udm portals/entry modify \
  --dn "cn=self-service,cn=entry,cn=portals,cn=univention,$(ucr get ldap/base)"\
  --set activated=TRUE
# change the {tokenlink} variable to something "static"
nano /usr/share/univention-self-service/email_bodies/verification_email_body.txt

You may also want to change the “User Menu” of the main portal. The login page has a link to the Self Service, too.

Technical background

The new frontend is based on the Univention Portal framework. Meaning that it is in fact a dedicated “portal object” in our database, just like the original portal. The object has the DN cn=self-service,cn=portal,cn=portals,cn=univention,$(ucr get ldap/base).

This makes it so the user gets a streamlined interface across the most user facing frontends: Portal and Self Service. The Self Service now consists of categories and tiles just like the (any) portal. It comes with some predefined data, but can be fully customized as the portal: You can change the order of tiles, rename them, exchange icons, add new categories. Or hide specific tiles.

Removed UCR variables

The following UCR variables still apply to the old frontend. But are not evaluated in the new frontend:

  • umc/self-service/*/frontend/enabled: These variables used to activate/deactivate certain pages in the Self Service frontend. Now, you would deactivate the portal entry. You can do that in the “Edit mode” within the Self Service-Portal. Or you can go to your Self Service backend and set umc/self-service/*/backend/enabled instead. This will deactivate the backend functionality. And also hide the tile.
  • umc/self-service/.*/title/.*: These variables used to set the title for the Self Service pages. This is now done by simply editing the title in the portal entry via the Edit mode. Note that this will only change the title of the tile, not the title of the opening dialog once you click on it.
  • umc/self-service/account-verification/next-steps: This variable used to give the user a hint what to do after the account verification is finished. Its main purpose was to send the user to the portal. Now that the portal does the account verification, we decided to not use this variable in the new frontend.

Custom CSS

Before the update, there was a custom.css just for the Self Service: /usr/share/univention-self-service/www/css/custom.css. This file is no longer used by the new frontend. Instead, it shares the custom CSS with the portal: /usr/share/univention-portal/css/custom.css

JS Hooks

The old frontend used to support so called Javascript Hooks that could be loaded to basically customize a web interface further. The portal does not support this at the moment and neither does the new Self Service. We hope that using these hooks is not necessary; many of them simply added links to the web page. This can now be done more stable by just adding portal entries.