How to Migrate the Old “date input” Field Type to the New One

New “date input” profile field

With Linchpin User Profiles 3.0, we introduce a new “date input” field type!

This new “date input” profile field allows for better filtering which is based on real dates. This also allows to create “special lists” like an “anniversary list”, for example.

New features based on date input, like filtering by date range, can only take effect for users who have (re-)entered the date(s) and saved their profiles. This can also be automated with the LUP synchronization jobs (LDAP or XML). Users with data in the old, text-based format (which can’t be used for filters/personalization in a meaningful way) will simply keep their existing profile data until they edit their profiles.

When creating a brand new date field in the Profile Editor, only the new data type is available for date fields anyway, so you don’t have to do anything here. (Other than asking your users to enter the dates into their profiles, for which we recommend a Linchpin Ping.)

Data migration

There are two ways to migrate the profile field manually:

  1. Configure a new “date input” field and delete the old one.OR
  2. Simply change the field type to the new “date input” field.

Important: After manually migrating the “date input” field to the new format, all users have to edit their profile, re-enter the date(s) again and save the changes to their profile. Due to this, we generally recommend creating a new field over changing the type of existing fields.

Importing from LDAP or XML

Do you use an active directory as a data source for one or more date-based fields? Then you will need to run a full data sync for the new functionality to work as expected.
The import expects a Unix timestamp, which is then converted into a date during synchronization and stored in user profiles as date object.

For data imported from LDAP or XML, we also recommend creating new fields over simply changing the field type of existing date fields. With a new field, it’s easier to verify whether the import and the resulting data works as expected.