The IMS-E import application and filter


The IMS-E import application consists of a Windows service which does the actual import of data from a XML document to the Itslearning database, and an administration module which is used to change settings, check the status on import-jobs and start partial imports, as well as MySql database to keep import definitions and previously imported data.

While the service doesn't have user interface towards customers or 3rd parties, it can be useful for integrators to understand the basic concepts and workflow described herein.


The import service

Import application does the following in it's learning:

  • Creates user/hierarchy/membership if a new user/hierarchy/membership appear in the data basis that was not included in the previous import procedure.

  • Deletes a user/hierarchy/membership if a user/hierarchy/membership was available in the previous import but there is none in the data basis imported.

  • Updates user/hierarchy/membership if some of the information about user/hierarchy/membership has been changed in the data basis when compared to the previous import procedure.

User/hierarchy/membership is thus not updated every time from the data source but only when changes have been done.

Import stages

The import procedure has several stages. After each stage some tests are done, and if the tests fail, the import exits with status 'Failed':


In the DataFundation Stage the data is read from the XML-document to temporary tables in the import database, and the XML document is moved to a backup area. Possible duplicate data in the XML file are filtered and the data is indexed to make further processing faster.


The filter is supposed to be a mirror of key data from the itslearning database. The data that was read from the XML-document are compared to the data in the filter, to check which persons, groups and memberships are to be inserted, updated or deleted. It also checks that the total amount of changes is within the limits set in the administration module. If all tests pass, the changes are then inserted in the queue.
Note: The filter will NEVER be able to track manual changes made to itslearning. It only takes into account data imported via the import application.
At certain points in time, a customer can ask that the filter be emptied to resolve certain issues, or to prevent undesirable things to happen. When emptying the filter, it will not be possible to automatically delete objects already imported into itslearning unless the objects appear in an XML file imported after the filter was emptied.


The queue contains the data to be sent to the itslearning database as inserts, updates or deletes for person groups and memberships.

itsKernelFree Import

It is only in this stage the information in the Itslearning database is updated. Every item placed into queue is processed separately, and it's translated into specific entity in ITSL. For example insert group item is transform into insert hierarchy action.


The filter is updated in order to mirror the data in the itslearning database. Filter can be considered as change log containing imported items.