Appboard/2.4/admin/provisioning/batch loading
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, 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.
It's also possible, as a custom solution, to create a web interface using Java Server Pages (JSP) on the AppBoard server. For an example of how to do this also refer to the link above.
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,N]
<?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
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.
- 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).
- Creating a load list:
- This is a simple text file with one line per XML file to be loaded.
- 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
- 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
- Triggering a load:
- Either restart the AppBoard server or
- Via the administration interface and manually triggering an XML Import:
- Log into AppBoard as an administrator
- switch to the enPortal interface.
- Browse to Advanced -> Utilities -> XMLImport.
- 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.