Hierarchies
Hierarchies
Hierarchies are groups of users, and are structured like a tree. Hierarchies can be created both in Itslearning through the UI as through IMS-ES, but Hierarchies created trhough the UI cannot be changed in IMS-ES. This is because these Hierarchies do not have a SyncId, and this cannot be assigned later on. The only exception to this is the main organization, as it needs a SyncId as a parent Hierarchy.
Hierarchies have the following properties:
Property | Description | Requirements |
---|---|---|
SyncId | Unique identifier for this Hierarchy. (also known as Synchronization Identifier) | Required, max length is 255. |
Title | The Title of the Hierarchy, this is what will be shown in Itslearning. | Required, max length is 64. |
Description | A description of the Hierarchy, this property is not really used in Itslearning. | |
ParentHierarchyId | The SyncId of the parent Hierarchy, the Hierarchy one level above. | Required. |
GroupType | Type of the Hierarchy, can only be read. (see below) | |
VisibleInSearch | True/False if the Hierarchy will be visible in searches, for example when selecting users to send an email to. | |
AttachedCourse | The Course that is attached to this Hierarchy, or null if none. | |
LegalId | An external identifier (LegalID) of an organisation. Can be sets only for hierarchies with the type 'School' or 'Site'. | Max length is 50. |
Group Types
With the introduction of CourseGroups in IMS-ES, all IMS-ES groups have a GroupType. This type can be the following:
- Site (the main organisation, cannot be changed)
- School (also known as organisation)
- Hierarchy
- Course
- CourseGroup
In the IMS-ES template CourseGroups have their own objects, and A Course is always linked to a Hierarchy object (which will therefore have the Course group type). These Group types cannot be set when a Hierarchy is already created. When creating a Hierarchy, you have the option to specify that the Hierarchy is a school, see below. Otherwise the Hierarchy will be of type Hierarchy. When you add a Course to a Hierarchy, the type will become Course.
Creating a Hierarchy:
As with creating a user, when you are creating a new Hierarchy the SyncId must always be given. The other properties can be set later on, or when defining the object:
var newHierarchy =
new
Hierarchy(“syncId”)
{
Title = “Title”,
Description = “Description”,
etc.
};
If the Hierarchy needs to be defined as a School (an organisation) the following constructor can be used:
var newHierarchy =
new
Hierarchy(“syncId”,
true
)
{
Title = “Title”,
Description = “Description”,
LegalId =
"legal_id"
,
etc.
};
Functions:
In the IMS-ES Template the following functions are connected to a Hierarchy:
- CreateHierarchy
- CreateHierarchies
- ReadHierarchy
- ReadHierarchies
- ReadHierarchiesFromUser
- UpdateHierarchy
- UpdateHierarchies
- ReplaceHierarchy
- ReplaceHierarchies
- ChangeHierarchyIdentifier
- ChangeHierarchyIdentifiers
- DeleteHierarchy
- DeleteHierarchies