Problem: UnknownProperty: UDM property 'recordUID' could not be set. KeyError: u'recordUID'

Problem:
Importing new students in dry-run everything is fine. Without dry-run you get:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/mass_import/user_import.py", line 179, in create_and_modify_users
    success = user.create(lo=self.connection)
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 321, in create
    res = super(ImportUser, self).create(lo, validate)
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/base.py", line 478, in create
    success = self.create_without_hooks(lo, validate)
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/base.py", line 506, in create_without_hooks
    self.do_create(udm_obj, lo)
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/user.py", line 263, in do_create
    success = super(User, self).do_create(udm_obj, lo)
  File "/usr/lib/pymodules/python2.7/ucsschool/lib/models/base.py", line 529, in do_create
    self._alter_udm_obj(udm_obj)
  File "/usr/lib/pymodules/python2.7/ucsschool/importer/models/import_user.py", line 433, in _alter_udm_obj
    import_user=self
UnknownProperty: UDM property 'recordUID' could not be set. KeyError: u'recordUID'

Solution:

Since UCS@school 4.4 we renamed sourceUID and recordUID to source_uid and record_uid.
This has to be adjusted in your mapping in the scheme part:

This could look like that:

u'scheme': {u'name': u'<username>',
             u'recordUID': u'<record_uid>',
             u'school': u'<school>',
             u'sourceUID': u'<source_uid>',
             u'username': u'<username>'},

But now it should look like:

u'scheme': {u'name': u'<username>',
             u'record_uid': u'<record_uid>',
             u'school': u'<school>',
             u'source_uid': u'<source_uid>',
             u'username': u'<username>'},
Mastodon