Introducing the new learning content management features in IBM Workplace Collaborative Learning V2.7

Learn about the new content management features in IBM Workplace Collaborative Learning V2.7. See how to import courses using three different mechanisms for three different uses and how to determine the optimum way to manage learning content.

Brendan Arthurs (brendan.arthurs@ie.ibm.com), Software Engineer, IBM

Brendan Arthurs is a Software Engineer in IBM's Dublin Software Laboratory, where he works on the IBM Workplace Collaborative Learning team. He is the Lead Developer for the content management components in the Version 2.7 release and currently specializes in data persistence. He has co-authored several Redbook publications relating to IBM Workplace and IBM Workplace Collaborative Learning products. You can reach Brendan at brendan.arthurs@ie.ibm.com.



27 November 2007

Also available in Russian

IBM Workplace Collaborative Learning V2.7 is the latest release of IBM's collaborative learning management product. As in previous releases, it provides support for the management and delivery of e-learning course packages that are compliant with the SCORM 1.2 and AICC standards.

Version 2.7 introduces a number of new features and improvements to the learning content management area. For example, you can now import courses using three separate mechanisms, each targeted at a particular usage scenario. Also, management of content servers has been greatly simplified, and support has been added for multiple independent content servers within a single Workplace Collaborative Learning deployment.

This article describes the new learning content management features, explains how to use them, and helps you decide how best to manage learning content in your organization.

Lifecycle of a learning course package

There are four main stages in the lifecycle of an online course in Workplace Collaborative Learning V2.7 (see figure 1):

  • Authoring
  • Import
  • Deployment
  • Delivery
Figure 1. Lifecycle of a learning course package
Lifecycle of a learning course package

The Authoring stage involves creating an e-learning course package, typically with an authoring tool such as the IBM Authoring and Assembly Tool. During the Import stage, the course package is copied into the learning system and registered with it, allowing it to be used to create course offerings.

The Deployment stage occurs when a course offering is created. The contents of the course package are sent from the learning server to one or more content servers, and the course is made available to users for enrollment. After enrolling in the course, users launch the final stage in the course package lifecycle, Delivery. The content server delivers the course, and the learning server records progress information.

This article focuses on the Import and Deployment stages of the content lifecycle. You can skip the Authoring stage by purchasing course material from a third-party vendor, and the Delivery stage is largely user driven, but the Import and Deployment stages require the involvement of a learning administrator. Understanding the details of the operations carried out during these stages makes the process far simpler to manage.


Import process

The Import process lets you to take an e-learning course package created with the Authoring and Assembly Tool -- or purchased from a course vendor -- and register it with the learning system. This requires the course package to be transferred to the learning server, parsed, and then registered in the Masters Catalog in the learning application. Depending upon the number of courses you want to import, you can initiate this process in three different ways, described in the sections that follow.

Using the Course Upload portlet

If you want to import a single course package or a small number of course packages, the Course Upload portlet is the easiest way to do so. It provides a wizard interface to the import process, letting you upload and register a course in a series of simple steps.

To import a course package using the Course Upload portlet, follow these steps:

  1. Log into IBM WebSphere Portal as a user with Learning Administrator privileges.
  2. Open the Workplace Collaborative Learning application by clicking the Launch button and selecting Collaborative Learning.
  3. Expand the Catalog Management section of the Learning Management menu, and then click Course Upload.
  4. In the Course Package Upload portlet, click the Browse button next to the Course Package field; a file selector window opens.
  5. Select the course package file from your local file system, and then click the Continue button.
  6. A progress screen displays as the course package is uploaded to the learning server and parsed.
  7. Once the upload is complete, a screen displays in which you can specify details of the uploaded course. The default values on this screen are those the course author specified when creating the course package. In most cases, they can be left unchanged.
  8. The lower section of the screen lets you select a folder in the Masters Catalog in which to save the imported course. You can select a folder by clicking the radio button to the left of its name, or you can open a folder by clicking its name. You cannot create new folders from this screen.
  9. If you have not yet defined a structure for your Masters Catalog, select the radio button to the left of the Masters Catalog folder to save the course master to the root folder.
  10. Click the Continue button. A summary screen shows the details of the newly imported course master. If you want to receive these details by email, enter your email address in the Email Addresses field. The import is now complete.

