How Can We Help?
Unified Person Synchronisation - ViewsUnified Person Synchronisation - Views
These are the specifications for the person synchronisation.
Please note that the specifications contain some fields of the type classification. In the note column below you will find the keys for our default values that you need to have in your synchronisation tables in order to select a certain classification item.
The default values we have in Pure should cover most of your use cases just fine. If you run into the situation that the coverage with the default does not seem ideal to you, please contact your implementation manager.
VIEW CREATE STATEMENTS
Download Oracle view create statement
Download Postgres view create statements
Download MSSQL view create statements
DATABASE DATATYPE MAPPINGS
Datatype to database mappings
Datatype |
Postgres |
Oracle |
MSSQL |
---|---|---|---|
Double | Numeric | Number | Float |
Long | Numeric | Number | Int |
Integer | Numeric | Number | Int |
Date | Date | Date | Date |
String | Varchar | Varchar | Varchar |
String/Clob | Text | Clob | Ntext |
String/Blob | Bytea | Blob | Image |
Classification | Varchar | Varchar | Varchar |
Boolean | Boolean | Numeric(1,0) | Bit |
PERSON_DATA (Mandatory)
This view is used to list all the persons you want to synchronise into Pure. This means that one row should exist in this view pr person you want to have in Pure. For each person you have to specify a PERSON_ID which will be the primary key for this person in the rest of the views. This means that this ID has to be unique for each person and cannot change over time. In the rest of the views, the PERSON_ID will be used to relate content when using it in a one-to-many relation.
The rest of the view is used to specify the simple meta data on the person
Column name | Data type | Size | Mandatory | Note |
Sync type. For each field pick one of: 'Yes', 'No', 'Once' |
||
---|---|---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes |
This is unique ID of the Person. Keep above description in mind when defining person ids. |
|||
FIRST_NAME | String | 1024 | No | The first name of the person. | |||
LAST_NAME | String | 1024 | Yes | The last name of the person. | |||
DATE_OF_BIRTH | Date | No | |||||
NATIONALITY |
Classification |
No | The ISO-3166-1 country code for the person's nationality. See http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements | ||||
GENDER | String | 1024 | Yes | Possible values are: for male: MALE, male, m, for female: FEMALE, female, f for unknown: UNKNOWN, unknown, DEFAULT |
|||
EMPLOYEE_START_DATE | Date | No | The date of the very first employment day (not necessarily the same as the first START_DATE in the staff view) | ||||
SYSTEM_LEAVING_DATE | Date | No | The day the person left your IT system (probably the day the person left the university?) | ||||
RETIRAL_DATE | Date | No | Planned or actual pension date | ||||
ACADEMIC_PROFESSION_ENTRY | Date | No | The date a person became an academic. | ||||
EXPERT | Boolean | No | Indicates being a contact to the press, only relevant for Advanced Portals | ||||
WILLINGNESS_TO_PHD | Boolean | No |
|
||||
PHD_RESEARCH_PROJECTS | String/Clob |
|
No | ||||
AFFILIATION_NOTE | String/Clob |
|
No | ||||
ORCID | String | 20 | No | ||||
BUILDING | String | 1024 | No |
Private/Home address of a person |
Private address building | ||
CITY | String | 1024 | No | Private address city | |||
COUNTRY | How to find classification values for the synchronisations | No | The ISO-3166-1 country code for the person's private address country. See http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements | ||||
POSTAL_CODE | String | 1024 | No | Private address postal | |||
ROAD | String | 1024 | No | Private address road | |||
ROOM | String | 1024 | No | Private address room | |||
VISIBILITY | String | 1024 | No |
If you want to you can set the visibility of the person. It can be either Publicly available, Campus (IP address) or Restricted to Pure users. If you supply a value it must be one of the following: public, campus, restricted If no value is specified, Publicly available will be selected automatically. |
|||
USER_ID | String | 1024 | No | The id of the user synchronized through the user synchronization. | |||
PROFILED | Boolean | No | Only available for customers who has the author profile module. | ||||
MANAGED_IN_PURE | Boolean | No | Indicates whether or not a person should be managed inside Pure. If set to TRUE the synchronisation will only import the person and not lock any fields/relations. In subsequent synchronisation runs, the synchronisation will not update the person, unless the MANAGED_IN_PURE state is changed to FALSE. If changed the person will be picked up by the synchronisation and handled as a synchronised content and fields and relations will be locked based on the configuration. The default behaviour for the synchronisation is to consider MANAGED_IN_PURE as FALSE if data us not supplied for it.
|
SQL for validating PERSON_DATA
OPTIONAL VIEWS
PERSON_IDS (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? Customer chooses between: 'Yes', 'No' or 'Once' |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the classification defined person id. | |
TYPE | Classification | Yes |
The type of the source. Values from: dk/atira/pure/person/personsources
|
||
VALUE |
String |
255 | Yes | The identification value of this item in the source |
PERSON_NAMES (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? Customer chooses between: 'Yes', 'No' or 'Once' |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the classification defined person name. | |
TYPE | How to find classification values for the synchronisations | Yes |
The type of name. Values from: dk/atira/pure/person/names
|
||
FIRST_NAME | String | 1024 | Yes(*) | The first name of the person. | |
LAST_NAME | String | 1024 | Yes(*) | The last name of the person. |
(*) Must supply at least a firstname or a lastname
SQL for validating PERSON_NAMES
PERSON_TITLES (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? Customer chooses between: 'Yes', 'No' or 'Once' |
|
---|---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | ||
ID | String | 1024 | Yes | The unique id for the classification defined person title. | ||
TYPE |
How to find classification values for the synchronisations
|
Yes | The type of title. Values from: dk/atira/pure/person/titles
|
Examples:
|
||
VALUE | String |
255 | Yes |
The VALUE to add. If no locale is specified in the column name, the VALUE is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: VALUE_EN VALUE_FR If locales are specified VALUE must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) |
SQL for validating PERSON_TITLES
PERSON_PROFILE_INFORMATION (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? Customer chooses between: 'Yes', 'No' or 'Once' |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the profile information. | |
TYPE | How to find classification values for the synchronisations | Yes | The type is specified via a classification scheme. You can define the classification for this scheme yourself. It contains classifications like: Research interest, Research overview, Teaching interest etc. A mapping between the value and the classification scheme must be made. | ||
VALUE | String |
clob | Yes |
The profile content. The data will be stored in XHTML in Pure, so the data can be formatted, but we need to know if it is. If it is HTML formatted we normally do a tidy up process to get it to be XHTML. Some formatting may be lost in this process (depending on the quality of the formatting) The VALUE to add. If no locale is specified in the column name, the VALUE is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: VALUE _EN VALUE _FR If locales are specified VALUE must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) Not allowed are the following tags: "script", "font", "style", "form", "input"
|
SQL for validating PERSON_PROFILE_INFORMATION
PERSON_LEAVE_OF_ABSENCE (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the leave of absence. | |
TYPE | How to find classification values for the synchronisations | Yes |
The type of leave of absence. Values from: |
||
START_DATE | Date | Yes | |||
END_DATE | Date | No |
SQL for validating PERSON_LEAVE_OF_ABSENCE
PERSON_DOCUMENTS (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID |
String |
1024 |
Yes |
PERSON_ID is referring to the PERSON_ID in the PERSON_DATA view. |
|
ID |
String |
1024 |
Yes |
The unique id for the document |
|
TYPE |
String |
1024 |
Yes |
|
|
URL |
String |
1024 |
Yes |
|
|
PROTOCOL |
String |
1024 |
No |
|
|
FILE_NAME |
String |
1024 |
No |
|
|
MIME_TYPE |
String |
1024 |
No |
|
|
FILE_TITLE |
String |
1024 |
No |
|
|
VISIBILITY |
String |
1024 |
No |
|
|
PERSON_PHOTOS (Optional)
If you have photos of your persons these can be synchronised. We can read them in multiple way, e.g. directly from the DB, get it from a HTTP URL etc.
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the photo | |
TYPE | How to find classification values for the synchronisations | Yes |
The type of file. Values from: |
||
VALUE | String/Blob | Yes | Where to fetch the photo from for example an URL. (Use Blob if BYTE protocol is used) | ||
PROTOCOL | String | 255 | Yes |
The following protocols are supported: BYTE, FILE & HTTP It is important that the value used is exactly identical to the above mentioned. |
|
FILE_NAME | String | 1024 | No | This field should include the file name that the downloaded file will have | |
MIME_TYPE | String | 1024 | No | The mime type of the file. in case its empty Pure will try to find the mime type in the request when downloading the file, if the HTTP is used. |
SQL for validating PERSON_PHOTOS
PERSON_EDUCATIONS (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the education | |
QUALIFICATION | Classifications | No |
The type of qualification. Values from: dk/atira/pure/personeducation/qualification |
||
FIELD_OF_STUDY | Classifications | No |
The type of field of study. Values from: dk/atira/pure/personeducation/fieldofstudy
|
||
QUALIFICATION_STRING | String | 1024 | No |
The QUALIFICATION_STRING to add. If no locale is specified in the column name, the QUALIFICATION_STRING is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: QUALIFICATION_STRING_EN QUALIFICATION_STRING_FR If locales are specified QUALIFICATION_STRING must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) |
|
FIELD_OF_STUDY_STRING | String | 1024 | No | Same rules as above apply. | |
PROJECT_TITLE | String | 1024 | No | Title of the thesis, same rules as above apply. | |
AWARD_DATE | Date | No | Date the qualification was awarded | ||
START_DATE_YEAR | Integer | Min=1800, Max=2100 | (Yes if month or day is synchronized) | ||
START_DATE_MONTH | Integer | Min=1, Max=12 | (Yes if day is synchronized) | ||
START_DATE_DAY | Integer | Min=1, Max=31 | No | ||
END_DATE_YEAR | Integer | Min=1800, Max=2100 | (Yes if month or day is synchronized) | ||
END_DATE_MONTH | Integer | Min=1, Max=12 | (Yes if day is synchronized) | ||
END_DATE_DAY | Integer | Min=1, Max=31 | No | ||
ORG_ID |
Only one of these ways of identification is needed, not all of them. It is possible to use a mix of these items, e.g. for some educations to use the ORG_PURE_ID and for some to use a ORG_SOURCE_ID to relate to the internal organisation. If ORG_CLASSIFIED_IDS_ID is used, you have to provide ORG_CLASSIFIED_IDS_ID and ORG_CLASSIFIED_IDS_TYPE |
An education can only be associated with either one internal organisation or one external organisation Click here to expand…
Synchronisation Non-explicit Id MatchingWhen using non explicit id matching, the lookup for the content is handled in the following way and order:
|
|||
ORG_PURE_ID | Long | If defined lookup for organisation will be done by the organisation pure id. | |||
ORG_SOURCE_ID | String | 1024 | If defined lookup for organisation will be done by the organisation source id. | ||
ORG_CLASSIFIED_IDS_ID | String | 1024 | If defined lookup for organisation will be done by a classification defined id. | ||
ORG_CLASSIFIED_IDS_TYPE |
|
The source where the ORG_IDS_ID is related to. Provide the last part of the uri (key) of the classification. | |||
EXTERNAL_ORG_ID | String | 1024 |
Only one of these ways of identification is needed. You have to provide either EXTERNAL_ORG_PURE_ID, EXTERNAL_ORG_PURE_ID, EXTERNAL_ORG_SOURCE_ID or EXTERNAL_ORG_NAME
It is possible to use a mix of these items, e.g. for some educations to use the EXTERNAL_ORG_PURE_ID and for some to use a EXTERNAL_ORG_SOURCE_ID to relate to the external organisation. |
An education can only be associated with either one internal organisation or one external organisation. Click here to expand…Synchronisation Non-explicit Id MatchingWhen using non explicit id matching, the lookup for the content is handled in the following way and order:
|
|
EXTERNAL_ORG_PURE_ID | Long | If defined lookup for external organisation will be done by the external organisation pure id. | |||
EXTERNAL_ORG_SOURCE_ID | String | 1024 | If defined lookup for external organisation will be done by the external organisation source id. | ||
EXTERNAL_ORG_NAME | String | 1024 |
An education can only be associated with either one internal organisation or one external organisation. If defined lookup for external organisation will be done by the external organisation name. |
||
EXTERNAL_ORG_TYPE | Classifications |
No Is used when doing name matching. Otherwise not. |
Search by name is narrowed down by limiting to the type. If "Unknown" type is used then it will be excluded to provide better results. The type of external organisation. Values from:
|
||
EXTERNAL_ORG_COUNTRY | Classifications |
No Is used when doing name matching. Otherwise not. |
Search by name is narrowed down by limiting to the country. If not defined search ignores country. The ISO-3166-1 country code for the External Organisation country. See http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements |
SQL for validating PERSON_EDUCATIONS
PERSON_EXTERNAL_POSITIONS (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the external position. | |
APPOINTMENT | Classifications | No |
The type of appointment. Values from: /dk/atira/pure/person/externalposition
|
||
APPOINTMENT_STRING | String | 512 | No |
The APPOINTMENT_STRING to add. If no locale is specified in the column name, the APPOINTMENT_STRING is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: APPOINTMENT_STRING_EN APPOINTMENT_STRING_FR If locales are specified APPOINTMENT_STRING must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) |
|
START_DATE_YEAR | Integer | Min=1800, Max=2100 | (Yes if month or day is synchronized) | ||
START_DATE_MONTH | Integer | Min=1, Max=12 | (Yes if day is synchronized) | ||
START_DATE_DAY | Integer | Min=1, Max=31 | No | ||
END_DATE_YEAR | Integer | Min=1800, Max=2100 | (Yes if month or day is synchronized) | ||
END_DATE_MONTH | Integer | Min=1, Max=12 | (Yes if day is synchronized) | ||
END_DATE_DAY | Integer | Min=1, Max=31 | No | ||
EXTERNAL_ORG_ID | String | 1024 |
No(**) |
||
EXTERNAL_ORG_PURE_ID | Long |
No(**) |
If defined lookup for external organisation will be done by the external organisation pure id. | ||
EXTERNAL_ORG_SOURCE_ID | String | 1024 |
No(**) |
If defined lookup for external organisation will be done by the external organisation source id. | |
EXTERNAL_ORG_NAME | String | 1024 | No(**) | If defined lookup for external organisation will be done by the external organisation name. | |
EXTERNAL_ORG_TYPE | Classifications | No |
Search by name is narrowed down by limiting to the type. If "Unknown" type is used then it will be excluded to provide better results. The type of external organisation. Values from:
|
||
EXTERNAL_ORG_COUNTRY | Classifications |
No Is used when doing name matching. Otherwise not. |
Search by name is narrowed down by limiting to the country. If not defined search ignores country. The ISO-3166-1 country code for the External Organisation country. See http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements |
(**) Only one means of identification of other content must be used. Do not fill in data into more than one column per relation, unless otherwise noted.
SQL for validating PERSON_EXTERNAL_POSITIONS
PERSON_PROF_QUALIFICATIONS (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the professional qualification. | |
QUALIFICATION | String | 1024 | Yes |
The QUALIFICATION to add. If no locale is specified in the column name, the QUALIFICATION is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: QUALIFICATION_EN QUALIFICATION_FR If locales are specified QUALIFICATION must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) |
|
ABBREVIATED_QUALIFICATION | String | 1024 | No | Same rules as above apply. | |
START_DATE_YEAR | Integer | Min=1800, Max=2100 | (Yes if month or day is synchronized) | ||
START_DATE_MONTH | Integer | Min=1, Max=12 | (Yes if day is synchronized) | ||
START_DATE_DAY | Integer | Min=1, Max=31 | No | ||
END_DATE_YEAR | Integer | Min=1800, Max=2100 | (Yes if month or day is synchronized) | ||
END_DATE_MONTH | Integer | Min=1, Max=12 | (Yes if day is synchronized) | ||
END_DATE_DAY | Integer | Min=1, Max=31 | No |
SQL for validating PERSON_PROF_QUALIFICATIONS
PERSON_LINKS (Optional)
Column name |
Data type |
Size |
Mandatory |
Note |
Sync? |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | PERSON_ID is refering to the PERSON_ID in the PERSON_DATA view. | |
ID | String | 1024 | Yes | The unique id for the link. | |
URL | String | 1024 | Yes | ||
TYPE | Classifications |
|
No |
The type of link. Values from:
|
|
DESCRIPTION | String(*) | String/Clob | No |
The DESCRIPTION to add. If no locale is specified in the column name, the DESCRIPTION is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: DESCRIPTION_EN DESCRIPTION_FR If locales are specified DESCRIPTION must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) |
SQL for validating PERSON_LINKS
PERSON_KEYWORDS (Optional)
This view contains the information about person keywords. There is three different types of keywords you can synchronise.
- Structured keywords only. Here you must specify the LOGICAL_NAME and TYPE column to identify what keyword you want to add.
- Structured keywords and free keywords. Here you must specify LOGICAL_NAME, TYPE, and FREE_KEYWORD. Note the keyword group with the LOGICAL_NAME must support free keywords.
- Free keywords only. Here you must specify LOGICAL_NAME and FREE_KEYWORD. Note the keyword group with the LOGICAL_NAME must support free keywords without structured keywords.
Column name |
Data type |
Size |
Mandatory |
Note |
Sync type. For each field pick on of: 'Yes', 'No', 'Once' and 'Lock' |
---|---|---|---|---|---|
PERSON_ID | String | 1024 | Yes | The ID for the person to add this keyword. The PERSON_ID must exist in the PERSON_DATA view above. | |
LOGICAL_NAME | String | 1024 | Yes | The logical name of the keyword group configuration in Pure, e.g. 'keywordContainers' NOTE there must exists a keyword group for Person which has the specified logical name | |
TYPE | Classifications | 255 | no | The type of structured keyword to add. Note you must provide the last part of the uri (key) of the classification you want to use. Note the allowed types depends on what classifications are in the keyword group with the provided logical name. I.e. if the classification scheme is Keywords (/dk/atira/pure/core/keywords) then a valid type value is 'A/AC' which will result in the keyword 'AC Collections. Series. Collected works' | |
FREE_KEYWORD | String | 1024 | no |
The free keyword to add. If no locale is specified in the column name, the keyword is added to all supported locales. If locales are provided, all supported locales must be specified To provide a locale you need to suffix the language to the column name and create a column for each supported locale. In the case of French and English this would result in the following columns: FREE_KEYWORD_EN FREE_KEYWORD_FR If locales are specified FREE_KEYWORD must not be present in your view without a locale suffix. The language should be appended in ISO 639-1 (two-letter codes) |
SQL for validating PERSON_KEYWORDS
Workflow (Optional)
This view contains information about the workflow step of the person. Before using this view it must be the case that workflow is enabled on Persons in the Pure backend.
Column name | Data type | Size | Mandatory | Note |
Sync type. For each field pick on of: 'Yes', 'No', 'Once' and 'Lock' |
---|---|---|---|---|---|
workflow | String | 255 | Yes |
The workflow step value. The possible values depends on whether the workflow is configured as 3-step or 4-step.
|
Updated at July 27, 2024