Primary-resource / vehicle / project responsible migration

Primary-resource / vehicle / project responsible migration

We are migrating the responsible fields of the primary-resource / vehicles and projects.

Right now, depending on your project-type, this is any text or an email-format. This is will be migrated to a reference of a project-user.

Target solution

  • primaryContactPerson is introduced as successor of responsible as a required field
  • responsible is removed
  • primaryContactPerson is a reference to a (human) user
  • primaryContactPerson is validated to be part of the project, when it’s set. Note: It still can point to a person, which is not part of the project afterwards (e.g. person was removed from the project or left it).

Migration path

  • With release v0.18.0
    • we introduce an additional field primaryContactPerson.id (and also secondaryContactPersons[].id for vehicles/primary-resources)
    • existing responsible will be migrated to primaryContactPerson.id if they have a matching value to any project-member of the belonging resource. For remaining values, the primaryContactPerson will be set to the creator of the resource
    • Our UIs will always show show primaryContactPerson. Additionally responsible is shown as readonly, if it’s different to primaryContactPerson
    • Updates to responsible will - if valid - also be written to primaryContactPerson in our API
    • Updates to primaryContactPerson will also be written to responsible in our API
    • Creation requests will have a fallback to the creator, if no primaryContactPerson is provided
  • With a release end of 2024
    • responsible is removed from UIs and the API
    • primaryContactPerson will be promoted to a required field. Creation requests without providing the primaryContactPerson will be rejected by the API