Member Role Import
This page describes how Member Role
data are imported via the Workflow Import Queue (a.k.a. "Enhanced Data Import"), which is accessible at Admin → Import Data.
For simple “how-to” scenarios, jump to the “Common Scenarios” section.
This is different than the legacy Member Profile Upload feature. See Member / Member Role Import (DRAFT) for a comparison.
Changes to Member Role handling were introduced in version 11.0.22; refer to the page history for this document for earlier versions of LearningBuilder.
Overview
The Member Role
import feature allows demographic and credential data to be created or modified via batch file upload.
This feature uses Data Import Steps to leverage the Workflow Engine so that Workflow Behaviors can be triggered in response to the file upload.
This supports numerous use cases:
Synchronizing LearningBuilder with 3rd party system of record
Ad-hoc data manipulation (e.g. “non-process-based” operations, such as adding new records)
Bulk processing of process-based Workflow operations (e.g. “mark all of these licenses as revoked and send notifications”)
Supported operations
Depending on the file format, this feature can perform the following operations:
Update existing
Member Roles
Add new
Member Roles
to existingMembers
Add new
Member
andMember Role
combinations
Limitations and constraints
Key concept: Member and Member Role identifier columns
Each row in an uploaded file can result in a different operation being taken, depending on its data:
Update an existing
Member Role
Add a new
Member Role
to an existingMember
Add a new
Member
, and then add a newMember Role
for them
Not all files are capable of performing each of those operations; it depends on which “identifier columns” are included in the file.
Identifier columns are prefixed with a colon (“:”) and are used to determine which pre-existing Member
and Member Role
are related to each row.
Process flow overview
This diagram provides a high-level overview of the process for determining the operation that will be performed for each data row.
See the following sections for more information on which columns are “Member Role identifiers” and which columns are “Member identifiers”.
Member Role identifiers
These columns are used to identify an existing Member Role
that should be updated, or the values that should be used when creating a new Member Role
.
Data files should use one of the following sets of columns:
Identifier Column | Purpose | Updates | Inserts new |
---|---|---|---|
| Updates existing records based on an internal ID. | Yes | No |
| Updates existing records based on the Unique Identifier and Role Name. | Yes | Yes |
Member identifiers
If no existing Member Role
can be updated, the system will attempt to create a new Member Role
.
To do that, it must figure out whether that new Member Role
should be associated with an existing Member
, or whether a new Member
must also be created.
Use one of the following Member Identifier schemes to support creation of new Member Roles
:
Priority1 | Identifier Column | Purpose | Can insert new |
---|---|---|---|
1 |
| Matches an existing | No |
2 |
| Matches a | No (But can be combined w/ |
3 |
| Identifies a | Yes |
Understanding how :MemberNumber
works
In LearningBuilder, the Unique Identifier
attribute is a Member Role Attribute, not a Member Attribute.
However, many programs choose to assign the same Unique Identifier
to every Credential held by the same person. In those programs, Unique Identifier
is a de-factor Member-level identifier.
Common configuration where | ||
---|---|---|
Licensee | Credential | Unique Identifier |
Joe Practitioner | Licensed Real Estate Broker | ABC-1234 |
Licensed Accountant | ABC-1234 |
Other programs assign a truly unique identifier to every Member Role
instance, so licensees with multiple credentials will also have multiple Unique Identifiers
associated with their account:
Possible configuration where | ||
---|---|---|
Licensee | Credential | Unique Identifier |
Joe Practitioner | Licensed Real Estate Broker | REAL-1234 |
Licensed Accountant | NUM-1234 |
The :MemberNumber
attribute supports this latter use case. It is a Member identifier field that matches an existing Member
that has any Role with a matching Unique Identifier
.
This allows a data file to add a new Member Role
to an existing Member
, referencing them by one of their other identifiers:
:MemberNumber
to add a new Role to an existing MemberImportant rule governing :UniqueId
, :MemberNumber
, and :Email
When a data file contains both :UniqueId
and :Email
, and a Member Role
matching :UniqueId
DOES exist but is owned by a Member
with a different email address, the existing Member Role will be updated UNLESS :Email
is in use by a completely different Member.
This supports the scenario in which multiple parties are uploading data for the same Member Role
, but are using inconsistent email address data. For instance, one party knows the Practitioner by their personal email and the other party knows them by their work email, which results in two different data files that use the same Unique Id but different emails:
In this case, to avoid creating duplicate Members
, the system will update the existing Member Role
(matching :UniqueId
) even if :Email
doesn’t match the current Member details.
Supported file formats
Typically, a file will include both Member Role identifier and Member identifier columns as described above, and the two sets can be combined as needed.
This section lists some common combinations of those identifiers.
Identifier columns | Notes / Purpose | Update | Insert | Insert | Supports multiple |
---|---|---|---|---|---|
| Updates existing | Yes | No | No | Yes |
| Updates existing This is useful when the people relating to your input will already exist, but may or may not have the desired
| Yes | Yes | No | Yes |
| Can perform any of the three possible operations, using Unique Identifier or Email to identify existing records. The identifiers are “OR’ed” together in this sequence: If an existing If an existing If NO existing
| Yes4 | Yes | Yes3 | Yes, if the |
| Can perform any of the three possible operations, using Primary Email Address to identify existing records. Similar to above, but only uses Email for locating an existing Member.
| Yes | Yes | Yes3 | Yes, if the |
Identifying the Data Import Step and/or Workflow Action
The Workflow Import Queue uses the Workflow Engine to manipulate data, so every row of an uploaded file must be associated with a specific Workflow Action on a specific Data Import Step. These elements can be specified in the file itself, or they can be omitted and the system will use the configuration to determine what to do.
To explicitly specify a specific action, use :WorkflowActionName
or :WorkflowActionId
Common scenarios
Scenario | Notes |
---|---|
I want to import demographic data for people that may or may not already exist, storing that data in a Member Role. I want to identify the people by their Email address. |
|
I want to import demographic data for people that may or may not already exist, storing that data in a Member Role. I want to identify the people by their Unique Identifier. | Same as above, except use This requires that a Unique Identifier can be used to uniquely identify a |
|
|