Extend Horde config to disable/enable applications



I wanted to disable several Horde applications to limit Horde usage to Email, Calendar and Addressbook. Therefore I did set UCR variables on the docker container:

univention-app shell horde ucr set horde/nag/status='inactive'
univention-app shell horde ucr set horde/mnemo/status='inactive'

That disabled the applications Notes and Tasks. But Bookmarks and Files were still available. But the configuration template on the container did not have the values for those:

# univention-app shell horde cat /etc/univention/templates/files/etc/horde/horde/registry.d/10-ucs.php

@%@BCWARNING=// @%@


if configRegistry.get("horde/horde/initial_page"):
	print "$this->applications['horde']['initial_page'] = '%s';" % configRegistry.get("horde/horde/initial_page")
print "$this->applications['ingo']['status']        = '%s';" % configRegistry.get("horde/ingo/status", "active")
print "$this->applications['horde']['status']       = '%s';" % configRegistry.get("horde/horde/status", "active")
print "$this->applications['imp']['status']         = '%s';" % configRegistry.get("horde/imp/status", "active")
print "$this->applications['kronolith']['status']   = '%s';" % configRegistry.get("horde/kronolith/status", "active")
print "$this->applications['mnemo']['status']       = '%s';" % configRegistry.get("horde/mnemo/status", "active")
print "$this->applications['nag']['status']         = '%s';" % configRegistry.get("horde/nag/status", "active")
print "$this->applications['turba']['status']       = '%s';" % configRegistry.get("horde/turba/status", "active")


Therefore I opened the file in vi
univention-app shell -ti horde vi /etc/univention/templates/files/etc/horde/horde/registry.d/10-ucs.php
and added the following 2 lines:

print "$this->applications['gollem']['status']       = '%s';" % configRegistry.get("horde/gollem/status", "active")
print "$this->applications['trean']['status']       = '%s';" % configRegistry.get("horde/trean/status", "active")

After that I could set those inactive via UCR also:

univention-app shell horde ucr set horde/trean/status='inactive'
univention-app shell horde ucr set horde/gollem/status='inactive'

Would be great if those 2 line could be integrated in the template. Who would be responsible for that? Univention or someone maintaining Horde?

And how can those change be made upgrade save? Could these values be propagated from the UCS PDC?