Skip to main content
Skip table of contents

Unique Identifier Overview

How to use unique identifiers

What are Unique Identifiers?

Unique identifiers are used in the Learning Suite to provide unique values to users and all objects. There are unique identifiers always generated by the Learning Suite and optional fields that can be migrated from external source systems. The identifiers are important as they can be used in various interfaces such as user provisioning, authentication, organisation structure imports, and many APIs.


User Related Unique Identifiers

Personal attributes are used to hold user related unique identifiers. There are a combination of Learning Suite generated and externally provided identifiers used for various purposes. Each will be described below:

Display Name

Database Name

Description

Person ID

PERSON_ID

Unique identifier for a user that is generated by the Learning Suite. This number is used by many REST API calls (GET, PUT, POST) to identify users. Most user lists, report extracts, and log files in the Learning Suite display this identifier.

Number

USER_ID

This personal attribute must be populated with a unique value for all users and registration rules normally reference the PERSON_ID value if USER_ID is empty. Often this personal attribute display name would be updates if being populated by an external source system and used within an authentication interface.

CSV ID

EXT_ID_CSV

This personal attribute is used for CSV file imports. The ID attribute would hold the unique identifier for users in the source system. When an import is performed a new user will be created in the Learning Suite if no user is found with the identifier and if a user is found with the matching identifier the record will be updated.

LDAP ID

EXT_ID_LDAP

This personal attribute is used for LDAP imports. The ID attribute would hold the unique identifier for users in the source system. When an import is performed a new user will be created in the Learning Suite if no user is found with the identifier, and if a user is found with the matching identifier the record will be updated.

External SCIM ID

EXT_ID_SCIM

This personal attribute is used for SCIM API account creation (POST). The ID attribute would hold the unique identifier for users in the source system. When an import is performed a new user will be created in the Learning Suite if no user is found with the matching identifier and if a user is found with the matching identifier the record will be updated. The SCIM API would normally populate this with the mapping valueid”. On creation the Learning Suite will return a PERSON_ID which would then be required for subsequent updates (PUT).

ERP ID

EXTERNAL_ID

This identifier was initially created for a now obsolete Universal API provisioning method. This personal attribute can be used to capture unique user IDs from external systems and be the identifier in interfaces.

Insurance broker-ID (VV-ID)

IDD_AGENT_ID

This identifier relates to the Insurance industry and allows a user to take their IDD-points with them from one employer to the next.

Login name

LOGIN

This identifier is used to access the Learning Suite with local authentication (Username/Password). This value can be mapped in user data interfaces or generated by the Learning Suite. LOGIN can be used with many batch imports as the identifier and user data interfaces such as SAML and OIDC.

E-mail

EMAIL

Email is not necessarily a unique identifier as multiple users can technically have the same email address. However, this personal attribute is often used as the identifier in OIDC and SAML interfaces.

Selection List Personal Attributes

Selection list personal attributes contain selection list tables that contain a Learning Suite generated ID and a Key for each value. The latter can be populated as required with manual entry or csv import of selection list table values. Each will be described below:

Name

Database Name

Description

Object ID

ID

LMS generated unique ID for a selection list value. The ID is generated using a counter based on order of creation. This ID is used in standard registration rules for setCommand rules.

Key

external_id

Alphanumeric value can be entered that does not contain a comma (,) which is the file delimiter; where the key could have a comma a tab delimited txt file will be required for upload. The key can be mapped with registration rules to select values known by source systems when importing users.

Cost Centres

Cost Centers are quite unique as the function has both a Personal attribute and a Meta tag. Values are created in a central Cost Centers function that automatically populates the Personal attribute and Meta tag selection list values. Each will be described below:

Name

Database Name

Description

Object ID

object_id

LMS generated unique ID for a selection list value.

Key*

external_id

Alphanumeric key can be entered and would likely match a unique identifier contained in an external system.

Object Related Unique Identifiers

All non-user related objects in the Learning Suite also have unique identifiers; for example, these objects include courses, learning paths, media, catalogues, groups, locations, job profiles, skills, certifications, badges, experience tracks, cost centres and resources.

Courses and Course Templates

