IBM Lotus Learning Management System Handbook

IBM Lotus Learning Management System Handbook
Front cover
IBM Lotus
Learning Management System
Handbook
How to plan for your LMS system
How to install and configure
your LMS system
How to administer and
use your LMS system
Mike Ebbers
Christina Bischoff
Danny Buls
Dag Oliver
Edwin Steenvoorden
Sebastian Thomschke
ibm.com/redbooks
International Technical Support Organization
IBM Lotus Learning Management System
Handbook
October 2003
SG24-7028-00
Note: Before using this information and the product it supports, read the information in
“Notices” on page xiii.
First Edition (October 2003)
This edition applies to Version 1.0a of the IBM Lotus Learning Management System (product
number AF03GML).
© Copyright International Business Machines Corporation 2003. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP
Schedule Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Co-authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Part 1. Planning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1. Introduction to the IBM Lotus Learning Management System. 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 What a Learning Management System is . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 What makes the IBM Lotus LMS special. . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Blended learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Authoring tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.3 Offline client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.4 The bottom line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 How the LMS is different from LearningSpace . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Lotus Workplace and the LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chapter 2. Planning your LMS deployment . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 What is in the LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 How these components interact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2 A closer look at the LMS components. . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Making a project plan for deploying LMS . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 Stage 1: IBM Lotus LMS testbed launch. . . . . . . . . . . . . . . . . . . . . . 21
2.2.2 Stage 2: Scoping, planning, and architecture assessment . . . . . . . . 22
2.2.3 Stage 3: LMS deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.4 Stage 4: Health check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Chapter 3. Capacity planning for the LMS . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1 Configuration options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.1 Tier configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 The initial capacity sizing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Defining student population. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
© Copyright IBM Corp. 2003. All rights reserved.
iii
3.2.2 Defining the workload pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.3 Performance objectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.4 Capacity planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Scalability options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.1 A small deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.2 Another small deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.3 A medium deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.4 A large deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.5 Deployment on remote locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 Database size estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Part 2. Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Chapter 4. Pre-installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1 Roles and responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.1 Champion or sponsor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.2 System architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.3 Network architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.4 Database administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.5 IT system administrator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.6 Help desk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.7 System IT specialist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.8 Corporate data integration specialist. . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.9 Change management specialist . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.10 Content developers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Preconfiguring the LMS servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.1 Installing XVFB on UNIX platforms to enable reporting . . . . . . . . . . 44
4.3 LDAP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.1 Tasks to complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.2 Additional information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4 Database server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.1 Tasks to complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.5 SMTP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5.1 Tasks to complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5.2 SMTP commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6 HTTP servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6.1 HTTP servers for LMS user interface access . . . . . . . . . . . . . . . . . . 61
4.6.2 HTTP servers for course contents . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.6.3 Tasks to complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.7 WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.7.1 WAS terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.7.2 Tasks to complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.7.3 Additional information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
iv
IBM Lotus Learning Management System Handbook
Chapter 5. Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1 Installation overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2 Installing LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2.1 About the LMS installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2.2 Tasks to complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2.3 LMS installation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2.4 Installation file structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3 Creating and populating databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4 Configuring WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.2 Defining the WAS parameters at the correct scope . . . . . . . . . . . . . 93
5.4.3 Example of WebSphere settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4.4 Deploying the LMM and DS applications to WebSphere . . . . . . . . . 97
5.5 System configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.1 Setting up the DS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.2 Help files for the setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.3 Setting up e-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.6 Testing the LMS application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.7 Additional DS server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Chapter 6. Post-installation tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.1 Move static LMS elements to the Web server . . . . . . . . . . . . . . . . . . . . . 106
6.1.1 Installing static files for LMM user interface . . . . . . . . . . . . . . . . . . 106
6.1.2 Installing static files for DS user interface . . . . . . . . . . . . . . . . . . . . 107
6.2 LDAP performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.1 LDAP tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.2 Indexing LDAP attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2.3 Deferring the IsManager lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3 Database server performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Tuning TCP settings on LMS servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4.1 Microsoft Windows 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.4.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.4.3 IBM AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.4.4 Sun Solaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.5 Tuning HTTP servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.5.1 Reload interval for WebSphere plug-in configuration file . . . . . . . . 115
6.5.2 Sun ONE Web server, Enterprise Edition - Solaris . . . . . . . . . . . . . 115
6.5.3 Microsoft Internet Information Server (IIS) . . . . . . . . . . . . . . . . . . . 116
6.5.4 IBM HTTP Server - UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.5.5 IBM HTTP Server - Windows 2000 . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.6 Tuning the WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . 120
6.6.1 JVM heap size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.6.2 JVM Just in Time Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Contents
v
6.6.3
6.6.4
6.6.5
6.6.6
6.6.7
6.6.8
JVM - Avoiding class verification. . . . . . . . . . . . . . . . . . . . . . . . . . . 121
JVM - Number of garbage collection threads . . . . . . . . . . . . . . . . . 121
Web container thread pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Web Container MaxKeepAliveConnections . . . . . . . . . . . . . . . . . . 122
MaxKeepAliveRequests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
JDBC Data Source - Connection Pool size. . . . . . . . . . . . . . . . . . . 123
Chapter 7. Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.1 Server maintenance plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.2 Backup hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3 Updating LMS basic settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4 Recommended server restart sequence . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.4.1 Batch files to stop and start LMS . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Chapter 8. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.2 Locating the problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.3 HTTP Server and plug-in problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.3.1 Check plug-in settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.3.2 HTTP server log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.3.3 Review WebSphere plug-in log file . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.4 Problems with WebSphere security . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.4.1 Cannot activate Global Security . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.4.2 How to disable security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.5 Database error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.6 LMS Updater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.7 Test JDBC connections from within WebSphere . . . . . . . . . . . . . . . . . . 140
8.7.1 Test scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.7.2 Deploying the test tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
8.7.3 Content of TestDbConnections.jsp . . . . . . . . . . . . . . . . . . . . . . . . . 142
Chapter 9. Migration overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9.2 Planning your migration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9.3 Migrating data from Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.4 Migration from LearningSpace to LMS . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.5 Additional resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Chapter 10. Integration with other systems . . . . . . . . . . . . . . . . . . . . . . . 153
10.1 Options for system integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.2 Connecting LMS with LVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.2.1 Installing the LVC-LMS connector. . . . . . . . . . . . . . . . . . . . . . . . . 156
10.2.2 Enabling an LVC server in LMS . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.2.3 Enabling SSO and importing the LTPA key on LVC servers . . . . 159
vi
IBM Lotus Learning Management System Handbook
10.2.4 About generated courses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.2.5 Creating and editing courses that include a live session . . . . . . . 161
10.2.6 Managing courses that include a live session . . . . . . . . . . . . . . . . 162
10.2.7 Tips for working with live sessions . . . . . . . . . . . . . . . . . . . . . . . . 163
10.3 Using the LMS API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.3.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
10.3.2 A Java-based example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Part 3. Configuration, customization, and reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Chapter 11. Configuring LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
11.1 Getting started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
11.2 LDAP, the key to the LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
11.2.1 Matching strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
11.2.2 Controlling access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
11.3 Scaling down the LMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
11.4 Managing users in LMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.4.1 Creating roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.4.2 Explicit and automatic roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.4.3 Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
11.5 Create profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
11.5.1 Rostering users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.6 Course catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
11.6.1 Master and course offering folders . . . . . . . . . . . . . . . . . . . . . . . . 199
11.6.2 Creating course entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
11.6.3 Curriculums and certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Chapter 12. Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12.2 Introduction to customization sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12.2.1 Define customization sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.2.2 Test customization sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.3 Replacing the application logo and text. . . . . . . . . . . . . . . . . . . . . . . . . 212
12.3.1 Replacing the logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
12.3.2 Replacing the text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
12.4 Install the ITSO sample customization set . . . . . . . . . . . . . . . . . . . . . . 214
12.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
12.4.2 Extract the customization set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
12.4.3 Register the new customization set . . . . . . . . . . . . . . . . . . . . . . . 216
12.4.4 Deployed customization set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
12.5 Displaying an online users counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
12.6 Payment method capturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
12.6.1 JSP modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
12.6.2 Domino Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Contents
vii
Chapter 13. Custom reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
13.2 JReport overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
13.3 JReport installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
13.3.1 JReport system requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
13.3.2 JReport Designer download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
13.3.3 JReport installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
13.3.4 Install JReport help files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
13.4 Steps to create a custom report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
13.5 Set up a new report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
13.5.1 Creating a custom catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
13.5.2 Locating an existing report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
13.5.3 Create a custom template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
13.6 Changing the report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
13.6.1 Catalog browser and Report Inspector . . . . . . . . . . . . . . . . . . . . . 240
13.6.2 Managing report layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
13.6.3 Working with groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
13.6.4 Working with formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
13.6.5 Adding a data field to the report . . . . . . . . . . . . . . . . . . . . . . . . . . 247
13.6.6 Using parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
13.6.7 Creating and editing SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
13.6.8 Basic SQL query structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
13.6.9 Inserting a subreport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
13.6.10 Using the view mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
13.7 Deploying a report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
13.7.1 Special parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
13.7.2 Selection types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
13.7.3 Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
13.7.4 Example of attributes for reports . . . . . . . . . . . . . . . . . . . . . . . . . . 257
13.7.5 Enabling custom reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
13.8 Example of editing an existing report . . . . . . . . . . . . . . . . . . . . . . . . . . 258
13.9 Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Part 4. Using the LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Chapter 14. Content is still king. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
14.1 Course development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
14.1.1 The development process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
14.1.2 Instructional design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
14.1.3 Design elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
14.1.4 Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
14.1.5 IBM 4-Tier Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
14.1.6 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
viii
IBM Lotus Learning Management System Handbook
14.1.7 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
14.2 Content-related terminology in LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
14.2.1 Course. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
14.2.2 Curriculum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.2.3 Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.3 Where the content comes from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.3.1 SCORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
14.3.2 AICC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
14.3.3 Importing existing content into LMS . . . . . . . . . . . . . . . . . . . . . . . 291
14.4 The LMS Authoring Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
14.4.1 What the LMS Authoring Tool is meant to do . . . . . . . . . . . . . . . . 293
14.4.2 What the Authoring Tool is not intended to do . . . . . . . . . . . . . . . 294
14.4.3 The LMS Authoring Tool Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.5 Content deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.5.1 Deployment process overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.5.2 The deployment process in detail . . . . . . . . . . . . . . . . . . . . . . . . . 297
14.6 CLIMP, the LMS Command Line Import utility . . . . . . . . . . . . . . . . . . . 299
14.6.1 Installing CLIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
14.6.2 Using CLIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
14.6.3 Troubleshooting with CLIMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Chapter 15. A User view of LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
15.1 The user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
15.1.1 Anonymous access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
15.1.2 Student access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
15.1.3 Manager interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
15.1.4 Instructor interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
15.1.5 Administrator interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
15.2 Offline Learning Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
15.2.1 Deploying the Offline Learning Client . . . . . . . . . . . . . . . . . . . . . . 318
15.2.2 Downloading the Offline Learning Client . . . . . . . . . . . . . . . . . . . . 320
15.2.3 Using the Offline Learning Client . . . . . . . . . . . . . . . . . . . . . . . . . 321
15.2.4 Using the Offline Client on one workspace for different users . . . 323
15.2.5 Silent mode installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
15.2.6 Install the Offline Client from a CD . . . . . . . . . . . . . . . . . . . . . . . . 324
Part 5. LMS scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Chapter 16. Corporate scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
16.1 What it takes to implement the LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
16.1.1 The project team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
16.2 Project plan for the deployment at MAGIC . . . . . . . . . . . . . . . . . . . . . . 332
16.3 LMS testbed launch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
16.3.1 Define boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Contents
ix
16.3.2 Building a testbed system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
16.3.3 Skills transfer for both business and technical communities . . . . . 334
16.4 Scoping, planning, and architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
16.4.1 Capacity planning for MAGIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
16.4.2 Pre-configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
16.5 LMS deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
16.5.1 Installation at MAGIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
16.5.2 LMS configuration checklist for MAGIC’s pilot . . . . . . . . . . . . . . . 339
16.5.3 LMS configuration settings for MAGIC’s pilot . . . . . . . . . . . . . . . . 343
16.6 Content deployment at MAGIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
16.6.1 Managing changes and deploying updated courses . . . . . . . . . . . 354
16.7 Education rollout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
16.8 Health check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Appendix A. Sample sizing questionnaire . . . . . . . . . . . . . . . . . . . . . . . . 359
Appendix B. LMS installation checklist. . . . . . . . . . . . . . . . . . . . . . . . . . . 363
LMS servers - Preconfiguration checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
LMM machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
DS machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
LDAP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Database server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
SMTP server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
HTTP servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
HTTP server for LMS-LMM user interface . . . . . . . . . . . . . . . . . . . . . . . . 367
HTTP server for LMS-DS user interface . . . . . . . . . . . . . . . . . . . . . . . . . . 368
HTTP server for content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
WebSphere Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Installation overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Appendix C. Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Supported operating systems for LMS servers . . . . . . . . . . . . . . . . . . . . . . . 374
Supported LDAP directory servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Supported database servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Supported Web servers for use with WAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Client operating system and browser requirements . . . . . . . . . . . . . . . . . . . . 375
Appendix D. WebSphere Application Server security parameters . . . . . 377
How to set up security in WAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
LDAP user registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Advanced LDAP settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
LTPA configuration settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Global security settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
x
IBM Lotus Learning Management System Handbook
Appendix E. WebSphere scope setting. . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Set the correct scope of the parameters in WebSphere . . . . . . . . . . . . . . . . 390
Saving the work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Appendix F. Default LDAP attribute mappings . . . . . . . . . . . . . . . . . . . . . 393
Default LDAP user attribute mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Default LDAP group attribute mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Default directory profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Determining the effective mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Appendix G. Configuring LMS for the MAGIC company . . . . . . . . . . . . . 397
Scenario configuration example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Roster developers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Apply roles to rostered developers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Add developers to access control on course folders. . . . . . . . . . . . . . . . . 401
Test developer access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Switch to a developer ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Configure roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Configure profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Configure locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Configure rooms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Configure skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Configure zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Configure course master folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Configure course offering folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Add course masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Roster users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Apply roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Assign user profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Apply skills and zones to instructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Add course offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Schedule class offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Appendix H. Default LMS user roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Roles and permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Appendix I. CLIMP help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
LMS Command-Line Import Utility (CLIMP) . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Appendix J. Additional material. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Contents
xi
Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
System requirements for downloading the Web material . . . . . . . . . . . . . 444
How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Web serving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Product information for supported database systems . . . . . . . . . . . . . . . . 448
Directory server information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Free LDAP viewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Other LDAP links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
HTTP server information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
IBM WebSphere Application Server information . . . . . . . . . . . . . . . . . . . . 451
How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
xii
IBM Lotus Learning Management System Handbook
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area.
Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product, program, or service that
does not infringe any IBM intellectual property right may be used instead. However, it is the user's
responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document.
The furnishing of this document does not give you any license to these patents. You can send license
inquiries, in writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such provisions
are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES
THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer
of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may
make improvements and/or changes in the product(s) and/or the program(s) described in this publication at
any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm
the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on
the capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the
sample programs are written. These examples have not been thoroughly tested under all conditions. IBM,
therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy,
modify, and distribute these sample programs in any form without payment to IBM for the purposes of
developing, using, marketing, or distributing application programs conforming to IBM's application
programming interfaces.
© Copyright IBM Corp. 2003. All rights reserved.
xiii
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
AIX®
DB2 Connect™
DB2®
Domino™
e(logo)server™
eServer™
ibm.com®
IBM®
iSeries™
LearningSpace®
Lotus Notes®
Lotus®
Notes®
PowerPC®
pSeries™
Redbooks™
Redbooks (logo)
Sametime®
SecureWay®
SP2®
WebSphere®
xSeries®
zSeries®
™
The following terms are trademarks of International Business Machines Corporation and Rational Software
Corporation, in the United States, other countries or both.
Rational®
The following terms are trademarks of other companies:
ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United
States, other countries, or both.
Microsoft, Windows, Windows NT, Windows 2000, Windows XP and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun
Microsystems, Inc. in the United States, other countries, or both.
C-bus is a trademark of Corollary, Inc. in the United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
SET, SET Secure Electronic Transaction, and the SET Logo are trademarks owned by SET Secure
Electronic Transaction LLC.
Other company, product, and service names may be trademarks or service marks of others.
xiv
IBM Lotus Learning Management System Handbook
Preface
This IBM Redbook introduces the new IBM Lotus Learning Management System
(LMS) into the growing world of e-Learning products and systems. We wrote it to
help you plan for, install, configure, and use the LMS to meet your company’s
education requirements.
We begin with a discussion of what a learning management system is. We
describe how this new LMS contains a WebSphere®-based architecture. We list
the requirements and prerequisites for supporting this e-Learning environment.
Then we tell you of our installation experiences, and show you how to configure
and customize the system for your company. Lastly, we give you some tips on
how to adminster and use the LMS. We end with a case study that illustrates
these points.
Anyone who is reponsible for choosing and implementing a learning
management system will want to read this publication.
The team that wrote this redbook
The project leader, Mike Ebbers, is a consulting IT specialist at the International
Technical Support Organization, Poughkeepsie Center. He has been with IBM for
29 years: 10 in technical marketing, 11 in technical education, and 8 in the ITSO.
He leads IBM Redbook projects on Lotus software and on IBM products such as
workflow and imaging.
Authors
This redbook was produced by a team of specialists from around the world
working at the International Technical Support Organization, Cambridge Center.
Christina Bischoff is a Consultant working for IBM ISSL in Munich, Germany.
She has worked with e-Learning since she started working for Lotus in 1999,
while still a university student. In 2001, after finishing her studies in Economics
and Spanish, she joined the company as a consultant and specialized in
LearningSpace® Forum, LearningSpace 5, Virtual Classroom, and Learning
Management System.
Danny Buls is a Certified Consulting IT Specialist. During his 26 years with IBM,
he has been active in application development as a developer, project manager,
and application development manager. He had EMEA and WW responsibilities
© Copyright IBM Corp. 2003. All rights reserved.
xv
as a Solutions Manager in the Government Services Deilvery Organization. As
one of the Core e-business Hosting Services Instructors, he has rolled out the
ebHS programs for EMEA and Asia Pacific. During recent years, as an EMEA
Consultant for e-Learning, he is in charge of promoting IBM’s 4-Tier e-Learning
Model for both internal and external accounts.
Dag Oliver is an Advisory IT Specialist covering the Nordic Region. He has been
working with e-Learning since he started with Lotus in 1998. He joined Lotus
after 12 years in the travel industry. In his role as a pre-sales engineer, he has
been involved in most of the major e-Learning projects in the Nordic countries
during the last few years. His main goal is taking the “e” out of e-Learning.
Edwin Steenvoorden is a Project Manager working for IBM Software Group
Services in Dubai (United Arab Emirates). He has over nine years of experience
with Lotus Domino™. He holds a degree in Mathematics. He is a Principal
Certified Lotus Professional for both Administration and Development for Domino
R5 and 6, and is a Certified Instructor. His areas of expertise extend to all
Domino products, including the e-Learning products.
Sebastian Thomschke is an IT specialist working for IBM Business Consulting
Services, Human Capital Management in Berlin, Germany. He has over five
years of experience in Lotus Domino Application Development and has been
involved in many IBM Lotus LearningSpace and LMS projects during the last
three years. Sebastian is a Certified Lotus Professional at the Principal level in
Application Development. His areas of expertise include object-oriented analysis,
design and programming, C++, Java, Visual Basic, Web development, and
client-server applications. Sebastian has a degree in Business Administration
from the Berufsakademie Berlin, Germany.
Co-authors
Thanks to the following people for contributing portions of this redbook:
Alyce Eisler heads up The RockTeam's Online Learning course development
and training. Building on experience and education as a teacher and instructional
designer, she provides a sound educational foundation for our online projects
and brings over 15 years of experience in managing and developing training
curriculum, documentation, interactive training, CBT, and Web-based training
design and delivery, technology application, collaborative and independent
learning, assessment and evaluation design. To contact her, call 610-640-4880
or e-mail her at [email protected]
Dave Erickson is a Senior IT Specialist with IBM Software Service for Lotus in
San Diego, California. In that capacity, he is responsible for anticipating and
resolving technical issues that arise in the course of consulting engagements,
xvi
IBM Lotus Learning Management System Handbook
and for designing, building, and implementing applications and infrastructures
that meet customer needs. He works with clients to facilitate the formulation and
execution of information strategies that are innovative and well-aligned with the
client’s business goals.
Virginia FitzPatrick is President of Morris Planning Associates, Inc, which is an
IBM business partner in Morris Plains, NJ, USA, specializing in technical training.
She has be working with Lotus Notes/Domino since its initial release in 1989.
She is a Principle Certified Lotus Professional for both System Administration
and Application Development and also is a Certified Lotus Instructor. In addition,
Virginia is an IBM Certified Instructor for Websphere Release 5. She has been
involved with e-Learning since the initial release of Lotus LearningSpace and has
installed and supported all versions of LearningSpace including LearningSpace
Virtual Classroom. Virginia has a Bachelors of Science degree from Worcester
Polytechnic Institute in Worcester, MA, USA, and has worked as an Industrial
Engineer prior to her involvement with IT.
Patience Rockey, president of The RockTeam (http://www.RockTeam.com/),
specializes in e-Learning utilizing IBM Lotus products. With an EdD from
Harvard, she brings to her clients assistance in analyzing their e-Learning needs
and developing an effective e-Learning plan. She also directs Lotus Education
Online (http://www.LEOnline.net), bringing to the Lotus community training on
IBM Lotus products. To contact her, call 610-640-4880 or e-mail
[email protected]
Steve Roffler is a developer for the IBM Lotus Learning Management System.
His formal education was in Electrical Engineering and Oceanography, and he
has been involved in the production of software for medical instruments, CAD
systems, and Learning Management Systems for 20 years. He is living in
Madison, WI, halfway between Lotus headquarters and his native state of Idaho.
Brad Schauf is a Senior Consulting IT Architect with IBM Software Services for
Lotus in San Diego, California. He has over eighteen years of experience in the
computer services and consulting industry as an architect and developer. He has
experience with enterprise wide software and messaging deployments, with a
concentration on Lotus Notes/Domino messaging infrastructure architecture and
application development and integration and Websphere-related technologies.
Acknowledgements
Special thanks to the following people who supported this redbook:
William Tworek, for hosting the project and providing invaluable setup
assistance and support for the hardware and software on our test systems
International Technical Support Organization, Cambridge Center
Preface
xvii
Maureen (Moe) Kraft, for her outstanding work as liaison to other Lotus®
developers, subject matter experts, and reviewers
IBM Lotus Development, Westford MA
Thanks to the following people for their contributions to this project:
Mohamed Bachiri
Edward Dussourd
Rob Flynn
Mitchell Grossberg
Michael Herzberg
David Holness
Catherine Moynihan
Phyllis Mueller
Bob Rosa
IBM Lotus Development, Cambridge MA
Lamont Bowens
Elizabeth Bowling
Mark Doxtader
Cristina Freitas
Kenneth McGovern
Cuong Nguyen
Marc Pagnier
Cori Ryan
Dave Schlesinger
Bryan B. Sorrows
Martha Stammers
Marshall Wilensky
Henry Wong
IBM Lotus Development, Westford MA
Elmar Haussmann
Stefan Reisser
Thomas Reske
IBM Germany
George Poirier
IBM Dallas
Julie Czubik
International Technical Support Organization, Poughkeepsie Center
xviii
IBM Lotus Learning Management System Handbook
Become a published author
Join us for a two- to six-week residency program! Help write an IBM Redbook
dealing with specific products or solutions, while getting hands-on experience
with leading-edge technologies. You'll team with IBM technical professionals,
Business Partners and/or customers.
Your efforts will help increase product acceptance and customer satisfaction. As
a bonus, you'll develop a network of contacts in IBM development labs, and
increase your productivity and marketability.
Find out more about the residency program, browse the residency index, and
apply online at:
ibm.com/redbooks/residencies.html
Comments welcome
Your comments are important to us!
We want our Redbooks™ to be as helpful as possible. Send us your comments
about this or other Redbooks in one of the following ways:
򐂰 Use the online Contact us review redbook form found at:
ibm.com/redbooks
򐂰 Send your comments in an Internet note to:
[email protected]
򐂰 Mail your comments to:
IBM® Corporation, International Technical Support Organization
Dept. TQH Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
Preface
xix
xx
IBM Lotus Learning Management System Handbook
Part 1
Part
1
Planning
In this part we introduce the IBM Lotus Learning Management System. Then we
discuss ways to plan for its installation.
© Copyright IBM Corp. 2003. All rights reserved.
1
2
IBM Lotus Learning Management System Handbook
1
Chapter 1.
Introduction to the IBM
Lotus Learning Management
System
In this chapter we describe the functions of a Learning Management System in
general and the benefits of the IBM Lotus Learning Management System (LMS).
We discuss the differences between the LMS and Lotus LearningSpace R5. At
the end we give an overview of future product plans.
© Copyright IBM Corp. 2003. All rights reserved.
3
1.1 Introduction
People do banking transactions on the Internet. They find catalogs and
information on the Web. Online shopping is getting big. Plenty of companies,
organizations, and educational institutions have established e-Learning offerings
to make learning more flexible, efficient, and just-in-time.
Training is taken more seriously than ever before. Not only is it strategic and
important, but also it links directly to the organization and business results.
Training improves employee morale, ensuring that employees understand the
business goals.
When companies focus on learning, they do not focus any more on getting
people into traditional classes. Rather they:
򐂰
򐂰
򐂰
򐂰
Embed learning in business processes and initiatives
Increase overall productivity and competitiveness
Leverage learning solutions as a way to solve problems
Facilitate the transfer of knowledge
In this chapter we describe the functions of a Learning Management System in
general and the benefits of the IBM Lotus Learning Management System (LMS).
We discuss the differences between the LMS and Lotus LearningSpace R5. At
the end we give an overview of future plans.
1.2 What a Learning Management System is
Are you seeking an easy way to manage blended learning solutions, resources,
and courseware in your company only from one single platform? Do you need to
manage student activities, user data, and tracking?
A Learning Management System supports the extension and optimization of the
different learning offerings within a company. We are not talking about either an
e-Learning solution or classroom training. Rather, an LMS combines different
learning components in blended learning solutions. This helps you to get more
effect out of what is invested in learning.
The Learning Management System manages all resources, curriculums, and
catalogs owned by a company. You can track certification progress, schedule and
enroll courses, and auto-generate reports on individual learning progress or the
progress of a training initiative across the whole organization. An LMS supports
requirements for compliance, certifications, accounting, and ERP integration.
4
IBM Lotus Learning Management System Handbook
1.3 What makes the IBM Lotus LMS special
There are many reasons that make the IBM Lotus Learning Management
System (LMS) special. At the root of the LMS's flexibility is the ability to configure
the system instead of customizing it. Another quality that makes the LMS
distinctive is the way it easily scales from small through departmental to
enterprise-wide needs. Benefits also include the robustness, flexibility, and
extensibility of the architecture, and the ability to create custom reports. In
addition, we look at several major areas below.
1.3.1 Blended learning
Blended learning is no longer just a buzzword; it is reality. It has been adopted by
the corporate community and is changing the dynamics of online learning.
Asynchronous courses launched and managed by the LMS are only one part of a
good learning program. The LMS can also manage real time instruction, those
face-to-face courses that need the traditional classroom approach as well as live
virtual classroom sessions.
IBM Lotus recently introduced a live classroom product called IBM Lotus Virtual
Classroom. This product integrates seamlessly with the IBM Lotus Learning
Management System.
1.3.2 Authoring tool
Although it ships with the LMS, the LMS Authoring Tool (AT) is a standalone
Windows application. It once was described like this: “It fills the sweet spot
between Microsoft Powerpoint and a more complex tool like Macromedia
Dreamweaver.”
The AT was built to enable subject matter experts to create their own courses
without having to be Web developers or e-Learning experts. It supports blended
learning. This means that one course can consist of physical classroom
activities, self paced e-Learning, and virtual classrooms.
Since the LMS supports SCORM 1.2, the AT can also be used as a conversion
tool. Content supporting earlier versions of AICC and SCORM can be imported
into the AT and converted to SCORM 1.2 compliant content. When imported into
the LMS, the LMS can then generate SCORM 1.2 tracking data to track student
progress.
Chapter 1. Introduction to the IBM Lotus Learning Management System
5
1.3.3 Offline client
The offline client lets you download courses onto your Windows32 desktop so
that they can be taken anytime from anywhere. When you reconnect to the LMS
server, all your activities in those courses will be updated.
1.3.4 The bottom line
With the IBM Lotus Learning Management System, you can manage the entire
learning process, plus all forms of learning—a comprehensive system with great
flexibility. An LMS helps you accomplish these goals:
򐂰 Build a corporate learning environment that integrates with the dynamic
workplace and is part of your organizational portal strategy.
򐂰 Provide reporting and tracking for staff decision making and human capital
management.
򐂰 Develop competency-based learning solutions to help increase worker
productivity and reduce training costs.
򐂰 Design blended learning solutions.
򐂰 Streamline corporate learning programs, delivering valuable training
resources to employees when needed.
We describe the components and architecture of the IBM Lotus Learning
Management System in more detail in the next chapter, particularly in 2.1, “What
is in the LMS” on page 10.
1.4 How the LMS is different from LearningSpace
Many people will ask about the differences between LMS and Lotus
LearningSpace R5. The main difference is that the LMS covers more than just
e-Learning offerings. The LMS also manages physical classroom and e-Learning
resources. It builds a corporate learning environment in your company.
6
IBM Lotus Learning Management System Handbook
Table 1-1 Differences between Lotus LMS and LearningSpace 5.0
Learning Management System
LearningSpace 5.0
Manages physical classroom and
e-Learning resources.
No support for physical classrooms.
Designed as e-Learning delivery platform
only.
Runs on Microsoft Windows, Sun Solaris,
IBM AIX®, and Linux.
Runs on Microsoft Windows 2000 only.
J2EE Application-based on IBM
WebSphere.
Based on Microsoft IIS.
Includes Authoring Tool for creation of
custom content.
Supports third-party Authoring Tools only.
Customizable UI can be personalized for
various user groups and profiles.
Same UI for all audiences, but
customizable by customer.
Scalable to support large enterprises.
LOB solution.
Calendar and schedules.
No calendar and scheduling.
Wait list management.
No wait listing.
Powerful administration tools.
Limited administration tools.
Integrates with various LDAP directories:
Domino, Active Directory, and IBM
Directory Server.
Maintains its own user directory and can
only be connected to a Lotus Domino
Directory.
Supports offline learning via the LMS
Offline Client.
No support for offline learning.
Supports ad-hoc and scheduled reports.
Reports can be delivered in different
formats, including html, csv, text, xml, and
pdf.
Provides only ad-hoc HTML-based
reports.
1.5 Lotus Workplace and the LMS
In the spring of 2003, IBM announced the creation of an innovative new platform
for collaboration and human interaction called the Lotus Workplace. As part of
the IBM On Demand strategy, Lotus Workplace will connect people with the
information and business processes they need.
The LMS will be the application at the core of the learning component of Lotus
Workplace. In the future versions of the Workplace, learning will still be available
as a standalone product, similar in functionality to today's LMS. It will also
Chapter 1. Introduction to the IBM Lotus Learning Management System
7
integrate with the other business components of the Workplace platform such as
messaging, calendaring, document management, application integration, and
awareness. All of these components will all use a common WebSphere-based
infrastructure.
This flexibility allows LMS customers to first focus on the learning system to reap
the benefits of e-Learning and then add additional features incrementally when
needed.
The pervasive use of "learning" across the Workplace will make informal learning
a reality while the collaborative components of Lotus Workplace will enrich the
formal learning experience.
Lotus Workplace will also provide the foundation for service organizations,
system integrators, and business partners to build specific solutions that add
specific value to the Workplace.
8
IBM Lotus Learning Management System Handbook
2
Chapter 2.
Planning your LMS
deployment
In this chapter we take a closer look at the considerations for deploying the IBM
Lotus Learning Management System (LMS). We include technical aspects and,
just as important, the organizational and political aspects of a deployment.
The LMS system will in many ways influence the whole infrastructure of an
organization. Even the most basic installation will usually connect to a relational
database (RDB) and Lightweight Directory Access Protocol (LDAP) catalog
already in use. Connecting it to Domino, Sametime®, or the IBM Lotus Virtual
Classroom are also options. Some customers want to take it even further and
customize integration into their HR systems as well.
All of this makes for careful planning. Time invested in the planning phase is key
to success and can avoid a lot of problems later.
When you finish reading this chapter, also see Chapter 16, “Corporate scenario”
on page 327, for an example of how a company would plan for their deployment
of LMS.
© Copyright IBM Corp. 2003. All rights reserved.
9
2.1 What is in the LMS
Note: This section is an edited version of an article published in the Lotus
Developer Domain written by Elizabeth Bowling. The original article can be
found at:
http://www.lotus.com/ldd
The LMS is made up of several software components, dividing functionality
among multiple applications and even incorporating products from other software
companies. These varied components work together to provide a comprehensive
solution to the problem of learning management.
Table 2-1 summarizes the LMS components, their source, and whether they are
required for the LMS to function.
Table 2-1 LMS components
10
Component
Source
Purpose
Required
LDAP directory
Third-party
Maintains the centralized
user accounts for an
organization; may be used
for authentication by multiple
applications. If you don't
already use an LDAP
directory, one is provided on
the LMS CD.
Yes
Relational DBMS
Third-party
Maintains three databases
dedicated to the LMS; may
additionally contain other
databases not used by the
LMS.
Yes
LMM Server
LMM
Acts as the focal point of the
LMS; users access the LMS
and its data through the
LMM Server.
Yes
IBM Lotus Learning Management System Handbook
Component
Source
Purpose
Required
Delivery server
LMS
Displays course structures
where students can navigate
among activities, displays
course content for each
activity, and tracks progress
data and transmits it to the
LMM Server.
Yes
Content server
Third-party
Stores course content files
for use with the LMS; files
are accessed from course
outlines using URLs.
Yes
SMTP server
Third-party
SMTP server third-party
transfers help desk requests
and all LMS-generated
e-mail.
Yes
Web browsers
Third-party
Displays the LMS user
interface on a client
workstation.
Yes
FTP server
Third-party
Stores uploaded courses
prior to importing them into
the LMS.
No
Authoring Tool
LMS
Runs on a client workstation
and enables course
developers to create course
outlines and content,
including assessments. The
Authoring Tool can also be
used to import third-party
courses into the LMS.
No
Offline Learning
Client
LMS
Runs on a client workstation
and enables a student to
work on a course while
disconnected from the
network.
No
Chapter 2. Planning your LMS deployment
11
Component
Source
Purpose
Required
Collaboration
servers
IBM Lotus products
Extends the LMS with other
IBM Lotus products to add
collaborative features:
򐂰 Domino: Discussion
forums
򐂰 Sametime: Instant
messaging
򐂰 Discovery server:
Knowledge-search
portlet
򐂰 IBM Lotus Virtual
Classroom (LVC): Online
(real-time) class
sessions
No
Distributing product features among these various components gives you the
flexibility to configure the LMS to suit your company's training needs. Figure 2-1
on page 13 shows a basic configuration for the LMS; your own installation may
look very different.
12
IBM Lotus Learning Management System Handbook
Figure 2-1 Configuration example
Chapter 2. Planning your LMS deployment
13
2.1.1 How these components interact
All users enter the LMS through the LMM Server. When the user specifies the
appropriate URL in a Web browser, the LMS responds by displaying the Home
module. At this point, the user is anonymous and has limited access to product
features. When the user clicks Log in, the LMS prompts for a user name and
password. This information is validated first against the database management
system to determine whether the user is rostered in the LMS, and then against
the LDAP user directory to authenticate that person's user name and password.
Once the user is successfully logged in, the LMS Server provides the client
browser with an interface, allowing access only to the set of features associated
with each user's defined permissions. Students use this interface to browse
course lists, to enroll in and launch courses, and to view their progress. Other
users can modify system settings, register users, deploy courses, define
resources such as locations and instructors, schedule classes, and run reports
detailing information on both the system and its users. When a user action
triggers a system notification, the message is routed using the SMTP server.
Course developers use the Authoring Tool on their Windows workstations to
create courses and to package third-party courses for use with the LMS. Courses
are uploaded to the FTP server where they can be imported into the Lotus
Learning Management System.
Course structures are stored within the LMS, while content files are stored on
one or more content servers. To access a course, a student launches it from the
Student Catalog, viewed on the LMS Server. The LMS Server then redirects the
student to a Delivery Server, where the course outline is displayed, allowing the
student to navigate within the outline and imposing a predefined sequence on
course activities. When the student launches a particular course activity, the
Delivery Server accesses the corresponding content files from the appropriate
Content server and displays them in the LMS interface. As the student works
through a course, progress data is captured on the Delivery Server and
transmitted back to the LMS Server for processing.
Students wishing to work on a course off-line can download courses to their
Windows workstations and use the Offline Learning Client to access the course
when disconnected from the network. Upon reconnecting to the network, the
student can upload tracking information to the LMS.
The Lotus Learning Management System supports a variety of IBM Lotus
products designed to enable collaboration. Collaboration activities are built into
the course design and are hosted on Collaboration servers that are integrated
into the LMS.
14
IBM Lotus Learning Management System Handbook
2.1.2 A closer look at the LMS components
Let's take a closer look at the components of the Lotus Learning Management
System and how they interact.
LDAP directory
Just as AICC and SCORM have been established as the leading specifications
for e-Learning content, LDAP is the de facto standard regarding directory
services. As an open, vendor-independent communication protocol for directory
access with wide-spread acceptance, LDAP is a guarantor for interoperability of
heterogeneous platforms, systems, and environments.
The LMS requires that user information is stored in an LDAP directory. The
directory contains general user information that may be accessed by more than
one application; it does not have to be specific to the LMS. If your company
already uses an LDAP directory, you can use it with the Lotus Learning
Management System. If your company uses Domino, you can configure the
Domino Directory to function as an LDAP directory and use it with the LMS.
Otherwise, you can set up the IBM Directory Server that is included on the LMS
CD and use that for storing user information.
See “Supported LDAP directory servers” on page 374 for a list of the supported
LDAP directory servers.
Relational database management system
The remainder of the data used by the LMS is stored in a third-party relational
database management system (RDBMS). Although the RDBMS is a third-party
product, it is a fundamental component of the Lotus Learning Management
System. Data regarding user privileges, courses, and resources is stored in the
database management system and accessed as needed.
The LMS uses three databases to store its data: The LMS Server database, the
Delivery Server database, and the Audit database. The LMS Server database
and the Delivery Server database store information related to users, courses,
and resources, using the information in different ways. For example, the LMS
Server requires user information to roster users and to track permissions; the
Delivery Server uses the information to track user progress through course
activities before sending that information back to the LMS Server. The Audit
database stores system-generated information about LMS usage and is useful
for system administration.
The LMS supports the following RDBMS products:
򐂰 DB2® UDB Release 7.2 or later
򐂰 Microsoft SQL Server 2000 for Windows 2000 Advanced Server
Chapter 2. Planning your LMS deployment
15
򐂰 Oracle 8i or later
The RDBMS can be hosted on the same machine as other LMS components, but
in large organizations, it is typically stored on its own machine. The RDBMS does
not have to be dedicated to the Lotus Learning Management System because
the LMS usage is restricted to its own set of tables; however, in a large company,
the LMS will use a great deal of the RDBMS resources.
LMS Server
The LMS Server is the central component in the Lotus Learning Management
System, tying all of the other components together. Every LMS installation uses a
single LMS Server, which may be hosted on one machine or on a server cluster.
The LMS Server can run on the following platforms:
򐂰
򐂰
򐂰
򐂰
Windows 2000 Server or Advanced Server
IBM AIX 5.1 or later
Sun Solaris 8 or later
Linux 2.4 or later
Users access the Lotus Learning Management System through the LMS Server,
which provides the user interface. The interface provides for two general
categories: Students and administrators. Students use the LMS Server to browse
the course catalog, to enroll in courses, and to view their own progress data.
Students are generally limited to two modules in the user interface: The Student
Home module and the Student Catalog module. Student tasks include those
listed in Table 2-2.
Table 2-2 Student tasks
Module
Typical tasks
Home
View announcements and messages.
View progress towards completion of courses, certificates, and
curriculums.
View a calendar of scheduled activities.
Student Catalog
Browse through the list of available courses.
Enroll in (or withdraw from) courses.
Administrators use the LMS Server to manage system settings, as well as users,
resources, and courses. This category of user includes all non-students, such as
system administrators, registrars, reporters, course developers, instructors, and
resource managers. The LMS user interface categorizes administration tasks
into a series of modules; you can assign access to those modules based on the
16
IBM Lotus Learning Management System Handbook
types of tasks for which each administrator is responsible. The range of
administration tasks includes those listed in Table 2-3.
Table 2-3 Administrator tasks
Module
Typical tasks
Home
- View announcements and messages.
- Approve/reject requests for enrollment in (or withdrawal from) courses.
- View a calendar of scheduled activities.
Users
- Create and maintain LMS user accounts.
Course Catalog
- Register courses with the LMS.
- Create offerings.
Course Management
- Enroll students in courses (or withdraw them from courses).
- View class lists and student results.
Resources
- Define resources such as rooms and instructors.
- Schedule resources for use with courses.
Reports
- Track student progress through one or more courses.
- Create, schedule, and generate reports.
Settings
- Configure system settings.
- Add components to the LMS.
- Check logs.
Delivery Server
The Delivery Server is an LMS component that connects students to courses,
performing tasks that support the sequencing, launching, and tracking of course
content. An LMS installation can use one or more Delivery Servers to distribute
courses. The Delivery Server supports the same set of platforms as the LMS
Server.
When a student launches a course from the Course Catalog on the LMS server,
the LMS server redirects the user interface to the Delivery Server designated for
that course. The Delivery Server displays the course outline, which allows the
student to navigate within the course and to select activities to launch. When the
student launches an activity, the Delivery Server accesses a specified Content
server where the content file for the activity is stored and displays that content to
the student. As the student progresses through the course, the Delivery Server
tracks progress data and routes it to the LMS Server.
Content server
Every course requires content—text, images, and multimedia—that users view
as part of completing the course. Course content files are stored on content
Chapter 2. Planning your LMS deployment
17
servers, and are accessed from the course outline with URL links. Content
servers are not intrinsic components of the LMS; they are third-party HTTP
servers. If you are upgrading from LearningSpace, you probably already store
course content on one or more HTTP servers, which can also be used with the
Lotus Learning Management System. If you are not migrating from
LearningSpace, you need to designate one or more HTTP servers to be used for
hosting your LMS course content; these servers do not have to be dedicated to
LMS content.
Course content cannot be developed or edited using the LMS Web interface; a
special-purpose tool must be used for this. Your company can develop its own
content using the LMS Authoring Tool component (see “Authoring Tool” on
page 19), as well as commercially available Authoring Tools such as Macromedia
DreamWeaver. Additionally, you can purchase ready-to-use content packages
from vendors specializing in online training.
All content, including assessments, must be imported into the LMS before it can
be made available to students. You can import content packages directly into the
LMS using its command-line import utility (using SCORM 1.2 format only), or
import packages into the LMS Authoring Tool, and send the packages to the LMS
from there (the Authoring Tool accepts both SCORM 1.2 and AICC formats).
For organizations that migrate from LearningSpace Forum, the content files for
migrated courses can optionally be stored in the LMS Repository, a Notes®
(NSF) database where files are transferred during migration.
SMTP server
The LMS uses messaging to route automatic notifications to users and to send
help requests to the Help Desk. This requires the use of an SMTP server, which
routes the messages as needed within the system. The SMTP server does not
have to be dedicated to the LMS; you can use an existing SMTP server that is
already supporting other applications.
Web browsers
Users access the LMS from their client workstations using Web browsers. Users
accessing Domino-based discussions see the database in its Web format
through the browser, rather than using a Notes client.
The LMS supports the following client platforms and browsers:
򐂰 Microsoft Windows 95, 98, ME, XP, and 2000. Supported browsers: Microsoft
Internet Explorer 5.0x, 5.5x, 6.0x and Netscape 6.2+ (for LMM, LVC, and
Authoring modules).
򐂰 Linux Suse 7.2+ and RedHat 7.2+ only. Supported browser(s): Netscape 6.2+
(for LMM module).
18
IBM Lotus Learning Management System Handbook
򐂰 Apple Macintosh OS 9.x and OS X. Supported browser(s): Netscape 6.2+ (for
LMM module).
Keep in mind the following information concerning client operating systems,
browsers, and other related software:
򐂰 Internet Explorer 6.0 may require a one-time download of the JVM.
򐂰 The Authoring Tool and Offline Client only support Windows 2000 and XP.
Note: LMS does not support Netscape Release 4.7.
FTP server
When you upload courses to the LMS, you store them on an FTP server. The
LMS copies the course package from the FTP server and processes it. When
you create an offering based on that course, the LMS Server sends the course
outline to the Delivery Server, and the course content to the content server. If you
choose not to use FTP for transferring course files, they must be stored in a file
server that is accessible to the LMS Server.
Authoring Tool
The LMS Authoring Tool is a content-creation application that allows you to
create basic course structures and assessments or to format third-party courses
for use with the LMS. Only native content can be edited in the Authoring Tool;
content that was originally created elsewhere cannot be edited (you must return
to the original editing tool for that purpose). The Authoring Tool lets you add
sequencing information to a course to ensure that activities are completed in a
specific order; you can also specify scoring requirements for activities.
The Authoring Tool is a stand-alone component of the LMS; it runs only on
Windows platforms. During LMS installation, the Authoring Tool package should
be placed on a server accessible to your company's content developers, who
then download the package and install the tool on their own workstations.
Offline Learning Client
The Offline Learning Client is a package that enables students to complete
course activities while disconnected from the network. Students download the
package from the LMS server and install it on their Windows workstations. After
the package is installed locally, a student can download one or more courses
flagged as available for offline use, and then disconnect from the network. While
the student is working offline, tracking information (progress and scores) for each
downloaded course is stored on the workstation. When the user reconnects to
the network, the course can be reset to online status and the corresponding
tracking information uploaded to the LMS Server.
Chapter 2. Planning your LMS deployment
19
Collaboration servers
While taking a course online, a user may participate in a variety of collaborative
sessions, hosted on a Collaboration server. Online discussions are hosted on a
Domino server; instant chats are hosted on a Sametime server; live sessions are
hosted on a LearningSpace - Virtual Classroom server, and Knowledge
Management portals are hosted on a Discovery Server. Each of these servers is
supported by another IBM Lotus offering, but can easily plug in to the Lotus
Learning Management System. Table 2-4 lists the IBM Lotus products that
provide the collaboration features.
Table 2-4 Collaborative features
20
Collaboration feature
IBM Lotus product
Description
Discussions
Domino R5 and later
Uses Notes databases that
allow students and
instructors to read and
post documents
discussing course-related
topics.
Instant chats
Sametime 3
Uses Sametime instant
messaging to allow a
student to chat with one or
more other students
participating in the same
course offering.
Live sessions
IBM Lotus Virtual
Classroom 1.1
Provides a virtual
classroom where
instructors lead a class
session in real-time.
During the session, the
instructor can display
various types of files, mark
up a whiteboard, lead
students to one or more
Web sites, and run
additional applications that
students can view from
their own workstations.
Knowledge search
Discovery Server
Provides a portlet enabling
a student to link to a
Discovery Server and to
search for information
related to a specific topic
under discussion in the
course.
IBM Lotus Learning Management System Handbook
In summary
On the whole, the Lotus Learning Management System is a highly flexible and
scalable product. By dividing features among multiple components and
incorporating various third-party applications, the LMS enables a customer to
configure the system in many different ways, as dictated by business needs.
Smaller companies may choose to set up a simple configuration with one or two
Delivery Servers to cover their online training needs. Larger corporations can
expand the configuration at will, adding in additional Delivery Servers, and
optionally plugging in one or more collaborative products.
One of the advantages of the IBM Lotus Learning Management System is that it
lets you take advantage of existing applications, such as your LDAP directory
and relational DBMS, as well as other IBM products you may already be using.
The combination of all these different technologies makes the LMS appropriate
for almost any training needs.
2.2 Making a project plan for deploying LMS
We recommend that you develop a project plan before deploying the LMS in your
company. IBM Software Services for Lotus have developed a stepping-stone
approach towards implementation of your learning management system so that
your organization can make the most of this powerful learning system and take
advantage of its many facets. The stepping stone approach leads you through
three stages to full deployment followed by periodic health checks.
2.2.1 Stage 1: IBM Lotus LMS testbed launch
Stage one of the IBM Lotus LMS deployment addresses three key areas:
򐂰 Define Boundaries: A one-day workshop should be held for both the business
and technical contacts within the team. During this session, you should
familiarize your team with the full capabilities of the LMS and brainstorm how
best they can be utilized within your organization to identify and agree on the
scope of your learning management system.
򐂰 Building of the “Testbed system”: This should enable your technical team to
install and configure a limited, non-production, testbed model of the LMS.
Once the testbed has been built, it will be populated with a sample of your
content consisting of both physical and virtual training data and materials.
򐂰 Skills transfer for both business and technical communities: The technical
team will be hand held through configuration and administration tasks. The
business team will be assisted to configure a sample of their live course data
and will be mentored in the use of the content Authoring Tool to import
existing Web content.
Chapter 2. Planning your LMS deployment
21
The testbed can subsequently be used for:
򐂰 Internal demonstrations and awareness
򐂰 Technical design validation
򐂰 Investigation of existing content assistance with feature implementation
decisions
򐂰 Further skills development
This helps you to utilize the LMS to its full potential.
The next step for your team should be to hold a “Next Steps” workshop.
Feedback on both technical and business aspects of the system should be
discussed and documented. Recommendations of the tasks to be undertaken
and the effort required for the scoping, planning, and architecture assessment
will be outlined.
2.2.2 Stage 2: Scoping, planning, and architecture assessment
The scoping, planning, and architecture assessment addresses both the
business and technical requirements of your solution and provide an
understanding of the impact of the deployment of the LMS within your production
environment. Your project team should review your environment and business
needs and provide recommendations of what is required to deploy the LMS, its
components, and courseware within your organization. The assessment contains
the following two streams and activities:
򐂰 Business assessment
– Assess learning and content delivery requirements.
– Define course administration and management processes.
– Design content migration and taxonomy standards.
– Survey the market for learning content specific to the organization’s needs.
– Skills gap analysis for business and technical individuals.
– Create High-Level Business Transformation Plan.
򐂰 Technical assessment
– Infrastructure scalability and readiness for hosting e-Learning activities.
– Integration concept (for example, Workflow, ERP, and databases requiring
change for the successful rollout of LMS).
– Identify areas necessary for governance.
– Perform capacity planning.
– Define archiving strategy.
22
IBM Lotus Learning Management System Handbook
– LDAP Schema integration and design security policies.
– Create High-Level Implementation Plan.
At the conclusion of this assessment, your team should be able to provide an
impact and gap analysis report for implementing the LMS, a blueprint design for
the required architecture, and an outline deployment project plan.
2.2.3 Stage 3: LMS deployment
We recommend that you break down your LMS deployment into three key
phases:
򐂰 Solution design
򐂰 Pilot
򐂰 Deploy
The solution design will take the results of the LMS scoping, planning, and
architecture assessment to the next level and define a detailed design for your
new LMS environment. It will define the complete enterprise-wide solution for
your organization, covering such areas as Learning Management Module and
Content Server Topology, security and LDAP integration, operational and support
models, transactional activity, reporting and auditing, content migration, student
profile design and administration, course taxonomy standards, access rights and
system governance, and offline client deployment.
A key element of the deployment is a comprehensive pilot that will validate your
learning requirements, prove the technical design, and identify early potential
roadblocks. The pilot is delivered within your production environment using a
Reference Build that can be fine tuned prior to full deployment and may cover
single or multiple business units, depending on your requirements.
Once the Reference Build has been successfully implemented, your project team
should complete the implementation of the solution and document deployment
standards and operational procedures to empower you to replicate the phased
deployment of the LMS throughout your organization. Skills transfer, training, and
a communication plan have to be incorporated into the LMS Deployment
Solution.
2.2.4 Stage 4: Health check
Periodically, as your organization’s education function evolves, new opportunities
will arise to further improve your LMS environment to increase learning efficiency
and maintain technical optimization. To ensure that you continue to gain the
maximum ROI and end user satisfaction, your team should develop a Health
Check for LMS, which reviews the educational processes and the infrastructure
Chapter 2. Planning your LMS deployment
23
on a periodic basis. The Health Check will make recommendations for
adjustments and improvements, ensuring that your organization’s learning
management system avoids future problems and that your education
environment continues to run efficiently and effectively at all times.
Figure 2-2 shows a possible project approach.
Figure 2-2 Project plan for LMS deployment
Note: This Solutions Overview of IBM Lotus Learning Management System is
just one of the many advanced offerings available from IBM Software Group
Services. They have a full portfolio of services designed to help you get the
most out of your IBM Software. Further information can be found at:
http://www.lotus.com/lotus/offering3.nsf
24
IBM Lotus Learning Management System Handbook
3
Chapter 3.
Capacity planning for the
LMS
In this section we provide guidelines on estimating concurrent usage based on
the demographics of an organization. We look at some alternatives for topology.
Finally we give some recommendations for hardware requirements based on the
number of concurrent students logged onto the system.
The sizing estimates in this chapter are an approximation of the hardware
resources required to support the LMS deployment. They are efforts to provide a
starting point for understanding customers' hardware requirements. Actual
customer experiences will vary from the sizing estimate for many reasons. The
degree of variation can range from insignificant to very significant.
See Appendix A, “Sample sizing questionnaire” on page 359, for additional tips
on capacity planning. Also see Chapter 16, “Corporate scenario” on page 327,
for an example of how a company would plan for their deployment of LMS.
© Copyright IBM Corp. 2003. All rights reserved.
25
3.1 Configuration options
The IBM LMS deployment is composed of these components:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
IBM HTTP Server
IBM WebSphere Application Server (WAS)
IBM LMS Learning Management Module (LMM)
IBM LMS Delivery Server (DS)
Database server
Directory (LDAP) server
All these components can be installed on either a two-tier or a three-tier
hardware configuration. The minimum hardware requirement is a two-tier
configuration. The first tier contains:
򐂰
򐂰
򐂰
򐂰
IBM HTTP Server
WAS
LMM
DS
The second tier contains:
򐂰 LDAP server
򐂰 Database server
3.1.1 Tier configuration
How many tiers do you plan to implement? Figure 3-1 shows the IBM HTTP
Server, WAS, LMM, and DS on the first tier, while the database server and LDAP
servers are on the second tier. This configuration is sufficient with a small
number of concurrent users.
Figure 3-1 Two-tier configuration
26
IBM Lotus Learning Management System Handbook
The three-tier configuration, shown in Figure 3-2, places the IBM HTTP Server
on the first tier. WAS, LMM, and DS are on the second tier. The database and
LDAP servers are on the third tier. This supports a larger number of users.
Figure 3-2 Three-tier configuration
3.2 The initial capacity sizing
What kind of server will we need? How many processors? Should you use Linux
or Windows? What is a minimum recommended installation?
Capacity planning is a multi-stage process. It starts with the gathering of
information and ends with a configuration for a particular customer. The
methodology involved is as follows:
1. Define the size of the student population.
2. Define the workload pattern.
3. Define the performance objectives.
4. Work with your IBM specialist to define a configuration that meets your needs
based on the items above.
You must provide enough information for each of the steps listed above in order
to get the configuration that will best meet your needs. See a detailed
questionaire for this purpose in Appendix A, “Sample sizing questionnaire” on
page 359.
Chapter 3. Capacity planning for the LMS
27
3.2.1 Defining student population
The size of the student population to support has a direct effect on the size of the
hardware needed. A good estimate of the population is therefore necessary.
There are four different levels of student population that are of interest when
sizing for a learning management system. Figure 3-3 shows each level.
Figure 3-3 Student population
Total number of employees
Starting from the bottom of the pyramid, we see users who are listed inside the
corporate directory. This user list usually includes the entire population of the
corporation and it usually resides in the directory of a LDAP server.
Rostered students in the LMS
A portion of that student population may be rostered within the LMS. In some
corporations, the entire population is eligible to take training (and therefore is
rostered). In other corporations, only a percentage of the entire employee
population is eligible to take training. Students from this population go into the
LMS system to search the catalog and enroll in courses. You need to get a
handle on how many of these eligible employees would access the system in any
given day to search and enroll in courses.
28
IBM Lotus Learning Management System Handbook
Enrolled students
Only a portion of the rostered students can be logged onto courses at any time.
Although many students could be enrolled in a course, not all of them would be
actively attending their courses.
Concurrent users
Finally we come to the population that is of most interest to us. These are the
students who are logged onto the system. These students who are actively and
simultaneously logged onto the system form a large part of the requirement for
performance on an LMS.
Figure 3-3 on page 28 shows a corporation with 50,000 employees. When
estimating concurrency for a LMS installation, the concurrency rate will normally
be in the range of 1 to 10 percent of the rostered students.
Table 3-1 Capacity planning example
Type
#
%
Total number of employees
50,000
Rostered students in the LMS
25,000
100.0
Enrolled
2,500
10.0
Concurrent users
1,250
5.0
For capacity planning, the recommended configuration for this corporation needs
to support 1250 concurrent logins, as shown in Table 3-1.
Note: Total number of employees affects the LDAP server only. Rostered
students impact the size of the relational database.
3.2.2 Defining the workload pattern
A workload pattern (also referred to as usage pattern) involves the identification
of the features most likely to be used by your user population. This process
should be fairly easy, since the target application (the LMS) is known in advance.
Therefore the number of possibilities that users have available to them are
known.
For example, students could log onto the LMS, access the list of enrolled
courses, and launch one of the courses. They can spend some time navigating
through the different courses activities, then log out. In this case the usage
pattern would be as shown in Figure 3-4 on page 30.
Chapter 3. Capacity planning for the LMS
29
Figure 3-4 Workload pattern example
This usage pattern is specific to one class of students. Another pattern could
include students who log into the system to search for courses in the catalog and
self-enroll in them.
3.2.3 Performance objectives
Ask your customers to think about the different performance objectives and the
metrics used to measure performance:
30
Response time
3–6 seconds is the standard response rate. If you need a
faster response rate, a more powerful configuration may
be needed.
Concurrent users
This is the number of users that are actively logged onto
the LMS system, as discussed in 3.2.1, “Defining student
population” on page 28.
Specific log-in rate
Log-in rate defines the arrival rates of users to the system.
It is usually measured as number of logins per hour. You
also need to specify whether the log-in rates are even
throughout an 8-hour or 24-hour day or come in bursts (for
example, morning rush or end of semester rush).
IBM Lotus Learning Management System Handbook
CPU utilization
Although we recommend that you run your system at 80
percent CPU utilization for the LMS, you may decide to
size your configuration so that the LMS server is running
at a lower utilization. This might be a preferable option if
you plan to run other applications at the same time
(remote access applications such as VNC, anti-virus
scanners, or backup, for example).
Contingency
Planning for contingencies is also an important. For this
we recommend that you add 30 percent to the expected
CPU utilization on the busiest days.
Note: We have just described the input data that must be collected before any
hardware configuration can be recommended for an LMS. See Appendix A,
“Sample sizing questionnaire” on page 359, for a set of questions that can aid
in your collection of the data.
3.2.4 Capacity planning
The final step in this process is conducted by an IBM LMS performance
specialist. A configuration will be recommended based on the input and on
performance characteristics of the LMS that have been measured on different
hardware platforms.
For a given population size, there is a level of throughput required for each of the
configuration components (IBM HTTP Server, LMM, DS, database, and LDAP
server) to satisfy the concurrency and response time needed. Based on
performance data that the e-Learning team has collected on the different
platforms (xSeries®, pSeries™), the IBM LMS performance specialist can make
recommendations on the hardware required.
3.3 Scalability options
The LMS application is a WebSphere application and should benefit from
improvement in performance when the scalability options for WAS are followed.
In this section, we show some typical configurations that have been developed
for small, medium, and large deployments. The configurations are presented in
an order of increasing size.
Note: The configurations described below are approximations. Your
configurations will vary based on the exact number of concurrent users
supported, your usage pattern, and your performance objectives.
Chapter 3. Capacity planning for the LMS
31
3.3.1 A small deployment
First we discuss a typical small deployment that has a few hundred concurrent
users. The configuration shown in Figure 3-5 consists of two tiers. In the first tier,
we have combined both the IBM HTTP Server and the WAS. On that same
machine resides both the LMM and the DS. In the second tier we have combined
the database server with the LDAP server.
This configuration is considered to be the minimum configuration for the LMS.
The machine in both tiers would likely be an Intel platform running either the
Microsoft Windows 2000 operating system or a Linux operating system. The
minimum number of processors on these platforms needs to be at least two. The
amount of RAM needs to be at least 2 GB.
This configuration could support several hundred users at a time (depending on
the model of the servers). Both the LMM and DS reside on the same machine,
along with WAS and the IBM HTTP Server. The database server and the LDAP
server are installed on a second machine.
100 to 500 concurrent users
While maintaining the same number of boxes, this type of configuration could
support more users if two more processors were added to the LMS server box, or
if the processors were upgraded to faster models.
IB M
IB M
IB M
IB M
H T T P S e rver
W e b sph ere A pp licatio n S e rve r
L M S L ea rnin g M a na g em e nt M od u le
L M S D e livery S erve r
xS e rie s 2 35
D u al X e on p ro cesso r
2.0 G h z spe e d
2 GB RAM
D a tab ase S erve r
L D A P S erve r
xS e rie s 2 35
D u al X e on pro cesso r
2 .0 G h z spe e d
4 GB RAM
C lien ts
Figure 3-5 Small LMS deployment 1
32
IBM Lotus Learning Management System Handbook
3.3.2 Another small deployment
In this second configuration, the servers are still arranged in a two-tier
configuration; however, the DS has been located on its own machine. This
configuration will handle several hundred more students than the previous
configuration.
Again, the LMM and DS can be running on either Microsoft Windows 2000 or
Linux.
IBM HTTP Server
IBM Websphere Application Server
IBM LMS Learning Management Module
IBM Websphere Application Server
IBM LMS Delivery Server
Database Server
LDAP Server
xSeries 235
Dual Xeon processor
2.0 Ghz speed
2 GB RAM
xSeries 235
Dual Xeon processor
2.0 Ghz speed
2 GB RAM
xSeries 255
Quad Xeon MP processor
1.5 Ghz speed
2 GB RAM
Clients
Figure 3-6 Small LMS deployment 2 - 500 to 1000 concurrent users
3.3.3 A medium deployment
In this configuration we switch to a three-tier configuration where the IBM HTTP
Server is located in a separate machine. Due to the anticipated increase in
demand on the database server, both the database server and the LDAP server
are located on their own machines.
This configuration could support several thousand users, depending the model of
the pSeries and depending on the number of processors in each of the boxes.
Chapter 3. Capacity planning for the LMS
33
IBM HTTP Server
IBM Websphere Cluster Node 1
IBM LMS Learning Management Module
IBM LMS Delivery Server
IBM Websphere Cluster Node 2
IBM LMS Learning Management Module
IBM LMS Delivery Server
xSeries 235
Dual Xeon processor
2.0 Ghz speed
2 GB RAM
xSeries 235
Dual Xeon processor
2.0 Ghz speed
2 GB RAM
xSeries 235
Dual Xeon processor
2.0 Ghz speed
2 GB RAM
Clients
LDAP Server
Database Server
xSeries 235
Dual Xeon processor
2.0 Ghz speed
2 GB RAM
xSeries 255
Quad Xeon MP processor
1.5 Ghz speed
2 GB RAM
Figure 3-7 Medium LMS deployment - 1000 to 2500 concurrent users
3.3.4 A large deployment
In this example, we are still using a three-tier configuration, but we have
multiplied the number of machines in each tier. The LMM and DS are now
running in separate WebSphere clusters. The WebSphere Network Deployment
Manager (for controlling the clusters) is running on a small desktop PC. We have
also added three IBM HTTP Servers preceded by a load balancer.
The WebSphere clusters nodes are likely to be high-end pSeries running AIX.
The database server and LDAP server are probably running on an existing
infrastructure.
This configuration can support a large student population, depending on the
model used for each of the servers.
34
IBM Lotus Learning Management System Handbook
Database Server
LDAP Server
LMM
Server 1
LMM
Server 2
Delivery
Server 1
Delivery
Server 2
Delivery
Server 3
Deployment
Manager
HTTP
Server 1
HTTP
Server 2
HTTP
Server 3
Load Balancer
Clients
Figure 3-8 Large LMS deployment - 2500 to 10,000 concurrent users
3.3.5 Deployment on remote locations
While LMS is designed to be very scalable, it also supports remote locations
through distributed Delivery Servers. For short response times and therefore a
better learning experience, Delivery Servers can be placed close to the physical
Chapter 3. Capacity planning for the LMS
35
locations of end users. Instead of attending courses on a far-off DS, students will
work on a DS that is located on their fast LAN. Especially when courses contain
multimedia elements such as audio, video, or animations, and the network
connection speed between the locations is slow, having a DS onsite improves the
access time to the content dramatically.
Figure 3-9 shows how a scenario with distributed Delivery Servers might look.
Headquarter
Remote Location 1
Database Server
LMM Server
LDAP Server
Deployment
Manager
Delivery Server
HTTP Server
Delivery Server
Database Server
Clients
HTTP Server
Remote Location 2
Clients
Clients
Delivery Server
HTTP Server
Database Server
Figure 3-9 LMS deployment with remote locations
For faster access, a remote DS stores its data on a database server that is
located in the same location. The DS does not need to be able to connect to the
Database Server used by the LMM, and vice versa. The data exchange between
LMM and the remote DS takes place using Web services/SOAP.
36
IBM Lotus Learning Management System Handbook
3.4 Database size estimation
Besides calculating the number of servers needed by LMS, it is also important
that you get an idea of the amount of data stored in LMS. This depends mainly
on the following factors:
򐂰
򐂰
򐂰
򐂰
Number of courses
Number of rostered users
Average courses per user
Average nodes (course elements) per course
Based on the LMS data model, the following formulas can be used to calculate
the size of data and indexes of a LMS database in kilobytes. The LMM and the
DS database will have about the same size; therefore you can use this formula
for both. If LMM and DS are installed on the same database server, you just
multiply the result by two to get the total database space usage.
dataSize = numberOfCourses * (57 + avgNodesPerCourse * 30.4) + numberOfUsers *
(10 + avgCoursesPerUser * (3.8 + avgNodesPerCourse * 1.1))
indexSize = numberOfCourses * (12.3 + avgNodesPerCourse * 1.4) + numberOfUsers
* (1.5 + avgCoursesPerUser * (1.6 + avgNodesPerCourse * 0.14))
Based on this formula, you can create a spreadsheet. Figure 3-10 shows an
example, including some test values.
LMS Database Size Estimation
Input Parameters
Summary
Summary
Total (LMM + DS)
500
10000
2
15
number of courses
number of users
average courses per user
average nodes per course
Data Size
762,500 kB
745 MB
Index Size
105,650 kB
103 MB
1.66 GB
Figure 3-10 Example of database size estimation
Chapter 3. Capacity planning for the LMS
37
38
IBM Lotus Learning Management System Handbook
Part 2
Part
2
Installation
Now that you have created an implementation and capacity plan, this part of the
Redbook prepares you to successfully undertake an LMS installation. Please
note that it cannot be used as a replacement for the installation guide. Its
intention is to give you a better understanding of the installation process and to
discuss issues that you need to consider before installing the LMS.
© Copyright IBM Corp. 2003. All rights reserved.
39
40
IBM Lotus Learning Management System Handbook
4
Chapter 4.
Pre-installation
After planning your LMS deployment, several pre-installation tasks must be
completed before you run the LMS installer. These steps are covered in this
chapter.
Appendix B, “LMS installation checklist” on page 363, provides a checklist you
can use during the pre-installation. It ensures that you perform all necessary
tasks and allows you to write down all essential information you will need for the
installation of LMS. It also provides a table for you to record your parameters
during the installation.
To help you plan, Appendix C, “Software requirements” on page 373, lists the
prerequisite software.
© Copyright IBM Corp. 2003. All rights reserved.
41
4.1 Roles and responsibilities
Before you start doing anything else, you should get a clear understanding of the
roles and responsibilities of an LMS deployment.
For this reason we provide you with a list of the basic roles and responsibilities
for deploying and maintaining LMS. Each role is not necessarily assigned to a
separate individual; a single person may have responsibility for several roles. You
will want document these assignments at the beginning of your deployment
project.
4.1.1 Champion or sponsor
The champion is the person responsible for the deployment. Usually this person
has banked their next career move on the success of the deployment. Usually
this person has high visibility in the company.
4.1.2 System architect
The system architect is responsible for technical deployment in its entirety.
4.1.3 Network architect
The network architect is responsible for design, deployment, and security of the
network infrastructure.
4.1.4 Database administrator
The database administrator is responsible for tuning, backup, and maintenance
of the LMS database(s).
4.1.5 IT system administrator
The IT system administrator is responsible for the care and maintenance of
server hardware, including failure management and course content backups.
4.1.6 Help desk
The help desk is responsible for handling student usage questions and to
generate processes and procedures for problem resolution. The help desk is
sometimes called upon to help subject matter experts (SMEs) create courses in
LMS.
42
IBM Lotus Learning Management System Handbook
4.1.7 System IT specialist
The system IT specialist is responsible for the development of custom reports
and programmatic development of the workflow process. The system IT
specialist is sometimes called upon to manage utilities for recovery of forgotten
passwords, and other IT-related tasks.
4.1.8 Corporate data integration specialist
The corporate data integration specialist is an IT specialist who is involved in
integration with Human Resource (HR) systems, accounting systems, and other
data sources.
4.1.9 Change management specialist
The change management specialist handles LMS software updates, course
content rollouts, and course changes. The change management specialist is also
responsible for scheduling server maintenance and providing approval for taking
the system offline and bringing the system online.
4.1.10 Content developers
Content developers are experts in content tools (LMS Authoring Tool, HTML,
Knowledge Producer, DreamWeaver, Authorware, Flash, and so on). Content
developers usually have a mixture of instructional design, curriculum design,
graphic arts, and content development experience.
4.2 Preconfiguring the LMS servers
Based on the deployment scenario you have chosen:
1. Assemble the machines to be used for the LMS.
2. Install the operating system.
3. Set up the correct TCP/IP settings (use fixed IP addresses and fully qualified
hostnames).
4. Apply your company’s security policies.
5. Connect the machines to your network.
6. Ensure that the DNS hostnames are correctly resolved in the network.
We recommended that you set up all LMS servers using the same time zone and
date/time settings. This ensures, for example, that correct time stamps will be
displayed on reports.
Chapter 4. Pre-installation
43
4.2.1 Installing XVFB on UNIX platforms to enable reporting
If you run the LMS on a UNIX platform, you must install Xserver Virtual Frame
Buffer (XVFB) on your LMM Servers to enable the reporting feature. XVFB
provides a virtual Xserver that runs without a head or graphics card, releasing
you from the requirement of running a real Xserver.
XVFB installation and configuration differs between Linux and AIX.
Installing XVFB on Linux
XVFB for Linux is freeware and can be obtained from x.org's X11R6 distribution.
1. Check the directory /usr/X11R6/bin for a file named Xvfb.
If you have this file, skip to step 4.
If you do not have this file, proceed with step 2.
2. Download the XVFB file from the following link to a directory on the Linux
machine:
ftp://ftp.xfree86.org/pub/XFree86/4.2.0/binaries/Linux-ix86-glibc22/
3. Extract the file with the following commands:
chmod +x extract
mkdir /etc/X11
./extract -C /usr/X11R6 Xvfb
4. Generate a script file named /etc/init.d/xvfb containing the following lines, and
make it executable:
#!/bin/sh
mode=$1
case "$mode" in
'start')
# start the X Virtual Framebuffer (Xvfb)
if [ -f /usr/X11R6/bin/Xvfb ]; then
echo "***Starting up the Virtual Frame Buffer on Screen 1***"
/usr/X11R6/bin/Xvfb :1 -screen 0 1152x900x8 &
fi
;;
*)
echo " Usage: "
echo " $0 start (start XVFB)"
echo " $0 stop (stop XVFB - not supported)"
exit 1
;;
esac
exit 0
chmod +x xvfb
44
IBM Lotus Learning Management System Handbook
5. Change the run-level to 3 by doing the following:
Edit etc/inittab
# Default run-level. The run-levels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
6. Change id:5:initdefault: to id:3:initdefault:.
Note: If you use a different run level, be sure to match it when you set up
the soft link in the next step.
7. Create a soft link using the following command:
ln -s /etc/init.d/xvfb /etc/rc3.d/S75xvfb
This example uses run level 3. If you intend to use XVFB in a different run
level, set up the soft link to the appropriate /etc/rcx.d directory. The run level of
your Linux system is specified in your /etc/inittab file.
8. Restart the server.
9. Verify that XVFB is running with the following command:
ps -ef | grep Xvfb
10.Set DISPLAY from the command line using:
DISPLAY=hostname:1.0
export DISPLAY
The previous lines can be added to .bash_profile or whatever profile you are
using.
11.Start the servers.
Chapter 4. Pre-installation
45
Installing XVFB on AIX
For complete instructions for XVFB, see AIXwindows Programming Guide,
Appendix E, at
http://publib16.boulder.ibm.com/pseries/en_US/aixprggd/aixwnpgd/xvfb.htm#xv
fb
1. Add the following line to /etc/initab:
xvfb:2:respawn:/usr/bin/X11/X -force -vfb -x abx -x dbe -x GLX :1 >
/dev/null
2. Set DISPLAY by adding the following line to .profile:
DISPLAY=`hostname`:1.0
export DISPLAY
3. Restart the server machine.
4. Disable JIT on application server(s).
4.3 LDAP server
For the LMS running under WAS, an LDAP directory is mandatory. It is used for
multiple purposes:
򐂰 Authenticating the WebSphere administrator
򐂰 Authenticating the LMS users
򐂰 Retrieving additional information about LMS users and groups (such as a
user's manager, e-mail address, or language preferences)
4.3.1 Tasks to complete
Here we list the tasks for providing an LDAP server to your LMS system.
Step 1: Install or identify an existing LDAP directory server
The number of LDAP directories supported by the LMS is actually limited by the
underlying WAS. To support single sign-on (SSO, meaning single authentication
against multiple servers), LMS does not authenticate users itself. Instead it uses
the capabilities of WAS, which supports only certain LDAP servers. See
“Supported LDAP directory servers” on page 374 for a list of supported LDAP
servers.
For testing purposes, other LDAP V3 compliant LDAP directories may be used.
For example, we successfully set up an LMS testing environment using an
OpenLDAP directory.
46
IBM Lotus Learning Management System Handbook
Step 2: Gather LDAP access information
During the WAS configuration and the LMS installation, you will be asked to
provide information regarding your LDAP directory. It is a good idea to collect this
information before you run the installer.
򐂰 LDAP directory location
You need to know the fully qualified hostname of the LDAP directory server
and the port number that is used for the LDAP service. Usually this is port
389.
򐂰 Base distinguished name (DN)
The base DN is something like a domain, a filter, or a scope specifying which
part of the LDAP directory has to be used for authentication and search
requests. It has a similar meaning as the starting folder for a search on your
local file system. The base DN defines the starting point in an LDAP directory
tree, and for any upcoming search request only entries below the specified
branch will be considered for the result set.
If a base DN looks like “ou=Detroit, o=YourCompany”, LDAP searches and
authentications will be performed only on YourCompany’s employees in
Detroit. ou stands for organizational unit and o is the abbreviation of
organization. A good place to read about the different attributes used in LDAP
is the LDAP Schema Viewer at:
http://ldap.akbkhome.com/attribute.html/
򐂰 LDAP directory bind user
The bind user is used by WAS and LMS to perform lookups on the LDAP
directory. This user only needs to have read access to the directory. WAS and
LMS will never attempt to write back to the directory.
򐂰 An attribute as user identifier in the LDAP directory
Usually the attribute uid is used as the identifier for user entries in an LDAP
directory. If for some reason this field is not provided in your LDAP directory
and you have to use another attribute, such as common name (cn) or
employeeNumber, you will later have to reflect this in the field user filter when
configuring the WAS LDAP user registry connectivity.
Step 3: Test the LDAP directory connection
Here are two steps you can take to test the connection.
Ensure that all LMS servers can access the LDAP directory
You can check this by using the following telnet command directly in a
command prompt on all LMS servers:
telnet <LDAP server hostname> <LDAP port number>
Chapter 4. Pre-installation
47
Figures 4-1 through 4-4 show the different results you may get when running the
command.
Figure 4-1 Successful connection to an LDAP directory using telnet on MS Windows
Figure 4-2 Failed connection to an LDAP directory from telnet on MS Windows
Figure 4-3 Successful connection to an LDAP directory using telnet on Linux
Figure 4-4 Failed connection to an LDAP directory from telnet on Linux
Tip: If you are using Microsoft Windows 2000 Server and you have the
Microsoft Windows 2000 Resource Kit installed, you can also use ldp (ldp.exe)
for testing the LDAP directory connections.
48
IBM Lotus Learning Management System Handbook
Verify the LDAP bind user
You have to ensure that the used LDAP bind user has the permission to see all
other LMS users and their attributes in the LDAP directory. Users that are not
visible to the bind user cannot be authenticated and therefore will not get access
to the LMS.
Note: The “Test LDAP Connection” button of the LMS setup program does not
ensure this. It only tests if the LDAP directory is reachable using TCP/IP and if
the bind user itself can be authenticated. For this reason we recommend that
you use a separate LDAP client and log on to your LDAP directory with the
bind user. Check that the retrieved LDAP entries are the ones you expected.
See 4.3.2, “Additional information” on page 49, for an example usage of the
LDAP Browser/Editor.
A list of freely available LDAP clients can be found in “Free LDAP viewers” on
page 449.
Step 4: Create or select an LDAP group for LMS administrators
During LMS installation you will be asked if the LMS administrator role should be
applied to a group or to a single person in the LDAP directory.
We recommend that you specify an LDAP group (for example,
cn=LMSAdmins,ou=whatever) instead of a single person. This makes it easier to
add administrators to the LMS since you only have to modify the group in the
LDAP directory. Using this technique allows you to avoid having to explicitly grant
the required permissions to each person you want to be an LMS administrator.
4.3.2 Additional information
Here are some additional issues that we have discovered.
Note: See Appendix F, “Default LDAP attribute mappings” on page 393, for
additional information on relating your LDAP entries to your LMS system.
Using multiple LDAP directories
If you want to allow users registered in different LDAP directories to use the same
LMS installation, you will have to connect WAS and LMS to a meta directory that
references user entries in these directories.
Note: Use of a meta directory with LSM is not currently supported by IBM.
Chapter 4. Pre-installation
49
There are two different kinds of meta directories:
򐂰 “Virtual Directories”, “LDAP Proxy Servers”, or “LDAP Gateways,” which
forward incoming query requests to the directory containing the desired
information.
Some examples of this kind are enQuire Virtual Directory, MaXware Virtual
Directory, OctetString Directory Federator Express, Radiant Logic Virtual
Directory Server, and Sun ONE Directory Proxy Server.
Main advantages to a virtual directory include:
– They provide real-time data from the backend directories.
– The virtual directory does not have know the password encryption
methods used by these directories, since authentication requests are
forwarded to the backend directories also.
򐂰 “Synchronized Directories,” which import the information from the backend
directories by using replication technologies. Incoming requests are served by
the meta directory itself based on the imported data.
Some examples of this kind are Critical Path Meta-Directory Server, IBM
Directory Integrator, MaXware MetaCenter, Microsoft Metadirectory Services,
NOVELL DirXML, Siemens DirXmetahub, and Sun ONE Meta-Directory.
The main advantages to a syncronized directory include:
– Synchronized directories do not require the backend directories to be
online to serve queries.
– Queries are usually processed faster, compared to virtual directories,
because the requests are not forwarded to other directories.
– During data synchronization, the imported data can be transformed and
enriched to fit the actual needs.
Before you start using an meta directory with LMS, you should consider the
following issues:
򐂰 The usage of meta directories with LMS is currently not officially supported by
IBM.
򐂰 All data provided by the meta directory must use the same LDAP data
schema. For directories using different schemas, meta directories usually
provide mechanisms to map the attributes of those directories to a single data
schema.
򐂰 The LDAP bind user must have the correct permission to query the required
data on all connected directories.
򐂰 Ensure that the user authentication through the meta directory against all
attached directories works.
50
IBM Lotus Learning Management System Handbook
However, by using the IBM Directory Integrator (IDI), you can create an
IBM-supported scenario. IDI is not a typical meta directory. It is a data
transformation engine that can retrieve information from a variety of input
sources, transform it as required, and send it to several types of output sources.
Since IDI also has input/output connectors for LDAP, it can be configured to act
as an synchronized directory in conjunction with an IBM Directory Server (IDS).
In this case IDI retrieves the data from the backend directories, transforms it
based on user-specified rules to a single LDAP schema, and pushes the
adjusted data to the backend storage of the IBM Directory Server (IDS). WAS
and LMS are then connected to the IDS, which is supported for use with LMS.
WAS
LDAP 1
LMS - LMM
LDAP 2
IBM Directory
Integrator (IDI)
IBM Directory
Server (IDS)
LMS - DS
LDAP ...
Figure 4-5 Integrating multiple LDAP directories with LMS using IBM Directory Integrator
Using LDAP browser/editor to verify LDAP directory access
To verify the LDAP directory access using the LDAP browser/editor:
1. Download and install the Sun Java Runtime Environment 1.2.2 or later from:
http://java.sun.com/j2se/1.4.1/download.html
2. Download and unpack the LDAP Browser/Editor from:
http://www.iit.edu/~gawojar/ldap/
3. To launch the client, go to the ldapbrowser folder and run the lbe.bat on
Window Systems and the lbe.sh on Unix/Linux systems.
Read the faq.html if you encounter problems.
4. After launching the client, you will be asked to select a predefined LDAP
server connection to use. Click New to create a new LDAP connection. See
Figure 4-6 on page 52.
Chapter 4. Pre-installation
51
Figure 4-6 LDAP browser - Quick Connect dialog
5. Enter a label for the new connection (session name). See Figure 4-7.
Figure 4-7 LDAP browser - New LDAP connection - Connection name
6. Go to the Connection tab, enter the LDAP directory connection details, and
then click Save.
Note: To enter the bind user you have to clear the “Anonymous bind” check
box first. See Figure 4-8.
52
IBM Lotus Learning Management System Handbook
Figure 4-8 LDAP browser - New LDAP connection - Connection details
7. Select the newly created connection from the session list in the Connect
dialog and click Connect. See Figure 4-9.
Figure 4-9 LDAP browser - Selecting an LDAP connection
8. You should see the LDAP tree with all users now. Check that their attributes
are visible too, as shown in Figure 4-10 on page 54.
Chapter 4. Pre-installation
53
Figure 4-10 LDAP browser - Retrieved directory tree
If an error occurs, it is shown in the status bar at the bottom of the window, as
seen in Figure 4-11. You can then view the error log from the menu item View
-> Display error log. See Figure 4-12 on page 55.
Figure 4-11 LDAP browser - Connection failed
54
IBM Lotus Learning Management System Handbook
Figure 4-12 LDAP browser - Displaying error log
4.4 Database server
LMS uses relational databases to store all of its business data. During the LMS
installation the following logical databases will be created:
LMM database
This is the core database of the LMS. It stores all user, course,
tracking, and resource information. It is only used by LMM.
Audit database This database is used as an activity log of administrative
actions performed by users (system configuration, user
enrollment, or course catalog administration). In case of
misconfigurations, for example, it can be used to trace the
activities that led to the current situation. LMM only writes to
the Audit database and does not use or report on the written
information itself.
DS database
This contains the course structure data for offerings that have
been deployed to a DS. It also contains the tracking data that is
generated when a user attends a course. This data is then
transferred by Web Services to the LMM and stored in its
database as well.
One DS database is required to support each DS. It does not
need to reside on the same database server as the LMM and
Audit databases. In a distributed environment, for example,
you might consider using a database server that is physically
closer to the DS.
These databases are logically distinct and are accessed only by the applications.
There is no direct communication between the logical databases.
Chapter 4. Pre-installation
55
4.4.1 Tasks to complete
Here are the tasks for installing the database server.
Step 1: Install or identify an existing database server
If you are not going to use an existing database server with LMS, then a
database server must be installed and configured first. See “Supported database
servers” on page 374.
You can use different database servers for LMM and DS. In this case, it is not
required that LMM can access the database server used by DS and vice versa.
Between LMM and DS all necessary information is exchanged using Web
Services/SOAP.
Before installing DB2 on Linux
Running DB2 on a Linux 2.4 server requires changes to the Linux kernel
parameters. Recompile the kernel source as explained here before you install
DB2 on the server.
1. Change the msgmni parameter to 256 with the command:
echo 256 > /proc/sys/kernel/msgmni
This sets the maximum number of SYSV IPC message queues from the
default of 16 to 256.
2. Increase SEMMNI from 128 to 2048. This sets the maximum number of
semaphore IDs allowed in the kernel. The upper limit for this value is 32768.
3. Increase SEMMSL from 250 to 500. This sets the maximum number of
semaphores per sem ID. The upper limit for this value is 8000.
4. Increase SEMOPM from 32 to 256. This sets the maximum number of
operations allowed per semop() call. The upper limit for this value is 1000.
5. Increase the number of open files using the command:
echo 32768 > /proc/sys/fs/file-max
This sets the maximum number of open files system-wide to 32 KB.
Before installing DB2 on Sun Solaris
Before installing the DB2 for Sun Solaris product using the DB2Setup Utility or
the DB2_install and PKGADD commands, you may have to update your system's
kernel configuration parameters.
The following lines should be added to the file /etc/system. You must reboot your
machine after updating any kernel configuration parameters:
set msgsys:msginfo_msgmax=0xFFFF
set msgsys:msginfo_msgmnb=0xFFFF
56
IBM Lotus Learning Management System Handbook
set
set
set
set
msgsys:msginfo_msgmap=0x102
msgsys:msginfo_msgmni=0xFF
msgsys:msginfo_msgssz=0x10
msgsys:msginfo_msgtql=0x400
set shmsys:shminfo_shmmax=0x20000000
set shmsys:shminfo_shmseg=0x32
set shmsys:shminfo_shmmni=0x12C
set
set
set
set
set
semsys:seminfo_semmni=0x400
semsys:seminfo_semmap=0x400
semsys:seminfo_semmns=0x800
semsys:seminfo_semmnu=0x800
semsys:seminfo_semume=0x32
The settings can be verified with these commands:
# ipcs –a
# sysdef | egrep MSG\|SEM\|SHM
This information is also available in the DB2 knowledge base at:
http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/documen
t.d2w/report?fn=db2v7ixdb2ix31.htm#HDRUPDATE_SOLARIS_KERNEL
Step 2: Prepare database server for UTF-8
Because of multilingual support, the LMS databases must be in UTF-8 (Unicode)
format.
IBM DB2
The LMM, DS, and Audit database require their own databases on a database
server. The DB2 instance can have many other databases on the same instance,
which use other codepages. In this way, the LMS databases can co-exist with
other databases without affecting them.
Oracle
An Oracle instance has only one database, which must be UTF-8 for use with
LMS. If this instance is being used for other purposes, all schemas on that
instance will be UTF-8. If this is a problem for the other database users, a
separate database instance must be created, which can be on the same server.
Microsoft SQL Server 2000
There are no specific database requirements that should affect other databases
on the database server.
Chapter 4. Pre-installation
57
Step 3: Set up database client connectivity
Install the required database client software for your database server on the LMM
and DS machines. If the database server is installed on the same machine as the
LMS, no additional client software needs to be installed.
Tip: You can find the JDBC driver for Microsoft SQL Server 2000 here:
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/sqlserver.
asp
Ensure that the connection between your database server and your LMM and DS
is not blocked by a firewall. As in the LDAP connectivity test, you can use the
telnet command to test the connection to the specific port on your database
server.
JDBC 2.0 driver setup for DB2 7.2
WebSphere requires JDBC 2.0 drivers for its JDBC data sources. DB2 7.2 uses
JDBC 1.0 by default. Therefore you must configure the DB2 Connect™ Software
on the WebSphere machine to use its supplied JDBC 2.0 drivers in order for
WAS to connect to DB2 databases using JDBC.
If you are using DB2 8.1, no actions are required, since it uses JDBC 2.0 by
default.
On Windows systems:
1. Stop any running DB2 processes.
2. Open a command prompt and navigate to the ...\sqllib\java12 directory.
3. Execute the file jdbc2.bat. This will copy the appropriate db2java.zip file to
the directory ...\sqllib\java\.
4. You can now restart DB2 processes.
To see what JDBC level is in use on your system:
򐂰 If JDBC 2.0 is in use, the file SQLLIB\java12\inuse will exist.
򐂰 If JDBC 1.0 is in use, the file SQLLIB\java11\inuse will exist.
On UNIX systems:
1. Log in as the DB2 instance owner (for example, db2inst1).
2. Type:
cd $HOME/sqllib
3. Add the following line to the file userprofile:
. /$DB2_INSTALL_PATH/java12/usejdbc2
58
IBM Lotus Learning Management System Handbook
Where /$DB2_INSTALL_PATH is the actual path where DB2 is installed on the
machine, not an environment variable.
Note: You should update each user account profile for your database
system with the .$HOME/sqllib/java12/usejdbc2 command.
4. Save your changes to the file.
5. Stop any running DB2 processes.
6. Log out and log back in.
7. You can now restart DB2 processes.
4.5 SMTP server
In order for LMS to perform automatic notifications, it needs to have access to an
SMTP server. Here are steps to provide SMTP server connectivity.
4.5.1 Tasks to complete
The following sections discuss the tasks to present.
Step 1: Install or identify an existing SMTP server
There are no specific requirements for the SMTP server software to be used with
LMS.
Write down the fully qualified hostname of your SMTP server, since this
information is needed for setting up the e-mail notification support in LMS.
Step 2: Ensure SMTP relaying for LMM is enabled
For security reasons, SMTP servers usually relay e-mails only to defined hosts;
sometimes they completely disallow it. You have to ensure that LMM actually can
send e-mails using the SMTP server.
First check and modify the settings of your SMTP server to allow SMTP relaying
by LMM.
Then try to send an e-mail using the SMTP server directly from the LMM
machine using telnet as shown in Figure 4-13 on page 60.
Chapter 4. Pre-installation
59
telnet lms-lmm.example.com smtp
220 lms-lmm.example.com ESMTP Service (Lotus Domino 5012HF16) ready at Wed, 25
Jun 2003 14:25:24 -0400
EHLO [email protected]
250 example.com Hello [email protected] ([10.0.0.1]), pleased to meet you
250-HELP
250-SIZE
250 PIPELINING
MAIL FROM: <[email protected]>
250 [email protected] Sender OK
RCPT TO: <[email protected]>
250 [email protected] Recipient OK
DATA
354 Enter message, end with "." on a line by itself
This is a test.
.
250 Message accepted for delivery
QUIT
221 lms-lmm.example.com SMTP Service closing transmission channel
Connection to host lost.
Figure 4-13 Testing SMTP connection using telnet
The bold text commands show what to enter in the console and the normal text
are the responses of the server. These commands connect to the SMTP server
and try to create and send a new e-mail. If you are running the telnet command
on a MS Windows command prompt, you will have to type the commands blind,
since they are not shown in the console.
4.5.2 SMTP commands
The following are SMTP commands:
򐂰 EHLO {sender’s hostname}
Initiates an SMTP session between the client machine and the SMTP server.
The client machine identifies itself by providing its fully qualified hostname.
򐂰 MAIL FROM: <{sender’s e-mail address}>
Starts an e-mail transaction and specifies the e-mail address used for the
“from” field.
60
IBM Lotus Learning Management System Handbook
򐂰 RCPT TO: <{recipient’s e-mail address}>
Defines the recipient of the e-mail.
򐂰 DATA
Signals the beginning of the e-mail’s main text message. All lines entered
after this command will be recognized as part of the e-mail. To end the text
message you have to enter a line containing only a dot (.). After this
command, the mail will automatically be sent.
򐂰 QUIT
Ends the session with the SMTP server.
4.6 HTTP servers
In an LMS environment, HTTP servers (that is, Web servers) provide the LMS
user interface and the course contents to each student. You can use the same
Web server for UI and content. However, for performance reasons, you will
usually want to set up separate content servers in larger LMS deployments.
4.6.1 HTTP servers for LMS user interface access
As you will later see, the LMS modules (LMM, DS) will be installed on logical
application servers that reside on a WebSphere Application Server (WAS). Every
application server is bound to a unique TCP port on the machine on which it is
installed. As WAS comes with a built-in HTTP server, you can access the
applications hosted by an application server directly without the need of a
separate HTTP server. That is, the applications in an application server can be
accessed by:
http://<hostname>:<application_server_bind_port>/<application_context_root>
On a single server installation, for example, the LMM is accessible by:
http://lmsserver.com:9081/lms-lmm
And the DS by:
http://lmsserver.com:9081/lms-ds
These assume that LMM and DS are installed on an application server that is
bound to port 9081.
Since your LMS is fully accessible using these URLs, you might ask why an
additional Web server is necessary for accessing the LMS and how to set up this
Web server to connect to WAS.
Chapter 4. Pre-installation
61
How to set up a separate Web server for LMS
For several Web servers, a WebSphere plug-in is provided by WAS. This plug-in
and a plug-in configuration file (plugin-cfg.xml) have to be installed on the Web
server. Incoming HTTP requests for the Web server will be intercepted by the
plug-in and—based on the rules defined in the configuration file—either passed
to WAS or back to the HTTP Server. The plug-in configuration file contains
mapping descriptions for incoming URLs to URLs pointing to WebSphere
applications. An incoming URL request for http://lmsserver.com/lms-lmm might
be translated by the plug-in and then internally forwarded to
http://lmsserver.com:9081/lms-lmm.
LMS
end user’s
Web browser
HTTP
Web server
WebSphere
plug-in
WebSphere
Application Server
LMS - LMM
course content files
LMS - DS
Figure 4-14 WebSphere plug-in intercepting HTTP requests
The Web server can also be located on a separate machine. In this case you
have to ensure that the WebSphere applications are reachable through TCP/IP
by the WebSphere plug-in installed on the Web server.
If you are deploying the LMS on multiple servers, you can use the same Web
server to forward to LMM and DS. And of course, if the distance between LMM
and DS is too big, you can set up separate Web servers for LMM and DS access.
Now you know how WAS and the HTTP server interact, so we can answer the
other question.
The advantage of adding a Web server
Several advantages are discussed below.
Performance
HTTP servers are highly optimized to serve static contents like HTML and image
files. Even though WAS comes with a built-in HTTP server task, we recommend
that you provide a WebSphere application’s static elements from an HTTP
server. For LMS, this would mean unzipping the provided war files for LMM and
DS in the document path of the HTTP server and modifying the plug-in
62
IBM Lotus Learning Management System Handbook
configuration file accordingly. This is explained in detail in 6.1, “Move static LMS
elements to the Web server” on page 106.
Security
When the environment is secured by firewalls, using an HTTP server with
WebSphere plug-in to access WebSphere applications reduces the number of
ports required to be open.
Basically only port 80 and 443 (for SSL) on the machine hosting the HTTP server
need to be opened to an untrusted network. One HTTP server can provide
access to applications from different WebSphere Application Servers.
Usability
Since you can map WebSphere applications as virtual directories to an HTTP
Server, URLs that are easy to remember can be created. Thus end users do not
have to care about port numbers to access WebSphere applications.
Applications or Web components hosted on multiple servers can—when mapped
to the same HTTP server—act virtually as a one-server application.
Now that you know several reasons to have a separate HTTP server, see
Figure 4-15 on page 64. It shows an example of an LMS setup where the HTTP
server is installed on a separate machine that is placed in a DMZ. The
WebSphere servers are secured by two firewalls. The first only allows inbound
HTTP connections from the untrusted network to the Web server on port 80 and
443. The second firewall is configured only to passthrough connections from the
Web server to the application server’s http/https ports of the LMM and DS
machines. In addition, the second firewall also allows HTTP connections from
LMM and DS to port 80 of the Web server. This is needed because the LMM and
DS are talking indirectly to each other by the Web server.
Beside course contents, the static UI elements of the LMS modules are also
stored on the Web server and will not be requested from WAS.
Chapter 4. Pre-installation
63
server in DMZ
end user’s
Web browser
HTTP
Web server
WebSphere
plug-in
course content files
+ static LMS UI files
server in Intranet
WebSphere
LMS - LMM
server in Intranet
WebSphere
LMS - DS
Figure 4-15 WebSphere plug-in located on a separate machine
4.6.2 HTTP servers for course contents
Beside HTTP servers for accessing the LMS modules, Web servers are required
to host the actual course contents. The content for a deployed course is hosted
on all Web servers that are dedicated to the DS on which this course is deployed.
For any DS, multiple load-balanced Web servers can be used as content servers.
For small deployments, and if it suits your security policies, you might use the
same HTTP server you are using for the DS as a content server.
In contrast to Web servers providing LMS user interface access, there are no
specific requirements for Web servers used for serving course content. We
recommend using Web servers that support HTTP/1.1. You can find information
on the major differences between HTTP/1.0 and HTTP/1.1 at:
http://www.research.att.com/~bala/papers/h0vh1.html
64
IBM Lotus Learning Management System Handbook
LMS - LMM
Web server
WebSphere
plug-In
HTTP
WebSphere
Application Server
LMS - LMM
static
LMS UI files
end user’s
Web browser
LMS - DS
Web server
WebSphere
plug-In
WebSphere
Application Server
LMS - DS
static
LMS UI files
Load
Balancer
DS Content Server 1
Web server
course content
files
DS Content Server 2
Web server
course content
files
Figure 4-16 Using multiple content servers
4.6.3 Tasks to complete
Here is a list of tasks for setting up your HTTP (Web) servers.
Step 1: Plan your Web server scenario
As you read in the previous sections, you have flexibility in how you place and
use the Web server(s). Based on your deployment planning (see Chapter 2,
“Planning your LMS deployment” on page 9) you will have to decide the right
scenario for your company.
Chapter 4. Pre-installation
65
Step 2: Select your Web server software
Keep in mind, only HTTP server(s) for which the WebSphere plug-in is provided
can be used for LMS user interface access. See “Supported Web servers for use
with WAS” on page 375 for a list of Web servers you can use.
This requirement does not exist for dedicated course content servers, as
explained in Section 4.6.2, “HTTP servers for course contents” on page 64.
Step 3: Ensure that port 80 is available
Make sure that, on the machines you are going to install an HTTP server, no
other server is running on port 80. To check this, you can use the command:
telnet <hostname> 80
Under Windows, you should get a response like:
Connecting To <hostname>...Could not open a connection to host on port 80 :
Connect failed.
Step 4: Install the Web server software for LMS access
If you want to use a Web server other than the bundled IBM HTTP Server 1.3.26
or if you want to install the IBM HTTP Server on a separate machine, install and
configure your Web server according to its installation instructions before you
install the WAS. During the installation of WAS, select the appropriate
WebSphere plug-in to be installed.
If you decide to use the included IBM HTTP Server on the same machine as
WAS, you need to select it, along with the correct WebSphere plug-in, as an
installation option during the setup of WAS.
For further information read “Preparing to install and configure a Web server” at
the WebSphere Application Server InfoCenter:
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/tins_webserver.html
Step 5: Install the Web server software for content access
If you are using separate content servers, install the Web server software
according to its installation instructions on these machines.
Step 6: Prepare Web servers for content deployment
When a course is deployed to a DS, the LMM’s Content Manager (CM) copies
the course files to all content servers attached to the specified DS. This file
transfer can happen through a file system or over FTP.
66
IBM Lotus Learning Management System Handbook
We recommend that you use file system transfer only for single server
installations, meaning that LMM, DS, and course contents are installed on the
same server. For all other scenarios you should use FTP.
Create a course content directory
Create one directory on all content servers that are dedicated to hold the content
files of deployed courses. You can create this directory directly under the
document root of the Web server. Alternatively you can create this directory
outside the document root and map it as a virtual directory to the Web server.
For Apache Web Server and IBM HTTP Server, this means you will have to add a
section to the configuration file httpd.conf looking like this:
Alias /content/ "d:\deployed_course_content/"
<Directory "d:\deployed_course_content/">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
This sets up a virtual directory, /content/, that points to the physical directory,
d:\deployed_course_content. Files in this directory are then accessible through
http://<hostname>/content/.
Preparing for content deployment through a file system
File system transfer means that the CM copies the course files to the previously
created directory using file system access.
If you need to deploy content to a Web server that is not located on the same
machine as the LMM (which is usually the case) through the file system, you
have to map (Windows) resp. mount (Linux) this remote content directory to the
LMM machine’s file system and not to the DS machine’s file system.
Preparing for content deployment using FTP
On all content servers used by LMS, you have to set up FTP accounts with the
same FTP user name and password. Set up the FTP account(s) so that the
content directory is accessible for read and write access.
Ensure that you can connect to the FTP server(s) from the LMM Server and that
you can access the content directory. Try to create and delete a folder using FTP
in the content directory to ensure that the FTP user has the required rights.
Chapter 4. Pre-installation
67
4.7 WebSphere Application Server
IBM WebSphere Application Server (WAS) Release 5 is a powerful J2EE
application server and the base environment for LMS (LMM and DS).
WAS delivers flexible configuration and deployment options to meet the needs of
the stand-alone or multiserver distributed and highly dynamic environments. As
your e-business requirements change, you can migrate smoothly to the greater
functionality and higher qualities of service offered by other configurations.
If multiple servers are used, you must install WAS Network Deployment. The
Network Deployment (ND) module configures and controls multi-server WAS
installations. Also if you intend to deploy LMS on a cluster of servers for
performance or high availability reasons, ND must be installed to manage the
cluster.
WAS ND can be installed on the same node where the WAS base product has
been installed, but usually you avoid this additional overhead and install WAS ND
on a separate desktop machine.
Note: You can also use an existing WAS environment for LMS, if single
sign-on (SSO) is enabled and the previously installed LDAP directory is used
as User Registry for the Global Security.
4.7.1 WAS terminology
Application Server is the primary runtime component. This is where the
application actually executes. All WebSphere Application Server configurations
can have one or more application servers. However, there is no workload
distribution or common administration among application servers until you reach
the Network Deployment level.
Node is a logical grouping of application server processes. A node often
corresponds to a physical server machine with an IP address assigned to it. The
application server processes located on one node are managed by a single node
agent. On each node, there is a local copy of the cell configuration repository
managed by a node agent. This repository may be modified through the
deployment manager during publish/activate configuration processes. The node
agent also has access to the configuration repository of each process running on
a node.
Cell is a logical configuration concept that associates WebSphere server nodes
with one another. Administrators may freely define the cell according to whatever
68
IBM Lotus Learning Management System Handbook
criteria they will take to group the servers (organizational aspects, application
aspects, and so on). A cell is managed by one deployment manager process.
Node Agent is the administrative process that manages application server
processes on a single node. The Node Agent routes administrative requests
issued from the deployment manager to a particular application server. It is
purely an administration process participating in the network deployment
configuration and is not involved in serving applications.
Network Deployment Manager is an administrative process that controls
processes and manages load balancing between the nodes connected to the
cell. Administrative access to any node in a cell is governed by deployment
manager processes. This means that the deployment manager hosts the
administrative console for the entire cell. In the WebSphere Network Deployment
configuration, one computer is designated to be the central Deployment
Manager. This central machine controls other systems that work under its
supervision.
Machine 3
Admin
Web
Application
Network Deployment
Manager
http://machine3:9090/admin
Machine 1
Machine 2
Node
Agent 1
Application
Server A
Node
Agent 2
Application
Server B
Application
Server C
Application
Server D
Node 1
Node 2
Cell
Figure 4-17 Interrelation between WebSphere components
4.7.2 Tasks to complete
Here are the tasks for installing the WebSphere Application Server.
Chapter 4. Pre-installation
69
Step 1: Read the platform-specific tips for WAS 5 installation
Read the “Platform-specific tips for installing and migrating” described at:
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/rins_prereq.html
Step 2: Install WAS base product
Install WAS as described in the LMS installation guide on all LMM and DS
machines. In addition, here are some tips and additional information regarding
the WAS installation:
򐂰 During the install, we recommend that you choose Custom as the installation
method and then deselect the following options:
– Embedded Messaging
– Application Server Samples
– Application Assembly and Development Tools
򐂰 Do not forget to select the correct WebSphere Web server plug-in to be
installed.
򐂰 When you are asked by the installation program to enter the Node Name, do
not enter the fully qualified hostname. You can use the short hostname or
some other name. The node name is used as a reference name to distinguish
between the different nodes of a WebSphere cell. In the field Host name or IP
address, enter the fully qualified hostname.
Figure 4-18 WAS installation - Entering node name and hostname
򐂰 After installation, the “First Steps” program is launched. Select Start the
server from the displayed menu. When WAS is started, click Verify
70
IBM Lotus Learning Management System Handbook
Installation to validate the WAS installation. This process should end with the
message IVTL00801: Installation Verification is complete.
Figure 4-19 WAS installation verified
򐂰 During the WAS installation, an application server called server1 is
automatically created. server1 hosts the WAS administration console, the
DefaultApplication (contains the hello, snoop, and hitcount servlets), and the
ivtApp (used by the installation verification process).
You can access the WAS administration console using:
http://<fully_qualified_hostname>:9090/admin
The test servlets are accessible from:
http://<fully_qualified_hostname>:9080/snoop
http://<fully_qualified_hostname>:9080/hello
http://<fully_qualified_hostname>:9080/hitcount
򐂰 Under Windows, you can start and stop server1 by using:
– The start menu
To start: Start -> Programs -> IBM WebSphere -> Application Server
V5.0 -> Start the Server
To stop: Start->Programs -> IBM WebSphere -> Application Server
V5.0 -> Stop the Server
Chapter 4. Pre-installation
71
– The command line
To start: <WAS_install_path>\bin\startServer.bat server1
To stop: <WAS_install_path>\bin\stopServer.bat server1
When WebSphere Global Security is enabled, the stopServer command
requires a user name and password:
<WAS_install_path>\bin\stopServer.bat server1 -username wasadmin
-password password
򐂰 Under UNIX, you can start and stop the server by using the command line.
To start: <WAS_install_path>/bin/startServer.sh server1
To stop: <WAS_install_path>/bin/stopServer.sh server1
When WebSphere Global Security is enabled, the stopServer command
requires a user name and password:
To stop: <WAS_install_path>/bin/stopServer.sh server1 -username
wasadmin -password password
Note: wasadmin is the server user ID you specify when enabling WAS Global
Security. This user must exist in the LDAP directory.
Step 3: Enable WAS Global Security and SSO
As described in the LMS installation guide, enable WAS Global Security and
SSO. Use the same LDAP directory as user registry you want to use for LMS.
See “How to set up security in WAS” on page 378 for additional information on
the most important configuration parameters regarding WebSphere security.
Step 4: Install and configure the WebSphere plug-in
When you install WAS, you can decide which WebSphere Web server plug-ins
you want to install. Based on the location of your Web server, you have to
perform different steps to ensure a proper setup of the plug-in.
Note: There is a known issue with the WebSphere plug-in in ND
environments. See “Unique application server names across a cell” on
page 79.
If WAS and the Web server are on the same machine
When a WebSphere plug-in is selected and the Web server is installed on the
same machine, the setup program will automatically do the following:
򐂰 Copy the plug-in binary to the <WAS_installation_path>/bin directory.
72
IBM Lotus Learning Management System Handbook
򐂰 Update the Web server’s configuration file, such as the httpd.conf file on IBM
HTTP Server/Apache Web Server, so that it loads the plug-in on start up.
After the WAS installation, you must perform the following steps manually:
1. Generate the required plug-in configuration file as described in “Generating
the WebSphere plug-in configuration file” on page 75.
2. Check that the right settings have been applied to the Web server’s
configuration file.
For the bundled IBM HTTP Server 1.3, this means, for example, that you must
verify that the httpd.conf contains the required parameters:
– The line ServerName <fully_qualified_hostname> (usually the first line of
the file) should contain the fully qualified hostname of the server. If this line
is missing or only shows the short hostname, change it manually.
– Ensure that the following lines are added to the file, usually at the end:
LoadModule ibm_app_server_http_module
"<WAS_install_path>/bin/mod_ibm_app_server_http.dll"
WebSpherePluginConfig
"<WAS_install_path>/config/cells/plugin-cfg.xml"
Also ensure that the path points to the right location.
a. Restart the Web server.
b. Check that the WebSphere plug-in is configured correctly by accessing the
servlets of WebSphere’s DefaultApplication in a Web browser:
http://<fully_qualified_hostname>/hello
http://<fully_qualified_hostname>/snoop
http://<fully_qualified_hostname>/hitcount
If WAS and the Web server are not on the same machine
If you installed the Web server on a separate machine, the WAS setup program
will only copy the plug-in binary to the <WAS_installation_path>/bin directory.
You will then have to perform the following steps:
1. Generate the required plug-in configuration file as described in “Generating
the WebSphere plug-in configuration file” on page 75.
2. Copy the plug-in binary and the plug-in configuration file to the Web server’s
file system.
3. Update the Web server’s configuration file, so that the WebSphere plug-in is
loaded.
4. Restart the Web server.
Chapter 4. Pre-installation
73
5. Check that the WebSphere plug-in is configured correctly by accessing the
servlets of WebSphere’s DefaultApplication in a Web browser:
http://<fully_qualified_hostname>/hello
http://<fully_qualified_hostname>/snoop
http://<fully_qualified_hostname>/hitcount
Note: This process is described in detail for all supported Web servers at the
WebSphere Application Server InfoCenter in “Manually configuring supported
Web servers”:
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/tins_manualWebServer
.html
See “Plug-in configuration on a separate IBM HTTP Server” on page 77 for an
example.
Table 4-1 WebSphere plug-in binary filenames
Web server
OS
Plug-in file name
IBM HTTP Server 1.3.26
UNIX
mod_ibm_app_server_http.so
Win2k
mod_ibm_app_server_http.dll
IBM HTTP Server 2.0
UNIX
mod_was_ap20_http.so
Win2k
mod_was_ap20_http.dll
Apache HTTP Server 1.3 (without Extended API)
UNIX
mod_app_server_http.so
Win2k
mod_app_server_http.dll
Apache HTTP Server 1.3 (with Extended API)
UNIX
mod_app_server_http_eapi.so
Win2k
mod_app_server_http_eapi.dll
Sun ONE Web Server, Enterprise Edition 6
UNIX
libns41_http.so
Win2k
libns41_http.so
Microsoft Internet Information Server 4.0, 5.0
Win2k
iisWASPlugin_http.dll
Lotus Domino Enterprise Server 5
74
UNIX
libdomino5_http.so
Win2k
domino5_http.dll
IBM Lotus Learning Management System Handbook
Step 5: Create separate application servers for LMS modules
In order to later be able to apply specific tuning options to the LMS, you should
create application servers on your WAS nodes that are dedicated to LMS.
On single server installations, we recommend that you create one separate
application server, that hosts both LMM and DS. On multi-server installations, an
application server will usually only host LMM or a DS.
For information about the performance impacts of one or many application
servers per node, read “J2EE Application Deployment: One or Many Applications
per Application Server?” at:
http://www7b.software.ibm.com/wsdd/techjournal/0211_alcott/alcott.html
Step 6: Set ConnectionIOTimeOut parameter
To ensure the successful deployment of both LMM and DS, you must set an
additional WebSphere variable, ConnectionIOTimeOut.
Perform the following steps for each application server that will later host a LMM
or DS module:
1. In the WebSphere Administrative Console, go to Servers -> Application
Servers -> <SERVER_NAME> -> Web Container -> HTTP Transports.
2. In the HTTP Transports screen, click the asterisk (*) associated with the port
for which “SSL enabled” is set to False.
3. In the port’s screen, click Custom Properties.
4. Click the New button.
5. Set the name to ConnectionIOTimeOut and the value to 1000.
Testing connectivity
See 8.7, “Test JDBC connections from within WebSphere” on page 140 for
additional details on testing your connections.
4.7.3 Additional information
Now we share some additional information.
Generating the WebSphere plug-in configuration file
After the installation of WAS (and Network Deployment Manager), and before
you can use the Web server plug-in, the Web server plug-in configuration must
be generated. Any future changes that affect the way how HTTP requests to
WAS are routed, require that this process will be repeated.
Chapter 4. Pre-installation
75
To generate the configuration file:
1. Open the administrative console (http://<WAS_hostname>:9090/admin) in a
Web browser and log on.
2. Expand Environment and select Update Web Server Plug-in.
3. Click OK to generate the configuration file.
4. Verify that the generation was successful by looking at the messages that
appear at the top in the administrative console.
Figure 4-20 Generating WebSphere plug-in configuration file
5. Open the plugin-cfg.xml file and alter directory paths if necessary. These
paths were generated with respect to that WAS system where the plug-in was
generated and may not be correct for the server where you deploy the plug-in
configuration file.
The generated Web server plug-in is stored in one of the following places:
– In a Network Deployment environment, it is stored in
<WAS_ND_installation_path>/config/cells/plugin-cfg.xml.
76
IBM Lotus Learning Management System Handbook
– In a base WebSphere Application Server environment, it is stored in
<WAS_installation_path>/config/cells/plugin-cfg.xml.
6. If you are in a Network Deployment environment, make sure that after the
regeneration the plug-in configuration file is synchronized with the nodes. To
ensure this, restart all nodes or copy the file manually to the separate WAS
machines.
Under Windows, you can restart a node by issuing the following commands in
a command line on the WAS machines:
cd <WAS_installation_root>
stopServer.bat <server> -username <wasadmin> -password <password>
stopNode.bat -username <wasadmin> -password <password>
startNode.bat
startServer.bat <server>
Under Linux, you can restart a node by issuing the following commands in a
command line on the WAS machines:
cd <WAS_installation_root>
.\stopServer.sh <server> -username <wasadmin> -password <password>
.\stopNode.sh -username <wasadmin> -password <password>
.\startNode.sh
.\startServer.sh <server>
Note: According to the WebSphere manual, you can also use the Full
Resynchronize function in the WAS administration interface to synchronize
the plug-in configuration file between ND and a WAS node. However, in our
experience this does not always work.
7. If you are using separate Web servers, copy the plug-in configuration file to
the appropriate location on these machines.
The WebSphere plug-in checks for changes in the plug-in configuration file
every 60 seconds. You can wait this time or you can enforce a rereading of the
file by restarting the Web server.
Plug-in configuration on a separate IBM HTTP Server
For a separate IBM HTTP Server 1.3 on a Windows machine, you will have to do
the following steps:
1. Copy the mod_ibm_app_server_http.dll to
<IBMHTTPServer_installation_path>\modules\.
2. Add the following lines to
<IBMHTTPServer_installation_path>\conf\httpd.conf.
LoadModule ibm_app_server_http_module
"modules/mod_ibm_app_server_http.dll"
Chapter 4. Pre-installation
77
WebSpherePluginConfig "conf/plugin-cfg.xml"
Note: If you have any old entries in the Web server configuration file, you
have to remove them first.
3. Copy the plugin-cfg.xml to <IBMHTTPServer_installation_path>\conf\.
Note: This file must be recopied to the Web server whenever an
application server configuration change requires it to be regenerated. You
also have to reapply the changes described below.
4. Adjust the log path in the copied plugin-cfg.xml:
<Log LogLevel="Error" Name="logs/http_plugin.log"/>
Using a relative path like logs/http_plugin.log instead of a absolute path will
create the log file in the logs directory located under the IBM HTTP Server
installation path.
5. Since the plug-in configuration file is configured to support Secure Sockets
Layer (SSL) operation, you must do the following steps if you want to use SSL
with your applications:
a. Copy the plugin-key.kdb and plugin-key.sth files from
<WAS_installation_path>/etc/ on the WAS machine, to the Web server
machine (for example, to <IBMHTTPServer_installation_path>/ssl/).
b. Edit the plugin-cfg.xml file to point to the appropriate paths on the Web
server machine. For example:
<Transport Hostname="<hostname>" Port="<port>" Protocol="https">
<Property name="keyring" value="ssl/plugin-key.kdb"/>
<Property name="stashfile" value="ssl/plugin-key.sth"/>
</Transport>
c. The ssl/plugin-key.kdb and ssl/plugin-key.sth file specifications must be
valid paths on the HTTP server machine and either relative to the IBM
HTTP Server installation path or absolute.
If you do not want to use SSL you just need to remove all <Transport ....
Protocol=”https”> ... </Transport> entries from the plugin-cfg.xml.
78
IBM Lotus Learning Management System Handbook
Note: If you do not do either of these two, your IBM HTTP Server will fail to
start, and give you the following message:
[Mon Jun 30 19:18:57 2003] [notice] Initializing the WebSphere Plugin
ws_common: websphereUpdateConfig: Failed parsing the plugin config
file
Note the errors or messages above, and press the <ESC> key to exit.
30...
Unique application server names across a cell
For the WebSphere plug-in to work properly in an ND environment, all application
servers of a cell must have unique server names. The plug-in configuration file
contains information for all application servers of the cell. If two servers have the
same name, the WebSphere plug-in does not load. This is a known problem and
will probably be solved in future WebSphere versions.
By default, every WAS has a server1. If more than one WAS is added to a cell,
you will automatically end up with multiple server1s. To solve this problem, you
have the following two options:
򐂰 Delete multiple server1 servers.
You cannot rename application servers.Therefore the only chance to solve the
problem of multiple server1 servers is to delete them.
Since the default server1 does not host the WebSphere administration
application when the node is federated into a cell, you usually turn it off to free
unused system resources. The ND environment is in no way affected if you
remove the default servers. Nevertheless, the hello, snoop, or hitcount
servlets that are part of server1 might be useful in certain situations.
򐂰 Modify the plug-in configuration file manually.
You can change the server names manually in the plug-in configuration file. In
the following example, two server1 servers are renamed to itsolms2_server1
and itsolms3_server1.
Example 4-1 Renaming two server1 servers
<ServerCluster Name="server1_itsolms2_Cluster">
<Server Name="server1_lms2">
<Transport
Hostname="itsolms2.cam.itso.ibm.com" Port="9080" Protocol="http"
/>
<Transport
Hostname="itsolms2.cam.itso.ibm.com" Port="9443" Protocol="https"
>
<Property
name="keyring"
Chapter 4. Pre-installation
79
value="d:\WebSphere\AppServer\etc\plugin-key.kdb"
/>
<Property
name="stashfile"
value="d:\WebSphere\AppServer\etc\plugin-key.sth"
/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="server1_lms2"/>
</PrimaryServers>
</ServerCluster>
<ServerCluster Name="server1_itsolms3_Cluster">
<Server Name="server1_lms3">
<Transport
Hostname="itsolms3.cam.itso.ibm.com" Port="9080" Protocol="http"
/>
<Transport
Hostname="itsolms3.cam.itso.ibm.com" Port="9443" Protocol="https"
>
<Property
name="keyring"
value="d:\WebSphere\AppServer\etc\plugin-key.kdb"
/>
<Property
name="stashfile"
value="d:\WebSphere\AppServer\etc\plugin-key.sth"
/>
</Transport>
</Server>
<PrimaryServers>
<Server Name="server1_lms3"/>
</PrimaryServers>
</ServerCluster>
Manual modifications of a plug-in configuration file are automatically
overwritten when the plug-in configuration is regenerated in the WebSphere
administration interface. To avoid overwriting the file unintentionally, you
should copy the file and save it with another name. After this, you should
change the related Web server configuration variable to point to the new file.
80
IBM Lotus Learning Management System Handbook
5
Chapter 5.
Installation
This chapter prepares you to successfully proceed with an LMS installation.
However, it cannot be used as a replacement for the installation guide. Its
intention is to give you a better understanding of the installation process and to
discuss issues that you should consider before installing the LMS.
Note: Take a look at the appendix section in the back of this publication. We
have provided numerous appendices in order to give you more details on
various aspects of installing LMS. These include:
򐂰 Appendix C, “Software requirements” on page 373
򐂰 Appendix D, “WebSphere Application Server security parameters” on
page 377
򐂰 Appendix E, “WebSphere scope setting” on page 389
򐂰 Appendix F, “Default LDAP attribute mappings” on page 393
Also see Chapter 16, “Corporate scenario” on page 327, for an example of
how a company would install LMS.
© Copyright IBM Corp. 2003. All rights reserved.
81
5.1 Installation overview
Before starting the actual installation, make sure you have read Chapter 4,
“Pre-installation” on page 41. In this chapter we will refer to several topics
discussed in Chapter 4, such as WAS, LDAP, and HTTP server.
See also Appendix C, “Software requirements” on page 373, and the Release
Notes for the level of LMS that you are installing.
5.2 Installing LMS
This section provides some useful tips for your LMS installation.
5.2.1 About the LMS installer
The LMS installer program prepares the LMS application files for installation. The
LMS installer does not deploy the LMS enterprise applications to WAS. Instead,
the LMS installer uses InstallShield and runs on all LMS platforms. Specifically,
the LMS installer does the following:
򐂰 It unpacks a set of files including:
–
–
–
–
–
–
–
CLIMP
LMS Offline Client
LMS Authoring Tool (AT)
LMS settings updater
Three portlets for use with WebSphere Portal Server
WAR and EAR files for deploying LMM and DS to WAS
Database scripts for creating the required LMS databases
򐂰 It creates two customized SQL script files that contain the settings you
specified while the install program was running:
– settings_init.sql for the LMM database
– settings_init_ds.sql for the DS database
The LMS installer only copies or creates files. It does not register the
components anywhere on the operating system. For example, under Windows
the LMS install does not perform changes to the registry, nor does it add an entry
in the Add/Remove Programs section of the Control Panel’s Software dialog. This
means that you can run the installation program on another machine, and
afterwards simply copy the required files to the WAS and database server.
82
IBM Lotus Learning Management System Handbook
The LMS installation program is available for different operating systems. The
installation program will provide the files required for that specific operating
system.
5.2.2 Tasks to complete
This section discusses the installation parameters.
Running the LMS installer
When you run the installer, you will be prompted for some or all of the following
information, depending upon which components are selected:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
LMS features
LDAP settings
LMM Server settings
Delivery Server settings
Administrator settings
Course content management and deployment settings
Installation directory
As described in the previous section, it is not necessary to run the installer
program on the machine where you actually want to install LMS. This also means
(if you deploy the LMM on a different server from the DS) that by using the LMS
installer you can install both LMM and DS at once on one machine. After the
installation you then simply move the files to the appropriate server(s). You can
move the database script files to the database server, the lmm-lmm.ear file to the
LMM Server, the lms-ds.ear file to the DS server, AT and LMS Offline Client to
the file server, and so on.
Collecting the required installation parameters
To minimize problems, you should collect the parameters that are requested by
the installation program before you start the installation. Here you will find some
additional information about the parameters that the installer will ask you for.
In 5.2.3, “LMS installation example” on page 88, you will find an overview of all
parameters to be provided during the LMS install with sample data of one
specific setup of LMS.
LMS features
When you launch the installer, one of the first questions asked is which LMS
features and components you want to install. You can select all or some of the
following components:
򐂰 Learning Management System Server (LMM)
򐂰 Delivery Server application (DS)
Chapter 5. Installation
83
򐂰 Authoring Tool (AT)
򐂰 Utilities (Import, Migration)
LDAP settings
As part of the pre-installation steps, you determined the appropriate LDAP
settings to use. See 4.3, “LDAP server” on page 46.
The LDAP user ID is the LDAP bind user that LMS uses to connect to the LDAP
directory. This user requires the ability to read the entries of all the users in the
given base DN. It does not have to be the LDAP or WAS administrator.
Note: The Test LDAP Connection button does confirm the correctness of most
of the LDAP settings. However, it does not ensure that the LDAP user name
has access to all user names and attributes as required. To learn how to check
if the user has the correct access level, see “Verify the LDAP bind user” on
page 49.
LMS server settings
The LMS server settings input screens capture information for the LMM
application.
The Base URL refers to the URL that should be used to access the LMM Server.
This is the base URL of the LMM application. It includes the base URL of the
LMM application server and a context root of “lms-lmm” for the LMM application.
The context root will always be “lms-lmm” and cannot be changed.
After deploying LMM, you can check the context root at the WAS administration
console by going to Applications -> Enterprise Applications -> [LMM
application name] -> Additional Properties/View Deployment Descriptor ->
Web Modules -> Web Module URI -> Context-root. This parameter has the
value /lms-lmm.
Note: The example provided by the installer in LMS 1.0 and LMS 1.0a is
incorrect. The correct context root is lms-lmm, as outlined above.
The user name and password used for authentication between LMS servers do
not refer to an LDAP user. These credentials are stored in the LMM and DS
database and are used for the communication between LMM and DS.
If you run the installer script separately for the DS server, or if you set up an
additional DS server, make sure that the LMM user name and password have the
same values as the ones you provided here.
84
IBM Lotus Learning Management System Handbook
Administrator settings (LMM installation only)
The Administrator settings capture information about which user or group should
receive Administrator access to the LMM application upon installation.
Select the Administrator role type and specify a user or group that will receive
administration access to the LMS. An LMS administrator has administrative
rights to the LMS and can perform tasks such as User, Content, and Resource
management or change global LMS settings. The user or group must exist in the
LDAP directory and will have automatic access to LMS after deployment of the
application in WAS.
We recommend that you specify an LDAP group instead of a name, because this
makes it easier to add additional administrators later on.
Content Management settings (LMM installation only)
The Content Management settings screen requires information regarding the
course content deployment.
The Path to Imported Course Packages refers to the directory where the course
packages will be stored on the LMM as the source for later deployment to the DS.
Enter a path to the local directory on the LMM Server where imported courses
will be stored. This path may be absolute or relative.
A relative path (for example, “package”) would store course packages at:
<WAS_INSTALL_PATH>\InstalledApps\<NODE>\LMM.ear\lms-lmm-complete-23.war\pac
kages
An absolute path such as E:\lmspackages (on a Windows server) would point to
the \lmspackages directory on the LMM Server E: partition.
We recommend that you use an absolute directory for a separate data partition,
so the directory’s size can be easily monitored.
The requested FTP User Name and Password for Deploying Content are global
values used for the content deployment from the LMM to any content server
attached to a DS. This means that this FTP account has to be set up on all
content servers providing course content for LMS.
These parameters are required by the installer, even if you do not use FTP to
deploy content but use the file system. Content deployment using files ystem is
defined later during the installation on the Content Deployment settings screen.
See “Content Deployment settings (DS installation only)” on page 86.
If you do not use content deployment using FTP, we suggest that you enter
dummy values, such as “not used,” for the FTP user name and password.
Chapter 5. Installation
85
Delivery Server definition (DS installation only)
The Delivery Server settings screen captures information for the Delivery Server
application.
Choose a server ID to distinguish between the different DS servers. This name
will be used within the LMS application, so an administrator can choose to deploy
a course to a specific Delivery Server.
Enter the base URL of the DS application. This includes the base URL of the DS
application server and a context root of “lms-ds” for the DS application. The
context root cannot be changed. Optionally enter a description for the DS.
Note: The example provided as part of the label of the Base URL field is
incorrect in Versions 1.0 and 1.0a of LMS. The correct context root is lms-ds,
as outlined above.
The delivery server user name and password that are requested are used for
authentication between the DS application and the LMM application. This user
name and password will be stored in the DS database and do not reflect a user in
the LDAP directory.
This user name and password are related to this DS server only.
Web Server settings (DS installation only)
The Web Server settings screen captures information about the location of
deployed content and the location of the LMS tracking servlet.
The URL of Deployed Content points to a Web location on the content server
that will be used to access the content of a deployed course. The Delivery Server
will redirect the student’s browser to this URL when launching a course’s activity.
See “Step 6: Prepare Web servers for content deployment” on page 66 for
detailed information.
To use multiple content servers, you must set them up with a load balancer to
balance requests to this URL between the content servers. This is not done by
LMS; therefore you cannot enter a separate URL for each content server.
The tracking URL is predetermined by the DS base URL and should not need to
be changed. If this URL is incorrect, the user will get tracking errors when
launching a course.
Content Deployment settings (DS installation only)
The Content Deployment settings screen allows you to specify a way of how to
deploy the content to the DS’s content server(s).
86
IBM Lotus Learning Management System Handbook
On a course deployment, the Delivery Server sends this information to the LMM.
The LMM uses this information to copy the content to all content servers
attached to a DS.
There are two ways in which content is deployed to the content server through
either FTP or a file system copy. If both LMM and DS are on the same server, the
easiest is to choose file system. If LMM and DS are on different physical servers,
you will normally choose FTP.
To use FTP, you select FTP as deployment type and enter the location relative to
the FTP root where content will be placed and the FTP host. The location is a
directory that has been set up under the FTP server's root directory (physically or
virtually). The FTP user specified before in the Content Management settings
must have write access to this location. This location must map to the URL of
deployed content specified in the Web server settings. See “Step 6: Prepare Web
servers for content deployment” on page 66 for how to achieve this.
For deployment using the file system, select File System as the deployment type
and enter an absolute path to the content directory that is mapped to the URL for
deployed content. Like with FTP, this location must map to the URL of deployed
content specified in the Web Server settings. For example (with IBM HTTP
Server on Windows):
c:\program files\IBM HTTP Server\htdocs\en_US\content
Note: The file system path is the path to the content directory, from the LMM
(and not from the DS), since the LMM’s content manager copies the files to
the content server.
System Administrator e-mail settings (DS installation only)
The System Administrator E-mail Settings screen allows you to specify an e-mail
address that will receive notifications from the system and an e-mail address that
appears as the From e-mail address on these notifications.
Installation directory
This parameter specifies the directory to where the installer will copy the LMS
installation files.
The installer does not perform an actual installation of the LMS components. It
only extracts and customizes the files for the actual deployment. You can choose
any directory and afterwards rename or move around the directory without any
implication.
Chapter 5. Installation
87
5.2.3 LMS installation example
Here is an example of the parameters used during an installation, when all
features are selected to be installed.
This example considers the following setup:
򐂰 One LMM Server on lms.ibm.com®, with the IBM HTTP Server on the same
server.
򐂰 One DS Server on lmsds1.ibm.com, with the IBM HTTP Server on the same
server. This HTTP Server also functions as the content server.
򐂰 One LDAP Server on ldap.ibm.com.
Parameter
Sample
Comments
LDAP settings
Provider URL
ldap://ldap.ibm.com:389
Base Distinguished Name
o=ibm
LDAP User ID
wasadmin
LDAP Password
password
LDAP Provider
IBM Directory Server
(dropdown)
The binding ID for LDAP
LMS server settings
Base URL
http://lms.ibm.com/lms-lmm
Description
LMS Server
User Name
lmslmm
Password
password
To authenticate LMM to DS servers
Administrator settings
Administrator Role Type
User (checkbox)
Administrator LDAP User ID
lmsadmin
Content Management settings
Path to imported Course
Packages
d:\lmspackages
FTP User Name
ftpuser
FTP Password
password
Notification E-mail format
Plain (dropdown)
Delivery Server settings
88
IBM Lotus Learning Management System Handbook
The user ID of the LMS Administrator
Parameter
Sample
Comments
Server ID
ds1
Base URL
http://lmsds1.ibm.com/lms-ds
Description
Delivery Server
Delivery Server User Name
lmsds
Delivery Server Password
password
To authenticate DS to LMM Server
Web Server settings
URL of Deployed Content
http://lmsds1.ibm.com/content
Tracking URL
http://lmsds1.ibm.com/lms-ds/
tracking
Content Deployment settings
Use “Add Server”-button to add content server to the Servers-list
Deployment Type
FTP (dropdown)
Location for Deployed
Content
content
FTP Host
lmsds1.ibm.com
Create virtual ftp directory “content” that
maps to the directory where the HTTP
server serves from:
“http://lmsds1.ibm.com/content”
System Administrator e-mail settings
E-mail to Address
[email protected]
E-mail from Address
[email protected]
Installation directory
Directory Name
d:\lms
5.2.4 Installation file structure
If you choose to install all components, the following directories will be created
during the installation of LMS 1.0x:
bin
Command line import (CLIMP) and rostering utilities.
discussion
JAR files to be installed on Domino discussion database
server.
distribute
Offline Learning Client installer, Authoring Tool installer,
content tracking frameset files. These files should be
moved to the appropriate location by the administrator
where required
Chapter 5. Installation
89
java
Platform-specific IBM JDK used by the utilities in the bin
directory.
lib
JAR files used by the utilities in the bin directory.
license
License text files in various languages.
portlet
Three sample LMS portlets (WAR files): MyCalendar,
MyCourses, SearchCatalog.
prt
Product registration files.
scripts
Database scripts to create the LMS databases and tables
and write setup values into the databases.
update
LMS updater component to change LMS settings at a
later stage; for more details see Trouble shooting section.
web-apps
EAR files for the LMM and DS servers, help WAR file, and
additional WAR files that contain only static resources
from the LMM and DS.
Figure 5-1 LMS file structure after installation
5.3 Creating and populating databases
As we described in 4.4, “Database server” on page 55, LMS uses three
databases:
򐂰 LMM database (LMM Server only)
90
IBM Lotus Learning Management System Handbook
򐂰 Audit database (LMM Server only)
򐂰 DS database (one on each DS server)
The LMS installer generates database scripts for creating these databases, as
well as scripts to create the database schema (tables, views, indices) and to
populate the LMS settings. The scripts generated by the installer are grouped by
database subdirectory in the directory <LMS_install_path>\scripts\.
The database administrator needs to create these databases by executing the
scripts in Table 5-1.
Table 5-1 Database scripts
RDBMS
LMM db
Audit db
DS db
DB2 (UNIX)
lmm\cr_db2db_lmm.sh
audit\cr_db2db_audit.sh
ds\cr_db2db_ds.sh
DB2 (Windows)
lmm\cr_db2db_lmm.bat
audit\cr_db2db_audit.bat
ds\cr_db2db_ds.bat
MS SQL
lmm\cr_mssqldb_lmm.sq
l
audit\cr_mssqldb_audit.sql
ds\cr_mssqldb_ds.sql
Oracle
lmm\cr_oraown_lmm.sql
audit\cr_oraown_aud.sql
ds\cr_oraown_ds.sql
Important: For DB2, you have to run all the scripts under the user name that
has set up the DB2 environment. This is because the database schema will be
automatically set to the user’s login name.
Next the database schema and seed data scripts need to be run against the
three databases, as shown in Table 5-2.
Table 5-2 Schema
RDBMS
LMM db
Audit db
DS db
DB2
lmm\lmm_db2.sql
lmm\permission_data.sql
lmm\settings_init.sql
audit\audit_db2.sql
audit\audit_data.sql
ds\ds_db2.sql
ds\ settings_init_ds.sql
MS SQL
lmm\lmm_mssql.sql
lmm\ permission_data.sql
lmm\settings_init.sql
audit\audit_mssql.sql
audit\audit_data.sql
ds\ds_mssql.sql
ds\settings_init_ds.sql
Oracle
lmm\lmm_oracle.sql
audit\audit_oracle.sql
ds\ds_oracle.sql
The LMS Installation Guide provides some additional instructions if you are
unfamiliar with how to issue the commands above.
Chapter 5. Installation
91
Tip: The DB2 batch file (both for Windows and Unix) contains the additional
sql statements that are required to create the schema and see data within the
batch file. The statements are commented out by default, but can be easily
activated by editing the script. This way the administrator will not have to run
the sql statements separately.
For the Windows batch file, you can remove the “rem” statement from the last
three lines.
For the Unix sh file, you can remove the “#” from the four db2 commands at
the end of the file.
Later, if the user runs the LMS Updater to change any settings (see 8.6, “LMS
Updater” on page 140), the Updater generates database scripts to update the
settings. The user must run these to update the LMM and DS application
databases (the Updater does not affect the audit database).
Important: After creating the databases using the script, test the connection
to the databases from the WebSphere server.
For DB2, you will need to run the catalog commands on the WAS server if the
databases are residing on a different server. The Installation Guide provides
examples of this command.
Also make sure that you are using JDBC 2.0. The default for DB2 7.2 is JDBC
1.0. For how to change this, see Chapter 4, “Pre-installation” on page 41.
5.4 Configuring WebSphere
The WebSphere Application Server is an integral part of the IBM Lotus Learning
Management System, and it must be configured in order for all LMS components
to communicate.
5.4.1 Overview
The IBM LMS applications require various WAS resources and settings to be
configured. The following actions are required, as described in the LMS
Installation Guide:
1. Configure the JDBC provider, data sources, and J2C authentication entries
for the three LMS databases.
92
IBM Lotus Learning Management System Handbook
Note: The user names specified in the J2C authentication entries must be
the same ones that were used to execute the database creation and
population scripts.
2. Define the value of the WAS environment variable that specifies the location
of the JDBC driver. For Oracle and SQL Server, the JDBC driver information
may need to be obtained from another source.
3. Define an LMS resource environment provider with entries that define the
LMS log file path and SSL settings.
For an example of the parameters mentioned in points 1, 2, and 3, see
Section 5.4.3, “Example of WebSphere settings” on page 94.
4. Configure LDAP settings (unless this was already done during the steps in
“Step 3: Enable WAS Global Security and SSO” on page 72.
Note: The IBM LMS application and WAS must use the same LDAP
directory.
5. Enable Global Security.
6. Configure SSO and LTPA settings. An LTPA token can either be generated by
WAS or imported from elsewhere.
5.4.2 Defining the WAS parameters at the correct scope
Within WAS, parameters can be set at different levels. For LMS they can be set
both at cell, node, or application server scope (level). Since a lot of installation
problems occur by a misunderstanding of this concept or by accidently working
on the wrong scope, we illustrate how to set the parameters at the correct level.
The following rules apply:
򐂰 Configurations at the cell level apply to all nodes and servers in the cell.
򐂰 Configurations at the node level apply to all application servers on the node.
򐂰 Configurations at the server level apply only to that application server.
The server scope has precedence over the node and cell scopes, and the node
scope has precedence over the cell scope.
Although all parameters could be set at cell level, for LMS we suggest that you
put all parameters on node level, to be able to handle differences in settings and
directory setup between the different nodes. All parameters will have to be set at
every node where the LMS application is deployed.
Chapter 5. Installation
93
In Appendix E, “WebSphere scope setting” on page 389, additional information is
provided to help you to make sure that you set the parameters at the correct
level.
5.4.3 Example of WebSphere settings
Here is an example of the required WebSphere settings for LMS. This example
assumes that LMS is using DB2 as the database server.
Configuring JDBC data sources
Table 5-3 shows how to set the path to the required JDBC driver.
Table 5-3 Path to JDBC driver
Parameter
Sample
Comments
Goto: Environment/manage WebSphere variables
򐂰 DB2_JDBC_DRIVER_PATH
(parameter exists already)
c:\program files\sqllib\java
(windows)
/home/db2inst1/sqllib/java
(Unix)
Point to the java directory, and
make sure that jdbc 2 has been
set.
Table 5-4 shows how to create J2C Authentication Data entries for relational
databases.
Table 5-4 J2C Authentication Data entries
Parameter
Sample
Comments
Goto: Security/JAAS Configuration/J2C Authentication data
򐂰
򐂰
򐂰
Alias
User ID
Password
򐂰
򐂰
򐂰
lmm
db2admin
password
򐂰
򐂰
򐂰
Alias
User ID
Password
򐂰
򐂰
򐂰
ds
db2admin
password
򐂰
򐂰
򐂰
Alias
User ID
Password
򐂰
򐂰
򐂰
lsaudit
db2admin
password
Alias: To refer to this entry when
configuring JDBC datasources.
On save the Alias name will
change to <NODE>/lmm.
User name/password that has
read/write access to the
databases.
Note that for DB2, LMS will
automatically expect that the
db-schema is the same as the
user ID.
Table 5-5 on page 95 shows how to define the JDBC Provider.
94
IBM Lotus Learning Management System Handbook
Table 5-5 JDBC Provider parameters
Parameter
Sample
Comments
Goto: Resources/JDBC Providers
򐂰
Name
򐂰
DB2 JDBC Provider
Dropdown list.
򐂰
Classpath
򐂰
${DB2_JDBC_DRIVER_PAT
H}/db2java.zip
The default entry is correct.
This now points to the db2java.zip
for jdbc 2.0.
Goto: Resources/JDBC Providers/DB2 JDBC Provider/Datasources
򐂰
Name
򐂰
lmm
򐂰
JNDI Name
򐂰
jdbc/lmm
򐂰
Statement Cache Size
򐂰
0
Zero; default is 10.
򐂰
Component-managed
Authentication Alias
򐂰
<NODE>/lmm
Dropdown list.
򐂰
Container-managed
Authentication Alias
򐂰
<NODE>/lmm
Dropdown list.
Goto: ...DB2 JDBC Provider/Datasources/lmm/Connection Pools
򐂰
Max Connections
򐂰
30
Default is 10.
Goto: ...DB2 JDBC Provider/Datasources/lmm/Custom Properties/databaseName
򐂰
Value
򐂰
lmm
lmm database name.
Goto: Resources/JDBC Providers/DB2 JDBC Provider/Datasources
򐂰
Name
򐂰
ds
򐂰
etc....
򐂰
etc....
Repeat all settings for ds
database.
Goto: Resources/JDBC Providers/DB2 JDBC Provider/Datasources
򐂰
Name
򐂰
lsaudit
򐂰
etc....
򐂰
etc....
Repeat all settings for lsaudit
database.
Table 5-6 shows how to configure environment entries.
Table 5-6 Environment entries
Parameter
Sample
Comments
Goto: Resources/Resource Environment Providers
򐂰
Name
򐂰
LMS Provider
Any logical name will do
Goto: Resources/Resource Environment Providers/Referenceables
Chapter 5. Installation
95
Parameter
Sample
򐂰
Factory Classname
򐂰
com.lotus.elearn.naming.Stri
ngObjectFactory
򐂰
Classname
򐂰
java.lang.String
Comments
Goto: Resources/Resource Environment Providers/Resource Env Entries
򐂰
Name
򐂰
LMS_FALSE
򐂰
JNDI Name
򐂰
LMS_FALSE
򐂰
Referenceable
򐂰
com.lotus.elearn.naming.Stri
ngObjectFactory
Dropdown list
Goto: ...Resource Env Entries/Custom Properties
򐂰
Name
򐂰
value
򐂰
Value
򐂰
false
򐂰
Type
򐂰
java.lang.String
Dropdown list
Goto: Resources/Resource Environment Providers/Resource Env Entries
򐂰
Name
򐂰
LMS_TRUE
򐂰
JNDI Name
򐂰
LMS_TRUE
򐂰
Referenceables
򐂰
com.lotus.elearn.naming.Stri
ngObjectFactory
Dropdown list
Goto: ...Resource Env Entries/Custom Properties
򐂰
Name
򐂰
value
򐂰
Value
򐂰
true
򐂰
Type
򐂰
java.lang.String
Dropdown list
Goto: Resources/Resource Environment Providers/Resource Env Entries
򐂰
Name
򐂰
LMS_LOG
򐂰
JNDI Name
򐂰
LMS_LOG
򐂰
Referenceable
򐂰
com.lotus.elearn.naming.Stri
ngObjectFactory
Dropdown list
Goto: ...Resource Env Entries/Custom Properties
򐂰
Name
򐂰
LMS_LOG_PATH
򐂰
Value
򐂰
d:\lmslog
Directory where the lms log files
will reside
򐂰
Type
򐂰
java.lang.String
Dropdown list
96
IBM Lotus Learning Management System Handbook
5.4.4 Deploying the LMM and DS applications to WebSphere
Here are additional tasks to complete the installation.
Deploying applications
After the previous steps have been completed, the LMM and DS application EAR
files can be deployed to WAS. From within the WAS administration console,
select Applications -> Install New Application. The EAR files were generated
by the LMS Installer and can be found in the webapps directory. The applications
can be installed on an existing or a new application server.
The LMS Installation Guide provides clear instructions for installing the EAR files,
and this should not cause any problems.
The only difference we recommend for production environments is that you
enable the option “Pre-compile JSP” in Step 1: Provide options to perform the
installation screen. When this option is enabled, all JSP files are compiled to
servlets during the installation and not on the first Web access. The installation
process will take a bit longer, but the LMS access for users will be fast from the
beginning, with no delay for the compilation process.
Updating the WebSphere plug-in configuration
After deploying the application, you have to update the WebSphere plug-in
configuration again, so that the LMM and the DS server can be accessed
through the HTTP server. See “Generating the WebSphere plug-in configuration
file” on page 75.
Starting the LMS application
After the preceding steps have been performed, the LMS is ready to be started.
The Application Servers and Enterprise Applications can be started using the
WAS administration console. Go to Applications -> Enterprise Applications,
select the LMM or DS application, and click the Start button.
Now you are ready to test the application to make sure that LMS is working
properly.
See 8.7, “Test JDBC connections from within WebSphere” on page 140 for
additional details on connections.
WebSphere security
Refer to Appendix D, “WebSphere Application Server security parameters” on
page 377, to ensure that you place the appropriate level of security into your
WebSphere server.
Chapter 5. Installation
97
5.5 System configuration
Here are steps to help you set up the DS server, help files, and e-mail.
5.5.1 Setting up the DS
Note: If you specified, during the LMS installation, to set up both LMM and
DS, the DS server is already known to and configured with the LMM module.
In that case, if you go to Settings -> Delivery Servers, you will find the DS
server already there, so you will not have to do the following DS steps.
To add the Delivery Server (DS) to the LMS Server application, access the LMS
Server start page at http://xyz.acme.com/lms-lmm, and log in as administrator.
Go to Settings -> Delivery Servers and click Add. Now use the settings shown
in Table 5-7.
Table 5-7 Settings
Description
Value
Deliver Server Name
The name you used when you installed LMS.
User name/password
Use the user name/password used for the
communication between lmm and ds.
Base URL for Delivery Server
Deployment
Use the applicable URL, such as
http://xyz.acme.com/lms-ds.
Click Save.
Note: The test button is not working in all versions of LMS and the results are
not consistent. So if the test button gives connection failed, double-check
that you entered the correct parameters, and then continue anyway.
5.5.2 Help files for the setup
The LMS online help is contained in a war file. To activate this, you have to unzip
the war file and define the link to these files in LMS.
Unzipping help files
Locate the war file that contains the online help: lms-help.war in the web-apps
subdirectory of the LMS install directory.
98
IBM Lotus Learning Management System Handbook
Create a directory for the help files in your HTTP server’s document root (for
example, ..\IBMHttpServer\htdocs\en_US\lmshelp) to store the help files. The
directory should be created under the en_US directory for the English version to
indicate the language. Do not use any spaces in the directory name. Unpack the
lms-help.war file into this directory.
If you have a problem while unpacking the war file on Windows, you can rename
the file to lms-help.zip and then try to use your unzip utility.
Configuring LMS
Log into LMS as the administrator, and go to Settings -> LMM Server Settings
-> General Settings -> General.
Complete the URL of the help system:
򐂰 In case the help files are on a different server from the LMM, use the full url:
http://myserver.com/lmshelp (for example)
򐂰 In case the help files are on the same server as LMM, you can refer directly to
the directory relative to the http-root directory.
– For Windows, this would be ...\lmshelp.
– For Linux, this would be /lmshelp.
The directory structure for the deployed help files is shown in Figure 5-2 on
page 100.
Chapter 5. Installation
99
Figure 5-2 Structure of the LMS help files
To test the help after setting up the help setting, do the following:
1. Click another tab, such as Catalog (to allow LMS to refresh the screen and
links).
2. Click the help link.
Note: UNIX and AIX users creating directories must have root privileges.
Remember also, when creating directory names, do not use spaces.
5.5.3 Setting up e-mail
There are several types of e-mail available in the LMS system:
򐂰
򐂰
򐂰
򐂰
Course e-mail
Notifications of system or course events
Error messages
E-mail to the Help Desk
For all types of e-mail, you must complete the LMM e-mail settings as detailed
below.
1. Click the Settings tab.
100
IBM Lotus Learning Management System Handbook
2.
3.
4.
5.
Under Deployment, click LMM Server.
Under LMM Server Settings, click General Settings.
Click E-mail.
Provide information in the fields shown in Table 5-8.
Table 5-8 Descriptions and values
Description
Value
Enable e-mail in the LMM
Select the check box to allow all types of e-mail.
The box is selected by default.
SMTP server name
Enter the IP address or server name of the
SMTP mail server.
Secondary SMTP server name
(Optional) Enter the IP address or server name
of the SMTP server to which mail is sent when
the primary mail server is unavailable.
Number of attempts to send an
e-mail
Enter the maximum number of times the mail
server will attempt to send a mail message. The
default is 2.
Attempt time-out in seconds
Enter the number of seconds the mail server will
wait for a response from the remote server
before canceling communications. The default is
10.
Number of threads sending e-mails
Enter the number of threads the mail server will
use for local mail delivery. Multiple threads are
used to manage simultaneous processing of
messages. The default is 5.
6. Click Save.
Important: If you do not save your work before navigating to another page,
the Learning Management System discards the information you have entered.
Note: If you want to receive e-mail regarding imported courses, you must
specify the e-mail settings before you do the import of any course packages.
Chapter 5. Installation
101
5.6 Testing the LMS application
After finishing the LMS application, you should perform the following basic tests
to make sure that the installation has completed successfully:
1. Test access to LMM and DS module using the following URLs on the Web
server hosting the WebSphere plug-in:
http://hostname/lms-lmm/about.do
http://hostname/lms-ds/about.ds
If a session time-out error appears, simply refresh the page.
2. Log in to LMM (http://hostname/lms-lmm/) with the LMS administrator user
name and password. After login, you should see all tabs, which determines
that you indeed have administrator rights.
3. Navigate to Reports on the Home tab and launch Progress Report.
If an error comes up, you likely have a problem with the database schema.
Even if no courses are deployed yet, you should not get an error.
For more information on how to solve this, see “Database error” on page 138.
4. Upload a course. Run some tests by creating offerings to all DS servers and
enroll some users.
This will test that the LMM and DS server can communicate properly with
each other. You will need to test this for all DS servers you installed.
If you have multiple content servers per DS, you should check the content
directory on all content servers to make sure they all received the course files.
5. Enroll a user in the course and launch the course. This will show if the
tracking is activated properly.
6. Check course progress.
This shows that the DS can communicate with the LMM, and it sends the
tracking information back to the LMM.
If all the above areas are working properly, your LMS installation is successful.
5.7 Additional DS server
You can set up additional DS servers. In this section we outline the steps to set
up an additional DS server called ds2.
102
IBM Lotus Learning Management System Handbook
To set up the DS2 server, you have to go through the same steps that were
defined for pre-installation and installation, with the following exceptions:
1. LMS install.
When you run the LMS installation program, you have to use a different name
for the second DS server from the one used for the first DS server. For
example, DS2.
In addition, you will have to enter all the correct URLs related to ds2.
2. Create and populate databases.
You will need to make changes to the created db-script files. By default, the
script files create a database called ds for the DS. In our case, we already
have a ds database for our first DS server. You will have to make changes
manually to allow the creation of a separate database for ds2.
In the case of DB2, edit the file cr_db2db_ds.bat in the directory
<LMS_install_dir>\scripts\ds. Search for ds and make changes to the lines as
follows:
– Old: db2 create database ds using codeset UTF-8 territory US
– New: db2 create database ds2 using codeset UTF-8 territory US
– Also change all the other lines referring to this database name.
3. Post-installation tasks.
Start the LMS administration interface, and add ds2 server as an additional
DS-Server, as described in 5.5.1, “Setting up the DS” on page 98, for the first
DS.
Chapter 5. Installation
103
104
IBM Lotus Learning Management System Handbook
6
Chapter 6.
Post-installation tuning
This chapter describes several post-installation tasks. They are not necessary to
get LMS running, but are recommended for system performance.
For the sections on TCP, Web server, and WAS tuning, some of the information
was taken from the WebSphere Application Server 5.0 - Tuning Guide, which is
worthwhile to read. It is an online document found at:
http://publib7b.boulder.ibm.com/wasinfo1/en/info/tuning/50TuneGuide.html
© Copyright IBM Corp. 2003. All rights reserved.
105
6.1 Move static LMS elements to the Web server
In a three-tier configuration, you should consider moving static LMS user
interface elements to the Web server. As discussed in 4.6.1, “HTTP servers for
LMS user interface access” on page 61, for best performance the static elements
of the LMS user interface should be located directly on the HTTP server where
you installed the WebSphere plug-in.
For this purpose, the LMS installation comes with two Web archive (WAR) files
containing the static elements of LMM and DS. After you extract the WAR files to
the HTTP server, you modify the WebSphere plug-in configuration file so that it
does not redirect requests for static elements to WAS.
Since WAR files are actually zip files, you can use any program that can handle
zip files to extract the compressed files.
Tips: A very small (and free) Windows zip program with a graphical user
interface is the 100 K Zipper, which can be found at:
http://www.quickzip.org/
A free command line tool for decompressing zip files, which is provided for a
wide variety of operating systems, is Info-ZIP’s UnZip, located at:
http://www.info-zip.org/pub/infozip/UnZip.html
6.1.1 Installing static files for LMM user interface
Here are the steps to install the static elements on the LMM Server:
1. Copy the lms-lmm-http.war file to the HTTP server. The war file can be found
in the web-apps directory of the LMS installation folder.
2. Install a program on the HTTP server for decompressing zip files.
3. Create a directory lms-lmm in the document root of the HTTP server, or
create it somewhere else and configure it as virtual directory lms-lmm.
4. Extract the war file to the lms-lmm directory. If you installed the unzip
command, you would use, for example:
unzip lms-lmm-http.war -d d:\IBMHttpServer\htdocs\en_US\lms-lmm
5. Edit the WebSphere plug-in configuration file (plugin-config.xml) and search
for the line:
<Uri AffinityCookie="JSESSIONID" Name="/lms-lmm/*"/>
106
IBM Lotus Learning Management System Handbook
Replace this line by the following lines:
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
Name="/lms-lmm"/>
Name="/lms-lmm/"/>
Name="/lms-lmm/*.do"/>
Name="/lms-lmm/*.jsp"/>
Name="/lms-lmm/*.jsv"/>
Name="/lms-lmm/*.jsw"/>
Name="/lms-lmm/anon-api/*"/>
Name="/lms-lmm/auth-api/*"/>
Name="/lms-lmm/ContentServlet"/>
Name="/lms-lmm/import"/>
Name="/lms-lmm/j_security_check"/>
Name="/lms-lmm/services/*"/>
Name="/lms-lmm/servlet/AxisServlet"/>
Name="/lms-lmm/status"/>
These lines direct the WebSphere plug-in to forward requests for static
elements to the local Web server. Static elements are recognized by the
WebSphere plug-in based on URLs. URLs of requests that match any of the
patterns defined by the Name parameter of the Uri tags are identified as
requests for static elements.
6.1.2 Installing static files for DS user interface
Here are the steps to install the static elements on the DS server:
1. Copy the lms-ds-http.war file to the HTTP server. The war file can be found in
the web-apps directory of the LMS installation folder.
2. Install a program on the HTTP server for decompressing zip files.
3. Create a directory lms-ds in the document root of the HTTP server or create it
somewhere else and configure it as virtual directory lms-ds.
4. Extract the war file to the lms-lmm directory. If you installed the unzip
command you would use, for example:
unzip lms-ds-http.war -d d:\IBMHttpServer\htdocs\en_US\lms-ds
5. Edit the WebSphere plug-in configuration file (plugin-config.xml) and search
for the line:
<Uri AffinityCookie="JSESSIONID" Name="/lms-ds/*"/>
Replace this line with the following lines:
<Uri
<Uri
<Uri
<Uri
<Uri
<Uri
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
Name="/lms-ds"/>
Name="/lms-ds/"/>
Name="/lms-ds/*.ds"/>
Name="/lms-ds/*.jsp"/>
Name="/lms-ds/*.jsv"/>
Name="/lms-ds/*.jsw"/>
Chapter 6. Post-installation tuning
107
<Uri
<Uri
<Uri
<Uri
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
AffinityCookie="JSESSIONID"
Name="/lms-ds/j_security_check"/>
Name="/lms-ds/services/*"/>
Name="/lms-ds/servlet/AxisServlet"/>
Name="/lms-ds/track"/>
Note: When you are installing customization sets for the user interface, you
will also have to copy all images and style sheets to the appropriate directories
on the HTTP servers.
6.2 LDAP performance
The LMS user management functions assume an LDAP directory as the primary
container of user and group information.
The LDAP directory contains the attributes that describe each user (for example,
first name, last name, department number, organization, phone number, etc.),
and it is used to authenticate each user that logs onto LMS.
When a user successfully authenticates (this process is actually handled by
WAS), LMS searches the user's entry in the LDAP directory and retrieves the
values of all required user attributes. These attribute values are cached by LMS
by storing them in the USR table of the relational databases (LMM and DS) so
that they may be reused during the session. This prevents repeated queries
against the LDAP directory and improves overall performance of the application.
Every time a user logs in, LMS checks if the user’s attributes have changed in the
LDAP directory and updates the value stored in the USR table. If the LDAP
attributes of a user changes while a user is logged in, LMS will not be aware of
these changes during this session. The user will have to log in again. This is the
trade-off to the cache mechanism, but not a very high price to pay for
performance.
6.2.1 LDAP tuning
Each LDAP directory vendor supports some mechanism for performance tuning.
Some allow you to control caching or buffering options. Some allow you to create
indexes on the data in the directory.
Keep the following in mind when tuning your LDAP directory to increase the
performance of LMS:
1. Make sure that the user attributes that are important to LMS are defined in the
LDAP section of the settings files (settings.xml, ds-settings.xml). This section
contains the mappings for each of these attributes to the corresponding LDAP
attributes for each vendor and object class.
108
IBM Lotus Learning Management System Handbook
It is a good idea to ensure that each user’s entry in the LDAP directory is
populated with the critical attributes (such as the display name). This saves
LMS from having to calculate those from other attributes.
2. LMS uses the user name specified in the login screen to look up a user's
entry in the LDAP directory. You should make sure that the corresponding
LDAP attribute (for example, uid) is indexed by the database that powers your
LDAP directory.
3. When a user logs in, LMS attempts to determine whether the user is a
manager (having other people reporting to the user). If the user’s LDAP entry
does not have an attribute that specifies this information (for example,
isManager), LMS has to perform an additional query against the LDAP
directory. This query determines if at least one other user has this user as
manager. The user will only be presented with the first LMS screen after all
lookups have been completed. Especially on large directories this search can
be very time-consuming and significantly slow down the login process.
To accelerate this you should ensure that the users’ manager attribute is
indexed in the database that powers the LDAP directory. If this is not possible
or does not speed up the query enough, you can defer the IsManager lookup
until after the login is complete (see details in “Deferring the IsManager
lookup” below). Essentially, a separate thread performing the LDAP query is
started that updates the user's entry afterwards.
4. There are several user attributes that are used quite often when searching for
users (first name, last name, organization, etc.). For a faster response, you
can index these attributes in the LDAP server’s database.
6.2.2 Indexing LDAP attributes
Every vendor provides different ways on how to index the information in their
LDAP directory.
In the case of Lotus Domino, for example, you just need to create a full text index
on the address book (names.nsf) of the Domino server hosting the LDAP
process. This can boost the performance significantly.
With IBM Directory Server 5.1, you can indicate which fields you want to index,
using the Web administration interface.
IBM Directory Server 4.1 does not provide this feature in the administration
interface. There you will have to create the index manually using DB2 utilities.
Chapter 6. Post-installation tuning
109
6.2.3 Deferring the IsManager lookup
As described above, in some cases you need to defer the IsManager lookup to
speed up login and rostering processes. You can advise LMS to do so by setting
the value of the deferIsManagerLookup field in the settings.xml and the
ds-settings.xml from disabled to enabled. After the change you will need to
restart the applications.
The settings.xml is located in the LMM installation directory at:
<WAS_install_path>\installedApps\<NODENAME>\LMSLMM.ear\lms-lmm-complete-23.
war\WEB-INF\classes\settings.xml
The ds-settings.xml is located in the DS installation directory at:
<WAS_install_path>\installedApps\<NODENAME>\LMSDS.ear\lms-ds-complete23.war
\WEB-INF\classes\ds-settings.xml
When the deferral is enabled, the IsManager attribute will not be updated during
login and rostering processes. For newly rostered users, it will be set to zero
(false). For users that logged on before, the value of the last IsManager lookup is
used.
The server thread that performs the IsManager lookups in the background works
with a FIFO queue (first-in, first-out). This means that the IsManager field of
users that logged on first will be updated first.
Note: If the deferral of IsManager lookups is enabled and an LMS
administrator rosters a huge list of users at once, the lookup thread’s queue
might overrun and could produce an error. In this case, you should not defer
the IsManager lookup.
6.3 Database server performance
Tuning parameters vary according to the type of database and operating system
you are using. There are no specific LMS-related performance tweaks that
should be applied to the database server. Nevertheless, keep the following
general advice in mind:
򐂰 Ensure that the database server is set up to support the maximum number of
connections from the connection pool defined in WAS.
򐂰 If you are using the same database server for the LMM and the DS database,
you can increase the performance by creating the databases on physically
different hard disks on the database server.
110
IBM Lotus Learning Management System Handbook
There are several resources on the Internet that cover database performance
tuning for the database servers supported by LMS. For your convenience, some
of them are listed here:
򐂰 IBM DB2 Performance Problem Determination
http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/tutoria
l_performance.d2w/toc
򐂰 IBM DB2 tuning parameters: WebSphere Application Server
http://publib7b.boulder.ibm.com/wasinfo1/en/info/ae/ae/rprf_db2parameters.h
tml
򐂰 IBM Redbook SG24-6417: DB2 UDB/WebSphere Performance Tuning Guide
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/SG246417.html
򐂰 IBM Redbook SG24-6012: DB2 UDB V7.1 Performance Tuning Guide
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/SG246012.html
򐂰 IBM Redbook SG24-5511: Database Performance Tuning on AIX
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/SG245511.html
򐂰 SQL Server Database Performance Tuning Tips
http://www.sql-server-performance.com/
򐂰 Oracle Performance and Scalability
http://www.oracle.com/appsnet/technology/performance/content.html
6.4 Tuning TCP settings on LMS servers
For each operating system, different parameters can be changed to optimize
overall network performance. The following changes are recommended for the
servers hosting the LMS application as well as the servers running the HTTP
servers.
Regarding TCP tuning, additional information for a variety of operating systems
can be found at:
http://www.psc.edu/networking/perf_tune.html
6.4.1 Microsoft Windows 2000
In Windows, all important TCP/IP parameters must be set using the registry
editor (regedit.exe). Start the editor and go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Chapter 6. Post-installation tuning
111
Modify the parameters described below. If a parameter does not exist, you have
to create it manually. After changing the settings, you need to reboot the
machine.
Tip: A detailed description of Microsoft Windows 2000 TCP/IP implementation
can be found at:
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutio
ns/network/deploy/depovg/tcpip2k.asp
TcpTimedWaitDelay
This parameter defines the time in seconds that needs to elapse before Windows
can release a closed connection and make it available for re-use. This interval
between closure and release is known as the TIME_WAIT state or 2MSL (twice
the maximum segment lifetime) state. During this time, reopening the connection
to the client and server costs less than establishing a new connection. Reducing
the value of this entry allows TCP to release closed connections faster, providing
more resources for new connections.
Recommended value: 30 (decimal) = 0x0000001e (hexadecimal)
After applying this change, you see fewer connections in TIME_WAIT. Display
them with the netstat command.
MaxUserPort
This parameter determines the highest port number TCP can assign when an
application requests an available user port from the system.
Recommended value: At least 32768 (decimal) = 0x00008000 (hexadecimal)
TcpNumConnections
This parameter defines the maximum number of simultaneous TCP connections
and should be set higher than the expected number of simultaneous
connections.
Recommended value: 150-200% of your expected number of concurrent users
112
IBM Lotus Learning Management System Handbook
Tip: Instead of using the registry editor, you can create a text file with the
extension .reg using Notepad. The values have to be specified as
hexadecimal values. It should look like this:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpTimedWaitDelay"=dword:0000001e
"MaxUserPort"=dword:00008000
"TcpNumConnections"=dword:000007d0
After you save the file, you can copy it to all servers and add the values to the
registry by simply double-clicking it in Windows Explorer.
6.4.2 Linux
Here we discuss Linux.
tcp_fin_timeout
This parameter defines how many seconds to wait for a final FIN packet (state of
FIN_WAIT_2) before the socket is forcibly closed.
Under Linux, the TCP timeout can be set in /proc/sys/net/ipv4/tcp_fin_timeout.
This can be done by using the following command:
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
A short description of this and other TCP parameters can be viewed in Linux by
using the command man tcp. More detailed information is available in the
Ipsysctl tutorial at:
http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html#TCPVARIABLES
6.4.3 IBM AIX
Here we discuss AIX.
tcp_timewait
The tcp_timewait option is used to configure how long connections are kept in the
timewait state. It is given in 15 second intervals, and the default is 1.
Recommended value: 2 (=30 seconds)
To see the current value, use this command:
no -o tcp_timewait=2
Chapter 6. Post-installation tuning
113
To change the value, use this command:
no -o tcp_timewait=2
A short description of this and other TCP parameters can be viewed in AIX by
using the command man no.
6.4.4 Sun Solaris
Here we discuss Sun Solaris.
tcp_time_wait_interval
This parameter tells Solaris how long in milliseconds to keep a socket that was
closed before releasing it for re-use.
Recommended value: 30000 (= 30 seconds)
To see the current value, use this command:
/usr/sbin/ndd -get /dev/tcp tcp_time_wait_interval
To change the value, use this command:
/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 30000
tcp_fin_wait_2_flush_interval
This parameter defines how many milliseconds to wait for a final FIN packet
(state of FIN_WAIT_2) before the socket is forcibly closed.
Recommended value: 67500 (=67,5 seconds)
To see the value, use this command:
/usr/bin/ndd -get /dev/tcp tcp_fin_wait_2_flush_interval
To change the value, use this command:
/usr/bin/ndd -set /dev/tcp tcp_fin_wait_2_flush_interval 67500
tcp_keepalive_interval
This parameter defines the timer interval in milliseconds prohibiting an active
connection from staying established if one of the peers never responds.
Recommended value: 300000 (=300 seconds)
To see the value, use this command:
/usr/bin/ndd -get /dev/tcp tcp_keepalive_interval
114
IBM Lotus Learning Management System Handbook
To change the value, use this command:
/usr/bin/ndd -set /dev/tcp tcp_keepalive_interval 300000
6.5 Tuning HTTP servers
Depending on the expected number of concurrent users, you may have to
change some settings in the configuration of the HTTP servers you are utilizing
within your LMS.
6.5.1 Reload interval for WebSphere plug-in configuration file
Every 60 seconds, by default, the WebSphere plug-in reloads its configuration
file (plug-in.xml) to check if any changes occurred. The dynamic regeneration of
this configuration information is costly in terms of performance. Therefore, in
production environments you should change the <RefreshInterval=xxxx>
parameter defined in the configuration file itself to a higher value.
6.5.2 Sun ONE Web server, Enterprise Edition - Solaris
The default configuration of the Sun ONE Web server, Enterprise Edition
provides a single-process, multi-threaded server.
Active threads
After the server reaches the limit set with this parameter, the server stops
servicing new connections until it finishes with old connections. If this setting is
too low, the server can become throttled, resulting in degraded response times.
To tell if the Web server is being throttled, consult its perfdump statistics. Look at
the following data:
򐂰 WaitingThreads count: If this gets close to zero, or is zero, the server is not
accepting new connections.
򐂰 BusyThreads count: If this is close to zero, or is zero, BusyThreads is probably
very close to its limit.
򐂰 ActiveThreads count: If this is close to its limit (default is 512), the server is
probably limiting itself.
To view or set, use the maximum number of simultaneous requests parameter in
the Enterprise Server Manager interface to control the number of active threads
within Sun ONE Web server, Enterprise Edition. This setting corresponds to the
RqThrottle parameter in the magnus.conf file.
Chapter 6. Post-installation tuning
115
6.5.3 Microsoft Internet Information Server (IIS)
Here we discuss the IIS.
IIS permission properties
IIS has several properties that dramatically affect the performance of the
application server. The default settings are usually acceptable. However,
because other products can change the default settings without user knowledge,
make sure to check the IIS settings for the Home Directory permissions of the
Web server. The permissions should be set to Script and not to Execute. If the
permissions are set to Execute, no error messages are returned, but the
performance of WAS is decreased.
To check or change these permissions, perform the following procedure in the
Microsoft management console:
1. Select the Web site (usually default Web site).
2. Right-click and select the Properties option.
3. Click the Home Directory tab.
To set the permissions of the home directory, in the application settings,
ensure that the Script checkbox is selected in the Permissions list and that the
Execute checkbox is cleared.
It might also be necessary to check the permissions of the sePlugin. To do
this, expand the Web server. Right-click the sePlugin and select Properties.
Confirm that the Execute permissions are set to Execute.
Number of expected hits per day
This parameter controls the memory that IIS allocates for connections.
Using the performance window, set the parameter to more than 100000 in the
Web site properties panel of the Microsoft Management Console.
ListenBackLog parameter
If you are using IIS, you are likely to encounter failed connections under heavy
load conditions (typically more than 100+ clients). This condition commonly
results from IIS rejecting connections. Alleviate the condition by using the
ListenBackLog parameter to increase the number of requests IIS keeps in its
queue.
Use the registry editor to set the ListenBackLog parameter located at:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\
ListenBackLog
Recommended value: 200
116
IBM Lotus Learning Management System Handbook
MaxPoolThreads and PoolThreadLimit
MaxPoolThreads controls the number of threads per CPU in the thread pool
available for IIS to run Common Gateway Interface (CGI) processes (each
process takes one thread). PoolThreadLimit specifies the upper limit for
MaxPoolThreads.
The default thread limit that IIS can create on a machine is twice the number of
MB in RAM on a machine (for example, a server with 512 MB of RAM is limited to
1024 threads).
Use the registry editor and adjust the following values:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\Ma
xPoolThreads
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\Po
olTheadLimit
6.5.4 IBM HTTP Server - UNIX
The IBM HTTP Server (IHS) is a multi-process, single-threaded server. For more
information about tuning IHS, see the Hints on Running a high-performance Web
server at:
http://www.software.ibm.com/webservers/httpservers/doc/v136/misc/perf.html
The configuration takes place in the IHS httpd.conf file located in the conf
directory of the Web servers installation directory. After setting the described
parameters, you have to restart IHS.
MinSpareServers, MaxSpareServers, StartServers, MaxClients
During heavy load, IHS can use a large amount of the server’s processing time to
create and destroy httpd child processes. Therefore for optimum performance
even under heavy load, specify the same value for all four parameters. This
avoids the time-costly recreation of sub-processes.
Ignore the appearing error message [error] server reached MaxClients
setting. Consider raising the MaxClient when restarting IHS.
A too-low number of child processes is as bad as a too-high number, because
more processes also means more memory usage and more processor time for
managing the processes. You can use the Apache Benchmark (ab) program
located in the IHS bin directory to test the impact of different parameter settings.
To simulate 100 concurrent users performing 20 requests to LMS, for example,
you can issue the following command:
ab -n 20 -c 100 http://<hostname>/lms-lmm/studentCatalog.do
Chapter 6. Post-installation tuning
117
In the ab command’s summary, the most interesting fields are:
򐂰
򐂰
򐂰
򐂰
Complete requests
Failed requests
Requests per second
Time per request
When testing different parameter settings for the httpd.conf, use these values to
compare and to find the best configuration setting for your system.
MaxRequestsPerChild
The MaxRequestsPerChild directive sets the limit on the number of requests that
an individual child server process handles. After the number of requests reaches
the value set for the MaxRequestsPerChild parameter, the child process dies. If
there are no known memory leaks with the IHS version, set this value to zero (0),
meaning unlimited.
LoadModule, AddModule
The more additional modules are loaded by IHS the more memory is consumed
per process. Therefore, turn off the loading of all unnecessary modules. Consult
http://httpd.apache.org/docs/mod/ for detailed descriptions on the different
modules.
Timeout
The number of seconds before sends and receives time out.
Recommended value: 180
Listen
On servers configured with multiple network interface cards (NICs), use the
Listen parameter to specify which IP addresses and ports IHS should serve.
Listen
Listen
Listen
Listen
127.0.0.1:80
127.0.0.1:8008
192.168.56.1:80
192.168.130.1:80
ServerTokens
This parameter controls which information about IHS is sent back to the client
with the header of the HTTP response. For security reasons, we recommended
that you set it to:
ServerTokens Prod
This will respond with the product name only and will not send information about
the version number or the installed modules.
118
IBM Lotus Learning Management System Handbook
6.5.5 IBM HTTP Server - Windows 2000
Here we discuss the IBM HTTP Server for Windows 2000.
ThreadsPerChild
This parameter sets the number of concurrent threads running at any one time
within the IBM HTTP Server. Set this value to prevent bottlenecks, allowing just
enough traffic through to the application server.
How to change it:
1. Edit the IBM HTTP Server file httpd.conf located in the directory
IBM_HTTP_Server_root_directory/conf.
2. Change the value of the parameter.
3. Save the changes and restart the IBM HTTP server.
The recommended value is to start with a size of 100, then increase as
necessary. An HTTP error message of type 503, meaning a refused connection,
should be a good indicator for the need to increase the value.
There are two ways to find how many threads are being used under load.
򐂰 Using the Windows 2000 Performance Monitor
Select Start -> Programs -> Administrative Tools -> Performance
Monitor. In Performance Monitor, click Edit -> Add to chart. Then set the
following:
– Object: IBM HTTP Server
– Instance: Apache
– Counter: Waiting for connection
To calculate the number of busy threads, subtract the number waiting
(Windows 2000 Performance Monitor) from the total available
(ThreadsPerChild).
򐂰 Using IBM HTTP Server server-status
Edit the IBM HTTP Server file httpd.conf as follows:
– Remove the comment character "#" from the following lines:
#LoadModule status_module modules/ApacheModuleStatus.dll
#<Location /server-status>
#SetHandler server-status
#</Location>
– Save the changes and restart the IBM HTTP server.
In a Web browser, go to the following URL and click Reload to update status:
http://yourhost/server-status. Alternatively, if the browser supports
Chapter 6. Post-installation tuning
119
refresh, go to http://yourhost/server-status?refresh=5 to refresh every 5
seconds. You will see 5 requests currently being processed, 45 idle
servers.
6.6 Tuning the WebSphere Application Server
The adjustment of the parameters in this section takes place in the WebSphere
Administrative Console and is performed on the application server hosting LMM
and DS. After you change a parameter, you will have to re-start the application
server.
6.6.1 JVM heap size
In general, increasing the size of the Java heap improves throughput until the
heap no longer resides in physical memory. After the heap begins swapping to
disk, Java performance drastically suffers. Therefore, the maximum heap size
needs to be low enough to contain the heap within physical memory.
For small configurations, the maximum heap size of 256 MB that comes with the
default WebSphere setting is acceptable. You should consider increasing the
heap size under these conditions:
򐂰 If you have configured LMM and DS to run on two separate machines, and
each machines has at least 2 GB of RAM, you should increase the maximum
heap size to 512 MB. On the other hand, if your machine has only 2 GB of
RAM and you are running both LMM and DS on the same machine, you
should leave the setting of 256 MB unchanged.
򐂰 If LMM and DS are running on the same machine and the machine has more
than 2 GB of RAM, you should increase the maximum heap size to 512 MB.
򐂰 If your machine has 4 GB or more, you may consider increasing the Java
heap size to 1 GB. However, increasing Java heap size beyond 512 MB might
cause garbage collection to take longer than normal and cause your system
to be unusable while garbage collection is occurring.
How to view or change
In the WebSphere Administrative Console, go to Application Servers ->
<server_name> -> Process Definition -> Java Virtual Machine -> Additional
Properties/General Properties.
View or adjust the Maximum Heap Size and set the Initial Heap Size to
one-fourth of this value.
120
IBM Lotus Learning Management System Handbook
6.6.2 JVM Just in Time Compiler
The Just In Time (JIT) compiler can significantly aid performance; therefore
ensure that it is enabled.
How to view or change
In the WebSphere Administrative Console, go to Application Servers ->
<server_name> -> Process Definition -> Java Virtual Machine.
View or adjust the Disable JIT option.
6.6.3 JVM - Avoiding class verification
This parameter skips the class verification stage during class loading, saving you
overhead. When using this value with the JIT on, gains are between 10–15
percent in startup time.
How to view or change
In the WebSphere Administrative Console, go to Application Servers ->
<server_name> -> Process Definition -> Java Virtual Machine.
Add the value -Xverify:none to the Generic JVM arguments field.
6.6.4 JVM - Number of garbage collection threads
You can have several garbage collection threads. If you machines have more
than one processor, set the number of threads equal to the number of
processors. This is only applicable for IBM JDK 1.3.
How to view or change
In the WebSphere Administrative Console go to Application Servers ->
<server_name> -> Process Definition -> Java Virtual Machine.
Add the value -Xgcthreads=[number_of_processors] to the Generic JVM
arguments field.
6.6.5 Web container thread pool
Use the maximum thread size parameter to specify the maximum number of
threads that can be pooled to handle requests sent to the Web container.
Requests are sent to the Web container through any of the HTTP transports.
Chapter 6. Post-installation tuning
121
You have two choices:
򐂰 Adjust the Minimum Size and Maximum Size for the thread pool.
򐂰 Turn on the Growable Thread Pool option to allow the thread pool to be
increased by WAS as needed.
Although we recommend that you select the Growable Pool Size option, if you
decide to set the minimum and maximum pool size, follow these instructions: The
minimum size should be left to its default value of 10. The maximum size should
be set to 100 and increased as necessary. How will you know if the maximum
pool size needs to be increased? Observe the performance of the LMM or DS
application servers. If you notice that the response time is increasing while the
CPU utilization of the machine is still low, this could be a symptom of a starved
system. The starvation could be caused by a bottleneck. A small thread pool size
could be one of the bottlenecks.
How to view or change
In the WebSphere Administrative Console, go to Application Servers ->
<server_name> -> Web Container -> Thread Pool.
View or adjust the Minimum Size, Maximum Size, and Growable thread pool.
6.6.6 Web Container MaxKeepAliveConnections
This parameter describes the maximum number of concurrent connections to the
Web container that are allowed to be kept alive, that is, to be processed in
multiple requests. If this value is too small, performance is negatively impacted.
How to view or change
In the WebSphere Administrative Console, go to Application Servers ->
<server_name> -> Web Container -> HTTP Transports -> <port_number> ->
Custom Properties.
Click New to create a new custom property and enter MaxKeepAliveConnections
as Name.
Set the value to about 90 percent of the Maximum Size defined for the thread
pool.
6.6.7 MaxKeepAliveRequests
This is the maximum number of requests allowed on a single keep-alive
connection. This parameter can help prevent denial of service attacks when a
client tries to hold onto a keep-alive connection.
122
IBM Lotus Learning Management System Handbook
How to view or change
In the WebSphere Administrative Console, go to Application Servers ->
<server_name> -> Web Container -> HTTP Transports -> <port_number> ->
Custom Properties.
Click New to create a new custom property and enter MaxKeepAliveRequests as
Name.
At the beginning, set the value to 100. If the application server requests are
received from the WebSphere plug-in only, increase this parameter's value.
6.6.8 JDBC Data Source - Connection Pool size
When accessing any database, the initial database connection is an expensive
operation. Connection pooling and connection reuse reduces the number of
these operations significantly.
Only two parameters should be changed here: Min connections and Max
connections. All other parameters should be left untouched. The minimum
connections should be set to 15. The maximum connections should be set to
equal the number of the Web Container Thread Pool size.
Note: Whenever increases are made on the JDBC connection pool,
equivalent changes need to be made by the database administrator on the
database server.
How to view or change
The following changes should be made to all LMS data sources.
In the WebSphere Administrative Console, go to JDBC Providers ->
<JDBC_provider_name> -> Data Sources -> <database_source_name> ->
AdditionalProperties/Connection Pool.
Adjust Min Connections and Max Connections only; let the other parameters
remain unchanged.
Chapter 6. Post-installation tuning
123
124
IBM Lotus Learning Management System Handbook
7
Chapter 7.
Maintenance
This chapter describes additional activities that may need to be performed after
the installation of LMS. Topics include:
򐂰
򐂰
򐂰
򐂰
Server maintenance plan
Backup hints
Updating LMS basic settings
Recommended server restart sequence
© Copyright IBM Corp. 2003. All rights reserved.
125
7.1 Server maintenance plan
To ensure proper LMS maintenance and reliability, you should have a server
maintenance plan. It should include at least the following information about the
maintenance and disaster recovery of the LMS machines:
򐂰 Architectural overview of the LMS installation including the connections to
backend systems (database server, mail server, LDAP server, Content (FTP)
Server, and other integrated IBM products such as Domino, LVC, and
Sametime).
򐂰 Reinstallation plan: Written steps including installation parameters, the LMS
CD, and a list of all other system software needed (including all system
software, updates, and so on).
򐂰 Backup plan for the database(s), content, and customization sets.
򐂰 Database disk space growth plan.
򐂰 See 3.4, “Database size estimation” on page 37, for information on how to
estimate the required database size for your LMS.
򐂰 Procedure for shutting down the system.
򐂰 Both technical and administrative (for notifying students).
򐂰 Listing of trusted individuals outside the IT Department who can make server
changes or make requests of IT.
򐂰 Procedure for inspecting system, WAS, and LMS logs for problems on a
per-server basis.
򐂰 Procedure for saving (for later error tracing) and clearing logs.
Important: It is important that the LMS log files are cleared on a regular
basis. Depending on the selected debugging level number of errors you
receive, they can easily grow to a hundred megabytes and more.
򐂰 Data archival planning.
򐂰 Procedure for logging changes made to the server, including information
about when a server was rebooted and a statement about the reason for
changing the state of any server.
򐂰 Suggested LMS restart sequence.
򐂰 Definition of the roles and responsibilities of the players involved in the LMS
deployment.
126
IBM Lotus Learning Management System Handbook
7.2 Backup hints
When you create your backup strategy consider backing up the following data:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
LMM, DS, and AUDIT database
LMS installation directory
Directory for imported packages, located on the LMM machine
Directories containing the deployed content on the content servers
Configuration files of Web servers
WebSphere plug-in configuration file
LDAP directory (if you are using an LDAP server dedicated to LMS only)
LMS customization sets
LMS, WAS, and operating system log files
settings.xml and ds-settings.xml
Additionally, you should think about creating images of system and data
partitions of all LMS machines after you successfully set up LMS. In case of
system failures, this allows you to redeploy the whole system very quickly on
similar machines. Partition images on Windows and Linux machines can be
created using, for example, PowerQuest DeployCenter Library or Symantec
Ghost Corporate Edition. The open source tool Partimage can be used for Linux
(ext2fs, ext3fs, ReiserFS), AIX (JFS). Support for other file system types such as
NTFS and UFS is currently in beta stage.
7.3 Updating LMS basic settings
When changes in infrastructure take place that affect LMS, you need to adjust
the basic settings of LMS. You can do this with the LMS Updater. Perform the
following steps to update your LMS basic settings.
1. You can find the LMS Updater in the LMS installation directory’s /update
folder. Under Windows, run updateSettings.bat, and under UNIX use
updateSettings.sh to launch the LMS Updater. The input screens are similar
to those of the LMS installer:
1.
2.
3.
4.
5.
6.
7.
LDAP Settings
LMS Server Settings
Content Management Settings
Delivery Server Settings
Web Server Settings
Content Deployment Settings
System Administrator E-mail Settings
2. The LMS Updater uses the file settings.props to populate the install screens
with the original values. You will be required to fill in all the passwords again,
as they are not being kept in the properties file.
Chapter 7. Maintenance
127
When you have finished adjusting the parameters, the LMS Updater creates
two SQL scripts: updateLMM.sql for the LMM database and updateDS.sql for
the DS database.
3. Copy these files to your database server or client.
4. Stop LMM and DS applications.
5. Execute the commands on the database server’s (or client’s) SQL command
line. For example, on DB2 you will use the following commands in the DB2
command window:
db2
db2
db2
db2
db2
db2
connect to <LMM_database_name>
-tvf updateLMM.sql
disconnect <LMM_database_name>
connect to <DS_database_name>
-tvf updateDS.sql
disconnect <DS_database_name>
6. Start LMM and DS again.
7.4 Recommended server restart sequence
We recommend this stop and restart sequence if you do not have the Network
Deployment Manager:
1. Stop the Enterprise Application Servers from the WAS Administration
console.
2. Stop the WAS server using Websphere\AppServer\bin\stopServer
-username user -password pass.
3. Start the WAS server using Websphere\AppServer\bin\startServer.
4. Start the Enterprise Application Servers from the WAS Admin console.
We recommend this stop and restart sequence if you have the Network
Deployment Manager:
1. Stop Enterprise Application Servers from the WAS Admin console.
2. Stop the nodes using Websphere\AppServer\bin\stopNode -username user
-password pass.
3. Stop the Network Deployment Manager using
Websphere\DeploymentManager\bin\stopManager -username user -password
pass.
4. Start the Network Deployment Manager using
Websphere\DeploymentManager\bin\startManager.
5. Start the nodes using Websphere\AppServer\bin\startNode.
128
IBM Lotus Learning Management System Handbook
6. Start the Enterprise Application Servers from the WAS Admin console.
Tip: Start the application server(s) hosting DS before you start the one
hosting LMM. If you start LMM first, an end user may log onto LMM and
access a course before the DS server is launched. If you launch the DS
server first, it ensures that when the LMM Server is started then the DS is
available too.
7.4.1 Batch files to stop and start LMS
Here we include some batch files that we used to stop and start LMS while
writing this publication. Modify them to fit your needs.
Command files for Windows
The command files for Windows are:
򐂰 start_manager.cmd starts the deployment manager.
rem clear the logs
del d:\websphere\deploymentmanager\logs\*.log
del d:\websphere\deploymentmanager\logs\dmgr\*.log
d:\websphere\deploymentmanager\bin\startmanager
򐂰 start_node.cmd starts the node manager.
rem
del
del
del
clear the logs
d:\websphere\appserver\logs\*.log
d:\websphere\appserver\logs\server1\*.log
d:\websphere\lms-logs\*.log
d:\websphere\appserver\bin\startnode.bat
򐂰 start_server1.cmd starts the default application server.
d:\websphere\appserver\bin\startserver.bat server1
򐂰 stop_server1.cmd stops the default application server.
d:\websphere\appserver\bin\stopserver.bat server1 -username wasadmin
-password waspw
Shell scripts for UNIX
The following are shell scripts for UNIX.
򐂰 start_manager.sh starts the deployment manager.
#clear the logs
rm /opt/WebSphere/DeploymentManager/logs/*.log
rm /opt/WebSphere/DeploymentManager/logs/dmgr/*.log
Chapter 7. Maintenance
129
/opt/WebSphere/DeploymentManager/bin/startManager.sh
򐂰 start_node.sh starts the node manager
# clear the logs
rm /opt/WebSphere/AppServer/logs/*.log
rm /opt/WebSphere/AppServer/logs/server1/*.log
rm /opt/WebSphere/lms-logs/*.log
/opt/WebSphere/AppServer/bin/startNode.sh
򐂰 start_server1.bat starts the default application server
/opt/WebSphere/AppServer/bin/startServer.sh server1
򐂰 stop_server1.bat stops the default application server
/opt/WebSphere/AppServer/bin/stopServer.bat server1 -username wasadmin
-password waspw
򐂰 To stop the Deployment manager:
/opt/WebSphere/DeploymentManager/bin/stopManager.sh -username [wasusername]
-password [waspassword]
򐂰 To stop the Node manager:
/opt/WebSphere/AppServer/bin/stopNode.sh -username [wasusername] -password
[waspassword]
The following script is useful if you have lost control over a running WAS
instance. It searches for all running processes that were launched from inside the
/opt/WebSphere/ directory and ends them.
killWebSphere.sh
# kills all running websphere processes
SEARCHFOR=/opt/WebSphere/
ps -eaf | grep {$SEARCHFOR} | awk '{print $2}' | xargs kill -9
130
IBM Lotus Learning Management System Handbook
8
Chapter 8.
Troubleshooting
This chapter describes how to locate the source of problems and how to solve
common errors.
© Copyright IBM Corp. 2003. All rights reserved.
131
8.1 Introduction
In this chapter, we provide guidance for determining which part of the application
is working (or not). In addition, we provide more information on this topic in 5.6,
“Testing the LMS application” on page 102.
8.2 Locating the problem
If LMM and DS are not working properly, you can perform the following steps to
determine the source of your problem.
Step 1: Check your client machine
Check the proxy settings of your browser to ensure that you can actually reach
LMS. To receive meaningful error messages, you should turn off the option
“Show friendly HTTP error messages” in the Advanced tab of Internet Explorer’s
Internet Options.
Step 2: Validate the WAS installation
Start the First Steps program and use the Verify Installation option to check the
WAS installation.
򐂰 Windows: Start -> Program Files -> WebSphere Application Server 5.0 ->
First Steps
򐂰 UNIX: <WAS_installation_path>/bin/firststeps.sh
Step 3: Access WAS without WebSphere plug-in
Check if the problem is related to WAS or the HTTP Server. To determine this,
instead of accessing the test servlets and the LMS application from the HTTP
server, try to access them using the built-in HTTP task of WebSphere. To access
the application this way, use the fully qualified hostname of WAS and the HTTP
port of the default application server server1:
򐂰 Test your access to the WAS admin console:
http://<WAS_fully_qualified_hostname>:9090/admin
򐂰 Test your access to the test servlets:
http://<WAS_fully_qualified_hostname>:9080/snoop
http://<WAS_fully_qualified_hostname>:9080/hello
http://<WAS_fully_qualified_hostname>:9080/hitcount
If you can access any of these applications this way, WAS is running properly. If
you cannot, it means that WAS itself is misconfigured. This can be because of
132
IBM Lotus Learning Management System Handbook
various reasons. Repairing a WAS installation is outside the scope of this
publication.
Step 4: Check if problem is related to HTTP or WebSphere
Access the LMM and DS applications directly on the HTTP port of the application
server(s) hosting the modules, instead of going through the HTTP Server, to
make sure the problem is not related to the HTTP Server. For example:
LMM Server: http://<WAS_fully_qualified_hostname>:9081/lms-lmm/
DS Server: http://<WAS_fully_qualified_hostname>:9081/lms-ds/about.ds
If these URLs work, but the connection to LMS through the HTTP server is not
working, it means that the problem is related to the HTTP server or the
WebSphere plug-in. In this case refer to 8.3, “HTTP Server and plug-in problems”
on page 135.
Step 5: Make sure all programs are running
Check if WAS, the HTTP server(s), the LDAP server, and the database server(s)
are running. In the WebSphere Administrative Console, check if the LMM and DS
applications are up and running.
Note: Access problems can occur if a firewall prevents access to certain
services on the network.
In Chapter 4, “Pre-installation” on page 41, you will find more details about how
you can check that the different software parts are working properly.
Step 6: Test database connection from WebSphere
When you prepared WAS for LMS, you created J2C Authentication Data entries
and set up JDBC connections. If there is any problem with these settings, LMS
cannot access the databases and will not run.
To verify these settings, we created a JSP file that tests the connection to the
databases using the parameters configured in WAS. See 8.7, “Test JDBC
connections from within WebSphere” on page 140, for how to set up this test.
You will have to do this test from all servers where you have the LMM and DS
application deployed.
Note: If you are using DB2 7.2, make sure that you have JDBC 2.0 activated;
see “JDBC 2.0 driver setup for DB2 7.2” on page 58.
Chapter 8. Troubleshooting
133
Step 7: Check the LMS logs
Within WAS you have defined where the LMS log files will be created. For
example, in Windows, this can be:
d:\lmslogs
Remove the log files (to start with an empty log file), restart the application
server(s), and view all files in this directory. Specifically, the file
servernodename_LMS-LMM.log on the LMM Server and
servernodename_LMS-DS.log on the DS server can provide you with more
information.
Note: If you have not set the log path properly, no LMS log files will be
created. Also, if WAS did not manage to start LMS, LMS log files might not be
available.
If the log files are there, but they do not have enough information, you can
change the log details from within LMS. Go to the Settings tab -> LMM Server
-> System Logging.
For Application, Database, Trace, E-mail, and Tracking, you can make changes
to the log details. Specifically, you can set the Logging level to debug temporarily
while you are debugging.
Important: Remember to set the logging level back to normal after your tests,
as the size of the log files will quickly grow using the debug option.
Step 8: Check the WebSphere logs
Look at the log files located in:
<WAS_install_path>/logs
<WAS_install_path>/logs/server1
<WAS_install_path>/logs/<servername>
Remove the log files, restart the application server(s), and view the log files again
to see if there are already problems during the starting sequence. Specifically,
the SystemOut.log file can be helpful.
Sometimes the log files will point directly to the problem area. In other cases
though, such as if you are not familiar with the WebSphere logs, the log files
might not be able to help you.
134
IBM Lotus Learning Management System Handbook
Step 9: Check pre-installation and installation requirements
Double-check all settings and requirements that are outlined in Chapter 4,
“Pre-installation” on page 41, and Chapter 5, “Installation” on page 81.
From our experience, most problems are caused by incorrect spelling of
parameters, either in WAS or LMS.
򐂰 Putting WebSphere parameters on the wrong node (for example, on the
administration node instead of the server-node)
򐂰 LMS or WebSphere being unable to communicate properly with the LDAP or
the database server
򐂰 HTTP server(s) not being able to load the WebSphere plug-in file properly
The easiest way to check the LMS parameters in use is to check the sql files that
were used to create the settings in the database. For DB2, for example, the files
are settings_init.sql and settings_init_ds.sql.
Alternatively you can access the database environment and check the tables
directly.
In case you would like to make changes to the LMS settings that you have
defined before, you do not need to re-install LMS. Instead you can use the LMS
update utility; see “LMS Updater” on page 140.
Step 10: Additional resources
For additional information on solving specific errors, you can access the IBM
Web site and use the technical support search:
http://www.ibm.com/support/search/index.html
You can also have a look at the Lotus e-Learning forum:
http://www-10.lotus.com/ldd/lsforum.nsf?OpenDatabase
8.3 HTTP Server and plug-in problems
If there are problems with the HTTP server, make sure that the server was
running properly before the additional lines for the WebSphere plug-in were
added to the HTTP server configuration file. See if you can access the root page
or any other non-WAS related page on the Web server using a Web browser.
If you cannot access any other page, then the Web server itself is misconfigured;
refer to the Web server’s troubleshooting documentation. If you can access other
pages, the problem is related to the WebSphere plug-in.
Chapter 8. Troubleshooting
135
8.3.1 Check plug-in settings
Most of the time, a plug-in problem is caused by one of the following reasons:
򐂰 The configuration lines within the Web server’s configuration file loading the
WebSphere plug-in are pointing to files that are not present at that location.
򐂰 The plug-in configuration file points to files and directories that do not exist on
the server.
Locate the Web server configuration file and find the plug-in related lines. For the
IBM HTTP Server for Windows, these lines look like this:
LoadModule ibm_app_server_http_module
"d:\WebSphere\AppServer/bin/mod_ibm_app_server_http.dll"
WebSpherePluginConfig "d:\WebSphere\AppServer/config/cells/plugin-cfg.xml"
If the lines are present, then:
򐂰 Check if the plugin-binary file (dll in windows) and the xml files exist in the
directories that are specified in the HTTP Server config file.
򐂰 Check the content of the plugin-cfg file to check that all files and directories
specified in here are correct and exist.
If the lines are not present, add them manually (following the steps in 4.4.1,
“Tasks to complete” on page 56).
By default, the plug-in configuration file references files and directories that are
available on the server where the plug-in configuration was generated. This
means that these files and directories might not necessarily exist on the server
where you use the plug-in configuration file. In some cases it will be necessary to
modify the directories specified within this file by hand.
Note: If you make changes to the plug-in-configuration file, make sure they will
not be overwritten by re-generation of the plug-in configuration, or by
synchronizations between the Network Deployment Manager and the Nodes.
If you have the HTTP server on a separate machine, you will not have this
problem. If you have the HTTP server on the same server as WebSphere,
consider renaming the plug-in-configuration file. For further information, see
“Generating the WebSphere plug-in configuration file” on page 75.
8.3.2 HTTP server log
To get additional information regarding the Web server, check any errors that
were encountered during the startup of the Web server.
136
IBM Lotus Learning Management System Handbook
For the IBM HTTP Server on Windows, you can disable the automatic startup in
Services, and then start the Web server manually from the command line. In the
command line, you are now more easily able to see if any error messages come
up during the startup.
To start the IBM HTTP Server manually in Windows, use the command
apache.exe in the base directory where the HTT server is installed, usually:
C:\Program Files\IBMHTTPServer\apache.exe.
If the plug-in binary or configuration file cannot be accessed or there is a problem
within the plug-in configuration file, the Web server might not start, and will show
the appropriate errors during startup. You can also look into the server’s log files.
8.3.3 Review WebSphere plug-in log file
Another location where you can find additional information is the http_plugin.log.
You can determine the location of this file in the plug-in configuration file. If the
plug-in configuration reference in the HTTP server is incorrect, or the plug-in
configuration points to a log-directory that does not exist, the log file will not be
created. By default the log file is:
<WAS_install_path>/logs/http_plugin.log
8.4 Problems with WebSphere security
In this section we discuss problems with WebSphere security.
8.4.1 Cannot activate Global Security
The issue: After changing the Global Security and clicking OK or Apply, the
following error appears: The Server User ID is not valid. Please enter a
valid Server User ID.
The solution: The normal reasons for this problem include:
򐂰 The user ID is not correct (LDAP settings).
An example of a correct user ID could be wasadmin.
򐂰 The user filter is not correct (LDAP settings advanced).
An example of a correct user filter for IBM HTTP Server includes:
objectclass=inetOrgPerson
Chapter 8. Troubleshooting
137
8.4.2 How to disable security
The issue: If you have a problem logging into the WebSphere admin console, you
might have to disable security to get back into the admin console and solve the
problem. How can you do this?
The solution: There are two ways to do this.
򐂰 Use the wsadmin command.
From the bin directory of the Deployment Manager (or the Application Server
if you do not have the manager installed), use the following command:
wsadmin -conntype NONE
The result should be a command-line prompt for wsadmin. Then issue the
following wsadmin command to switch off security:
securityoff
򐂰 Change the file security.xml.
You can make changes directly in the file security.xml to disable security.
– In a Network Deployment environment, change the file stored in
<WAS_ND_HOME>/config/cells/security.xml.
– In a base WebSphere Application Server environment, change the file
stored in <WAS_HOME>/config/cells/security.xml.
You will have to change the following lines in this file:
<security:Security xmi:id="Security_1" useLocalSecurityServer="true"
useDomainQualifiedUserNames="false" enabled="true" cacheTimeout="600"
issuePermissionWarning="true" activeProtocol="BOTH"
enforceJava2Security="true" activeAuthMechanism="LTPA_1"
activeUserRegistry="LDAPUserRegistry_1"
defaultSSLSettings="SSLConfig_1">
Change enabled="true" to enabled="false".
"enabled" specifies whether global security is enabled. When security is not
enabled, all other security settings of this file are ignored.
8.5 Database error
A database error can appear when you navigate to the Home tab and launch
specific items, for example, “Progress Report”. In that case, you are likely to have
a problem with the database schema. Even if no courses are deployed yet, you
should not get an error.
138
IBM Lotus Learning Management System Handbook
If you are using DB2, an error such as "DB2ADMIN.CATALOGENTRY_TEXT" is an
undefined name’ can be solved in one of the following ways:
򐂰 Make sure that the user used in the JDBC data source has SELECT,
UPDATE, and DELETE rights to all LMS tables on the database.
򐂰 If the database scripts were running using one user name, but the WAS JDBC
data sources are using a different user name, this error can occur. By default
LMS uses:
SELECT * FROM USR
But in some cases it uses:
SELECT * FROM DB2ADMIN.USR
Where DB2ADMIN is the user name defined in WAS for the JDBC data
source.
This can be solved in the following ways:
a. Change the data sources in WAS to use the same account that was used
to run the scripts (probably db2admin). To check the user who ran the
script, connect to the database, and check the current schema name.
b. Remove the databases and run the database creation scripts again, but
this time under the preferred login name.
c. You can define which schema should be used in all cases. Go to
<WAS_install_path>/InstalledApps/<NODE>/LMM.ear/lms-lmm-complete23.war/WEB-INF/classes/persistencemanager.xml to see if all tables are
defined with schema="%". If this is the case, you will need to replace
schema="%" with the specific schema name of the LMS databases such
as schema="DB2ADMIN".
򐂰 By default, LMS does not query a table by using the long format like:
SELECT * FROM DB2ADMIN.USR
Instead it uses the short form:
SELECT * FROM USR
This can be a problem if the database user has access rights to multiple
schemas. In this case, check
<WAS_install_path>/InstalledApps/<NODE>/LMM.ear/lms-lmm-complete-23.
war/WEB-INF/classes/persistencemanager.xml. Replace schema="%" with
the specific schema name of the LMS databases such as
schema="DB2ADMIN".
Chapter 8. Troubleshooting
139
8.6 LMS Updater
If you have a problem starting either the LMS or DS application, it may be
because you entered one or more incorrect settings when you ran the LMS
Installer. You can remedy this situation by running the LMS Updater.
See 7.3, “Updating LMS basic settings” on page 127, for details on how to use
the LMS Updater.
8.7 Test JDBC connections from within WebSphere
In this section we discuss how to test JDBC connections from within WebSphere.
8.7.1 Test scenario
When you prepare WAS for LMS, you create J2C Authentication Data entries and
JDBC connections. To verify these settings, we created a JSP file that tries to
connect to the databases using the parameters configured in WAS.
If the test was successful a response such as that shown in Figure 8-1.
Figure 8-1 Successful LMS database connection test
140
IBM Lotus Learning Management System Handbook
8.7.2 Deploying the test tool
You must deploy the tool as an application to the same application server LMS is
running on. To do so, first create a Web Archive (WAR) file containing the test
JSP file and then install it using the WAS administration console.
Proceed with the following steps:
1. Ensure that the machine you are working on has the jar command installed.
You can easily test this by opening a command line and enter jar. If the
command is unknown, you will have to install a Java SDK, which you can
download from:
http://java.sun.com/
2. Create a new directory on your local hard disk, such as d:\lmsdbtest\.
3. Copy and paste the TestDbConnection.jsp shown at the end of this section
into a new text file in Notepad.
4. If you set up LMS with other than the default JNDI names (lmm, lsaudit, and
ds), change the following lines in the file accordingly:
jndis.add("jdbc/lmm");
jndis.add("jdbc/ds");
jndis.add("jdbc/lsaudit");
5. Save the file as TestJDbConnections.jsp to the newly created directory.
6. Create a sub directory called WEB-INF.
7. In the WEB-INF directory create a file called web.xml containing the following
lines:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
<display-name>LMS DB Connection Test</display-name>
</web-app>
8. Now run the following command to create a valid WAR file:
jar cvf d:\lmsdbtest.war -C d:\lmsdbtest\
Note: It is very important that you do not miss the space and the dot at the
end of the command. Otherwise it will not successfully create the WAR file.
9. Open the WAS administration console and go to Applications -> Install New
Application.
10.In the first input screen, select local path and browse for the WAR file on your
local disk. As context root use, for example, lmsdbtest.
Chapter 8. Troubleshooting
141
11.Click Next until you reach Step 3: Map modules to application servers. Here
make sure that the application server is selected on which you deployed LMS.
Click Next and then Finish to install the WAR file.
12.After you save the changes to the master configuration file, start the
application at Applications -> Enterprise Applications.
13.Now you can use the test by using an URL of the format:
http://<WAS_servername>:<app_server_port>/<context_root>/TestDbConnectio
ns.jsp
For example:
http://myWAS.ibm.com:9080/lmsdbtest/TestDbConnections.jsp
Adjust the port number to the one used by the application server where you
installed the WAR file.
Note: The jsp-name that you refer to in the URL is case-sensitive.
8.7.3 Content of TestDbConnections.jsp
Below is the content of TestDbConnections.jsp.
<%@
<%@
<%@
<%@
page
page
page
page
import="java.sql.*" %>
import="java.util.*" %>
import="javax.naming.*" %>
import="javax.sql.*" %>
<%
response.setContentType("text/html; charset=ISO-8859-1\"
pageEncoding=\"ISO-8859-1\"");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>LMS DB Connection Test</title></head>
<body>
<h1>JDBC Connection Test</h1>
<%=new java.util.Date().toString()%><br/><br/>
<%
ArrayList jndis = new ArrayList();
jndis.add("jdbc/lmm");
jndis.add("jdbc/ds");
jndis.add("jdbc/lsaudit");
142
IBM Lotus Learning Management System Handbook
try {
Context ctx = new InitialContext();
ctx.addToEnvironment(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.ejs.ns.jndi.CNInitialContextFactory");
Iterator it = jndis.iterator();
while (it.hasNext()) {
String jndi = (String) it.next();
%>Connecting to <%=jndi%>... <%
try {
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection conn = ds.getConnection();
%>OK<br/><%
}
catch (NamingException e) {
%>FAILED - JNDI not found</br><%
}
catch (SQLException e) {
%>FAILED - cannot establish connection<br/><%
}
}
}
catch (NamingException e) {
%>Getting InitialContext failed.<br/><%
}
%>
<h2>Test finished.</h2>
<form>
<input type="button" onClick="window.location.reload()" value="Retry">
</form>
</body>
</html>
Chapter 8. Troubleshooting
143
144
IBM Lotus Learning Management System Handbook
9
Chapter 9.
Migration overview
This chapter provides an overview of the migration to LMS from LearningSpace
Forum and LearningSpace 5.
More details on the migration can be found in the Migration Guide that is
published on the IBM Web site.
© Copyright IBM Corp. 2003. All rights reserved.
145
9.1 Introduction
Your company might want to migrate from its existing IBM e-Learning
environment, such as LearningSpace Forum or LearningSpace 4 or 5, to the new
IBM Lotus Learning Management System.
The Learning Management System is not just a software upgrade from
LearningSpace Forum or LearningSpace 5. It is a new product, with a
architecture loosely modeled on earlier LearningSpace systems, but with a richer
feature set and a host of capabilities unavailable in earlier versions.
Moving a LearningSpace deployment, either Forum or LearningSpace 5, to the
LMS involves proper planning. The system requirements for LMS are very
different from LearningSpace Forum and LearningSpace 5, and in most cases
not compatible.
Due to these differences, you usually will not be able to install the LMS on the
same physical machines you used for LearningSpace or Forum. In addition, the
migration process requires that the two systems run in parallel until all data has
been transferred to the LMS.
Your LearningSpace installation must be migrated using a multi-stage process
that involves planning, moving the data, then configuring and customizing the
new system. Your LearningSpace installation should be assessed to determine
how best to move user and course data to the LMS. Collaboration information
must be updated and moved to the new system, and any custom changes to your
LearningSpace installation must be recreated, as needed, in the LMS.
9.2 Planning your migration
The migration from LearningSpace requires some work to transfer data to the
new system. You will also need to do some manual updates after the automated
migration is complete. Depending on the version of LearningSpace or Forum that
you migrate from, some of your data may not migrate at all, and may need to be
recreated within the LMS.
Before you start a migration from either LearningSpace Forum or
LearningSpace, you should have in mind these different aspects of planning:
򐂰 What release of LearningSpace Forum or LearningSpace are you currently
using?
򐂰 Do you use an LDAP directory?
򐂰 Do you want to migrate the courses all at once or individually?
146
IBM Lotus Learning Management System Handbook
򐂰 Do you want to migrate course content and structure together or only course
structure?
򐂰 Make sure that the systems are running at the same time.
The planning should cover both user migration and course migration.
The migration process involves the following steps:
1. Evaluate the existing system, and determine how and when data will be
migrated to the Learning Management System.
2. Back-up data (including information on customizations made to the system),
remove obsolete data, and prepare for migration.
3. Install and configure the LMS installation (both systems run in parallel during
the migration process).
4. Migrate user information and import users into an LDAP directory.
5. Migrate courses.
6. Move discussion databases to a Domino server. Recreate live sessions using
the Virtual Classroom server.
7. Complete any manual migration tasks, such as assigning user roles and
recreating custom changes to the system.
The Learning Management System is different because additional features have
changed the requirements for data, and a new database schema is being used.
Before you start with the migration, you should be aware of how much of your
data will be preserved during the migration. In the following sections you will find
tables with the amount of information that will be migrated from the different
Learning Systems.
The amount of data that will migrate to the LMS may vary from one
LearningSpace installation to another, depending on how that data is used and
stored by LearningSpace, and how you choose to migrate it to the LMS.
9.3 Migrating data from Forum
Here is an overview of the data that is migrated from Forum to LMS.
Chapter 9. Migration overview
147
Table 9-1 Migrating data from Forum databases
Forum Database
What data migrates
Comments
Schedule
Structure and documents
A course’s structure is formatted as a series of files that use
the SCORM 1.2 format. The migrated course structure does
not include any sequencing; however, you can add
sequencing by importing the SCORM package into the
Authoring Tool and modifying the structure there before
sending it to the LMS.
By default, the course structure is packaged along with the
content in the LMS Migration Tool, but you can choose to
export the structure by itself by selecting the Manifest Only
option.
MediaCenter
All documents
Documents must be linked to from the Schedule if users are to
access them from the migrated course.
CourseRoom
None
Although CourseRoom discussions cannot be migrated to the
LMS, if you use a Domino server you can create new
Discussion databases for courses in the LMS.
Profiles
None
No user information is migrated.
Assessments
None (neither assessments
nor individual questions
migrate)
Assessments and questions are stored in Forum in a format
that is not compatible with the LMS. After migrating the course
data, you can create new assessments (and questions) in the
LMS Authoring Tool.
Prerequisites
Before you install the LMS Migration Tool for Forum, make sure the following
prerequisites are met:
򐂰 You must be using LearningSpace Forum 3.5 or 3.6.
򐂰 Your Forum server must be running Lotus Domino Release 5.0.10 or later (the
Migration Tool does not run in Domino R6).
The migration process and tasks are described in detail in the Migration Guide.
See “Additional resources” on page 152 for where to find the Migration Guide.
Note: You cannot migrate data from LearningSpace Forum releases earlier
than 3.5 because they are based on earlier releases of Domino that are not
supported by the LMS Migration Tool.
148
IBM Lotus Learning Management System Handbook
9.4 Migration from LearningSpace to LMS
Table 9-2 gives an overview of the data that can be migrated from
LearningSpace to LMS.
Table 9-2 Migrating data from LearningSpace 4 and 5
Type of data
What data migrates
Comments
Assessments
LearningSpace 4: None
LearningSpace 5: Some
LearningSpace 5:
򐂰
Published Assessment will migrate, using the old
LearningSpace FTP setup, and used with the
migrated versions of the courses in which they
were used.
򐂰
AICC-formatted assessments will migrate as
content only, but cannot be used for tracking
anymore.
򐂰
Other types of assessments will not migrate.
Auto-enrollments
None
The auto-enrollment rules have to be recreated in
LMS.
Course catalog
entries
All
Unregistered course masters and entries will be
created as appropriate in the LMS to present you with
a course catalog after migration.
Course content
Some
With a database-to-database migration, content is
transferred to the LMS along with course structures,
and is subsequently managed within the LMS.
Content migrated this way cannot be modified.
If you choose, you can leave content on existing
LearningSpace content servers and migrate only the
course structures. In this case, you must place a copy
of the LMS API Adapter on the content server to
enable scoring and tracking. In addition, the course
will not be available for use with the LMS Offline
Learning Client, as that feature requires content to be
stored within the LMS.
Course profiles
None
Course profiles are used differently in the LMS.
Course
responsibilities
All
Users with Instructor responsibilities in
LearningSpace will be added as instructors in the
Resources module of the LMS, and will be
automatically linked to the courses for which they are
responsible.
Chapter 9. Migration overview
149
Type of data
What data migrates
Comments
Course structure
and
properties
All
With a database-to-database migration, course
structures and properties remain intact, along with
LearningSpace extensions such as prerequisites,
objectives, and auto-complete settings.
If you migrate the structures using the Authoring Tool,
and export them from LearningSpace using AICC
format, the LearningSpace extensions to the AICC
standard (includes prerequisites, objectives,
auto-complete, and more) are not migrated because
the Authoring Tool imports only standard AICC files.
Discussions
All
Connections to Discussions are migrated to the
corresponding course masters, but the Discussion
databases are not physically moved or updated.
To use the Discussions with migrated courses, you
must move them to another Domino server (R5.010 or
later). Moving Discussions requires migrating the
corresponding course with the Authoring Tool so you
can update URLs pointing to the Discussion before
importing the course into the LMS.
Enrollments
All
Users who were enrolled in a particular course in
LearningSpace are automatically enrolled in the
system-generated offering for that course.
Live sessions and
associated
materials
None
The definitions of live sessions must be recreated
using the LMS Authoring Tool. Live sessions must
now be hosted in the LearningSpace - Virtual
Classroom product.
The materials for live sessions (Whiteboards, Follow
Me sets, and assessments) must be recreated for the
new LVC session.
Permissions
None
Permissions will not migrate, as they are defined
differently in the LMS and do not translate across
products.
Progress data
Some
Course-level progress information is included in a
direct database-to-database course migration.
In-progress course information, such as activity-level
progress, never migrates. If a student has not
completed the course before migration, progress
information is lost and the student’s status is reset to
Enrolled.
150
IBM Lotus Learning Management System Handbook
Type of data
What data migrates
Comments
Question pool
None
In the LMS, questions are no longer maintained
independently of the assessments in which they are
used. Now, you use the Authoring Tool to create
assessments, and incorporate questions within them.
Reports
None
The LMS uses a new report engine, and a different
database schema from LearningSpace. Reports
cannot be migrated from LearningSpace; however,
the LMS provides a similar set of predefined reports.
User profiles and
profile categories
User profiles, but no
profile categories
User profiles are exported as groups in the LDIF file,
and once imported into an empty LDAP directory, can
be used for assigning permissions to groups of users
in the LMS through the use of “roles.”
User records
(roster)
None
While LearningSpace users are added to the LMS
database during migration, they receive the status
Inactive, which means they are not actually rostered in
the system. Users who are not set to Active status can
use the LMS only as anonymous users with very
restricted access.
You can roster these users after migration by
changing their status to Active in the Users module of
the LMS.
User types
Student only
Users assigned the standard Student user type in
LearningSpace are assigned that role in the LMS.
Users assigned the Instructor user type in
LearningSpace are migrated as Students to the LMS;
when you migrate any courses that list that user as an
Instructor, the user is then implicitly added to the
Instructor role.
Users assigned the standard LearningSpace Author
and Administrator user types, as well as any custom
user types you may have created, will default to the
Student role in the LMS. You can manually assign
users to the Administrator role in the LMS after
migration is complete.
Please note that some specific conditions apply for courses that previously
migrated from Forum into LearningSpace 4 or 5. See the Migration Guide for
more details.
Chapter 9. Migration overview
151
9.5 Additional resources
For more details on how to perform the migration and to get the migration tools,
use the following IBM ftp site:
ftp://ftp.software.ibm.com/software/lotus/fixes/LearningSpace/LMS
On this FTP site, you will be able to find the following resources:
򐂰 Migration Guide from LearningSpace and Forum to LMS
򐂰 Latest migration utilities
򐂰 Migration Release Notes
152
IBM Lotus Learning Management System Handbook
10
Chapter 10.
Integration with other
systems
This chapter describes some options for connecting the LMS with other systems.
© Copyright IBM Corp. 2003. All rights reserved.
153
10.1 Options for system integration
Integrating LMS with other systems is usually done because of one of these
reasons:
򐂰 To extend LMS with functions from other systems
򐂰 To provide LMS functions to other systems
򐂰 To exchange LMS business data with HR/ERP systems
For these three requirements, you have the following options:
򐂰 Extending LMS using other system functions
– To provide discussion forums in courses, you can connect LMS to a
Domino Server that hosts discussion databases.
– To provide course chats, you can connect LMS to a Sametime Server.
– To provide live sessions as activities in blended courses, you can connect
to one or more LVC servers.
򐂰 Providing LMS functions to other systems
– LMS provides three ready-to-use portlets that can be used to enhance
your company’s intranet portal. Based on WebSphere Portal Server, these
portlets provide access to the course catalog, to “My Activities” and “My
Courses”.
– You can use the LMS API to perform LMS related tasks from within other
systems.
򐂰 Exchanging business data
You can use the LMS API to perform LMS-related tasks from within other
systems.
Figure 10-1 on page 155 gives you a graphical overview of these options for
integration. For the IBM products to connect to LMS, it is important that they use
the same LDAP server as LMS.
154
IBM Lotus Learning Management System Handbook
Domino
Sametime
LVC
(Discussions)
(Course Chat)
(Live Sessions)
Discovery
Server
LMS
WebSphere
Portal Server
(Portlets)
LDAP
(Knowledge Search)
LMS Web Services API
Other Systems
(e.g. ERP, HR)
Figure 10-1 Available options for system integration
Detailed information about how to connect to Domino, Sametime, Discovery
Server, and how to use the LMS portlets is described in detail in the LMS
Administration Guide. Regarding the connection with LVC, we recommend that
you perform the steps described in 10.2, “Connecting LMS with LVC” on
page 155, of this publication.
Domino discussion database
In addition to being able to specify an existing Discussion database by specifying
its URL, the LMS can be customized to allow for a different database template to
be used when discussions are created. Basically, the LMS defaults to using the
StdR5Disc (discsw5.ntf) template when creating a new discussion. There is a
way to specify a custom template by updating a properties file. It is part of the
LMSDiscussionServlet.jar.
10.2 Connecting LMS with LVC
If your company uses Lotus Virtual Classroom 1.1 (LVC) you can use its live
session facility from within LMS. This means that you can set up blended courses
that include live sessions (scheduled online classes) as course activities. Users
enrolled in a course that includes a live session can join the session by going to
their calendar, by launching the course, or by going to This Week’s Activities.
Chapter 10. Integration with other systems
155
10.2.1 Installing the LVC-LMS connector
To connect LMS with LVC, you need a software package called the LVC-LMS
Connector on the LVC Catalog server. This is a small Java Web application
server that provides the required Web services used by LMS to communicate
with LVC. Contact IBM to obtain a copy of the LVC-LMS connector.
To install the LVC-LMS connector, do the following:
1. On the LVC Catalog server, stop the Domino server by entering quit in the
Domino server console.
2. Start the LVC-LMS connector Installation program (setup.exe) from the CD.
3. Choose Setup Language, select a language for your site, and click OK.
4. At the Software License Agreement screen, review the license agreement
and click Accept.
5. At the Welcome screen, click Next.
6. At the Start-up Method screen, select the same mechanism for starting the
LVC-LMS connector as you use for starting Domino services, and click Next.
7. At this point, the installation program copies a series of files from CD to
server, displaying the Setup Complete screen when done.
At the Setup Complete screen, click Finish.
8. If you have not set up the connector as a Windows service, restart the server
machine now.
If you have set up the connector as a Windows service, it defaults to the
Manual setting (requiring you to start it manually). Change this setting to
Automatic with the following procedure:
a. Start the Services Manager.
Windows 2000: Start -> Programs -> Administrative Tools -> Services
b. Select IBM WebSphere Application Server V5 - LVC Connector by
double-clicking it.
c. Set the Startup Type to Automatic.
d. Click OK.
e. Close the Services window.
f. Restart the server machine.
156
IBM Lotus Learning Management System Handbook
10.2.2 Enabling an LVC server in LMS
For live session capability to be available from within LMS, you must give LMS
the information about each LVC server in your company that is providing the
service.
1. Log onto LMS with an administration user and click Settings.
2. Click Collaboration Servers, and then click the LVC tab.
3. Click Add.
4. Enter a name for the LVC server that can be used to identify the server when
the course offering is created. For example, enter LVC1.
5. Enter a description for the server.
6. Enter your LMS user name and password. This user name should have LMS
administration privileges.
7. Enter the URL for the server; for example,
http://myLVCserver.com:9650/LVC.
Note: The LVC characters must be entered using uppercase.
Port 9650 is a standard port of LVC that is used to connect LMS to LVC. You
have to put the port number as part of the URL.
To check if the port is accessible from LMS, you can use a telnet session
("telnet myLVCserver.com 9650") from the LMS Server machine. See “Ensure
that all LMS servers can access the LDAP directory” on page 47.
8. Click Save.
Note: You can update any of this information later on. Figure 10-2 on
page 158 shows an Update server screenshot taken on a different LMS
system.
Chapter 10. Integration with other systems
157
Figure 10-2 Update server screenshot
9. Repeat steps 3 to 8 for each LVC server.
10.Click Done.
158
IBM Lotus Learning Management System Handbook
10.2.3 Enabling SSO and importing the LTPA key on LVC servers
LMS and LVC both use Web single sign-on (SSO). To use the products together,
you must merge the SSO solutions together, using the credentials from LMS.
Prerequisites
The prerequisites are:
򐂰 You successfully installed LMS.
򐂰 You successfully installed LVC.
򐂰 All computers are in the same DNS domain.
򐂰 All computers use the same LDAP directory server.
򐂰 You exported the WebSphere Lightweight Third Party Authentication (LTPA)
key to a file.
򐂰 The LVC Catalog Server and LVC Session Server are running.
To merge single sign-on
In order to merge single sign-on:
1. Copy the WebSphere LTPA key to the LVC Catalog Server.
2. On the LVC Catalog Server, start Lotus Notes®.
3. Choose File -> Database -> Open.
4. In the Open Database dialog box, do the following:
a. In the Server field, open the drop-down list and select the hierarchical
name of the Catalog Server's Domino Server, for example,
catalog/CertifierName.
b. In the Database list, highlight the DomainName's Domino Directory
(address book). When you select the correct database, the Filename field
displays NAMES.NSF. Now click Open.
5. In the Domino Directory’s navigator, click Server to open the list of
subcategories.
6. Click Web Config (at the bottom) to open that view, and then double-click * All Servers -.
7. Double-click Web SSO Configuration for LtpaToken.
8. On the action bar, click Edit - Keys - Import WebSphere LTPA Keys.
9. When the pop-up message appears, “The Web SSO Configuration has
already been initialized. Creating new keys will overwrite existing
SSO keys. Continue?”, click OK.
10.Enter the full path name of the WebSphere LTPA key, and click OK.
Chapter 10. Integration with other systems
159
11.Enter the password for the WebSphere LTPA Import file, and click OK. Two
new fields will display on the Web SSO Configuration document.
12.In the LDAP Realm field, add a backslash (\) between the hostname and the
colon that precedes the LDAP port number. For example, change
"ldap.example.com:389" to "ldap.example.com\:389".
13.On the action bar, click Save and Close.
14.Exit Notes.
15.Open the LVC Catalog Server's Domino Server console window and type:
replicate session/certifiername names.nsf
restart server
16.Open the LVC Session Server's Domino Server console window and type:
restart server
If SSO is configured correctly, the following message appears on the Domino
server console:
HTTP: Successfully loaded Web SSO Configuration.
If a Domino server enabled for SSO cannot find a Web SSO Configuration
document or is not included in the Domino Server Names field and therefore
cannot decrypt the document, the following message appears on your
server's console:
HTTP: Error Loading Web SSO configuration. Reverting to single-server
session authentication.
10.2.4 About generated courses
Generated courses are courses that are created in a program other than LVC (for
example, the LMS), but are available in LVC. The content for generated
courses—the outline and associated course materials—can be developed using:
򐂰 LVC. In this case, you click Develop outline in the Course Builder page in the
Learning Home, just as you do to develop LVC course outlines and materials.
򐂰 If you are using the LMS, you access the Course Builder page from a link
within that product.
򐂰 If you are using LVC with LMS, you can create the course outline and
materials using the Authoring Tool in LMS.
Courses whose content is developed outside LVC do not appear in the LVC
Learning Home.
The sessions for generated courses take place in LVC, regardless of where the
course content is developed. However, with generated courses, most tasks are
160
IBM Lotus Learning Management System Handbook
carried out outside of LVC (for example, in LMS), including creating courses,
scheduling sessions, and enrolling users.
How generated courses appear in LVC
Only LVC instructors and administrators can see generated courses. They never
appear in the course catalog and thus students never see them.
In LVC, instructors see generated courses listed under the category Generated
course on the Course Builder tab. Their status is always Generated.
How generated courses differ from LVC courses
Generated courses have some differences from courses created in the LVC.
Specifically, you cannot do the following with generated courses:
򐂰 Include assessments with them.
򐂰 Publish them to the course catalog.
򐂰 View them in the My Sessions list (either as an instructor or a student).
The following tasks are performed outside LVC (for example, in LMS), rather than
in the LVC Learning Home:
򐂰 Scheduling sessions (even though the schedule of sessions appears in the
Learning Home)
򐂰 Enrolling students (for administrators)
򐂰 Starting sessions
򐂰 Changing catalog information, such as the course description or list of
instructors
In addition, the LVC interface differs between generated courses and courses
created in LVC. For example, when editing a generated course:
򐂰 The Edit catalog information and Schedule sessions buttons do not appear in
the Course details page.
򐂰 The New Assessment button does not appear for the course on the
Assessments and Questions page (since generated courses do not support
assessments).
Any pre-session requirements must be set outside LVC, for example, in the LMS
environment or other e-Learning product.
10.2.5 Creating and editing courses that include a live session
When course developers create course content in the LMS Authoring Tool, they
can add materials for a live session as one of the activities that makes up the
Chapter 10. Integration with other systems
161
course. This live session activity then becomes part of the course master. When
you create a course offering from the master, LMS passes the materials to LVC
so that it can deliver the live session. Returning to the Authoring Tool is the only
means of editing these materials—an existing offering is updated only when the
course is republished to LMS.
If the course developer prefers to store live session materials for a course in LVC,
you can use the LMS master and offering creation process to create a new
course in LVC. The resulting LVC course includes a Quickplace to store the
course contents and profiles of instructors so that they can access the course
materials from LVC. LMS instructors can also edit the Quickplace course
materials directly from “Courses I’m Teaching” in LMS Home, provided they do so
more than one hour before the session is scheduled to begin.
10.2.6 Managing courses that include a live session
After you specify a LVC server in LMS Settings, you can schedule the live
session at the same time that you create the course offering. For information on
creating and scheduling course offerings, see “Add course offerings” on
page 428.
You can schedule a new live session up to one hour before you want the session
to begin. Since you can also only enroll students up to one hour before the
session begins, allow yourself or the students enough time to enroll.
The instructor for a live session can change the session’s schedule (up to one
hour before the session begins) in the “Courses I’m Teaching” section of LMS
Home.
You cancel or delete a live session by editing the LMS course offering or master.
Adding live session instructors
When you add a user as a course instructor in LMS for a course that includes a
live session, LMS automatically adds the instructor as a full instructor in LVC.
The instructor can then both use LMS to modify LVC course materials for live
sessions originating in LMS, and use LVC to create LVC-only courses and
sessions.
Note: Removing a user from the LMS list of instructors removes only the
ability for that user to edit the LVC course materials from LMS. All LVC
instructor privileges remain unless an administrator removes them using LVC
administrative tools.
162
IBM Lotus Learning Management System Handbook
10.2.7 Tips for working with live sessions
Working with live sessions can be tricky; use the following suggestions to avoid
problems:
򐂰 Create your live session offering at least two hours before you actually want to
start the session.
This allows time for information about the session to be communicated
between LVC and LMS. Attempting to start the session sooner may result in
errors.
򐂰 After creating the live session offering, do not touch the keyboard for a couple
of minutes.
򐂰 Immediately after session creation, information from the keyboard may still
affect your session definition and cause errors. Wait a couple of minutes
before proceeding to your next task.
򐂰 Make sure all dates for a live session are correct and in sync.
For a live session created in the Authoring Tool, the LMS may display different
start dates in the Virtual Classroom Details page and the Scheduled Offering
page. The date on the Scheduled Offering page is the correct date; edit the
date on the Virtual Classroom Details page to match it. If you do not, the
session may fail.
򐂰 If a live session fails (for example, because you scheduled it to start too early),
delete the session and create a new one.
Attempting to correct the failed session may cause errors; you should just
delete it and start again.
򐂰 If you import a live session definition from the LMS Authoring Tool, do not try
to modify the materials within the LMS.
Attempting to modify the materials from within the LMS will cause errors. If
you need to modify the materials, you should delete the session, edit it from
within the LMS Authoring Tool, and re-import it.
Note: The button that appears within the LMS is intended only for use with
sessions that you actually create within the LMS.
When uninstalling LVC-LMS connector
The following files are inadvertently removed if you uninstall the LVC-LMS
connector tool:
򐂰 LVC.JAR
򐂰 LVCStart.BAT
򐂰 LVCTerm.BAT
Chapter 10. Integration with other systems
163
You can recover them by performing the following steps:
1. Download the Replace.zip located at:
ftp://ftp.software.ibm.com/software/lotus/fixes/LearningSpace/Virtual_Class
room/Replace.zip
Important: By downloading and using this code, you agree to these terms
and conditions: The software samples, updates, and fixes (code) available
in this archive or on this Web site for this program are copyrighted
materials. By clicking the download link below, you agree that the code is
provided under, and is subject to, the terms and conditions of the license
agreement(s) that accompanied or were contained in the copy or copies of
the program for which you are obtaining the code. You are not authorized
to install or use the code except as part of a program for which you have a
valid Proof of Entitlement or other authorization as specified in such
license agreement(s). You further agree that you will comply with all
applicable laws and export regulations.
2. Unzip the file.
3. Copy the file, LVC.JAR, into the \Lotus\lvc\lib directory (on the drive where
LVC was installed).
4. Copy the two .BAT files into the \Lotus\lvc\bin directory (on the drive where
LVC was installed).
Note: Here is additional information:
򐂰 If LVC was installed on any drive other than the C: drive, then the .BAT files
must be edited using a text editor, such as Notepad, to enter the correct
drive. The .BAT files contain the following two lines:
C:
cd "C:\Lotus\lvc\bin"
Change the disk designation (C:) on both lines to reflect the location of the
lvc\bin directory of your installation.
򐂰 If you tried to start LVC after uninstalling the LVC - LMS Connector tool, the
Start menu shortcut may now point to a file other than the LVCStart.BAT.
To check what file the shortcut is pointing to, do one the following: In
Windows 2000, right-click the Start Lotus Virtual Classroom menu item
and choose Properties.
Edit the shortcut target to point to \Lotus\lvc\bin\LVCStart.BAT, if necessary.
164
IBM Lotus Learning Management System Handbook
10.3 Using the LMS API
The LMS API is a Web Services API. This means that it uses the Simple Object
Access Protocol (SOAP) to allow you to call the API from any system that
supports HTTP, as well as from many different programming languages.
SOAP (http://www.w3.org/TR/SOAP/) is an XML-based communication protocol
and encoding format for inter-application communication. It leverages HTTP or
SMTP as its transport layer and XML as its data layer, to execute remote
methods known as SOAP services. SOAP provides the foundation for a host of
cross-platform cross-language distributed computing applications, termed Web
Services.
A variety of Web Services client libraries are available, including Apache SOAP,
Apache AXIS, IBM WebSphere Web Services, Microsoft .NET, and others. See
the following links for more information about Web Services:
򐂰 Apache SOAP
http://ws.apache.org/soap/
򐂰 Apache AXIS (Apache SOAP follow-on project)
http://ws.apache.org/axis/
򐂰 Apache Web Services Invocation Framework
http://ws.apache.org/wsif/
򐂰 IBM WebSphere Web Services
http://www7b.software.ibm.com/wsdd/zones/webservices/
򐂰 Microsoft .NET Web Services
http://msdn.microsoft.com/webservices
The functions provided by the LMS API are defined using the Web Services
Description Language (WSDL), an XML format used for describing Web
Services. The WSDL definition files are provided with your LMS server in the /api
resource and can be used with the Web Services client libraries mentioned
above. The WSDL for the LMSVersionAPI, for example, is accessible from:
http://<lms_server_name>/lms-lmm/api/LMSVersionAPI.wsdl
Web Services clients can use anonymous or basic authentication to access the
different services from:
http://<lms_server_name>/lms-lmm/anon-api/<service_name>
Or, clients can use single-sign-on (SSO) to access the different services from:
http://<lms_server_name>/lms-lmm/auth-api/<service_name>
Chapter 10. Integration with other systems
165
See the LMS API documentation for details on using either of the above access
methods. You can download the official LMS API documentation from here:
http://www-1.ibm.com/support/docview.wss?uid=swg21104843
10.3.1 Features
The LMS API gives you programmatic access to many of the LMS features. For
example, your program can do any of the following:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Register users in the Learning System roster.
Enroll users in courses and determine course rosters.
Access the systems announcements.
Find user and course calendars.
Obtain course results.
Search the course catalog.
Find user preferences and settings.
You can use the LMS API to create a variety of applications, including the
following:
򐂰 Applications that transfer information between other applications and LMS
򐂰 Applications that create alternate interfaces, such as portals, to the Learning
Management System
򐂰 Programs that integrate LMS with other applications
10.3.2 A Java-based example
In this section we describe how to create a simple Web Services client to query
the version of LMS using the LMS API.
Step 1: Prerequisites
Step 1 is getting all of the prerequisites.
1. Download the required software.
For this example, you need the following software:
– The freely available Java IDE Eclipse
http://www.eclipse.org/
– The WSDL2Java Eclipse plug-in
http://www.myspotter.com/wsdl2java.shtml
– The Apache Axis Web Services library
http://ws.apache.org/axis/
166
IBM Lotus Learning Management System Handbook
– The LMSVersionAPI.wsdl file
http://<lms_server_name>/lms-lmm/api/LMSVersionAPI.wsdl
2. Install Eclipse.
3. Install the WSDL2Java Eclipse plug-in.
Step 2: Set up a new Java project
To set up a new Java project:
1. Launch Eclipse.
2. Create a new Java Project by clicking File -> New -> Project.
3. Open Windows Explorer and go to the new project’s folder in the Eclipse
workspace directory (usually c:\Program
Files\Eclipse\workspace\<project_name>).
4. Create a folder called lib and extract the .JAR files provided with the Apache
Axis binary distribution to this directory (axis-ant.jar, axis.jar,
commons-discovery.jar, commons-logging.jar, jaxrpc.jar, log4j-1.2.8.jar,
saaj.jar, and wsdl4j.jar).
5. In the project folder, create a second folder called WSDLs, and move the file
LMSVersionAPI.wsdl to this folder.
6. Go back to Eclipse and switch to the Java Perspective.
7. In the Package Explorer, right-click the new project and select Refresh from
the pop-up menu. The lib directory, including the Axis .JAR files and the
WSDLs directory, should now appear. See Figure 10-3 on page 168.
Chapter 10. Integration with other systems
167
Figure 10-3 New LMS API example project in Eclipse
8. In the Package Explorer, right-click the project again and select Properties.
9. In the Properties window, select Java Build Path and open the Libraries tab.
10.Use the Add JARs button to add all Axis .LIB files to the project’s build path.
11.After you added the .LIB files, click OK to close the Properties window.
See Figure 10-4 on page 169.
168
IBM Lotus Learning Management System Handbook
Figure 10-4 LMS API example project - Build path set up
Create stub classes
To access the properties of a Web Service you need to create so-called stub
classes (a Java interface), which define the methods and properties of a Web
service. The required stub classes can be created using the WSDL2Java Eclipse
plug-in, which is a graphical front-end to the WSDL2Java.class provided within
the Axis package.
To create the stub classes, right-click the LMSVersionAPI.wsdl file in the
Package Explorer and select WSDL2JAVA -> Generate, as shown in
Figure 10-5 on page 170.
Chapter 10. Integration with other systems
169
Figure 10-5 Generating the stub classes
Creating the example class
Now that the required libraries are added to the project and the needed stub
classes are generated, we can create the class that actually acts as the Web
Services client.
1. Right click the project in the Package Explorer and select New -> Class.
2. In the New Java Class dialog enter a class name, for example, Add, and click
Finish.
3. Add the following method to the class:
public static void main(String[] args) throws Exception {
try {
String service = "http://<myserver>/lms-lmm/anon-api/LMSVersionAPI";
170
IBM Lotus Learning Management System Handbook
LMSVersionAPI_ServiceLocator sl = new LMSVersionAPI_ServiceLocator();
LMSVersionAPI_Port lmsVersionAPI =
sl.getLMSVersionAPI(new java.net.URL(service));
System.out.println("LMS Build Date: " + lmsVersionAPI.getBuild());
System.out.println("LMS Version: " + lmsVersionAPI.getVersion());
} catch (Exception e) {
System.err.println(e.toString());
}
}
4. Replace <myserver> with the fully qualified hostname of the machine running
the Web server that serves access to LMS.
5. Still in the class editor, press Ctrl + O to create the required import
statements.
6. Press Ctrl + S to save the changes.
Launching the example class
To launch the example class:
1. From the menu select Run -> Run ....
2. In the Run dialog, select Java Application and click New.
3. Change the Name to LMS API Example.
4. Click the Browse button to the right of the Project field and select the LMS
API Example project.
5. For Main class, enter the name of the class you just created, for example,
LmsApiExample.
6. Click Apply to save the changes.
See Figure 10-6 on page 172.
Chapter 10. Integration with other systems
171
Figure 10-6 Eclipse run dialog
7. Click the Run button to launch the example. The console window should now
show the build date and the version number of your LMS installation, as
shown in Figure 10-7.
Figure 10-7 The LMS API example’s console output
172
IBM Lotus Learning Management System Handbook
8. You can rerun the example by using the Run button menu in the Eclipse
toolbar. See Figure 10-8.
Figure 10-8 Run button menu
Chapter 10. Integration with other systems
173
174
IBM Lotus Learning Management System Handbook
Part 3
Part
3
Configuration,
customization,
and reports
ports
In this part we provide guidance and techniques to those who work with and
support the LMS.
© Copyright IBM Corp. 2003. All rights reserved.
175
176
IBM Lotus Learning Management System Handbook
11
Chapter 11.
Configuring LMS
This chapter describes the steps to configure the LMS after it has been installed.
The previous chapters have covered what needs to be planned in advance. Now
we put it into practice.
For a detailed step-by-step scenario on how a company might configure LMS for
its educational offerings, see Appendix G, “Configuring LMS for the MAGIC
company” on page 397. That appendix takes the situation of the fictional MAGIC
company described in Chapter 16, “Corporate scenario” on page 327, and steps
you through the configuration setup for that company.
Another appendix with additional configuration information is Appendix H,
“Default LMS user roles” on page 433.
© Copyright IBM Corp. 2003. All rights reserved.
177
11.1 Getting started
The key to a successful configuration of the LMS is the planning you have done
ahead of time. The LMS has a lot of capabilities for adapting to the users. Once
the thought process has been completed and appropriate documentation has
been collected and reviewed, the configuration process can begin. Areas that
need to be covered are listed in Table 11-1.
Table 11-1 Areas to configure
Area
Action
Users
򐂰
򐂰
򐂰
򐂰
򐂰
Roster users.
Map automatic role assignments.
Configure roles.
Configure profiles.
Assign roles.
Course Catalog
򐂰
򐂰
򐂰
򐂰
Configure course master folders.
Configure course offerings folders.
Add course masters.
Add course offerings.
Enrollment
򐂰
򐂰
Enroll students.
Auto enrollment.
Resources
򐂰
򐂰
򐂰
򐂰
Configure locations.
Configure rooms.
Configure skills.
Configure zones.
Customization
򐂰
򐂰
Configure customization sets.
Assign customization sets.
LDAP
򐂰
What fields will be required in LMS.
Access Control Lists
򐂰
򐂰
򐂰
򐂰
Who will administer.
Who will manage users.
Will self-enrollment be allowed.
Security as it effects courses.
Reports
178
IBM Lotus Learning Management System Handbook
11.2 LDAP, the key to the LMS
The LDAP directory plays a role in a number of LMS activities. It is used for user
authentication and retrieving of user details. Besides this, user and group
attributes stored in the LDAP directory are also used by administrators to create
rules that:
򐂰
򐂰
򐂰
򐂰
򐂰
Control access to course catalog folders.
Automatically assign roles to users.
Authorize users or groups to administer resources.
Display announcements to certain users and groups.
Apply customization sets to users.
Figure 11-1 illustrates the different areas that depend on information from the
LDAP directory.
Figure 11-1 LDAP dependencies in LMS
11.2.1 Matching strings
As described above, at several places rules have to be created to control LMS.
These rules are applied to users that are selected in the LDAP directory based
on matching strings (patterns).
Chapter 11. Configuring LMS
179
Using matching strings, users are identified in several ways:
򐂰 By Attribute: Can be any attribute name (for example, departmentNumber) or
an attribute name and its value (for example, departmentNumber=123).
򐂰 By Group: The name of a group defined in the LDAP directory.
򐂰 By User: The user's hierarchical name (for example, John
Doe/Springfield/Acme) or distinguished name (for example, cn=John
Doe,ou=Springfield,o=Acme).
Note: In the Announcement settings, the screen By User is called By
Name.
When you match by attribute, you can specify either an LMS attribute name
(such as FirstName) or an LDAP attribute (such as givenName). LMS attribute
names are mapped to LDAP attribute names as defined in the LMM’s
settings.xml file.
When LMS evaluates a By Attribute match, it first looks for the attribute in the
mapping table in settings.xml. If there is an entry in the mapping table, LMS uses
the mapped LDAP name to search the LDAP directory for the match. If there is
no entry, LMS assumes that the attribute name is an LDAP attribute name and
uses it directly to search the directory for a match.
Tip: See Appendix F, “Default LDAP attribute mappings” on page 393, for a list
of the LDAP attribute mappings that are defined by default and a description
on how you can determine the effective mapping in your LMS.
You can test attribute values for equality (=) or inequality (!=). You can also use
one or more wild cards to do pattern matching on a set of attribute values.
By Group and By User matching strings can be specified in either of two forms:
򐂰 As a qualified LDAP distinguished name, such as cn=John
Doe,ou=Springfield,o=Acme
򐂰 As a hierarchical form, such as John Doe/Springfield/Acme, which the LMS
converts internally to an LDAP distinguished name
By default, LMS converts the hierarchical form by adding a “cn=” qualifier to
the first part of the name, an "ou=" qualifier to all other parts of the name
except the last, and an "o=" qualifier to the last part, removing the slashes
("/"). You can specify different qualifiers to be used for this conversion by
changing the dnQualifiers statement in the LDAP section of the settings.xml
file (<dnQualifiers first="cn" middle="ou" last="o" />), where the value for first
180
IBM Lotus Learning Management System Handbook
is applied to the leftmost section of the name, the value for last is applied to
the rightmost section of the name, and middle applies to everything in
between.
Note: The asterisk wildcard (*) can be used at the beginning of a By User
matching string instead of the common name to match all users in a
portion of the directory. You cannot use a wildcard together with portions of
a common name. For example, the following matching strings would not
work:
򐂰 *Doe/Cambridge/IBM
򐂰 John*/Cambridge/IBM
򐂰 Jo*Doe/Cambridge/IBM
You also CANNOT use it for a By Group match.
In Figure 11-2 on page 182, the examples of matching strings assume the
default mappings in settings.xml (for example, the LMS attribute LastName maps
to the LDAP attribute sn).
Chapter 11. Configuring LMS
181
Figure 11-2 Example of valid matching strings
11.2.2 Controlling access
In LMS, permissions can be granted to users by assigning them roles or by
adding them to access control lists (ACLs) for specific objects (for example, to a
Master Catalog folder, a location, or a room).
182
IBM Lotus Learning Management System Handbook
Tip: You can find detailed information about role assignment, permission
granting, and managing access control in Chapter 5, “Managing Users” in the
LMS Administration Guide.
LMS uses configurable roles to control which functions are available to users in
the user interface. A user may have more than one role, and roles may be
assigned either automatically by using matching strings, or assigned manually
through the LMS administration interface. Newly rostered users by default get the
Student role. See Appendix H, “Default LMS user roles” on page 433, for a list of
the default permissions for the different standard roles.
When setting up ACLs, keep the following in mind:
򐂰 Users who do not have a role granting the permission to see the Masters
Catalog cannot see any course masters, even if they have been granted
access to one of the Master Catalog’s folders in ACL settings.
򐂰 Applying the Administrator role to users does not imply the permission to
create new locations. This right has to be granted separately via the ACL in
the LMM General Settings/Location Access Control tab, as shown in
Figure 11-3.
Figure 11-3 Settings Location Access Control in LMM
Chapter 11. Configuring LMS
183
11.3 Scaling down the LMS
Even though the LMS is an enterprise product, there are plenty of opportunities
to scale it down. In fact, one of the first things you should consider when starting
to use the LMS is turning off the functions that are not needed.
Out of the box, the LMS has a default set of features. Switching off unwanted
features is easy. Should the need for these features come at a later point, you
can always turn them back on. An advantage of this is that it gives you the
opportunity to set up interfaces with different complexity for different groups of
users.
Figure 11-4 shows the default LMS home page for a student.
Figure 11-4 Default student home page
By editing the details of a certain role and turning off some of the features
available, you can simplify what the user sees. In Figure 11-4, we turned off the
display of most of the line items in the left-hand (navigator) column. Thus we
easily made a very uncomplex interface for a student, as shown in Figure 11-5 on
page 185.
184
IBM Lotus Learning Management System Handbook
Figure 11-5 A basic home page
11.4 Managing users in LMS
Before rostering users for the LMS, you should have created roles and profiles in
the system. This section will describe where to start to configure the system and
what to consider. It is important to understand how the different components are
connected to each other and which components affect others.
Chapter 11. Configuring LMS
185
Figure 11-6 User management
11.4.1 Creating roles
Before you add users to the system, you will want to plan and create the roles
your organization needs. LMS comes with five default roles that correspond to
the types of users who work in the system: Administrator, Manager, Instructor,
Student, and Anonymous. If these roles work for your organization, you can keep
them and either leave the permissions intact or edit them. If these roles do not fit
in your company, you can create new ones with all permissions you need in the
roles.
When you add users to the system, you match them to a role that represents the
tasks and functions they can perform in the system. Users with multiple roles
receive the total of all permissions allowed by those roles.
186
IBM Lotus Learning Management System Handbook
Figure 11-7 Roles
Each role is defined by a set of permissions in the LMS and its different tabs.
Permissions determine which parts of the user interface a user can see. You can
also add as many additional roles that make sense for your organization.
To review or add to the list of roles, open the Manage Roles section of the Users
module. From here, you can either add a role to the list or click a role name to
view or set its permissions.
You can assign multiple roles to a user. The user will have all permissions you
have defined in those different roles before. When the user logs into the system,
the LMS performs the assignment of those permissions to that user.
11.4.2 Explicit and automatic roles
You have to distinguish between explicit and automatic roles in the system. The
difference between explicit and automatic roles is simply the way in which a role
is assigned to a user.
򐂰 Explicit role: An explicit role is defined by a set of permissions that you
associate with one or more users whom you select by searching in the LMS.
Chapter 11. Configuring LMS
187
򐂰 Automatic role: An automatic role is defined by a set of permissions that you
associate with a set of users who are identified in the LDAP directory by
matching strings.
Every role assignment has its advantages.
Figure 11-8 The flow in explicit and automatic roles
Assigning explicit roles
The advantage of assigning explicit roles is that you can assign multiple roles to
a user in one step. Only users that have been assigned explicit roles show up in
the user searches performed by Role. See Figure 11-9 on page 189.
188
IBM Lotus Learning Management System Handbook
Figure 11-9 Role assignment
Note: How to apply roles to users manually is explained in the LMS
Administration Guide.
Assigning automatic roles
Automatic role assignments are assigned by matching strings. Users who are
identified in the LDAP directory can be assigned to specific roles you have
specified with matching strings. See Figure 11-10 on page 190.
The advantage of automatic role assignment is that you can assign a role to
multiple users in an LDAP directory.
Chapter 11. Configuring LMS
189
Automatic assignments apply to users (present and future) identified by the
matching string. Thus a future user identified by matching string specified for an
automatically assigned role gets that role by default.
Figure 11-10 Automatic assignment
For automatic role assignments, the following types are used:
򐂰 Attribute: Can be DepartmentNumber. The matching string can be defined as
DepartmentNumber=333. That would mean that any rostered user in this
department is automatically assigned this role.
򐂰 Group: If you define a group as matching string, everyone from this group in
the LDAP directory is assigned a specific role.
򐂰 Name: If you use names as the matching strings, all rostered users in this part
of the LDAP directory tree are assigned the role.
See Figure 11-11 on page 191.
190
IBM Lotus Learning Management System Handbook
Figure 11-11 Adding automatic assignments
11.4.3 Permissions
Permissions are not assigned to individuals, but to the roles you have created
before. You need to set permissions to allow users to view the Learning
Management Module (LMM) user interface screens and to perform tasks.
Note: Roles and permissions work in conjunction with the access control lists
(ACLs) to allow users access to course masters, course offerings, and
locations.
The LMS provides default settings for all permissions for the five default roles that
come with the system (Administrator, Instructor, Manager, Student, and
Anonymous). You can leave the default settings or change them, or you can
create new roles with a set of permissions you have defined.
Chapter 11. Configuring LMS
191
For every tab in the system, there is a set of permissions you can specify.
򐂰 The Home permissions control the management and use of the features
under the Home tab. See Figure 11-12 on page 193.
򐂰 The Student Catalog permissions control the use of the features under the
Student Catalog.
򐂰 The Course Catalog permissions control the management and use of the
features under the Course Catalog.
򐂰 The User Management permissions control the management and use of the
features under the Users tab.
򐂰 The Course Management permissions control the management and use of
the features under the Course Management tab.
򐂰 The Resource Management permissions control the management and the
use of the features under the Resources tab.
򐂰 The Reports permissions control the management and use of the features
under the Reports tab in the Administrator user interface.
򐂰 The Settings permissions control the management and use of the features
under the Settings.
Note: More information on permissions can be found in the LMS
Administration Guide.
192
IBM Lotus Learning Management System Handbook
Figure 11-12 Permissions
You can assign a user to more than one role, even roles with very different
permissions. Selecting a permission for one role overrides an unselected setting
for that permission in another role.
Note: Newly rostered users cannot actually log in until assigned, at a
minimum, permission to access the Home module.
11.5 Create profiles
The LMS does not come with default profiles, but it is a good idea to plan and set
up profiles before you add users and courses to the system. Start by planning
which types of profiles you need and then decide how to group them by category.
We recommend that you start with the section of profiles.
Profiles are a descriptive label that can be used in various administrative
functions. Profiles are needed for quick enrollment or are used from the
Chapter 11. Configuring LMS
193
administrative point of view to perform tasks on a group of users rather than one
user a time.
We differentiate between two kinds of profiles:
򐂰 Auto-enrollment profile: The administrator creates and assigns profiles to the
users or groups. It is used to automatically enroll users in courses.
򐂰 User Profiles: Profiles created by the administrator. This profile can be used
and selected by each user in the section My Profiles.
The procedure for setting up each one is outlined in Figure 11-13.
Figure 11-13 Workflow for setting up profiles
Create auto-enrollment profiles
Each profile, either auto-enrollment or user, is part of a category, so create
categories before you create the profiles. In the User tab in the section Profiles,
click Auto-enrollment Profiles. See Figure 11-14 on page 195.
194
IBM Lotus Learning Management System Handbook
Figure 11-14 Auto-enrollment
When you start rostering and managing users, you can assign them
auto-enrollment profiles. This will affect the course enrollment process in your
system. Users who are assigned to different kinds of auto-enrollment profiles are
automatically enrolled in courses that belong to their profiles. See Figure 11-15
on page 196.
Chapter 11. Configuring LMS
195
Figure 11-15 Assigning auto-enrollment profiles to users
Note: The LMS Administration Guide describes how to create profiles.
Figure 11-16 on page 197 shows how you can add, view, and modify user
profiles.
196
IBM Lotus Learning Management System Handbook
Figure 11-16 User profiles
11.5.1 Rostering users
Adding users to the LMS is called rostering. You can roster and de-roster users in
the Users module. See Figure 11-17.
Figure 11-17 Rostering users
Chapter 11. Configuring LMS
197
The LMS requires a functional LDAP directory. Any user who wants to use the
LMS has to be defined in the LDAP directory of its company. The process of
adding users to the LMS is called rostering. Rostered users can then log into the
LMS and perform whatever tasks you give them permission to.
The LMS assumes that the installed LDAP directory of your company contains all
information that describes the users of the system. The LDAP contains an entry
for each user that describes the attributes of that user or the group the user
belongs to.
The one exception is the anonymous user access. Any user that launches the
LMS can access it as an anonymous user as well as users that log in but are not
rostered.
You can roster users manually in one of the following ways:
򐂰 By selecting individual users from the LDAP directory
򐂰 By selecting groups of users from the LDAP directory
򐂰 By importing a file that contains a list of users
The first time a user tries to log in, the LMS checks if that user has an entry in the
LDAP directory. If the user was previously rostered, his status can be inactive or
active.
If the status for a previously rostered user is active, he can continue working in
the LMS with all permissions and privileges of the assigned roles he has.
If the status is inactive, the user receives an error message and remains
anonymous. That is, the user retains the limited access granted to anonymous
users.
If a user has not been previously rostered, the LMS attempts to do so at this time.
An administrator can subsequently modify the user´s attributes in the database.
Note: For more information on this topic, see the LMS Administration Guide.
11.6 Course catalog
The LMS is very flexible when it comes to setting up the structure of course
masters and course offerings folders. In this section, we will look at some of the
key features.
198
IBM Lotus Learning Management System Handbook
11.6.1 Master and course offering folders
There is no limit to the number of levels you can make on a folder tree. On the
other hand, a clean, easy-to-understand structure will always pay off. This
applies to both the master and course offering folders. You create the folders in
the following ways.
Creating a masters catalog
To create a masters catalog:
1. Select the Course Catalog tab.
2. Click Manage Masters Catalog.
3. If no folders have been added previously, select Masters Catalog.
4. If a folder structure is already in place, drill down to the folder where you want
to add content.
5. Click Create Folder.
6. Add a name and description, then click Create.
Creating a course offering catalog
To create a course offering catalog:
1. Select the Course Catalog tab.
2. Click Manage Offerings Catalog.
3. If no folders have been added previously. select Offerings Catalog.
4. If a folder structure is already in place, drill down to the folder where you want
to add content.
5. Click Create Folder.
6. Add a name and description, then click Create.
Figure 11-18 on page 200 shows what it looks like when you roll down from level
to level in a catalog.
Chapter 11. Configuring LMS
199
Figure 11-18 Access to all folders
Note: The text string between the search function and the course description
will show you exactly where you are in the catalog tree.
Catalog -> Offerings Catalog -> General IT -> IBM Products -> Software ->
Lotus -> IBM Lotus LMS
Access control to folders
You must set up access control lists (ACLs) for course folders to allow specified
users to read, edit, and manage them and the masters they contain. First define
the ACL for the catalog folder, which is the root folder, and then define ACLs for
its child folders, all of which inherit its ACL. For example, you may allow all
administrators to manage the catalog folder and then specify different access
levels for other groups of users on a folder-by-folder basis.
You can find more information on ACLs for the catalogs in the Learning
Management System Administrator's Guide, Chapter 5, “Assigning access
control course offerings folders.”
Having set up the ACLs, the catalog view will vary from user to user. In
Figure 11-18 you could see the course catalog with access to all folders. In
Figure 11-19 on page 201 you can see the same course, but the user only has
access to the Lotus folder.
200
IBM Lotus Learning Management System Handbook
Figure 11-19 Access to limited folders
11.6.2 Creating course entries
There are two main steps to create a course entry. Number one is the master
entry and the second is the course entry itself. One course master can be
distributed to several course entries. This allows you to set the LMS up so that
offerings can be delivered with different properties, such as:
򐂰
򐂰
򐂰
򐂰
Different delivery servers
Different dates
Different audiences
Different added tools, like mail, chat, etc.
Add course masters
A course offering must be based on a master, so at least one master must exist
in the Masters Catalog before you can create an offering in the Offerings Catalog.
To register or create a master, you must be assigned a role with the Manage
Masters Catalog permission. Details for setting this up can be found in the
Learning Management System Administrator's Guide, Chapter 5, “Managing
Courses.”
The workflow in Figure 11-20 on page 202 illustrates the process of registering a
new course master from an unregistered master. The unregistered master has
been uploaded to the LMS either from the Authoring Tool or through CLIMP.
Chapter 11. Configuring LMS
201
Figure 11-20 Registering a unregistered course master
The process for creating a new master from scratch is very similar. New masters
are typically used for setting up physical activities, like training in classrooms or
labs. As you see in Figure 11-21 on page 203, the main difference between the
two processes is the capability to add booking requirements.
202
IBM Lotus Learning Management System Handbook
Figure 11-21 Creating a new course master
Registering course offering
The next step is to make the course entries. The process is very similar to
creating masters. A course offering is a specific instance of a course created
from a master. Course offerings are available to students through the Student
Catalog.
When looking at Figure 11-22 on page 204, the workflow to the left illustrates the
course offering being set up. If it is a physical course being set up you will then
move on to the scheduling of the course. This is illustrated at the right of the
figure.
Important: If you delete an active course offering, all students enrolled in the
offerings are automatically unenrolled.
Chapter 11. Configuring LMS
203
Figure 11-22 Register course offering with scheduling
Scheduled offerings
When scheduling a course you add information to the physical aspects of the
offering. A room is a classroom, a conference room, an auditorium, a lab, or other
room where instruction will occur. Equipment associated with a room is
considered an attribute of the room and can include computer workstations,
monitors, overhead projectors, VCRs, and other teaching aids.
Vendors provide instructors and rooms. A vendor may be a department within
your company or another company, such as an educational agency.
Instructors are also considered resources. The Learning Management System
has the capability to add and manage information concerning instructors,
including name and location, skills, schedules, vendor information, instructor
group information, and zone information.
204
IBM Lotus Learning Management System Handbook
Figure 11-23 Scheduled offering
11.6.3 Curriculums and certificates
Curricula and certificates offer two different ways to group related course
offerings for more convenient enrollment and management:
򐂰 A curriculum contains courses that are related by subject area or course of
learning.
򐂰 A certificates contains courses that, when completed successfully, deem a
student certified in an area of expertise.
Certificates also carry optional expiration dates to force students to repeat the
requisite courses after a certain amount of time. You build curricula and
certificates by creating curriculum or certificate masters in the Course Catalog
with the "Register a Master" command. Then use the "Register Course Entry"
command to add prerequisites and course offerings that are to be included. The
Curriculum or Certificate course entry becomes part of the Offerings Catalog and
appears in the Student Catalog. When students enroll in a curriculum or
certificate, they enroll in all its associated course offerings.
Notice that the only difference between the curricula in Figure 11-24 on page 206
and the certifications in Figure 11-25 on page 207 is the capability to add dates
to the process.
Chapter 11. Configuring LMS
205
Figure 11-24 Registering a curriculum master
206
IBM Lotus Learning Management System Handbook
Figure 11-25 Registering a certificate master
Chapter 11. Configuring LMS
207
208
IBM Lotus Learning Management System Handbook
12
Chapter 12.
Customization
This chapter provides examples of customization possibilities within your LMS.
The information supplements the LMS Customization Guide that comes with
LMS.
© Copyright IBM Corp. 2003. All rights reserved.
209
12.1 Introduction
The main source of information regarding customization of LMS is the LMS
Customization Guide that is delivered with the product. Check for the latest
version of this guide on the following Web site (under Documentation Library):
http://www.lotus.com/ldd/
This guide requires a basic knowledge of Cascading Style Sheets, Java Server
Pages, and HTML.
This chapter describes some additional examples of customizations. An example
of a customization set is also provided on the ITSO Web site, as additional
material to this publication on the following Web site (as additional material):
http://www.ibm.com/redbooks/abstracts/sg247028.html
In this chapter, we explain how to set up this customization set. Regarding
additional customizations, the following topics are covered:
򐂰 How to change LMS logo text
򐂰 How to add a user count functionality to the LMS welcome page
򐂰 How to add a payment option during course enrollment
12.2 Introduction to customization sets
You can create alternate versions of the application and send selected users to
one of these rather than to the default interface when they log in. To do this:
1. Copy the directories containing the files you want to change (or replace) into a
directory structure that mimics your original.
2. Make your changes.
3. In the Administrator interface, specify the location of the customized files and
the users to whom the interface that they define is applicable.
These alternate sets of files, along with the information concerning their location
and use, are called customization sets.
The advantage of customization sets is that you can tailor the application’s look,
feel, and functionality for different sets of users rather than having to make global
changes that affect all users. For example, you might want to create
customization sets for different users based on their membership in one or the
other of two different LDAP groups, providing one user interface and feature set
for, say, users belonging to the Sales group and another for users in the
Development group.
210
IBM Lotus Learning Management System Handbook
Further information regarding customization sets can be found in the LMS
Customization Guide.
12.2.1 Define customization sets
It is important to plan which groups of users will be affected by customization
sets, as only a single customization set can be in effect for a particular user. For
example, you can choose to align the customization sets with departments and
LDAP attributes used to identify the groups of users.
You can use several LDAP attributes for the matching string that belongs to a
customization set.
If you would like to use a different logo before and after login, you can specify for
the set before using the matching string:
Name - cn=anonymous
This will match any user not authenticated to the system.
For the other logos, you can use as a matching string the company or
department name:
Attribute - CompanyName="Magic"
If users log into the LMS and do not match the company, they will see the default
branding logo.
To keep the logo available for all parts of the application, you will have to copy the
customization set both to the LMM and DS WebSphere servers.
12.2.2 Test customization sets
If you are planning a JSP customization set change, be careful. Since the JSPs
you are modifying are the basis of the application, it is very easy to create a
customization set with faulty JSPs and therefore render the LMS unusable for
that subset of users.
Once the customization sets have been created, the WebSphere servers must
be restarted. Once they are restarted, the customization sets will be cached by
the LMS. Any changes made to the customization set at this point will be active
after 60 seconds, as the LMS updates its customization set cache every 60
seconds.
Once everything is complete, log in as a user to verify that the customization is
working correctly.
Chapter 12. Customization
211
Also, it is a good idea to test launching a course for users affected by
customization sets, since customization sets can affect delivery servers as well.
If a customization set works when a user logs in, but the launch of the course
fails, there is a problem with the location of the files on the delivery server.
12.3 Replacing the application logo and text
A simple but effective customization technique is to change the logo and text that
you display to your users. This is done with a branding logo customization set.
12.3.1 Replacing the logo
LMS displays, in the header of the application pages, the standard IBM Lotus
Learning Management System logo. On both the LMM and DS server, the logo
can be changed to your requirements.
In the LMS Customization Guide, a specific section called “Replacing the
application logo” provides all details of how you can make this change.
Here is the original branding logo:
Figure 12-1 Original branding logo
To replace the branding logo, you need a GIF logo to display in the place of the
default logo. This new logo should be the same size (209 x 22) as the original
graphic and should support transparency. The logo can be of a different size, but
this is not recommended as it may throw off the design of some of the LMS
pages.
There are many methods that can be used to create the GIF files required with
transparency. For a tutorial when using Paint Shop Pro, see:
http://www.jasc.com/tutorials/tgif.asp
Image customization set and logo customization
It should be noted there are two ways in which a branding logo customization
could be implemented. The LMS supports image customization sets as well as
branding logo customizations. The difference is that an image customization set
is a larger, more comprehensive change to the LMS.
An image customization set requires that all graphics used within the LMS be
copied into the customization sets’ images directory. These image files can then
212
IBM Lotus Learning Management System Handbook
be modified at will. You can in effect create a new “skin” for the LMS using this
method. In this case you are required to copy all images, not just the ones you
wish to modify and use. This is because once the LMS determines a user
matches a certain customization set upon login, the HTML pages generated
during that session will refer to the customization set image directory, not the
default image directory.
A branding logo customization set only requires a single file, the new branding
logo. This is appropriate if you only want to perform simple branding. Besides,
this method takes the least amount of disk space and effort. To use this option,
while defining the customization within the LMS administrative screens, define
the specific logo file within the field for the logo URL.
Therefore, if you only want to change the branding logo displayed in the upper
left corner of LMS pages, use a branding logo customization set. If, however, you
want to change every image, or images other than just the branding logo, you
must use an image customization set.
12.3.2 Replacing the text
The help text that displays when a user moves the mouse over the branding logo
is by default “IBM Lotus Learning Management System”.
If you change the logo, you probably also want to change the text for the users to
match the text to the new logo.
The help text for images is kept within the properties files. Since the LMS
supports multiple languages, there is a properties file for each language. If
multiple languages are used, each of these language properties files must be
edited in order for the help text to match the branding logo.
As an example, the file below is the English properties file:
..\resources\lmm\test\ApplicationResources.properties
Note: Test is the name of the customization set.
Within the properties file, find the line:
image.alt.logo = IBM Lotus Learning Management System
This can be changed to the required text.
Chapter 12. Customization
213
12.4 Install the ITSO sample customization set
An example of a customization is provided on the ITSO Web site, as additional
material to this publication (under additional material):
http://www.ibm.com/redbooks/abstracts/sg247028.html
In this section we explain how you can deploy and test this customization set.
12.4.1 Introduction
This specific customization set has been created for Microsoft Internet Explorer
(IE) and the English language. When you test it out, use the IE. The user
interface may not appear similarly in the Netscape Navigator. In addition, change
the language preferences to English. Otherwise the UI will not be displayed in the
correct manner. These requirements are necessary because only the CSS-files
for IE and the English language have been modified.
To deploy the customization set, take the following steps:
1. Extract the customization set and copy the customization set to the
appropriate directories.
2. Register the new customization set.
During this example, we will call this customization “test”.
12.4.2 Extract the customization set
The customization set file is LMSCustomizationSet.zip. This zip file consists of
two files:
򐂰 lmmwebd.zip
򐂰 lmmresourced.zip
These files are typical for a customization set. The set consists of two main
directories, the LMM Web Directory and the LMM Resource Directory. The LMM
Web Directory contains JSP-files, CSS-Files, Javascript-Files, and the graphic
collection and is structured as shown in Figure 12-1 on page 212.
214
IBM Lotus Learning Management System Handbook
Figure 12-2 LMM Web directory structure
In the LMM Resource Directory, you can find the properties and templates. It is
structured as shown in Figure 12-3.
Figure 12-3 LMM Resource directory structure
To deploy the customization set, extract the lmmwebd.zip-file and copy the
contents to:
<WAS_install_path>\installedApps\<NODE>\<LMM_App_Name>.ear\lms-lmm-complete
-23.war\test
Also extract the lmmresourced.zip file and copy the contents to:
<WAS_install_path>\installedApps\<NODE>\<LMM_App_Name>.ear\lms-lmm-complete
-23.war\WEB-INF\classes\resources\lmm\test
These steps install your LMM Web Directory and your LMM Resource Directory.
Your directory structure should match the structure shown in Figure 12-4 on
page 216.
Chapter 12. Customization
215
Figure 12-4 Directory structure of the deployed customization set
12.4.3 Register the new customization set
Register the customization set “test” and define which users or user group should
take part in the new UI. To do this, log into LMS as an administrator and register
the customization set as follows: Click Settings, open the link named Manage
216
IBM Lotus Learning Management System Handbook
Customization Sets (see Figure 12-5), and use the button Add to open the Menu
for adding the new customization set (see Figure 12-6 on page 218).
Figure 12-5 Manage customization sets
To define the new customization set, define the following fields (in Figure 12-6 on
page 218):
򐂰 Title: The LMS internal name, which gives you the opportunity to manage the
sets afterwards.
򐂰 LMM Resource Directory: The name of the LMM Resource Directory (test for
our set).
򐂰 LMM Web Directory: The name of the LMM Web Directory (test for our set).
򐂰 Delivery Server Settings: Keep blank; only used if customization of the DS
has been performed.
򐂰 Matching String and String Type: Define the matching string to allocate the
users who should benefit from the new UI.
You can choose a name, attribute, or the membership in a special group.
For example:
– Matching String Type: Name
– Matching String: uid=lmsadmin
򐂰 Logo and Logout screen: To define customized logo and logout screen.
Chapter 12. Customization
217
򐂰 Checkboxes: Activate the checkboxes of the features you want to adopt from
the customization set.
Figure 12-6 New Customization Set window
For this test customization set, activate the following checkboxes:
򐂰
򐂰
򐂰
򐂰
218
Use CSS
Use text
Use Custom Images
Use JSP
IBM Lotus Learning Management System Handbook
Save the changes and click Done. This will activate the customization set.
12.4.4 Deployed customization set
After the changes, your UI should have a look and feel similar to Figure 12-7.
Figure 12-7 Result of the new customized UI
12.5 Displaying an online users counter
In this section we describe how you can display the number of currently
logged-on users to the LMS on the user’s welcome page. To do this, we create a
separate JSP file that actually counts the users and then we embed this one at
the right place in the welcome screen JSP file.
Note: Using this online counter might decrease the performance of your LMS
system. If you experience a noticeable performance decrease, remove the
counter.
Chapter 12. Customization
219
Perform the following steps:
1. In the directory containing the JSP files for the customized set (that is,
<WAS_install_path>\installedApps\<NODE>\<LMM_App_Name>.ear\test),
create a JSP file called usersOnline.jsp with the following content:
<%@ page import="java.util.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="java.lang.reflect.*" %>
<%@ page import="com.ibm.ws.webcontainer.httpsession.*" %>
<%
try {
Field f;
int lmsUserCount = 0;
SessionData currSessData = (SessionData)request.getSession();
f = currSessData.getClass().getSuperclass().getDeclaredField("mManager");
f.setAccessible(true);
SessionContext sessContext = (SessionContext)f.get(currSessData);
f = sessContext.getClass().getSuperclass().getDeclaredField("mSessions");
f.setAccessible(true);
SessionSimpleHashMap sessions = (SessionSimpleHashMap)f.get(sessContext);
Iterator it = sessions.keySet().iterator();
while(it.hasNext()) {
SessionData sess = (SessionData) sessions.get((String) it.next());
Object sessUser = sess.getValue("user");
if(sessUser instanceof com.lotus.elearn.user.User) {
if(!((com.lotus.elearn.user.User) sessUser).isAnonymous()) {
lmsUserCount++;
}
}
}
%><div style="background-color:#FE0000;font-size:10pt;font-weight:bold">
<%=(lmsUserCount>1 ? ""+lmsUserCount+" users are online." :
(lmsUserCount==1 ? "One user is online." : "Nobody is online."))%>
</div><%
} catch (Exception e) {}
%>
2. In the same directory, open the studentWelcome.jsp with Notepad and locate
the following text block:
<lms:spacer width="1" height="10" /><br>
<%-Announcement header
--%>
220
IBM Lotus Learning Management System Handbook
3. Directly before <%-- Announcement header --%> insert the following line,
which will embed response text from the usersOnline.jsp at this position.
<jsp:include page="usersOnline.jsp" />
4. Test the counter by logging onto LMS.
Figure 12-8 Welcome page with user’s online counter
12.6 Payment method capturing
In this section we describe how you can intercept the course enrollment to
capture payment information from each of their users as they enroll in a course.
No details of the payment gateway and the connection to it are provided as this is
outside the scope of the publication.
12.6.1 JSP modifications
For the payment method capture modification, we need to modify the Enroll
button. This is the button that the users see when self-enrollment is activated for
a course.
Modifying this enroll button allows us to direct the users to a new screen to
collect and store the payment information and then complete the enrollment.
To do this, we first need to find the JSP that contains the Enroll button. Here are
some steps to follow to find this JSP:
1. Open up the page with the Enroll button in the browser.
Chapter 12. Customization
221
2. Move your mouse over the Enroll button.
3. Make note of the text that is written to the status bar (such as Enroll in
course).
4. Open up Windows Explorer on the LMM Server, or an equivalent file browser
on other operating systems.
5. Search for the Enroll in course text string in *.properties files. In our case
you will find ApplicationResources.properties, under the
resources\lmm\properties directory.
6. Find the text Enroll in course in the .properties file that you just found.
<identifier> = "Enroll in course"
You will find StudentCatalog.enrollButton = “Enroll in course”.
7. Search for the identifier text from step 7 in the JSPs for the customization set
and this will give you the JSP you need to modify.
You should find four StudentCatalog-jsps. We will change
studentCatalogEntryOfferings.jsp.
We suggest that you create a custom set for the web-directory, so you change
the jsps as part of the customization set (see Figure 12-1), instead.
We can now create our first custom code to capture the payment information. In
our case we will use a Lotus Domino form to do this.
Once the payment database with the form is ready for users, we will need to
change the current Enroll button. We want it to send the user to our payment
form. We will comment out the current Enroll button code, and put in our new
"Proceed to payment" button.
The buttons in the LMS are not actually buttons, but tables with images made to
look like buttons with a link. They are generated from JSP tags defined in a Tag
Library Descriptor (TLD). We will not generate our new button with a tag. So
instead, we view the html source of the page where the Enroll button is shown to
the user and search for the code for the Enroll button. This way we can copy and
paste the actual html that the tag generates and make the required changes.
Example 12-2 on page 223 is an example of the adjusted
studentCatalogEntryOfferings.jsp. At the part that is commented out, replace it
by the code in Example 12-1. In this part, a connection to a Lotus Domino form is
being called to handle the payment.
Example 12-1 Code to add new button
<!--
222
Code commented out for payment customizations
IBM Lotus Learning Management System Handbook
<div class="btnStudentCatalogEnroll">
<lms:studentEnrollButton offering="<%=currentOffering%>"
permissionName="Self_Enroll" captionKey="button.enroll"
tooltipKey="studentCatalog.enrollButton" />
</div>
Example 12-2 Sample from studentCatalogEntryOfferings.jsp
-->
<div class="btnStudentCatalogEnroll">
<table border=0 cellspacing=0 cellpadding=0>
<tr valign="bottom">
<td class="btnSecCornerTopLeft" width=1 height=1><img
src="/lms-lmm/images/btnPrimAction_UpperLeft.gif" width=2 height=2
alt=''/></td>
<td class="btnPrimBorderTop"
background="/lms-lmm/images/btnPrimAction_TopBorder.gif" height=1
colspan=3><img src='/lms-lmm/images/px.gif' width='2' height='2' alt=''
border='0'></td>
<td class="btnSecCornerTopRight" width=1 height=1><img
src="/lms-lmm/images/btnPrimAction_UpperRight.gif" width=2 height=2
alt=''/></td>
</tr>
<tr>
<td class="btnPrimBorderLeft"
background="/lms-lmm/images/btnPrimAction_LeftBorder.gif" align="left"
width=1><img src='/lms-lmm/images/px.gif' width='2' height='2' alt=''
border='0'></td>
<td class="btnGeneralLable" id="btnPrimAction" colspan=3 nowrap><span
class="btnGeneralLable" id="btnPrimAction"><img src='/lms-lmm/images/px.gif'
width='5' height='2' alt='' border='0'><a class="btnGeneral" id="btnActive"
onMouseOver="window.status='Proceed to payment options';return true;"
onMouseOut="window.status=''; return true;" title="Enroll"
href="javascript:document.forms['studentCatalogForm'].userEvent.value='navigati
on';document.forms['studentCatalogForm'].subMode.value='courseOfferings&Oid=<%=
currentOffering.getOid()%>&Otitle=<%=currentOffering.getTitle()%>';document.for
ms['studentCatalogForm'].action='/studentreg.nsf/payment?OpenForm';submitForm('
studentCatalogForm');">Proceed to payment</a><img src='/lms-lmm/images/px.gif'
width='5' height='2' alt='' border='0'></span></td>
<td class="btnPrimBorderRight"
background="/lms-lmm/images/btnPrimAction_RightBorder.gif" align="right"
width=1><img src='/lms-lmm/images/px.gif' width='2' height='2' alt=''
border='0'></td>
</tr>
<tr valign="top">
<td class="btnSecCornerBottomRight" width=1 height=1><img
src="/lms-lmm/images/btnPrimAction_BottomLeft.gif" width=2 height=2
alt=''/></td>
Chapter 12. Customization
223
<td class="btnPrimBorderBottom"
background="/lms-lmm/images/btnPrimAction_BottomBorder.gif" height=1
colspan=3><img src='/lms-lmm/images/px.gif' width='2' height='2' alt=''
border='0'></td>
<td class="btnSecCornerBottomLeft" width=1 height=1><img
src="/lms-lmm/images/btnPrimAction_BottomRight.gif" width=2 height=2
alt=''/></td>
</tr>
</table>
</div>
Now we are at a point where certain users will no longer see the normal enroll
button from the LMS. Instead they will see our “Proceed to payment” button, and
when they click this button, the users will be redirected to a Lotus Domino form
where they can provide the payment details.
After the users have completed the Domino form, we need to enroll the user
using the LMS API, then redirect the user to the initial LMS Web page.
12.6.2 Domino Agent
Example 12-3 contains sample code to enroll the user once the payment form is
submitted into Domino.
This is only a framework for developers to use as a starting point. For example,
not all the return pages are defined yet in the code below.
Example 12-3 Code
import
import
import
import
import
lotus.domino.*;
org.apache.axis.client.*;
javax.xml.namespace.QName;
javax.xml.rpc.ParameterMode;
java.net.URL;
public class LMSEnroll extends AgentBase {
public void NotesMain() {
try {
// Set up the notes session, and context
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// Current database
Database db = agentContext.getCurrentDatabase();
224
IBM Lotus Learning Management System Handbook
// Document that was submitted
Document doc = agentContext.getDocumentContext();
// Values we need from the document
String uid = doc.getItemValueString("uid");// user id
String oid = doc.getItemValueString("OfferingID");// offering id
// We can not continue if the offering id is blank
if ( oid.equals("") ) {
doc.replaceItemValue("IsTemp", "1");// mark this doc as temp
getAgentOutput().println("<h1>Validation
Error</h1><br>No offering selected. You must select an offering to enroll in.
");
getAgentOutput().println("<a
href='javascript:history.back(1)'>Click here to try again</a>");
return;
}
// Payment method they selected
String payType = doc.getItemValueString("paymentMethod");
// Convert that to an integer for the switch below
int i = Integer.valueOf(payType).intValue();
// determine what to do based on payment selection
switch (i) {
case 0:// No payment type was selected ( should not be possible
)
doc.replaceItemValue("IsTemp", "1");// mark this doc as
temp
getAgentOutput().println("<h1>Validation Error</h1><br>No
payment type selected. ");
getAgentOutput().println("<a
href='javascript:history.back(1)'>Click here to try again</a>");
return;
case 3:// We need to get approval, redirect to the approval
page.
doc.replaceItemValue("Status", "Pending");// set the status
to pending
getAgentOutput().println("[[" + db.getFilePath() +
"/startNotice?ReadForm]]");
return;
default:// Enroll the user in the course
if (enrollUser(uid,oid)) {
Chapter 12. Customization
225
doc.replaceItemValue("Status", "Enrolled");// set the
status to enrolled
getAgentOutput().println("[[" + db.getFilePath() +
"/successEnroll?ReadForm]]");
//
getAgentOutput().println(uid + " successfully enrolled in
offering " + oid + ".");
} else {
doc.replaceItemValue("IsTemp", "1");// mark this doc as
temp
doc.replaceItemValue("Status", "Error");// set the
status to error
getAgentOutput().println("[[" + db.getFilePath() +
"/unsuccessEnroll?ReadForm]]");
//
getAgentOutput().println("Error enrolling user " + uid + " in
offering " + oid + ".");
}
return;
}
} catch(Exception e) {
e.printStackTrace();
}
}
private boolean enrollUser(String uid, String oid) {
// Enroll the user in the course
try {
URL url = new URL("http://<<DOMAIN_NAME_HERE>>/lms-lmm/anon-api");
//System.out.println("LMS Server: "+ url.getHost());
// Set up call
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setUsername("lmsadmin");
call.setPassword("password");
String NS_XSD = "http://www.w3.org/2001/XMLSchema";
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
call.addParameter("user_id", QNAME_TYPE_STRING, ParameterMode.IN);
call.addParameter("offering_id", QNAME_TYPE_STRING,
ParameterMode.IN);
226
IBM Lotus Learning Management System Handbook
String [] params = { uid, oid };
call.setReturnType(QNAME_TYPE_STRING);
call.setOperationName(new QName("LMSEnrollmentAPI",
"enrollOfferingForUser") );
call.invoke(params);
return true;
} catch(Exception e) {
e.printStackTrace();
return false;
}
}
}
Chapter 12. Customization
227
228
IBM Lotus Learning Management System Handbook
13
Chapter 13.
Custom reports
You can add your own custom reports to the Learning Management System,
using JReport Designer™, a client application that is external to the Learning
Management System. In this chapter we provide information about JReport
Designer and how to create custom reports.
As of the writing of the publication, no details were available regarding the data
model of the LMS, so this chapter focuses on customizing existing reports. The
data model will be made available at a later stage as part of the documentation
set for the LMS.
© Copyright IBM Corp. 2003. All rights reserved.
229
13.1 Introduction
The Learning Management System is delivered with pre-defined reports that can
be used by the users that have the appropriate permissions. Using roles and
permissions, you can determine who can run a report. For more information, see
Chapter 11, “Configuring LMS” on page 177.
Reports are created by the JReport reporting engine from Jinfonet that is
embedded in LMM. The administrator interfaces with JReport by using the
JReport Designer client.
LMS includes the ability to download and use up to three copies of JReport
Designer by Jinfonet Software, Inc. However, these copies of JReport Designer
are solely for your use with LMS, and are not for standalone use.
In this chapter we install and use the JReport Designer to create a custom report
for LMS.
13.2 JReport overview
To create custom reports you will need the following:
򐂰 JReport Designer software and the install key
򐂰 LMM database
򐂰 LMS-supported database client (such as DB2 Connect) that provides you with
a connection to your LMM database
򐂰 Working knowledge of SQL for your LMM database
You can add your own custom reports to the Learning Management System by
performing the following tasks:
1. Create the new report in JReport Designer, a client application that is external
to the Learning Management System.
2. Create a new catalog for your custom reports. This should be done, as LMS
product updates will overwrite the shipped catalogs. After you have done this
for your first custom report, subsequent custom reports can share the new
created catalog.
3. Create a custom report template. The predefined reports can also be used as
starting points for creating additional custom reports, by editing a copy of the
original template.
4. Manually enter information about each report in the Learning Management
System file, called reports.xml.
230
IBM Lotus Learning Management System Handbook
5. If you have a clustered server environment, copy the report catalog, template
files, and the updated reports.xml file to each server in the cluster.
6. Restart the Learning Management System server. If running a cluster of
servers, you must restart each one.
The data source for LMS reports is the LMM database. The DS database and
LDAP cannot be used.
13.3 JReport installation
Here is a summary of the steps to follow to enable reporting.
13.3.1 JReport system requirements
The System Requirements for JReport Designer 5.1 are as follows:
򐂰 Windows 9x, Windows 2000, or above
򐂰 Minimum of 32 M memory is required; 64 M or more is recommended
򐂰 Pentium 100 or above
򐂰 Minimum of 20 M free space on the harddrive
Additional requirement to create LMS reports: Connection to LMM-database.
Tip: You can install JReport on Macintosh (and UNIX) as well, by doing a
manual installation. See the help files from http://www.jinfonet.com. We did
not test this.
13.3.2 JReport Designer download
The Designer software and license are obtained by following these steps:
1. Download the JReport install program jrpsetup.exe from the Jinfonet Web
site:
http://www.jinfonet.com/download.htm/
2. Obtain a JReport Designer install key by following the instructions in your
LMS Readme file.
You can also obtain a 30-day temporary license from
http://www.jinfonet.com.
Chapter 13. Custom reports
231
Note: If you use a JReport Designer client with an evaluation key instead of
the proper install key, the actual report results on the server will show
Evaluation Copy as a watermark to the users.
13.3.3 JReport installation
Here are the installation steps.
1. Install JReport Designer 5.1.
Run jrpsetup.exe and following the prompts to install.
JReport requires Java Runtime Environment (JRE) 1.1.6 or higher installed
on your client workstation. If you do not have this, the install program will give
the message no suitable VMs were found. So first you have to download and
install the JRE (for example, V1.4.1_03) from http://www.javasoft.com/.
If the install program does not find your JRE by itself, you will prompted.
Select run installation with the VM from this location, and browse to the
java.exe file of your jre-install. For our workstation, it was:
C:\Program Files\Java\j2re1.4.1_03\bin\java.exe
2. Provide the install directory (“destination location”). See Figure 13-1 on
page 233.
232
IBM Lotus Learning Management System Handbook
Figure 13-1 Destination location
Important: Install JReporter in a directory name without spaces. For
example, instead of using the default “c:\program files\jreport”, use
c:\jreport. The space (between program and files) causes problems in
some parts of the software. In our case, it was links to the help files.
3. Provide user ID and install key.
4. Accept the License Agreement.
5. Do not select “Add additional classpaths to locate external system
components”. In our case we will do this manually. See “Adding the database
driver to the JReport classpath manually” on page 236.
Tip: If you do not have a DB2 client installed yet, you can do this later by
editing the JReport.bat manually.
6. Choose whether to "Access the Internet using a proxy server" or not, as some
of the help items are pointing to the Jinfonet Web site.
Chapter 13. Custom reports
233
7. Create a JReport shortcut, since the installation does not create a shortcut on
the desktop or within the Programs directory. Use this path and the following
steps:
C:\Program Files\JReport\bin\JReport.bat
a. After the installation is complete, you can create a shortcut to the batch file
created by the setup program. On the desktop, double-click My Computer
and then go to C:\JReport\bin\JReport.bat. Right-click JReport.bat and
select Create Shortcut Here.
b. To create the shortcut on the desktop, drag and drop the shortcut to the
desktop.
c. To add the shortcut into the Start menu (for Windows 9x), double-click My
Computer and then go to C:\Windows\Start Menu\Programs. Drag and
drop the shortcut to this folder.
8. Start JReport. For details on starting the reporting process and checking your
connection to the LMS database, see “Connecting JReport Designer to your
database” on page 236.
13.3.4 Install JReport help files
To install the help files, use the following steps:
1. Download from JReport Designer help document jrphelp.exe from the Web
site:
http://www.jinfonet.com/download.htm/
2. Install the help by running jrphelp.exe.
In some cases you might have to install MDAC first.
Remember to install the help-files in a directory whose name contains no spaces.
13.4 Steps to create a custom report
Now that you have JReport Designer installed and connected to the JReport
engine in the LMS, we show you how to create a custom report. A report consists
of the following components:
򐂰 A catalog (.cat and .fml file) containing:
– Queries that return result sets from the database that are then displayed
by a report. Queries are edited outside of the catalog and are then
imported into the catalog.
234
IBM Lotus Learning Management System Handbook
– Formulas that return results that are used by a report. Formulas are
created using the JReport Designer formula editor.
– Parameters that pass data into the report at runtime from the LMS.
Parameters are created by the JReport Designer.
The cat/fml is a pair of files that represents the catalog. Most of the updates
will be done in the .cat file. The .fml file will be updated when you make
changes to formulas in the report.
򐂰 Report templates (.cls file) for each report containing:
– Graphical display elements such as lines
– Fields that can display data and images
Custom reports are created using JReport Designer. The report file, which has a
.cls extension, uses the resources in your custom report catalog. Once you
create the report, you must ensure that it resides in the
<WEB-ROOT>\reports\template directory. The custom catalog goes also in this
directory.
You can create the report file either directly in that directory or copy it manually at
a later stage.
Note: <WEB-ROOT> is used to identify the application directory within the
WebSphere directory. For example:
D:\WebSphere\AppServer\installedApps\lms\IBMLotusLMSLMM.ear\lms-lmm
-complete-23.war\
If required, you can temporarily copy the catalog and template files to your local
machine and work with them there. After finalizing the report, you can then copy
the files back to the appropriate directory on the server.
To modify an existing report, we will perform the following steps to create a
custom catalog:
򐂰 Modify an existing report.
򐂰 Make LMS aware of the new report by changing the reports.xml.
A new report is not available to the LMM until you update reports.xml.
13.5 Set up a new report
Setting up a new report is currently somewhat complex. Here we show you how.
Chapter 13. Custom reports
235
13.5.1 Creating a custom catalog
This section explains how to make a copy of the LMS report catalog. You do this
so that an upgrade installation of LMS will not overwrite your catalog.
Creating a copy of the existing catalog
To create a custom catalog, you create a copy of your existing predefined report
catalog that comes with the LMS, set up the JReport connection to your
database, and then use the new custom catalog to create custom reports.
The catalogs used for the LMS predefined reports are contained in
<WEB-ROOT>\reports\template. The catalog files are:
rpt_oracle.cat and rpt_oracle.fml (for Oracle)
rpt_db2.cat and rpt_db2.fml (for DB2)
rpt_mssql.cat and rpt_mssql.fml (for SQLServer)
These catalogs could be edited to add custom reports, but it is not recommended
because updates of the predefined reports would overwrite your custom reports.
Copy and rename the catalog files for the database that you are using. We will
use a DB2 catalog, but the process will be similar for the catalogs using either of
the other databases. We copy and rename the files rpt_db2.cat and rpt_db2.fml
to rpt_custom_db2.cat and rpt_custom_db2.fml. These new files can remain in
the <WEB-ROOT>\reports\template directory or be copied into a different
directory.
We rename the pre-existing catalog rather than loading and saving it under a
new name in JReport Designer because Save As for a catalog is not permitted in
a directory that already contains a catalog.
Connecting JReport Designer to your database
JReport Designer connects to your database to validate your SQL queries that
return the report data. To enable JReport Designer to connect to your database,
add your database driver to the JReport classpath and configure your JReport
connection.
Adding the database driver to the JReport classpath manually
If you have not adjusted the classpath during the installation, you can do it
manually. Open up the JReport.bat file for editing (by default this is in
c:\JReport\bin). The file should have a line that begins similar to this:
"C:\jdk1.3.1\jre\bin\java.exe" "-Dinstall.root=C:\JReport" -classpath.
236
IBM Lotus Learning Management System Handbook
Add the following file(s) to the classpath. Be sure to include the full path of each
of the files. The appropriate files should be installed with your database client.
If you are using db2:
If you are using SQLServer:
If you are using Oracle:
db2java.zip
msbase.jar, msutil.jar, mssqlserver.jar
classes12.zip
For example for db2, add:
C:\Program Files\IBM\SQLLIB\java\db2java.zip
Configuring the JReport Database Connection
To configure:
1. Launch JReport Designer by running JReport.bat.
2. Go to File -> Options -> Advanced. Make sure all of the “Forbid XYZ”
options are unchecked (there are four total).
3. Go to File -> Options -> Editor. Uncheck “Insert field name with field” and
“Insert group name with group.”
4. Go to File -> Open Catalog. Select rpt_custom_db2.cat.
5. If you cannot see the Catalog Browser, open it by selecting View -> Catalog
Browser.
6. In the Catalog Browser window, under the Data tab, expand the item
Connection. Expand the sub-item JDBC Connection for DB2.
7. Right-click JDBC Connection for DB2 and select Properties. The sub-item
name and properties will differ for different databases.
8. Make sure the following parameters are set:
user: <your db2 user name>
password: <your db2 user password>
url: jdbc:db2:<your db2 database name>
9. In the Catalog Browser window, expand the parameters item. Find the
parameter p_schema_com and make sure that the Value property has the
name of your db schema. Note that for SQL Server, Value should be left
blank.
10.Test the connection:
a. Go to the Catalog Browser (or activate by View -> Catalog Browser).
b. In Data\Connection\JDBC Connection for DB2\Tables, right-click Tables,
and select New Table. Verify that you see the tables available on the
server.
JReporter will provide you with appropriate error messages in case you have
misspelled the user name/password or database name.
Chapter 13. Custom reports
237
If you get a communication error message, there is likely a problem with the
connectivity. Check that you can connect to the database from the PC, and that
no firewall is blocking the access from JReporter to the database.
13.5.2 Locating an existing report
To be able to modify an existing report in your custom catalog, we will locate an
existing predefined report first.
The predefined report attributes are contained in <WEB-ROOT>/reports.xml file.
By finding the existing predefined report in reports.xml (specified by the template
attribute), we can find the report file. By opening the report file in JReport
Designer we can find the query that fetches the report data from the database.
We use this information to find the files we need to be able to edit the look of the
report and the information that the report displays.
Open reports.xml in a text editor and search for the report that you are interested
in. Use a search string that concatenates the report name. For example, to find
the User Transcript report attributes, search for “UserTranscript” to find:
<report
id = "userTranscript"
name = "userTranscript.name"
description = "userTranscript.description"
category = "progress"
template = "UserTranscript.cls"
permission = "User_Transcript_Report"
localize = "true" >
<select type = "singleUser" parameter = "p_tx_user_oid" />
<select type="label" parameter="p_label_in_progress"
key="catalog.attrib.offering.status.inProgress"/>
<select type="label" parameter="p_label_completed"
key="courseManagement.results.shared.progress.completed"/>
<select type="label" parameter="p_label_not_started"
key="courseManagement.results.shared.progress.notStarted"/>
<select type="label" parameter="p_label_passed"
key="courseManagement.results.shared.progress.passed"/>
<select type="label" parameter="p_label_failed"
key="courseManagement.results.shared.progress.failed"/>
</report>
For a list of existing reports, see LMS Administration Guide, Chapter 7,
“Managing Reports/Predefined Reports.”
The attribute template = "UserTranscript.cls" tells us that the User Transcript
report file is "UserTranscript.cls". We create a custom report by loading the
238
IBM Lotus Learning Management System Handbook
original report file, UserTranscript.cls, into JReport Designer and then saving it as
UserCustomTranscript.cls.
13.5.3 Create a custom template
To edit the User Custom Transcript report, launch the JReport Designer, open the
custom report catalog, open the User Transcript report, and then save the User
Transcript report under a different name.
1. Launch JReport.bat.
2. Press Continue to enter the JReport Designer.
3. Click Cancel in the Chose Report dialog.
4. Open the custom report catalog from File/Open Catalog/rpt_custom_db2.cat.
5. Open the UserTranscript.cls from File -> Open/.
6. Save the UserTranscript.cls as UserCustomTranscript.cls.
From now on, you can edit UserCustomTranscript.cls directly without having to
access UserTranscript.cls.
The UserCustomTranscript report template work area will look like Figure 13-2.
Figure 13-2 Template work area
Now you can start making changes to this report. This is outlined in the next
section.
Chapter 13. Custom reports
239
13.6 Changing the report
Here we describe how to customize a report.
13.6.1 Catalog browser and Report Inspector
There are two main tools used to view information about the reports. The Catalog
Browser (View -> Catalog Browser) and the Report Inspector (View -> Report
Inspector).
The Catalog Browser deals with the SQL used to generate the report, formulas
used to process the results of the report, and parameters passed by the LMM
into the report. See Figure 13-3.
Figure 13-3 Catalog Browser
The Report Inspector deals with the visual layout of the report: Lines, text, etc. If
you select an item in the main view, you can see information about it in the
Report Inspector. See Figure 13-4 on page 241.
240
IBM Lotus Learning Management System Handbook
Figure 13-4 Report Inspector
The main view is divided up into several rows. Each row has a row header along
the left side of the window. Note that in this example some of the rows are
collapsed to a very small size.
ReportHeader
Anything in this row will appear once at the top of
the report
PageHeader
Anything in this row will appear once at the top of
each page of the report.
GroupHeaderPage
Anything in this row will appear once at the top of
each group in the report.
Detail
Anything in this row will appear once for each row
in each group.
GroupFooterPage
Anything in this row will appear once at the bottom
of each group.
PageFooter/ReportFooter
Like PageHeader and ReportHeader, but at the
bottom of the page/report.
Chapter 13. Custom reports
241
Images
Select the graphic at the top of the report (in the page header area) and look at
the Report Inspector, as shown in Figure 13-5.
Figure 13-5 Image properties in the Report Inspector
Each image has an associated jet_udos_JHyperLink. The JHyperLink is used to
display images when the report is viewed as HTML. When the report is viewed in
a PDF, the GIF file specified in the “Image” item is displayed. Scroll all the way
down in the Report Inspector to view the image displayed by each item.
Each Image/HyperLink has an attribute called “Invisible.” This attribute controls
when the item can be seen. bHideStaticImage is a formula built into
JReportDesigner that returns true when the report is displayed in HTML mode.
Thus, the image item will not display in HTML mode. the HyperLink uses a similar
formula called bHideDynamicImage so that it does not display when the report is
viewed as a PDF.
242
IBM Lotus Learning Management System Handbook
13.6.2 Managing report layout
You can add lines or text to the report by selecting the appropriate item under the
view menu. If you double-click a text label, you can edit the text of the label. If you
select an item, you can view and edit it in the Report Inspector. Among other
things, this is useful for formatting text (font style and size) and setting the exact
position of lines.
Keep in mind that the blue header box in the GroupHeader area in LMS reports
occasionally obscured text and lines. If you place text over the blue box and it
seems to disappear you can select the blue box, right-click it, and select Move to
Back. This should make your text visible again.
For further details on the JReport Designer, see JReport Users' Guide,
“Previewing a Report/Design Mode.”
13.6.3 Working with groups
The SQL statement used in each report returns a set of rows. These rows can be
divided up into groups for use by JReport. For example, each row in an SQL
query might return the user name of a person and a class that she is enrolled in.
You could divide up these rows into groups based on the user name, as shown in
Figure 13-6 on page 244.
Chapter 13. Custom reports
243
Figure 13-6 Dividing rows into groups
In Figure 13-6, all of the rows that include the user Corina Emler would be in one
group. To edit the grouping criteria for a report, select Insert, then Group/Sort
from the menu. You should see the Group Wizard, as shown in Figure 13-7 on
page 245.
244
IBM Lotus Learning Management System Handbook
Figure 13-7 Group wizard
13.6.4 Working with formulas
To work with formulas:
1. Open the Catalog Browser.
2. Under the Data tab, expand the item Formulas.
3. To edit a formula, select the formula, right-click, and choose Edit.
Alternatively, you can select the formula in a report and double click it.
4. To create a new formula, select any formula, right-click, and choose New.
5. In both cases, you should see the formula editor, shown in Figure 13-8 on
page 246.
Chapter 13. Custom reports
245
Figure 13-8 Formula editor
There are four windows:
򐂰 The Fields window contains all of the SQL columns available (for example,
ACT_LOCATIONOID). You can use these columns in your formula by
selecting the column and double clicking it.
򐂰 The Functions window contains a list of functions that are built into JReport.
Select a function by double clicking it. You can also just type it into the
Formula window.
򐂰 The Operator window displays a list of operations supported by JReport.
Select an operator by double clicking it or typing it in.
򐂰 The Formula Text window displays the formula as you build or type it.
246
IBM Lotus Learning Management System Handbook
When you are finished editing your formula, you can check it for errors by clicking
Check. If you select any function or operator and then press Help you will get
help on that item.
13.6.5 Adding a data field to the report
To add a data field to the report, do the following:
1. Open the Report Inspector and select Data Source. Note the QueryName
attribute.
2. Open the Catalog Browser. Expand Connections -> JDBC Connection for
DB2 -> SQLs. Find the SQL query (in this case q_usrtran_prog) and expand
it. See Figure 13-9.
3. The red arrows next to some of the columns indicate that these columns are
used somewhere in the report. The red arrows are shown only when the
report is open.
4. To place one of the columns in the report, double click the column you would
like to insert, move your cursor to the place in the report where you want it,
and place it in the report with a click.
Figure 13-9 Show all columns of a query
Chapter 13. Custom reports
247
13.6.6 Using parameters
Parameters are variables whose values are input when the report is run.
Parameters are used in LMS reports to pass the database schema name and to
pass selector values that have been set by user runtime selections in the LMM,
and to pass standard values defined for the LMS such as fonts.
To view the parameters, expand the Parameters node in the Catalog Browser, as
shown in Figure 13-10.
Figure 13-10 Parameter list in Catalog Browser
Red arrows are shown for parameters used in the report that is displayed. If no
report is displayed, no arrows are shown.
To display the parameter properties, right click a parameter and select
Properties.
To edit an existing parameter, select the parameter and edit the properties.
248
IBM Lotus Learning Management System Handbook
To create a new parameter, right click a parameter node, select New Parameter,
and complete the attribute dialog. See JReport Designer User Reference,
“Report Objects, Parameter”, for a description of the attribute fields.
See also JReport User's Guide, “Editing a Report by Inserting/Editing
Objects/Parameter, Drawing Objects.”
13.6.7 Creating and editing SQL
With JReporter you can write SQL queries using the interactive query designer,
or by uploading SQL statements from a file. For the reports in LMS, the SQL
statements are uploaded from a file.
The format used by the query designer does not support the dynamic setting of
the schema name at runtime (using the p_schema_com parameter) that LMS
requires.
The data fields that are available for using in a report are created by an SQL
query and can be viewed in the SQL tree under the JDBC Connection for DB2
node. See 13.6.5, “Adding a data field to the report” on page 247. The fields
shown for each query are mapped from the query result set. (These are
generally raw database columns, but they can also be computed columns or
aliases.)
Queries for the LMS are File Queries that you create and edit in a text editor. You
can view a current SQL command by selecting it in the Catalog Browser, right
clicking, and selecting Show SQL. The SQL cannot be edited directly in the
Show SQL window, but can be cut and pasted into a text editor.
To edit an existing SQL command, select the SQL query name in the Catalog
Browser, select update SQL, and then enter your text file.
To create a new SQL query, select any SQL query name, right-click, select New
SQL, and select your text file.
To change the SQL query that a report uses, select Data Source in the Report
Inspector and change the QueryName to the SQL you want.
13.6.8 Basic SQL query structure
The mapped database columns shown by the Catalog Browser for the
q_usrtran_prog SQL can be seen in Figure 13-11 on page 250.
Chapter 13. Custom reports
249
Figure 13-11 List of database columns of a query
Portions of the SQL that generated the mapped database columns for the
q_usrtran_prog have been formatted and are shown in Example 13-1.
Example 13-1 SQL to generate the mapped database columns
SELECT
usr.display_name usrtran_usr_name,
cata.code usrtran_course_no,
ctxt.title usrtran_course_name,
enrl.oid
usrtran_enrollment_oid,
mtre.oid usrtran_metadata_tree_oid,
(SELECT starttime
FROM :p_schema_com.progress
WHERE enrollment_oid = enrl.oid
AND metadata_tree_oid = mtre.oid)
usrtran_last_accessed,
... (section omitted)
FROM
:p_schema_com.usr,
:p_schema_com.enrollment enrl,
:p_schema_com.catalogentry cata,
:p_schema_com.catalogentry_text ctxt,
:p_schema_com.master mast,
:p_schema_com.metadata_tree mtre,
:p_schema_com.reportselection_item rpsi_usr
250
IBM Lotus Learning Management System Handbook
WHERE
rpsi_usr.reportselection_oid = @p_tx_user_oid
AND usr.oid = rpsi_usr.ptr_oid
AND enrl.user_oid = usr.oid
AND cata.oid = enrl.catalogentry_oid
AND cata.oid = ctxt.catalogentry_oid
AND cata.lang = ctxt.lang
AND mast.oid = cata.master_oid
AND mtre.oid = mast.metadata_tree_oid
For this query, table aliases (which are optional) have been defined in the FROM
clause. The mapped database column names used by JReport are shown in the
SELECT clause. For example, the database column USR.DISPLAY_NAME is
mapped to USRTRAN_USR_NAME, which is displayed in the Catalog Browser.
The mapped column names have catalog scope and must be unique. JReport
will prefix the mapped names with the query name if it finds a duplicate name in
the catalog.
The parameter p_schema_com, proceeded by a colon, is set to the LMM
database schema name at runtime. It is also used to identify the schema name to
use for verification when a query is created or updated. Set the Value attribute of
p_schema_com to your schema name.
The parameter p_tx_user_oid is a selection parameter defined in the report.xml
file that is passed to the query at runtime from the user’s selection. See
“Selection types” on page 255 for details.
13.6.9 Inserting a subreport
You can insert a subreport into any report. The subreport itself can be used as a
standalone report or inserted into more than one report. See JReport Designer
User Reference /6. JReport Windows and Dialogs/ Insert SubReport for
instructions on inserting the subreport and for creating the sublinks between the
parent and child report.
13.6.10 Using the view mode
The view mode of JReport can be used to preview the report. However, many of
the reports in LMS use parameters that are generated at runtime and so they do
not exist when using the View mode. The result is that no records will be shown
in the view mode. This is also true of the examples that we use in this chapter.
Here is an example of using the View Mode to see data in JReport.Query:
SELECT
location.name q_loctest_locname
Chapter 13. Custom reports
251
FROM
:p_schema_com.location
Figure 13-12 shows design mode and Figure 13-13 shows view mode.
Figure 13-12 Example report in design mode
Figure 13-13 Example report in view mode
13.7 Deploying a report
Once you have created the custom report and copied the report file and the
custom catalog files to the <WEB-ROOT>\reports\template directory, you must
make an entry in the Learning Management System reports.xml file so that the
LMM can identify the report. The reports.xml file contains the attributes of all
reports, including name, description, name of the report file, and selection criteria
and order.
252
IBM Lotus Learning Management System Handbook
Reports.xml stores the definition of every report category and pre-defined and
custom report in the Learning Management System. The data contained in
reports.xml is cached on the LMM Servers. If you make an entry in reports.xml
on one LMM Server, every server in a cluster must be updated. The location of
the reports.xml file is specified in the settings.xml file. Generally, xml files are
located in the <WEB-ROOT>\WEB-INF\classes directory.
If you update your LMS, be sure to save a copy of reports.xml so that you can
copy your custom report attributes into the new reports.xml.
Each report in reports.xml has its attributes defined by the <report> tag. (The
<report> tags are listed after the initial DTD information in reports.xml.) Within
this tag, there are five required attributes:
򐂰 ID: An arbitrary ID that you assign to the report; the ID must be unique.
򐂰 Name: The name you assign to the report.
򐂰 Description: The report's description.
򐂰 Category: The ID of the category to which the report belongs.
򐂰 Template: The new report template file name.
The values assigned to the name and description attributes appear in the LMM
user interface.
There are also three other attributes, which are optional:
򐂰 Permission: A specific permission that you could require for anyone to run this
report. It can usually be left blank.
򐂰 Localize: A true/false field that indicates whether the report name and
description will be localized at runtime. The default value is false.
򐂰 Catalog: The catalog on which to base custom reports.
Pre-defined reports do not use this attribute as long as the default catalog is
used. Customized reports will use another catalog file, so you will have to use the
catalog attribute to indicate this.
The name and description attributes can optionally be keys into the
ApplicationResources.properties file in order to localize the text strings in the
user interface (all pre-defined reports do this). This happens when the localize
attribute is set to true. If the localize attribute is set to false, then the text string
assigned to the name and description attributes appear in the user interface
without any language localization.
If you have a selection list for a given report, use the <select> tag, which is only
valid when embedded in the <report> tag. If you do not offer a selection, you do
not use <select>.
Chapter 13. Custom reports
253
The attributes for <select> (both are required) are:
򐂰 Type: One of 27 selection types (see the list of all selection types below). An
example would be the selection step for an Instructor Details report that
shows the details of a selected set of instructors. The selection step would be
of the type “multipleInstructor”: <select type="multipleInstructor"
parameter="INSTRUCTORS" />
򐂰 Parameter: The value of the parameter attribute is the name of the parameter
used in the SQL query defined for the report.
Continuing with the above example, the Instructor Details report uses a query
like this:
select *
from instructor, reportselection_item
where instructor.oid = reportselection_item.ptr_oid and
reportselection_item.oid = @INSTRUCTORS
INSTRUCTORS is the name of the parameter for this query. The table called
reportselection_item is used in every query for any report that has a selection
step.
13.7.1 Special parameters
There are two special parameters that are used in an SQL query. The first one is
always required and the second one is only required for the dateRange selection
type.
The first is for the database schema name and is used by every report. It only
appears in the SQL select for the report and not in reports.xml. The name of the
parameter must be p_schema_com. It is used in the SQL select statement like in
the following example:
select *
from :p_schema_com.instructor, :p_schema_com.reportselection_item
where instructor.oid = reportselection_item.ptr_oid and
reportselection_item.oid = @INSTRUCTORS
The second is for the dateRange selection type. All date range parameters must
follow this naming convention:
򐂰 The parameter name for the start of the range must begin with “p_start_” and
end with some text like “xyz”.
򐂰 The parameter name for the end of the range must begin with “p_end_” and
end with the same text as the start date (“xyz” in the example in the previous
bullet).
254
IBM Lotus Learning Management System Handbook
򐂰 In reports.xml, the <select> tag for the date range parameter will have a name
that is the same text as the suffix from the parameters.
Thus, for our example, the tag would look like this:
<select type=”dateRange” parameter=”xyz” />
13.7.2 Selection types
The following selection types are available for the "type" attribute:
򐂰 singleActivity: Allows selection of a single activity for a given course. This type
must be preceded by a singleCourse selection step.
򐂰 multipleCertificate: Allows the selection of multiple certificates.
򐂰 singleCertificate: Allows the selection of a single certificate.
򐂰 multipleCourse: Allows the selection of multiple courses.
򐂰 singleCourse: Allows the selection of a single course.
򐂰 multipleCurriculum: Allows the selection of multiple curriculums.
򐂰 singleCurriculum: Allows the selection of a single curriculum.
򐂰 dateRange: Allows range of dates. Date ranges can be:
– Absolute: An actual start date and end date are entered.
•
Possible values: Any two dates
•
Example: Start Date: 02/01/2003, End Date: 02/20/2003
– Relative: A length of time relative to today.
•
Possible values: A positive integer value and one of the following units:
Day, month, week year
•
Example: Use data for last 10 days. At runtime this would be translated
to a range from 10 days ago until today.
– Range: A specific unit of time.
•
Possible values: Current week, current month, current year.
•
Example: Use data for this month. At runtime this would be from the
first of the month until the last day of the month.
򐂰 singleEnrollable: Allows the selection of a single enrollable entity (either a
catalog entry or an offering).
򐂰 multipleEnrollable: Allows the selection of a single enrollable entity (either a
catalog entry or an offering).
򐂰 multipleEnrolledCourse: Allows the selection of multiple enrolled courses.
Must be preceded by a singleUser step.
Chapter 13. Custom reports
255
򐂰 singleEnrolledCourse: Allows the selection of a single enrolled course. Must
be preceded by a singleUser step.
򐂰 multipleEnrolledUser: Allows the selection of multiple enrolled users. Must be
preceded by a singleEnrollable step.
򐂰 singleEnrolledUser: Allows the selection of a single enrolled user. Must be
preceded by a singleEnrollable step.
򐂰 multipleInstructor: Allows the selection of multiple instructors.
򐂰 singleInstructor: Allows the selection of a single instructor.
򐂰 multipleInstrGroup: Allows the selection of multiple instructor groups.
򐂰 singleInstrGroup; Allows the selection of a single instructor group.
򐂰 multipleLocation: Allows the selection of multiple locations.
򐂰 singleLocation: Allows the selection of a single location.
򐂰 multipleProfile: Allows the selection of multiple profiles.
򐂰 singleProfile: Allows the selection of a single profile.
򐂰 multipleRoom: Allows the selection of multiple rooms.
򐂰 singleRoom: Allows the selection of a single room.
򐂰 multipleUser: Allows the selection of multiple users.
򐂰 singleUser: Allows the selection of a single user.
򐂰 multipleVendor: Allows the selection of multiple vendors.
򐂰 singleVendor: Allows the selection of a single vendor.
򐂰 locale: Sets the locale; implied by the locale selected on the
presentation/format step.
All types are case-sensitive and must begin with a lower-case letter.
13.7.3 Categories
Categories are defined with the <category> tag, which stands alone outside the
<report> tag. The two attributes for <category> (both are required) are:
򐂰 ID: Unique identifier for this category
򐂰 key: The key into the ApplicationResources.properties file, used to localize
the name of the category in the user interface
256
IBM Lotus Learning Management System Handbook
13.7.4 Example of attributes for reports
The following example lists the attributes of the <report> tag for a given report,
with no localization (localize="false"):
<report
id = "swvnd"
name = "Software Training Vendors"
description = "This reports lists all the software training vendors."
category = "resource"
template = "swvendors.cls"
permission = ""
localize = "false"
catalog = "myCustomCatalog.cat" >
</report>
The text strings assigned to the name and description attributes will appear in the
user interface exactly as they appear above. The following example lists the
attributes of the <report> and <category> tags for a given report, with localization
(localize="true"):
<report
id = "rpt01"
name = "r01.name"
description = "r01.description"
category = "enrollment"
template = "someReport.cls"
86 IBM Lotus LMS Release 1 Administrator's Guide
permission = ""
localize = "true"
catalog = "myCustomCatalog.cat" >
</report>
The values of the name and description attributes, r01.name and r01.description,
respectively, point to keys stored in the file ApplicationResources.properties (in
directory <WEB-ROOt>\WEB-INF\classes\resources\lmm\properties). The
entries in this file can look like the following:
#####
# System Report Names & Descriptions
#####
r01.name = New Test Report
r01.description = A simple prototype report
Note that if you modify the ApplicationResources.properties file, an upgrade of
LMS will overwrite the changes made.
Chapter 13. Custom reports
257
13.7.5 Enabling custom reports
Before you make the new custom reports available to users, make sure that you
test your reports to ensure that they work properly. To make a custom report
available to users, the final steps you need to take include:
1. Copy all related files to each server, if you are running a clustered
environment. These files include:
– reports.xml
– The .cls report template file
– The catalog files (a .cat and a .fml file)
– ApplicationResources.properties
– The JReport language properties files (for example,
someReport_fr.properties)
When a report file is opened in JReport for editing, a .paramdesc file is
created. This file is a scratch file and is not a part of the deployment. This file
can be removed and does not have to be copied to the server(s).
2. Restart each server in the cluster.
3. If necessary, assign the Run Reports permission to any user who will run the
new report (users with the Administrator role can run any report).
You can run the new custom report in the LMM user interface in the Report
module by taking the following steps:
1. Click Run reports.
2. In the Category drop-down box, select the category in which you placed the
report with the "category" attribute for the <report> tag.
3. Select the report and run or schedule it.
13.8 Example of editing an existing report
This example shows the workflow steps when you edit an existing report. In this
example, we add the user’s distinguished name to the User Progress by Course
report. For this example, we assume that:
򐂰 JReport is installed and licensed.
򐂰 A database client is installed on the system with JReport and a connection to
the LMM database has been configured. A DB2 database is used for this
example.
򐂰 An LMM deployment is available.
258
IBM Lotus Learning Management System Handbook
Now here are the steps to follow.
1. Find the name of the User Progress by Course report file in the reports.xml.
By searching on “userprogress” we find:
<report
id = "userProgressCourse"
name = "userProgressCourse.name"
description = "userProgressCourse.description"
category = "progress"
template = "usrprog.cls"
permission = "User_Progress_Course_Report"
localize = "true" >
<select type = "singleUser" parameter = "p_transaction_oid_com" />
<select type = "multipleEnrolledCourse" parameter =
"p_tx_course_oid" />
<select type="label" parameter="p_label_in_progress"
key="catalog.attrib.offering.status.inProgress"/>
<select type="label" parameter="p_label_completed"
key="courseManagement.results.shared.progress.completed"/>
<select type="label" parameter="p_label_not_started"
key="courseManagement.results.shared.progress.notStarted"/>
<select type="label" parameter="p_label_passed"
key="courseManagement.results.shared.progress.passed"/>
<select type="label" parameter="p_label_failed"
key="courseManagement.results.shared.progress.failed"/>
</report>
This tells us that the report file is “usrprog.cls”.
2. Copy the catalog and report files into a work directory and rename the catalog
files. In this case, we copy rpt_db2.cat, rpt_db2.fml, and userprog.cls to
/Custom. We rename rpt_db2.cat to rpt_db2_custom.cat and rpt_db2.fml to
rpt_db2_custom.fml.
3. Set up the database connection in the catalog. Open the rpt_db2_custom.cat
catalog and the Catalog Browser. Expand the Connection node, right-click
JDBC Connection for DB2, and select Properties. Set the properties for
Driver, User, URL, and password. Figure 13-14 on page 260 shows an
example connection.
Chapter 13. Custom reports
259
Figure 13-14 Connection properties to connect to the LMS database
4. Verify the connection. Expand the JDBC Connection for DB2 node, right-click
Tables, and select New Table. Verify that you are presented with a table list
and that there are no error messages. Click Done.
5. Set the Value of the p_schema_com parameter. Expand the Parameters
node, click p_schema_com, and set the Value to your database schema
name. Figure 13-15 on page 261 shows an example.
260
IBM Lotus Learning Management System Handbook
Figure 13-15 Setting the value of p_schema_com
6. Open the User Progress by Course report userprog.cls and save as a custom
report, userprogcustom.cls. Click File -> Open and select userprog.cls. The
report will open in the Design window. Click File -> Save As
userprogcustom.cls.
7. Find the query that supplies the data for this report. Open the Report
Inspector, expand the userprogcustom node and click datasource1. The
query for this report is listed as q_userprog, as shown in Figure 13-16 on
page 262.
Chapter 13. Custom reports
261
Figure 13-16 Finding the query name
8. Show the q_userprog SQL, as in Figure 13-17.
Figure 13-17 Showing the SQL in the query
Cut and paste into a text file, as in Example 13-2.
Example 13-2 Pasting the SQL query into a text file
SELECT DISTINCT usr.display_name usrprog_usr_name, cata.code usrprog_course_no,
ctxt.title usrprog_course_name, enrl.oid usrprog_enrollment_oid, mtre.oid
usrprog_metadata_tree_oid, (SELECT starttime FROM :p_schema_com.progress WHERE
enrollment_oid = enrl.oid AND metadata_tree_oid = mtre.oid)
262
IBM Lotus Learning Management System Handbook
usrprog_last_accessed, (SELECT endtime FROM :p_schema_com.progress WHERE
enrollment_oid = enrl.oid AND metadata_tree_oid = mtre.oid) usrprog_completed,
(SELECT coalesce(times_accessed, attempt_count) FROM :p_schema_com.progress
WHERE enrollment_oid = enrl.oid AND metadata_tree_oid = mtre.oid)
usrprog_times_accessed, (SELECT Char(COALESCE(DURATION,0) + COALESCE((SELECT
DURATION FROM ATTEMPT WHERE PROGRESS_OID = PROGRESS.OID AND IS_SUSPENDED=1),0))
FROM :p_schema_com.progress WHERE enrollment_oid = enrl.oid AND
metadata_tree_oid = mtre.oid) usrprog_time_spent, (SELECT
Char(max(uobj.raw_score)) FROM :p_schema_com.user_objective uobj,
:p_schema_com.objective objt WHERE objt.oid = uobj.objective_oid AND
uobj.enrollment_oid = enrl.oid) usrprog_enrl_score, (SELECT
CHAR(max(uobj.raw_score)) FROM :p_schema_com.user_objective uobj,
:p_schema_com.objective objt WHERE uobj.enrollment_oid = enrl.oid AND objt.oid
= uobj.objective_oid AND objt.metadata_tree_oid = mtre.oid) usrprog_mtre_score,
(SELECT CHAR(completion_amount) FROM :p_schema_com.progress WHERE
enrollment_oid = enrl.oid AND metadata_tree_oid = mtre.oid)
usrprog_completion_amount_old, (CASE cata.type WHEN 2 THEN (CASE enrl.state
WHEN 100 THEN '0.5' WHEN 110 THEN '1' ELSE '0' END) WHEN 3 THEN (CASE
enrl.state WHEN 100 THEN '0.5' WHEN 110 THEN '1' ELSE '0' END) ELSE (SELECT
CHAR(completion_amount) FROM :p_schema_com.progress WHERE enrollment_oid =
enrl.oid AND metadata_tree_oid = mtre.oid) END) usrprog_completion_amount,
(SELECT MAX(CAST(uobj.is_satisfied AS int)) FROM :p_schema_com.user_objective
uobj, :p_schema_com.objective objt WHERE uobj.user_oid = usr.oid AND objt.oid =
uobj.objective_oid AND uobj.enrollment_oid = enrl.oid) usrprog_is_satisfied
FROM :p_schema_com.usr, :p_schema_com.enrollment enrl,
:p_schema_com.catalogentry cata, :p_schema_com.catalogentry_text ctxt,
:p_schema_com.master mast, :p_schema_com.metadata_tree mtre,
:p_schema_com.reportselection_item rpsi_usr, :p_schema_com.reportselection_item
rpsi_crs WHERE rpsi_usr.reportselection_oid = @p_transaction_oid_com AND
usr.oid = rpsi_usr.ptr_oid AND rpsi_crs.reportselection_oid = @p_tx_course_oid
AND (enrl.catalogentry_oid = rpsi_crs.ptr_oid OR enrl.offering_oid =
rpsi_crs.ptr_oid) AND enrl.user_oid = usr.oid AND cata.oid =
enrl.catalogentry_oid AND cata.oid = ctxt.catalogentry_oid AND cata.lang =
ctxt.lang AND mast.oid = cata.master_oid AND mtre.oid = mast.metadata_tree_oid
Chapter 13. Custom reports
263
Figure 13-18 Default database column of the q_usrprog query
9. Change the q_usrprog query.
Add userprog_usr_dname field for the users distinguished name in the
q_usrprog SQL.
SELECT DISTINCT
usr.display_name usrprog_usr_name,
usr.distinguished_name userprog_usr_dname,
cata.code usrprog_course_no, ctxt.title usrprog_course_name,
....
Save the changed query in a file, and in the Catalog Browser, right click and
select Update. Now you can upload the file with the adjusted SQL statement.
As you can see in Figure 13-19 on page 265, the new mapped field,
usrprog_usr_dname, now appears in the list of mapped fields as
USRPROG_USR_DNAME for the query q_usrprog in the Catalog Browser.
264
IBM Lotus Learning Management System Handbook
Figure 13-19 The q_usrprog query, with additional field USRPROG_USR_DNAME
10.Add the new user distinguished name, USRPROG_USR_DNAME, to the
report.
Figure 13-20 shows the report layout before the addition the user
distinguished name field.
Figure 13-20 Report layout before DNAME field is added
Double click the USRPROG_USR_DNAME field in the Catalog Browser and
drop the field into the report. Change the field format to UTF8 to
accommodate Unicode, as shown in Figure 13-21 on page 266.
Chapter 13. Custom reports
265
Figure 13-21 Report layout after DNAME field is added
A red arrow appears to indicate that this field is used in the report. See
Figure 13-22.
Figure 13-22 Query q_usrprog after DNAME field is added
11.Save the catalog and the report.
12.Add the report to reports.xml, as shown in Example 13-3.
Example 13-3 Adding a report to reports.xml
<report
266
IBM Lotus Learning Management System Handbook
id = "userProgressCourseCustom"
name = "Custom User Course Progress"
description = "User Course Progress Report with distinguished name"
category = "progress"
template = "usrprogcustom.cls"
permission = "User_Progress_Course_Report"
localize = "false"
catalog="rpt_db2_custom">
<select type = "singleUser" parameter = "p_transaction_oid_com" />
<select type = "multipleEnrolledCourse" parameter =
"p_tx_course_oid" />
<select type="label" parameter="p_label_in_progress"
key="catalog.attrib.offering.status.inProgress"/>
<select type="label" parameter="p_label_completed"
key="courseManagement.results.shared.progress.completed"/>
<select type="label" parameter="p_label_not_started"
key="courseManagement.results.shared.progress.notStarted"/>
<select type="label" parameter="p_label_passed"
key="courseManagement.results.shared.progress.passed"/>
<select type="label" parameter="p_label_failed"
key="courseManagement.results.shared.progress.failed"/>
</report>
13.Run Reports in the LMM and select the Progress Reports. Select the
Custom User Course Progress report. See Figure 13-23 on page 268.
Chapter 13. Custom reports
267
Figure 13-23 Selecting a report from the category Progress Report
The custom report will show the user's distinguished name after their display
name. See Figure 13-24.
Figure 13-24 User’s display name and distinguished name on 1 line in the report
268
IBM Lotus Learning Management System Handbook
13.9 Troubleshooting
In case of any problems while running the reports, you can change the log-level
of the reporting part of LMM. This will help to determine possible problems.
You can change the log level by going to the settings.xml, located in the
<WEB-ROOT>\WEB-INF\classes.
Search for enableLogging, which you will find in the ReporterSettings part of the
file, and change this to yes. See example Example 13-4.
Example 13-4 Reporter settings
<!--================================================================
ReporterSettings
Points to the location of the report definition file, logging file,
and indicates whether or not to enable report-level logging. Can
optionally specify the location of the reporter home directory
(via the "home"attribute).
================================================================ -->
<reporter component="com.lotus.elearn.reporter.ReporterMgrImpl"
xmlConfig="/reports.xml"
logFile="LMS-LMM_Reporter.log"
enableLogging="yes"/>
After a restart of the LMM, the creation of a report will automatically be logged in
the file LMS-LMM_Reporter.log. This is found in the default lms-log directory that
has been defined as a parameter in WebSphere.
Chapter 13. Custom reports
269
270
IBM Lotus Learning Management System Handbook
Part 4
Part
4
Using the LMS
In this part we introduce some tips on how to use your LMS system.
© Copyright IBM Corp. 2003. All rights reserved.
271
272
IBM Lotus Learning Management System Handbook
14
Chapter 14.
Content is still king
Why is content king? If your content does not meet the goals that it is designed
for, regardless of the number of new learning tools and technologies available,
the value of your learning environment is greatly diminished.
This chapter explores the essentials of e-Learning content design and
development within the context of the IBM Lotus LMS. We look at different types
of content and how you deploy this content in LMS.
© Copyright IBM Corp. 2003. All rights reserved.
273
14.1 Course development
Where do you start when developing a new course? What does the development
process look like?
14.1.1 The development process
Detailed elements and processes vary between organizations. However, most
development processes involve the following components:
򐂰 Requirements analysis – Evaluation and feedback
򐂰 Conceptual design – Client and user evaluation and feedback
򐂰 Prototype – Client and user evaluation and feedback
򐂰 Development production – Client and user evaluation and feedback
򐂰 Pilot testing – Client and user evaluation and feedback
򐂰 Launch – Client and user evaluation and feedback
򐂰 Ongoing evaluation and feedback
14.1.2 Instructional design
Like the development process, the instructional design process may involve
multiple methods, and instructional designers often develop their own unique
method. However, most instructional design methods include the following
components.
Requirements analysis
The requirements analysis is the most important piece of your work. This is the
process of identifying and defining requirements and constraints, and analyzing
their impact on the overall design. Your training program’s success depends on
identifying your learning goals and criteria for success.
During the requirements analysis, you will identify:
򐂰 The training need
򐂰 Audience profile
򐂰 Project constraints in terms of multiple audience characteristics, infrastructure
and technology, and budget
򐂰 Success criteria at the management, departmental, and user levels
򐂰 LMS requirements
򐂰 Implementation requirements
274
IBM Lotus Learning Management System Handbook
򐂰 Evaluation requirements
You will also identify and define resources including
򐂰 Facilitators
򐂰 Help desk assistance and documentation
򐂰 Learning goal requirements and parameters (for example, does this course
need collaboration for successful learning?)
򐂰 Content development requirements and parameters (such as re-purposing
existing content or starting from scratch)
The results of this analysis impact all subsequent development and design
decisions.
14.1.3 Design elements
When designing a course, a number of elements must be taken into account.
Learning outcomes
Define outcomes and determine how they impact the design; break down
outcomes into clear learning objectives and break objectives down into lessons.
This process provides the foundation for your course structure. Review your
learning outcomes in terms of the objectives: Is the desired end result
information transfer, skill development, a change in personal attitudes or
interpersonal relations? The desired outcome affects how important it will be for
the design to include collaboration, multimedia, simulations, or active learning.
While collaboration is always helpful in learning, it is not essential for information
transfer. However, collaboration is a key design element in courses teaching a
change in attitude, such as teamwork, leadership, or sales skills.
Audience impact
How does the audience profile impact your design? All designs should include
communication to the learner about why he should take this course and complete
it. You should use a variety of motivational techniques including rewards and
recognition. Also make sure your design includes engaging content and a variety
of activities. Since not all people learn in the same way, a well-designed course
will present the material in different forms for those with different learning styles.
Design should take into consideration how the audience works now and their
technology skill level. Course content should emulate the work environment as
appropriate.
Chapter 14. Content is still king
275
Resources
What are your available resources? You have to collect resources and determine
what you can use, what will be benefit your particular audience, and what needs
to be developed in order to meet the learning objectives.
Delivery format
Based on learning outcomes and resources, determine what delivery format(s)
you will use—for example, blended solution of online collaboration and facilitated
asynchronous material; self-paced tutorial; one stand-up teacher training class
followed by synchronous online sessions, etc. Do you need discussion boards,
e-mail, video, or on the job activities? Is asynchronous facilitation important?
Include a section defining when collaboration, facilitation, and discussion are
important.
Develop course structure
Based on the outcomes, resources, and delivery format, you have to develop a
course structure or outline.
򐂰 Do your learning outcomes and content require branching based on a
pre-test? Do you want multiple branching throughout the course?
򐂰 What is the lesson order?
򐂰 Which lessons are self-paced and which are online synchronous sessions?
򐂰 What activities are conducted online and which are conducted offline?
򐂰 Which lessons require active learning activities, video, role playing, audio, or
discussion?
As a designer, to help your course participants, structure the course in
manageable learning modules that have the following sequence:
1. Tell them what you want them to know.
2. Show what you want them to be able to do.
3. Provide the opportunity for participants to “do” what you want them to learn.
Usability - Human factors design
Notice the development process at the beginning of this section includes “User
Feedback and Evaluation” following each step of the development phase. Placing
the user in the center of the design process helps you to design a course that
participants can use and follow.
To assist users, provide a well-thought-out user interface with simple navigation.
Be sure to design the interface and share it with content developers prior to
276
IBM Lotus Learning Management System Handbook
developing content since the UI affects content “real estate”. Be sure to have end
users test the UI design.
Accessibility
Be sure to consider the accessibility needs of your audience. Acessibility can
mean learning anytime anywhere, in which case you may need to consider end
user hardware and bandwidth. Accessibility also refers to development
standards. Take into consideration screen size, font size, and design issues that
are affected by end user vision, hearing, or motor skills. Be sure to view and
follow the latest accessibility guidelines for your organization. For more
information on accessibility guidelines, visit:
http://usability.gov/accessibility/
And:
http://www.w3.org/TR/WCAG10/
Determine development tools
Based on the demands of your learning outcomes and content requirements,
determine what development tools you will need to use. Will the IBM Authoring
Tool meet your requirements? What must be developed using other tools?
Considerations include video needs, simulation needs, audio requirements,
branching requirements, assessment requirements, synchronous session tools
and requirements, and interactivity requirements.
Putting it all together
Of course, all of these decisions need to be made while taking into consideration
the project’s budget and technology constraints and success criteria.
14.1.4 Development
When you develop a course, here are some concepts to keep in mind.
User-centered design
The development process should include a plan that incorporates frequent end
user testing and feedback so the design and development can be adjusted
throughout the development process.
For tips on using the Authoring Tool to develop content and importing third party
content, refer to 14.4, “The LMS Authoring Tool” on page 293.
Chapter 14. Content is still king
277
Content development
The desired learning outcomes and course content impact course structure and
activities. Considerations include:
򐂰 Active learning strategies—Role playing, case studies, and problem solving
activities—as appropriate to the content. That is, the higher the learning level,
the stronger the need for collaborative activities.
򐂰 Multiple instructional methods to improve results.
򐂰 Motivational strategies to keep the participant coming back for more learning
and support instruction.
򐂰 Using audio, video, and animation to optimize memory retention and support
different learning styles.
򐂰 Provide scaffolding to fill in the gaps: Glossaries, reference material, Web
sites, and self assessments.
Page design
Research indicates that certain page and layout formats enable users to better
focus on learning the content versus navigating the course. Considerations
include:
򐂰 Page length
򐂰 Color
򐂰 Navigation
򐂰 Graphics and multimedia placement, in terms of layout as well as use in terms
of available bandwidth
Development team testing
Import content into LMS and set up test instructors and test users; test all pages
in multiple browsers; test all exercises and assessments; test all code. Are the
results tracking and scoring correctly in LMS?
Pilot
You are getting near the end of your instructional design and development
process. It is time to pilot the course. Sometimes deadlines and schedules
preclude us from implementing a pilot phase. Do not fall into this trap! The pilot
phase provides you with critical feedback that the success of your course can
depend upon. Initially, start with a small internal pilot user group. Gather their
feedback and make adjustments. Then launch a pilot with a sample population of
your end user group, including end user management. Make adjustments to the
course based on end user feedback, and then you are good to go.
278
IBM Lotus Learning Management System Handbook
Budget
Of course, you have made many decisions in the preceding stages based on
learning goals, requirements, and user feedback. All of these decisions need to
be made within the context of your budget and technology platform.
How much collaboration, discussion, or interactivity does your design require?
Why? Let us take a look at the IBM 4-Tier Model to help answer this question.
14.1.5 IBM 4-Tier Model
The IBM 4-Tier Model is a tool that provides a framework for placing e-Learning
into one of four basic categories. Each tier defines a different model for learning
content. For example, we learn through information presentation, content
interaction, collaboration, and collocation. Placing your course content or
educational experience into one of the four tiers, provides a framework to help
you develop and deliver education more effectively and efficiently. Educational
programs can range from tier-1 (standalone and self-paced) through blended to
more powerful multi-tiered combinations. Since the tiers also represent different
levels of performance and skill acquisition, you can develop your education in a
way that allows you to successfully build from one tier to the next, or start at the
right tier in the first place. Briefly, Figure 14-1 describes the four tiers.
Figure 14-1 IBM 4-Tier Model
Tier 1: Learn from information
Read it, see it, and hear it.
Chapter 14. Content is still king
279
Tier 1 is basic information transfer, which is ideal for communication information
on new product launches, corporate strategy, or organizational announcements.
Other examples include simple one-way presentations over the Web where
learners can quickly and simply get the information they need, as well as books
and e-books that they can read and learn from whenever and wherever. Basically
this tier is self-paced and includes introductory content for learning relatively
simple skills and knowledge.
Tier 2: Learn from interaction
Try it. Practice it yourself.
Learn somewhat more advanced skills in new applications, or simple procedural
tasks at this level. Use computer-based training or web-based training, with
computer games or simulations for practice. You are still primarily in a self-paced
mode, only now you are trying to use what you have been learning. You are
entering The Performance Zone.
Tier 3: Learn from collaboration
Discuss it. Practice it with others.
Collaboration tools, such as chats, team rooms, and interaction with online
instructors and peers, allow learners to be able to learn in virtual groups from
their shared experiences. Virtual team exercises can be used, as well as more
sophisticated technologies such as application sharing, remote application labs,
live virtual classrooms, and interactive presentations on the Web. As a learner, at
this point you are interacting with others, but you do not need to be face-to-face.
You are still in The Zone and on your own, but you are heading towards really
being able to do what you have learned.
Tier 4: Learn from collocation
Get together. Build relationships. Try it.
Finally, the learners and the instructors or experts meet face-to-face. Classroom
and mentoring, coaching, real-time learning labs, role-playing and more happen
at this level. At this level, learners are acquiring really advanced skills and
know-how that lead to performance. This requires learners to be in the same
place at the same time as they are learning. Although more expensive, the cost
can be mitigated by knowing when to develop and employ learning at this tier.
This reduces the amount of time learners need to spend out of the office and
traveling, and optimizes the use of expensive instructor and classroom facilities
and other face-to-face meetings.
280
IBM Lotus Learning Management System Handbook
So the 4-Tier Model is really a tool that gives us a way to look at the real learning
needs of the learner, find the appropriate tier or tiers, and produce a blended and
often customized learning program that truly meets the needs of that learner.
This is part of the IBM Lotus white paper The 4 Tier Model: Managing the New
e-Learning Curve. The complete white paper can be found at:
http://www-3.ibm.com/software/mindspan/distlrng.nsf/89297bbbe911d2788525674
c00675635/e4e36aa7c520bcd185256b12005c6c55/$FILE/LSP-2002-022.pdf
14.1.6 Implementation
Here are some elements to consider when you roll out the course.
Implementation team
Your implementation planning team should include members from IT, marketing,
help desk, trainers (facilitators), and subject matter experts (SMEs). The
Requirements analysis conducted earlier should have defined the number of
users and their technology profiles. Be sure the IT staff has this information.
Marketing can help you determine how to best market the course and when to
send out promotional materials. Work with the IT, informing them of live session
dates and determine when users should test live sessions.
Time line
Develop a time line for all pre-session events including:
򐂰 Marketing tasks (sending out promotional materials)
򐂰 IT and help desk tasks such as supporting end user session tests
򐂰 Facilitator tasks (sending out course-specific information to end users, for
example)
򐂰 Participant tasks (session test)
Marketing
Do not underestimate the importance of marketing your course. To ensure
success, you need both management “buy-in” and learner “buy-in”. When
learners understand “what's in it for me”, then they are more motivated to actively
participate and complete the course.
Course packs
Courses imported into, or created in, the IBM Lotus Authoring Tool, as well as
SCORM 1.2 compliant courses developed using third party tools, are packaged
into a .zip file on export. This packaged file contains the course content,
graphics, scripts, tracking data, and SCORM metadata in the XML Manifest file.
Chapter 14. Content is still king
281
Prior to implementation, you will want to thoroughly test all course packs. Import
your course into the LMS. Register the course and check the course status to
make sure it has properly deployed to the Delivery and Content servers. Review
the course creation document, course structure, and navigation to ensure it is
correct. Test your tracking and scoring data: Enroll users and have them
complete the course and all scored activities. Run user progress and completion
reports to verify your tracking.
Once you have completed testing and are satisfied that your course is ready for
pilot or implementation, then you can unregister the course to remove your test
users and information, and register the course again for deployment.
Practice makes perfect
The instructor and facilitator will want to walk through the course and look for
problems. Additional practice, using live sessions with the producer, facilitator,
and SMEs, will help ensure that the course is accurate and ready for students to
attend.
Keep your finger on the pulse
Throughout implementation, check the pulse of the course, course activities,
responses, and so forth. Check in often with participants. If your course includes
discussion, be sure to establish discussion guidelines and promptly respond to
your participants’ e-mail communications.
14.1.7 Evaluation
The evaluation stage is a key part of any training program. This stage allows you
to gauge how well the training program met the objectives for which it was
designed. Most trainers use the levels of evaluation as defined by Donald L.
Kirkpatrick. The levels are:
򐂰
򐂰
򐂰
򐂰
Level 1: Reaction
Level 2: Learning
Level 3: Behavior
Level 4: Results
Level one: Reaction
The purpose of the first-level evaluation is to gauge learner satisfaction with the
training experience by soliciting feedback from the learners on a course
evaluation form, sometimes referred to as a “smiley sheet.” Learner satisfaction is
relevant not only because you want a course to address the needs of learners,
but learner feedback helps you determine the effectiveness of the course
documentation and instructor from the learner’s perspective. If learners are
dissatisfied with the course, this can affect long-term retention of the concepts or
282
IBM Lotus Learning Management System Handbook
skills covered in the training, as well as influence learner participation in future
training opportunities. Also, dissatisfied learners will spread the word, and this
can impact the attendance and effectiveness of future classes.
Typically, a smiley sheet is designed so learners rate different aspects of their
learning experience on a 5-point scale (Scale: 1 = Strongly Disagree, 2 =
Disagree, 3 = Neither Agree, Nor Disagree, 4 = Agree, 5 = Strongly Agree).
Questions cover course content, course instruction, information presentation,
learning environment, and learning tools.
Use the built-in assessment development features in the LMS Authoring Tool to
create a level-one evaluation for your class. For rating questions, use a
multiple-choice format.
Since level-one evaluations are most effective when learners complete them
immediately upon finishing the course, it is best to make this assessment part of
your final course module or class session. If your course is a self-paced or
facilitated online tutorial, include the assessment as part of the last module and
let participants know completing this assessment is part of the course. If your last
lesson is an online session, once you have reached the end of the session, have
your participants complete the assessment before they leave.
The assessment development features in the Authoring Tool and the reporting
tools included with LMS can be used to facilitate conducting level one through
three evaluations.
Level two: Learning
The purpose of the level-two evaluation is to gauge whether the learners
understood and learned the concepts presented in your training session. To
better gauge the impact of the training session, a pre-assessment can be given
before the training session to determine the learners’ existing knowledge. At the
end of a course, learners then complete a comprehensive assessment on the
subject matter. Learner results before and after the session are then compared,
and the degree of improvement is used as an indicator for the effectiveness of
the training.
As trainers, often we are most concerned with the knowledge level of participants
completing the course, and so we deliver assessments at the end of a course or
class session. However, pre- and post-assessments offer a valuable way for you
to document learning. Use the LMS reporting tool to view learner results and
progress.
To do pre-testing, create a pre-assessment using the Authoring Tool and
structure your course so users complete the pre-assessment prior to attending a
course session or prior to completing self-paced online work. For post-testing,
Chapter 14. Content is still king
283
create the assessment using the Authoring Tools and have learners complete it
at the end of the course session or end of the self-paced online instruction. Once
the learners have completed the assessments, use the reporting features of LMS
to help analyze the results.
Level three: Behavior
The purpose of a level-three evaluation is to determine if the training resulted in
any on-the-job behavioral changes. In other words, did the learners take what
they learned in the session and begin to put it to use as part of their work
responsibilities?
A precise determination of this change in behavior requires intensive workplace
observation of the learners after they have completed the training. However, the
value of this detailed information is typically considered less than the expense
required to gather it. Instead, it is common practice to use surveys or focus
groups three months after the completion of the training program to gather this
data.
Level four: Results
The purpose of a level-four evaluation is to measure the impact of the training
program on the wider community of the entire organization and determine its
value to the organization. At this level of evaluation, we expand our thinking
beyond the impact on the learners who participated in the training program and
begin to ask what is happening within the organization as a result of the training
effort. Examples of measurement criteria may include:
򐂰 Monetary: Are we saving money as a result of this training?
򐂰 Efficiency: Have our operations improved as a result of this training?
򐂰 Moral: Has employee moral improved as a result of this training?
Although a level-four evaluation covers a broad category of possibilities, it should
answer the question: Is the training working and yielding a value for the
organization?
14.2 Content-related terminology in LMS
Here we define a few terms as they relate to LMS
14.2.1 Course
A course consists of lessons or units. A lesson consists of units.
284
IBM Lotus Learning Management System Handbook
Figure 14-2 Unit, lesson, and course
In Figure 14-3 you see what this can look like in LMS.
Figure 14-3 Course, lessons, and units
In LMS, a unit can be:
򐂰 An activity
Chapter 14. Content is still king
285
򐂰
򐂰
򐂰
򐂰
A classroom session
A virtual classroom
An e-Learning course
A combination of the above
Courses can be created in the Authoring Tool or other third-party tools. It can be
off-the-shelf content supplied by Thomson Learning, Element K, or other content
providers. Live sessions are created with the Authoring Tool. Physical activities
such as labs, workshops, seminars, or physical classrooms can either be created
in LMS or with the Authoring Tool. When creating blended learning courses, the
Authoring Tool is currently the only option.
14.2.2 Curriculum
The next level of organizing training in LMS is called a curriculum. A curriculum
can be a group of courses or events. The curriculum is a very flexible way of
building a path to achieve an education goal.
You can set up prerequisites, which means you can group courses or activities
where you can state the number of mandatory courses or events to complete.
Figure 14-4 Curriculum example
14.2.3 Certificates
A certificate is a special type of a curriculum. Completion of a certificate program
implies a certain level of competency in a particular skill or subject area.
As with other curriculum, LMS provides the option of setting up course
prerequisites. Participants may have to complete certain courses or events prior
286
IBM Lotus Learning Management System Handbook
to moving forward, or they may have a mandatory number of courses or events to
complete.
The main difference between curriculums and certifications in LMS is that a
certification includes a function to allow the instructor to set a “Maximum Time to
Complete” validity period. Administrators also have the option to set up additional
courses for re-certification.
Figure 14-5 Certification example
14.3 Where the content comes from
Content is mostly built by course developers, people who have the knowledge
and skills to create an online learning experience that is both effective and fun.
As individuals or teams, course developers must be adept in all aspects of online
education—as experts in a certain subject area, as Web developers experienced
with course development software, as Web designers who can create appealing
screens, and as instructional designers who understand online teaching
strategies.
When course developers design a content screen, they consider the visual and
auditory impressions, as well as the student's own interactions with the screen, to
create a complete learning experience. Each screen must also blend with the
context and design of other screens and contribute to the instructional goals for
the course.
Chapter 14. Content is still king
287
Note: This is part of the “Deploying content in the Lotus Learning
Management System” article by Kerry Woodward. The complete article can be
found at:
http://www.lotus.com/ldd
In addition to original content development, many companies have existing
content used for previous training events. Some of this content my fit into the new
learning structure, some of it may not. Course and content developers need to sit
down and plan how they will integrate content into the new structure. Questions
they might consider are:
򐂰 What topics are you going to cover?
򐂰 How is your content organized?
򐂰 What type of content will you include in the course? New content or
pre-existing content?
򐂰 Who in your organization will create courses using the Authoring Tool?
򐂰 If including preexisting content, what kind of content will this be?
򐂰 For new content, will you be using the Authoring Tool to create the new
content?
14.3.1 SCORM
Have you ever tried to fit a square peg in a round hole? Impossible, isn’t it? In
contrast, have you ever noticed how the interlocking pieces of highly successful
building toys, like Legos or K’Nex, allow for the reuse of basic components as
much as possible to build a wide variety of models?
That is the concept behind the Shareable Content Object Reference Model
(SCORM). SCORM is an industry standard for Web-based learning tools whose
technical specifications allow users to reuse learning components across
multiple e-Learning applications.
Although SCORM includes a set of technical specifications that facilitate the
interoperability of e-Learning components and products, it is also a bridge
between emerging technologies and commercial implementation. Users,
developers, and industry leaders work together to develop and adopt industry
standards for content organization, user data tracking, communication and
delivery formats.
288
IBM Lotus Learning Management System Handbook
Why it exists
The evolving SCORM model stems from the U.S. Department of Defense’s
Advanced Distributed Learning initiatives (ADL). ADL brings together users,
developers, and industry leaders to develop SCORM technical specifications that
increase:
򐂰 Accessibility: Learning anytime, anywhere
򐂰 Interoperability: Separation of content from the Authoring Tool and
environment
򐂰 Durability: Learning products that will evolve with technology
򐂰 Reusability: Develop once, and use many times in a variety of ways
򐂰 Adaptability: The right training at the right time
򐂰 Affordability: Better, faster, and less expensive learning
Why I care
Remember how we noted the Legos building toy allows children to reuse
common pieces to build new models? SCORM provides a common model for
developing learning components, allowing course designers and training
facilitators to re-use components as needed in multiple courses. Before SCORM,
we could not:
򐂰 Move a course from one Internet-based learning management system to
another.
򐂰 Reuse content across multiple Internet-based learning management systems.
򐂰 Create content that is searchable across multiple learning management
systems.
Finding out more about SCORM
To learn more about SCORM, visit some of the sites described in this section.
Advanced Distributed Learning
The ADL site includes general overview information, a step-by-step guide geared
towards instructional designers tasked with implementing SCORM, and links to
ADL cooperative lab Web sites. Become an ADL member and download
technical specification documents.
http://www.adlnet.org
Go to Focus Area -> SCORM.
Chapter 14. Content is still king
289
SCORM presentation
You can find a Powerpoint presentation covering SCORM basics, details of
technical specifications of SCORM 1.2, as well as where SCORM 2.0 is headed:
http://www.jointadlcolab.org/scormtutorial.htm
SCORM online tutorial
This tutorial, developed by ADL Co-Lab partner, the University of Wisconsin, is
no charge to the user:
http://www.academiccolab.org/learn/
Download SCORM technical documents
Download at:
http://www.adlnet.org/index.cfm?fuseaction=SCORDown
14.3.2 AICC
Aviation Industry Computer-Based Training Committee (AICC) is an international
association of airplane manufacturers, technology-based training professionals,
software vendors, and CBT developers. This association develops Aviation
Industry guidelines for the development, delivery, and evaluation of
computer-based training, and other technology-based training. AICC guideline
goals include:
򐂰 Effective and economic CBT implementation
򐂰 Interoperability standards
򐂰 Facilitation of an open forum for technology training discussion
AICC has developed nine AICC Guidelines and Recommendations (AGRs)
ranging from workstation guidelines to software development guidelines. Today
the AICC coordinates its standardization efforts with other agencies including
ADL-SCORM and International Electrical and Electronics Engineers (IEEE).
Why it exists
AICC was formed in 1988 to address hardware standardization needs for CBT
delivery. The aviation training community began developing the interoperability
standards in order to get the best possible value for its technology-based training
dollar. The recommendations for making a course AICC-compliant are fairly
general to most types of computer-based training and, for this reason, are widely
used outside of the aviation training industry.
290
IBM Lotus Learning Management System Handbook
Why I care
Courses designed according to AICC guidelines will offer greater flexibility and
interoperability. Depending on the AICC guidelines, you will be able to use course
components across multiple applications. However, it is important to note that
AICC compliance means the course is designed and tested for at least one of the
AICC AGRs.
Finding out more about AICC
The AICC FAQ page is a great place to start to learn about AICC. This page
covers basic information and then provides links to more complex articles and
technical documents.
http://www.aicc.org/pages/aicc_faq.htm
14.3.3 Importing existing content into LMS
Note: Detailed procedures on how to import the different content types
described in this section are provided by Chapter 8, “Working with External
Content” in the Authoring Tool Guide.
See 14.4.3, “The LMS Authoring Tool Guide” on page 295, for information on
how to obtain this guide.
SCORM-compliant courses
If a course is SCORM 1.2-compliant and requires no changes or additions, you
can import it directly into LMS with the CLIMP utility. (For more information, see
Appendix I, “CLIMP help” on page 439.) To the extent that the original course has
metatags, the activities are then tracked and the assessment scores available
through the reporting function in LMS. However, if changes are to be made, it will
be necessary to bring the course into the Authoring Tool. For example, if HR
wants to change the content or add an assessment using examples specific to
their organization, then the course must first be imported into the LMS Authoring
Tool.
If the course should happen to be a SCORM release that is below SCORM
Version 1.2, you will need to use the Authoring Tool import facility in order to
repackage and import the course into LMS.
AICC-compliant content
All AICC courses require import into the Authoring Tool prior to LMS import. The
AICC-compliant workplace safety course will have to be imported into the
Authoring Tool in preparation for its import into LMS.
Chapter 14. Content is still king
291
What if your content is not SCORM- or AICC-compliant?
What if your company wishes to utilize existing content, third-party courses,
Web-Based Training, or standard slide presentations that are not AICC- or
SCORM-compliant?
Return to the development tool
If it is a course created in-house, go back to the tool that created the content to
determine whether it can generate AICC- or SCORM-compliant courses. If it can,
then repackage the course to comply with one of the two standards.
Macromedia
For example, if it was created in a MacroMedia tool (Dreamweaver, Flash, or
Authorware) it can now be exported in a SCORM-compliant format.
Microsoft PowerPoint
If the content was created in PowerPoint or is in the form of simple html pages
that can be imported into PowerPoint, you can use Microsoft’s Learning
Resource iNterchange (LRN) to create a SCORM-compliant package.
Lotus LearningSpace 4/5
If the content was created using LearningSpace 5, it can be imported into LMS
by using the Authoring Tool.
Contact course author
If the content was created by a third party, contact them to determine whether
they now have a standards-compliant version.
Create a new course
If none of the above options is suitable, you can copy the content to any Web
server and create a new course in the Authoring Tool that contains a single
activity. This activity points to the URL of your content’s start page. See the
Authoring Tool Guide for more information, specifically Chapter 3, “Creating a
Course” - Step 5. Create a link that launches a Welcome page.”
This last approach has two drawbacks. First, courses created in this way cannot
be made available for offline use, because the content is not managed by LMS.
Second, no detailed learning progress tracking of units and lessons is available,
because LMS is only aware of the content’s first page.
292
IBM Lotus Learning Management System Handbook
14.4 The LMS Authoring Tool
The LMS Authoring Tool is a course authoring and packaging utility that comes
with LMS. This section introduces you to the concept of the Authoring Tool.
14.4.1 What the LMS Authoring Tool is meant to do
Table 14-1 helps authors understand the purpose of the Authoring Tool and how
they might use it.
Table 14-1 Authoring tool Q&A
Question
Answer
What is the Authoring
Tool?
- The IBM Lotus Learning Management System (LMS)
Authoring Tool is a content planning, creation, and packaging
application. Course designers and developers can use the
Authoring Tool at their workstations to import third-party
content or create new Web-based content for their courses.
The Authoring Tool is provided as part of the LMS package
and can be used at no additional cost by any licensed user
of the Learning Management System.
- The sole purpose of the Authoring Tool is to create
Web-based content for the Learning Management System
(Note: SCORM Export from the Authoring Tool is planned for
a future release).
Who should use this
tool?
- The tool is intended for Subject Matter Experts to easily
create content for the Learning Management system without
requiring the purchase of third-party Authoring Tools. This
tool is not intended to be used by an entire user population
(who would require more simple tools) or by training
professionals (who would require more advanced tools).
- The tool is designed to be easy to use for simple content
creation by most users while providing some advanced
features for a more limited audience (advanced navigations,
objectives, etc.).
Chapter 14. Content is still king
293
Question
Answer
What are the scenarios
that would prompt me to
use the tool?
- Quickly create Web-based content for LMS (form-based
content authoring).
- Add tests to new or existing content (for example, multiple
choice questions, fill-in-the-blank, etc.).
- Assemble blended courses for LMS (live sessions,
instructor-led classes).
- Re-purpose existing content (merge different courses, add
blended course components, sequence/branch activities).
- Add LMS-specific functionality to existing content (for
example, preview, expert location).
- Promote consistent content creation by using
custom-branded templates.
What are IBM plans for
the future of the
Authoring Tool?
- While we expect the tool to be incrementally improved
based on future needs and customer feedback, it is not IBM's
intention to significantly add new functionality to the tool in
order to compete with more sophisticated Authoring Tools
such as Dreamweaver.
- IBM has no plans to market and sell the Authoring Tool as
a separate product for creating content outside of the IBM
learning products.
14.4.2 What the Authoring Tool is not intended to do
The Authoring Tool is not intended to replace content creation performed with
ubiquitous “low-end authoring” tools (MS Powerpoint, MS Office, etc.), and is
also not intended to provide the functionality provided by high-end Authoring
Tools, such as Dreamweaver or Flash, that are required by professional training
personnel.
This tool is not designed for team authoring where multiple users work on the
same course. This type of activity would require more advanced content creation
and management functionality usually provided by a Learning Content
Management System (LCMS).
This tool is not designed to create printed training materials.
294
IBM Lotus Learning Management System Handbook
More advanced requirements for authoring (for example, team authoring,
simulations, etc.) can be provided by third-party tools or by IBM's own
services-based asset IBM Knowledge Producer (KP).
14.4.3 The LMS Authoring Tool Guide
The LMS Authoring Tool Guide is available at:
ftp://ftp.software.ibm.com/software/lotus/fixes/LearningSpace/LMS/Authoring
ToolGuide.zip
It contains detailed information on using the Authoring Tool and also comes with
sample SCORM course packages.
Note: This download file is about 100 MB in size.
14.5 Content deployment
To offer an e-Learning or blended course in LMS, you will have to deploy the
course content to the LMS.
14.5.1 Deployment process overview
Note: This section is based on the article “Deploying content in the Lotus
Learning Management System” by Kerry Woodward. The complete article can
be found at:
http://www.lotus.com/ldd
The content deployment process involves the following steps.
Step 1: Packaging
If you want to deploy course content to LMS you will first have to put the content
into the right format. As described in 14.3.3, “Importing existing content into
LMS” on page 291, you can only use SCORM 1.2 compliant course packages
with LMS. If the content is non-SCORM, you will have to import it into the LMS
Authoring Tool first and transform it to a SCORM package.
A SCORM package is a compressed file archive (zip file). It contains one or more
XML manifest files defining the course structure, the list of the files in use, and
any additional data associated with the course. The package also contains either
Chapter 14. Content is still king
295
the content files needed for running the course or the URLs that define the
location of content files.
Each course package processed through the Authoring Tool contains a unique
package ID and a version number. This allows courses to be updated correctly in
LMS later. Packages created elsewhere may or may not have these identifiers. If
the package ID and version number are missing, a package can still be imported,
but the course will not recognize subsequent imports of the package as updates,
so the package will not be updated automatically.
Step 2: Importing
After you prepare your SCORM compliant courses, you have to decide how to
import them into LMS.
򐂰 Courses you imported into or created with the LMS Authoring Tool can be
imported into LMS by using the Authoring Tools import facility.
򐂰 If you want to import third-party SCORM packages without further
modifications, you can use the LMS Command Line Import Utility (CLIMP).
You can of course use CLIMP to import courses you created with the
Authoring Tool. To see how to run CLIMP, see “Running CLIMP” on page 301.
For more information on CLIMP, see Appendix I, “CLIMP help” on page 439.
Step 3: Registering
A course shown in the Course Catalog is an offering. Each offering is based on
the content and structure of a course master. The package that you imported
appears in the LMS Course Masters Catalog as an unregistered master. Register
the master to make it available to anyone who wants to use it as a template for
their course offerings.
To register a master, you need to be logged into the LMS interface with
permission to create course masters. This permission, “Manage Masters
Catalog,” is assigned to the administrator role by default.
Step 4: Offering
Each offering is unique with its own Delivery and Content Servers, availability
schedule, instructor, location, enrollment list, and so on. After you create an
offering and make it available, it appears in the Student Catalog for students to
preview, enroll in, and complete.
You need to be logged into the LMS interface with permission to create course
offerings. This permission, “Manage Offerings Catalog,” is assigned to the
administrator role by default.
296
IBM Lotus Learning Management System Handbook
14.5.2 The deployment process in detail
This is a description of the steps performed by you and the system when you
deploy a course to LMS. A flowchart is shown in Figure 14-6 on page 298.
1. You initiate the content deployment process using CLIMP or the LMS
Authoring Tool (AT).
2. If you selected the upload option, AT copies the content package to the
specified import location (a FTP directory or a directory on the file system).
3. AT sends an import request using HTTP to the LMS Content Manager (CM)
residing on the LMM. The request includes the package name and the import
location (FTP server, user, password, or the file system path).
4. CM retrieves the course package and copies it to the packages directory
defined during the LMM installation. It also extracts the course content to a
subdirectory of the packages directory.
5. CM creates an unregistered course master.
6. CM sends a completion notification by e-mail to you.
7. You register the course master using the LMS user interface.
8. Optionally you delete the course package from the import location, since it is
not needed any longer.
9. You create a course offering based on the course master and select a DS to
handle the offering.
10.Through HTTP, CM sends the offering information (especially the course
content structure) to the specified DS.
11.For every content server attached to the DS, the DS sends a request back to
the LMM CM to push the content to the content server. These requests
include the way (FTP or file system) and the location of where to send the
content to.
12.CM serves DS’s requests by copying the content at the specified locations.
To supplement the process flow in Figure 14-6 on page 298, Figure 14-7 on
page 299 shows a ocmponent flow.
Chapter 14. Content is still king
297
LMS administrator initiates
content deployment process
using CLIMP or the LMS
Authoring Tool (C/AT)
C/AT: Has upload
been option selected?
yes
C/AT: Is upload
location an FTP
directory?
no
yes
C/AT copies content package
via FTP to the upload location
no
C/AT copies the content
package on file system level to
the upload location
C/AT sends import request via
HTTP to LMM CM including
upload location details
LMM CM creates an
unregistered course master
LMM CM downloads content
package from upload location
LMM CM sends a completion
notification via e-mail to the
LMS administrator
LMM CM copies and extracts
the content package to the
packages directory
LMS administrator registers
the course master in LMM
[optional] LMS administrator
deletes the course package
from the upload location
LMS administrator creates a
course offering and selects a
DS to handle the offering
LMM CM sends offering to the
specified DS via HTTP
DS sends a request to the
LMM CM via HTTP to push
the content to the content
server(s) and indicates the
FTP/file system location(s)
DS’s content server … n
DS’s content server 1
LMM CM:
LMM CM:
Is content location for
Is location an FTP
this content server an
directory?
FTP directory?
no
yes
LMM CM copies the extracted
files of the content package
via FTP to the specified FTP
location
LMM CM extracts the content
package to the specified file
system directory
Figure 14-6 LMS content deployment - Process flow view
298
IBM Lotus Learning Management System Handbook
Climp/Authoring
Tool
(1) content package
via FTP or file system
(2) upload request via HTTP
content
package
import location
(3) content package
via FTP or file system
LMM
(4) content package
via file system
/packages
directory
(7) content package
via file system
CM
(6) request via HTTP to
deploy the content
DS
(5) offering via HTTP
(8) extracted content package
via FTP or file system
DS’s content
web server 1..n
Figure 14-7 LMS content deployment process - component view
14.6 CLIMP, the LMS Command Line Import utility
CLIMP is the command line tool provided by LMS to import into or to update
existing SCORM 1.2 course packages in LMS. CLIMP is Java-based and runs
under Windows and UNIX.
14.6.1 Installing CLIMP
If you selected the Utilities option when you installed LMS, CLIMP was installed
in the installation directory specified.
To use CLIMP from another workstation, you have the following two options:
򐂰 Copy the CLIMP-related files manually from the installation directory to the
workstation. To do this, create a directory called CLIMP on the workstation
and copy the bin, java, and lib directories from the LMS server’s LMS
installation directory to this directory.
򐂰 Run the LMS installer on the workstation and select to install Utilities only.
Adjust the installation directory.
14.6.2 Using CLIMP
In this section we discuss using CLIMP.
Chapter 14. Content is still king
299
Check prerequisites
Before you start using CLIMP, check the following things:
򐂰 Ensure that the content you want to import is SCORM 1.2 compliant.
򐂰 If you are using FTP:
– Is the import location accessible (FTP or file system)?
– What is the FTP user name/password to access the FTP server?
– Does the FTP user have write permission?
– Is the FTP server accessible from the workstation AND the LMM
machine?
Tip: To test the access to the FTP server, you can use:
򐂰 Your Web browser (use the FTP URL, starting with ftp://),
򐂰 The command line FTP client (start it with, for example, ftp
myftpserver.com), or
򐂰 A third-party FTP client such as FileZilla, available for free at:
http://sourceforge.net/projects/filezilla
򐂰 If you are using file system transfer, ensure that the course package is
available to the LMM via the same file path as on the machine you are running
CLIMP on.
File system transfer is automatically used when you omit FTP settings. You
should use the file system transfer only when running CLIMP directly on the
server.
򐂰 What is the LMS administrator’s name and password?
򐂰 What is the URL of the LMS Content Manager servlet? It is usually something
like this:
http://<web_server>/lms-lmm/import
򐂰 In which directory is the course package you want to imported located?
The properties file
You can run CLIMP from the command line by starting a batch file from the bin
directory. Under Windows it is called climp.bat and for UNIX it is climp.sh. The
batch file expects several parameters to perform the import. See Appendix I,
“CLIMP help” on page 439, for detailed information on the CLIMP syntax.
300
IBM Lotus Learning Management System Handbook
To make the usage of CLIMP easier, you can also provide most of those
parameters in a separate properties file, and when you run CLIMP, you then
specify the properties file and the course package you want to deploy.
To create a properties file, open an text editor on the workstation (for
example,Notepad) and insert the following lines with the right values for your
LMS environment.
򐂰 The URL for the Content Management servlet, for example:
cm=http://itsolms3.cam.itso.ibm.com/lms-lmm/import
򐂰 The LMS administrator’s name and password, for example:
cmu=lmsadm
cmp=starshine
򐂰 The URL for the FTP server, for example:
ftp=itsolms3.cam.itso.ibm.com
򐂰 The FTP user name and password, for example:
ftpu=ftpadm
ftpp=starshine
򐂰 The e-mail-address(es), for example:
[email protected]
Save the file in the CLIMP bin directory as climp.properties.
Running CLIMP
Open a command line on your workstation and go to the bin directory on your
machine. For example:
cd c:\climp\bin
To start the import process use the following command on Windows:
climp -u -p climp.properties <course_package_filepath>
On UNIX you will enter:
./climp.sh -u -p climp.properties <course_package_filepath>
You can also use an asterisk in the <course_package_filepath> to upload
multiple packages at once, for example: c:\packages\*.zip.
If your course import using CLIMP has been successful, you should see a
message similar to Figure 14-8 on page 302. If you see a different message or
no message at all, then the import process has not been successful.
For more information on CLIMP, see Appendix I, “CLIMP help” on page 439.
Chapter 14. Content is still king
301
Figure 14-8 Successful course import
The course package is now stored on the LMM machine in the packages
directory.
Next steps
Check if the course is available as unregistered master.
1. Log in to LMS with an administrator user.
2. Click the Course Catalog tab.
3. Click Register Master to register the new course as a master.
4. Choose either Course, Curriculum or Certificate depending on your course
structure.
5. Click Continue.
6. Your course should appear as unregistered master, as shown in Figure 14-9.
Figure 14-9 Unregistered Master
7. Now you can register the course master and create course offerings as
described in the LMS Administration Guide.
302
IBM Lotus Learning Management System Handbook
14.6.3 Troubleshooting with CLIMP
If you are experiencing problems when deploying courses, check the following
things:
򐂰 Is the LMS up and running?
򐂰 Is the FTP server running?
򐂰 Is the FTP server accessible from your workstation and from the LMM
Server?
򐂰 Does the FTP user have write permissions?
򐂰 Are there typing errors in the properties file?
򐂰 Is the content SCORM 1.2 compliant?
Below we include examples of typical errors and how you can resolve them.
URL for Content Management is wrong
If this error message appears, you must check the content manager URL that
you entered in the properties file; for example:
cm=http://<web_server>/lms-lmm/import
Figure 14-10 CLIMP error: Wrong Content Manager URL
LMS administrator and password are wrong
If this error message appears, you should check the LMS administrator’s name
and password in the properties file, for example:
cmu=lmsadm
cmp=pass12word
Chapter 14. Content is still king
303
Figure 14-11 CLIMP error: Wrong LMS administrator
FTP Server unreachable
Figure 14-12 CLIMP error: FTP server not reachable
If this error message appears, you should check if the FTP server is running and
if the FTP server name specified in the properties file is correct, for example:
ftp=myftpserver.mycompany.com
You also should check if the FTP server is accessible from the workstation and
from the LMM machine.
FTP user name and password are wrong
If this error message appears, you should check the FTP user’s name and
password, for example:
ftpu=ftpadm
ftpp=mysecretpw
304
IBM Lotus Learning Management System Handbook
Figure 14-13 CLIMP error: Wrong FTP user
Chapter 14. Content is still king
305
306
IBM Lotus Learning Management System Handbook
15
Chapter 15.
A User view of LMS
In this chapter we explain the use of the LMS by covering the user interfaces and
describing the functions and features. These change, depending on the role you
have when you log in.
We also describe the installation and deployment process of the Offline Client.
© Copyright IBM Corp. 2003. All rights reserved.
307
15.1 The user interface
The LMS provides features and functions for several types of users. Each user
sees the interface that is appropriate to the user role he has been assigned. We
can differentiate by default between five interfaces:
򐂰 Anonymous interface
򐂰 Student interface
򐂰 Manager interface
򐂰 Instructor interface
򐂰 Administrator interface
A company can customize more interfaces, depending on the roles and functions
in the company.
Note: For more about roles, see Chapter 11, “Configuring LMS” on page 177,
in the LMS Administration Guide.
15.1.1 Anonymous access
The LMS allows users to enter the site without any login. But the administrator
can revoke this anonymous access.
An anonymous user can display the Home Module and the Course Catalog; see
Figure 15-1. If online courses are available for anonymous users, they can enroll.
Figure 15-1 Anonymous interface
15.1.2 Student access
Students can access the Home module and the Student Catalog.
308
IBM Lotus Learning Management System Handbook
The Home Module
The LMS Home Module is composed of several categories and related functions.
From the Home Module, the user begins working in the LMS. In the next sections
we explain some of the main features.
At a glance
This category contains several functions related to a Person’s Calendar and
Profile. The Notification function lists any notifications (messages) you have
received, while the Approval function informs you about any approval you need to
perform. Last but not least, the Offline Learning Client can be used for those who
want to go through their e-Learning materials disconnected from the LMS
System. See Figure 15-2.
Figure 15-2 Home - At a glance
Calendar
The Calendar section shows two different tabs. The Schedule tab provides you
with information on scheduled activities. You can change the view by month,
week, or day. See Figure 15-3 on page 310.
Chapter 15. A User view of LMS
309
Figure 15-3 Calendar - Schedule
In the Activities tab, you find information on current activities, including starting
and ending dates and locations. See Figure 15-4.
Figure 15-4 Calendar - Activities
310
IBM Lotus Learning Management System Handbook
My Profile
Profiles represent skill sets and areas of interest, and are used to determine your
list of Recommended Courses. My Profiles allows you to define your interests by
selecting one or more profiles created by your LMS administrator. Each profile
group contains several related profiles from which to choose. Users can select
any number of profiles. Based on your selections, the Learning Management
System displays a list of recommended courses at the bottom of the At A Glance
page at the Home tab. From this list, the users can self-enroll (if it is allowed) or
request enrollment from the instructor or administrator for a course on the list.
Profiles are set up in different categories or groups. Each user can choose a
group in which different profiles have been set up during the configuration part by
the LMS administrator. See Figure 15-5.
For more details on profiles, see Chapter 11, “Configuring LMS” on page 177.
Figure 15-5 My Profile
Based on this selection, the LMS will display a list of recommended courses for
this specified profile group. The user will find all courses recommended for a
profile in the list at the bottom of At a Glance.
Notifications
The Notification section lists all notifications you receive while you are working
with the LMS. You can receive different notification types. One might be an
enrollment notification; another might be information from another user. See
Figure 15-6 on page 312.
Chapter 15. A User view of LMS
311
Figure 15-6 Notifications
Approvals
Some courses in your system might need management approval. The status of
approvals is found in the Approval section. See Figure 15-7.
Figure 15-7 Approvals
312
IBM Lotus Learning Management System Handbook
Offline Client
The Offline Client is described in 15.2, “Offline Learning Client” on page 318.
My Courses
This Category explains in more detail the functions related to the enrolled
courses and curriculums or certificates that the user is interested in. You also can
have a look at all completed courses within a given curriculum or certificate path.
See Figure 15-8.
Figure 15-8 Enrolled courses
Resources
Miscellaneous functions related to progress reports and how to obtain additional
information or help are available in this area of the home page. See Figure 15-9
on page 314.
Chapter 15. A User view of LMS
313
Figure 15-9 Progress report
Student catalog module
Authenticated users have access to courses and course catalogs that are not
available to anonymous users. Anonymous users have access only to courses in
the Student Catalog, which have been made available for them. See
Figure 15-10.
Figure 15-10 Student Catalog
314
IBM Lotus Learning Management System Handbook
15.1.3 Manager interface
Managers are assigned in the LDAP directory. When a user is rostered in the
LMS, the user’s manager is automatically rostered. See Figure 15-11.
Figure 15-11 Manager interface
Home module
In addition to the student options in the navigation pane, the Home Module in the
Manager Interface is used to view and respond to requests for enrollment
approval. The approval request is routed to the manager’s Home Module.
Student catalog module
Managers are also students. They can view the Student Catalog and enroll in
courses that allow self-enrollment.
Report module
In the report module the managers can compile reports to track student
progress, and view a list of courses in which their direct reports are enrolled.
15.1.4 Instructor interface
The instructor uses additional LMS functions as a student. See Figure 15-12 on
page 316.
Chapter 15. A User view of LMS
315
Figure 15-12 Instructor interface
Home module
In addition to the student options, instructors use the Home module to:
򐂰 View and modify live sessions
򐂰 View courses they are teaching
Course management module
In the Course Management Module, the instructors view progress data and final
results. Some progress data is automatically tracked by the LMS. However, in
some instances the instructor must manually enter progress and results data.
Reports module
The instructor compiles reports to view:
򐂰 Individual student and group progress
򐂰 Teaching schedule
򐂰 Class roster
15.1.5 Administrator interface
The administrator role provides permissions to view all modules and functions of
the LMS. See Figure 15-13 on page 317.
316
IBM Lotus Learning Management System Handbook
Figure 15-13 Administrator interface
User module
Administrators use the tools of the Users module to:
򐂰 Add and remove users from the LMS roster.
򐂰 Create and assign user and system profiles.
򐂰 Manage access and assign access roles to users.
Course catalog
Administrators use the tools of the Course Catalog module to:
򐂰 Create and register Course Masters.
򐂰 Create and manage curricula and certificate programs.
򐂰 Manage the Course Catalog.
򐂰 Assign instructors to courses.
򐂰 Schedule course offerings.
򐂰 Schedule offering resources.
Chapter 15. A User view of LMS
317
Course management
Administrators use the tools of the Course Management module to:
򐂰 Manage enrollment.
򐂰 View and override enrollment restrictions (approvals, wait-list).
򐂰 View results.
Resources
Administrators use the tools of the Resources module to:
򐂰 Manage physical training spaces such as classrooms, auditoriums, meeting
rooms, and labs.
򐂰 Manage instructors.
򐂰 Manage vendor information.
Reports
Administrators use the tools of the Reports module to compile information and
reports, and to schedule automatic compilation of reports.
Settings
Administrators use the tools of the Settings module to manage the LMS
configuration, manage system settings, and create and distribute system
announcements.
15.2 Offline Learning Client
The Offline Learning Client allows users to take course content offline. When
working on a course offline, all course prerequisites and navigation features are
fully functional for the student. The Offline Learning Client lets you access the
disconnected use feature. To properly deploy the Offline Learning Client after you
have installed and deployed the LMS Server, the administrator first needs to
update some general settings on your LMS Server.
15.2.1 Deploying the Offline Learning Client
Note: The different components and outpaces of the Offline Client are not split
across several chapters. The deployment of the Offline Client should be done
during the configuration of the LMS if your company has decided to make the
Offline Client available for the users.
318
IBM Lotus Learning Management System Handbook
In this section, we describe how to set up the Offline Client before using it.
1. Start the LMS Server.
2. Go to the Settings tab.
3. Click LMM Server.
4. Click General Settings.
5. Enter <HTTPServerdirppath>/duc/OfflineClientWin32.exe in the URL of the
Offline Learning Client field. This should point to the path in your Web server
where you have put the OfflineClientWin32.exe package. See Figure 15-14.
initial.exe has been extracted during the installer phase, which can be found
in your <installed_dir>\distribute..
Figure 15-14 Offline Client directory
6. Enter the version of the Offline Learning Client that is being deployed in the
Version field. The LMS Server “About” document contains a version number
Chapter 15. A User view of LMS
319
like 1.0 -eu200221122_M12. Enter the 1.0. Your screen should look like
Figure 15-15.
Figure 15-15 Settings in LMS
15.2.2 Downloading the Offline Learning Client
Once you have deployed the Offline Learning Client, any user can download the
Client onto his local environment (machine). After the download, run the
installation of the package.
The installation is easy. You will be prompted for some input. One of the
installation screens will ask you for the LMS Server information. Type in the URL
of your Learning Management Module Server, as shown in Figure 15-16 on
page 321.
320
IBM Lotus Learning Management System Handbook
Figure 15-16 Setting up the Offline Client
15.2.3 Using the Offline Learning Client
Once the installation has been performed, you now can start the Offline Learning
Client, as follows:
Start - Programs - IBM Lotus - Offline Learning Client - Start / Stop
Starting the Client will take some time, as several services will start in the
background and course information needs to be downloaded. The first time, you
will be prompted for your user ID and password. Afterwards, whenever you start
the Client again, you will only need to type in your password, as the Client will
remember your user ID. This means that your workstation is dedicated to that
Offline Learning Client. See Figure 15-17 on page 322.
Chapter 15. A User view of LMS
321
Figure 15-17 Log into Offline Client
When a user wants to take a course offline from a file, she needs to be enrolled
in the course. It must also appear in the list of courses she can take offline (by
clicking Update course data in the offline Client). Also she must have access to
the zip file that corresponds to the course she wants to take offline. From that list
of courses, the user can choose to take a given course offline (just by checking
the course and clicking Take offline). Once the course is offline, she can start it
by clicking Launch. See Figure 15-18 on page 323.
322
IBM Lotus Learning Management System Handbook
Figure 15-18 Using Offline Client
15.2.4 Using the Offline Client on one workspace for different users
The LMS does not support having multiple Offline Clients installed for multiple
users on the same machine.
15.2.5 Silent mode installation
In your company, some users might not have the rights to install any software on
their machines, so the installation has to be done by administrators. For this
reason, you should install the Offline Client in a silent mode. You need to fill out a
Chapter 15. A User view of LMS
323
simple response file with the actual values for the LMS address, port, and install
location.
You must copy that file to the same directory as the Offline Client Installer and
run the following command:
OfflineClientWin32.exe -options "offlineOptions.txt" -silent
15.2.6 Install the Offline Client from a CD
The offline client is available as an .exe file that can optionally be distributed from
a CD.
324
IBM Lotus Learning Management System Handbook
Part 5
Part
5
LMS scenario
This part illustrates the techniques we have described by using a fictional story.
© Copyright IBM Corp. 2003. All rights reserved.
325
326
IBM Lotus Learning Management System Handbook
16
Chapter 16.
Corporate scenario
In this chapter we describe a fictitious scenario of how LMS can be deployed and
configured in a company.
After you read this chapter, see Appendix G, “Configuring LMS for the MAGIC
company” on page 397, for a detailed step-by-step scenario on how a company
might configure LMS for its educational offerings. This appendix uses the
situation of the ficticious MAGIC company to step you through the configuration
setup.
The MAGIC company and all its employees are fictitious and are in no way
describing real-life people or companies.
© Copyright IBM Corp. 2003. All rights reserved.
327
16.1 What it takes to implement the LMS
The Manufacturing Global Industrie Corporation (MAGIC) is a company involved
in the design and fabrication of steel joists, deck, and steel components. The
company also specializes in the fabrication of semi-trailers and forestry
equipment. The company operates 34 plants, including 16 in the United States, 7
in Canada, 6 in Europe, and 5 in Asia Pacific. It has over 30,000 employees.
MAGIC wants to develop and implement a learning solution to enable employees
to use IT business applications within the company's steel unit. Previously, a
group of approximately 10 applications specialists had been responsible for the
deployment of business systems across the company's physical sites. When
implementing new applications in a site, each specialist spent one to two weeks
on location training and assisting employees in the start-up process. While this
approach was fairly efficient during the initial launch, the system quickly became
unmanageable for training new personnel across all sites. Each new employee
has unique as well as site-specific training requirements.
Since it was critical for new hires to get trained as rapidly as possible, the
company decided that a learning solution would address this challenge. In
addition, MAGIC is challenged with the need to train a wide variety of individuals
in many different areas. These individuals are located across many business
areas and are located in 30 offices. Therefore, MAGIC had to identify the most
cost-effective and efficient method for conducting this training without diminishing
its effectiveness.
This solution should also allow the management to track students' progress and
understanding of the material. After researching many training options, it was
determined that the LMS would provide an efficient way of delivering training to
such a large and widely-dispersed audience.
Deploying IBM e-Learning technologies would enable employees to acquire
basic skills across the Web while benefiting from interactive sessions with a
trainer. These live sessions, running under the Lotus Virtual Classroom, would
ensure that all questions have been answered and all skills mastered. Training
material also needed to be available in different languages to cover the
company's geographically dispersed sites.
A successful implementation and deployment relies heavily on expertise and
involves a certain amount of organizational change—none of which happens
overnight. The benefit to an organization in undertaking this challenge is having a
system in place that will serve the whole enterprise, giving greater flexibility and
significantly reduced operating costs.
328
IBM Lotus Learning Management System Handbook
16.1.1 The project team
Implementing LMS requires a team effort from qualified people.
Figure 16-1 Ron
Have you met Ron? He is a highly committed top manager who coordinates
global projects at MAGIC. He has heard that the LMS provides all kinds of
learning offerings to all the employes in his company. Ron committed to his
managers to quickly deliver solutions that not only reduce costs but also support
a global extension and optimization of the different learning offerings within the
company. He wants a global solution more quickly than the competitors.
Figure 16-2 Paul
Do you know Paul? He is an experienced project manager in the company. Paul
will deliver the LMS deployment ASAP. He knows about the problems of
deploying LMS and the visions of his management. So he has to make sure that
the project team will do a good job.
Figure 16-3 Lisa
Chapter 16. Corporate scenario
329
Lisa is a Senior Project Consultant. Lisa will support Paul in the delivery of the
project. She knows all about the technical possibilities and constraints within the
company. She has many contacts who can support the project team, and she
knows some experts on the topic of learning in the company.
Figure 16-4 Ana
Because of new hires training and resource coordination, the HR Department
has to be involved in the project. Have you met Ana, the resource coordinator?
One of her roles is to hire new employees and to offer them a quick, tailored
training and development plan. She works very close with Janett, who is the
learning expert in the company.
Figure 16-5 Janett
Janett is not only a learning expert in the company, but also she is a professional
trainer and a tutor for some e-Learning courses. In her opinion, education is one
of the major things a company should offer. She will help to plan the new learning
strategies and offerings in the company. In addition, she supports Ana in the HR
New Hire program and has an eye on the education that comes with the
implementation of LMS.
330
IBM Lotus Learning Management System Handbook
Figure 16-6 Mike
Mike is the leader of the IT Department. He is involved in the project because his
department has to enroll the infrastructure and is in charge for IT and system
services. This cannot be done by Mike himself. His task might be to build another
team regarding all IT topics because of the complexity of the new product.
Kick-off meeting for the project
The project team attends a kick-off meeting and gives a features and benefits
presentation. Each member immediately starts thinking of how the product will
solve their immediate problems and provide a springboard to functionality that
they previously considered prohibitive with the current infrastructure constraints.
Ron reinforces his commitment to the project. The presentation drove home the
possibility of putting a global solution in place to assure that MAGIC can present
a consistent educational offering worldwide. Currently, each plant manages their
own learning offerings and corporate had no way to assure that mandatory
offerings were made available worldwide. Ron also realizes that he may need to
add another member to the team. The administration features of LMS will require
all participating plants to post their course masters and offerings into the LMS
database. Someone experienced in the ongoing scheduling and administration of
the learning offering needs to be added to the team.
Paul is excited to see how responsive the team is to the presentation. As with any
task force, there are people on his team that he has not personally worked with
before and he was very pleased to see how excited they are about the product.
He is aware of Ron's goal to make this globally available and he feels confident
that this is the tool that can make it happen. Based on the team’s questions
during the presentation, he anticipates the need for a follow-up project to
accommodate many of the more advanced functions of the product, such as
implementing LVC functionality with the product and certification tracks for
employees.
Lisa realizes that the ideas her associates from the learning arena have been
sharing with her are about to happen here at MAGIC. Learning professionals
Chapter 16. Corporate scenario
331
within the organization have often commented that there is an extraordinary
amount of wasted manpower and duplicate effort within the organization,
because each plant is responsible for its own education offerings. Finally she will
be able to present the organization with a tool to allow them to search all course
content available within the company. The possibility of language conversions is
an enhancement that she feels the company should consider in the near future.
The rollout has been justified based on the need for a more efficient IT offering,
but Lisa knows that other training areas will also greatly benefit.
Ana is receiving approximately 100 new employees per month, so her office has
been overwhelmed with tracking and reporting. Critical OSHA reports are time
consuming to prepare due to the numerous different tracking systems that each
plant uses. She has tried on several occasions to get all plants to conform;
however, her previous attempts have been unsuccessful. She sees this LMS
product as the solution. In addition, she sees the possibility of worldwide
compliance on mandatory training requirements for legal compliance and an
easy way to track them. This is a feature she is very excited about having in
place.
For Janett, this is her dream come true—state of the art technology being rolled
out. She has the opportunity to be part of the planning process. She understands
that the initial rollout is to move their assorted course offerings into a consistent
global offering but she also knows that this tool will allow her to incorporate some
of the ideas that she has been unable to move ahead with due to time and
infrastructure constraints. She is especially interested in putting together a
certification track offering that corresponds to MAGIC's professional development
goals for advancement within the company.
Mike has to build a team who will start the capacity planning and the server
deployment. Mike noticed that it is not only the installation point of view, but also
the IT services he must keep in mind. Since he does not know a lot about
business on demand or J2EE, Mike searches for a good skilled team in topics
such as J2EE, WAS, and LDAP.
16.2 Project plan for the deployment at MAGIC
During the kick-off meeting, the team has developed a stepping stone approach,
as was recommended by external consultants, towards implementation of the
LMS. Then MAGIC can make the most of this powerful learning system and take
advantage of its many facets.
The stepping-stone approach leads the project team through three stages to full
deployment followed by periodic health checks.
332
IBM Lotus Learning Management System Handbook
Figure 16-7 Project plan
16.3 LMS testbed launch
In MAGIC, it is known that the product and its deployment is something difficult.
Therefore they will start with an overall project plan. Paul has to convince Ron
that a quick deployment and solution may cause some problems. To be better
than all competitors, offering learning on demand and having a good ROI is one
consideration to be kept in mind by management. To offer a good solution with
high performance is the other consideration; this will be done by the project team
in the next steps. After some energetic discussions with Ron, Paul convinces him
to spend more time in planning and testing before they will start the complete
deployment. MAGIC’s project team starts with the planning, just as we
recommend in Chapter 2, “Planning your LMS deployment” on page 9.
16.3.1 Define boundaries
After the successful kick-off meeting, Paul invites the project team to a one-day
workshop. His goal is to make the team understand the complexity of the
product, though he is willing to make the team think about both the business and
technical aspects. The team splits into technical- and business-oriented teams.
During this session, the teams will brainstorm on how best LMS can be utilized
within MAGIC to identify and agree on the scope.
16.3.2 Building a testbed system
Before starting a complete deployment in the company, Paul and Mike decide to
install and configure a limited, non-production, testbed model of the LMS. Once
the testbed has been built, it will be populated with a sample of the already
existing content. Ana and Janett will join them during this tasks. This testbed is
available for use during the entire deployment.
Chapter 16. Corporate scenario
333
16.3.3 Skills transfer for both business and technical communities
The technical team (Lisa, Mike, and his team) will work out the configuration plan
using the existing testbed installation. They plan the configuration as it is
described in the configuration chapter in this publication. The business team
(Ana, Janett, Paul) has to configure a sample of their live course data and will
test the use of the content Authoring Tool and the CLIMP to import existing
content. They start to work on an education program and skill development plan
for the product.
During this phase of the LMS deployment, the testbed is subsequently used for:
򐂰 Internal demonstrations and awareness
򐂰 Technical design validation
򐂰 Investigation of existing content assistance with feature implementation
decisions
򐂰 Further skills development.
After few days of testing and working on the LMS, the team meets again to start
the planning for the official deployment.
16.4 Scoping, planning, and architecture
After a few days of testing the system, the team starts with scoping, planning,
and architecture planning, which addresses both the business and technical
requirements of MAGIC’s solution. It provides an understanding of the impact of
the deployment within the production environment. MAGIC’s Project Team has to
review the environment and business needs. Mike and his team will provide
recommendations of what is required to deploy LMS, its components and
courseware, within the organization.
This phase of the project follows two streams and includes the following
activities.
Business assessment
The business team—Ana, Janett, and Paul—works out the related business
topics:
򐂰 Assess learning and content delivery requirements.
򐂰 Define course administration and management processes.
򐂰 Design content migration and taxonomy standards.
򐂰 Survey the market for learning content specific to the organization’s needs.
334
IBM Lotus Learning Management System Handbook
򐂰 Skills gap analysis for business and technical individuals.
򐂰 Create a High-Level Business Transformation Plan.
Technical assessment
The technical group has to make a more technical plan concerning the
implementation of LMS. Mike, the IT specialist, contacts other people in his
department. Business on demand and J2EE is something he has not worked
with before. He stays with the team and supports them with his IT thinking. The
following topics must be solved by his team in the next couple of days:
򐂰 Infrastructure scalability and readiness for hosting e-Learning activities.
򐂰 Integration concept (workflow, ERP, and databases requiring change for the
successful rollout of LMS).
򐂰 Identify areas necessary for governance.
򐂰 Perform capacity planning.
򐂰 Define archiving strategy.
򐂰 LDAP Schema integration and design security policies.
򐂰 Create High-Level Implementation Plan.
Also, they can use a questionnaire like the one in Appendix A, “Sample sizing
questionnaire” on page 359.
When the tasks are finished, the team will provide an impact and gap analysis
report for implementing the LMS, a blueprint design for the required architecture,
and an outline deployment project plan.
16.4.1 Capacity planning for MAGIC
As we mentioned in “Technical assessment” on page 335, Ana, Lisa, and Janett
have to find out how many users are going to use the LMS and where. When they
have finished this task, they can give their sizing to Mike and his technical team.
The technical team can then start the hardware sizing planning.
As we mentioned, the company operates in 34 plants, including 16 in the United
States, 7 in Canada, 6 in Europe, and 5 in Asia Pacific. There are over 30,000
employees registered in the LDAP Directory, but not all of them need to access
the system. For the first deployment, MAGIC plans 15,000 rostered users. The
rostered users are employees who get trained in using IT business applications
within the steel unit; new employees receive unique training to be prepared for
the new job. Ana knows that they plan to offer management training through the
LMS. In the future, these will surpass the training offerings for all employees.
Chapter 16. Corporate scenario
335
A very small portion of the rostered students will be enrolled in courses at any
one point in time, so the size of this population will have a minimal effect on the
performance of the LMS system and will impact mostly disk space requirements.
Finally Ana and her team come to the population that is of most interest to us.
These are the students who are logged onto the system. These students who are
actively and simultaneously logged onto the system form one of the largest
requirements for LMS system performance.
Table 16-1 gives an overview of MAGIC’s user population for the LMS.
Table 16-1 Capacity planning for MAGIC
Type
#
%
Number of employees in MAGIC’s Corporate Directory
30,000
Rostered students in the LMS
15,000
100.0
Enrolled
1,500
10.0
Concurrent users
750
5.0
For capacity planning, a configuration for this corporation needs to support about
750 concurrent logins. With this information, the technical team can start the
hardware sizing for the LMS deployment.
16.4.2 Pre-configuration
MAGIC takes the testbed system as a starting point for the pre-configuration part
and the activities for the configuration of LMS. They define a concept and
checklist related to the pre-configuration. The elements of the checklist will be
used later on during the configuration and will reflect the business requirements
of MAGIC mapped onto the LMS environment.
Pre-configuration checklist
This checklist is a laundry list of things a company such as MAGIC needs to
collect before starting to configure the LMS.
You will see that most probably there is a mismatch between the existing
procedures and how it is supposed to be once LMS is up.
Also, there will most likely be issues relating to consistent course codes.
Since this is a worldwide installation all locations must conform to the same
course coding system.
336
IBM Lotus Learning Management System Handbook
This checklist will help MAGIC to collect the requested information related to the
different topics they need prior to updating LMS.
򐂰 Course masters and offerings
–
–
–
–
–
Course Catalogs
Course codes
Prerequisite information
Course length
Room/equipment requirements
򐂰 Resources
–
–
–
–
–
Building/room listings and who manages them
Vendor lists
Instructor lists
Instructor skills
Instructor zones—geographies serviced by instructors
򐂰 Security
– Who will administer?
– Who will manage users?
– Will self-enrollment be allowed?
򐂰 LDAP
What fields will be required in LMS?
– Manager—for enrollment approval
– EmployeeType—for security and profiles
– Organizational Units (OUs)—for security and profiles
򐂰 Users
–
–
–
–
Will all employees be rostered or only a subset?
Will anonymous access be allowed?
Will you require roles in addition to defaults?
How will profiles be implemented?
•
Review what groups exist in organization.
•
Investigate what “informal terms” are used to define collections of
employees.
Note: Do not fall into the trap of duplicating what you already have if it is not
working. Fix it and define manageable profiles that everyone agrees on.
Chapter 16. Corporate scenario
337
16.5 LMS deployment
After planning, MAGIC starts with the official deployment of the LMS. It is broken
down into three key phases:
򐂰 Solution design
򐂰 Pilot
򐂰 Deployment
The solution design is taken out of the results of the scoping, planning, and
architecture project phase. The solution design will define the complete
enterprise-wide solution for MAGIC, covering such areas as Learning
Management Module and Content Server Topology, security and LDAP
integration, operational and support models, transactional activity, reporting and
auditing, content migration, student profile design and administration, course
taxonomy standards, access rights and system governance, and offline client
deployment.
In the pilot phase the project team will validate the learning requirements, prove
the technical design, and identify early potential roadblocks. Mike and his IT team
will run the pilot. They deliver this within the production environment using a
'Reference Build' that can be fine tuned prior to full deployment and will cover
multiple business units. After implementing the reference build successfully, the
team completes the implementation and documents the deployment standards
and operational procedures to empower to replicate the phased deployment of
the LMS throughout your organization.
Skills transfer, training, and a communication is incorporated in the planning of
the deployment. Ana and Janett will organize these.
Ron, who committed to his managers to deliver quick solutions that reduce costs,
must also ensure that the implementation of LMS will gain the maximum ROI and
end user satisfaction. Since he noticed that the planning is one of the most
important points in the deployment of LMS, he insists that Paul develop an LMS
Health Check that reviews the educational processes and the infrastructure on a
periodic basis. The Health Check will make recommendations for adjustments
and improvements, ensuring that the organization’s learning management
system avoids future problems and that your education environment continues to
runs efficiently and effectively at all times.
16.5.1 Installation at MAGIC
The installation for the pilot was one of the more challenging steps for the project
team. The technical team followed the installation instructions described in
Part 2, “Installation” on page 39, of this publication. They therefore performed a
338
IBM Lotus Learning Management System Handbook
successful installation of each LMS component and continued on to the
configuration phase.
16.5.2 LMS configuration checklist for MAGIC’s pilot
It is important to plan the configuration in advance.. MAGIC plans the following
configuration for the pilot of the installation. They follow the steps for planning
that are listed in Chapter 11, “Configuring LMS” on page 177.
Departments
The following departments are involved in the pilot:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Accounting = ACCT
Human Resources = HR
Information Technologies = IT
Production = PROD
Sales = SALES
Executive Management = EXEC
LDAP settings
For the MAGIC environment, the following LDAP information is required:
򐂰
򐂰
򐂰
򐂰
O = MAGIC
OU = Pittsburgh/Detroit/Stuttgart/Cambridge
Department Number = HR/ACCT/IT/SALES/PROD/EXEC
Employee Type = Executive/Manager/Staff/Tech/Developer
ACL access
MAGIC decided to give to the EmployeeType=Developer security access to all
course catalogs and resources. It will be the persons belonging to this
EmployeeType “Group” who will be in charge later on to create and maintain all
courses and resources.
Users
For the pilot, MAGIC needs approximately 20 users per city and each city has all
departments represented. MAGIC specifies the managers for each employee in
order to utilize approval for course enrollment. The OU identifies the city. The
DepartmentNumber identifies the department where each employee works. The
employee type is populated as Executive, Manager, Staff, Tech, or Developer.
Roles
In addition to the default roles of LMS, MAGIC decides to create the role of
Scheduler. This role is for people who are responsible for scheduling course
Chapter 16. Corporate scenario
339
offerings. This role contains more than manager privileges but less than
administrator, with privileges adjusted accordingly.
So MAGIC goes along with six roles:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Anonymous
Student
Manager
Scheduler
Instructor
Administrator
Roles to be applied
The roles to be applied are:
򐂰
򐂰
򐂰
򐂰
򐂰
Student role—Everyone
Admin—Cambridge only
Instructor—Four per city (representing HR, IT, ACCT, and PROD)
Scheduler—One per city (IT manager)
Manager—One per city (IT manager)
Note: It is unrealistic to have only one manager or scheduler per city in a
bigger deployment. The application would have multiple skilled resources
available.
Profiles
After discussing profiles, MAGIC decides to create two profile categories:
򐂰 Technical
򐂰 Orientation
Course masters and course offering
The company creates the following course categories for the course masters and
offerings.
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
340
Accounting
Corporate Information
Employee Orientation
HR
IT
Safety
Soft Skills
IBM Lotus Learning Management System Handbook
Course codes
For structuring the courses, MAGIC decides to give the courses a code
convention, defined as follows:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
For Accounting: ACC000 - ACCX
For Corporate Information: COP000 - COPX
For Employee Orientation: EMO000 - EMOX
For HR: HR000 - HRX
For IT: IT00 - ITX
For Safety: SAF000 - SAFX
For Soft Skills: SSK000 - SSKX
Resources
MAGIC starts the LMS deployment in three different locations. For each location
they have to set up resources in the system. The company focuses on 6 locations
(buildings) in 3 cities. Each of the 3 pilot cities has 2 classrooms, 2 conference
rooms, 1 lab, and 1 auditorium. See Figure 16-8 on page 342.
򐂰 Cambridge
For Cambridge they do not set up any facilities. The location is used for
developers. These persons will maintain courses and resources only.
򐂰 Pittsburgh
– Corporate Headquarters
– Pittsburgh Training Annex
– Room Naming—compass—North, South, East, etc.
򐂰 Detroit
– Detroit Training Center
– Room Naming—cars—Ford, Pontiac, GM, etc.
򐂰 Stuttgart
– Stuttgart Headquarters
– Stuttgart Training Center
– Room naming convention: Rivers
Chapter 16. Corporate scenario
341
Figure 16-8 Education organization and resources for MAGIC
Vendors
All the trainings cannot be held by the company. Therefore the company needs to
add vendors for professional trainings. The following training business partners
will be added into the system:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
342
IBM
Microsoft
Oracle
Stuttgart Technical Exchange
Three Rivers Support Service
Detroit Management Trainers, Inc.
IBM Lotus Learning Management System Handbook
Skills
The following skills must be added into the system:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
E-mail
Corporate info
Employee orientation
Pressure values
Purchasing
Quickplace
Soft skills
Zones
Zones need to be created for each continent:
򐂰
򐂰
򐂰
򐂰
򐂰
North America
Asia
Europe
Africa
South America
16.5.3 LMS configuration settings for MAGIC’s pilot
Note: We do not describe the process step by step. You will find a detailed
description in the LMS Administrator’s Guide or in the student guide
Administering IBM Lotus Learning Management System.
Also, for more details, see Appendix G, “Configuring LMS for the MAGIC
company” on page 397.
After the technical team defined the configuration, one person from the team
began entering the settings into the system. See Figures 16-9 through 16-11.
Chapter 16. Corporate scenario
343
Figure 16-9 Profile Category Orientation
344
IBM Lotus Learning Management System Handbook
Figure 16-10 Profile Category Technical
Chapter 16. Corporate scenario
345
Figure 16-11 Course master
Creating course offerings
The planning team decided to keep consistent folders in both Course Master and
Course Offerings. The only Course Offering Catalog they add is called General
IT. The steps for the configuration of Course Masters must be repeated using
Manage Course Offerings selection on the Course Catalog tab. See Figure 16-12
on page 347.
346
IBM Lotus Learning Management System Handbook
Figure 16-12 Course Offering
Adding resources
The company has 6 building locations in 3 cities. Each of the 3 pilot cities has 2
classrooms, 2 conference rooms, 1 lab, and 1 auditorium, as listed in
Figure 16-13 on page 348.
Chapter 16. Corporate scenario
347
Figure 16-13 Locations and rooms
The first step taken by the MAGIC implementation team is to set up the locations
and the rooms. If you run a search for all the newly created locations using
matching string =*, you will find the following in MAGICS’s LMS, shown by
Figure 16-14 on page 349.
348
IBM Lotus Learning Management System Handbook
Figure 16-14 Locations
After creating locations, the MAGIC team starts to set up rooms. See
Figure 16-15.
Figure 16-15 Rooms
Chapter 16. Corporate scenario
349
Adding vendors
A list of all their vendors has to be created in the system. See Figure 16-16.
Figure 16-16 Vendors
Skills
An assortment of skills needs to be entered to reflect the course offerings
selected for the company. See Figure 16-17.
Figure 16-17 Skills
Defining zones
Zones need to be created for each continent, as shown in Figure 16-18 on
page 351.
350
IBM Lotus Learning Management System Handbook
Figure 16-18 Zones
Deployment settings
The setting tab in LMS contains different setting options. Some of them can be
modified, others can only be displayed. They are divided in deployment,
announcement, and customization settings.
MAGIC decides not to modify many settings.
Under General Settings, they modify the help pages and the e-mail address for
the help desk. For offline use, they specify the URL and the version of the Offline
Client. MAGIC decides that some of the courses are available for offline use;
therefore they have to set up the system for offline use.
The Notification Settings will be modified by the administrators. MAGIC decides
to enable all events that will trigger the automatic notifications. In the system you
have to specify general, enrollment, certificate, curriculum, and course
management notifications. For MAGIC the most important thing is that people
are automatically informed about course changes, enrollments, and new
offerings.
The administrator has to specify the Delivery Server, even if MAGIC uses only
one in the first deployment phase.
MAGIC does not modify the Collaboration Settings, because they have decided
to use the LMS without a collaborative element. They still consider the use of a
chat server, a discussion server, and even the LVC. But in the first deployment
they do not include them.
Chapter 16. Corporate scenario
351
Announcement and customization settings
Announcements are notifications that are displayed in the user’s Home module.
The administrator can select which users will see the announcement and in
which language it will be displayed.
MAGIC decides to display the announcement for German users in German and
for US users in English. It is the responsibility of the administrator to display an
announcement if something important occurs.
MAGIC has developed customization sets for the different departments in the
company. The customization sets do not differ in many cases. The corporate
identity for the departments is different in logo type and style, but the colors have
to stay the same.
16.6 Content deployment at MAGIC
Janett started working on the existing content and planned the new hire training
with Ana. Now, for the LMS, they want to structure this new hire training in a
blended learning solution. Janett reminds Ana that the content has to be SCORM
1.2 compliant. SCORM-compliant tools and content allow you to fit the pieces of
the e-Learning puzzle together, bringing your clients learning that is more
accessible, reusable, durable, and affordable.
Importing SCORM- or AICC-compliant content
For all new hires, Magic’s Human Resources requires a sexual discrimination
course that happens to be SCORM 1.2 compliant. A course on workplace safety
is AICC compliant. What does Ana need to do to get these courses ready to
import into the LMS?
If the sexual discrimination course is SCORM 1.2 and it requires no changes or
additions, Ana could import it directly into the LMS with the CLIMP tool, using the
procedure described in the Authoring Tool Guide on page 3. To the extent that
the original course has metatags, the activities are then tracked and the
assessment scores available through the reporting function in the LMS. However,
if changes are to be made, it will be necessary to bring the course into the
Authoring Tool. For example, if HR wants to change the content or add an
assessment using examples specific to their organization, then the course must
first be imported into the Authoring Tool.
Or, if the course should happen to be a SCORM release that is below SCORM
Version 1.2, then Ana will need to use the Authoring Tool import in order to import
the course into the LMS.
352
IBM Lotus Learning Management System Handbook
What if MAGIC’s content is not SCORM- or AICC-compliant
Ana can work with SCORM- or AICC-compliant courses. Now Ana is thinking
about how to utilize her existing content: Third-party courses, Web-based
training, or standard slide presentations that are not AICC- or
SCORM-compliant. For example, “Meet our Company”, an html course that kicks
off the new hire training is neither AICC- or SCORM-compliant? What can she
do?
She has to think about different means:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Use the original development tool that created it in-house.
Macromedia—The content can be exported in a SCORM-compliant format.
PowerPoint—Use the Resource iNeterchange toolkit.
LearningSpace 5—Import the course with the Authoring Tool.
Contact the course creator (if not in-house).
Create a new course.
Use the course as is, outside of LMS.
If she takes this last approach:
򐂰 The students’ computers will have to have any software required to run the
original course.
򐂰 She is sacrificing the tracking data.
򐂰 Finally, if she wants performance information to be compiled in the LMS, she
will have to create an assessment in the Authoring Tool.
Course development at MAGIC
To introduce her sales staff to a new product, Ana has decided to create a
SCORM-compliant course to meet their specific needs. How does she begin?
What does the development process look like?
Ana followed the steps that are mentioned in 14.1, “Course development” on
page 274. She noticed that course development is one of most the difficult and
expensive things in a learning environment. It takes a long time to develop
something nice and useful for the company. The course developers start working
on some specific content that belongs to the company. But the company has to
decide whether to create their own content, whether to out-source it, or whether
to buy standard content. It is obvious that future investment has to be done on
this subject.
Course deployment at MAGIC
After developing the courses, the course developers have to deploy them in the
system. All courses are now SCORM-compliant. That means Ana can use either
the Authoring Tool or CLIMP to deploy the courses.
Chapter 16. Corporate scenario
353
16.6.1 Managing changes and deploying updated courses
MAGIC realizes that, over time, the course content and structure has to be
updated. Reasons might include that content is not accurate anymore, or that
they want to improve students’ learning experience.
For the content and course developer, the important question is, how does it
work in the LMS to update a course? The important question for the
management and HR is how to prevent tracking data from getting lost during the
update.
While updating courses, the company has to differentiate between structural and
content changes. Structural changes affect a course’s outline. Meanwhile the
content changes affect the text, images, and media files that students see when
they launch a course.
The following describes the process the course developers must go through for
updating content in the LMS. The steps for distributing changes to a course are
similar to those used to deploy the course originally. However, you have the
option of deciding how far to disseminate the changes. You can either update a
master without changing existing offerings, or you can distribute changes to all
active offerings created from the original master. E-mail notifications are sent to
administrators when the update has been accepted or rejected.
Packaging
If you used the LMS Authoring Tool to create the original course package, the
first step is to repackage the course with the changes you made. The package ID
remains the same, but the version number increments by one. The course
content and structure version numbers are also updated if they have changed
since the last time the course was packaged. The content version number is
checked only when content is stored in the package. If all the content is external
to the package, the content version number is ignored.
Importing
Use the Authoring Tool or the command-line import utility to import the updated
package into the system. The LMS Server checks the package ID and version
number to determine if the package is an update to a previously deployed
course. If no package ID was specified, the server generates one. If the updated
course package contains only a structural update, the structure is imported to the
LMS Server, but the content is not.
If you have received an updated course from a courseware vendor and it does
not have a package ID (or its package ID is not the same as the previous course),
you cannot update the corresponding master directly. Import the package and
354
IBM Lotus Learning Management System Handbook
follow the instructions described later in this procedure to use the Masters
Catalog option “Update a master using an imported master.”
Updating the master and its offerings
When LMS finds a match between the course ID of the re-imported updated
course package and the original master, it flags the master in the catalog as a
master with changes pending. You now have choices about how to handle the
updated course:
򐂰 Do not update the master. Do this when you do not want the original master or
its current or future offerings to be affected by the update. Reject the update
by selecting Discard update. This action deletes the master from the list of
masters with pending updates.
򐂰 Update the master, but do not update any offerings. Use the Update Master
button in the Course Catalog to initiate the process, but do not select Update
all offerings. Any new offerings created from the master will reflect the update,
but you will not change or disrupt any active course offerings.
򐂰 Update the master and all its offerings. Use the Update Master button in the
Course Catalog to initiate the process and select Update all offerings. This
updates the master and all existing and future course offerings created from
it. This choice changes all active course offerings created from the master.
Avoid confusing students by making the course unavailable until the content
has been successfully updated.
You can also update a master by using the content and structure of a newly
imported package. Select Update a master using an imported master and
select the new unregistered master to use as the new format.
Course update workflow
Figure 16-19 on page 356 summarizes how updates flow through the system. If
an offerings manager chooses to update all offerings, existing offerings created
from this master are changed, and structure and content changes are sent to the
Delivery and Content Servers.
Chapter 16. Corporate scenario
355
Figure 16-19 Course update workflow
16.7 Education rollout
Since the system has been deployed successfully, MAGIC starts their new
education program.
The important thing is to convince the employees that the new system will help
them to organize and improve their skills development. But like it is with new
products and rollouts, many employees might have doubts.
The plan is to offer for each department a roadshow with an introduction to the
main features and functions in LMS. Nevertheless, in each department they offer
one training session for the administrators and instructors. For the content
development, they need some subject matter experts from each department. For
these persons, MAGIC offers trainings on using the Authoring Tool in each
department.
But not only does face-to-face training help the employees to get in touch with the
system, but also, for the administrators and end users, MAGIC develops
Web-based training that helps them to understand how the system works. Finally,
MAGIC prepares a reference card where all major features are explained. This
card is given to all employees.
356
IBM Lotus Learning Management System Handbook
Last but not least, MAGIC sets up a support line and a help desk.
16.8 Health check
It is quite necessary to make some improvements in the system. That means, the
system needs a periodic health check. New opportunities will arise to further
improve the LMS environment, to increase learning efficiency, and to maintain
technical optimization. Therefore the system is checked every month. The team
will check the system for workload capacity and access. Depending on the load,
the team might make some changes in the infrastructure.
Chapter 16. Corporate scenario
357
358
IBM Lotus Learning Management System Handbook
A
Appendix A.
Sample sizing questionnaire
In this appendix we provide a sample sizing questionnaire that you can use for
capacity planning.
Table 16-2 Sizing questionnaire
Question
Response
Total number of students in corporate LDAP directory
Total number of students to be rostered from the LDAP directory
Concurrent users to be supported
Average number of visits per day
Average visits per hour
Will this configuration be subject to a constant load or does it need to
support unexpected bursts in usage?
Ratio of peak workload vs. average load
Maximum accepted response time (as perceived from the browser)
Expected think time for UI navigation (usually 20 seconds)
Expected think time associated with reading content pages (usually 3
minutes)
© Copyright IBM Corp. 2003. All rights reserved.
359
Question
Number of content pages read by students per visit
HW platform preferences (xSeries vs. pSeries) or info on existing
configuration
򐂰
Model, N
򐂰
Number of processors
򐂰
Speed of processors
򐂰
RAM
򐂰
OS
DBMS preference if any or info on existing Database server that the
LMS system will be connected to
򐂰
Model, N
򐂰
Number of processors
򐂰
Speed of processors
򐂰
RAM
򐂰 OS
LDAP preference if any or info on existing LDAP server that the LMS
system will be connected to
򐂰
Model, N
򐂰
Number of processors
򐂰
Speed of processors
򐂰
RAM
򐂰 OS
Maximum processor utilization that you would prefer the application
server to operate at (50%, 60%, 70%, 80%)
Number of courses in the system
Any details regarding content: Size, media type (for example, html vs.
windows media vs. netG), etc.
Will the delivery servers be centrally located with the LMM or
geographically dispersed?
Available network connections between customer sites
How are users connected to the network : LAN or dial-up? (speed of
the modems)
360
IBM Lotus Learning Management System Handbook
Response
Question
Response
Reporting patterns (for example, end of month reporting by all
managers)
Appendix A. Sample sizing questionnaire
361
362
IBM Lotus Learning Management System Handbook
B
Appendix B.
LMS installation checklist
This appendix provides a sample checklist/data sheet for the pre-installation
tasks that have to be performed before the LMS software is installed. It also
provides a handy parameter table that you can fill out during installation for your
records.
© Copyright IBM Corp. 2003. All rights reserved.
363
LMS servers - Preconfiguration checklist
During your planning and pre-configuration activities, fill out this checklist to
make it easier to keep track of your progress and resource names.
LMM machine
Responsible contact person____________________________________
________________________________________
__________________________________________
Machine assembled
____
Server location
______________________________________
______________________________________
________________________________________
Hardware description ______________________________________
______________________________________
________________________________________
Installed software
______________________________________
______________________________________
________________________________________
Operating system installed ____
Administrator account
User name
_____________________________________
Password
_____________________________________
Network access configured ____
Network settings
IP address
_____________________________________
Subnet mask
_____________________________________
Fully qualified hostname____________________________________
Default gateway
_____________________________________
DNS hostname resolution tested ____
Remote access available Y/N
Client Software
_____________________________________
User name
_____________________________________
Password
_____________________________________
Xfbv on UNIX systems installed ____
364
IBM Lotus Learning Management System Handbook
DS machine
Responsible contact person____________________________________
________________________________________
__________________________________________
Machine assembled
____
Server location
______________________________________
______________________________________
________________________________________
Hardware description ______________________________________
______________________________________
________________________________________
Installed software
______________________________________
______________________________________
________________________________________
Operating system installed ____
Administrator account
User name
_____________________________________
Password
_____________________________________
Network access configured ____
Network settings
IP address
______________________________________
Subnet mask
______________________________________
Fully qualified hostname ____________________________________
Default gateway
______________________________________
DNS hostname resolution tested ____
Remote access available Y/N
Client software
______________________________________
User name
______________________________________
Password
______________________________________
LDAP server
Responsible contact person __________________________________
_______________________________________
_________________________________________
Appendix B. LMS installation checklist
365
Supported LDAP server identified/installed ____
Server location
_______________________________________
_______________________________________
_________________________________________
Operating system
_________________________________________
LDAP server software _________________________________________
Fully qualified hostname _______________________________________
LDAP directory port (default is 389) ______________________________
Base distinguished name ______________________________________
Fully distinguished bind user name ______________________________
Bind user password
_________________________________________
User identifier attribute (e.g., uid _____________ ___________________
LDAP bind user has the right permissions ___
LDAP server access from all LMS machines tested ___
Required users created/identified ___
WAS administrator user name___________________________________
WAS administrator password____________________________________
Fully distinguished LMS administrator group name
_________________________________________
LMS administrator user name___________________________________
LMS administrator password____________________________________
Database server
Responsible contact person____________________________________
________________________________________
__________________________________________
Supported database server identified/installed ____
Server location
_____________________________________
_____________________________________
_______________________________________
Operating system
_______________________________________
Fully qualified hostname _____________________________________
DBMS software
366
_______________________________________
IBM Lotus Learning Management System Handbook
Database instance port ______________________________________
For DB2 on UNIX: Required system parameters changed ____
For Oracle: Database instance is in UTF-8 format ____
Required database client software installed on all LMS servers ____
All LMS servers can connect to the database server ____
SMTP server
Responsible contact person_________________________________
_____________________________________
_______________________________________
SMTP server identified/installed ____
Server location
_____________________________________
_____________________________________
_______________________________________
Operating system
_______________________________________
Fully qualified hostname _____________________________________
SMTP server software _______________________________________
SMTP relaying enabled for LMM Server ____
HTTP servers
HTTP server for LMS-LMM user interface
Responsible contact person ___________________________________
________________________________________
__________________________________________
Supported HTTP server identified/installed ____
Server location
_____________________________________
_ ____________________________________
_____ __________________________________
Operating system
_______________________________________
Fully qualified hostname ________ _____________________________
HTTP server software _________________ ______________________
WebSphere plugin installed and works____
Appendix B. LMS installation checklist
367
DS machine can connect to port 80 of LMM's HTTP server ____
HTTP server for LMS-DS user interface
Responsible contact person ___________________________________
_______________ ________________________
____________ _____________________________
Supported HTTP server identified/installed ____
Server location
_____________________________________
_____________________________________
_______________________________________
Operating system
_______________________________________
Fully qualified hostname _____________________________________
HTTP server software _______________________________________
WebSphere plugin installed and works ____
LMM machine can connect to port 80 of DS's HTTP server ____
HTTP server for content
Responsible contact person ___________________________________
___ ____________________________________
_________________________________________
Supported HTTP server identified/installed____
Server location
_____________________________________
_____________________________________
_______________________________________
Operating system
_______________________________________
Fully qualified hostname _____________________________________
HTTP server software _______________________________________
Content access prepared ____
Content directory on file system _______________________________
Content directory access URL ________________________________
HTTP server configuration updated ____
Content deployment prepared ____
368
FTP user name
_______________________________________
FTP user password
_______________________________________
IBM Lotus Learning Management System Handbook
FTP directory
_______________________________________
FTP directory is accessible from LMM machine ____
WebSphere Application Server
Platform-specific tips for WAS 5 considered ____
WAS installed on all machines ____
WAS admin user name ____________________________________
WAS admin password _____________________________________
WAS installation path _____________________________________
Global Security and SSO enabled ____
WebSphere plugin on HTTP server for LMS user interface access installed and
tested____
Separate application servers for LMS modules in WAS created ____
Names of created application servers for LMS modules
____________________________________
Installation overview
Parameter
Values
LDAP Settings
Provider URL
Base Distinguished Name
LDAP User ID
LDAP Password
LDAP Provider
LMS Server Settings
Base URL
Description
User Name
Appendix B. LMS installation checklist
369
Parameter
Values
Password
Administrator Settings
Administrator Role Type
Administrator LDAP User ID
Content Management Settings
Path to imported Course Packages
FTP User Name
FTP Password
Notification E-mail format
Delivery Server Settings
Server ID
Base URL
Description
Delivery Server User Name
Delivery Server Password
Web Server Settings
URL of Deployed Content
Tracking URL
Content Deployment Settings
Use “Add Server”—button to add content server to the Servers-list
Deployment Type
Location for Deployed Content
FTP Host
System Administrator E-mail Settings
E-mail to Address
E-mail from Address
Installation directory
370
IBM Lotus Learning Management System Handbook
Parameter
Values
Directory Name
Appendix B. LMS installation checklist
371
372
IBM Lotus Learning Management System Handbook
C
Appendix C.
Software requirements
This appendix lists the supported software for use with the IBM Lotus Learning
Management System (LMS) R1.
Always check the Release Notes, corresponding to the release level of the
components you are installing, for the most accurate list of requirements.
© Copyright IBM Corp. 2003. All rights reserved.
373
Supported operating systems for LMS servers
The following operating systems are supported for LMS R1 servers:
򐂰 Microsoft Windows 2000 Server and Advanced Server (Intel 32 architecture)
򐂰 IBM AIX Release 5.1 or later (PowerPC® RISC architecture - pSeries)
򐂰 Sun Solaris Release 8 or later (UltraSPARC 32/64 architecture - not on Intel)
򐂰 Linux Release 2.2 or later (Intel 32/64 architecture with SuSe 7.2 or later and
Red Hat 7.2 or later only)
򐂰 Red Hat Enterprise Linux AS 2.1
Note: Windows 2003 Server is not yet certified.
Supported LDAP directory servers
LMS R1 requires an LDAP V3 compliant directory. The list of supported LDAP
products includes:
򐂰 IBM SecureWay® V3.2.2
򐂰 IBM Directory Server V4.1 or 5.1
򐂰 Lotus Domino Enterprise Server 5.0.9a
򐂰 Microsoft Active Directory 2000 (W2K)
򐂰 Sun ONE Directory Server 5.0 (formerly iPlanet Directory Server)
Supported database servers
You need a relational database management system with LMS R1. When you
install LMS, you create or upgrade a database specifically for use with LMS. LMS
R1 supports the following relational database management systems:
򐂰 IBM DB2 Release 7.2 or later. Note that if you use DB2 on a Linux 2.4 server,
you must recompile the Linux 2.4 kernel with new parameters to ensure that
DB2 operates correctly.
򐂰 Microsoft SQL Server Enterprise 2000 SP2®.
򐂰 Oracle 8i Enterprise Release 3 v8.1.7 or later.
LMS supports these databases for all the platforms on which they run. DB2
running on IBM zSeries® or IBM iSeries™ machines is not supported.
374
IBM Lotus Learning Management System Handbook
Supported Web servers for use with WAS
The following HTTP servers are supported for use with the LMS. This means that
the WebSphere plug-in is provided for these servers. This server list is only
important for LMS user interface access. You are free to use any other Web
server to host the course contents.
򐂰 Apache HTTP Server Version 1.3
򐂰 IBM HTTP Server powered by Apache 1.3
򐂰 IBM HTTP Server powered by Apache 2.0
򐂰 Lotus Domino Enterprise Server 5.0.9a
򐂰 Sun ONE Web Server, Enterprise Edition 6.0.4 (formerly iPlanet Web Server)
򐂰 Microsoft Internet Information Server 5.0 on W2K
Note: You can find an up-to-date list at in the “WebSphere Application Server
Prerequisites” documentation at:
http://www-1.ibm.com/support/docview.wss?uid=swg27003903
Client operating system and browser requirements
The LMS supports the following client operating systems and browsers:
򐂰 Microsoft Windows 95, 98, ME, XP, and 2000. Supported browsers: Microsoft
Internet Explorer 5.0x, 5.5x, 6.0x and Netscape 6.2 or 7.0.
򐂰 Linux - Suse 7.2 or later, and RedHat 7.2 or later only. Supported browser(s):
Netscape 6.2 or 7.0.
򐂰 Apple Macintosh - OS 9.x and OS X. Supported browser(s): Netscape 6.2 or
7.0.
Note: LMS Authoring Tool and LMS Offline Learning Client only support
Microsoft Windows 2000 and XP.
Note: LMS does not support Netscape Release 4.7.
Appendix C. Software requirements
375
376
IBM Lotus Learning Management System Handbook
D
Appendix D.
WebSphere Application
Server security parameters
This appendix provides additional information about key WAS security
parameters that have to be configured properly for LMS.
© Copyright IBM Corp. 2003. All rights reserved.
377
How to set up security in WAS
To set up security within WebSphere, you have to perform these steps in the
WAS administration console:
1. Set up LDAP server connectivity (LDAP User Registry + Advanced LDAP
Settings).
2. Set up the LTPA key (LTPA Settings and LTPA SSO Settings).
3. Activate Global Security.
LDAP user registry
For lookups of the user name and password to authenticate the users, LDAP is
the supported directory for LMS.
You find LDAP Settings in the WAS administration console under Security ->
User Registries -> LDAP.
Figure 16-20 Accessing LDAP user registry settings
378
IBM Lotus Learning Management System Handbook
Below is an explanation of the fields that are important for the LMS setup.
Server user ID
This is the WebSphere administration user ID (usually wasadmin). It has access
to the administration console and can stop a running application server.
When using LDAP (which is the case for LMS), the following conditions apply:
򐂰 The user must be a valid user in the LDAP.
򐂰 The user should not be a root DN or administrator DN, because those users
are not part of the directory in all LDAP implementations.
Type
This is the directory service product that will be used to locate information and
against which users and groups will be authenticated.
Modifications to the default values in the advanced LDAP properties will cause
this field value to change to Custom. This change will show after you save the
new configuration.
Base distinguished name
The base distinguished name of the directory service indicates the starting point
for LDAP searches of the directory service. See RFC 1779 for a discussion of
this technique. For example, for a user with a DN of cn=John Doe, ou=Rochester,
o=IBM, c=US, the base DN can be specified as any of (assuming a suffix of
c=us):
ou=Rochester, o=IBM, c=us
o=IBM, c=us
c=us
This field is not case-sensitive.
This field is required for all LDAP directories except the Domino Directory. If you
are using the Domino Directory and you specify a base distinguished name, you
will not be able to grant permission to individual Web users for resources
managed by your WebSphere application server.
Bind distinguished name
This is the distinguished name for the application server to use to bind to the
directory service. If no name is specified, the application server binds
anonymously. Examples are:
cn=root
cn=John Doe, ou=Rochester, o=IBM, c=US
Appendix D. WebSphere Application Server security parameters
379
Bind password
This is the password for the user defined in bind distinguished name to use to
bind to the directory service.
Ignore case
If you use the IBM Directory Server, enable the IgnoreCase flag. This is required
because when the groups information is obtained from the user object attributes,
the case is not the same as the one obtained when you get the groups
information directly. In order for the authorization to work in this case, a case
insensitive check has to be performed.
Advanced LDAP settings
You find the Advanced LDAP settings in the WAS administration console under
Security -> User Registries -> LDAP -> Advanced LDAP Settings. See
Figure D-1.
Figure D-1 Accessing advanced LDAP settings
380
IBM Lotus Learning Management System Handbook
Here is an explanation of the fields that are important for the LMS setup.
LDAP filters
Here we discuss some general information related to both user and group filters.
Lightweight Directory Access Protocol (LDAP) filters are used by the WebSphere
Application Server to search and obtain information about users and groups from
an LDAP directory server. A default set of filters is provided for each LDAP server
that the product supports. These filters can be modified to fit your LDAP
configuration. Once the filters are modified (and OK or Apply is clicked) the
directory type in the LDAP registry panel changes to custom, which indicates that
custom filters are being used. Also, you can develop filters to support any
additional type of LDAP server. The effort to support additional LDAP directories
is optional, and IBM does not provide support for other LDAP directory types.
In order to improve performance for LDAP searches, the default filters for IBM
Directory Server, iPlanet Directory Server, and Active_Directory have been
defined such that when you search for a user, the result contains all the relevant
information about the user (user ID, groups, and so on). This prevents the
product from going to the LDAP server multiple times and improves performance.
This is possible only in these directory types because these support searches
are where the complete information about a user can be obtained.
User filter
An LDAP filter is used for searching the registry for users. It is typically used for
Security Role to User assignment. It specifies the property by which to look up
users in the directory service. For example, to look up users based on their user
IDs, specify (ampersand(uid=%v)(objectclass=inetOrgPerson), where
ampersand is the ampersand symbol.
The user filter is used for searching the registry for users and typically used for
the Security Role to User assignment. Also, the filter is used to authenticate a
user using the attribute specified in the filter. It specifies the property used to look
up users in the directory service. In the following example, the property that is
assigned to %v, which is the short name of the user, must be a unique key. This
means that two LDAP entries with the same object class cannot have the same
short name. To look up users based on their user IDs (uid) and using the object
class inetOrgPerson, specify the following:
(&(uid=%v)(objectclass=inetOrgPerson)
You can find more information about this syntax in Appendix F, “Default LDAP
attribute mappings” on page 393.
Appendix D. WebSphere Application Server security parameters
381
Group filter
The group filter is used for searching the registry for groups and typically used for
the Security Role to Group assignment. Also, the filter is used to specify the
property by which to look up groups in the directory service. In the following
example, the property that is assigned to %v, which is the short name of the
group, must be a unique key. This means that two LDAP entries with the same
object class cannot have the same short name. To look up groups based on their
common names (cn) and using the object class of either groupOfNames or
groupOfUniqueNames, specify the following:
(&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))
User ID map
This is an LDAP filter that maps the short name of a user to an LDAP entry. It
specifies the piece of information that should represent users when users are
displayed. For example, to display entries of the type object class =
inetOrgPerson by their IDs, specify inetOrgPerson:uid. This field takes multiple
objectclass:property pairs delimited by a semicolon (;).
This filter maps the short name of a user to an LDAP entry. This specifies the
piece of information that should represent users when users are displayed using
their short names. For example, to display entries of the type object class =
inetOrgPerson by their IDs, specify inetOrgPerson:uid. This field takes multiple
objectclass:property pairs delimited by a semicolon (;). To provide a consistent
value for methods like getCallerPrincipal( ), getUserPrincipal() the short name
obtained by using this filter is used. For example, the user CN=Bob Smith,
ou=austin.ibm.com, o=IBM, c=US can log in using any attributes that were
defined for him (for example, e-mail address, social security number, and so on);
but when the above methods are called, the user ID bob is returned no matter
how he logs in.
Group ID map
This filter maps the short name of a group to an LDAP entry. This specifies the
piece of information that should represent groups when groups are displayed.
For example, to display groups by their names, specify *:cn. The * is a wildcard
character that searches on any object class in this case. This field takes multiple
objectclass:property pairs delimited by a semicolon (;).
Group member ID map
This filter identifies user-to-group memberships. For SecureWay, Netscape, and
Domino directory types, this field is used to query all the groups that match the
specified object class(es) to find if the user is contained in the attribute specified.
For example, to get all the users belonging to groups whose object class is
groupOfNames and the users are contained in the member attributes, specify
382
IBM Lotus Learning Management System Handbook
groupOfNames:member. This specifies which property of an object class stores
the list of members belonging to the group represented by the object class. This
field takes multiple objectclass:property pairs delimited by a semicolon (;). For
the IBM Directory Server, iPlanet Directory Server, and Active Directory this is
used to query all users in a group by using the information stored in the user
object (instead of querying all the groups individually to find if the user exists in
that group). For example, the filter memberof:member (for Active Directory) is
used to get the “member of” attribute of the user object to get all the groups that
the user belongs to. The member attribute is used to get all the users in a group
using the group object. Using the user object to obtain the group information is
expected to improve performance. For example:
groupOfNames:member
Certificate map mode
The X.590 certificates can be used for user authentication when LDAP is
selected as the user registry. This field is used to indicate whether to map the
X.509 certificates into an LDAP directory user by EXACT_DN or
CERTIFICATE_FILTER. If EXACT_DN is selected, the DN in the certificate
should exactly match the user entry in the LDAP server (including case and
spaces). One can use the Ignore Case field in the LDAP settings to make the
authorization case insensitive. If CERTIFICATE_FILTER is selected, fill in the
appropriate certificate filter (in the next field) that should be used for mapping the
certificate to a user in the LDAP. If EXACT_DN is selected the certificate filter is
ignored.
The validation of the changes (if any) does not take place in this panel. Validation
is only done when the OK or Apply buttons are pressed in the Global Security
panel. If you are in the process of enabling security for the first time, complete the
remaining steps and go to the Global Security panel and select LDAP as the
Active User Registry. If security was already enabled and any information on this
panel is changed, make sure to go to the Global Security panel and click OK or
Apply to validate your changes. If your changes are not validated the server may
not be able to come up.
LTPA configuration settings
In the LTPA configuration settings screen at Security -> Authentication
Mechanisms -> LTPA, you have to define the password to encrypt and decrypt
LTPA keys. The LTPA keys are automatically generated the first time security is
enabled and saved correctly. See Figure D-2 on page 384.
Appendix D. WebSphere Application Server security parameters
383
Figure D-2 Accessing LTPA settings
Single sign-on
You find the LTPA single sign-on (SSO) settings under Security ->
Authentication Mechanisms -> LTPA -> single sign-on (SSO).
See Figure D-3 on page 385.
384
IBM Lotus Learning Management System Handbook
Figure D-3 Accessing LTPA single sign-on settings
Here is an explanation of the most important fields that are required for the LMS
setup.
SSO - Domain
The Domain field restricts SSO to servers in the domain you specify in this field.
This domain name is used when creating HTTP cookies for single sign-on. It
determines the scope to which single sign-on applies. For example, a domain of
austin.ibm.com would allow single sign-on to work between WebSphere
application server A at serverA.austin.ibm.com and WebSphere application
server B at serverB.austin.ibm.com. Note that cross-domain single sign-on is not
supported. That is, a server at austin.lotus.com, and another at austin.ibm.com,
cannot participate in WebSphere single sign-on.
Note: The LTPA token that is sent back to the browser is scoped by a single
DNS domain that is specified when global security is configured.
This means that all application servers in an entire WebSphere Application
Server cell must share the same DNS domain for security purposes.
Appendix D. WebSphere Application Server security parameters
385
Enable single sign-on
The single sign-on causes your LTPA directory service to store extra information
in the tokens so that other applications can accept clients as already
authenticated by WebSphere Application Server. When clients try to access the
other applications, they will not be interrupted and asked to log in.
When you enable single sign-on, the Domain field will be enabled. You must
enter a DNS domain name.
Token expiration
The expiration time defines how many minutes can pass before a client using an
LTPA token must authenticate again. LTPA uses tokens to store the authenticated
status of a client.
A positive integer indicates the token life in minutes.
Global security settings
To activate WebSphere security, you have to enable global security.
Before global security is enabled, you can enter any user ID to log into the
administrative console. The user ID is only used to track changes to the
configuration, but not to authorize access to the administration console.
After global security is enabled, you must enter a valid user ID and password.
You find the global security settings under Security -> Global Security.
See Figure D-4 on page 387.
386
IBM Lotus Learning Management System Handbook
Figure D-4 Accessing global security settings
Here is an explanation of the fields that are important for the LMS setup.
Enabled
The Enabled field specifies for the server to enable security subsystems.
This flag is commonly referred to as the global security flag in WebSphere
Application Server literature. When enabling security, set the authentication
mechanism configuration and specify a valid user ID and password in the
selected user registry configuration.
Enforce Java 2 security
Specifies whether to enable or disable Java 2 security permission checking. By
default, Java 2 security is disabled. However, if you enabled global security, this
automatically enables Java 2 security. You can choose to disable Java 2 security,
even when global security is enabled.
When Java 2 security is enabled and if an application requires more Java 2
security permissions then are granted in the default policy, then the application
Appendix D. WebSphere Application Server security parameters
387
might fail to run properly until the required permissions are granted in either the
app.policy file or the was.policy file of the application.
Cache timeout
The cache timeout is the time after which the authentication cache will be
refreshed. Caching can improve performance with respect to authentication
lookups.
Specify this value in seconds, with a minimum of 30.
Active protocol
The Active Protocol determines which ORB-based authentication protocols are
accepted by the Application Server. For more information on this, check IBM
WebSphere V5.0 Security WebSphere Handbook Series, SG24-6573.
Active authentication mechanism
In the active authentication mechanism you specify the mechanism that you have
configured before. For LMS this is LTPA.
Active user registry
In the active user registry you specify the registry that you have previously
configured. For LMS, this is LDAP.
388
IBM Lotus Learning Management System Handbook
E
Appendix E.
WebSphere scope setting
In this appendix we show how the WebSphere parameters are set, and how to
make sure they are set to the scope level you require. We also show how to save
your work.
This appendix has been included because problems during the LMS installation
can occur because of incorrect scope settings.
© Copyright IBM Corp. 2003. All rights reserved.
389
Set the correct scope of the parameters in WebSphere
Most of the settings in the administration client require that you select on which
level the parameters apply: Cell, node, or server level. We advise you to set all
parameters that are required for LMS on node level; see Figure E-1. All
parameters will have to be defined for every node where LMS is deployed.
Figure E-1 Example of setting the scope level of the WebSphere variables
Click Browse next to a field to see choices for limiting the scope of the field. If a
field is read-only, you cannot change the scope. For example, if only one server
exists, you cannot switch the scope to a different server.
򐂰 To specify cell scope, clear the node and server fields and click Apply.
򐂰 To select a node scope, type in or browse for a node, then clear the server
field and click Apply.
򐂰 To select a server scope, select a node scope first, then type in or browse for
a server, and click Apply.
Use the the Scope settings option within the administration console to filter the
contents of an administrative console collection table to a particular cell, node, or
server.
390
IBM Lotus Learning Management System Handbook
The server scope has precedence over the node and cell scopes, and the node
scope has precedence over the cell scope. Note that objects are created at only
one scope, though they might be visible at more than one scope. See Figures
E-2 and E-3 for examples in setting the scope. The scope setting is available for
all resource types, WebSphere variables, shared libraries, and name space
bindings.
Figure E-2 Example of setting the scope to node level
Figure E-3 Example of setting the scope to Cell level
Always remember to click Apply after selecting the correct level, as otherwise
you are still at the previously selected scope level.
Saving the work
As you make changes to the WebSphere configuration, your changes are saved
to a temporary workspace storage. For the configuration changes to take effect,
they must be saved to the master configuration and then synchronized (sent) to
the nodes.
Appendix E. WebSphere scope setting
391
Click Save to save changes to the master repository. This can be done from the
taskbar in the Messages area. You should receive a message similar to
Figure E-4.
Figure E-4 Example of a save message in the WebSphere Administration Client
If you do not save changes to the master repository, the changes will not be
pushed to your node’s configuration repository; effectively the new settings will
be lost.
392
IBM Lotus Learning Management System Handbook
F
Appendix F.
Default LDAP attribute
mappings
This appendix lists the default LDAP attribute mappings that are defined in the
settings.xml file. The LMS attributes and the LDAP attributes mapped can be
used to define matching strings, such as ACLs.
© Copyright IBM Corp. 2003. All rights reserved.
393
Default LDAP user attribute mappings
Table F-1 Default LDAP user attribute mappings
LDAP objectClass attributes
LMS attributes
dominoPerson
ePerson
Address_1
postalAddress
postalAddress
Address_2
postalAddress
postalAddress
BusinessCategory
businessCategory businessCategory
City
l (=lowercase L)
l (=lowercase L)
CommonName
cn
cn
Country
c
c
DepartmentNumber
departmentNumber departmentNumber
Description
description
description
DisplayName
displayName
displayName
EmailAddress
mail
mail
EmployeeNumber
employeeNumber employeeNumber
EmployeeType
employeeType
employeeType
FirstName
givenName
givenName
Initials
initials
initials
IsManager
LanguageLocale
preferredLanguage preferredLanguage
LastName
sn
sn
LdapId
uid
uid
Location
location
Manager
manager
manager
Organization
o
o
OrganizationalUnit
ou
ou
PhoneNumber
telephoneNumber telephoneNumber
PostalCode
postalCode
postalCode
State
st
st
Title
title
title
UserId
uid
uid
inetOrgPerson
postalAddress
postalAddress
businessCategory
l (=lowercase L)
cn
c
departmentNumber
description
displayName
mail
employeeNumber
employeeType
givenName
initials
user
postalAddress
postalAddress
l (=lowercase L)
cn
c
department
description
displayName
mail
givenName
initials
preferredLanguage
sn
sn
uid
sAMAccountName
manager
o
ou
telephoneNumber
postalCode
st
title
uid
manager
o
ou
telephoneNumber
postalCode
st
title
sAMAccountName
Default LDAP group attribute mappings
Table F-2 Default LDAP group attribute mappings
LMS attributes
BusinessCategory
CommonName
Description
DisplayName
Member
Organization
OrganizationalUnit
Owner
394
LDAP objectClass attributes
dominoGroup
groupOfNames
businessCategory businessCategory
cn
cn
description
description
cn
cn
member
member
o
o
ou
ou
owner
owner
IBM Lotus Learning Management System Handbook
groupOfUniqueNames
businessCategory
cn
description
cn
uniqueMember
o
ou
owner
group
cn
descripion
cn
member
managedBy
Default directory profiles
Table F-3 Default directory profiles
objectClasses used for …
LMS Directory Profile users
IBM Directory Server
inetOrgPerson, ePerson
IBM SecureWay
ePerson
iPlanet
inetOrgPerson
Lotus Domino
dominoPerson
Microsoft Active Directoryuser
groups
groupOfNames, groupOfUniqueNames
groupOfNames, groupOfUniqueNames
groupOfNames, groupOfUniqueNames
dominoGroup
group
Determining the effective mapping
By default, multiple LDAP attribute mappings are defined in the settings.xml.
However, based on the actual LDAP directory you use, only some of them will
take effect. To find out which mappings are used in your LMS, follow these steps:
1. Open settings.xml located at:
<WAS_installation_path>\installedApps\<node>\LMSLMM.ear\lms-lmm-complete-23
.war\WEB-INF\classes\settings.xml
2. Search for the parameter “directoryProfile.” It contains the name of the active
profile for your LMS. In Figure F-1, it is “IBM Directory Server.”
Figure F-1 Determining the LDAP directory profile in use
3. Determine the object classes (schemas) that LMS uses for users and groups.
Appendix F. Default LDAP attribute mappings
395
In Table F-3 on page 395, find the row that contains the name of your active
profile (in the first column). The second and third columns in that row contain
the object classes in use.
– In our example, for the “IBM Directory Server” profile, inetOrgPerson and
ePerson are used as object classes for users.
– For groups, the object classes are groupOfNames and
groupOfUniqueNames.
4. Now you can determine the attribute mappings that are in effect. Select an
LMS attribute in the first row and in Table F-1 (for users) or F-2 (for groups)
and view the entries in the columns of the object classes that are in use.
– In our example, for users, the LMS attribute “PhoneNumber” maps to
telephoneNumber in both inetOrgPerson and ePerson object classes.
– For groups, “Member” maps to member in groupOfNames and to
uniqueMember in groupOfUniqueNames.
396
IBM Lotus Learning Management System Handbook
G
Appendix G.
Configuring LMS for the
MAGIC company
This appendix describes the steps of configuration that our case study company,
MAGIC, has to go through in the LMS after the preconfiguration phase.
The company, MAGIC, and its employees are completely fictional.
© Copyright IBM Corp. 2003. All rights reserved.
397
Scenario configuration example
Once the thought process has been completed and appropriate documentation
has been collected and reviewed, the configuration process can begin. The
following steps will be taken to configure LMS to match the corporate scenario
defined in Chapter 16, “Corporate scenario” on page 327:
Roster developers.
Apply roles to rostered developers.
Add developers to access control on course folders.
Test developer access.
Switch to developer ID.
Configure roles.
Configure profiles.
Configure locations.
Configure rooms.
Configure skills.
Configure zones.
Configure course master folders.
Configure course offerings folders.
Add course masters.
Roster users.
Apply roles.
Apply profiles.
Apply skills and zones to instructors.
Add course offerings.
Enroll students.
Auto enrollment.
– Configure profiles.
– Configure courses.
– Apply profiles.
򐂰 Test.
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Roster developers
LMS automatically reflects the members of the LDAP associated with the
installation. Any user listed in the LDAP directory by default will be granted
anonymous access to the system until he has been granted rostered. We will
begin our configuration by only rostering the Cambridge developers. Other users
will be rostered after the configuration is complete.
To roster the developers, follow these steps.
1. Log into LMS with the lmsadmin ID and select the Users tab. See Figure G-1
on page 399.
398
IBM Lotus Learning Management System Handbook
Figure G-1 Selecting the users tab
Choose Roster Users to pull LDAP entries into the LMS system. The screens
present a complete list of all users registered in the associated LDAP
directory.
Choose Manage Users to manage previously rostered users. The screens
present a subset of the associated LDAP directory reflecting users already
moved into LMS.
2. Select Roster Users to move the Cambridge developers into the LMS
system.
3. Select Roster One or More Users to access the selection screen shown in
Figure G-2 on page 400.
Appendix G. Configuring LMS for the MAGIC company
399
Figure G-2 User search screen
Tip: This screen shows the search interface that is used throughout the
LMS system, so take time to get familiar with the navigation of this
interface.
4. The quickest way to select entries is to use a wildcard (*) in one of the search
fields and then click the Search button to the right of the search fields. This
will generate a list of matches in the Search Results box in the lower left.
Select the desired entries and click the Add Selected button to the right of
the search results.
5. After all users to be rostered are selected, click Continue in the lower right
corner.
6. You will see a message indicating You have successfully rostered the
selected users.
400
IBM Lotus Learning Management System Handbook
Apply roles to rostered developers
Rostered users, by default, are granted the student role. Since we require our
developers to have full administrative access, we need to give them the
administrator role, as follows.
1. Select Manage Users from the choices on the Users tab.
2. Use the selection feature to select the collection of users that will be given the
Administrator role.
3. Press Continue to display the screen of available roles. You will notice that
Student is selected by default.
4. Select the Administrator role, as demonstrated in Figure G-3.
Figure G-3 Assigning roles
5. Click Add Selected in the lower right of the screen.
Add developers to access control on course folders
In our scenario, we determined that all employees with the EmployeeType of
Developer should have access to all courses and resources. This was
Appendix G. Configuring LMS for the MAGIC company
401
accomplished by adding an attribute to the ACL security of the master catalog
and master offerings folders. The procedure is as follows.
1. Select the Course Catalog tab. See Figure G-4.
Figure G-4 Selecting the course catalog tab
2. Select Manage Masters Catalog. See Figure G-5.
Figure G-5 Selecting Manage Masters Catalog
3. At this point, the only folder available is the Masters Catalog. Click the yellow
folder icon to access the security settings for the Masters Catalog and then
select the Access Control tab.
402
IBM Lotus Learning Management System Handbook
4. Click Add to add an entry to the Access Control. In our case we need to
specify the level of Manage and scope of All Children to assure that all
subfolders will inherit the security. For Match String, we enter
EmployeeType=Developer to assure that all employees of the type developer
will have manager access to all folders and subfolders. See Figure G-6.
Figure G-6 Adding an ACL entry
5. Repeat this process for the Course Offerings selection to assure that security
is adjusted for both masters and offerings.
Test developer access
At this point, the designated developers should have full access to the LMS
system. To test this, follow these steps.
1. Log out from the lmsadmin ID.
2. Log in with a designated developer ID.
3. Select the Users tab and assure that you have access rights to manage and
roster users.
4. Select the Course Catalog tab, then select Manage Masters Catalog. You
should see the folder for the Master Catalog, as shown in Figure G-7 on
page 404.
Appendix G. Configuring LMS for the MAGIC company
403
Figure G-7 Accessing the Masters Catalog folder
5. Select Manage Offerings Catalog and be sure that you can see the
Offerings Catalog.
If any of these options are not available, then go back and re-check the security
settings applied in the previous sections.
Switch to a developer ID
Now that security access for the developers is in place, all remaining
configuration can be done with one of the developer IDs.
Tip: Use the secure the lmsadmin ID for problem solving only. Do all
configuration with other appropriately-configured user IDs.
Configure roles
In our pre-configuration planning, we determined that an additional role would be
required for the Schedulers. These users would have more access than the
typical student but not have full admin access or manager access to employee
information. Their function would be limited to managing the courses offerings,
instructors, and enrollments. The procedure to accomplish this is as follows.
1. Select the Users tab. See Figure G-8 on page 405.
404
IBM Lotus Learning Management System Handbook
Figure G-8 Users tab
2. Select Manage Roles. You will see the five default roles displayed.
3. Click the Add button and enter the desired information. See Figure G-9.
Figure G-9 Adding role information
Appendix G. Configuring LMS for the MAGIC company
405
4. Click Save. You will see the new role listed along with the default roles.
Should you chose to remove this newly defined role, click the Delete hotspot
next to the role in the table.
There is no “Are you sure?” warning on this delete. It immediately removes
the role from the system.
5. Select the newly created role to access the security details to be applied to
this role, as seen in Figure G-10.
Figure G-10 Role details
There are numerous choices presented. The dropdown list relates to the LMS
tabs and presents functionality related to the selected tab. The Administrator's
Guide provides printouts of all the screen choices and can be used as a
checklist to determine what privileges should be assigned. For scheduler, we
selected an assortment of choices reflecting features of the LMS product that
a scheduler would require access to.
6. Make the appropriate choices.
406
IBM Lotus Learning Management System Handbook
7. Click Save in the lower left.
8. Click Done when finished.
Configure profiles
In our pre-configuration planning, we decided to take advantage of Profiles to
allow us to classify our users and apply course recommendations based on
associated profiles. We divided our profiles into two categories: Technical for the
three technician levels at the manufacturing site (Tech1, Tech2, and Tech3) and
Orientation for the three types of new hire training programs that HR provides
(New Hire, New IT, New Tech). The procedure to accomplish this is as follows.
1. Select the Users tab, then select User Profiles. By default there are no
profiles.
2. Click the Add Category button. See Figure G-11.
Figure G-11 Adding a category
3. Enter the appropriate category name and description and then click Save.
4. When the categories are in place, click Add Profile on the right side of the
screen to add profiles to the already defined categories. This process defines
the profiles that will be used later to refine user privileges.See Figure G-12 on
page 408.
Appendix G. Configuring LMS for the MAGIC company
407
Figure G-12 Adding a profile
5. Repeat this process to enter the remaining profiles into LMS.
Configure locations
Based on our business scenario, we have chosen to limit our pilot to three cities:
Pittsburgh, Detroit, and Stuttgart. We will need to add a location document for
each city. Since Pittsburgh has two separate buildings, we have chosen to create
four locations. This allows us to have a location for each building that will house
training activities. Figure G-13 on page 409 shows the location resources
available to us.
408
IBM Lotus Learning Management System Handbook
Detroit
Detroit Training
Center
Chrysler
Classroom
Ford
Classroom
Lincoln
Conference Room
Pontiac
Conference Room
Pittsburgh
Pittsburgh
Training Annex
North
Classroom
South
Classroom
East Conference
Room
West Conference
Room
Stuttgart
Stuttgart
Headquarters
Elbe
Classroom
Loire
Classroom
Danube
Conference Room
Rhine
Conference Room
Detroit Hall
Seine
Auditorium
Metal
Processing Lab
Metal
Processing Lab
Pittsburgh
Headquarters
Carnegie
Auditorium
Metal
Processing Lab
Figure G-13 Case study locations with their resources
Appendix G. Configuring LMS for the MAGIC company
409
The procedure to add a location follows:
1. Select the Resources tab. See Figure G-14.
Figure G-14 Resources tab
2. Select New Location. See Figure G-15 on page 411.
410
IBM Lotus Learning Management System Handbook
Figure G-15 Entering a new location
3. Enter the location information. The only required field is the Location Name.
Since we have not rostered our complete user list at this point, we will not
apply Contact information. This will need to be completed at a later date.
4. Click Save.
5. Repeat this process to enter the remaining locations into LMS.
You can use Manage Locations on the Resources tab to edit previously entered
location information. See Figure G-16 on page 412.
Appendix G. Configuring LMS for the MAGIC company
411
Figure G-16 Managing locations
The Manage Location screen utilizes the standard search format. You will need
to enter a wildcard and press Search to the right of the search selection entries.
Configure rooms
After defining locations, the actual rooms can be added to LMS. Rooms are
defined as with classrooms, conference rooms, labs, or auditoriums. Specific
capacity settings can be made as rooms are entered. The procedure to add a
room is as follows.
1. Select the Resources tab.
2. Select Add Rooms. See Figure G-17 on page 413.
412
IBM Lotus Learning Management System Handbook
Figure G-17 Adding a room
3. Complete the required information.
You must use the Find Location button to select a predefined location. This
pop-up uses the now-familiar selection screen to select appropriate locations
from those already defined.
4. Click Save in the lower right of the screen.
5. Repeat the above steps for the remaining rooms.
Once the rooms are added, you will need to adjust the access control for each
individual room, using the Manage Rooms selection on the Resources tab. The
interface for these adjustments is identical to those used earlier to configure the
developers for access to the Course and Offering Catalogs. See Figure G-18 on
page 414.
Appendix G. Configuring LMS for the MAGIC company
413
Figure G-18 Managing a room
Configure skills
Skills relate to the skill sets that are associated with instructors. In order to assign
appropriately qualified instructors to course offerings, LMS keeps a database of
skills that can then be applied to instructors as they are configured in the system.
Skills and Zones (which is the next section) need to be in place before they can
be applied to the instructors. The procedure to add skills is as follows:
1. Select the Resources tab.
2. Select Manage Skills.
3. Click Add to enter a new skill. See Figure G-19 on page 415.
414
IBM Lotus Learning Management System Handbook
Figure G-19 Managing skills
4. Complete the required information and click OK.
Skills can be added, deleted, and edited from this one screen, which is very
convenient.
Configure zones
Zones is a way of defining what area an instructor is available to travel to. In our
pre-configuration planning meetings it was determined that our zones will be
based on continents. This is a very general zoning plan and most corporations
will most likely define zones more in line with their physical locations. The
procedure to add a zone is as follows.
1. Select the Resources tab.
2. Select Manage Zones.
3. Click Add to enter a new zone. See Figure G-20 on page 416.
Appendix G. Configuring LMS for the MAGIC company
415
Figure G-20 Adding a zone
4. Complete the required information and click OK.
Zones can be added, deleted, and edited from this one screen, which is very
convenient.
Configure course master folders
We determined that it would be convenient to have a course master folder for
each of the categories of courses offered. The five categories currently utilized at
MAGIC are Soft Skills, IT, Corporate Info, Safety, and Employee Orientation.
These five folders will be added as subfolders to the Master Catalog. Since we
already adjusted the access control of the Master Catalog and specified the
scope of All Children, the newly defined folders will inherit the same security
settings. The procedure to add course master folders is as follows.
1. Select the Course Catalog tab. See Figure G-21 on page 417.
416
IBM Lotus Learning Management System Handbook
Figure G-21 Course catalog tab
2. Select Manage Masters Catalog.
3. Select the Masters Catalog by clicking the underlined entry Masters Catalog.
Figure G-22 Masters catalog
Appendix G. Configuring LMS for the MAGIC company
417
4. Click the underlined Create Folder entry in the top row of the table. See the
red arrow in Figure G-22 on page 417.
5. Enter the required information.
6. Click Create. You will see your folder listed in the table.
7. To adjust the security of the folder, click the yellow folder icon in the first
column of the table. See the blue arrow in Figure G-22 on page 417.
Figure G-23 Adjusting security of a folder
From the screen shown in Figure G-23, you can edit the folder and apply the
appropriate access control. For our pilot purposes, developers have access to all
folders based on previous settings, so no additional configuration is required at
this point. When the LMS system goes live, these folders will have access control
settings that reflect who has security access to the courses contained in the
folder.
Configure course offering folders
Our planning team decided to keep consistent folders in both Course Masters
and Course Offerings. Therefore, the steps described above for Configuring
Course Masters Folders must be repeated using the Manage Course Offerings
selection on the Course Catalog tab.
Add course masters
Now that the folders have been defined, we can begin to add our courses to the
masters catalog and eventually generate course offerings from the registered
masters. On the Course Catalog tab, there are selections for Masters and
Offerings. Masters refers to the course master and Offerings refers to the actual
incident of the course being presented.
418
IBM Lotus Learning Management System Handbook
In our scenario, our company MAGIC has a course called the “Story of Steel” that
is defined as a course master in the Corporate Information subfolder of the
Master Catalog. This course is offered to employees once a month in the
auditorium. Therefore, we will need to generate 12 offerings of the course (one
for each month). These offerings will be stored in the Corporate Information
subfolder of the Offerings Catalog.
The procedure to register a course master is as follows.
1. Select the Course Catalog tab. See Figure G-24.
Figure G-24 Course Catalog tab
2. Select Register Master. You will see three choices as follows:
– Course Master—a specific course
– Curriculum Master—to be used for a collection of courses leading to a
predefined curriculum program
– Certificate Master—used for a collection of courses leading to a
predefined certificate program
3. Select Course Master and press Continue in the lower right.
Appendix G. Configuring LMS for the MAGIC company
419
Figure G-25 Course master details
4. Enter the appropriate information in the screen shown in Figure G-25. The
only required fields are Title and Course Number. However, if you intend to
allow students to search the course catalog, you will need to provide
appropriate keywords for the search index.
5. Click Continue in the lower right and you will be presented with a screen to
define prerequisites. Prerequisites must be previously defined courses, so be
sure to register the masters of your prerequisite courses beforehand.
6. (Optional) To add a prerequisite course, click Add Prerequisite and use the
search tool to select the appropriate course.
Note: In our scenario, there are two courses that have prerequisite
requirements. E-mail Basics (IT203) is a prerequisite for E-mail Advanced
(IT204) and Steel Plant OSHA Requirements (SA402) is a prerequisite for
Fire Extinguishers Types & Usage (SA404).
7. Click Continue in the lower right of the screen.
8. You are now presented with a course schedule outline and have the
opportunity to specify default parameters for the course offerings that will be
420
IBM Lotus Learning Management System Handbook
generated from this master. Click Add Booking Requirement to access the
screen where you can define these defaults.See Figure G-26.
Figure G-26 Adding a booking requirement
9. Specify the appropriate information being sure to clearly define the duration
and resources required. These details will be important when actual course
offerings are generated later in the configuration process.
10.Click OK on the lower right of the screen.
11.. Once the Booking Requirements are complete, press Continue in the lower
right of the screen.
12.You are now presented with the available folders in which to place the
registered master.
13.Select the appropriate folder by clicking the radio button and pressing
Continue in the lower right of the screen.
14.The course master is now posted to the appropriate folder.
You can edit attributes of the course master by clicking the icon of the tree-ring
binder to the left of the course entry in the appropriate folder. See Figure G-27 on
page 422.
Appendix G. Configuring LMS for the MAGIC company
421
Figure G-27 Course details
Roster users
Now that the framework is in place, we can move ahead to roster our pilot users.
We have three cities, but for demonstration purposes we will initially roster only
the Pittsburgh students. The procedure to roster students is the same as we
followed in “Roster developers” on page 398 to roster the Cambridge developers.
We can take advantage of the automatic rostering feature to have all members of
the Pittsburgh organization unit automatically registered. The procedure is as
follows.
1. Select the Users tab.
2. Select Roster Users, as shown in Figure G-28 on page 423.
422
IBM Lotus Learning Management System Handbook
Figure G-28 Rostering users
You will see four choices. Earlier we used the first option to select the handful
of developers by name. Now that we have approximately 20 users to roster,
we will select the last choice for automating the process.
3. Select Configure automatic rostering using matching strings.
4. Click Add, as shown in Figure G-29.
Figure G-29 Automatic rostering using matching strings
5. The type choices are Attribute, Group, and Name. In our case we, used the
Name type and a wildcard reflecting all entries in the Pittsburgh OU.
Appendix G. Configuring LMS for the MAGIC company
423
6. Click OK.
7. Press Continue in the lower right of the screen. You will be presented with a
message, as in Figure G-30, indicating that users will be automatically
rostered as they log in.
Figure G-30 Message from automatic rostering
Apply roles
Using the spreadsheet developed in the pre-planning meetings, the Pittsburgh
users now need to have the appropriate roles applied. By default they all have
the student role. We need to add the designated instructor, scheduler, and
manager roles. The procedure to apply roles is as follows.
1. Select the User tab.
2. Select Manage Users.
3. Use the search tool to select the appropriate user.
4. Click Continue in the lower right of the screen.
5. You are presented with the available roles in the top half of the screen and
any automatic roles are listed in the lower part of the screen. In the case of
the person displayed in Figure G-31 on page 425, his EmployeeType is
Manager. Therefore, he has the Manager role by default, in addition to the
Student role that all rostered users have. In this case, we are also giving the
user the Scheduler role, which we defined in “Configure roles” on page 404.
424
IBM Lotus Learning Management System Handbook
Figure G-31 Assigning roles
6. Click Save in the lower right of the screen.
7. Repeat this process for all required role adjustments.
Assign user profiles
Profiles can be applied at the same time as applying roles by accessing the
Assign User Profiles tab. The procedure to apply profiles is as follows.
1. Select the User tab.
2. Select Manage Users.
3. Use the search tool to select the appropriate user.
4. Click Continue in the lower right of the screen.
5. You are presented with the user specifics defaulting to the Assign Roles tab.
Select the Assign User Profiles tab, as shown in Figure G-32 on page 426.
Appendix G. Configuring LMS for the MAGIC company
425
Figure G-32 Assigning user profiles
6. Select the appropriate profile category and then check the desired profiles.
Users can have multiple profiles just as they can have multiple roles.
7. Click Save in the lower right of the screen.
Apply skills and zones to instructors
We have four designated instructors in Pittsburgh. They need to have their skills
and zones defined. The procedure is as follows.
1. Select the Resources tab.
2. Select New Instructor. You are presented with a screen allowing you to find a
rostered user to be listed as an instructor. See Figure G-33 on page 427.
3. Click Find User on the right to select an internal instructor.
4. Use the search tool to select the appropriate user.
426
IBM Lotus Learning Management System Handbook
Figure G-33 New instructor screen
5. To add skills, click Add to the right of the skills entry. See Figure G-34 on
page 428.
Appendix G. Configuring LMS for the MAGIC company
427
Figure G-34 Adding a new instructor
6. Select the appropriate skills from the dropdown list.
7. Click OK on the lower right of the dialog box.
8. To add zones, click Add to the right of the zones entry.
9. Select the appropriate zones from the dropdown list.
10.. Click OK on the lower right of the dialog box.
11.Click Save on the lower right of the screen. You are presented with a
confirmation message.
12.Click Done in the lower right of the screen.
Add course offerings
Now that we have instructors in place, we can proceed to generating actual
course offerings for the course masters that we posted to LMS in topic “Add
course masters” on page 418. The procedure is as follows.
1. Select the Course Catalog tab.
2. Select Register Course Entry.
428
IBM Lotus Learning Management System Handbook
3. Select the radio button for course and click the Continue button on the lower
right of the screen.
4. Drill down to you desired course master and select the radio button to the left
of the course name.
5. Click the Continue button on the lower right of the screen. You are presented
with a wide assortment of settings to be used to define the course offering.
See Figure G-35.
Figure G-35 Course settings
6. Complete the desired fields and click Continue in the lower right of the
screen.
7. Drill down to select the folder to store the offering.
8. Click Save in the lower right of the screen.
9. You are presented with a message confirming that the offering has been
created. Click Done in the lower right of the screen.
Appendix G. Configuring LMS for the MAGIC company
429
Schedule class offerings
Now that the offering is defined, you can add actual schedule entries to LMS. The
procedure is as follows.
1. Select the Course Catalog tab.
2. Drill down to the desired course offering and click the three-ring binder icon to
the left of the course name. You will be presented with a tabbed table of
information for the course. See Figure G-36.
Figure G-36 Course information
3. Select the Scheduled Offerings tab.
4. Click Schedule New Offering. You are presented with a screen displaying
the fields of information required to define the specific course offering.
5. Complete the required date fields.
6. Click Select Instructor and use the search tool as required. Notice that the
previously defined skills and zones are available to expedite the search
process.
7. Select the appropriate instructor and click OK.
430
IBM Lotus Learning Management System Handbook
8. Click Find Location. You will be presented with a dialog box to search for an
appropriate location.
9. Specify the location of the offering and click OK.
You cannot specify the specific room at this point. That is defined in the next
step. The reason for this is that an offering may occur over several sessions
and the room assignment (and instructor assignment) may be different for
each session. For example, the offering is three sessions on three separate
evenings. The first two sessions are in a conference room and the third
session is in the lab with a lab instructor rather than the course instructor.
10.Then you move ahead and adjust the specific offering details at the lower part
of the screen. Figure G-37 shows some of this activity.
Figure G-37 Adjusting the offering details
11.When all entries are completed, click Save at the bottom left of the screen.
12.Click Add Booking requirement and click Edit and Select at the right of the
screen to update the booking requirement. See Figure G-38 on page 432.
Appendix G. Configuring LMS for the MAGIC company
431
Figure G-38 Updating the booking requirement
13.Click Select to the right of the Room choice. See Figure G-39.
Figure G-39 Selecting a room
14.When all entries are completed, click Save at the bottom left of the screen.
15.Repeat this process for as many offerings as required.
432
IBM Lotus Learning Management System Handbook
H
Appendix H.
Default LMS user roles
This appendix provides a table of the default LMS user roles and their
permissions. An X marks the permissions that apply to each role.
© Copyright IBM Corp. 2003. All rights reserved.
433
Roles and permissions
Student
Manager
Instructor
Administrator
Anonymous
Home Completed Courses
View completed courses
X
X
X
X
Home Approvals
View, approve and deny approvals
X
X
X
X
Help Desk
Display link to help desk
X
X
X
X
Home Certificates
View enrolled certificates
X
X
X
X
Self Unenroll
Allow self unenrollment in courses
X
X
X
X
Home Announcements
Access Announcement links
X
X
X
X
Home Recommended Courses
View recommended courses
X
X
X
X
Home Enrolled Courses
View and launch enrolled courses
X
X
X
X
Home Knowledge Search
Display link to Knowledge Search
X
X
X
X
Home Curriculums
View enrolled curriculums
X
X
X
X
Home Weeks Activities
View this weeks activities
X
X
X
X
Instructor Live Sessions
View and modify live sessions
X
X
Orientation
Display orientation link
Home Offline
Home
X
X
X
X
X
X
X
View and download offline learning client
X
X
X
X
Home Profiles
View and modify user profiles
X
X
X
X
Home Progress
View student progress report
X
X
X
X
Home Module
Permission to see Home module
X
X
X
X
Instructor Courses
View courses being taught
X
X
Home Notifications
View and delete notifications
X
X
X
X
Home Calendar
View student calendar
X
X
X
X
434
IBM Lotus Learning Management System Handbook
X
X
Student
Manager
Instructor
Administrator
Anonymous
X
X
X
X
X
X
X
X
Student Catalog
Self Enroll
Allow self enrollment
Student Catalog
Access Courses section
X
Course Catalog
Course Catalog
Access the Admin Catalog
X
Booking
Ability to book rooms
X
Manage Offerings Catalog
Manage Offerings Catalog
X
Manage Masters Catalog
Manage Masters Catalog
X
Instructor Booking
Ability to book instructors
X
User Profiles
Create and modify user profiles
X
Manage Users
Permission to assign users to roles and profiles
X
Roster Users
Permission to add or delete users
X
System Profiles
Create and modify auto enrollment profiles
X
Manage Role Auto Assign
Create and modify role auto assignments
X
User Management
Access User Management section
X
Manage Roles
Permission to create and modify roles
X
Manage Auto Enrollments
Manage the courses in a system profile
X
Enroll Approvals
Permission to override approvals
X
View Results
Permission to view any students results
X
User Management
Course Management
Appendix H. Default LMS user roles
435
Instructor
Administrator
Manager
Student
Anonymous
X
X
Instructor Results
View and modify results for courses you are
teaching
Enroll User
Administratively enroll users into courses
X
Manage User Profiles
Manage the courses in a user profile
X
Course Management
Access CourseManagement section
Modify Results
Permission to modify any students results
X
Manage Instructors
Permission to manage instructors
X
Limited View Locations
Access to a subset of location attributes
X
Manage Vendors
Permission to manage vendors
X
Manage Locations
Ability to edit locations
X
Limited View Rooms
Access to a subset of room attributes
X
Resource Management
Access Resources section
X
Limited View Instructors
Access to a subset of instructor attributes
X
Manage Rooms
Ability to edit rooms
X
X
X
Resource Management
Reports
Profile Roster Summary Report
Run profile roster summary reports
X
X
X
Classroom Schedule Report
Run classroom schedule reports
X
X
X
User Progress Course Report
Run user progress course reports
X
X
X
Custom Report
Run custom reports
X
X
X
Instructor Schedule Report
Run instructor schedule reports
X
X
X
User Transcript Report
Run user transcript reports
X
X
X
Logon Summary Report
Run logon summary reports
X
X
X
436
IBM Lotus Learning Management System Handbook
Manager
Instructor
Administrator
Student
Anonymous
Student Schedule Report
Run student schedule reports
X
X
X
Run Reports
Permission to run reports
X
X
X
Classroom Location Report
Run classroom location reports
X
X
X
Course Progress User Report
Run course progress user reports
X
X
X
Interaction Summary Report
Run interaction summary reports
X
X
X
Curriculum List Report
Run curriculum list reports
X
X
X
Activity Report
Permission to run activity reports
X
X
X
Reporter
Access Reporter section
X
X
X
Course Progress Profile Report
Run course progress profile reports
X
X
X
Certification Expiration Report
Run certification expiration reports
X
X
X
Instructors Vendor Report
Run instructors vendor reports
X
X
X
User Permissions Report
Run user permissions reports
X
X
X
User Interaction Detail Report
Run user interaction detail reports
X
X
X
Enrollment Summary Report
Run enrollment summary reports
X
X
X
Instructors Group Report
Run instructors group reports
X
X
X
Classroom Utilization Report
Run classroom utilization reports
X
X
X
User Progress Course Details
Report
Run user progress course detailed reports
X
X
X
Curriculum Progress Report
Run curriculum progress reports
X
X
X
Enrollment Activity Report
Run enrollment activity reports
X
X
X
Manage All Scheduled Reports
Permission to view and edit all scheduled reports
in the system
Instructor Utilization Report
Run instructor utilization reports
X
X
X
Course Detail Report
Run course detail reports
X
X
X
Wait List Report
Run wait list reports
X
X
X
X
Appendix H. Default LMS user roles
437
Manager
Instructor
Administrator
Student
Anonymous
Certification List Report
Run certification list reports
X
X
X
Schedule Reports
Create and manage scheduled reports
X
X
X
Course Enrollments Report
Run course enrollment reports
X
X
X
Available Certifications Report
Run available certifications reports
X
X
X
Scheduled Reports Report
Run a report on scheduled reports
X
X
X
Settings
Settings
Access Settings section
X
Manage Notifications
View and manage notification settings
X
Manage Servers
View and manage delivery and collaboration
servers
X
Manage Settings
View and manage all global settings
X
Manage Customizations
View and manage customization settings
X
Manage Announcements
View and manage global announcements
X
438
IBM Lotus Learning Management System Handbook
I
Appendix I.
CLIMP help
This appendix provides a printed version of the Command-Line Import Utility’s
command help.
This file can also be viewed by entering climp.bat -h or java -jar climp.jar
-h.
© Copyright IBM Corp. 2003. All rights reserved.
439
LMS Command-Line Import Utility (CLIMP)
This is a printout of the CLIMP help.
Description
The LMS command-line import utility (CLIMP) imports one or more SCORM 1.2
course package files into the IBM Lotus Learning Management System.
Usage
Imports the specified course package file(s), optionally uploading the file(s) to an
FTP server first. If the -u (upload) option is specified, the file specifications can
contain wild cards.
climp.bat [ option... ] file...
java -jar climp.jar [ option... ] file...
Options
Options are case insensitive and can be specified anywhere on the command
line. Options apply to all specified files, even those preceding the options on the
command line.
440
-cm url
URL of Content Manager server to receive the course
package file(s).
-cmp password
Content Manager password.
-cmu username
Content Manager user name.
-d
Enables the course for disconnected use (disabled by
default).
-e emaillist
Comma-delimited list of e-mail addresses to receive
import status notifications.
-ftp ftpserver
URL for FTP server to contain course package file(s). If
the -u (upload) option is specified, the specified files are
uploaded to the specified FTP server and imported from
there. If the -ftp option is not specified, the specified files
must be accessible to the Content Manager server via the
file system.
-ftpp password
FTP password, required if an FTP user name is specified.
-ftpu username
FTP user name. Used by both the Content Manager
server and this utility (if the -u option is specified) to
IBM Lotus Learning Management System Handbook
access the FTP server. If not specified, anonymous
access is used.
-h
-?
Displays this Help file.
-l locale
Specify a locale for use with this utility.
-p file
Properties file containing command-line options. The
properties file uses command-line parameter names
without the '-' prefix; for example, ftp=ftp.xyz.com.
-u
Uploads course package files to specified FTP server and
imports them from there. If this option is not specified, the
Content Manager imports the file from the specified FTP
server (that is, it assumes the files have already been
uploaded), or from the file system if no FTP server is
specified.
-keystore filename
Sets the keystore climp uses to verify a LMM Server's
SSL certificate. By default climp uses the
java\jre\lib\security\cacerts keystore which has a default
password of “changeit” and contains root certificates for
many popular commercial certificate authorities.
Use the java keytool command to create a keystore for
use by climp. Do this if the LMM uses a self signed
certificate or a certificate from a private certificate
authority.
-storepass password Sets the password used to access a keystore specified
with the -keystore option.
Appendix I. CLIMP help
441
442
IBM Lotus Learning Management System Handbook
J
Appendix J.
Additional material
This redbook refers to additional material that can be downloaded from the
Internet as described below.
Locating the Web material
The Web material associated with this redbook is available in softcopy on the
Internet from the IBM Redbooks Web server. Point your Web browser to:
ftp://www.redbooks.ibm.com/redbooks/SG247028
Alternatively, you can go to the IBM Redbooks Web site at:
ibm.com/redbooks
Select the Additional materials and open the directory that corresponds with
the redbook form number, SG247028.
Using the Web material
The additional Web material that accompanies this redbook includes the
following files:
File name
SG247028.zip
Description
Zipped files to use as samples for customizing LMS
© Copyright IBM Corp. 2003. All rights reserved.
443
System requirements for downloading the Web material
The following system configuration is recommended:
Hard disk space:
14 MB minimum
How to use the Web material
Create a subdirectory (folder) on your workstation, and unzip the contents of the
Web material zip file into this folder.
444
IBM Lotus Learning Management System Handbook
Abbreviations and acronyms
DS
Delivery Server
FTP
Filetransfer Protocol
HTML
Hypertext Markup Language
HTTP
Hypertext Transport Protocol
IBM
International Business
Machines Corporation
IDS
IBM Directory Server
ITSO
International Technical
Support Organization
LAN
Local Area Network
LDAP
Lightweight Directory Access
Protocol
LMM
Learning Management
Module
LMS
IBM Lotus Learning
Management System
MS
Microsoft
SOAP
Simple Object Access
Protocol
SSL
Secure Sockets Layer
URL
Uniform Resource Locator
WAS
WebSphere Application
Server
© Copyright IBM Corp. 2003. All rights reserved.
445
446
IBM Lotus Learning Management System Handbook
Related publications
The publications listed in this section are considered particularly suitable for a
more detailed discussion of the topics covered in this redbook.
IBM Redbooks
For information on ordering these publications, see “How to get IBM Redbooks”
on page 451. Note that some of the documents referenced here may be available
in softcopy only.
򐂰 IBM WebSphere V5.0 Security WebSphere Handbook Series, SG24-6573
򐂰 IBM WebSphere Application Server V5.0 System Management and
Configuration: WebSphere Handbook Series, SG24-6195
򐂰 Generating Web server plug-ins in WebSphere Network Development,
TIPS0141
򐂰 DB2 UDB/WebSphere Performance Tuning Guide, SG24-6417:
򐂰 Up and Running with DB2 for Linux, SG24-6899
򐂰 IBM Tivoli Monitoring for Databases: DB2 An Overview, REDP3608
򐂰 IBM Tivoli Monitoring for Databases: Oracle An Overview, REDP3609
򐂰 Up and Running with DB2 for Linux, SG24-6899
򐂰 DB2 UDB V7.1 Performance Tuning Guide, SG24-6012
򐂰 Database Performance Tuning on AIX, SG245511
򐂰 Getting the Most From Your Domino Directory, SG24-5986
򐂰 Understanding LDAP, SG244986
򐂰 LDAP Implementation Cookbook, SG24-5110
򐂰 Using IBM Lotus Virtual Classroom, SG24-6842-01
򐂰 Lotus LearningSpace R5.01 Deployment Guide, SG24-6843
Other publications
The following publications are also relevant as further information sources.
© Copyright IBM Corp. 2003. All rights reserved.
447
Online resources
These Web sites and URLs are also relevant as further information sources.
They are listed by category.
Web serving
򐂰 WebSphere Application Server 5.0 - Tuning Guide
http://publib7b.boulder.ibm.com/wasinfo1/en/info/tuning/50TuneGuide.html
򐂰 Manually configuring supported Web servers
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/tins_manualWebServe
r.html
Product information for supported database systems
򐂰 Microsoft SQL Server
http://www.microsoft.com/sql/
򐂰 Oracle 9i
http://www.oracle.com/ip/deploy/database/oracle9i/
򐂰 IBM DB2
http://www-3.ibm.com/software/data/db2/
򐂰 IBM DB2 Performance Expert
http://www-3.ibm.com/software/data/db2imstools/db2tools/db2pe/index.html
򐂰 DB2 Developer Domain Library
http://www7b.boulder.ibm.com/webapp/dd/ViewServlet.wss?viewType=Library&dev
Domain=dmdd&sortBy=Posted&prodfam=1&topic=12
򐂰 Quest Software Central for DB2
http://www.quest.com/quest_central/db2
򐂰 Google Groups: databases
http://groups.google.com/groups?group=comp.databases
򐂰 Quest Software Central for Oracle
http://www.quest.com/quest_central/qco
򐂰 dBforums - Database design, development and administration
http://dbforums.com
򐂰 Unofficial Oracle - Frequently Asked Questions
http://www.orafaq.com/faq2.htm
448
IBM Lotus Learning Management System Handbook
򐂰 IBM Manuals for DB2 Information Management Products
http://www-3.ibm.com/software/data/db2/library
򐂰 DB2 Performance Expert Add-On - Overview
http://www-3.ibm.com/software/data/db2imstools/db2tools/db2pe/index.html
򐂰 DB2 tuning parameters: WebSphere Application Server
http://publib7b.boulder.ibm.com/wasinfo1/en/info/ae/ae/rprf_db2parameters.h
tml
򐂰 DB2 Performance Problem Determination
http://www-3.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/tutoria
l_performance.d2w/toc
򐂰 SQL Server Database Performance Tuning Tips
http://www.sql-server-performance.com/
򐂰 Oracle Performance and Scalability
http://www.oracle.com/appsnet/technology/performance/content.html
Directory server information
򐂰 IBM Directory Server
http://www-3.ibm.com/software/network/directory/server/
򐂰 IBM Lotus Domino
http://www.lotus.com/products/r5web.nsf/webhome/nr5serverhp-new
򐂰 Sun ONE Directory Server
http://wwws.sun.com/software/products/directory_srvr/home_directory.html
򐂰 Microsoft Active Directory
http://www.microsoft.com/windows2000/technologies/directory/ad/default.asp
Free LDAP viewers
򐂰 GQ [Linux]
http://biot.com/gq/
򐂰 JXplorer [Cross Platform]
http://pegacat.com/jxplorer/index.html
򐂰 LDAP Browser/Editor [Cross Platform]
http://www.iit.edu/~gawojar/ldap/
Related publications
449
򐂰 Sash LDAP Editor [Windows]
http://sash.alphaworks.ibm.com/release/current/weblications/gallery/ldapedi
tor/install.htm
򐂰 SashXB LDAP Editor [Linux]
http://oss.software.ibm.com/sashxb/download/gallery.html
򐂰 Softerra (tm) LDAP Browser [Windows]
http://www.ldapadministrator.com/download/index.php
Other LDAP links
򐂰 RFC2251: LDAP v3
http://www.ietf.org/rfc/rfc2251.txt
򐂰 RFC2252: LDAP v3 Attribute Syntax Definitions
http://www.ietf.org/rfc/rfc2252.txt
򐂰 RFC2253: UTF-8 String Representation of Distinguished Names
http://www.ietf.org/rfc/rfc2253.txt
򐂰 RFC2254: The String Representation of LDAP Search Filters
http://www.ietf.org/rfc/rfc2254.txt
򐂰 RFC2255: The LDAP URL Format
http://www.ietf.org/rfc/rfc2255..txt
򐂰 LDAP Schema Viewer
http://ldap.akbkhome.com/attribute.html
򐂰 Introduction to LDAP Development
http://www.sbfsbo.com/mike/OpenldapTutorial/
HTTP server information
򐂰 IBM HTTP Server v1.3.12x Documentation
http://www-4.ibm.com/software/webservers/httpservers/doc/v1312/ibm/2tabinde
x.htm
򐂰 Apache Documentation
http://httpd.apache.org/docs/
򐂰 HTTP 1.1 Status Code Definitions
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
450
IBM Lotus Learning Management System Handbook
򐂰 Apache Directives
http://httpd.apache.org/docs/mod/directives.html
IBM WebSphere Application Server information
򐂰 WebSphere Product Homepage
http://www-3.ibm.com/software/info1/websphere/index.jsp
򐂰 WebSphere Application Server InfoCenter Reference Library
http://www.ibm.com/software/webservers/appserv/infocenter.html
򐂰 WebSphere Application Server - System Requirements
http://www-3.ibm.com/software/webservers/appserv/doc/latest/prereq.html
򐂰 Handling Static Content in WebSphere Application Server
http://www7b.software.ibm.com/wsdd/techjournal/0211_brown/brown.html
򐂰 J2EE Application Deployment: One or Many Applications per Application
Server?
http://www7b.software.ibm.com/wsdd/techjournal/0211_alcott/alcott.html
򐂰 Manually configuring supported Web servers
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/tins_manualWebServe
r.html
򐂰 Manually editing the plug-in configuration
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/trun_plugin_edit.ht
ml
򐂰 Preparing to install and configure a Web server
http://publib7b.boulder.ibm.com/wasinfo1/en/info/aes/ae/tins_webserver.html
How to get IBM Redbooks
You can search for, view, or download Redbooks, Redpapers, Hints and Tips,
draft publications and Additional materials, as well as order hardcopy Redbooks
or CD-ROMs, at this Web site:
ibm.com/redbooks
Related publications
451
Help from IBM
IBM Support and downloads
ibm.com/support
IBM Global Services
ibm.com/services
452
IBM Lotus Learning Management System Handbook
Index
Numerics
4-Tier Model 279
A
access 357
anonymous 308
faster 36
student 308
access control list (ACL) 191, 200, 339, 402
accessibility 277
active user registry 388
adding
course offerings 428
instructors 162
administrator
configuration 183
interface 210, 316
settings 85
Advanced Distributed Learning initiatives (ADL)
289
agent, Domino 224
AICC 15
compliant 352
alias, table 251
announcements 352
anonymous
access 198, 308
interface 308
Apache
AXIS 165
SOAP 165
Web Server 67
Web server 165
API
LMS 224
application server 68
scope 93
applying
profiles 425
roles 401, 424
skills 426
zones 426
architect 42
© Copyright IBM Corp. 2003. All rights reserved.
architecture 334
assessments 161
attributes 180
mappings 180
uid 47
audit database 55
Authoring Tool (AT) 5, 14, 18–19, 160–161, 163,
277, 297, 334, 354
course creation 286
course evaluation 283
for changing course content 352
guide 295
introduction
automatic
notifications 351
roles 187
Aviation Industry Computer-Based Training Committee (AICC) guidelines 290
B
backup strategy 127
base URL 84
benefits 4
blended learning 5
branding logo customization set 213
budget 279
business requirements 336
C
calendar 309
capacity planning 27, 31, 335, 357, 359
database 37
cascading style sheets 210
catalog browser 240, 247
category 256
cell 68
scope 93
certificate 205, 286
map mode 383
certification 332
change management 354
specialist 43
chat function 154
453
checklist
installation 363
pre-configuration 337
pre-installation 363
classes, scheduling 430
classpath 237
client, offline 6, 318
CLIMP 201, 291, 334, 352
cluster 231, 258
WebSphere 34
code, sample agent 224
collaboration 275
servers 14, 20
settings 351
command files for Windows 129
Command Line Import Utility (CLIMP) 296, 440
Command Line Import utility (CLIMP) 299
installing 299
running 301
troubleshooting 303
using 300
communication 338
concurrent usage 25, 29
configuration 26, 178, 336, 397
access control lists 191
attributes 180
file
generating 76
plug-in 136
locations 408
permissions 191
profiles 193
repository 392
resources 410
roles 183
settings 343
skills 414
three-tier 33
two-tier 33
users 185
zones 415
connection
passthrough 63
pool size 123
speed 36
ConnectionIOTimeOut 75
connector
LVC-LMS 156
content
454
access time 36
AICC compliant 352
deployment 66, 85
settings 86
developer 43
files 14
importing 291
SCORM compliant 352
server 14, 17
static 62
Content Manager (CM) 66, 297
context root 84
corporate data integration specialist 43
corporate learning environment 6
counter, users 219
course
accessibility 277
AICC compliant 352
builder 160
catalog 198
certificate 286
chats 154
codes 341
components reuse 288
creating 161, 346
curriculum 205, 286
deployment example 353
design elements 275
development 274
example 353
tools 277
editing 161
entry 201
evaluation 282
generated 160
implementation 281
importing 291, 296
CLIMP 354
management module 316
masters 340, 416
offerings 296, 340, 403
adding 428
folders 418
packaging 354
registering 296
scheduling 204
SCORM compliant 352
updating 354
workflow 355
IBM Lotus Learning Management System Handbook
courses
importing using FTP 300
CPU utilization 31
creating courses 161
Critical Path Meta-Directory Server 50
curriculum 205, 286
certificate 286
custom reports 229
enabling 258
customization 210
branding logo 213
help text 213
image set 213
set 210
caching 211
defining 211
department identity 352
ITSO sample 214
registering 216
D
data
field 247
source 92
database
access rights 139
administrator 42
creating 90
creation scripts 139
driver 236
error 138
populating 90
relational 55
schema 91
scripts 91
server 55
size estimation 37
date/time 43
dateRange 254
DB2 Connect 58, 230
DB2_install 56
DB2ADMIN 139
DB2Setup utility 56
default roles 186
Delivery Server (DS) 14, 17, 61
adding 98
distributed 35
settings 86
deployment 353
large 34
medium 33
settings 351
small 32–33
design
elements 275
LMS solution 338
process 274
Detroit 410
developer 43
development 353
process 274
tools 277
directory server 15
disaster recovery 126
Discovery Server 20, 155
discussion forum 154
distinguished 379
distinguished name 180, 268, 379
distributed Delivery Servers 35
DNS hostnames 43
Domino 15, 20
agent 224
server 154
DTD 253
E
EAR files 97
e-business 68
Eclipse 166
editing a report 258
editing courses 161
education
online 287
rollout 356
enQuire Virtual Directory 50
enroll
in a certificate 205
in a curriculum 205
enrolled students 29
enrollment
profiles 193
environment entries 95
ERP system 154
evaluation 282
explicit roles 187
external consultants 332
Index
455
F
features
switching off 184
filter 137
filters 381
firewall 63, 133
formulas 245
freeware 44
FTP 14, 67, 87
server 19, 300
G
general
settings 351
generated courses 160
global security 68, 378
group ID map 382
groups 243
H
hardware
sizing 336
health check 23, 338, 357
hello 71
help desk 42, 357
help text 213
hierarchical name 180
hitcount 71
hostname 171
short 70
HTML 210
HTTP 165
content server 64
server
configuration 67
log 136
problem solving 135
setup 65
software 66
server for LMS user interface 61
HTTPS port 63
human resources system 154
I
IBM
4-Tier Model 279
Directory Integrator (IDI) 50
456
Directory Integrator (IDI), 51
Directory Server (IDS) 15, 51
Knowledge Producer (KP) 295
Lotus Learning Management System (LMS) 3
Software Services for Lotus 21
specialist 27
image customization set 213
implementation 281
importing 296, 354
courses 85
with FTP server 300
installation
checklist 363
file structure 89
parameters 83
pilot 338
installer script 84
InstallShield 82
instructional design process 274
instructor interface 315
instructor scheduling 162
interactive query designer 249
interface
administrator 316
anonymous 308
instructor 315
manager 315
search 400
student 308
introduction 4
IT system administrator 42
ITSO sample customization set 214
ivtApp 71
J
J2C 92
authentication data entries 94, 140
J2EE 7, 68
Java 156
example 166
SDK 141
Java server pages 210
JDBC 92
Data Source 123
defining the provider 94
driver 58, 94
testing connections 140
Jinfonet 230
IBM Lotus Learning Management System Handbook
JNDI names 141
JReport Designer 229
JReporter
interactive query designer 249
SQL queries 249
JReports
view mode 251
JSP
customization set 211
files 97
K
Knowledge Management 20
Knowledge Producer (KP) 295
L
languages 328
LDAP 15
attribute mappings 393
catalog 9
directory 15, 46, 179, 335
connection 47
multiple 49
server 46
filters 381
groups 85, 210
server 46
connectivity 378
settings 84, 137
user registry 378
username 84
Learning Content Management System (LCMS)
294
learning management system 3
Learning Resource iNterchange (LRN) 292
LearningSpace 6
LearningSpace - Virtual Classroom 20
LearningSpace 5 145
LearningSpace Forum 145
Lightweight Directory Access Protocol (LDAP). See
LDAP
Lightweight Third Party Authentication (LTPA) key
159
live session 161
tips 163
LMM 61
content manager 66
database 55
server 14
base URL 84
LMS
administration
interface 183
API 165, 224
Authoring Tool (AT) 297
Authoring Tool. See Authoring Tool (AT)
benefits 4
checking parameters 135
Command Line Import Utility (CLIMP) 296, 299,
440
components 26
configuration settings 343
Content Manager (CM) 297
customization 210
databases
Audit 15
Delivery Server 15
LMS Server 15
deployment 23, 338
features 83
features through API 166
health check 338, 357
installation
pilot 338
installation. 81
installer 82–83
interface 14, 296
introduction 4
Migration Tool 148
online help 98
portlets 155
project
kickoff meeting 331
plan 332
team 329
server
preconfiguring 43
settings 84
skills needed 329
testbed 333
Updater 92, 127, 140
user roles, table of defaults 433
Web interface 18
lmsadmin ID 404
load balancing 34, 64, 86
localize attribute 253
location 408
Index
457
Detroit 410
Pittsburgh 410
Stuttgart 410
log
file 78, 126–127, 134
path 134
log-in rate 30
log-level 269
logo
customization 211
lookups 47
Lotus
e-Learning forum 135
Virtual Classroom (LVC) 155, 328
LTPA
configuration settings 383
key 159, 378
single sign-on (SSO) 384
token 93
LVC 155
Catalog Server 159
server 154
Session Server 159
LVC-LMS connector 156
uninstalling tool 163
M
MacroMedia 292
Macromedia DreamWeaver 18
MAGIC company
configuring LMS 397
corporate scenario 327
management
tracking 328
manager interface 315
Manufacturing Global Industrie Corporation (MAGIC) 328
mapping attributes 180
master
entry 201
folder 416
master repository 392
masters catalog 402
MaxKeepAliveRequests 122
MaXware
MetaCenter 50
Virtual Directory 50
meta directory 49
458
metatags 352
Microsoft
Learning Resource iNterchange (LRN) 292
Metadirectory Services 50
PowerPoint 292
SQL Server 2000 57
migration 145
tool 148
motivational techniques 275
multimedia 36
My Sessions list 161
N
network
architect 42
deployment 68
deployment manager 69
untrusted 63
node 68
agent 68–69
repository 392
scope 93
notifications
announcements 352
automatic 351
settings 351
NOVELL DirXML 50
O
object class 395
OctetString Directory Federator Express 50
offering 296
folders 418
offline client. See also Offline Learning Client 6
Offline Learning Client 14, 19, 309, 318, 351
installation 318
silent mode 323
using 321
online education 287
Oracle 57
P
p_schema_com 249, 254
p_tx_user_oid 251
packaging 354
Paint Shop Pro 212
paramdesc file 258
IBM Lotus Learning Management System Handbook
parameters 248
attributes 254
checking 135
installation 41
table 363
Partimage 127
partitions 127
passthrough connection 63
performance 75
objectives 30
permissions 191, 253
reports 230
roles 186
user roles 433
pilot 338
installation 338
Pittsburgh 410
PKGADD 56
planning 146, 334
capacity 335
plug-in
configuration file 136
port 443 63
port 80 63, 66
port 9081 61
portals 20
portfolio 24
portlets 155
PowerQuest DeployCenter Library 127
pre-configuration 336
checklist 337
pre-installation checklist 363
problem
determination 132
profiles 185, 340
applying 425
configuring 407
creating 193
enrollment 193
progress data 316
project
kickoffmeeting 331
plan 332
team 329
properties file 300
proxy
browser ettings 132
pSeries 34
Q
q_usrtran_prog 249
queries 249
query, table alias 251
Quickplace 162
R
Radiant Logic Virtual Directory Server 50
recovery 126
Redbooks Web site 451
Contact us xix
reference card 356
registering 296
relational database management system (RDBMS)
9, 15, 55
remote locations 35
replace.zip 164
report inspector 240
reporter.log 269
reports 229
catalog 230
catalog browser 240
category 256
customized 253
data fields 247
database connection 236
dateRange 254
distinguished name 268
editing 258
formulas 245
groups 243
inspector 261
layout 243
localize 253
log-level 269
parameters 248
permission 253
pre-defined 230, 253
queries 249
report inspector 240
reporter.log 269
SQL queries 249
subreports 251
table alias 251
template 253
troubleshooting 269
view mode 251
reports.xml 230, 252
Index
459
repository 392
requirements analysis 274
resources 341, 410
adding 347
response time 30
restart 126
sequence 128
reuse of components 288
roadshow 356
roles 183, 339
adding 187
and responsibilities 42
applying 401, 424
automatic 187
configuring 404
creating 186
default 186
explicit 187
multiple per user 187
permissions 186
scheduler 406
rolling out education 356
room 204
rostered user 193
rostering
developers 398
students 28
users 335, 422
rostering users 197
run-level 45
S
Sametime 20
server 154
sample
agent code 224
customization set 214
scalability 5
options 31
scheduler role 406
scheduling
class offerings 430
courses 204
room 204
schema 395
scope 93
setting 389
scoping 334
460
Scoping, Planning and Architecture Assessment
22
SCORM 15
compliant 352
search interface 400
Secure Socket Layer (SSL) 78
security 43, 337, 377, 402
sers 339
server
cluster 231
Discovery 155
Domino 154
LVC 154
maintenance plan 126
restart sequence 128
Sametime 154
services 24
manager 156
offering 21
session
live 161
settings 393
collaboration 351
configuration 343
deployment 351
general 351
notification 351
settings.xml 269, 393
Shareable Content Object Reference Model
(SCORM) 288
shell scripts for UNIX 129
short hostname 70
Siemens DirXmetahub 50
silent mode 323
Simple Object Access Protocol (SOAP) 165
single sign-on (SSO) 159, 384
sizing 336
database 37
estimates 25
questionnaire 359
skills 343, 350, 414
applying 426
transfer 338
SMTP 165
server 14, 18, 59
snoop 71
soft link 45
solution design 338
space usage 37
IBM Lotus Learning Management System Handbook
sponsor 42
SQL
queries 249
Server 57
SSL 63
start dates, fixing if different 163
starting LMS 129
statistics, reporting 229
steps 397
stopping LMS 129
stub classes 169
student
access 308
interface 308
population 28
progress tracking 328
Stuttgart 410
subreport 251
Sun ONE
Directory Proxy Server 50
Sun ONE Meta-Directory 50
support line 357
Symantec Ghost Corporate Edition 127
syncronized directory 50
system
architect 42
failure 127
IT specialist 43
T
table
alias 251
of parameters 363
TCP/IP 43, 62
port 61
teamwork 329
test button 98
testbed 333
launch 21
text strings, localize 253
tiers 26
time zone 43
tracking data, loss of 354
training 338
requirements. 328
troubleshooting 131
CLIMP 303
reports 269
U
updating
course 354
workflow 355
usage
concurrent 25
pattern 29
user
anonymous access 198
configuration 185
counter 219
ID map 382
interface
administrator 316
anonymous 308
instructor 315
LMS
user interface 308
manager 315
student 308
registry 68, 388
roles
default 433
multiple 187
rostered 193, 335
rostering 197, 422
utilization, CPU 31
V
vendors 350
view mode 251
virtual
classroom 155
directory 50, 63
W
war file 62
WAS
administration console 71
network deployment 68
node agent 68
parameters 93
scope 93
Web
archive (WAR) file 141
browsers 18
single sign-on 159
Web server
Index
461
plug-in 70
settings 86
software 66
Web services 156
SOAP 36, 56
Web Services Description Language (WSDL) 165
web.xml 141
WebSphere
administration console 138
application 31
global security 72
JDBC 58
Lightweight Third Party Authentication key 159
plug-in 66, 135, 375
configuration file 75
security
problems 137
WebSphere Application Server
InfoCenter 66
scope setting 389
security 377
working with live sessions 163
workload pattern 29
X
XML 165
manifest files 295
Xserver Virtual Frame Buffer (XVFB) 44
Z
zones 343, 415
applying 426
defining 350
462
IBM Lotus Learning Management System Handbook
IBM Lotus
Learning Management System Handbook
Back cover
®
IBM Lotus
Learning Management
System Handbook
How to plan for your
LMS system
How to install and
configure your LMS
system
How to administer
and use your LMS
system
This IBM Redbook introduces the new IBM Lotus
Learning Management System into the growing
world of eLearning products and systems. We
wrote it to help you plan for, install, configure, and
use the LMS to meet your company’s education
requirements.
We begin with a discussion of what a learning
management system is. We describe how this new
LMS contains a WebSphere-based architecture.
We list the requirements and prerequisites for
supporting this eLearning environment. Then we
tell you of our installation experiences, and show
how to configure and customize the system for
your company. Lastly, we give you some tips on
how to adminster and use the LMS. We end with a
case study that illustrates these points.
Anyone who is reponsible for choosing and
implementing a learning management system will
want to read this publication.
INTERNATIONAL
TECHNICAL
SUPPORT
ORGANIZATION
BUILDING TECHNICAL
INFORMATION BASED ON
PRACTICAL EXPERIENCE
IBM Redbooks are developed by
the IBM International Technical
Support Organization. Experts
from IBM, Customers and
Partners from around the world
create timely technical
information based on realistic
scenarios. Specific
recommendations are provided
to help you implement IT
solutions more effectively in
your environment.
For more information:
ibm.com/redbooks
SG24-7028-00
ISBN 0738499242
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement