Identity Manager 4.7 Driver for Blackboard Implementation Guide

This Implementation Guide explains implementation of the NetIQ® Identity Manager 4.7 driver for Blackboard.

The driver enables you to synchronize data in the Identity Vault to data stored in a Blackboard system. This configurable solution allows you to increase productivity and streamline business processes by integrating Blackboard with your other IT systems.

Intended Audience

Driver for Blackboard Implementation Guide was created for the following audiences:

  • System administrators

The BlackBoard driver is aimed at information technology professionals who:

  • Are familiar with Identity Manager and NetIQ eDirectory™

  • Are familiar with the administration of systems and platforms you connect to Identity Manager

Other Information in the Library

The library provides the following information resources:

Identity Manager Setup Guide

Provides overview of Identity Manager and its components. This book also provides detailed planning and installation information for Identity Manager.

Designer Administration Guide

Provides information about designing, testing, documenting, and deploying Identity Manager solutions in a highly productive environment.

User Application: Administration Guide

Describes how to administer the Identity Manager User Application.

User Application: User Guide

Describes the user interface of the Identity Manager User Application and how you can use the features it offers, including identity self-service, the Work Dashboard, role and resource management, and compliance management.

User Application: Design Guide

Describes how to use the Designer to create User Application components, including how to work with the Provisioning view, the directory abstraction layer editor, the provisioning request definition editor, the provisioning team editor, and the role catalog.

Identity Reporting Module Guide

Describes the Identity Reporting Module for Identity Manager and how you can use the features it offers, including the Reporting Module user interface and custom report definitions, as well as providing installation instructions.

Analyzer Administration Guide

Describes how to administer Analyzer for Identity Manager.

Identity Manager Common Driver Administration Guide

Provides information about administration tasks that are common to all Identity Manager drivers.

Identity Manager Driver Guides

Provides implementation information about Identity Manager drivers.

About NetIQ Corporation

We are a global, enterprise software company, with a focus on the three persistent challenges in your environment: Change, complexity and risk—and how we can help you control them.

Our Viewpoint

Adapting to change and managing complexity and risk are nothing new

In fact, of all the challenges you face, these are perhaps the most prominent variables that deny you the control you need to securely measure, monitor, and manage your physical, virtual, and cloud computing environments.

Enabling critical business services, better and faster

We believe that providing as much control as possible to IT organizations is the only way to enable timelier and cost effective delivery of services. Persistent pressures like change and complexity will only continue to increase as organizations continue to change and the technologies needed to manage them become inherently more complex.

Our Philosophy

Selling intelligent solutions, not just software

In order to provide reliable control, we first make sure we understand the real-world scenarios in which IT organizations like yours operate — day in and day out. That's the only way we can develop practical, intelligent IT solutions that successfully yield proven, measurable results. And that's so much more rewarding than simply selling software.

Driving your success is our passion

We place your success at the heart of how we do business. From product inception to deployment, we understand that you need IT solutions that work well and integrate seamlessly with your existing investments; you need ongoing support and training post-deployment; and you need someone that is truly easy to work with — for a change. Ultimately, when you succeed, we all succeed.

Our Solutions

  • Identity & Access Governance

  • Access Management

  • Security Management

  • Systems & Application Management

  • Workload Management

  • Service Management

Contacting Sales Support

For questions about products, pricing, and capabilities, contact your local partner. If you cannot contact your partner, contact our Sales Support team.

Worldwide:

www.netiq.com/about_netiq/officelocations.asp

United States and Canada:

1-888-323-6768

Email:

info@netiq.com

Web Site:

www.netiq.com

Contacting Technical Support

For specific product issues, contact our Technical Support team.

Worldwide:

www.netiq.com/support/contactinfo.asp

North and South America:

1-713-418-5555

Europe, Middle East, and Africa:

+353 (0) 91-782 677

Email:

support@netiq.com

Web Site:

www.netiq.com/support

Contacting Documentation Support

Our goal is to provide documentation that meets your needs. If you have suggestions for improvements, click Add Comment at the bottom of any page in the HTML versions of the documentation posted at www.netiq.com/documentation. You can also email Documentation-Feedback@netiq.com. We value your input and look forward to hearing from you.

Contacting the Online User Community

Qmunity, the NetIQ online community, is a collaborative network connecting you to your peers and NetIQ experts. By providing more immediate information, useful links to helpful resources, and access to NetIQ experts, Qmunity helps ensure you are mastering the knowledge you need to realize the full potential of IT investments upon which you rely. For more information, visit http://community.netiq.com.

1.0 Understanding the BlackBoard Driver

The NetIQ® Identity Manager 4.7 driver for Blackboard lets you synchronize data in the Identity Vault to data stored in a Blackboard Learn implementation.

The Subscriber channel receives XDS command documents for users and groups from the Identity Manager Metadirectory engine, converts them to Blackboard API calls, and executes them. The Publisher channel is not implemented at this time.

The Subscriber channel does not perform validation of attribute values in the XDS command document. If the requirements of Blackboard are not met, the results of the Blackboard API calls are unpredictable. Exceptions detected by the Blackboard API bubble up to the driver trace to assist in troubleshooting data validity problems.

The following sections provide a basic overview of the driver:

1.1 Known Issues

At the time this Implementation Guide was published, one known issue existed for the Identity Manager 4.7 driver for Blackboard relating to structured Global Configuration Values (GCVs) and package management.

Until the issue is resolved, additional steps must be taken when upgrading or downgrading packages containing structured GCVs. The Blackboard Group Based Enrollments package (OBNDBKBDGBE) contains a structured GCV that represents group attributes to Blackboard role mappings. When upgrading or downgrading this package, please include the following procedure:

  1. Copy the XML representation of the OBNDBKBDGBE-gcv GCV into a backup file.

  2. After upgrading or downgrading, replace the XML in the OBNDBKBDGBE-gcv with the XML from the backup file.

1.2 Version Support

The Blackboard driver requires Identity Manager 4.7 or greater and Blackboard 9 or greater.

1.3 Blackboard Driver Concepts

The following sections explain concepts you should understand before implementing the BlackBoard driver:

1.3.1 Default Data Flow

A channel is a combination of rules, policies, and filters that is used to synchronize data between two systems. The Subscriber and Publisher channels describe the direction in which the data flows. The Subscriber and Publisher channels act independently; actions in one channel are not affected by what happens in the other.

Subscriber Channel

The Subscriber channel is the channel of communication from the Identity Vault to Blackboard. The channel takes events generated in the Identity Vault and sends them to the Blackboard system. The Subscriber channel also supports queries into BlackBoard.

Figure 1-1 illustrates this data flow.

Figure 1-1 Data Flow Through The Subscriber Channel

The driver can be configured to work with Blackboard, versions 9 and later.

Publisher Channel

The Publisher channel is not implemented.

1.3.2 Policies

Policies are used to control the synchronization of data between the Identity Vault and Blackboard. The Blackboard driver is designed to be used with Identity Manager 4.0 Packages, but for backward compatibility the policies have been provided in an XML preconfiguration document. For information about the policies installed in the preconfiguration, see Section A.0, Policies. All policies contained in the Packages are included in the preconfiguration file for Identity Manager 3.6.

1.3.3 Driver Components