The identifiers below have many uses including reporting or performing enrolments via API, advertising direct links to courses, and performing migrations of historical courses via CSV.

Name

Database Name

Description

Object ID

object_id

The Object ID is a Learning Suite generated fixed ID for an object that remains unchanged with versioning. This unique ID is generated for most objects to be used for identification in system log files and API related REST APIs.

Course ID / Component ID

component_id

The Component ID is a Learning Suite generated version specific object identifier. This ID is commonly used by REST APIs for performing actions such as enrolments or direct linking to courses. ID of the described learning components (= version of a learning content / object)

Course template

template_id

This is the Component ID of the course template from which a learning object originated. Refers to the component_id column in this table. This can be returned in REST API results or used in POST.

Identification code

identification_code

Learning Suite generated ID where the pattern can be configured. The pattern can be defined in the Identification code menu of the Configuration function and activated in Course types function in the Process complexity tab. This identification code is primarily for learner purposes and not interfacing.

Course type ID

course_type_id

Object ID of the course type (from the Object ID column or from the Description tab when the object is edited)

External Template ID

external_migration_id

Used for importing course templates via csv. The course import would then use this identifier to determine the course template that an imported course will be derived from. This is stored in the e_componenttype database table in the  external_migration_id column.

External Course ID

external_migration_id

This identifier is used for importing courses via csv. The same Id is also used in training history assignments where user enrolments and completions are recorded against imported courses. This is also stored in the e_component database table external_migration_id column.

External object ID

external_object_id

A unique ID that can be configured for course migrations. This identifier is used in training history migrations to assign learner completions.

External system ID

external_system_id

Identifier of the external system from which the course was migrated

Status

status

Status ID of the participant with regard to the component enrolment:
1 = Shopping basket
2 = Waiting for approval
3 = Approved
4 = Notified
5 = Refused
6 = Waiting
7 = Cancelled
8 = Registered
9 = Started
10 = Finished
11 = Passed
12 = Failed
13 = Deleted
14 = Not evaluated
15 = Unblocked
16 = Prebooked
17 = Individual learning plan
18 = Reserved on participant list
19 = Reserved on waiting list
20 = Successfully completed
21 = Not successfully completed

Learning Paths

The identifiers below have many uses including reporting or performing enrolments via API and advertising direct links to Learning paths.

Name

Database Name

Description

Object ID

object_id

The Object ID is a Learning Suite generated fixed ID for an object that remains unchanged with versioning. This ID is used by many object related REST APIs.

Component ID

component_id

The Component ID is a Learning Suite generated version specific object identifier. This ID is commonly used by REST APIs for performing actions such as enrolments or direct linking to courses. ID of the described learning components (= version of a learning content / object)

External ID

external_object_id

Identifier of the group in an external data source and populated with BU groups imports. Registration rules often perform group assignments with hashIdent mapping based on this value.

Identification code

identification_code

Learning Suite generated ID where the pattern can be configured. The pattern can be defined in the Configuration function Identification code menu and activated in Course types in the Process complexities tab. This identification code is primarily for learner purposes and not interfacing.

Status

status

Status ID of the participant with regard to the component enrolment:
1 = Shopping basket
2 = Waiting for approval
3 = Approved
4 = Notified
5 = Refused
6 = Waiting
7 = Cancelled
8 = Registered
9 = Started
10 = Finished
11 = Passed
12 = Failed
13 = Deleted
14 = Not evaluated
15 = Unblocked
16 = Prebooked
17 = Individual learning plan
18 = Reserved on participant list
19 = Reserved on waiting list
20 = Successfully completed
21 = Not successfully completed

Media

The identifiers below have many uses including reporting or performing completions via API and advertising direct links to Media.

Name

Database Name

Description

Object ID

object_id

The Object ID is a Learning Suite generated fixed ID for an object that remains unchanged with versioning. This ID is used by many object related REST APIs.

Component ID

component_id

The Component ID is a Learning Suite generated version specific object identifier. This ID is commonly used by REST APIs for performing actions such as enrolments or direct linking to media. ID of the described learning components (= version of a learning content / object)

Catalogues

