How Can We Help?
Project synchronisation (Views)Project synchronisation (Views)
VIEW CREATE STATEMENTS
Download Postgres project view create statements
Download Oracle project view create statements
Download Sql server project view create statements
Base data
PROJECT_DATA (Mandatory)
This view is used to list all the projects you want to synchronise into Pure. This means that one row should exist in this view pr project you want to have in Pure. For each project you have to specify an PROJECT_ID which will be the primary key for this project in the rest of the views. This means that this ID has to be unique for each project and cannot change over time. In the rest of the views, the PROJECT_ID will be used to relate content when using in a one-to-many relation.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project in your backend system. This ID will be the primary key for the particular project and can thus not change over time. It will furthermore be used to make the correct connection to related content. | |
PROJECT_TYPE |
String
|
1024 | Yes |
The type of project. Provide the last part of the uri (key) of the classification. See classification scheme in Pure: /dk/atira/pure/upmproject/upmprojecttypes |
|
TITLE | String(*) | 1024 | Yes | The title of the project | |
SHORT_TITLE | String(*) | 256 | No | The short title of the project | |
ACRONYM | String | 64 | No | The acronym for the project | |
START_DATE | Date | No | The date where the work based on this project has started. | ||
END_DATE | Date | No | The date where the work based on this project will end. The status of the project will be calculated based on this date (or the CURTAIL_DATE if that has been filled in), so when the END_DATE or CURTAIL_DATE is exceeded the status will automatically changed to closed. | ||
CURTAIL_DATE | Date | No | The date of when the project was curtailed. The project is curtailed if the date is set. | ||
CURTAIL_REASON | String | CLOB | No | The reason why the project has been curtailed. Note if this field is specified, you must also specify the CURTAIL_DATE | |
COLLABORATIVE_PROJECT | Boolean | Yes | Specify whether this is a collaborative project or not. If it is a collaborative project, the collaborators (external organisations) must be specified in the EXTERNAL_COLLABORATORS view | ||
MANAGED_BY_ORG_ID | String | 1024 | Yes | This field is used to specify which internal organisation is managing the project. The MANAGED_BY_ORG_ID must match either a Pure ID, classification defined ID, source ID or Pure UUID of an organisation already present in Pure. | |
MANAGED_IN_PURE | Boolean | No |
Indicates whether or not an project should be managed inside Pure. If set to TRUE the synchronisation will only import the project and not lock any fields/relations. In subsequent synchronisation runs, the synchronisation will not update the project, unless the MANAGED_IN_PURE state is changed to FALSE. If changed the project 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. |
||
VISIBILITY | String | 12 | No |
The visibility of the project. If you supply a value it must be one of the following: public, campus, restricted, confidential If you do not supply a value the visibility field will be set to public by default. |
|
WORKFLOW | String | 256 | No | Basic Workflow valid values: entryInProgress, forApproval, approved, validated |
(*) To handle multiple languages _EN or _XX must be added to the column name.
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select PROJECT_ID, count(PROJECT_ID) from PROJECT_DATA group by PROJECT_ID having count(PROJECT_ID) > 1 | Check for duplicate project ids | |
select * from PROJECT_DATA where PROJECT_ID is null or PROJECT_TYPE is null or TITLE is null or COLLABORATIVE_PROJECT is null or MANAGED_BY_ORG_ID is null | Check for missing mandatory fields | |
select * from PROJECT_DATA where VISIBILITY not in ('public', 'campus', 'restricted', 'confidential') | Check for invalid visibility | |
select PROJECT_ID from PROJECT_DATA where PROJECT_ID not in (select PROJECT_ID from INTERNAL_PROJECT_ORGANISATIONS) | Check if there exists projects without any internal organisations | |
select * from PROJECT_DATA where CURTAIL_REASON is not null and CURTAIL_DATE is null | Check for CURTAIL_REASON being specified without CURTAIL_DATE is specified | |
select * from PROJECT_DATA p where COLLABORATIVE_PROJECT = 1 and not exists (select * from EXTERNAL_PROJECT_COLLABORATORS epc where p.PROJECT_id = epc.PROJECT_id) | Check for missing external collaborators when collaborative project | EXTERNAL_PROJECT_COLLABORATORS is available |
select * from PROJECT_DATA p where COLLABORATIVE_PROJECT = 1 | Check whether there are projects marked as collaborative projects but there is no external collaborators | EXTERNAL_PROJECT_COLLABORATORS is NOT available |
INTERNAL_PARTICIPANTS (Mandatory)
This view is used to specify the internal participants on the project(i.e. staff from within your institution). One row must be provided pr participant on the project. It is mandatory to add at least one internal participant to each project.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the project participant to. | |
PERSON_ID | String | 1024 | Yes | The ID of the person to add as an participant. The PERSON_ID must match either a Pure ID, classification defined ID, source ID or Pure UUID of a person already present in Pure. | |
ORGANISATION_ID | String | 1024 | Yes | The ID of the organisation that should be added to this project in the content of the supplied participant. The ORGANISATION_ID must match either a Pure ID, classification defined ID, source ID or Pure UUID of an organisation already present in Pure. Multiple organisations can be added by separating the IDs with the | (pipe) character. | |
ROLE | String | 1024 | Yes |
The role of the participant. Provide the URI for one of the values in the classification scheme. See classification scheme in Pure: /dk/atira/pure/upmproject/roles/upmproject |
|
ACADEMIC_OWNERSHIP_PERCENTAGE | Double | No | The academic ownership of the project for this participant. If no value is provided the field will be set to "unspecified" in Pure, which differs from the value 0. Provided values should be between 0 and 1. | ||
PLANNED_RESEARCHER_COMMITMENT | Double | No | The planned researcher commitment of the project for this participant. If no value is provided the field will be set to "unspecified" in Pure, which differs from the value 0. Provided values should be between 0 and 1. | ||
ASSOCIATION_PERIOD_START_DATE | Date | No | The date when the project participant association to the project started. If no date is provided then the START_DATE from the PROJECT_DATA view will be used. | ||
ASSOCIATION_PERIOD_END_DATE | Date | No | The date where the project participant association to the project ended. If no date is provided then the END_DATE from the PROJECT_DATA view will be used. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from INTERNAL_PARTICIPANTS where PROJECT_ID is null or PERSON_ID is null or ORGANISATION_ID is null or ROLE is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from INTERNAL_PARTICIPANTS ip where not exists (select * from PROJECT_DATA p where ip.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select * from INTERNAL_PARTICIPANTS where ACADEMIC_OWNERSHIP_PERCENTAGE < 0 or ACADEMIC_OWNERSHIP_PERCENTAGE > 1 | Check for invalid academic ownership percentage |
EXTERNAL_PARTICIPANTS (Optional)
This view is used to specify the external participants on the project(i.e. project participants that do not work for your institution. If you never provide information on external project participants (or do not have them), you should not implement this view.
For each external project participant you have on a project one row should be in the view.
Depending on whether you synchronise external organisations in a separate synchronisation job or not, the view functions a bit differently. Please see the documentation for external applicants on the Application views (EXTERNAL_APPLICANTS) for details on this.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the participant to. | |
FIRSTNAME | String | 1024 | Yes | First name of the participant. | |
LASTNAME | String | 1024 | Yes | Last name of the participant. | |
COUNTRY | Classification (Locked set of values) | 1024 | No | The two digit country code from the ISO-3166 standard. E.g "gb" for United Kingdom, "us" for United States, "de" for Germany. The value is the last part of the countries classification in Pure. | |
ROLE | String | 1024 | Yes |
The role of the project participant. Provide the URI for one of the values in the classification scheme. See classification scheme in Pure: /dk/atira/pure/upmproject/roles/upmproject |
|
EXTERNAL_ORG_NAME | String | 1024 | No | Use this field to specify the name of the external organisation the external project participant is related to. When the synchronisation runs a lookup in exiting external organisations will be made to try to find one with an exact match on the name. If such an external organisation can be found, this one will be used and thus related to the external project participant. If no exact match can be found a new external organisation will be made and related to the external project participant. | |
EXTERNAL_ORG_TYPE | String | 1024 |
When specifying the EXTERNAL_ORG_NAME you can also specify a type for the external organisation. Provide the URI for one of the values in the classification scheme. This type is used for matching the external organisation, unless this type of behavior is disabled in the synchronisation. The type "unknown" organisation type is ignored during matching, to provide the best possible matches. In the cases where a new external organisation is created in Pure as part of the synchronisation, this type will be applied to the created external organisation. In the cases where an existing external organisation is used (e.g. a match was found), this field is disregarded and the type is thus not changed. See classification scheme in Pure: /dk/atira/pure/ueoexternalorganisation/ueoexternalorganisationtypes |
||
EXTERNAL_ORG_ID | String | 1024 | No | Use this field to specify the ID of the external organisation the external applicant is related to.The EXTERNAL_ORG_ID must match either a Pure ID, source ID or Pure UUID of an external organisation already present in Pure. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from EXTERNAL_PARTICIPANTS where PROJECT_ID is null or FIRSTNAME is null or LASTNAME is null or ROLE is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from EXTERNAL_PARTICIPANTS ep where not exists (select * from PROJECT_DATA p where ep.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select * from EXTERNAL_PARTICIPANTS where EXTERNAL_ORG_NAME is not null and EXTERNAL_ORG_ID is not null; | Check if both EXTERNAL_ORG_ID and EXTERNAL_ORG_NAME has been specified |
INT_PROJECT_CO_MANAGING_ORG (Optional)
You can insert co-managing-organisations, but remember you can not to insert managedByOrganisation as a co-managing-organisation.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the participant organisation to | |
ORGANISATION_ID | String | 1024 | Yes |
The ID of the co-managing organisation that should be added to this project. The co-managing organisation, can not be the managedByOrganisation. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from INT_PROJECT_CO_MANAGING_ORG where PROJECT_ID is null or ORGANISATION_ID is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from INT_PROJECT_CO_MANAGING_ORG iao where not exists (select * from PROJECT_DATA p where iao.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects |
INTERNAL_PROJECT_ORGANISATIONS (Optional)
Besides the internal organisations added though the INTERNAL_PARTICIPANTS view it is possible to add additional internal organisations. These will be added to the project on a general level, i.e., they will not be related though an project participant.
You should only use this view if you have additional internal organisations you want to add to your projects, and you should only put those organisation that has not already been related though an internal applicant in this view. For these reasons the view is therefore also optional.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the participant organisation to | |
ORGANISATION_ID | String | 1024 | Yes | The ID of the organisation that should be added to this project. The organisation will be added to the project on a general level, i.e., not though a specific project participant. The ORGANISATION_ID must match either a Pure ID, classification defined ID, source ID or Pure UUID of an organisation already present in Pure. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from INTERNAL_PROJECT_ORGANISATIONS where PROJECT_ID is null or ORGANISATION_ID is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from INTERNAL_PROJECT_ORGANISATIONS iao where not exists (select * from PROJECT_DATA p where iao.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects |
EXTERNAL_PROJECT_ORGANISATIONS (Optional)
Besides the external organisations added though the EXTERNAL_PARTICIPANT view it is possible to add additional external organisations. These will be added to the project on a general level, i.e., they will not be related though an external participant.
You should only use this view if you have additional external organisations you want to add to your projects, and you should only put those organisation that has not already been related though an external participant in this view. For these reasons the view is therefore also optional.
Depending on whether you synchronise external organisations in a separate synchronisation job or not, the view functions a bit differently. Please see the documentation for external applicants on the Application views (EXTERNAL_APPLICANT_ORGANISATION) for details on this.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the participants external organisation to | |
EXTERNAL_ORG_NAME | String | 1024 | No | Use this field to specify the name of the external organisation. | |
EXTERNAL_ORG_TYPE | String | 1024 |
When specifying the EXTERNAL_ORG_NAME you can also specify a type for the external organisation. Provide the URI for one of the values in the classification scheme. This type is used for matching the external organisation, unless this type of behavior is disabled in the synchronisation. The type "unknown" organisation type is ignored during matching, to provide the best possible matches. See classification scheme in Pure: /dk/atira/pure/ueoexternalorganisation/ueoexternalorganisationtypes |
||
EXTERNAL_ORG_ID | String | 1024 | No | Use this field to specify the ID of the external organisation the external applicant is related to.The EXTERNAL_ORG_ID must match either a Pure ID, source ID or Pure UUID of an external organisation already present in Pure. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select distinct PROJECT_ID from EXTERNAL_PROJECT_ORGANISATIONS epo where not exists (select * from PROJECT_DATA p where epo.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select * from EXTERNAL_PROJECT_ORGANISATIONS where (EXTERNAL_ORG_NAME is not null and EXTERNAL_ORG_ID is not null) or (EXTERNAL_ORG_NAME is null and EXTERNAL_ORG_ID is null) | Check that either external_org_name or external_org_id is specified |
EXTERNAL_PROJECT_COLLABORATORS (Optional)
If your project is a collaborative project you have to specify which external organisations you are collaborating with on the project. Your own internal organisation will be added automatically based on configuration setting in Pure.
Depending on whether you synchronise external organisations in a separate synchronisation job or not, the view functions a bit differently. Please see the documentation for external applicants on the Application views (EXTERNAL_APPLICATION_COLLABORATORS) for details on this.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the collaborator to. | |
EXTERNAL_ORG_NAME | String | 1024 | No | Use this field to specify the name of the external organisation. | |
EXTERNAL_ORG_TYPE | String | 1024 |
When specifying the EXTERNAL_ORG_NAME you can also specify a type for the external organisation. Provide the URI for one of the values in the classification scheme. This type is used for matching the external organisation, unless this type of behavior is disabled in the synchronisation. The type "unknown" organisation type is ignored during matching, to provide the best possible matches. See classification scheme in Pure: /dk/atira/pure/ueoexternalorganisation/ueoexternalorganisationtypes |
||
EXTERNAL_ORG_ID | String | 1024 | No | Use this field to specify the ID of the external organisation the external applicant is related to.The EXTERNAL_ORG_ID must match either a Pure ID, source ID or Pure UUID of an external organisation already present in Pure. | |
LEAD_COLLABORATOR | Boolean | No | Specifies the lead collaborator. Only one lead collaborator is allowed per project. If no external collaborators are marked as lead, then the internal organisation will be lead. | ||
COLLABORATOR_TYPE | Classification value | 1024 | No |
The type of collaborator, allowed options are:
|
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select distinct PROJECT_ID from EXTERNAL_PROJECT_COLLABORATORS epc where not exists (select * from PROJECT_DATA p where epc.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select * from EXTERNAL_PROJECT_COLLABORATORS where (EXTERNAL_ORG_NAME is not null and EXTERNAL_ORG_ID is not null) or (EXTERNAL_ORG_NAME is null and EXTERNAL_ORG_ID is null) | Check that either external_org_name or external_org_id is specified |
Additional data
INT_PARTICIPANTS_COMMITMENT (Optional)
This view is used to specify the internal participants researcher commitment on the project. One row must be provided pr participant on the project pr month.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the project participant to. | |
PERSON_ID | String | 1024 | Yes | The ID of the person to add as an participant. The PERSON_ID must match one of the PERSON_ID rows provided in the person/staff synchronisation. | |
YEAR | Integer | Yes | The year for the researcher commitment. Eg. 2012. | ||
MONTH | Integer | Yes | The month for the researcher commitment Eg. 7 for July. | ||
PLANNED_COMMITMENT_PERCENTAGE | Double | No | The planned researcher commitment of the project for this participant for this month. If no value is provided the field will be set to "unspecified" in Pure, which differs from the value 0. Provided values should be between 0 and 1. | ||
ACTUAL_COMMITMENT_PERCENTAGE | Double | No | The actual researcher commitment of the project for this participant for this month. If no value is provided the field will be set to "unspecified" in Pure, which differs from the value 0. Provided values should be between 0 and 1. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from INT_PARTICIPANTS_COMMITMENT where PROJECT_id is null or PERSON_ID is null YEAR is null or MONTH is null | Check for missing mandatory fields | |
select * from INT_PARTICIPANTS_COMMITMENT c where not exists (select * from INTERNAL_PARTICIPANTS p where p.PROJECT_ID = c.PROJECT_ID and p.PERSON_ID = c.PERSON_ID) | Check for reference to non existing internal participants |
PROJECT_PROJECT_RELATION (Optional)
This view is used to specify the relation between different projects. The relation type defines how the project is related to the target project.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project that you want to relate to another project. | |
TARGET_PROJECT_ID | String | 1024 | Yes | The ID of the project that you want to be related to the project with the PROJECT_ID. | |
RELATION_TYPE | Classification value | 1024 | Yes |
The type of the relation. Provide the URI for one of the values in the classification scheme.
When relating projects you should only provide the relation once, ie. from Project A to Project B - and not also for Project B to Project A. The relation type is automatically determined when viewing the opposite relation. Fx if Project A to Project B has type predecessor, then when viewing the opposite relation, Project B to Project A, it is automatically determined to be successor. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from PROJECT_PROJECT_RELATION where PROJECT_ID is null or TARGET_PROJECT_ID is null or PROJECT_ID = TARGET_PROJECT_ID or RELATION_TYPE is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from PROJECT_PROJECT_RELATION ppr where not exists (select * from PROJECT_DATA p where ppr.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select distinct TARGET_PROJECT_ID from PROJECT_PROJECT_RELATION ppr where not exists (select * from PROJECT_DATA p where ppr.TARGET_PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing target projects | |
select * from PROJECT_PROJECT_RELATION where RELATION_TYPE not in ('predecessor', 'successor', 'originator', 'derivedfrom', 'partof') | Check for invalid relation type |
PROJECT_AWARD_RELATION (Optional)
This view is used to specify the relation between projects and awards.
Please note that one award can be linked to only one project, but one project can be linked to more than one award.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project that you want to relate to an award. | |
AWARD_ID | String | 1024 | Yes | The ID of the award that you want to be related to the project with the PROJECT_ID. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select distinct PROJECT_ID from PROJECT_AWARD_RELATION par where not exists (select * from PROJECT_DATA p where par.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select distinct AWARD_ID from PROJECT_AWARD_RELATION par where not exists (select * from AWARD_DATA a where par.AWARD_ID = a.AWARD_ID) | Check for reference to non existing awards | |
select AWARD_ID, count(PROJECT_ID) as check from PROJECT_AWARD_RELATION group by AWARD_ID having check > 1 | Checks for multiple links of one award to more than one project, zero rows should be returned |
PROJECT_APPLICATION_RELATION (Optional)
This view is used to specify the relation between different projects. The relation type defines how the project is related to the target project.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project that you want to relate to an application. | |
APPLICATION_ID | String | 1024 | Yes | The ID of the application that you want to be related to the project with the PROJECT_ID. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select distinct PROJECT_ID from PROJECT_APPLICATION_RELATION par where not exists (select * from PROJECT_DATA p where par.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects | |
select distinct APPLICATION_ID from PROJECT_APPLICATION_RELATION par where not exists (select * from APPLICATION_DATA a where par.APPLICATION_ID = a.APPLICATION_ID) | Check for reference to non existing applications |
PROJECT_ACTIVITY_TYPE (Optional)
This view is used for classifying your project with one or more Nature of activity types. The Nature of activity type is a classification scheme so you can select your own value to chose from, typical examples could be "Research", "Clinical trial" etc. Since you are allowed to select more than one Nature of activity type for each project you have to supply this data in a separate view, mapping the PROJECT_ID to the classification scheme value URI.
If you do not want to synchronise any Nature of activity types to your projects at all you should not implement this view
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the Nature of activity type to. | |
ACTIVITY_TYPE | String | 1024 | Yes |
Nature of activity type. Provide the classification key (e.g. "research") for one of the values in the classification scheme. See classification scheme in Pure: /dk/atira/pure/upm/nature |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from PROJECT_ACTIVITY_TYPE where PROJECT_ID is null or ACTIVITY_TYPE is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from PROJECT_ACTIVITY_TYPE pat where not exists (select * from PROJECT_DATA p where pat.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects |
PROJECT_DESCRIPTIONS (Optional)
A project can have a number of descriptions. How many should be available in your system is controlled by a classification scheme. Adding more types of descriptions to your project is thus just a matter of adding more values to this classification scheme. Please note that all projects will have all the description fields though.
Since you can have multiple descriptions on a project, you have to supply these via a separate view. In this you relate the PROJECT_ID, description classification scheme value URI and the description itself.
If you do not want to synchronise any descriptions into your project you should not implement this view.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the description to | |
DESCRIPTION_TYPE | String | 1024 | Yes |
The type of description to add. Provide the URI for one of the values in the classification scheme. See classification scheme in Pure: /dk/atira/pure/upmproject/descriptions |
|
DESCRIPTION_TEXT | String(*) | CLOB | Yes | The actual description text |
(*) To handle multiple languages _EN or _XX must be added to the column name.
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from PROJECT_DESCRIPTIONS where PROJECT_ID is null or DESCRIPTION_TYPE is null or DESCRIPTION_TEXT is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from PROJECT_DESCRIPTIONS pd where not exists (select * from PROJECT_DATA p where pd.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects |
PROJECT_IDS (Optional)
A project can be known by multiple ID's in different systems. This could be your award management system, costing system, the funders system (funder reference code) or similar. For each project you have to supply an PROJECT_ID which will be this projects primary ID. Besides this you have the possibility to add any other ID's you would like to have stored against the project.
Which other ID's you can add to an project is controlled via a classification scheme, so you can tailor this to your specific needs.
Since you can have multiple ID's against a project, you have to supply these additional ones in a separate view. In this you relate the PROJECT_ID, ID classification scheme value URI and the actual ID.
If you do not want to synchronised more ID's than the PROJECT_ID you should not implement this view.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The project to add the ID to | |
ID_SOURCE | String | 1024 | Yes |
The source where this ID is related to. Provide the URI for one of the values in the classification scheme See classification scheme in Pure: /dk/atira/pure/upm/classifiedsource |
|
ID | String | 64 | Yes | The actual ID value |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from PROJECT_IDS where PROJECT_ID is null or ID_SOURCE is null or ID is null | Check for missing mandatory fields | |
select distinct PROJECT_ID from PROJECT_IDS pi where not exists (select * from PROJECT_DATA p where pi.PROJECT_ID = p.PROJECT_ID) | Check for reference to non existing projects |
RESEARCHOUTPUT_RELATION (Optional)
This view is used to specify the relation between different projects. The relation type defines how the project is related to the target project.
Column name | Data type | Size | Mandatory | Note | Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project that you want to relate to an existing research output | |
RESEARCHOUTPUT_ID | String | 1024 | Yes | Either the source ID of the researchoutput or the Pure Content ID that you want to be related to the project. |
SQL used to check the quality of the views | Description/Comment | Applicable if |
---|---|---|
select * from RESEARCHOUTPUT_RELATION where PROJECT_ID is null or RESEARCHOUTPUT_ID is null | Check for missing mandatory fields |
PROJECT_KEYWORDS (Optional)
This view contains the information about project 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' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID for the project to add this keyword. The PROJECT_ID must exist in the PROJECT_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 project which has the specified logical name | |
TYPE | Classification | 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) |
PROJECT_LINKS (Optional)
This view contains the information about project links.
Column name |
Data type |
Size |
Mandatory |
Note |
Sync type. For each field pick on of: 'Yes', 'No', 'Once' (mandatory fields cannot be 'No') |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project the link will be added to. The PROJECT_ID must exist in the PROJECT_DATA view above. | |
LINK_ID | String | 1024 | Yes | The ID of the link added, if links is not available in your source system, use row index | |
LINK_URL | String | 1024 | Yes | The Uniform Resource Locator (URL) | |
LINK_TYPE | Classification | 255 | No | The type of URL provided, this is an optional structured classifier. You must provide the last part of the URI (the classification key) of the classification you want to use. This classification has to exists in the list of possible link types for projects in Pure |
|
LINK_DESCRIPTION | String(*) | 1024 | No |
A description for the link. Descriptions has to be added for all supported submission locales in your Pure system. LINK_DESCRIPTION_EN If locales are specified LINK_DESCRIPTION must not be present in your view without a language suffix. |
ACTIVITY_RELATION (Optional)
This view is used to specify the relation between projects and activities.
Column name |
Data type |
Size |
Mandatory |
Note |
Sync type. |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The ID of the project that you want to relate to an existing activity | |
ACTIVITY_ID | String | 1024 | Yes | Either the source ID of the activity that you want to be related to the project. |
SQL used to check the quality of the views |
Description/Comment |
Applicable if |
---|---|---|
select * from ACTIVITY_RELATION where PROJECT_ID is null or ACTIVITY_ID is null | Check for missing mandatory fields |
PROJECT_DOCUMENT - Available from Pure 5.5.x
Column name | Data type | Size | Mandatory | Note |
Sync type. For each field pick on of: 'Yes', 'No', 'Once' |
---|---|---|---|---|---|
PROJECT_ID | String | 1024 | Yes | The unique value for the thesis | |
DOCUMENT_ID | String | 1024 | Yes | The unique value for the student thesis document relation | |
TYPE | Classification | 1024 | Yes | Value from classification scheme /dk/atira/pure/core/document/types | |
VALUE | String/Blob | 1024 | Yes | Where to fetch the document from for example an URL. Use Blob if BYTE protocol is used | |
PROTOCOL | String | 1024 | 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 | The document filename | |
MIME_TYPE | String | 1024 | No | The document mimetype | |
FILE_TITLE | String | 1024 | No | The document title | |
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. |
Updated at July 27, 2024