The driver contains the following components:

  • Default Driver Configuration File for Identity Manager 3.6: A file you can import to set up default rules, style sheets, and driver parameters. The driver configuration file included with this driver is BlackboardDriver.xml.

  • Driver Files: Blackboard.jar is the Java file that directs synchronization between Blackboard and the Identity Vault.

  • Schema File: blackboard.sch contains optional schema extensions to be used with the Blackboard driver.

1.4 Support for Standard Driver Features

The Blackboard driver is designed to be run as a Remote Loader Service only.

The following sections provide information about how the driver supports standard driver features:

1.4.1 Entitlements

The Blackboard driver can be configured to use entitlements to manage user accounts in Blackboard. When using entitlements, this driver works in conjunction with external services, such as the User Application with workflow or role-based provisioning or the Entitlements Service driver, to manage entitlement functionality.

1.4.2 Schema

The Blackboard driver uses the Blackboard schema to describe the attributes of Person, Course, Organization, and Enrollment objects in Blackboard. Optional schema definitions for the Blackboard driver are included in the blackboard.sch file.

1.4.3 Object Classes

The Blackboard driver provides auxiliary classes that can be used to add Blackboard-specific schema attributes to User and Group objects in eDirectory. Optional schema definitions for the Blackboard driver are included in the blackboard.sch file.

1.4.4 Configuration

The behavior of an Identity Manager driver is governed by its configuration of options, policies, and filters. The configuration of the Blackboard driver is managed by several packages that can be installed and configured using Designer for Identity Manager.

1.5 Differences Between eDirectory and Blackboard

1.5.1 Organization

Blackboard is similar to eDirectory in the way information is organized with the exception of Blackboard Enrollments.

User objects in eDirectory map directly to Person objects in Blackboard. Group objects in eDirectory map directly to Course and Organization objects in Blackboard. Course and Organization objects are differentiated by the OBNDBKBDDC-sub-evt-DetermineBBObjectType Event Transform Policy. Blackboard Enrollments have additional attributes that eDirectory Group memberships do not support. Two options exist to represent Enrollments in eDirectory:

  • The suggested best practice is to create a Blackboard Enrollment Object using the DirXML-BB-Enrollment object class in eDirectory for each enrollment in Blackboard.

  • The other option is to use the Group Member and Owner attributes to represent enrollments in Blackboard. The disadvantage of using the Member and Owner attributes is that enrollments can only be removed rather than being disabled.

While eDirectory is hierarchical, Blackboard is flat—there is no concept of a move function. The Subscriber channel rejects move commands. The sample Subscriber Event policy vetoes move events. You can change this policy to perform installation-specific processing of move events if required.

User object deletions in eDirectory result in the associated Person object in Blackboard being deleted. Group object deletions in eDirectory result in the associated Course or Organization object in Blackboard being deleted. There is no concept of rename in Blackboard. Blackboard is not hierarchical. There is no move function.

1.5.2 Passwords

Identity Manager uses the nspmDistributionPassword attribute to provide passwords from eDirectory. The mapping policy in the preconfigured sample policies maps nspmDistributionPassword to DirXML-BB-p-password. The password is md5-hashed by the Driver Shim before being stored into Blackboard. The driver will also accept a md5-hashed password if mapped to the DirXML-BB-p-hashed-password attribute.

2.0 Installing the Driver On Your Blackboard System

The NetIQ® Identity Manager 4.7 driver for Blackboard consists of the Blackboard Driver Shim installed with the Java* Remote Loader. The Driver Shim provides the conduit for information transfer between eDirectory (through Identity Manager) and the Blackboard system.

The Driver Shim must be installed on the application server running the Blackboard system to connect to the Blackboard application using the Blackboard Administrative API. In a load balanced configuration the driver should only be run on one of the application servers.

This section provides the information you need for first-time installation of the NetIQ® Identity Manager 4.7 driver for Blackboard. Topics include:

2.1 Before You Begin

Before you install the NetIQ Identity Manager Driver for Blackboard in a production environment:

  • You should install the driver in a test environment for use in developing your full deployment plan.

  • Ensure that you have the most recent distribution, support pack, and patches for the driver.

  • Review the most recent support information for the driver on the NetIQ Support Web site.

2.2 Required Knowledge and Skills

Although different tasks can be performed by different people, your installation and deployment team must collectively have expertise with eDirectory, iManager, Identity Manager, Blackboard, and XSLT.

Full administrative rights are required, both in eDirectory and on Blackboard.

For an overview of driver facilities, see Section 1.0, Understanding the BlackBoard Driver.

2.3 Getting the Installation Files

Obtain the most recent distribution of the Identity Manager 4.7 Driver for Blackboard from the NetIQ Downloads Web site.

At the time of this Implementation Guide’s release, the -driver was included in the following ISO packages:

  • Identity_Manager_4.7_Linux_Standard.iso

  • Identity_Manager_4.7_Windows_Standard.iso

2.4 Installation Tasks

2.4.1 Installing the Driver Files

  1. If you have not already done so, install a Metadirectory server. For instructions, see the Identity Manager Installation Guide at Identity Manager 4.7 Documentation Page.

  2. Install the Remote Loader on the Blackboard Application server. For instructions, the Identity Manager Installation Guide at Identity Manager 4.7 Documentation Page.

    The Remote Loader installation includes jar files for the Blackboard driver.

  3. Continue to the next section to complete installation of the files.

2.4.2 Installing the Java Class File on the Blackboard Server

The file Blackboard.jar contains Java classes used by the Publisher and Subscriber channels to convert XDS command documents into Blackboard API calls. RPM and PKG archives are provided for the appropriate operating systems to install Blackboard.jar into the correct location.

If you are running Linux,you can find the RPM and PKG archives in the Additional_Drivers/Blackboard directory in the ISO image for Linux. If you are running Windows, you can find the Blackboard.jar file in the Additional_Drivers/Blackboard directory in the ISO image for Windows.

Install the driver’s Java class file on the Blackboard server as follows, depending on your operating system:

  • If you are running Linux, enter: rpm -ivh novell-DXMLbb.rpm

  • If you are running Solaris, enter: pkgadd -n -d DXMLbb.pkg

  • If you are running Windows, copy Blackboard.jar to \netiq\RemoteLoader\lib

2.4.3 Copying Blackboard Files to Remote Loader classpath

These files are needed to connect to the Blackboard Event API.

IMPORTANT:Before copying files into the RemoteLoader\lib directory, copy the contents of the RemoteLoader\lib directory to a backup location to be used when updating the Blackboard Driver. Future releases of Blackboard may include newer versions of jar files that will conflict with existing versions in this lib directory. After upgrading to a new version of Blackboard, replace the existing RemoteLoader\lib directory with the backup copy you created before installing the driver the first time. This should result in the directory only containing files that were added when the remote loader was originally installed. Follow the file copy instructions below to complete the installation or upgrade process.

Linux

