WIP
Your own syntax classes can be created in
/usr/lib/pymodules/python2.7/univention/admin/syntax.d/
and linked to
/usr/share/pyshared/univention/admin/syntax.d/
As an example, a regular expression class could look like this
device_description.py
# coding=utf-8
import re
class device_description(simple):
regex = re.compile('(?u)(^[a-zA-Z0-9])[a-zA-Z0-9._ -]*([a-zA-Z0-9]$)')
error_message = _("Value must not contain anything other than digits, letters, dots or spaces, must be at least 2 characters long, and start and end with a digit or letter!")
This syntax class can be used in your extended attribute to check the inputs for your own device description. The name is “device_description” just like the syntax class name.
If you have a multi server environment, you should copy the syntax class on all your servers., because it is not automatically replicated.