How Can We Help?
User XMLUser XML
Overview
This page details the User content type. On this page you will find different representations of the data elements contained within this type.
Below is the xsd for the User content type that defines the import xml format. Also provided is mapping tables generated based on this XSD as well as an example xml that shows how the fields can be populated.
This is logical broken down into the different elements to help you gain a better understanding of the User content type and how to create, read and update these records using the mechanisms provided in Pure.
Note: for the mapping tables all attributes and elements are listed, along with descriptions of the purposes of the field and any data requirements. Attribute are prefaced with an "@" to differentiate from elements, but as shown in the examples this isn't used when generating the xml.
Some elements offer options of which elements to include (such as whether to provide the ID of a person or organisation or name for lookup). These are denoted by reference to "Option Groups" where numbers are used to indicate where multiple elements are part of the same option. See example xmls for demonstrations of how to use these elements.
The User content type is used to grant access to login and interact with Pure. Note: This xml file only creates users, it doesn't assign any roles to them so for these users to have access to Pure they either must have have roles manually added or be related to a person, via the Person xml synchronisation. This will give them Personal User access, which allows them to create, view and edit content related to themselves. This is the default access that should be setup for academic users. Note that the User xml must be loaded first so the users can be referenced by the Person synchronisation.
Below are a series of attachments for your reference:
- Simple Example XML - This shows only the mandatory fields that need to be populated
- Advanced Example XML - This shows all fields that can be used. Snippets of this file are shown with their related elements below.
- XSD (Xml Schema Definition) - This is a definition of what structure the XML must follow. This page has been generated based on the contents of the xsd file, and snippets of the definition are shown with their relevant element below
- Editor Example PNG - This image shows the result of loading the advanced example xml into Pure, to allow for easy reference of which fields in Pure point to which elements in the XML. Note that the way the data is presented within your Pure instance may be different due to different configuration
- Pure API Example Response - This shows an example response of retrieving the record generated via this xml via the Pure API. Note as the Pure API allows for creation of records, this format could also be used to create a new record with these details, but some fields would be ignored in that case (such as audit fields like created/modified by and internal Pure identifiers like UUID and Pure ID which wouldn't exist yet). UUIDs for related content (such as organisational units) would need to be updated as well.
users
A list of user elements of type user
Root element of the xml document.
XML Example
<users xmlns="v1.user-sync.pure.atira.dk" xmlns:cmns="v3.commons.pure.atira.dk">
<user id="user1">
<userName>JohnDoe</userName>
<email>John@Doe.com</email>
<name>
<cmns:firstname>John</cmns:firstname>
<cmns:lastname>Doe</cmns:lastname>
</name>
</user>
<user id="user2">
<userName>JaneDoe</userName>
<email>Jane@Doe.com</email>
<name>
<cmns:firstname>Jane</cmns:firstname>
<cmns:lastname>Doe</cmns:lastname>
</name>
</user>
</users>
XSD Definition
<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="users">
<xs:annotation>
<xs:documentation>Root element of the xml document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="user" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="resumptionToken" type="xs:string">
<xs:annotation>
<xs:documentation>
To enable resumption tokens, add an URL to the "XML source data location" in the job configuration with "{resumptionToken}" as a placeholder, for instance "https://example.org/data?resumptionToken={resumptionToken}".
The endpoint must handle the resumptionToken in the following manner:
If an empty resumptionToken is sent, the endpoint must return all data. If a non-empty resumptionToken is sent, the endpoint must return all data that has changed since the time the resumptionToken was sent.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
user
This xml element is used for users you want to synchronise into Pure. This means that one entry in the xml has to exist per user you want to create in Pure.
XML Example
<user xmlns="v1.user-sync.pure.atira.dk"
xmlns:cmns="v3.commons.pure.atira.dk"
id="user1">
<userName>JohnDoe</userName>
<email>John@Doe.com</email>
<name>
<cmns:firstname>John</cmns:firstname>
<cmns:lastname>Doe</cmns:lastname>
</name>
</user>
XSD Definition
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="userType">
<xs:annotation>
<xs:documentation>
This xml element is used for users you want to synchronise into Pure. This means that one entry in the xml has to exist per user you want to create in Pure.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="userName" type="commons:string_256">
<xs:annotation>
<xs:documentation>
The username of the user. If you are using the default Pure login this is what they will enter to login, or if you are using SSO then this should be mapped to the response from your SSO server
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="email" type="commons:string_256">
<xs:annotation>
<xs:documentation>
Email address of the user. Emails will be sent to this address for any notification from Pure
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="name" type="commons:name" minOccurs="0">
<xs:annotation>
<xs:documentation>
The first and last name of the user
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute type="commons:string_400" name="id">
<xs:annotation>
<xs:documentation>
Unique identifier for the user. This should be an id from a source system to allow you to identify the user. Note: It can be different from the username but also could be the same
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
XML Attribute/Element |
Description |
Type |
Mandatory |
---|---|---|---|
@id |
Unique identifier for the user. This should be an id from a source system to allow you to identify the user. Note: It can be different from the username but also could be the same |
Yes |
|
userName |
The username of the user. If you are using the default Pure login this is what they will enter to login, or if you are using SSO then this should be mapped to the response from your SSO server |
Yes |
|
Email address of the user. Emails will be sent to this address for any notification from Pure |
Yes |
||
name |
The first and last name of the user |
No |
Updated at July 27, 2024