Copy: /usr/local/blackboard/apps/tomcat/lib/*

to: /opt/netiq/eDirectory/lib/dirxml/classes

Solaris
  1. Copy: /usr/local/blackboard/apps/tomcat/lib/*

    to: /opt/netiq/eDirectory/lib/dirxml/classes

  2. Copy: /usr/local/blackboard/apps/tomcat/common/lib/xercesImpl.jar

    to: /opt/netiq/eDirectory/lib/sparcv9/nds-modules/jre/lib

    (replace sparcv9 with correct version of sparc)

Windows
  1. Copy: \blackboard\apps\tomcat\lib\*.*

    to: \netiq\RemoteLoader\lib\

  2. Copy: \blackboard\apps\tomcat\lib\xercesImpl.jar

    to: \netiq\RemoteLoader\jre\lib\

  3. Create a classes directory in the RemoteLoader directory.

  4. Copy: \blackboard\apps\tomcat\lib\xythos.properties

    to: \netiq\RemoteLoader\classes

2.4.4 Extending the Schema for Identity Manager

If you plan on using the Identity Vault to manage connected system attributes that are not already mapped to standard eDirectory™ attributes, you will need to extend the schema. Otherwise, it is not necessary.

Extending the schema adds auxiliary classes to eDirectory User and Group objects for Blackboard user and group attributes. It also extends the schema for an effective class called DirXML-BB-Enrollment that can be used to represent an enrollment in a Blackboard Course or Organization.

To extend the schema:

  1. Obtain the blackboard.sch file for browser access, depending on the operating system you are running:

    • Linux or Solaris: Copy the blackboard.sch file from /opt/netiq/eDirectory/lib/lib/nds-schema/ on the Blackboard application server where you installed the RPM or PKG archive (see ) to a location accessible to your web browser.

      Windows: Copy the blackboard.sch file from from the Additional_Drivers/Blackboard directory in the ISO image for Windows to a location accessible to your web browser.

  2. In iManager, select the Extend Schema task under Schema.

  3. Select Import data from file on disk, then click Next.

  4. Select a file type of Schema File.

  5. Type or browse for blackboard.sch as the file to import, then click Next.

  6. Specify the host name or IP address and the LDAP port number of your Metadirectory server.

  7. To connect to the non-secure LDAP port (389), you must have the Require TLS for Simple Binds with Password option disabled on your LDAP Group. If necessary, you can edit this option using the LDAP Options task under LDAP in iManager. For details, see the NetIQ eDirectory Administration Guide.

  8. Select Authenticated login and log in as Admin or another user with rights to extend the schema.

  9. Click Next to go to the summary.

  10. Click Finish to extend the schema.

2.4.5 Configuring the Remote Loader

Linux and UNIX

For detailed instructions on configuring the Remote Loader for Linux and UNIX, see the relevant instructions in the Identity Manager 4.7 Remote Loader Guide at the Identity Manager 4.7 Documentation site.

Be sure to place the configuration file in /etc/opt/netiq/dirxml/rdxml so the driver will start when the system is started. The following is an example configuration file that does not include settings for a secure connection:

-commandport 8000
-connection "port=8090 fromaddress=xxx.xxx.xxx.xxx"
-class com.Omnibond.nds.dirxml.driver.Blackboard.BlackboardDriverShim
-trace 0
-tracefile /tmp/bbtrace.log

If you are using SSL for a secure connection, see the relevant instructions in the Identity Manager 4.7 Remote Loader Guide at the Identity Manager 4.7 Documentation site.

The configuration file will need to include the keystore and storepass settings for SSL. Following is an example configuration that includes settings for a secure connection:

-commandport 8000
-connection "port=8090 fromaddress=xxx.xxx.xxx.xxx keystore='mystore'
    storepass='dirxml'"
-class com.Omnibond.nds.dirxml.driver.Blackboard.BlackboardDriverShim
-trace 0
-tracefile /tmp/bbtrace.log
Windows

For detailed instructions on configuring the Remote Loader for Windows, see the relevant instructions in the Identity Manager 4.7 Remote Loader Guide at the Identity Manager 4.7 Documentation site

For the Driver field, enter:

com.Omnibond.nds.dirxml.driver.Blackboard.BlackboardDriverShim

Figure 2-1 provides an example of the Remote Loader configuration dialog with this entry.

Figure 2-1 Remote Driver Configuration dialog for Windows.

2.4.6 Testing Connectivity to Blackboard

To test connectivity to Blackboard, run the appropriate test script for your platform located in Section C.0, Test Scripts.

2.4.7 Starting the Remote Loader Service

Start the Remote Loader Service as follows, depending on your operating system.

Linux and Solaris
  1. Ensure the configuration file was copied to /etc/opt/netiq/dirxml/rdxml/

  2. Run the following command:

    /etc/init.d/rdxml start
    
Windows

Use the Remote Loader Console application to start the driver.

2.5 Post-Installation Tasks

Once you have installed and configured the driver software on your Blackboard system, do the following:

  1. Start the remote loader based on the operating system you are running.

  2. Follow the directions in Section 3.0, Creating a New Driver to set up the corresponding representation of your driver in the Identity Vault.

2.6 Uninstalling the Driver

To uninstall the driver:

  1. Remove the remote loader configuration information associated with the driver. For more information, see the Identity Manager Installation Guide at Identity Manager 4.7 Documentation Page.

  2. Remove the jar file associated with the driver.

3.0 Creating a New Driver

After the driver files are installed on the Blackboard system where you want to run the driver (see Section 2.0, Installing the Driver On Your Blackboard System), you can create the driver’s representation in the Identity Vault. You do so by importing the basic driver configuration file and then modifying the driver configuration to suit your environment. The following sections provide instructions:

3.1 Creating the Driver in Designer

You create the Blackboard driver in Designer by importing its basic configuration file and then modifying the configuration to suit your environment. After creating and configuring the driver, you need to deploy it to the Identity Vault and start it.

3.1.1 Importing the Current Driver Packages

The driver packages contain the items required to create a driver, such as policies, entitlements, filters, and Schema Mapping policies. These packages are only available in Designer and can be updated after they are initially installed. You must have the most current version of the packages in the Package Catalog before you can create a new driver object.

To verify you have the most recent version of the driver packages in the Package Catalog:

  1. Open Designer.

  2. In the toolbar, click Help > Check for Package Updates.

  3. Click OK to update the packages

    or

    click OK if the packages are up-to-date.

  4. In the Outline view, right-click the Package Catalog.

    Click Import Package.

  5. Select any Blackboard driver packages

    or

    Click Select All to import all of the packages displayed.

    NOTE:By default, only the base packages are displayed. Deselect Show Base Packages Only to display all packages.

  6. Click OK to import the selected packages, then click OK in the successfully imported packages message.

  7. After the current packages are imported, continue with Installing the Driver Packages

3.1.2 Installing the Driver Packages

  1. In Designer, open your project.

  2. In the Modeler, right-click the driver set where you want to create the driver, then select New > Driver.

  3. Select Blackboard Base, then click Next.

  4. Select the optional features to install the Blackboard driver. All options are selected by default. The options are:

    Blackboard Default Configuration: This package contains the default configuration information for the Blackboard driver. Always leave this option selected.

    Blackboard Group Based Enrollments: This package contains the policies required if you want to use Group attributes for Blackboard Enrollments .

    Blackboard User Entitlements: This package contains the policies and entitlements required to enable the driver to account creation and management with entitlements. For more information, see the Identity Manager 4.7 Entitlements Guide on the Identity Manager 4.7 Documentation Site.

  5. Click Next.

  6. On the Driver Information page, fill in the following field:

    Driver Name: The name that identifies the driver in Designer and eDirectory®.

  7. Click Next.

  8. On the Remote Loader page, fill in the following fields:

    Host Name: Enter the Host Name or IP Address where the Remote Loader Service has been installed and is running for this driver.

    Port: Enter the Port Number where the Remote Loader Service has been installed and is running for this driver. The Default Port is 8090.

    Remote Password: The Remote Loader password is used to control access to the Remote Loader instance. It must be the same password that is specified as the Remote Loader password on the Identity Manager Remote Loader.

    Driver Password: The Driver Object Password is used by the Remote Loader to authenticate itself to the Identity Manager server. It must be the same password that is specified as the Driver Object Password on the Identity Manager Remote Loader.

    Use Secure Remote Loader: Choose if the driver should use SSL to connect to the remote loader.

    (optional) Key Material Object (KMO): If Yes was selected for Use Secure Remote Loader enter the Key Material Object to be used for the SSL connection to the remote loader..

  9. Click Next.

  10. On the next page fill in the following fields:

    Location of the bb-config.properties file: Specify the path to the location of the bb-config.properties file. You MUST include a trailing slash.

    NOTE:The path on most Windows systems is c:\blackboard\config\.

    Name of Virtual Installation: Name of the Virtual Installation for Blackboard. Leave blank if using the default installation.

  11. (Conditional) This page displays only if you selected to install the Blackboard Group Based Enrolments package. Fill in the following field:

    Choose the roles that should be used for users who are added to the following group attributes: This setting holds mappings from Group attributes to Blackboard Enrollment Roles. The default map contains mappings that map members of the Member attribute to Student enrollment object and members of the Owner attribute to Instructor enrollment objects. Additional roles can be supported by extending the schema and mapping the desired group attribute to a Blackboard role.

    NOTE:You must remember to add the additional attributes to the filter.

  12. Click Next.

  13. (Conditional) This page displays only if you selected to install the Blackboard User Entitlements package. Fill in the following field:

    If a user loses the bbAccount Entitlement take the following action: Choose the desired action if a user loses the bbAccount Entitlement.

  14. Click Next.

  15. (Conditional) This page displays only if you selected to install the Blackboard Default Configuration package. (This package should always be selected.) Fill in the following fields:

    Limit the driver to a base container in the Identity Vault for synchronization: Limit events the driver processes to a base container in eDirectory.

    Specify the base container in the Identity Vault for User synchronization: This container is used in the Subscriber channel Event Transformation policies to limit the Identity Vault objects being synchronized. Example: users.myorg.

    Specify the base container in the Identity Vault for Group synchronization: This container is used in the Subscriber channel Event Transformation policies to limit the Identity Vault objects being synchronized. Example: groups.myorg

    What action should be taken on an enrollment when a Person is removed from a Group: If set to Delete enrollments dropped from a Group will result in the Person being removed from the Course or Organization. If set to Disable the Person's enrollment will be disabled in the Course or Organization.

    Automatically set the required ID attribute for new Person, Course, and Organization objects to the source name of the object : If true then the required id attribute for Person, Course, and Organization types in Blackboard will be automatically set to Source Name if the id attribute is not already set. The attributes are DirXML-BB-p-id for Person, DirXML-BB-c-id for Course, and DirXML-BB-o-id for Organization.

    Automatically set the required title attribute for new Course, and Organization objects to the source name of the Group: Automatically set required attribute DirXML-bb-c-course-title to the source name for Course objects if it is not already set. Automatically set required attribute DirXML-bb-o-title to source name for Organization objects.

    Automatically set the required user roles attributes for Person objects : If true the default roles chosen below will be set for a user if they are not present on the user object.

    Default System Role for new users: The default system role to use for new users. See Blackboard Documentation for more information about System Roles.

    Default Institutional Role for new users. [ex. STUDENT, STAFF, ALUMNI, GUEST, FACULTY, OBSERVER, or any custom defined roles]: Default Institutional Role. See Blackboard documentation for more information about Institutional Roles.

    Group objects in this subtree will be synchronized as Courses in Blackboard: All group objects in this subtree will be synchronized as Courses in Blackboard. Group objects in eDirectory can represent a Course or Organization object in Blackboard.

    Group objects in this subtree will be synchronized as Organizations in Blackboard: All group objects in this subtree will be synchronized as Organizations in Blackboard. Group objects in eDirectory can represent a Course or Organization object in Blackboard.

    Automatically set required Person attribute DirXML-BB-p-email if it is not set: Email address is a required attribute for User creation in Blackboard. If true then the following setting will be used to create the user’s email address in Blackboard.

    Domain name to use for default email address: Email address is a required attribute for a Person in Blackboard. This value will be used to set the email address attribute in Blackboard for users who do not have an email address specified in their eDirectory User object. The CN of the user will be used with the value provided to create the email address.

  16. Click Next.

  17. Review the summary of tasks that will be completed to create the driver, then click Finish.

  18. After you have installed the driver, you must change the configuration for your environment. Proceed to Configuring the Driver.

3.1.3 Configuring the Driver

After importing the driver configuration file, you need to configure the driver before it can run. Complete the following tasks to configure the driver:

  • Configure the driver parameters: There are many settings that can help you customize and optimize the driver. The settings are divided into categories such as Driver Configuration, Engine Control Values, and Global Configuration Values (GCVs

  • ). Although it is important for you to understand all of the settings, your first priority should be to configure the driver parameters located on the Global Configuration Values page.

  • Configure the driver filter: Modify the driver filter to include the object classes and attributes you want synchronized between the Identity Vault and Blackboard.

  • Configure Policies: Modify the policies as needed.

    IMPORTANT:Policies should only be modified using Designer or changes could be lost when a package is upgraded or the driver is run in “factory mode.”

    For information about the default configuration policies, see Section A.0, Policies.

  • Configure password synchronization: The basic driver configuration is set up to support password synchronization through Universal Password. If you don’t want this setup, see “Configuring Password Flow ” in the Identity Manager 4.7 Password Management Guide.

After completing the configuration tasks, continue with the next section, Deploying the Driver.

3.1.4 Deploying the Driver

After a driver is created in Designer, it must be deployed into the Identity Vault.

  1. In Designer, open your project.

  2. In the Modeler, right-click the driver icon or the driver line, then select Live > Deploy.

  3. If you are authenticated to the Identity Vault, skip to Step 5; otherwise, specify the following information:

    • Host: Specify the IP address or DNS name of the server hosting the Identity Vault.

    • Username: Specify the DN of the user object used to authenticate to the Identity Vault.

    • Password: Specify the user’s password.

  4. Click OK.

  5. Read the deployment summary, then click Deploy.

  6. Read the message, then click OK.

  7. Click Define Security Equivalence to assign rights to the driver.

    The driver requires rights to objects within the Identity Vault. The Admin user object is most often used to supply these rights. However, you might want to create a DriversUser (for example) and assign security equivalence to that user. Whatever rights that the driver needs to have on the server, the DriversUser object must have the same security rights.

    1. Click Add, then browse to and select the object with the correct rights.

    2. Click OK twice.

  8. Click Exclude Administrative Roles to exclude users that should not be synchronized.

    You should exclude any administrative User objects (for example, Admin and DriversUser) from synchronization.

    1. Click Add, then browse to and select the user object you want to exclude.

    2. Click OK.

    3. Repeat Step 8a and 8b for each object you want to exclude.

    4. Click OK.

3.1.5 Starting the Driver

When a driver is created, it is stopped by default. To make the driver work, you must start the driver and cause events to occur. Identity Manager is an event-driven system, so after the driver is started, it won’t do anything until an event occurs.

To start the driver:

  1. Make sure the Remote Loader driver instance is running:

    • Windows: Open the Remote Loader console on the driver’s server, select the driver in the list, then click Start.

    • Linux, AIX or Solaris: At the server command line, enter:

        /etc/init.d/rdxml start
      
  2. In Designer, open your project.

  3. In the Modeler, right-click the driver icon or the driver line, then select Live > Start Driver.

3.2 Activating the Driver

If you created the driver in a driver set where you’ve already activated the Metadirectory engine and service drivers, the driver inherits the activation. If you created the driver in a driver set that has not been activated, you must activate the driver within 90 days. Otherwise, the driver stops working.

For information on activation, refer the Identity Manager 4.7 Installation Guide on the Identity Manager 4.7 Documentation Site.

4.0 Customizing the Driver

This section provides guidelines for customizing your driver to your specific busines rules.

4.1 Attributes Required for Blackboard Object Creation

The Subscriber channel issues Blackboard API calls to process XDS commands received for objects and attributes represented in the Blackboard schema. It is up to the policy writer to ensure all required attributes are sent for Blackboard object creation. The sample policies can be configured on driver import or through global configuration values to ensure all required attributes are set on creation. The Blackboard API places restrictions on attribute values. It is up to the policy writer to ensure attributes mapped to Blackboard attributes contain values that conform to Blackboard attribute restrictions. The following tables list attributes required for Person, Course, Enrollment, and Organization creation in Blackboard. For information about restrictions on values for these attributes consult Blackboard documentation.

Table 4-1 Person Attributes Required For Creation

Blackboard Schema

Blackboard Attribute

DirXML-BB-p-ext-key

EXTERNAL_PERSON_KEY

DirXML-BB-p-id

USER_ID

DirXML-BB-p-sys-role

SYSTEM_ROLE

DirXML-BB-p-firstname

FIRSTNAME

DirXML-BB-p-lastname

LASTNAME

DirXML-BB-p-email

EMAIL

Table 4-2 Course Attributes Required For Creation

Blackboard Schema

Blackboard Attribute

DirXML-BB-c-id

COURSE_ID

DirXML-BB-c-ext-key

EXTERNAL_COURSE_KEY

DirXML-BB-c-course-title

COURSE_NAME

Table 4-3 Organization Attributes Required For Creation

Blackboard Schema

Blackboard Attribute

DirXML-BB-o-id

ORGANIZATION_ID

DirXML-BB-o-ext-key

EXTERNAL_ORGANIZATION_KEY

DirXML-BB-o-title

ORGANIZATION_NAME

Table 4-4 Course Enrollment Attributes Required For Creation

Blackboard Schema

Blackboard Attribute

DirXML-BB-enr-c-ext-key

EXTERNAL_COURSE_KEY

DirXML-BB-enr-p-ext-key

EXTERNAL_PERSON_KEY

Table 4-5 Organization Enrollment Attributes Required For Creation

Blackboard Schema

Blackboard Attribute

DirXML-BB-enr-o-ext-key

EXTERNAL_ORGANIZATION_ID

DirXML-BB-enr-p-ext-key

EXTERNAL_PERSON_KEY

4.2 Attributes and Values for Blackboard Enumeration Types

The following tables list valid values for enumeration type attributes supported by the driver.

Table 4-6 DirXML-BB-Course Enumeration Types And Valid Values

Enumeration Type Attribute

Valid Values

Description

DirXML-BB-c-duration-type

CONTINUOUS

Course is active on an ongoing basis.

DATE_RANGE

Course is only intended to be available between specific date ranges.

FIXED_NUM_DAYS

Course is only available for a set number of days.

DirXML-BB-c-enrollment-type

EMAIL_ENROLLMENT

Instructors have the ability to enroll users, and students can email requests to the instructor for enrollment.

INSTRUCTOR_LED

Enrollment tasks for the course can only be performed by the instructor.

SELF_ENROLLMENT

Instructors have the ability to enroll users, and students can also enroll themselves in the course.

DirXML-BB-c-pace

INSTRUCTOR_LED

Course is intended to be led by an instructor.

SELF_PACED

Students use the course at their own speed.

Table 4-7 DirXML-BB-Person Enumeration Types And Valid Values

Enumeration Type Attribute

Valid Values

Description

DirXML-BB-p-educ-level

FRESHMAN

College or university freshman.

GRADUATE_SCHOOL

Graduate school student.

HIGH_SCHOOL

Grades 9 through 12.

JUNIOR

College or university junior.

K_8

Kindergarten through 8th grade.

POST_GRADUATE_SCHOOL

Post-graduate school student.

SENIOR

College or university senior.

SOPHOMORE

College or university sophomore.

UNKNOWN

Education level is not known, or not specified.

DirXML-BB-p-gender

FEMALE

Female.

MALE

Male.

UNKNOWN

Gender is not known, or not specified.

DirXML-BB-p-sys-role

ACCOUNT_ADMIN

Account Administrator role.

CARD_OFFICE_ADMIN

Manages the front-end settings (tabs, modules, etc.) for portal-ecommerce functionality.

COURSE_CREATOR

Course Creator role.

COURSE_SUPPORT

Course Support role.

ECOMMERCE_ADMIN

Manages the back-end settings for portal-ecommerce functionality.

GUEST

Guest role.

INTEGRATION

This role is private, used only for special processes that interact for data integration authentication.

NONE

No explicit role.

OBSERVER

Observer role.

PORTAL

Portal Administrator role.

STORE_ADMIN

Manages the front-end portal-ecommerce functionality related to purchases.

SYSTEM_ADMIN

System Administrator role.

SYSTEM_SUPPORT

System Support role.

USER

Normal user role.

(User-defined system roles)

To set a user-defined system role, click the Blackboard Administrator Panel > System Role and select a Role ID.

Table 4-8 DirXML-BB-Enrollment Enumeration Types And Valid Values

Enumeration Type Attribute

Valid Values

Description

DirXML-BB-enr-role

COURSE_BUILDER

The Course Builder role has access to most areas of the Control Panel. This role is appropriate for a user to manage the Course without having access to Student grades. A Course Builder can still access the Course if the Course is unavailable to Students. A Course Builder cannot delete an Instructor from a Course.

GRADER

A Grader assists the Instructor in the creation, management, delivery, and grading of items, such as Tests and Discussion Board posts. A Grader also assists the Instructor with managing the Grade Center. A Grader cannot access a Course if it is unavailable to Students.

GUEST

Guests have no access to the Control Panel. Areas within the Course are made available to Guests. Visitors, such as prospective Students, alumni, or parents may be given the role of Guest.

INSTRUCTOR

Instructors have access to all areas in the Control Panel. This role is generally given to those developing, teaching, or facilitating the class. Instructors may access a Course that is unavailable to Students.

NONE

No explicit Course role.

STUDENT

Student is the default Course Role. Students have no access to the Control Panel.

TEACHING_ASSISTANT

The Teaching Assistant role is that of a co-teacher. Teaching Assistants are able to administer all areas of a course. Their only limitations are those imposed by the Instructor or Blackboard administrator at your school. A Teaching Assistant cannot delete an Instructor from a Course.

5.0 Managing the Driver

As you work with the Blackboard driver, there are a variety of management tasks you might need to perform, including the following:

  • Starting, stopping, and restarting the driver

    NOTE:If the connectivity to the database server for Blackboard is lost, the driver shim must be restarted to re-establish communication with the Blackboard Application.

  • Viewing driver version information

  • Using Named Passwords to securely store passwords associated with the driver

  • Monitoring the driver’s health status

  • Backing up the driver

  • Inspecting the driver’s cache files

  • Viewing the driver’s statistics

  • Using the DirXML Command Line utility to perform management tasks through scripts

  • Securing the driver and its information

  • Synchronizing objects

  • Migrating and resynchronizing data

  • Activating the driver

Because these tasks, as well as several others, are common to all Identity Manager drivers, they are included in one reference, the Identity Manager 4.7 Common Driver Administration Guide, available at the Identity Manager 4.7 Documentation page.

6.0 Troubleshooting the Driver

This section provides information about troubleshooting the Blackboard driver.

6.1 Viewing Driver Processes

Viewing driver processes is necessary to analyze unexpected behavior. To view the driver processing events, use DSTrace. You should only use it during testing and troubleshooting the driver. Running DSTrace while the drivers are in production increases the utilization on the Identity Manager server and can cause events to process very slowly.

For more information, see the he Identity Manager 4.7 Common Driver Administration Guide, available at the Identity Manager 4.7 Documentation page.

6.2 Troubleshooting Blackboard-Specific Items

Following is a list of things to check when troubleshooting problems specific to Blackboard:

  • Ensure the remote loader can make a connection to the Blackboard Application. Run the test script mentioned in Section 2.4.6, Testing Connectivity to Blackboard. If the test program fails ensure the following paths are set correctly in the test script and retry the tests:

      # path to jre installed with the remote loader
          RDXML_JRE=/opt/netiq/eDirectory/lib/sparcv9/nds-modules/jre
    
      # path to remote loader classes directory
          DIRXML_LIB=/opt/netiq/eDirectory/lib/dirxml/classes
    
  • Ensure you have a valid license installed for the Blackboard application. Turn the trace level up to 10 in the driver remote loader configuration file and specify an output file for debug information:

    -trace 10
    -tracefile /tmp/bbtrace.log
    
  • If you recently upgraded Blackboard, remember to copy all of the updated jar files to the correct location. See Section 2.4.3, Copying Blackboard Files to Remote Loader classpath.

  • If the connectivity to the database server for Blackboard is lost, the driver must be restarted to re-establish communication with the Blackboard application.

A.0 Policies

This section provides information about Policies for the Blackboard driver.

A.1 Event Transforms

OBNDBKBDDC-sub-evt-VetoRenameEvents

Description: Veto rename events.

OBNDBKBDDC-sub-evt-DetermineBBObjectType

Description: Set an operation property name "BBObjectType" that helps map the operation to the type of Blackboard object. Group objects can represent Blackboard Courses or Organizations so it is necessary to specify which one should be used.

A.2 Matching

OBNDBKBDDC-sub-mp-SubscriberMatching

Description: Search for a matching Blackboard object based on the type of Blackboard object type set in the BBObjectType operation property. Refer to Table A-1 for matching attributes.

Table A-1 Matching Attributes

eDirectory Object Class

eDirectory Attribute

BBObjectType

Blackboard Attribute

User

Source Name

DirXMI-BB-Person

DirXML-BB-p-id

Group

Source Name

DirXML-BB-Course

DirXML-BB-c-id

Organization

Source Name

DirXML-BB-Organization

DirXML-BB-o-id

DirXML-BB-Enrollment*

DirXML-BB-c-ext-key, DirXML-BB-p-ext-key

DirXML-BB-Enrollment

DirXML-BB-c-ext-key, DirXML-BB-p-ext-key

* The DirXML-BB-Enrollment class can represent objects using effective class DirXMl-BB-Enrollment in eDirectory or can represent pseudo enrollment objects created in policy when using attributes on groups to represent enrollments. For more information see Section 1.5.1, Organization.

A.3 Creation Policies

OBNDBKBD-sub-cp-SubscriberCreation

Description: Check to see if required attributes are set for object creation in Blackboard. If not set and specified in the GCVs default values will be set for some of the required attributes. Refer to Table A-2, Table A-3 and Table A-4 for required attributes.

Table A-2 Required User Attributes (BBObjectType operation property = DirXML-BB-Person)

Required User Attribute

Action

DirXML-BB-p-id

If not set and GCV auto_set_ids is true set to Source Name.

Internet Email Address

If not set and GCV auto_set_email is true set to CN + @ + GCV default_email_domain.

DirXML-BB-p-sys-role

If not set and GCV auto_set_roles is true set to value of GCV default_user_role.

DirXML-BB-p-portal-role

DirXML-BB-p-portal-role If not set and GCV auto_set_roles is true set to value of GCV default_portal_role.

DirXML-BB-p-ext-key

Set to Source Name with underscores replacing spaces.

Table A-3 Required Group Attributes (BBObjectType operation property = DirXML-BB-Course)

Required Group Attribute

Action

DirXML-BB-c-course-title

If not set and GCV auto_set_title is true then set value to Source Name.

DirXML-BB-c-id

If not set and GCV auto_set_ids is true then set value to Source Name.

DirXML-BB-c-ext-key

Set to Source Name with underscores replacing spaces.

Table A-4 Required Organization Attributes (BBObjectType operation property = DirXML-BB-Organization)

Required Organization Attribute

Action

DirXML-BB-o-title

If not set and GCV auto_set_title is true then set value to Source Name.

DirXML-BB-o-id

If not set and GCV auto_set_ids is true then set value to Source Name.

DirXML-BB-o-ext-key

Set to Source Name with underscores replacing spaces.

A.4 Command Transforms

OBNDBKBDDC-ctp-TransformLoginDisabled

Description: Transform changes on user object attribute “Login Disabled” to Blackboard DirXML-BB-Person object attributes DirXML-BB-p-row-status and DirXML-BB-p-available-ind. Refer to Table A-5 for attribute value settings.

Table A-5 Attribute Values

Login Disabled

DirXML-BB-p-row-status

DirXML-BB-p-available-ind

True

ENABLED

True

False

ENABLED

False

OBNDBKBDDC-ctp-SetClassnameForGroups

Description: Set the operation object class for groups to the Blackboard object class type based on the value in the BBObjectType operation property. BBObjectType is set in the OBNDBKBDDC-evt-DetermineBBObjectType policy. Group objects can represent a Blackboard Course or Organization so the object class determines which one the operation maps to.

OBNDBKBDGBE-sub-ctp-TransformGroupAttrsToEnrollmentObjects

Description: Transforms changes on Group attributes listed in the “attribute_role_map” GCV to DirXML-BB-Enrollment object events.

A.5 Schema Mapping

OBNDBKBDDC-smp-SchemaMapping

Description: Mapping contains some basic default mappings. Refer to Table A-6 for attribute details.

Table A-6 Object Mapping (eDirectory to BBObjectType operation property)

eDirectory Object Class

Blackboard Object Type

Group

DirXML-BB-Course

  Description

  DirXML-BB-c-description

Organization

DirXML-BB-Organization

  Description

  DirXML-BB-o-description

User

DirXML-BB-Person

  Given Name

  DirXML-BB-p-firstname

  Internet Email Address

  DirXML-BB-p-email

  nspmDistributionPassword

  DirXML-BB-p-password

  Surname

  DirXML-BB-p-lastname

A.6 Output Transforms

OBNDBKBDDC-otp-CheckRequiredAttrs

Description: Ensure attributes required by Blackboard object types are set before sending document to the driver shim. Refer to Table A-7 for required attributes.

Table A-7 Attributes Required by Blackboard

Blackboard Object Type

Attribute Settings Required by Blackboard

DirXML-BB-Person

  • DirXML-BB-p-id
  • DirXML-BB-p-firstname
  • DirXML-BB-p-lastname
  • DirXML-BB-p-sys-role
  • DirXML-BB-p-portal-role
  • DirXML-BB-p-email
  • DirXML-BB-p-ext-key

DirXML-BB-Course

  • DirXML-BB-c-id
  • DirXML-BB-c-ext-key
  • DirXML-BB-c-course-title

DirXML-BB-Organization

  • DirXML-BB-o-id
  • DirXML-BB-o-ext-key
  • DirXML-BB-o-title

DirXML-BB-Enrollment

  • DirXML-BB-enr-p-ext-key
  • DirXML-BB-enr-c-ext-key

A.7 Input Transforms

OBNDBKBDGBE-ipt-VetoPseudoEntitlementAssociation

Description: When using group based enrollments no object exists in eDirectory that can hold an association for a corresponding Blackboard Enrollment Object. The driver shim returns a destination DN value of “pseudo-enrollment-object” if no source DN was present. This policy vetos add-association operations for pseudo-enrollment-objects.

B.0 Global Configuration Values

This section provides information about the Driver Configuration and Global Configuration Values properties for the Blackboard driver.

B.1 General Settings

Table B-1 Global Configuration Values - General Settings

Name

Display Name

Description

Default Value

use_entitlements

Enable the driver to use Approval Flow or Role-Based Entitlements with the Entitlements Service driver.

na

na

use_scope_filtering

Limit the driver to a base container in the Identity Vault for synchronization?

Limit events the driver processes to a base container in eDirectory

True

container_scope_filter_user

Specify the base container in the Identity Vault for User synchronization.

This container is used in the Subscriber channel Event Transformation policies to limit the Identity Vault objects being synchronized. For example: [users.myorg]

na

container_scope_filter_group

Specify the base container in the Identity Vault for Group synchronization.

This container is used in the Subscriber channel Event Transformation policies to limit the Identity Vault objects being synchronized. For example: [groups.myorg]

System

disable_or_delete_enrollments

What action should be taken on an enrollment when a Person is removed from a Group?

If set to Delete enrollments dropped from a Group will result in the Person being removed from the Course or Organization. If set to Disable the Person's enrollment will be disabled in the Course or Organization.

Delete

B.2 Default Required Attribute Settings

Table B-2 Global Configuration Values - Default Required Settings on New Blackboard Objects

Name

Display Name

Description

Default Value

auto_set_ids

Automatically set the required Id attribute for new Person, Course, and Organization objects to the source name of the object.

If true then the required id attribute for Person, Course, and Organization types in Blackboard will be automatically set to Source Name if the id attribute is not already set. The attributes are DirXML-BB-p-id for Person, DirXML-BB-c-id for Course, and DirXML-BB-o-id for Organization.

True

auto_set_title

Automatically set the required title attribute for new Course, and Organization objects to the source name of the Group.

Automatically set required attribute DirXML-bb-c-course-title to the source name for Course objects if it is not already set. Automatically set required attribute DirXML-bb-o-title to source name for Organization objects.

True

auto_set_roles

Automatically set the required user roles attributes for Person objects.

If true the default roles chosen below will be set for a user if they are not present on the user object.

True

default_user_role

Default System Role for new users

na

USER

default_portal_role

Default Institutional Role for new users.

Example: STUDENT, STAFF, ALUMNI, GUEST, FACULTY, OBSERVER, or any custom defined roles

na

STUDENT

add_aux_classes

Automatically add a required Blackboard auxiliary class to Person and Course or Organization objects.

If true automatically add the DirXML-BB-Person auxiliary class to Person objects and the DirXML-BB-Course auxiliary class to Course or Organization objects.

True

bb-course-subtree

Apply DirXML-BB-Course to groups in the following subtree

na

na

bb-organization-subtree

Apply DirXML-BB-Organization to groups in the following subtree.

na

na

auto_set_email

Automatically set required Person attribute DirXML-BB-p-email if it is not set.

na

True

default_email_domain

Domain name to use for default email address.

Email address is a required attribute for a Person in Blackboard. This value will be used to set the email address attribute in Blackboard for users who do not have an email address specified in their eDirectory User object. The CN of the user will be used with the value provided to create the email address.

na

C.0 Test Scripts

This section provides test scripts for the Blackboard driver, as well as an example of the results to expect from running them.

C.1 Test Scripts

Following are test scripts for each supported operating system.

C.1.1 Linux Test Script

Linux
----------------------------------------------------------------------------
#!/bin/sh
# Blackboard Driver Test Script
#
# Usage: bbdriver_tester [path to blackboard config dir] [hostname] [optional
    cleanup Y/N]
#
#  path to blackboard config dir = location of bb-config.properties file
#  hostname = virtual installation name (set to localhost for default virtual
     installation)
#  optional cleanup = If Y then remove test objects after running test.  If N
    then leave test objects in Blackboard.
#
# path to jre installed with the remote loader
RDXML_JRE=/opt/netiq/eDirectory/lib64/nds-modules/jre
# path to remote loader classes directory
DIRXML_LIB=/opt/netiq/eDirectory/lib/dirxml/classes

CLASSPATH=$DIRXML_LIB/xercesImpl.jar:$DIRXML_LIB/
    Blackboard.jar:$DIRXML_LIB:$DIRXML_LIB/*

echo "Blackboard Driver Installation Tester"
echo ""
echo "Using java: $RDXML_JRE/bin/java"
$RDXML_JRE/bin/java -version
echo ""
echo "Starting test.."

$RDXML_JRE/bin/java -classpath $CLASSPATH
    com.Omnibond.nds.dirxml.driver.Blackboard.Tester $*

C.1.2 UNIX Test Script

Solaris
-----------------------------------------------------------------------------
#!/bin/sh
# Blackboard Driver Test Script
#
# Usage: bbdriver_tester [path to blackboard config dir] [hostname] 
    [optional cleanup Y/N]
#
#  path to blackboard config dir = location of bb-config.properties file
#  hostname = virtual installation name (set to localhost for default virtual
    installation)
#  optional cleanup = If Y then remove test objects after running test.  If N
    then leave test objects in Blackboard.

# path to jre installed with the remote loader
RDXML_JRE=/opt/netiq/eDirectory/lib/sparcv9/nds-modules/jre

# path to remote loader classes directory
DIRXML_LIB=/opt/netiq/eDirectory/lib/dirxml/classes

CLASSPATH=$DIRXML_LIB/xercesImpl.jar:$DIRXML_LIB/
    Blackboard.jar:$DIRXML_LIB:$DIRXML_LIB/*

echo "Blackboard Driver Installation Tester"
echo ""
echo "Using java: $RDXML_JRE/bin/java"
$RDXML_JRE/bin/java -version
echo ""
echo "Starting test.."
$RDXML_JRE/bin/java -classpath $CLASSPATH
    com.Omnibond.nds.dirxml.driver.Blackboard.Tester $*

C.1.3 Windows Test Script

Windows
---------------------------------------------------------------------
@echo off
rem Blackboard Driver Test Script
rem
rem Usage: bbdriver_tester [path to blackboard config dir] [hostname]
    [optional cleanup Y/N]
rem
rem  path to blackboard config dir = location of bb-config.properties file
rem  hostname = virtual installation name (set to localhost for default
rem  virtual installation)
rem  optional cleanup = If Y then remove test objects after running test. 
rem  If N then leave test objects in Blackboard.


rem path to jre installed with the remote loader
set RDXML_JRE=\netiq\remoteloader\jre

rem path to remote loader classes directory
set RDXML_LIB=\netiq\remoteloader\lib

set CP=%RDXML_LIB%\xercesimpl.jar;%RDXML_LIB%\Blackboard.jar;%
    RDXML_LIB%;%RDXML_LIB%\*

echo "Blackboard Driver Installation Tester"
echo.
echo "Using java: %RDXML_JRE\bin\java"
"%RDXML_JRE%\bin\java" -version
echo.
echo "Starting test.."

"%RDXML_JRE%\bin\java" -cp %CP%
com.Omnibond.nds.dirxml.driver.Blackboard.Tester %1 %2 %3

C.2 Expected Results

A successful test run should resemble the following example:

[root@bb2 blackboard]# ./bbdriver_test_linux /usr/local/blackboard/
    config localhost Y
Blackboard Driver Installation Tester

Using java: /opt/netiq/eDirectory/lib64/nds-modules/jre/bin/java
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

Starting test..
Initializing Blackboard API..
Testing Person Attributes
Passed - DirXML-BB-p-datasource
Passed - DirXML-BB-p-ext-key
Passed - DirXML-BB-p-id
Passed - DirXML-BB-p-sys-role
Passed - DirXML-BB-p-portal-role
Passed - DirXML-BB-p-row-status
Passed - DirXML-BB-p-company
Passed - DirXML-BB-p-firstname
Passed - DirXML-BB-p-middlename
Passed - DirXML-BB-p-lastname
Passed - DirXML-BB-p-student-id
Passed - DirXML-BB-p-email
Passed - DirXML-BB-p-street1
Passed - DirXML-BB-p-street2
Passed - DirXML-BB-p-gender
Passed - DirXML-BB-p-birthdate
Passed - DirXML-BB-p-title
Passed - DirXML-BB-p-city
Passed - DirXML-BB-p-state
Passed - DirXML-BB-p-zip-code
Passed - DirXML-BB-p-department
Passed - DirXML-BB-p-country
Passed - DirXML-BB-p-bphone1
Passed - DirXML-BB-p-bphone2
Passed - DirXML-BB-p-bfax
Passed - DirXML-BB-p-hfax
Passed - DirXML-BB-p-hphone1
Passed - DirXML-BB-p-hphone2
Passed - DirXML-BB-p-mphone
Passed - DirXML-BB-p-job-title
Passed - DirXML-BB-p-educ-level
Passed - DirXML-BB-p-webpage
Passed - DirXML-BB-p-locale
Passed - DirXML-BB-p-cardnumber
Passed - DirXML-BB-p-public-ind
Passed - DirXML-BB-p-available-ind
Passed - DirXML-BB-p-address-ind
Passed - DirXML-BB-p-phone-ind
Passed - DirXML-BB-p-email-ind
Passed - DirXML-BB-p-work-ind

Testing Course Attributes
Passed - DirXML-BB-c-datasource
Passed - DirXML-BB-c-id
Passed - DirXML-BB-c-ext-key
Passed - DirXML-BB-c-course-title
Passed - DirXML-BB-c-inst-name
Passed - DirXML-BB-c-fee
Passed - DirXML-BB-c-locale-enforced
Passed - DirXML-BB-c-description
Passed - DirXML-BB-c-start-date
Passed - DirXML-BB-c-end-date
Passed - DirXML-BB-c-enroll-start-date
Passed - DirXML-BB-c-enroll-end-date
Passed - DirXML-BB-c-row-status
Passed - DirXML-BB-c-pace
Passed - DirXML-BB-c-enrollment-type
Passed - DirXML-BB-c-allow-guest-ind
Passed - DirXML-BB-c-available-ind
Passed - DirXML-BB-c-catalog-ind
Passed - DirXML-BB-c-desc-page
Passed - DirXML-BB-c-lockout-ind
Passed - DirXML-BB-c-abs-limit
Passed - DirXML-BB-c-soft-limit
Passed - DirXML-BB-c-upload-limit
Passed - DirXML-BB-c-days-of-use
Passed - DirXML-BB-c-enr-access-code
Passed - DirXML-BB-c-locale
Passed - DirXML-BB-c-duration-type

Testing Organization Attributes
Passed - DirXML-BB-o-datasource
Passed - DirXML-BB-o-id
Passed - DirXML-BB-o-ext-key
Passed - DirXML-BB-o-title
Passed - DirXML-BB-o-inst-name
Passed - DirXML-BB-o-description
Passed - DirXML-BB-o-allow-guest-ind
Passed - DirXML-BB-o-available-ind
Passed - DirXML-BB-o-catalog-ind
Passed - DirXML-BB-o-desc-page
Passed - DirXML-BB-o-lockout-ind
Passed - DirXML-BB-o-locale-enforced
Passed - DirXML-BB-o-abs-limit
Passed - DirXML-BB-o-soft-limit
Passed - DirXML-BB-o-upload-limit
Passed - DirXML-BB-o-days-of-use
Passed - DirXML-BB-o-fee
Passed - DirXML-BB-o-enr-access-code
Passed - DirXML-BB-o-locale
Passed - DirXML-BB-o-start-date
Passed - DirXML-BB-o-end-date
Passed - DirXML-BB-o-enroll-start-date
Passed - DirXML-BB-o-enroll-end-date
Passed - DirXML-BB-o-row-status
Passed - DirXML-BB-o-pace
Passed - DirXML-BB-o-enrollment-type
Passed - DirXML-BB-o-duration-type

Testing Enrollment Attributes
Passed - DirXML-BB-enr-c-ext-key
Passed - DirXML-BB-enr-p-ext-key
Passed - DirXML-BB-enr-role
Passed - DirXML-BB-enr-datasource
Passed - DirXML-BB-enr-row-status
Disconnected from Blackboard
Test Complete