This identifiers are mostly useful for headless LMS scenarios where REST API is used to replicate the catalogue structure between systems.

Name

Database Name

Description

ID

category_id

ID of the catalogue folder

External ID

external_object_id

Identifier of the group in an external data source and populated with BU groups imports. Registration rules often perform group assignments with hashIdent mapping based on this value.

External system ID

external_system_id

Identifier of the external system from which the catalogue is also held

N/A

parent_id

Parent catalogue; links to the category_id of this table; 0 is entered here for main catalogues.

N/A

parent_ids

Structure code with folder IDs which contains the path to the main catalog (parent ID:...parent ID:folder ID)

N/A

root_id

allocated main catalogue; links to the category_id of this table; the same value as in category_id is entered here for main catalogues

N/A

composing_type

Describes which type of content can be allocated to a catalogue (1 = Programmes, 2 = Course templates, 3 = Courses, 4 = Media, 5 = Tests, 6 = Feedback forms)

Groups

All groups receive a Learning Suite generated unique ID. System and Business Unit (BU) groups can additionally have an External ID when created by interface or import.

Name

Database Name

Description

ID

group_id

Unique ID for a group generated by the Learning Suite. This ID is used in registration rules to assign users to groups and to grant clearance on users to groups. The ID is also used for various REST API calls including filtering.

External ID

external_object_id

Identifier of the group in an external data source and populated with BU groups imports. Registration rules often perform group assignments with hashIdent mapping based on this value.

External System ID

external_system_id

Identifier of the external system from which the group was migrated

Locations

Locations are objects that can be assigned to Courses, Learning paths, Events and Resources. The ID is used by REST API in creation of objects that require a location to be added.

Name

Database Name

Description

ID

location_id

The Learning Suite generated ID of the location

External ID

external_object_id

Identifier of the location in an external system. Purely used for custom migrations.

External System ID

external_system_id

Identifier of the external system from which the location is also held. Purely used for custom migrations.

Skills (Competencies)

All Skills receive a Learning Suite generated unique ID. When creating a Skill it’s also possible to populate and External ID which is known by other systems. The skill ID is important for imports and API requests or updates.

Name

Database Name

Description

ID

skill_id

The ID is generated by the Learning Suite. There is a fixed, unchangeable ID for each skill. This ID can be used by REST API calls to request data or perform updates.

External ID

external_object_id

The External ID can be populated when creating Skills in the GUI or during creation via REST API. The External ID can be used with Skill achievement assignments via CSV and in REST API GET calls; the latter useful for updating external systems with skill data.

External System ID

external_system_id

Identifier of the external system from which the Skill is also held.

Skill structure

comp_structure_id

ID of the skill scale. Links to the column of the T_COMPETENCY-STRUCTURE table with the same name.

Job Profiles (Roles)

All Job profiles receive a Learning Suite generated unique ID. When creating a Job profile it’s also possible to populate and External ID which is known by other systems. The Job profile ID is important for assignments and API requests or updates. With Job profile creation via API the Template ID is required

Name

Database Name

Description

ID

role_id

The ID is generated by the Learning Suite and is a fixed ID for the Job profile. This ID can be used by REST API calls to request data or perform job profile assignments.

Template ID

template_id

The Template ID is the ID of the Job profile template that the Job profile was created from. This would be required if creating a Job profile by REST API.

External ID

external_object_id

The External ID can be populated creating Job profiles in the GUI or during creation via REST API. The value will also be included in REST API GET calls which is useful for updating external systems with job profile data.

External System ID

external_system_id

Identifier of the external system from which the Skill is also held.

Skill

skill_id

The Skill ID is part of the Job profile table as Skills can be assigned to Job profiles. This is commonly required if creating of updating Job profiles using REST API.

Certifications

Certifications are used to track progress towards achieving required training points or hours within a set time-frame. This ID can be used with REST API to GET existing certification data.

Name

Database Name

Description

ID

certification_id

Unique ID of the Certification as generated by the Learning Suite

The Object ID or ID field will be available to all objects in the Learning Suite including Clients, Reports, On-the-job tasks, Resources, Certificates, Dashboards, Panels, and Navigation points; the exception being System texts which have unique bundle names.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.