--- a/management/univention-directory-manager-modules/modules/univention/admin/__init__.py +++ a/management/univention-directory-manager-modules/modules/univention/admin/__init__.py @@ -173,7 +173,7 @@ def __init__(self, short_description='', long_description='', syntax=None, license=[], required=0, may_change=1, identifies=0, unique=0, default=None, dontsearch=0, show_in_lists=0, editable=1, configObjectPosition=None, configAttributeName=None, include_in_default_search=0, nonempty_is_default=False, - readonly_when_synced=False, size=None): + readonly_when_synced=False, size=None, set_default_value_when_opening=False): self.short_description=short_description self.long_description=long_description if type(syntax) == types.ClassType: @@ -202,6 +202,7 @@ def __init__(self, short_description='', long_description='', syntax=None, self.nonempty_is_default = nonempty_is_default self.readonly_when_synced = readonly_when_synced self.size = size + self.set_default_value_when_opening = set_default_value_when_opening def new(self): if self.multivalue: --- a/management/univention-directory-manager-modules/modules/univention/admin/handlers/__init__.py +++ a/management/univention-directory-manager-modules/modules/univention/admin/handlers/__init__.py @@ -605,8 +605,11 @@ def call_udm_property_hook(self, hookname, module, changes = None): return changes def open(self): - self.exceptions=[] + self.exceptions = [] self.call_udm_property_hook('hook_open', self) + for name, property_ in self.descriptions.iteritems(): + if property_.set_default_value_when_opening and self.has_key(name) and not self[name]: + self[name] = property_.default(self) self.save() def _remove_option( self, name ): --- a/management/univention-directory-manager-modules/modules/univention/admin/modules.py +++ a/management/univention-directory-manager-modules/modules/univention/admin/modules.py @@ -352,7 +352,8 @@ def update_extended_attributes(lo, module, position): dontsearch = doNotSearch, identifies = 0, default = propertyDefault, - editable = editable + editable = editable, + set_default_value_when_opening='1' in attrs.get('univentionUDMPropertySetDefaultOnOpen', []), ) # add LDAP mapping