You can return to the start of the import process by clicking the Done button, or you can proceed to the Masters or Offerings Catalog by clicking the appropriate button.

Using the Spreadsheet Loader portlet

If you want to import a large number of course packages without having to enter their details into the Course Upload portlet in a repetitive manner, you can use the Spreadsheet Loader portlet to import them in a single bulk operation.

When you use this mechanism, you must first copy all the courses you want to import to an FTP server. You then enter details of each course and the location from which it can be downloaded into a spreadsheet. Finally, you upload the spreadsheet to the learning server, which copies the courses from the FTP server and imports them into the system (see figure 2).

Figure 2. Using the Spreadsheet Loader portlet to import course packages
Using the Spreadsheet Loader portlet to import course packages

Before using the Spreadsheet Loader portlet, you need the following:

  • An FTP server
  • An account on the FTP server with read and write permissions
  • The user name and password required to log in to this account

Follow these steps to import a large number of courses using the Spreadsheet Loader portlet:

  1. Copy all the course package files you want to import onto the FTP server. Note the location to which you copy them.
  2. Log into WebSphere Portal as a user with Learning Administrator privileges.
  3. Open the Collaborative Learning application by clicking the Launch button and selecting Collaborative Learning.
  4. Expand the Data Loader section of the Learning Management menu, and then select Spreadsheet Loader. (If this is the first time you've used the Spreadsheet Loader portlet, you must enable it by clicking the Enable Data Loader button.)
  5. Download a template spreadsheet to be used for course import by clicking the Masters.csv link in the list of Spreadsheet Templates. Save this file to a location on your local file system.
  6. Using a spreadsheet editor, open the saved Masters.csv file and fill it in. Create one line for each course package you want to import. Enter the values in each column as described in Table 1.
Table 1. Fields required by the Spreadsheet Loader portlet for import of course packages
Column name Description / value
Title The name of the course to be used in the Masters Catalog.
Description(Optional) A description of the course to be displayed in the Masters Catalog.
Course NumberThis number must be unique among all courses imported into the learning system.
Keyword(s)(Optional) A semicolon-separated list of keywords to identify the course.
Expiration Date (YYYYMMDD)(Optional)
Course Type (wbt/ilt)Always enter wbt here. Note that it is case sensitive.
Folder NameThe folder in the Masters Catalog into which the course should be saved, relative to the Masters Catalog root folder. Separate folders by using forward slashes (for example, Security Training/SSL)
Master Language (ISO Identifier)(Optional) The language used by the course (for example, en_US).
ftpServerThe fully qualified host name of the FTP server from which the course package can be downloaded.
ftpUsernameThe user name for an account with read access to the FTP server specified previously.
ftpPasswordThe password for the account specified previously.
filePathThe path to the course package file on the FTP server relative to the root directory for the account specified.
Notification List(Optional) A comma-separated list of email addresses to notify after import of this course has completed.
Notification Locale (ISO Identifier) (Optional ) The language to use in the notification email (for example, en_US).
  1. From the Spreadsheet Loader portlet, click the Browse button to the right of the Spreadsheet (CSV) field.
  2. Select the saved CSV file that contains the details of the courses you want to import.
  3. Select Create Masters from the Type drop-down list, and then click the Upload Spreadsheet button.
  4. After a brief delay, a summary of the contents of your spreadsheet displays. If you want to be notified of the outcome of the import operation, enter an email address in the E-mail field, and then select either the "When the operation has completed" option or the "When the operation has started and when it has completed" option, depending upon when you want to be notified.
  5. Enter an identifier for the import task in the "Insert a task ID for this operation" field. This identifier is used to uniquely identify this import operation and is included in notifications relating to the operation.
  6. Click Submit CSV Data.

Because the import operation is processed asynchronously, there may be some delay before it completes. If you opted to receive notification, you receive an email when the import is complete. Otherwise, periodically check the contents of the Masters Catalog; once the courses from your spreadsheet appear there, they are ready to use.

Using the Command Line Import tool

The Command Line Import tool lets you control the course import process from a Microsoft Windows command prompt. This is most useful in situations where you need to launch the Import process from a script or batch file that is executed without user intervention. Unlike the other Import mechanisms, a course master is not saved in the Masters Catalog when you use the Command Line Import tool; instead, it creates an unregistered course master, which must be registered separately. You can do this manually through the Catalog Management UI or programmatically using a custom client over the Workplace Collaborative Learning public APIs.

The Command Line Import tool is available as part of the Workplace Collaborative Learning Command Line utilities, which are placed in the WebSphere\PortalServer\Learning\learningserver\utils directory on your learning server following installation. To access the utilities and prepare them for use, follow these steps:

  1. Copy the commandline-utilities.zip file from your learning server to a client machine, and then extract it to a new directory, for example, C:\CommandLineUtils.
  2. Ensure that you have a Java Virtual Machine (JVM) installed on your client machine and that the JAVA_HOME environment variable points to the location where this is installed.
  3. Open a command prompt, and then navigate to the directory from which you extracted the Command Line utilities. In the previous case, you can do this by running the following command:
    cd C:\CommandLineUtils
  4. Navigate to the bin directory by running this command:
    cd bin
  5. Verify that the utilities are properly installed by running the climp -? command. A summary of available Command Line options displays.

To import a course using the Command Line Import tool, you need to gather the following details:

  • The URL through which the learning server's import utility can be accessed. For example, if you normally access the learning server through http://learningserver.example.com/wps/portal, the URL for the import utility is http://servername.example.com/lms-lmm/import.
  • The user name and password of an account on the learning server with Learning Administrator permissions.
  • Details of an FTP server accessible from both the client machine and the learning server.
  • The user name and password of an account with read and write access to the FTP server.
  • An email address to which notification of the results of the import operation should be sent.
  • The path to the course package file on the client machine from which the Command Line Import tool is run.

After you have installed the Command Line utilities and gathered the required details, you can import a course using the Command Line Import tool by running the code shown in listing 1.

Listing 1. Importing a course
climp -cm <learning server URL> -cmu 
<Learning Administrator username> -cmp 
<Learning Administrator password> -ftp <FTP server hostname> -ftpu 
<Username on FTP server> -ftpp <Password on FTP server> -u -e 
<Email address to send notification to> <Path to course package file>

As an example:

climp -cm learningserver.example.com -cmp learningadmin -cmp 
adminpassword -ftp ftpserver.example.com -ftpu ftpuser -ftpp 
ftppassword -u -e learningadmin@example.com c:\coursepackage.zip

Deployment

After you've imported a course into the learning server, you must create a course offering so that users can enroll in and launch the course. From a user's point of view, creating a course offering simply adds the course to the offerings catalog; however, at the back end, this operation also triggers deployment of the course from the learning server to a content server.

Deployment involves the transfer of the contents of the course package from the learning server file system to one or more content locations associated with the content server assigned to the offering.

Content server architecture

Before you begin to create offerings of your course masters, you must first decide on a content server architecture for your Workplace Collaborative Learning installation. Answer these questions:

  • Do you have users who are mainly located in the same geography as the learning server, or are users more widely distributed?
  • Do you require failover support for delivery of courses?
  • Do you want to be able to report on the progress of all users taking a particular course in a single operation, or do you want to split up reporting by geography?
  • Do you intend to deliver bandwidth-intensive courses or small courses?

Based on your answers to these questions, you can determine the content server architecture that best suits your needs.

Following a standard installation of Workplace Collaborative Learning, a single content server is defined that uses the learning server file system to store all course content and uses the learning server's built-in HTTP server to deliver it. Although this architecture is fine for a proof-of-concept, single-machine system or an installation that serves a small number of users, it is not adequate for larger installations or for systems in which a cluster of learning servers is used.

Figure 3 shows the basic recommended configuration for the single content server and defines a single content server backed by a single content location. You typically implement this configuration using a standalone HTTP server as the content server with the content location accessed using an FTP or FTPS server running on the same machine as the HTTP server. Alternatively, the content server's file system could be mounted on the learning server.

Figure 3. Recommended configuration for the single content server
Recommended configuration for the single content server

Table 2 shows an example of the servers and services used in a single content server architecture.

Table 2. Servers and services used in a single content server architecture
Main function Server nameServices
Learning serverlearning.example.comLearning application:
http://learning.example.com:10038/wps/portal
Content location/content serverlearningcontent.example.comFTP server (for content deployment):
ftp://user:password@learningcontent.example.com/content

HTTP server (for content delivery):
http://learningcontent.example.com/content

A configuration supporting a clustered content server is illustrated in figure 4. It defines a single content server with four separate content locations, allowing load balancing to be implemented between the different content locations and providing continued access should one or more of the content locations fail. The content locations are typically implemented with four machines, each running an HTTP server for content delivery and an FTP server for content deployment.

Figure 4. Recommended configuration for a single clustered content server
Recommended configuration for a single clustered content server

The content server most likely is a reverse proxy, balancing requests between the different content locations. Table 3 provides an example of the servers and services used in a single clustered content server architecture.

Table 3. Example servers and services for a single clustered content server architecture
Main function Server nameServices
Learning serverlearning.example.comLearning application:
http://learning.example.com:10038/wps/portal
Content location 1learningcontent1.example.comFTP server (for content deployment):
ftp://user:password@learningcontent1.example.com/content

HTTP server (for content delivery):
http://learningcontent1.example.com/content
Content location 2learningcontent2.example.comFTP server (for content deployment):
ftp://user:password@learningcontent2.example.com/content

HTTP server (for content delivery):
http://learningcontent2.example.com/content
Content location 3learningcontent3.example.comFTP server (for content deployment):
ftp://user:password@learningcontent3.example.com/content

HTTP server (for content delivery):
http://learningcontent3.example.com/content
Content location 4learningcontent4.example.comFTP server (for content deployment):
ftp://user:password@learningcontent4.example.com/content

HTTP server (for content delivery):
http://learningcontent4.example.com/content
Load balancer / content serverlearningcontentvirtual.example.comHTTP load balancer redirecting to one of the four content locations:
http://learningcontentvirtual.example.com/content

Finally, let's look at the configuration involving multiple clustered content servers as shown in figure 5. It is broadly similar to the single clustered content server configuration with the main difference being the presence of several independent content servers, each of which serves users located in a separate geography. This architecture is intended to support situations in which groups of users are based in different locations and bandwidth requirements make it impractical for the full contents of the course to be transferred from the learning server to the user's location every time a course is delivered.

To avoid the need for this, a content server is defined for each main geography, and separate course offerings are created, each deployed to a specific content server. In the case of an organization with a presence in North America and Europe, two content servers can be defined, one for deploying courses targeted at employees in North America and one for deploying courses targeted at employees in Europe. If a course needs to be delivered to all employees, two separate offerings can be created with each one deployed to a separate content server.

Figure 5. Multiple clustered content servers
Multiple clustered content servers

Content server configuration: Implementing your desired architecture

After you have decided on a suitable content server architecture, you can implement it using the Advanced Settings section of the Learning Management UI, accessed by following these steps:

  1. Log into WebSphere Portal as a user with Learning Administrator privileges.
  2. Open the Workplace Collaborative Learning application by clicking the Launch button and selecting Collaborative Learning.
  3. Expand the Advanced Settings item from the Learning Management menu, and then select Content Servers.

The Content Server Settings page displays a list of currently configured content servers. In a newly deployed system, this has a single entry named ContentServer1. If you have already created some course offerings, the number of offerings deployed to the content server is displayed beside it.

Although it is possible to edit an existing content server to fit it into a new architecture, the cleanest approach is to create new content server entries. After you have implemented the new architecture, you can move offerings from their original content server to the new ones and optionally delete the original content server.

Before starting to configure your content servers, make sure you have the following information about each content server in your new architecture:

  • The URL through which the content server can be accessed
  • Details of the FTP servers or file system locations to which content must be uploaded to make it available through the content server URL
  • User names and passwords required to connect to the content locations, if content is to be uploaded using FTP

Follow these steps to register each new content server with the Workplace Collaborative Learning system:

  1. Click the Create New button, and then specify a name for the content server. (Note that although it may be helpful to use the content server's host name, it is not required; you can use any descriptive name.)
  2. Optionally, specify a detailed description of the content server.
  3. Click the Edit URL button, and then click OK when a dialog box displays asking whether or not you want to update the content server URL. After you do this, the Content Server URL field becomes active.
  4. Enter the URL through which the content server can be accessed in the Content Server URL field.

You can now specify details of the content locations associated with the content server. Follow these steps for each location to which content must be uploaded to make it available through the content server's URL:

  1. Click the Create New button in the "Content Locations for this Content Server" section of the page. A new browser window opens, allowing you to enter details of the content location (see figure 6).
  2. Enter a descriptive name for the new content location in the Content Location Name field. (This does not need to match the host name of the content location.)
  3. Optionally, enter a description of the content location in the Notes field.
  4. Select the mechanism to be used to upload files to the content location from the Content Location Type drop-down menu. If you intend to use a mapped drive or remote mounted file system on the Workplace Collaborative Learning server, select Filesystem. If you intend to use FTP or FTPS, select FTP.
  5. If you selected Filesystem as the Content Location Type, enter in the Content Location field the filesystem path on the Workplace Collaborative Learning server through which the content location can be accessed; for example, d:\content or /mnt/contentServer/content. (Note that you must ensure that the location specified is automatically mapped or mounted whenever the Workplace Collaborative Learning server machine is started, so that content can be deployed and delivered.)
  6. If, on the other hand, you selected FTP as the Content Location Type, enter the fully qualified host name of the FTP or FTPS server in the FTP Host field. If your server is running on a port other than 21, append a colon (:) followed by the port number to the host name. For example, in the case of an FTP server running on port 21 on contentlocation.example.com, enter contentlocation.example.com in the FTP Host field. In the case of an FTPS server running on port 990 on contentlocation.example.com, enter contentlocation.example.com:990 in the FTP Host field.
  7. Enter the user name required to connect to the FTP server in the FTP Username field, and the enter the password for that account in the FTP Password field.
  8. If content needs to be uploaded to a location other than the user root of the FTP server to be available through the content server's URL, enter the location relative to the user's root directory in the Content Location field (above the FTP Settings for Content Location heading).
  9. The other fields in the Content Location Details window can be left unchanged with the API Proxy Location field set to Same as Content Location, and the "Test Content Location before Saving" option selected. Review your entries, and then click Save.

Note that the content server and content location settings are not saved permanently until you select the "Save in the Edit Content Server page" option in the main Learning Management UI.

Figure 6. Content Locations Details window
Content Locations Details window

Conclusion

IBM Workplace Collaborative Learning V2.7 greatly improves the available learning content management facilities. The addition of the Course Upload and Spreadsheet Loader portlets means that you can now select exactly the right tool to bring courses into the system. You can import and register a course master in seconds using the Course Upload portlet, or you can upload an entire library of courses using the Spreadsheet Loader. For situations in which you need to launch the Import process from a script, the Command Line Import tool remains an option.

You can define, view, and edit your content deployment architecture through the content server UI, allowing you to add content servers to a running system without any system downtime. The availability of multiple content servers on a single Workplace Collaborative Learning deployment means that you can deploy content close to your users, reducing bandwidth requirements and improving their experience.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=271235
ArticleTitle=Introducing the new learning content management features in IBM Workplace Collaborative Learning V2.7
publish-date=11272007