Batch Loading via XML

< appboard | 2.4 | admin | provisioning

Page Contents

1. Overview

Rather than managing users through the AppBoard administration interface, or via LDAP-based authentication integration, it's also possible to batch load domains, users, roles, and role assignment via XML files.

This document covers the XML format and process to load the file. For a general overview and links to manage users via the AppBoard administration interface, refer to the main Provisioning documentation.


Using batch loading via XML files is considered a customization of AppBoard and not directly supported under the standard product maintenance contract. It is recommended this type of solution be implemented as part of a consulting engagement to ensure that it is configured and implemented correctly.

2. XML Format

The XML file format is defined by the AccountDefinitions document type definition (DTD). This can be found at [INSTALL_HOME]/server/webapps/enportal/WEB-INF/xmlroot/server/dtds. Refer to this document for a complete reference, as below is a simple example:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE AccountDefinitions SYSTEM "../dtds/AccountDefinitions.dtd">
<AccountDefinitions>
	<Role name="testing"/>
        <Role name="training"/>
 
	<Domain name="EdgeFairfax">
		<User userID="jsmith">
			<RoleLink roleID="/testing"/>
			<RoleLink roleID="/training"/>
		</User>
		<User userID="emustermann">
			<RoleLink roleID="/training"/>
		</User>
	</Domain>
 
	<Domain name="EdgeAustralia">
		<User userID="jbloggs">
			<RoleLink roleID="/testing"/>
		</User>
	</Domain>
</AccountDefinitions>


When loaded, the above example will:

  • create 2 roles: testing, and training
  • create 2 domains:
    • EdgeFairfax with users jsmith and emustermann
    • EdgeAustralia with user jbloggs
  • assign roles to those users:
    • jsmith: testing and training
    • emustermann: training
    • jbloggs: testing

3. Loading the XML

The AppBoard server must be told to process the XML file. This is done by creating a list of files to process and either restarting the server or using the administration interface to trigger a load.

  1. Create an XML file with the appropriate user, domain, and role definitions as outlined above. This file needs to be placed onto the AppBoard server into the following directory: [INSTALL_HOME]/server/webapps/enportal/WEB-INF/xmlroot/server/provisioning/yourfile.xml (yourfile.xml can be anything as long as it ends with .xml).
  2. Creating a load list:
    1. This is a simple text file with one line per XML file to be loaded.
    2. The file path is relative to the server xmlroot, so for the example above it should contain a single line with the following: provisioning/yourfile.xml
    3. Save this file as load_provisoning.txt and place onto the AppBoard server into the following directory: [INSTALL_HOME]/server/webapps/enportal/WEB-INF/xmlroot/server
  3. Triggering a load:
    • Either restart the AppBoard server or
    • Via the administration interface and manually triggering an XML Import:
      1. Log into AppBoard as an administrator
      2. switch to the enPortal interface.
      3. Browse to Advanced -> Utilities -> XMLImport.
      4. Click the Start button.

After a successful load the changes should be visible in the administration interface for users, domains, and roles. The load_provisioning.txt file on the AppBoard server will be renamed so that this operation is not performed again on restart.

Batch loading via XML is an additive operation. i.e. it can only be used to add users, domains, roles, and role assignments, not remove them.