Appboard/2.4/admin/provisioning/batch loading: Difference between revisions

imported>Jason.nicholls
No edit summary
imported>Jason.nicholls
No edit summary
Line 1: Line 1:
{{DISPLAYTITLE:Batch Loading Users}}
{{DISPLAYTITLE:Batch Loading via XML}}
[[Category:AppBoard 2.4]]
[[Category:AppBoard 2.4]]
== Overview ==
== Overview ==
The AppBoard/enPortal administration user interface (UI) is a robust set of screens and menus that assist the administrator with configuring Users, Domains, Roles, and content permissions in the system.  However, in cases with a high volume of Users, a tool may be desired that will enable the administrator to process batch updates to the system.


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 outlines a method of creating an AppBoard/enPortal customization to allow an administrator to implement some elements of [[Provisioning_Basics|User Provisioning]] outside of the standard application UI.
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 [[appboard/2.4/admin/provisioning|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.


== Batch Processing of Provisioning Updates ==
== XML Format ==


There are several potential options for an administrator to perform batch updates to system provisioning:
The XML file format is defined by the AccountDefinitions document type definition (DTD). This can be found at <tt>[INSTALL_HOME]/server/webapps/enportal/WEB-INF/xmlroot/server/dtds</tt>. Refer to this document for the complete reference as what is shown below is just an example.


# <b>Custom JSP</b> - Installing a custom JSP file that enables URL commands that can be used to apply provisioning. This is similar to a "Command Line" type of solution (with the application URL used as the "command line"). More information on this approach is available under [[Direct_Provisioning|Direct Provisioning By Custom JSP]].
<code>[xml,N]
# <b>XML Load</b> - This method involves creating an XML file detailing the updates to be made in the system, and then loading the file.  Because of the effort required in formatting the XML file, this is typically not a preferred method.  The XML Load solution is the option detailed in this document. 
<?xml version="1.0" encoding="UTF-8"?>
# <b>API Access Interface</b> - A tool and interface can be built that would provide direct access to the AppBoard/enPortal provisioning API.  This may be available in the future as a product enhancement.
<!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>
</code>





Revision as of 08:52, 16 July 2014

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 the complete reference as what is shown below is just an 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>


XML Load Instructions

This section details the procedures for implementing the XML Load solution for direct provisioning.

Template-note.png
This section documents an optional customization to AppBoard/enPortal that is not part of the core system or supported under the standard product maintenance contract. It is recommended that this solution be implemented as part of a consulting engagement to ensure that it is configured and implemented correctly. This solution offers some pieces of provisioning, but does not offer all of the provisioning options that are available in the application's web administration interface.


Installation and Configuration

Perform the following steps to create an XML Load file for custom batch provisioning:

  1. Save the code shown in the "XML Code" section below into a text file with the file name: batchLoad.xml
  2. Modify the XML code as appropriate to meet the needs of the customer.
  3. Save the file in to ${Application_Home}/server/webapps/enportal/WEB-INF/xmlroot/server/provisioning/batchLoad.xml
  4. Load the XML File into the system, as detailed under Applying Provisioning Updates


XML Sample Code

[xml,N]

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE AccountDefinitions SYSTEM "../dtds/AccountDefinitions.dtd"> <AccountDefinitions> <Role name="testing"/> <Role name="manager" parentRoleID="/testing"/> <Domain name="EdgeFairfax"> <User userID="ktaylor"> <RoleLink roleID="/testing/manager"/> <RoleLink roleID="/training"/> </User> <User userID="jrowe"> <RoleLink roleID="/training/instructor"/> </User> </Domain> <Domain name="EdgeLaurel"> <User userID="cmorgan"> <RoleLink roleID="/testing"/> </User> </Domain> </AccountDefinitions>


Applying Provisioning Updates

Perform the following steps to apply provisioning updates using the XML batch file:

  1. Follow the steps above under Installation and Configuration to save the XML code into the application file system as ${Application_Home}/server/webapps/enportal/WEB-INF/xmlroot/server/provisioning/batchLoad.xml.
  2. Create the following single-line file as ${Application_Home}/server/webapps/enportal/WEB-INF/xmlroot/server/loadBatch.txt:
    • provisioning/batchLoad.xml
  3. Perform the following steps to load the XML file into the system database:
    • Log into enPortal/AppBoard as an administrator.
    • Go to the enPortal URL: http://<hostname>:port/enportal/home
    • Under the “Advanced” tab, select “XMLImport”.
    • Click “Start” to detect and load the XML file into enPortal.
    • Observe the message that batchLoad.txt was loaded into the system.
    • In the Admin UI, review and confirm that the new User accounts and assignments were automatically created.