Open Text Library Management
Administration/Customization Guide
2921103.1
2921103.1
Rev.: 2010-Jan-29
Open Text Corporation
275 Frank Tompa Drive, Waterloo, Ontario, Canada, N2L 0A1
Tel: +1-519-888-7111
Toll Free Canada/USA: 1-800-499-6544 International: +800-4996-5440
Fax: +1-519-888-0677
E-mail: support@opentext.com
FTP: ftp://ftp.opentext.com
For more information, visit http://www.opentext.com
Copyright © by Open Text Corporation, Open Text Inc.
Open Text Corporation is the owner of the trademarks Open Text, The Content Experts, Great Minds Working Together,
Livelink, Livelink ECM, Livelink ECM-eDOCS, Livelink MeetingZone, MeetingZone, B2BScene, B2BScene.com,
Client/Surfer, Collaboration, Creative Desktop, Further Faster, Hyperinnovation, Internet Anywhere ,Livelink IRIMS,
IRIMS, IXOS, Livelink OnTime, OnTime, Livelink Remote Cache, Microstar, MyLivelink, O & Design, Odesta, Odesta
Helix, Odesta Livelink, Open Text Intranet, Open Text Web Index, Personality +, Putting Knowledge To Work, Techlib,
The Hyperlinked Organization, The Source For Business Knowledge, Worksmart, and World Of E among others. This list
is not exhaustive.
ACKNOWLEDGEMENTS
SAP®, R/3® and SAP ArchiveLink® are registered trademarks of SAP AG.
Adobe® is a trademark of Adobe Systems Incorporated.
Lotus® and Lotus Notes® are registered trademarks of Lotus Development Corporation. Domino is a trademark of Lotus
Development Corporation.
Microsoft®, Microsoft SQL®, and Microsoft SharePoint® are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
Oracle® is a registered trademark of Oracle Corporation.
Netscape and the Netscape N and Ship's Wheel logos are registered trademarks of Netscape Communications
Corporation in the U.S. and other countries.
Firefox® is a registered trademark of the Mozilla Foundation.
Sentry Spelling-Checker Engine Copyright © 2000 Wintertree Software Inc.
WordNet 2.0 Copyright © 2003 by Princeton University. All rights reserved.
Outside In® Viewing Technology © 1992-2002 Stellent Chicago, Inc. All rights reserved. Outside In® HTML Export © 2002
Stellent Chicago, Inc. All rights reserved.
Portions of eDOCS DM are copyrighted by DataDirect Technologies, 1991-2002.
All other products or company names are used for identification purposes only, and are trademarks of their respective owners. All rights
reserved.
Contents
PREFACE........................................................................................................... 11
About Open Text Collections Server (Formerly BASIS) and Open Text Library Management
(Formerly Techlib) ..................................................................................................................................... 12
References to BASIS in Documentation .................................................................................................. 12
References to Techib in Documentation .................................................................................................. 12
COLLECTIONS SERVER DOCUMENTATION.................................................. 13
1.1 Library Management .......................................................................................................................... 13
1.2 Collections Server ................................................................................................................................ 13
1.3 Open Text Collections Server Webtop Suite ..................................................................................... 14
OVERVIEW OF LIBRARY MANAGEMENT ARCHITECTURE ......................... 17
2.1 Library Management OPAC Options ................................................................................................. 18
2.1.1 Open Text Library Management Integration .................................................................................. 18
2.1.2 Collections Server Webtop OPAC ................................................................................................. 19
2.2 Three-Tier Architecture for the Library Staff Modules .................................................................. 19
DATABASE CONCEPTS ................................................................................... 21
3.1 Collections Server Databases .............................................................................................................. 21
3.1.1 Definition Database ........................................................................................................................ 23
3.1.2 Record Database ............................................................................................................................. 23
3.1.3 Thesaurus Database ........................................................................................................................ 23
3.2 Definition Database Structure ............................................................................................................ 23
3.2.1 Actual Data Model ......................................................................................................................... 24
3.2.2 User Data Model ............................................................................................................................ 25
3.2.3 Structural Data Model .................................................................................................................... 25
3.3 Database Creation ............................................................................................................................... 26
3.4 Record Relationships in Library Management ................................................................................. 27
DATABASE SECURITY ..................................................................................... 31
4.1 Registering and Authorizing Users to Library Management .......................................................... 31
4.1.1 Displaying Registrations and Authorizations ................................................................................. 33
4.1.2 Modifying or Deleting Registrations and Authorizations .............................................................. 33
iii
4.1.3 Using a Procedure to Register and Authorize Many Users ............................................................. 35
4.2 Controlling Access to Modules and Tasks .......................................................................................... 36
4.3 Using Staff Security Task to Register and Authorize Users ............................................................. 36
4.3.1 Setting up the Staff Security Task to Register and Authorize Users ................................................ 36
4.3.2 How the Staff Security Task to Register and Authorize Users Works ............................................. 37
PERFORMING ROUTINE MAINTENANCE ....................................................... 39
5.1 Establishing Backup and Recovery Procedures ................................................................................ 39
CUSTOMIZING YOUR APPLICATION .............................................................. 41
6.1 Change Management ........................................................................................................................... 42
6.1.1 Back up Application Before Making Changes ................................................................................ 43
6.1.2 Set up a Test Area ........................................................................................................................... 43
6.1.3 Back up the Application Regularly ................................................................................................. 44
6.1.4 Prepare for Upgrades ...................................................................................................................... 44
6.2 Changing Profiling and System Settings from within the Application ............................................ 44
6.3 Customizing Library Management Routines ...................................................................................... 45
Function Calls ....................................................................................................................................... 46
Variable Names .................................................................................................................................... 46
6.4 Enabling References .............................................................................................................................. 46
6.5 Adding a Custom page .......................................................................................................................... 47
DIRECTORY STRUCTURE ................................................................................ 49
FILE NAMING CONVENTIONS ......................................................................... 51
8.1 General Active Server Pages ............................................................................................................... 51
8.2 Menu Pages ........................................................................................................................................... 53
8.3 Reports .................................................................................................................................................. 53
8.3.1 Report Lists ..................................................................................................................................... 53
8.3.2 Report Pages and Report Layout for JasperReports ........................................................................ 53
8.4 Images.................................................................................................................................................... 54
8.4.1 Side Images ..................................................................................................................................... 54
8.4.2 Top Images...................................................................................................................................... 54
8.4.3 Toolbar buttons ............................................................................................................................... 55
8.4.4 Toolbar icons .................................................................................................................................. 55
8.5 Include Files .......................................................................................................................................... 56
Specifying Number of Result Set Members ......................................................................................... 56
Changing the Name of the Virtual Directory ........................................................................................ 56
Specifying Size of Acquisitions Request Lists ..................................................................................... 56
iv
Specifying Number of Days Requests Displayed After Close ............................................................. 57
Changing the JasperReports locations ................................................................................................. 57
8.6 ActiveX Files ........................................................................................................................................ 57
CUSTOMIZING GRAPHICS ............................................................................... 60
9.1 Graphic Composition .......................................................................................................................... 60
9.1.1 Image sizes ..................................................................................................................................... 62
9.2 Location of the Photoshop Graphic Files........................................................................................... 62
9.3 Replacing Graphics ............................................................................................................................. 62
9.3.1 Login Form..................................................................................................................................... 62
9.3.2 Top Menu (Modules) ..................................................................................................................... 63
9.3.3 Side Menu (Tasks and Subtasks) .................................................................................................... 63
Example ............................................................................................................................................... 64
CHANGING DATABASE SERVER CONNECTION INFORMATION ................ 67
10.1 Changing a Data Source .................................................................................................................... 67
10.2 Adding a Data Source ........................................................................................................................ 68
10.3 Adding/Changing Database Names on the Login Form ................................................................. 69
CHANGING FORM TEXT AND FIELD LABELS ............................................... 71
11.1 Changing a Field Label ..................................................................................................................... 71
11.2 Modifying the Table on the Check-out, Check-in, and Renew Forms .......................................... 72
11.3 Changing from the Demonstration OPAC to the Actual OPAC ................................................... 75
11.3.1 Changing the Default Database for Webtop OPAC ..................................................................... 76
11.3.2 Changing the OPAC ..................................................................................................................... 76
11.3.3 Changing the Web Server OPAC URL ........................................................................................ 76
11.3.4 Changing to an External OPAC ................................................................................................... 76
11.4 Changing and Adding Resources URLs .......................................................................................... 76
11.5 Remove Database Information from Banner Hover Text .............................................................. 78
11.6 Report Maintenance Translation Tables ......................................................................................... 78
11.7 Changing State and Province List Order ........................................................................................ 78
ADDING AND CHANGING FIELDS................................................................... 79
12.1 Determine Whether the Field is Defined in the Library Management Database......................... 79
12.2 If Necessary, Revise and Apply Changes to the Database Definition ............................................ 80
12.2.1 Some Dos and Don'ts for Modifying the DDB............................................................................. 81
v
DO ........................................................................................................................................................ 81
DON'T .................................................................................................................................................. 82
12.2.2 Examples of Adding a Field and Changing a Field-Level Help.................................................... 82
Example 1: Adding a Field .................................................................................................................. 82
Example 2: Changing Field-Level Help for a Field ............................................................................. 84
12.2.3 Applying the Revised Definition to the Database ......................................................................... 86
Example: Entering and Applying Revised Definition to the Database ................................................ 87
12.3 If Necessary, Create an Index for the Field ...................................................................................... 87
Example of Adding an Index After a Database Has Been Loaded ....................................................... 87
12.4 Determine Which Active Server Page to Modify ............................................................................. 90
Example 1 ............................................................................................................................................. 90
Example 2 ............................................................................................................................................. 90
12.5 Determine the Type of Field .............................................................................................................. 92
12.5.1 Simple Input Box .......................................................................................................................... 92
12.5.2 Textarea Box ................................................................................................................................. 93
Generic Example .................................................................................................................................. 94
12.5.3 Drop-Down Box (Word List or Code List) ................................................................................... 94
Generic Example .................................................................................................................................. 94
12.5.4 Drop-Down Box (Values from Another Record Type) ................................................................. 95
Controlling Vendor Display ................................................................................................................. 95
12.5.5 Display Only ................................................................................................................................. 95
Generic Example .................................................................................................................................. 96
12.5.6 Checkbox ...................................................................................................................................... 96
Generic Example .................................................................................................................................. 96
12.6 Update the Active Server Pages ........................................................................................................ 97
Example 1: Adding a Field Label and Checkbox to an ASP ............................................................... 97
Example 2: Adding a Field Label and Textarea Box ........................................................................... 99
12.7 Update the Translation Table ............................................................................................................ 99
Example 1 ........................................................................................................................................... 100
Example 2 ........................................................................................................................................... 100
12.8 Test the Changes ............................................................................................................................... 100
Example 1 ........................................................................................................................................... 100
Example 2 ........................................................................................................................................... 101
CUSTOMIZING AUTHORITY CONTROL ........................................................ 102
13.1 Modifying Authority Control Messages ......................................................................................... 103
13.2 Removing Search Control ................................................................................................................ 104
13.3 Removing Data Validation............................................................................................................... 104
13.4 Removing Authority Control ........................................................................................................... 104
13.5 Changing Thesaurus Databases/Authority Controlled Fields ...................................................... 105
13.6 Changing Term Relationship Names .............................................................................................. 106
13.7 Recognizing Trailing Periods .......................................................................................................... 107
vi
ADDING BARCODE READER SUPPORT ...................................................... 108
14.1 Setting up Your Barcode Reader ................................................................................................... 109
14.2 Customizing Barcodes ..................................................................................................................... 109
14.3 Adding Barcode Support to a Form ............................................................................................... 109
CUSTOMIZING REPORTS .............................................................................. 112
15.1 Reports Overview ............................................................................................................................ 112
15.2 Using JasperReports ........................................................................................................................ 113
15.2.1 Making Library Management Reports Accessible to JasperReports .......................................... 113
Using newer versions of iReport ........................................................................................................ 113
Setting up a JDBC Resource for the Library Management Reports Database and iReport ............... 113
15.2.2 JasperReports Generation Workflow ......................................................................................... 113
15.2.3 Role of a Report's ASP ............................................................................................................... 114
Logic in Report ASPs ........................................................................................................................ 117
Defining the Report Item Tables in an ASP ....................................................................................... 118
Processing Virtual Columns .............................................................................................................. 118
Updating the Collections Server Database ......................................................................................... 119
15.2.4 Role of the Access Reports Database ......................................................................................... 119
Basic Report Table............................................................................................................................. 119
Report Item Tables ............................................................................................................................. 120
Role of JasperReports ........................................................................................................................ 121
Longevity of Browser Versions of Reports ....................................................................................... 121
Longevity of JasperReports Versions of Reports ............................................................................... 121
Example of Rearranging Report Format and Removing a Field ........................................................ 122
Example of Adding Fields to a Report ............................................................................................... 124
15.2.6 Creating a New JasperReport ..................................................................................................... 126
Some Tips for Creating New JasperReport Files ............................................................................... 126
15.3 Creating a Report by Using an Existing Collections Server Procedure ...................................... 127
15.3.1 Scope .......................................................................................................................................... 127
15.3.2 Definitions .................................................................................................................................. 128
15.3.3 Reading the PROC ..................................................................................................................... 129
Text Records ...................................................................................................................................... 129
FQM ................................................................................................................................................... 129
Notes on LIBR_KEY Columns.......................................................................................................... 129
Multiple Entities ................................................................................................................................ 129
Special Columns ................................................................................................................................ 130
15.3.4 Running a Collections Server PROC from the Library Management Interface .......................... 130
Overview............................................................................................................................................ 130
Creating the ASP page ....................................................................................................................... 130
Testing ............................................................................................................................................... 131
CUSTOMIZING HELP TOPICS ........................................................................ 132
16.1
Overview of Help Topics Relationships and Navigation .......................................................... 133
16.2 The Help Topics Search and Search Summary Forms................................................................. 135
16.3 The Help Topics Thesauri ............................................................................................................... 137
vii
16.3.1 Titles Thesaurus .......................................................................................................................... 137
16.3.2 Keywrds Thesaurus ..................................................................................................................... 137
16.3.3 Revising Thesauri using Bulk Updates ....................................................................................... 138
16.4 The Help Topics Database ............................................................................................................... 140
16.4.1 Checking Out and Modifying a Help Topic using Webtop .......................................................... 140
16.4.2 Checking In a Help Topic using Webtop ..................................................................................... 141
16.5 Understanding Syntax in ASPs for Help Topics ............................................................................. 144
16.5.1 Linking Topics Together ............................................................................................................. 144
16.5.2 Referencing Database Objects (Figures) within a Topic ............................................................. 145
16.5.3 Referencing File Objects (Buttons and Icons) within a Topic .................................................... 145
16.5.4 Making Syntax Adjustments Before Checking Topics into the Database ................................... 146
16.5.5 Displaying Topic Content ........................................................................................................... 146
16.6 Localizing and Customizing Topic Content ................................................................................... 148
16.6.1. Topic Content ............................................................................................................................. 148
16.7 Modifying Help Topics Using the Administration Module ........................................................... 148
16.7.1 Exporting and Importing Help Topics ........................................................................................ 149
16.7.1.1 Making Exported Help Topics Available to Users .............................................................. 149
16.7.2 Administering Update Help Topics Access ................................................................................ 150
BATCH DELETE PROCEDURES .................................................................... 151
17.1 Delete Invoice Records (INVDEL.PRC) ......................................................................................... 151
17.2 Delete Order Records (PODEL.PRC) ............................................................................................ 152
17.3 Delete Prediction Records (PREDDEL.PRC) ................................................................................ 154
17.4 Delete Subscription Records (SUBDEL.PRC) ............................................................................... 155
MANIPULATING DATE AND TIME FORMATS ............................................... 156
18.1 Output Formats for Date and Time ................................................................................................ 157
18.2 Date Format and DM Locale Pattern ............................................................................................. 158
18.3 Adjusting Timeout Settings ............................................................................................................. 158
18.3.1. ASP Session Timeout and Idle Timeout for the IIS application pool ........................................ 158
18.3.2. Collections Server Timeout........................................................................................................ 158
18.3.3. Factors in Adjusting Timeout Settings ....................................................................................... 159
18.4 Specifying Local Library Time ....................................................................................................... 160
CONFIGURING SINGLE SIGN-ON AND DIRECTORY SERVICES
INTEGRATION ................................................................................................. 162
19.1 Using SSO.......................................................................................................................................... 162
19.2 Changing the LDAP/SSO Settings .................................................................................................. 163
19.2.1 Changing LDAP/SSO Features Setup ......................................................................................... 163
viii
19.2.2 Changing the LDAP Server Information .................................................................................... 165
19.2.3 LDAP Directory Connection Field Descriptions ........................................................................ 167
19.2.4 Defining LDAP Directory/Patron Record Mapping ................................................................... 169
19.3 Turning on the SSO/LDAP Features ............................................................................................. 170
19.4 SSO Authentication/Alternate User IDs ........................................................................................ 170
19.5 SSO/LDAP System Administrator User ........................................................................................ 171
SETTING UP THE PATRON NOTIFICATIONS FEATURE ............................. 172
20.1 Adding Query Parameter Records ................................................................................................. 172
20.2 Adding Query Records .................................................................................................................... 174
20.3 Setting Up the FQM Command Procedure ................................................................................... 175
USING CASCADING STYLE SHEETS ............................................................ 177
TROUBLESHOOTING ..................................................................................... 179
22.1 Complex Report Error .................................................................................................................... 179
22.2 Administering Digital Content Display .......................................................................................... 181
22.3 Specifying the Digital Content Module Temporary Directory .................................................... 181
22.4 Reports Display Problems Using Internet Explorer 7.0 ............................................................... 181
22.5 Turning off Concept Extraction ..................................................................................................... 181
TITLES THESAURUS ...................................................................................... 182
INDEX ............................................................................................................... 189
ix
Preface
Library Management is an integrated suite of modules that not only provide patron
access to library collections and digital documents but also manage cataloging,
circulation, serials control, and acquisitions functions. The Open Text Library
Management Administration/Customization Guide is intended for system administrators
(SAs), database administrators (DBAs) and Webmasters who will be customizing and
maintaining Library Management. This application for special libraries and
information centers is supported by Open Text Collections Server, which manages
the application's databases.
This document is available in online form. For the latest version, go to the
Documentation folder on the Collections Server and Library Management Support
page at:
https://knowledge.opentext.com/
The user interface for the application employs Microsoft Active Server Pages (ASP).
In the ASP environment the logic (or code) resides within each page, and a page is
used to produce a form that appears within your browser. Some of the application
logic is incorporated into customizable ActiveX controls. In addition, you can
change the root directory name, Open DataBase Connectivity (ODBC) resources,
form text, graphics, field labels, reports, and help topics; and you can add and change
fields.
This guide is part of a suite of online documentation about Library Management.
Within this guide are references to various Collections Server manuals, where you
will find more detailed descriptions of various processes that support the
administration and customization of Library Management. The availability of
Collections Server manuals is described in the document ‘About documentation…’
on the Knowledge Center at
https://knowledge.opentext.com/knowledge/llisapi.dll/open/2098858. Review
your license agreement to learn which Collections Server and Library Management
modules you are licensed to use. If, for example, you have a single application
license for Library Management but not for Collections Server, you can use
Collections Server only to administer and customize Library Management, not to
develop your own Collections Server databases.
11
About Open Text Collections Server (Formerly BASIS) and Open
Text Library Management (Formerly Techlib)
Open Text is changing the names of some products. Our content solutions for libraries and
archives, BASIS and Techlib, are among the products being renamed. During the interim
you will see references to both the legacy and new product names
Legacy Product
Name
Livelink Product Name
Open Text Product Name
BASIS Server
Livelink ECM - Collections
Server
Open Text Collections Server
BASIS Techlib
Livelink ECM - Library
Management
Livelink for Libraries
Open Text Library Management
BASIS Webtop
Livelink ECM - Collections
Server Webtop
Open Text Collections Server Webtop
Suite
Livelink Activator
for BASIS
Livelink ECM - Collections
Server Integration
Open Text Collections Server
Integration
Livelink Cataloged
Library
Livelink ECM - Library
Management Integration
Open Text Library Management
Integration
References to BASIS in Documentation
During the transition from legacy product names to the new product names, you will see references to
both the old and new names in the products and product documentation. For example, in Collections
Server 10 or later the installation directory is drive:\BASISserver10.1. Also, BASIS Server
documentation may include references to BASIS, while installation documentation will refer to legacy
product name only when describing a feature of the product that continues to use the legacy name
(such as the installation directory).
Also, any description of a Collections Server release prior to version 10 will refer to BASIS. For
example, procedures for upgrading from a BASIS 9.x release to Collections Server 10 or later
mention BASIS when describing tasks that must be performed on the earlier release.
References to Techib in Documentation
During the transition from legacy product names to the new product names, you will see references to
both the old and new names in the products and product documentation. For example, any description
of a Library Management release prior to version 10 will refer to Techlib. For example, procedures for
upgrading from a Techlib 9.x release to Library Management 10 or later mention Techlib when
describing tasks that must be performed on the earlier release.
12
Library Management Administration/Customization Guide
Chapter 1
Collections Server Documentation
1.1 Library Management

Getting Started with Open Text Library Management, available on the Knowledge
Center, introduces Library Management’s components or modules and
provides assistance in tailoring the application to the needs of your library.
It contains information to help library staff plan for library automation or
plan for migrating from a partially automated system to Library
Management. It also contains various worksheets for collecting information
that will begin to configure Library Management to the requirements of your
library and its locations.

Installing Open Text Library Management, available on the Knowledge Center,
contains information about installing Library Management at libraries and
information centers that do not have a prior installation of Library
Management (with or without OPAC for Intranets) and at sites that are
migrating from TECHLIBplus or Livelink for Libraries to Library
Management.
1.2 Collections Server
The following manuals, available on the Knowledge Center, provide help to library
database administrators, system administrators, and webmasters. The availability of
these manuals is described in the document ‘About documentation…’ described in
the Preface.

Database Administration Planning and Design introduces relational database
design concepts and provides a tutorial for creating a simple Collections
Server database.

Database Administration Definition and Development describes how to define the
Actual, User, and Structural Data Models of a Collections Server database.
Contains Data Definition Language syntax and describes use of the
DMDBA module.
13

Database Administration Loading and Maintenance describes various methods
for loading data into Collections Server databases and describes
maintenance processes. The reference section describes principal
Collections Server database administration utilities.

Reference collects in one place information pertinent to all Collections Server
manuals, including documentation conventions, command syntax,
environment variables, system specifics; Collections Server architecture, and
a glossary of terms related to document management.

System Administration describes all aspects of the preparation, optimization,
and general administration of the Collections Server system.

Thesaurus explains how to use the Thesaurus Manager (TM) module to
create, use, and manage thesaurus databases.

Programming with OpenAPI describes how to create applications using
OpenAPI routines. It is directed toward programmers using C or Visual
Basic.

Interactive FQM Commands describes interactive features of Fundamental
Query and Manipulation (FQM) for entering, retrieving, displaying, and
modifying information. It documents all commands that can be entered at
the command line.

Command Procedures explains how to write command procedures. Includes
step-by-step instructions for creating, debugging, and executing procs. It
documents statements and functions and those commands that can only be
used within procs.

Complete FIND Handbook provides a complete description of the Collections
Server FIND command. Although it is directed mainly toward
Fundamental Query and Manipulation (FQM) interface users, this manual
contains information that applies to any module that employs the FIND
command.

Markup and Style Guide explains concepts and provides information on how
to create and use a markup and style guide.
1.3 Open Text Collections Server Webtop Suite
The Open Text Collections Server Webtop Suite is a collection of applications that
allow users to access Collections Server document and thesaurus databases, and
Library Management libraries. These manuals are available as PDF files on the
Knowledge Center.

14
Open Text Collections Server Webtop Suite Installation and Administration Guide
explains how to install and administer the Collections Server Webtop Suite
applications: Collections Server Webtop, Collections Server Webtop
Thesaurus Manager, and Collections Server Webtop OPAC.
Library Management Administration/Customization Guide

Open Text Collections Server Webtop Customization Guide explains how to
customize Collections Server Webtop Suite applications to meet your
organization’s needs.
15
16
Library Management Administration/Customization Guide
Chapter 2
Overview of Library Management
Architecture
Library Management is a Web-based application that enables standard library
administrative functions to be accomplished from the browser. The browser offers
a familiar environment, providing extensive links to make navigation between
modules easy.
Library Management is capable of managing not only the traditional library
functions but also manage electronic documents, and Internet resources. The
application uses an integrated development infrastructure with powerful database
tools and team-based development features for creating and managing dynamic,
interactive Web applications.
Library Management uses Microsoft application development tools. The Microsoft
Active Platform is an open, standards-based software architecture for delivering
content and applications over the Internet and intranets. This environment is used
to develop flexible HTML-based applications that are browser and platform
independent. The Active Platform includes various Internet-related tools, services
and technologies including ActiveX, Active Server and Component Object Model
(COM). The Active Platform services reside on the application server, the middle
tier of the three-tier architecture displayed in Figure 2-1.
Active Platform = HTML + Scripting + Object components
The Active Server uses layered technologies to build web-based client/server
applications. It provides the infrastructure and services needed to make
component- and web-based applications run easily over a network.
The primary parts of the Active Server are

Internet Information Server, the http/URL broker that passes requests for
Active Server Pages to a scripting engine component.
17

ActiveX Scripting Engine, the ActiveX component (for VBScript and JScript)
that processes Active Server Pages and sends HTML. Third-party scripting
engines such as Perl, for example, can be plugged in.

ActiveX Data Objects (ADO), which provide Web-optimized database access
and rich programming functionality. ADO is an ActiveX component that
facilitates database access via Open DataBase Connectivity (ODBC).

ActiveX Server Components, business or execution logic coded as reusable
components that are accessible by scripts.
Active Server Pages (ASP) is an open, compile-free application environment in
which developers can combine HTML, scripts and reusable ActiveX server
components to create, customize, and maintain dynamic and powerful Web-based
applications such as Library Management. ASP provides advanced state
management and native support for both VBScript and JScript in addition to
ODBC database tools.
Library Management software developers use Microsoft Visual InterDev, an
integrated development environment for database-driven applications using Active
Server Pages and ODBC. This environment makes it easy to build database
applications with advanced state management and server-side scripting.
2.1 Library Management OPAC Options
There are two different OPACs that can be used with Library Management.
2.1.1 Open Text Library Management Integration
Library Management Integration (formerly Livelink for Libraries Integration) allows
library users access to the library collection through a workspace in Open Text
Content Server (formerly Livelink). Users can search for library items, view their
own information, and perform other tasks, depending on the level of access granted
by the library staff. The Content Server instance with the Library Management
Integration module installed can be on the same machine as Library Management,
or it can be on a different machine.
The library staff can configure Library Management to select which methods are
available to search the database and to determine the level of security, such as users'
access to the database. The relationship between Library Management and Library
Management Integration allows the library staff to add digital content, which is a
Content Server object that is associated with a library item. For more information,
see the Open Text Library Management Integration Installation and Administration Guide.
18
Library Management Administration/Customization Guide
2.1.2 Collections Server Webtop OPAC
For Libraries that do not use Content Server, the Collections Server Webtop OPAC
provides user access to the library catalog. Collections Server Webtop OPAC is a
JavaServer Pages (JSP) application that can be installed on Library Management
server, Collections Server database server, or other server.
The Collections Server Webtop OPAC provides library users access to the Library
Management database through a Web browser. Users can search for library items,
view their own information, and perform other tasks, depending on the level of
access granted by the library staff.
2.2 Three-Tier Architecture for the Library Staff Modules
The Microsoft Active Platform implementation uses a three-tier architecture. The
Library Management client is a standard web browser. The middle tier is the
Windows application server, an Internet Information Server (IIS), running
Microsoft Active Platform. The lower tier is the database server running
Collections Server on HP, Sun or IBM UNIX, SuSe or Red Hat Linux, and
Windows or Alpha VMS.
While the architecture is multi-tiered, each tier does not require a separate computer.
However, Open Text recommends that you use separate computers for each tier.
Where UNIX is used for the database server, a single Windows machine can be
both the Library Management application server and the librarian's workstation. A
single Windows machine can also be the client-browser, application server, and
database server.
Client - Browser
Application Server - Windows
• Web Server
• Business Logic
HTTP
ODBC
Database Server – Windows/UNIX/VMS
• Kernel
• Database
Figure 2-1: Three-tier architecture for non-OPAC modules
19
The distributed approach, combining access to Library Management Integration,
Collections Server Webtop OPAC, and Library Management, offers many
advantages. It enables high-performance search and display activities by the larger
user population to be separated from update and database maintenance activities. It
allows the users to search and display library and patron information while the
library staff seamlessly update and maintain the Library Management database. It
also provides enhanced security, such as assigning different levels of security to
different patron IDs.
20
Library Management Administration/Customization Guide
Chapter 3
Database Concepts
3.1 Collections Server Databases
Collections Server, the foundation for Library Management, consists of several
databases:
The Authority Database
controls access to all
Collections Server
databases at your
company
Master Definition
Database
Application
Database
The Master Definition
Database describes the
organization and features
of all Definition Databases
Application Databases
contain a variety of
interrelated records
organized to make
information easy to find
Authority
Database
Thesaurus Databases
contain information to
control database
retrieval vocabulary
Thesaurus
Database
Figure 3-1: Collections Server and application databases
21
A library site has one Authority Database and one Master Definition Database but
can have many application databases. Each application database has both a
Definition Database (DDB) and a Record Database (RDB).
Library Management includes the following databases, each with its own DDB and
RDB:

Library Management, which is named tlp

Library Management Thesaurus, which is used for authority control and is
named ttlp

Library Management Help, which is named tlphelp

Library Management Help Thesaurus, which is used for vocabulary control of
topic titles and keywords within the help system and is named tthelp

Library Management Demonstration, which is named tlpdemo

Library Management Demonstration Thesaurus, which is named ttlpdem
The name of the DDB for each of these RDBs is prefaced by an x. The tlp
database, for example, is the RDB and the xtlp database is the DDB for tlp. If you
need to change any parts of Library Management database definitions, you will need
to work with the xtlp database.
The Definition Database
describes the organization
and features of your
specific database
Definition
Database
Each Record
Database stores data
files, journal files, and
backup sets
Record Database
Data
File(s)
Journal
File(s)
Figure 3-2: Application database
22
Backup
Set(s)
Library Management Administration/Customization Guide
3.1.1 Definition Database
Each DDB stores the definitions of record types, fields, indexes and other parts.
Serving as the data dictionary for a Record Database, the DDB is maintained via the
DMDBA module. For information about changing the DDB, using the DMDBA
module, and understanding Data Definition Language (DDL), see Database
Administration Definition and Development.
3.1.2 Record Database
The Record Database stores the data of a database. It consists of data files and
(optionally) journal files and backup sets. Journal files keep track of the new or
revised records that database users enter. If a system or media failure occurs, you
can recover "lost" data by replaying the journals.
Each Record Database can have as many as 99 versions. Each version would have
the same logical description but would be stored in different files and could contain
different data. For example, you might define three versions of a database: one for
testing, one for training, and one for production. For more information about the
structure of files within the Record Database, see Database Administration Loading and
Maintenance.
You can use your host operating system's backup utility to make backup copies of
the RDB, DDB, and Journal Files. These copies are called backup sets and can be
used to recreate one or more of the Library Management databases if they have
been damaged.
3.1.3 Thesaurus Database
Thesaurus databases, defined and maintained by the Collections Server Thesaurus
Manager (TM) utility or Webtop TM, control data entry and database retrieval
vocabulary. Relations and legal terms are stored in the Thesaurus Database (TDB).
3.2 Definition Database Structure
Each DDB can contain more than 35 record types that are used by Collections
Server to describe a database, verify requested modifications to the definition,
coordinate restructuring and maintenance tasks, control all access, track programs
that use the database, and locate all the database files. Different record types
describe each record, field, user model, view, index, area, file, and other definitions.
As Figure 3-3 illustrates, a DDB consists of three models which show different
aspects of the database structure. Separating the Definition Database into three
models helps isolate the impact of changes. In many cases, if you make a change to
one of the models, you won't have to change the others. The three-model
architecture contributes to data independence.
23
USER DATA MODEL
Local Views
–
–
Has subsets of views for
various user groups
Maps records to views
ACTUAL DATA MODEL
Logical View
–
–
Defines all records
and fields
Defines validation
STRUCTURAL DATA MODEL
Physical View
–
–
Defines files, areas, and
indexes
Maps records and indexes to
areas
Figure 3-3: Models in a Definition Database
3.2.1 Actual Data Model
The Actual Data Model (ADM) defines the records and fields in the database. It also
describes many of the features for facilitating retrieval and ensuring the validity of
data. The ADM represents the DBA's point of view of the database.
Actual Data Model
ADM
Record:
Record:
Record: ...
CAT
COPY
PATRON ...
Field: Field:
Field: ...
CATNO MTYPE M100 ...
Figure 3-4: The ADM contains definitions of records and their fields
24
Library Management Administration/Customization Guide
In the RDB data is stored in fields as defined in the ADM.
Record Name
Field Names
Catalog (CAT)
CATNO
MTYPE
M100
M600
M050
24
20
1
1
Waddell, William C.
Riggs, Henry E.
Management
High Technology
HD31.W235
HD62.37.R53
Figure 3-5: The Catalog record and some of its fields with data
3.2.2 User Data Model
The User Data Model (UDM) defines who can use what is in the database. It defines
models consisting of one or more views of one or more records defined in the
ADM. Some of these models may describe views of data for users, while others
may describe the layout of view buffers in programs. The UDM represents the
users' points of view of the database.
The Library Management Help database includes a model named ALL with a view
named TOPIC for the help topic files and view named HTML_Objects for the
Active Server Pages of the user interface. The Library Management database
includes an ASP model and other models containing field information that appears
on ASP forms.
3.2.3 Structural Data Model
The Structural Data Model (SDM) maps the records defined in the ADM to areas and
data files, and it defines how the data is stored on your computer system. Indexes
are defined in the SDM. The SDM represents the computer storage point of view.
25
3.3 Database Creation
Figure 3-6 summarizes the steps for creating a Collections Server database.
Figure 3-6: Database creation process
Because Library Management is an application already built by the time you install it,
the only steps you need to take are to expand the generic user authorizations to
reflect the registration and authorizations for the users of the application at your
library site. For information about how to register and authorize users, see chapter
4 "Database Security".
26
Library Management Administration/Customization Guide
3.4 Record Relationships in Library Management
The modules that comprise Library Management include a variety of record types
that are defined in the RDB. Various fields within these record types link related
records to one another. Software rules ensure the proper maintenance of record
relationship. The Getting Started with Library Management document describes the
various record types and their purposes, and it illustrates the various record
relationships within the tlp and tlpdemo databases.
When a relationship is one-to-many, a record must exist on the "one" end of the
relationship before any dependent or associated records can be added on the
"many" end of the relationship. Conversely, before a record on the "one" end of
the relationship can be deleted, all of its dependent records must have already been
deleted. For example, before you can add a Copy record with a CATNO of 56789,
the database must first contain a Catalog record with a CATNO of 56789. Before
you can delete a Catalog record with a CATNO of 56789, you must first delete all
Acquisition, Copy, Circulation Request, Hold, Prediction, Route, and Subscription
records that have 56789 as the value of their CATNO field.
The following table provides information about the fields that link various record
types to one another:
Table 3-1: Records and the fields by which they are joined
Module
Name
Record Names
Fields by Which the
Records Are Joined
Acquisitions
Acquisition and
Catalog
ACQ.CATNO and CAT.CATNO
Acquisition and
Exchange
ACQ.CURRENCY_CD and
EXCHANGE_CURRENCY_CD
Acquisition and
Invoice
ACQ.INVOICE_NUM and
INVOICE.INVOICE_NUM
Acquisition and
Library
ACQ.LIBR_KEY or
ACQ.ACQ_LIBR_KEY and
LIBR.LIBR_KEY
Acquisition and
Patron
ACQ.REQ_PATRON_ID and
PATRON.PATRON_ID
Acquisition and
Purchase Order
ACQ.PO_NUM and PO.PO_NUM
27
Module
Name
Record Names
Fields by Which the
Records Are Joined
Acquisitions
(continued)
Acquisition and
Subscription
ACQ.CATNO and SUB.CATNO
ACQ.SUB_NUM and SUB.SNUM
ACQ.RENEWAL_NUM and
SUB.RNUM
Acquisition and
Vendor
ACQ.VENDOR_ID and VEND.VID
Exchange and
Invoice
EXCHANGE.CURRENCY_CD and
INVOICE.CURRENCY_CD
Invoice and Patron
INVOICE.REQ_PATRON_ID and
PATRON.PATRON_ID
Invoice and Vendor
INVOICE.VENDOR_ID or
INVOICE.PAY_VENDOR_ID and
VEND.VID
Patron and Purchase
Order
PATRON.PATRON_ID and
PO.SEND_PATRON_ID
Purchase Order and
Vendor
PO.VENDOR_ID and VEND.VID
Vendor and Vendor
Address
VEND.VID and VEND_ADDR.VID
Collection Type and
Profile
COLLECTION_TYPE.TYPE and
PROFILE.CTYPE
Collection Type and
System Parameters
COLLECTION_TYPE.TYPE and
SYS_PARM.CTYPE
Library and Library
Address
LIBR.LIBR_KEY and
LIB_ADDR.LIBR_KEY
Library and MARC
Parameter
LIBR.LIBR_KEY and
MARC_PARM.LIBR_KEY
Library and Staff
Security
LIBR.LIBR_KEY and
USER_SECURITY.LIBR_KEY
Material Type and
Profile
MATERIAL_TYPE.TYPE and
PROFILE.MTYPE
Material Type and
System Parameters
MATERIAL_TYPE.TYPE and
SYS_PARM.MTYPE
Patron Type and
Profile
PATRON_TYPE.TYPE and
PROFILE.PTYPE
Patron Type and
System Parameters
PATRON_TYPE.TYPE and
SYS_PARM.PTYPE
Administration
28
Library Management Administration/Customization Guide
Module
Name
Record Names
Fields by Which the
Records Are Joined
Administration
Query and
Query_parameter
QUERY_PARM.PARMID and
QUERY.PARMID
Authority and
Catalog
The following fields link Authority and
Catalog records for authority control:
AUTH.A100 and CAT.M100
AUTH.A110 and CAT.M110
AUTH.A111 and CAT.M111
AUTH.A130 and CAT.M130
AUTH.A150 and CAT.M650
AUTH.A151 and CAT.M651
Authority and
MARC Authority
AUTH.SYS_KEY and
MARC_AUTH.AUTH_SYS_KEY
Catalog and Copy
CAT.CATNO and COPY.CATNO
Catalog and MARC
CAT.CATNO and MARC.CATNO
Catalog and
Document
CAT.CATNO and
DOCUMENT.CATNO
Catalog and Copy
CAT.CATNO and COPY.CATNO
Catalog and Hold
CAT.CATNO and HOLD.CATNO
Copy and Hold
COPY.ITEMID and HOLD.ITEMID
Copy and Library
COPY.LIBR_KEY or
COPY.LIBR_OUT_KEY and
LIBR_KEY
Copy and Patron
COPY.PATRON_ID and
PATRON.PATRON_ID
Hold and Library
HOLD.LIBR_KEY or
HOLD.PLACED_LIBR_KEY and
LIBR.LIBR_KEY
Hold and Patron
HOLD.PATRON_ID and
PATRON.PATRON_ID
Catalog and Copy
CAT.CATNO and COPY.CATNO
Catalog and
Circulation Request
CAT.CATNO and
CIRC_REQUEST.CATNO
Circulation Request
and Copy
CIRC_REQUEST.ITEMID and
COPY.ITEMID
Circulation Request
and Library
CIRC_REQUEST.LIBR_KEY and
LIBR.LIBR_KEY
Catalog and
Prediction
CAT.CATNO and PRED.CATNO
Catalog and Route
CAT.CATNO and ROUTE.CATNO
(continued)
Cataloging
Circulation
OPAC
Serials
29
Module
Name
Record Names
Fields by Which the
Records Are Joined
Serials
Catalog and
Subscription
CAT.CATNO and SUB.CATNO
Library and
Prediction
LIBR.LIBR_KEY and
PRED.LIBR_KEY
Library and
Subscription
LIBR.LIBR_KEY and
SUB.LIBR_KEY or
SUB.BLIBR_KEY or
SUB.CLIBR_KEY
Patron and Route
PATRON.PATRON_ID and
ROUTE.PATRON_ID
Prediction and Route
PRED.CATNO and ROUTE.CATNO
Prediction and
Vendor
PRED.VID and VEND.VID
Subscription and
Vendor
SUB.VID and VEND.VID
Vendor and Vendor
Address
VEND.VID and VEND_ADDR.VID
(continued)
30
Library Management Administration/Customization Guide
Chapter 4
Database Security
After Library Management has been installed, a user ID of sauid is given privileges
for the tlp, tlphelp, tlpdemo, and ttlpdem databases. You will need to control access
to the Library Management databases by registering users and user groups with user
IDs other than sauid. To register users and authorize user privileges, you will need
to use the DMSA module's REGISTER and AUTHORIZE commands or the
Collections Server Web Administrator's User Management utility. After you have
registered and authorized users to the databases, you will need to grant users access
to various modules and tasks within Library Management by means of the
Administration module's Staff Security task. This last level of controlling security is
what especially protects the databases for the uses you intend for the various users
and user groups.

For information about the DMSA commands, see System Administration,
especially its "DMSA Module" chapter.

For information about using the Collections Server Web Administrator refer to
the online help.
4.1 Registering and Authorizing Users to Library Management
Before users other than the one identified as sauid can use any of the Library
Management databases, they must be registered to the Authority Database for each
of the databases they will be accessing. For the names of databases in Library
Management, see section 3.1 “Collections Server Databases.” System administrators
(SAs) and database administrators (DBAs) must be registered and authorized for
DDBs as well as for the RDBs of the various Library Management databases. Most
library staff will require registration and authorization to for the tlp, ttlp, tlphelp, and
tthelp databases.
After Library Management has been installed, you as system administrator with the
user name of sauid will need to register one or more users with DBA privileges and
other users and user groups with other privileges.
31
Note: This can be done by using either DMSA or Collections Server Web
Administrator’s User Mgmt utility. If using Collections Server Web Administrator’s
User Mgmt utility, select the values that correspond to the parameters listed below.
On your database server where modules such as DMSA and DMUSER reside, log
in and at your system prompt (noted below and in other examples as =>), enter the
command to run DMSA:
=> dmsa uid=sauid, upw=saupw
Assign yourself a new password by entering the reregister command
dmsa> reregister uid=sauid, upw=xxxxxxxx
where xxxxxxxx is the new password.
dmsa> exit
After exiting from the DMSA module, run DMSA again with your new password to
register and authorize your DBA and other users.
Note:
If you want to allow users to change their own passwords, you can use the
Web User or DMUSER modules. After you type dmuser at your system prompt,
the module prompts you for your current user id and password. It then asks what
you want to do. After you select the option "Change your password," it prompts
you to enter your new password and then to verify the password by entering it
again. If the verify password matches the new password, the system confirms that
your password has been changed.
The following DMSA commands register the DBA with the user name of tlpdba
and a password of whatever you assign in place of aaaaaa, and authorize the DBA
with access to all models of all Collections Server databases and privileges to create
databases and register other users.
=> dmsa uid=sauid, upw=xxxxxxxx
dmsa> register uid=tlpdba, upw=aaaaaa, privileges=(create,reg)
dmsa> authorize uid=tlpdba, db=$all.$all, privileges=(all)
dmsa> exit
After you have registered and authorized the DBA, either you or the DBA can
register and authorize all other users via the DMSA module. Following are
recommended registrations and authorizations for a user and for all patrons as a
usergroup.
dmsa>
dmsa>
. . .
dmsa>
. . .
dmsa>
. . .
dmsa>
. . .
dmsa>
. . .
dmsa>
. . .
32
register uid=tlpuser, upw=basis
auth uid=tlpuser, db=tlp.$all, +
priv=(get,add,mod,del,assign,hold)
auth uid=tlpuser, db=ttlp.$all, +
priv=(get,add,mod,del,assign,hold)
auth uid=tlpuser, db=tlphelp.$all, +
priv=(get,add,mod,del,assign,hold)
auth uid=tlpuser, db=tthelp.$all, +
priv=(get,add,mod,del,assign,hold)
auth uid=tlpuser, db=tlpdemo.$all, +
priv=(get,add,mod,del,assign,hold)
auth uid=tlpuser, db=ttlpdem.$all, +
priv=(get,add,mod,del,assign,hold)
Library Management Administration/Customization Guide
dmsa> register uid=patrons, upw=readmore, signon=100
dmsa> auth uid=patrons, db=tlp.$all, +
. . . priv=(get,add,assign)
To register and authorize other library staff whom you want to restrict to certain
Library Management modules or combinations of modules, replace the uid=tlpuser
in the above commands with uid=tlpcat, uid=tlpcatcir, or any other username (up
to 64 characters long) that you wish to use. After you register and authorize various
users and user groups, you can restrict uids to modules and parts of modules by
using the Staff Security task within Library Management's Administration module.
Patrons using Library Management Integration with Library Management should be
registered in the Library Management Integration. If any patrons are not using
Library Management Integration, they should be registered in Collections Server.
4.1.1 Displaying Registrations and Authorizations
Registration information for all users can be displayed by entering, for example,
dmsa> show/users uid=*
Registration information for a specific user can be displayed by entering, for
example,
dmsa> show/users uid=patrons
Registration information can also be displayed by using the Web
Admin/Admin/User Management  Registration
Authorization information for all users of the tlpdemo database can be displayed by
entering, for example,
dmsa> show/authorization uid=*, db=tlpdemo, model=*
To display authorization information for all users of the production database,
change tlpdemo to tlp.
dmsa> show/authorization uid=*, db=tlp, model=*
Authorization information for a specific user of the tlpdemo database can be
displayed by entering, for example,
dmsa> show/authorization uid=patrons, db=tlpdemo, model=*
Authorization information can also be displayed by using the Web
Admin/Admin/User Management  Authorization
4.1.2 Modifying or Deleting Registrations and Authorizations
SAs and DBAs given REG privilege can change registrations. SAs and DBAs given
the DBA or ALL privilege can change authorizations. For detailed information
about registering, reregistering, and unregistering users and about authorizing and
33
unauthorizing all who will access your Library Management databases, see System
Administration, "DMSA Module," especially the examples at the end of the chapter.
Web Admin/Admin/User Management/Registration or Authorization options can
also be used to adjust registrations and authorizations.
34
Library Management Administration/Customization Guide
4.1.3 Using a Procedure to Register and Authorize Many Users
To save time in registering and authorizing many different users that are to have the
same privileges, you can use the Clone action in Web Administrator, or create a
procedure resembling the following regauth.prc file:
inquire/pv filespec, 'Enter the name of the input file:>'
open/file !filespec!,fid=a,intent=read
inquire/pv database, 'For which database.model?>'
inquire/pv userpriv, 'For which user privileges?>'
loop
get/file fid=a userid:33,userpw:64,end=finishup
register uid=!userid!,upw=!userpw!
authorize uid=!userid!,db=!database!,priv=(!userpriv!)
end_loop
finishup:
close/file fid=a
return
The input file can contain lines of user IDs and their passwords. The procedure
assumes that user IDs will be in spaces 1 through 32 (with space 33 blank) and user
passwords in spaces 34 through 98. Data in an input file named users.txt can
resemble the following:
JSMITH
RJONES
SBAKER
...
WISDOM
SCIENCE
KNOWING
...
The following commands illustrate running this proc and testing that it worked
satisfactorily:
=> dmsa uid=sauid upw=xxxxxxxx
DMSA> @regauth
Enter the name of the input file:> users.txt
For which database.model?> tlp.$all
For which user privileges?> get,add,mod,del,assign,hold
USER ERROR( 1703). The specified user ID is currently in use.
USER ERROR( 1703). The specified user ID is currently in use.
USER ERROR( 1703). The specified user ID is currently in use.
USER ERROR( 1703). The specified user ID is currently in use.
DMSA> show/authorization uid=*, db=tlp.$all
Userid
Database.Model Prior Read Write Privileges
------------------- ----- ---- ----- ---------JSMITH
TLP.$ALL
8
0
0
GET,ADD,MOD,
DEL,ASSIGN,
HOLD
RJONES
TLP.$ALL
8
0
0
GET,ADD,MOD,
DEL,ASSIGN,
HOLD
SBAKER
TLP.$ALL
8
0
0
GET,ADD,MOD,
DEL,ASSIGN,
HOLD
...
...
Ignore USER ERROR( 1703) messages; they simply confirm that the same user id is
being used in the register and authorize commands within the procedure.
35
4.2 Controlling Access to Modules and Tasks
In addition to registering and authorizing users, you can restrict users and user
groups to data for one or more library-locations and the use of one or more tasks
within Library Management modules. For each user logging in to Library
Management there must be a Staff Security record specifying the user name,
password, and information about which library-locations and application modules
the user can access and which tasks the user can perform. You create these records
by means of the Library Management Administration module's Staff Security task.
For more information, see the Library Management online help topic titled
"Defining Staff Security."
4.3 Using Staff Security Task to Register and Authorize Users
Staff Security records can be linked with the Collections Server Authority Database
to minimize the steps necessary to manage staff permissions. When the System
Settings, DMSA Synchronize Flag, is enabled and the appropriate password is given,
all updates to the Staff Security record are automatically reflected in the associated
user entry in the Collections Server Authority Database. For example, when you
add a new staff member they are Registered and Authorized with the appropriate
Collections Server permissions.
Likewise, if a Staff Security record is deleted for a staff member, the user's database
authorizations are removed, and if the user is not registered for any other
Collections Server database, his/her user registration is removed from the Authority
Database.
4.3.1 Setting up the Staff Security Task to Register and Authorize Users
If you click on the System Settings task, in the Administration module, the
following screen appears.
36
Library Management Administration/Customization Guide
Under Synchronization/Authentication Options:
 Set the DMSA Synchronize Flag to ‘Yes’
 Enter the password for the User ID given on the screen (sauid by default)
This User ID is a Collections Server User ID with Register permission and
DBA privilege for the Library Management databases. The Collections
Server User ID is stored in the ldap.tlt file located in the \Techlib folder on
the Windows server, and the password is stored in encrypted form in the
Windows Registry. By default, the initial installation will configure the
default Collections Server System Administrator User ID, sauid, in the
ldap.tlt file. To change the default SA User ID, edit the ldap.tlt file and
change the UID in the “sauid=” parameter to the desired UID.
4.3.2 How the Staff Security Task to Register and Authorize Users Works
To authorize the staff member, the Staff Security/DMSA integration determines the
Library Management database names by accessing the Windows ODBC Data
Source Administrator, System DSN, ODBC Drive Configuration, Database List for
the Library Management database. The staff member is authorized for the $ALL
model of each listed database and the following database permissions are assigned:
GET, ADD, MODIFY, DELETE, ASSIGN, HOLD.
If the new staff member was previously Registered, adding the Staff Security record
will reset the users’ Collections Server password and it will Authorize the user for
the $ALL model of the Library Management databases, unless the user is already
Authorized for the $ALL model of the Library Management databases.
Note that customers with Library Management customizations that use additional
thesaurus databases that are not controlled by the Library Management application
(i.e., are not listed on the ODBC Driver Configuration for the database) will need to
manually authorize staff for these resources.
37
38
Library Management Administration/Customization Guide
Chapter 5
Performing Routine Maintenance
5.1 Establishing Backup and Recovery Procedures
It is important to establish and regularly perform procedures to back up your
databases and the files containing your ASPs. For information about backing up
your data and recovering from system and media failures, see Database Administration
Definition and Development, especially the chapter titled "Providing Backup and
Recovery Capability for a Complex SDM" and see Database Administration Loading
and Maintenance, especially the chapters titled "DBMS Services" and "Recovery."
39
40
Library Management Administration/Customization Guide
Chapter 6
Customizing Your Application
Your Library Management application can be customized in the following ways:

Adjust the different library lending policies for various library locations and for
various user groups by using the forms within the application's Administration
module, especially its profiling forms. For details, see section 6.2 “Changing
Profiling and System Settings from within the Application.”

Customize Library Management functionality by modifying routines in the
application code. For more information about modifying Library Management
functionality, see section 6.3 “Customizing Library Management Routines.”

Change default application settings, including the name of the root directory or
virtual directory. For details, see “Global Variable Definitions” in Chapter 8.

Replace/remove graphics. For details, see Chapter 9 “Customizing Graphics.”

Change database server connection information. For details, see Chapter 10
“Changing Database Server Connection Information.”


o
Change ODBC resource name
o
Change ODBC resource databases
o
Change ODBC resource host, port, login name, and password
Change form text and field labels. For details, see Chapter 11 “Changing Form
Text and Field Labels.”
o
Change field names displayed
o
Change form instructions and titles
o
Change module, task, subtask, icons, and button tooltip text
o
Change Universal Resource Locator (URL) in Resources module
Customize database definitions and thesaurus definitions by using various
Collections Server modules such as the web-based Collections Server Web
Administrator, or the server-based DMSA, DMDBA, Database Management
DataBase Extract (DMDDBE), and Thesaurus Manager (TM) modules.
41

Add a resource to the Resources module. For details, see section 11.4
“Changing and Adding Resources URLs.”

Add and Change Fields. For details, see Chapter 12 “Adding and Changing
Fields.”
o
Add a new field to database, view, and form
o
Add a new field to a form
o
Change field on a form to match database characteristics

Customize the user interface's Active Server Pages using Microsoft
InterDev or Notepad. For details, see Chapter section 12.4 “Determine
Which Active Server Page to Modify.”

Customize Authority Control. For details, see Chapter 13 “Customizing
Authority Control.”

Support a barcode reader. For details, see Chapter 14 “Adding Barcode
Reader Support.”

Customize reports by using JasperReports and Microsoft Access. For
details, see Chapter 15 “Customizing Reports.”
o
Change report layout
o
Add fields to a report
o
Delete fields from a report
o
Change fields on a report
o
Create a new report

Revise online help topics. For details see Chapter 16 “Customizing Help
Topics.”

Adjust date and time formats for localization. For details see Chapter 18
“Manipulating Date and Time Formats.”

Control user authentication and facilitate management of patron information.
For details, see Chapter 19 “Configuring Single Sign-on and Directory Services
Integration.”

Customize the look of the application and allow a different look for each
module. For details, see Chapter 21 “Using Cascading Style Sheets.”
If the change or customization you want to do is not described in this document,
don't attempt to do it without first consulting Open Text Support, or your account
manager.
6.1 Change Management
In the ASP environment, logic (or code) resides within each page used to produce a
form that appears within a user's browser. Making a simple change to a field label
can mean not only making to one or more ASPs but also making and applying
42
Library Management Administration/Customization Guide
changes to one or more databases. Changes can affect parts of the application that
are not readily apparent, so it's important to read this guide as you customize your
application.
6.1.1 Back up Application Before Making Changes
It's highly recommended that you make a backup of the delivered application
immediately after it is installed so that upon a later upgrade you can compare your
current version with the original to identify all changes that you may want to carry
over to the new release. Back up not only the data (the RDB) but also the
Definition Database and the files that comprise the Active Server Pages. Use your
favorite host operating system backup utility to back up and restore databases. Save
all of the original code in a special area that you protect from changes.
Back up your current application before making any changes to it.
Change management is a crucial part of maintaining changes from one release to the
next. Since many of your customized changes will be related to the user interface,
and these changes will reside in Active Server Pages that also contain logic, chances
are that when a new release of software is delivered your changes could be overwritten unless you follow good change management practices.
It's a good idea to use a source code manager. In essence you have received source
code for Library Management. A variety of software applications provide the
capability of managing source code. Consult the Software Development area or
Configuration Management area at your site to discover what application is being
used at your site.
6.1.2 Set up a Test Area
In addition to using a source code manager, it is recommended that you set up and
use a separate environment as a test area for Library Management customizations
that you make.
For the database side, follow either of these options:

On a database server, make a test copy of each of your Library Management
databases, including the thesaurus database

Set up a test database server with a copy of your databases (including the
thesaurus) and establish a new Open Application Programming Interface
Remote Procedure Caller (OPIRPC) port to connect to. This is the port
number you would need to set in the Library Management ODBC resource on
the workstation you have set up. For information about changing database
server information such as the database name, host system, and port, see
chapter 10 “Changing Database Server Connection Information."
For the application side, follow either of these options:

On a Windows workstation, install Microsoft IIS.

If you want to modify Active Server Pages, install Microsoft Visual
InterDev or Microsoft Visual Studio, or use Windows Notepad. Do not
43
use Microsoft FrontPage or other editors that add hidden formatting codes
or other additional information to the file.

If you want to modify JasperReports, install iReport and Microsoft Access
(available in the Microsoft Office Suite).

If you want to modify the ActiveX controls, use Microsoft Visual Basic®
6.0 (Service Pack 4).
All of this software works on a Windows workstation, which is less expensive
than another Windows server. There are restrictions related to using IIS on a
workstation. For example, a workstation allows no more than 10 connections
and does not perform as well as a Windows server.

Install software mentioned in the above option on a separate application server
configured with Microsoft IIS. Dedicate this application server specifically to
your customizations. This allows you to make and test changes without
affecting users or the performance of the production application system (which
resides on its own Windows server).
Regardless of which option you choose, it is a good idea to copy all of the pages that
you change into a directory that you can consult when it is time to upgrade Library
Management.
6.1.3 Back up the Application Regularly
And as always, routinely backing up your source code is highly recommended.
6.1.4 Prepare for Upgrades
No matter what approach you decide to take, when a new release of the software is
delivered, you will need to compare your changes with the appropriate DDL and
ASPs that make up the new release. In some cases you might be able to take your
"customized" page and replace the newly delivered Active Server Page with your
customized page. In other cases you might need to copy/merge your changes into
each of the appropriate newly delivered Active Server Pages. The InterDev
environment provides a Windiff utility that can be used to easily highlight the
differences between two files.
6.2 Changing Profiling and System Settings from within the
Application
The Library Management Administration module lets you change a number of
settings and parameters from within the application itself. Getting Started with Open
Text Library Management includes discussion of the implications of the different
configuration options. Tasks included within the Administration module include:
44

Adding, updating, and deleting records for collection types, library-locations,
library-location addresses, material types, patron types, and text for various
reports and notices

Defining checkout periods and renewal privileges based on various
combinations of collection types, material types, and patron types
Library Management Administration/Customization Guide

Defining which users have access to which modules and tasks within modules

Updating system-wide parameters such as catalog and copy sort preferences and
primary collection type, material type, and patron type

Performing global search and replace functions on fields and their values

Generating the data dictionary for the application

Setting up notification parameters so patrons can add queries for new items.

Configuring details for synchronizing patron information with a Directory
server.
See the online help topics within the Library Management Administration module
for complete information about making these changes.
6.3 Customizing Library Management Routines
You can modify a Library Management function to better suit your organization’s
needs by modifying the Library Management ActiveX class file that defines the
routine that performs the function. After you update a Library Management
ActiveX class file, you must rebuild (compile) the Library Management dynamic link
library (.dll) file so that the functionality provided by your modifications is available
in the application. For more information about the location and names of the
Library Management ActiveX class files, see section 8.6 “ActiveX Files.” For more
information about how to rebuild the Techlib.dll file, see “Rebuilding the Library
Management Dynamic Link Library File” below.
Note: In releases prior to BASIS Techlib 9.1.2, you could enhance Library
Management functionality by modifying routines defined in Library Management
include files. Include file customizations from earlier releases must be migrated to
ActiveX class files. For more information about migrating include file
customizations to ActiveX server classes, see the documentation for previous
releases, which can be found on the Knowledge Center.
Rebuilding the Library Management Dynamic Link Library File (Techlib.dll)
Each time you update Library Management ActiveX class files, you must rebuild the
Techlib.dll file so that the functionality provided by your modifications is available
in the application. You modify class files and rebuild the Techlib.dll file using
Microsoft Visual Basic 6.0.
Note
Open Text recommends that you back up the Install_dir\ActiveX directory
before you attempt to rebuild the Techlib.dll file.
To rebuild the Techlib.dll file:
1. In Microsoft Visual Basic 6.0, open the Install_dir\ActiveX\techlib.vbp file.
2. Click References on the Project menu.
3. In the Available References list on the References – Techlib.vbp dialog box,
clear the checkbox next to the MISSING: Web Tools for BASIS reference.
4. In the Available References list, click the checkbox next to the Web Tools for
BASIS reference, and verify that the path and file associated with this reference
45
is Install_dir\bin\wtxobj10.dll. If the correct path and file are not configured for
this reference, click the Browse button to locate and associate the
Install_dir\bin\wtxobj10.dll file with the Web Tools for BASIS reference.
5. Open the class files you wish to modify, and change the code.
6. Save your modifications.
7. To create the dll file, click Make Techlib.dll on the File menu.
8. In the Make Project dialog box, use the file system navigation tools to specify
Install_dir\bin as the directory where the Techlib.dll file is created.
9. Click the Yes button to replace the existing Techlib.dll file.
Notes:
Library Management code compiles with optimization on and debugging
off, and without symbolic debug tables. If you need to debug your
modifications, you may find it helpful to change these settings while you
are debugging your code. However, when you are satisfied with your
changes you must reset these values and rebuild the Techlib.dll file.
If the Microsoft IIS Web server process is still connected to the
Techlib.dll when you try to rebuild the file, you will get a permission error.
Restart the IIS Web server process to release the Techlib.dll connection.
Include File and ActiveX Class Programming Differences
The following sections describe differences between include files and ActiveX
classes that you must consider when migrating your customizations or creating
additional customizations.
Function Calls
Calling functions in the compiled Techlib.dll from the asp and include files use the
obj prefix (for example, objWtString.GetItem). Calling functions in the ActiveX
class files use the m_ prefix (for example, m_WtString.GetItem).
Variable Names
You must type full variables names in the ActiveX class files. Variant should only be
used when passing values BYREF back to an asp page.
6.4 Enabling References
Collections Server includes a reference feature that is used to mark search terms
found in documents returned by a database query. The marked terms are used in the
hit-to-hit highlighting navigation feature. By default, the references feature is
disabled in Library Management because the application does not support hit-to-hit
highlighting. In addition, the references feature requires additional processing time,
especially for sites with multiple simultaneous users.
If you want to customize Library Management by creating your own customization
that uses references (for example, you write a custom hit-to-hit highlighting
application for Library Management), you can enable the references feature in
Library Management.
46
Library Management Administration/Customization Guide
To enable the references feature in Library Management:
1. Edit the Install_dir\Techlib\ActiveX\Techlibmain.bas file, where Install_dir
is the Library Management installation directory.
2. Locate the following line.
Global Const SET_REFERENCES = 0
3. Change the value of SET_REFERENCES from 0 to 1.
4. Recompile the Library Management dynamic link library file (Techlib.dll).
For more information about recompiling the Techlib.dll file, see
“Rebuilding the Library Management Dynamic Link Library File.”
6.5 Adding a Custom page
You may want to add a customized task area for one or more modules. To do this you
will need to edit the modulecustom.asp page (using the abbreviated module as indicated
in Table 9-6). If the user does not have the Custom option selected for a specific
module in the Staff Security record, the Custom option does not display in the
application.
1.
2.
3.
4.
Add the desired custom functionality or links to the page.
Save your changes.
Go to the Administration module's Staff Security task.
Search for the appropriate user(s) that will need access to the new Custom
task.
5. Update the Staff Security record by selecting the appropriate module’s
Custom option.
47
48
Library Management Administration/Customization Guide
Chapter 7
Directory Structure
Library Management web pages or forms look like this:
Modules
Tasks
Form
Toolbar
Figure 7-1: Parts of a Library Management web page
Each of the modules listed across the top of the screen brings up its own menu of
tasks in the left part of the screen. To begin the module and display its menu, users
click on the module name. The appropriate menu and a default form appear. In the
Cataloging module, for example, the form used for searching for catalog
information appears as the default form.
At the bottom of each form is a toolbar comprised of icons and buttons. Buttons
help users perform actions on the form, and icons display other forms.
The web pages are created by Active Server Pages. These pages and their
components are located in the virtual directory named /techlib. This directory and
its related subdirectories are described below.
Knowing the directory structure makes it easier to find the ASPs you need in order
to revise them. After each directory is a brief description of the types of files (or
pages) that reside within that directory.
49
…\BASISclient\cs\java\ja
sperreports\webapp
\jsp
Root directory for JasperReports files.
JSP files for running the JasperReports
\ WEB-INF
\lib
JasperReports libraries
\reports
JasperReports report source files and compiled files
(TL_JASPER_DIR in TlGlobal.inc)
…\BASISclient\Techlib
Application root directory, also known as the virtual directory of
/techlib. Library Management and its subdirectories contain ASPs.
\ActiveX
ActiveX source code (including class files)
\bin
Active-x dynamic link libraries (DLLs)
\images
General purpose graphic images
\include
Active Server Page files containing common Library Management
functions written in VBScript
\Marcdata
Transient MARC data files. MARC data is exported from the
database into a file into this directory.
\reports
Access report database and report ASP files
\Output
Report output. Additional subdirectories are created for specific user
names of individuals who ran a report.
\username
\jasper
\sideimages
\subtask
\toolbar
Module task graphic images for left vertical frames
Subtask graphic images for left vertical module tasks
Graphic images for form bottom frame
\buttons
Button transmit graphic images for toolbar frame
\icons
Icon navigational graphic images for toolbar frame
\topimages
Module graphic images for top horizontal frame
\windows
Run-time DLLs to move/copy to the Windows directory
\System32
50
Report output for JasperReports reports.
General window DLLs
Library Management Administration/Customization Guide
Chapter 8
File Naming Conventions
Knowing the file naming conventions will help you find files within the directory
structure described above. The following sections describe the naming conventions
used for various types of files or pages.
8.1 General Active Server Pages
Library Management Active Server Pages located in the virtual directory of /techlib
adhere to the following naming convention.
{module_id}||name||function.asp
where:
{}
Brackets imply that the item is optional
||
Two vertical bars means to concatenate the items together. Sometimes the
concatenation includes an underscore ("_") as the connecting character.
module_id
Description
Values
The Library Management
module name abbreviated
cat, circ, ser, acq, adm
51
name
Description
Values
The view name or the application
task name
view names: auth, cat,
collection_type, copy, holds, libr,
libr_addr, marc_map, marc_parm,
material_type, patron, patron_type,
profile, sys_parm, text,
user_security, etc.
task names: login, logout, libloc
(library-location), resources,
checkin, checkout, fhtop, fhmiddle,
fhbottom, fhmain (field help),
thblob, thinfo, thmain, thtoolbar
(thesaurus help), fieldrepl
(Search/Replace), etc.
function
52
This describes (in abbreviated
format) what the page is doing
"" – blank implies Add/Update
mode
dis – display page
l – summary or result list
srch – search page
custom – a user exit
_form – a common form
imbedded in other pages
set_up – adm setup functions
bottom – field-level help related
main – field-level help related
middle – field-level help related
top – field-level help related
select – field-level help related
process – holds processing
export – MARC related
edit – MARC related
blob – Thesaurus help related
info – Thesaurus help related
main – Thesaurus help related
toolbar – Thesaurus help related
Library Management Administration/Customization Guide
8.2 Menu Pages
Some of the pages in the virtual directory of /techlib establish the side menu or the
top menu of the application. These pages adhere to the following naming
convention:
menu||module_id.asp
where:
||
Two vertical bars means to concatenate the items together
module_id
Description
Values
The Library Management
module name abbreviated
circ, cat, ser, acq, adm, mainside,
maintop
8.3 Reports
8.3.1 Report Lists
Some of the pages in the virtual directory of /techlib display a list of the reports
associated with a particular module. These pages adhere to the following naming
convention:
module_id||reports.asp
where:
||
Two vertical bars means to concatenate the items together
module_id
Description
Values (examples)
The Library Management
module name abbreviated
circ, cat, ser, acq, adm
8.3.2 Report Pages and Report Layout for JasperReports
Report pages (in the virtual directory /techlib/reports) display the report parameters
and the output parameters. The corresponding JasperReports layout files reside in
the java directory (BASISclient\cs\java\jasperreports\webapp\WEB-INF\reports).
The names of the report files can be found in Table 19-1.
53
8.4 Images
8.4.1 Side Images
Images in the virtual directory /techlib/sideimages are those images that are seen as
tasks or subtasks along the left side menu area. They adhere to the following
naming convention:
task||state
where:
||
Two vertical bars means to concatenate the items together
Description
Values (examples)
task
The name of the task or subtask
Catalog, Copy, Authority, MARC,
Import, Export, Checkin,
Checkout, Setup, etc.
state
The state determines whether
or not the (sub)task has been
selected.
_off – the (sub)task has not been
selected
_on – the (sub)task has been
selected
_collapsed – the task has subtasks
but the task has not been selected
_expanded – the task has subtasks
and the task was selected
8.4.2 Top Images
Images in the virtual directory /techlib/topimages are those images that are seen as
module along the top menu area. They adhere to the following naming convention:
module||state
where:
||
module
54
Two vertical bars means to concatenate the items together
Description
Values (examples)
The name of the module
Resources, Cataloging, Circulation,
Serials, Acquisitions,
Administration
Library Management Administration/Customization Guide
state
The state determines whether
or not the module has been
selected.
_off – the module has not been
selected
_on – the module has been
selected
8.4.3 Toolbar buttons
Images in the virtual directory /techlib/toolbar/buttons are those images that are
seen as buttons along the bottom right hand side of a form. They adhere to the
following naming convention:
function||state
where:
||
Two vertical bars means to concatenate the items together
Description
Values (examples)
function
The name of the function
associated with the button
Search, Clear, Cancel, Checkin, etc.
state
The state determines whether
or not the cursor is hovering
over the button.
_off – the cursor is not hovering
_on – the cursor is hovering
8.4.4 Toolbar icons
Images in the virtual directory /techlib/toolbar/icons are those images that are seen
as icons along the bottom left hand side of a form. They adhere to the following
naming convention:
function||state
where:
||
Two vertical bars means to concatenate the items together
Description
Values (examples)
function
The name of the function
associated with the icon
Add, Update, Search Results,
Copy(s), etc.
State
The state determines whether
or not the cursor is hovering
over the icon.
_off – the cursor is not hovering
_on – the cursor is hovering
55
_gray – the icon cannot be
selected
8.5 Include Files
Library Management include files located in the virtual directory of /techlib/include
should adhere to the following naming convention:
type||description.inc
where:
||
Two vertical bars means to concatenate the items together
type
description
Description
Values (examples)
This determines the type of
include file
Tl – application-specific logic
This will describes what the
include file contains.
General , Common, MaintToolbar,
CircToolbar, etc.
Wt – Generic web tool application
logic
Global Variable Definitions (TlGlobal.inc)
The Library Management global variable include file,
Install_dir/include/TlGlobal.inc, contains variable definitions that control default
values used throughout the application.
The following sections provide specific information about how to change some
commonly customized values specified in the global variable file. To update a
variable definition, edit the \techlib\include\TlGlobal.inc file and modify the value
assigned to the variable.
Specifying Number of Result Set Members
By default, Library Management displays 10 items in the result sets displayed on
many pages. If you want to change the number of members included in a result set,
edit TL_LIST_ROW_COUNT=value, where value is the new number of result set
members.
Changing the Name of the Virtual Directory
If you want the virtual directory for Library Management to be something other
than Techlib, create the new virtual directory in the Web server, and then edit
TL_APP_ROOT=newname, where newname is the name of the new virtual directory.
Specifying Size of Acquisitions Request Lists
By default, Library Management displays 30 items in the Acquisitions Request List
summary and list pages. If you want to change the number of members included in
56
Library Management Administration/Customization Guide
summary or list, edit TL_LIST_REQLIST_ROW_COUNT=value, where value is the
number of members in a summary or list.
Specifying Number of Days Requests Displayed After Close
By default, Library Management displays requests for 7 days after they have been
closed (based on Acq.Closed_dt). If you want to change the number of days that
requests are displayed after they close, edit
TL_ACQ_RECV_SO_BL_SHOW_REQS=value, where value is the number of days.
Changing the JasperReports locations
There are 3 constants used by the JasperReports feature:

TL_HTTP= value, where value is the first part of the URL to the Library
Management application (http://machinename:iisportnumber).
Example: Const TL_HTTP = "http://testmach2/"

TL_MY_JSPR = value, where value is the URL to the Tomcat server used
for JasperReports followed by the string “/JSPR”.
Example: Const TL_MY_JSPR = "http://testmach2:8180/JSPR"

TL_JASPER_DIR = value, where value is the location of the JasperReports
.jrxml and .jasper files.
Example: Const TL_JASPER_DIR =
"C:\\BASISclient\\cs\\java\\jasperreports\\webapp\\WEBINF\\reports\\"
8.6 ActiveX Files
Library Management ActiveX files are located in the Install_dir\ActiveX virtual
directory, where Install_dir is the Library Management installation directory. The
ActiveX files include:

Techlib.vbp, the Visual Basic project file

TechlibMain.bas, the Library Management main module

Visual Basic class files (*.cls file extension). Class files have a prefix, Tl,
which indicates that the file provides Library Management applicationspecific logic. In addition, each file includes a descriptive file name that
indicates the functionality it provides.
ActiveX Class Source Files
In Techlib 9.1.2 or later, ActiveX class files can be customized. The following are
Library Management ActiveX class files are stored in the
Install_dir\Source\ActiveX\Techlib directory:

TlAcqGen.cls
57
58

TlAcqInvoice.cls

TlAcqOrder.cls

TlAcqRecv.cls

TlAcqRequest.cls

TlAcqSearch.cls

TlCatalog.cls

TlCatAuth.cls

TlCircCheckin.cls

TlCircCheckout.cls

TlCircGen.cls

TlCircHolds.cls

TlDCM.cls

TlGen.cls

TlLkup.cls

TlMaint.cls

TlMaintRS.cls

TlRecordMaint.cls

TlReports.cls

TlRS.cls

TlSerGeneral.cls

TlSerials.cls

TlSerPredSetup.cls

TlSerReceiving.cls

TlSerRoute.cls

TlSerSub.cls

TlSerSubFind.cls

TlSerSubMaint.cls

TlTable.cls

TlWizard.cls
Library Management Administration/Customization Guide
59
Chapter 9
Customizing Graphics
9.1 Graphic Composition
Graphics that you can change include module names (depicted as functions in the
diagram below), tasks, subtasks, buttons, and icons.
Figure 9-1: Sample Form with graphics
Each graphic (.gif) file was created using a series of programs. Initially, the
composite files were created in Adobe Photoshop V 4.0. These files were set to 96
pp.., RGB mode. The Photoshop files were then cropped into individual files and
taken into DeBabelizer, an Equilibrium tool. Next, we optimized the files by
changing them to a 6-bit color palette. The files were then saved as GIFs.
Table 9-1: Colors
Blue
60
Teal
Red
Yellow
Library Management Administration/Customization Guide
R-18
R-51
R-153
R-254
G-36
G-153
G-0
G-227
B-150
B-153
B-51
B-0
Table 9-2: Font Characteristics
Type of
Graphic
Font
Size
Spacing
AntiAlias?
Alignment
Modules
Myriad Bold
9 pt
.3 pt
On
Center
Tasks
Myriad Bold
9 pt
Leading
(for
stacked
task
names) 8
pt
.3 pt
On
Right
Subtasks
Myriad
Roman
9 pt
Leading
(for
stacked
task
names) 8
pt
.3 pt
On
Right
Icons
Helvetica
7 pt
Leading 7
pt
.2 pt
On
Center
Buttons
Myriad Bold
9 pt
.3 pt
On
Center
61
9.1.1 Image sizes
The following table indicates image sizes after Photoshop files are cropped.
Table 9-3: Image Sizes
Type of
Graphic
Image Size
Modules
(W will vary) x 26p H
Tasks
110p W x 22 p H
110p W x 33p H (when task names are stacked)
Subtasks
110p W x 18p H
110p W x 29p H (when subtask names are stacked)
Icons
Buttons
42p W x 62 H
80p W x 25p H (button version #1)
101p W x 29p H (button version #2)
9.2 Location of the Photoshop Graphic Files
The included Photoshop graphic files have layers to create both "on" and "off"
versions of all action buttons. Each graphic shows text positioning and layer
opacities.
All PSD files are included in a directory called PSD Files, which is a child directory
of the image directory. For example, the PSD files for icons are located in the
directory /techlib/toolbar/icons/psd files.
9.3 Replacing Graphics
9.3.1 Login Form
The login form is defined by the file login.asp, and the image layout is composed of
a five-row, three-column table as diagramed below.
Table 9-4: Layout of the Login Form
Login product image
(LL-libraries-login.gif)
62
Library Management Administration/Customization Guide

To change the product image, you will need to update the graphic
/techlib/images/LL-libraries-login.gif.
Keep in mind the sizes of each graphic. If the size of an image is changed, then the
Active Server Page that references that graphic also needs to be changed because the
size is coded in the page.
To add, remove, or change database names in the drop-down box, see section 10.3
“Adding/Changing Database Names on the Login Form.”
9.3.2 Top Menu (Modules)
The top menu area is defined by the file menumaintop.asp, and the image layout is
composed of a two-row, two-column table as diagramed below.
Table 9-5: Layout of the Top Menu
Top2
Product name
(top3)
Module1, Module2, Module3, etc.

To change the product name on the top right you will need to update the
graphic /techlib/topimages/poweredby.gif.
Changing the module graphics is a bit more involved. Each module graphic has two
states, an "on" and an "off" state. These indicate whether or not the module has
been selected. Therefore each module has two graphics to change. The module
graphics are located in the directory /techlib/topimages/module(_on|_off).gif. The
Photoshop PSD files are located in the directory /techlib/topimages/psd files.
Keep in mind the sizes of each graphic. If the size of an image is changed, then the
Active Server Page that references that graphic also needs to be changed because the
size is coded in the page.
9.3.3 Side Menu (Tasks and Subtasks)
The left-side menu area is defined by many files, the first of which is
menumainside.asp. Other side menus are then defined according to the module the
user has selected. For example, if the user has chosen the Cataloging module, then
the file menucat.asp defines the left side menu. The following chart indicates which
file defines the menu for each module.
Table 9-6: Modules and Their Menu Files
Resource
Menu File
Resources
menuresources.asp
63
Cataloging
menucat.asp
Circulation
menucirc.asp
Serials
menuser.asp
Acquisitions
menuacq.asp
Administration
menuadm.asp
Within each side menu you will see tasks, and for several side menus you will see
tasks and subtasks. Side menus are made up within a one-column, multi-row table.
Each task and/or subtask and its appropriate graphic has two states, an "on" and an
"off" state. These indicate whether or not the task or subtask has been selected.
For the tasks that do contain subtasks, there will be two other states, a "collapsed"
state and an "expanded" state. If you want to change a task or subtask, all of these
state graphics will need to be changed. These graphics are located in the directory
/techlib/sideimages/task(_on|_off|_collasped|_expanded).gif or for subtasks in
the directory /techlib/sideimages/subtask/subtask(_on|_off).gif. The Photoshop
PSD files are located in the directory /techlib/sideimages/psd files.
Keep in mind the sizes of each graphic. If the size of an image is changed, then the
Active Server Page that references that graphic also needs to be changed because the
size is coded in the page.
Example
To add the Custom task to the Resources module,
1. Select and copy the following code from menucat.asp:
<% If Session(“rstTlUserSecurity”).Fields.Item(“CAT_CATALOG_FLG”).Value=
Session("strTlYesCode") And
Session("blnTlSecCatCustomExists") = True Then%>
<% If strCurTask = "custom" Then %>
<a href='<%=TL_APP_ROOT%>/catcustom.asp'
target='FORM'><img src=
'<%=TL_APP_ROOT%>/sideimages/custom_on.gif'
WIDTH=110 HEIGHT=22 BORDER=0 ALIGN=bottom
alt="<%=objTlGen.GetLabel("Customize Cataloging
Options")%>"></a><BR>
<% Else %>
<a href='<%=TL_APP_ROOT%>/catcustom.asp'
target='FORM'><img src=
'<%=TL_APP_ROOT%>/sideimages/custom_off.gif'
WIDTH=110 HEIGHT=22 BORDER=0 ALIGN=bottom
alt="<%=objTlGen.GetLabel("Customize Cataloging
Options")%>"></a><BR>
<% End If %>
<% End If %>
and paste it into the menuresources.asp immediately above the following line:
<img src='<%=TL_APP_ROOT%>/sideimages/defaultspace.gif'
WIDTH=110 HEIGHT=100 BORDER=0 ALIGN=bottom><BR>
2. Edit the code to read as follows:
64
Library Management Administration/Customization Guide
<% If Session(“rstTlUserSecurity”).Fields.Item(“RES_CUSTOM_FLG Value=
Session("strTlYesCode") And
Session("blnTlSecResCustomExists") = True Then%>
<% If strCurTask = "custom" Then %>
<a href='<%=TL_APP_ROOT%>/rescustom.asp'
target='FORM'><img src=
'<%=TL_APP_ROOT%>/sideimages/custom_on.gif'
WIDTH=110 HEIGHT=22 BORDER=0 ALIGN=bottom
alt="<%=objTlGen.GetLabel("Customize Resources
Options")%>"></a><BR>
<% Else %>
<a href='<%=TL_APP_ROOT%>/rescustom.asp'
target='FORM'><img src=
'<%=TL_APP_ROOT%>/sideimages/custom_off.gif'
WIDTH=110 HEIGHT=22 BORDER=0 ALIGN=bottom
alt="<%=objTlGen.GetLabel("Customize Resources
Options")%>"></a><BR>
<% End If %>
< ' % End If %>
IMPORTANT:
Note the insertion of apostrophes immediately after the %
in the first line and last line of the code sample. This is how you "comment
out" lines of ASP code. To "comment out" HTML code (the code not
enclosed in <% %> tags), enclose comments between <!--and -->.
Later you may want to "uncomment" the commented lines and revise them to
test the user privilege for viewing the Resources Custom form. But before that
can happen, the Staff Security record needs to have a RES_CUSTOM_FLG
field and the forms for adding and updating staff security privileges need to
have a Resources Custom checkbox. Steps for adding this field and adding the
checkbox field to these forms are described in detail in chapter 12 "Adding and
Changing Fields", especially Example 1 as it is developed in the course of the
chapter).
3. Make a copy of the catcustom.asp file and rename the copy as rescustom.asp.
Put this file in the same Library Management subdirectory where catcustom.asp
resides.
4. Edit the rescustom.asp by changing cat:custom to resources:custom and
changing Custom area for Cataloging to Custom Area for Resources.

Make any additional revisions as needed, replacing the
under_construction.gif with the operations you want users to be able to
perform from the form. For more information about changing
components of a form, see chapters 11 "Changing Form Text and Field
Labels" and 12 "Adding and Changing Fields."
65
66
Library Management Administration/Customization Guide
Chapter 10
Changing Database Server
Connection Information
ODBC resources define the relationship between Collections Server databases and
their data sources. As delivered, the Library Management database (tlp) and Library
Management online help database (tlphelp) have already had their ODBC resources
defined. You may want to change these definitions or add ODBC resources for
other databases such as a Library Management Test database and/or, if you have
implemented authority control, the Library Management Thesaurus database (ttlp).
10.1 Changing a Data Source
To change a data source,
1. Log in to the server where IIS is installed.
2. Open the Control Panel.
3. Double-click the Data Sources (ODBC) icon in the Control Panel.
4. On the dialog that appears, select the System DSN tab.
5. Click the Data Source named Techlib and click the Configure button.
6. At this point you can modify the Data Source Name, the Server, and the
Database List.

To modify the Name, type over the existing name and click the OK button.
Note: If you modify the Name, you will need to modify the name in the list of
databases in the drop-down list on the Login form. This process is described in
section 10.3 “Adding/Changing Database Names on the Login Form.”

To modify the Server name, choose a name from the drop-down list. If
you need to add, modify, or delete information about a server (such as its
Host Node Name, Host User ID, Service Port, and Host User Password),
then choose the Server button to perform these functions.
67

The Database List should contain the databases referenced earlier. They
would be in the form: tlp_asp,tlphelp_all,ttlp. If you are adding or deleting
a database, do so here.
10.2 Adding a Data Source
To add a database source:
1. Log in to the server where IIS is installed.
2. Open the Windows Control Panel.
3. Double-click Administrative Tools, and then double-click Data Sources
(ODBC).
4. On the dialog that appears, select the System DSN tab.
5. Click the Add button.
6. From the list of drivers displayed, select one for which you want to set up the
data source and click the Finish button.
7. In the dialog box enter the Data Source Name, Server, and Database List for
the new resource.
8. If you want to browse the list of available servers, or add information for a new
server, or change information about the Server, click the Server button.
To make the database source available to users, you will need to add the name to the
list of databases in the drop-down list on the Login form. This process is described
below.
68
Library Management Administration/Customization Guide
10.3 Adding/Changing Database Names on the Login Form
The Login form contains a drop-down list of Databases. As delivered, the
databases listed are Library Management (tlp) and Library Management
Demonstration (tlpdemo). If you want to add additional databases to the list or
remove them from the list, you will need to create an ODBC resource for it and
change the section of the login.asp file that lists the database names. Section 10.2
"Adding a Data Source" describes creating an ODBC resource. The following
paragraphs describe changes you will need to make to the login.asp file.
For example to add a database called Test, you would change these lines:
' Define the database names that will be used for
' the drop down.
Dim strDatabases(1,1)
' Techlib is the DSN name
strDatabases(0,0) = "Techlib"
strDatabases(1,0) = objTlGen.GetLabel("Techlib")
' Techlib Demo is the DSN name
strDatabases(0,1) = "Techlib Demonstration"
strDatabases(1,1) = objTlGen.GetLabel("Techlib Demonstration")
to these lines:
' Define the database names that will be used for
' the drop down.
Dim strDatabases(1,2)
' Techlib is the DSN name
strDatabases(0,0) = "Techlib"
strDatabases(1,0) = objTlGen.GetLabel("Techlib")
' Techlib Demo is the DSN name
strDatabases(0,1) = "Techlib Demonstration"
strDatabases(1,1) = objTlGen.GetLabel("Techlib Demonstration")
' Techlib Test is the DSN name
strDatabases(0,2) = "Techlib Test"
strDatabases(1,2) = objTlGen.GetLabel("Test")
69
70
Library Management Administration/Customization Guide
Chapter 11
Changing Form Text and Field Labels
All form (screen) text and titles, field labels, and icon tooltip text (text displayed
when the cursor hovers over an icon or a button within the application), and some
messages are located in the Library Management translation table, a file called
techlib.tlt. The file, located in the virtual directory /Techlib, adheres to standard
Windows "ini" file conventions. For example, you will see sections defined within
this file. You will also see terms that are equated to specific values. The equated
values, those to the right of the equal sign (=), are the values that can be changed.
11.1 Changing a Field Label
Each section within the techlib.tlt file represents either a specific functionality within
the application (for example, Catalog, Checkin, Reports, etc.) or represents a specific
record type within the application (for example, Material_Type, Authority), etc.
Within each section there are definitions for all form text, including field labels. The
field labels will be equated to the database definition for the field. For example, the
line
CAT.TI=Title
means that the Title field label is linked to the TI field of the CAT view.
If you want to change the field label "Title" to "Main Title" on the Catalog forms,
open and read the techlib.tlt file. Look for the [Catalog] section and within that
look for "Title" to the right of an = sign. You will see it defined in the line
CAT.TI=Title
Change the line to read
CAT.TI=Main Title
71
To determine which section in the techlib.tlt files is associated with a particular form
(represented by an .asp file), you will need to locate the function call
'Call ObjTlGen.TlGenInitializePage(...)'
The second parameter of this call identifies the section in the techlib.tlt file that will
be used for that form.
All form titles are included in a section called [TitleStrings]. The form titles include
the text seen right below the top modules menu. Often the form title gives brief
instructions about how to use the form.
For each task area there is a toolbar section (for example cat-toolbar, checkintoolbar). These sections describe tooltip text.
11.2 Modifying the Table on the Check-out, Check-in, and Renew
Forms
As library staff check out, check in, and renew library materials on the appropriate
forms, the forms display a table of summary information for each of the items. You
can modify the summary table by adding a field, moving a field, or removing a field.
Modifying the table on the Check-out, Check-in, and Renew forms requires
changing only the appropriate ASP file:
Form Name
ASP File Name
Check-out
Checkout.asp
Check-in
Checkin.asp
Renew
Renew.asp
Adding a column to the table on one of these forms requires 3 steps:
1. Add a field name to the array of table field names, strFieldsInTableArray,
corresponding to a field in the Catalog or Copy record of the tlp database.
For example, add the database field COPY.AVLB to fields in the table on the
Check-out form.
Before Add:
' Array of fields for table.
strFieldsInTableArray = Array("CAT.TI", "CAT.CALL",
"COPY.COPY", "COPY.ITEMID", "COPY.DUE_DT")
72
Library Management Administration/Customization Guide
After Add:
' Array of fields for table.
strFieldsInTableArray = Array("CAT.TI", "CAT.CALL",
"COPY.COPY", "COPY.AVLB", "COPY.ITEMID", "COPY.DUE_DT")
2. Create the code to display the name of the field in the top row of the table.
For example, add the field name for COPY.AVLB to the top row of the table
after the Copy column:
Before Add:
' Set up Table specification and heading for the columns
%>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO, "CAT.TI")%>>
<font color="#000080" size="2"><strong>
<%=objTlGen.GetLabel("CAT.TI")%></strong></font></a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO, "CAT.CALL")%>>
<font color="#000080"size="2"><strong>
<%=objTlGen.GetLabel("CAT.CALL")%></strong></font></a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO,
"COPY.COPY")%>>
<font color="#000080"size="2"><strong>
<%=objTlGen.GetLabel("COPY.COPY")%></strong>
</font></a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO,
"COPY.ITEMID")%>>
<font color="#000080"size="2"><strong>
<%=objTlGen.GetLabel("COPY.ITEMID")%></strong></font>
</a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO,
"COPY.DUE_DT")%>>
<font color="#000080" size="2"><strong>
<%=objTlGen.GetLabel("COPY.DUE_DT")%></strong></font>
</a>
</td>
</tr>
<%
After Add:
' Set up Table specification and heading for the columns
%>
<table border="1" cellpadding="3" cellspacing="0" width="100%">
<tr>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO, "CAT.TI")%>>
<font color="#000080" size="2"><strong>
<%=objTlGen.GetLabel("CAT.TI")%></strong></font></a>
</td>
73
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO, "CAT.CALL")%>>
<font color="#000080"size="2"><strong>
<%=objTlGen.GetLabel("CAT.CALL")%></strong></font></a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO, "COPY.COPY")%>>
<font color="#000080"size="2"><strong>
<%=objTlGen.GetLabel("COPY.COPY")%></strong>
</font></a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO, "COPY.AVLB")%>>
<font color="#000080" size="2"><strong>
<%=objTlGen.GetLabel("COPY.AVLB")%></strong>
</font></a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO,
"COPY.ITEMID")%>>
<font color="#000080"size="2"><strong>
<%=objTlGen.GetLabel("COPY.ITEMID")%></strong></font>
</a>
</td>
<td align="center"><a
href=<%=ObjTlGen.TlGenFieldHelp(False, FH_INFO,
"COPY.DUE_DT")%>>
<font color="#000080" size="2"><strong>
<%=objTlGen.GetLabel("COPY.DUE_DT")%></strong></font>
</a>
</td>
</tr>
<%
3. Create the code to display the data contained within the column of the table.
For example, add the code to display COPY.AVLB for the data in the table:
Before Add:
' For each item that has been checked in, display the fields
below for that Item.
Do While Not rstCheckoutTable.EOF %>
<tr>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("TI"))%></font>
</td>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(objTlCircGen.GetCall
(rstCheckoutTable))%></font>
</td>
<td align="right"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("COPY"))%></font>
</td>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("ITEMID"))%>
</font>
</td>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("DUE_DT"))%>
</font>
</td>
</tr>
<% rstCheckoutTable.MoveNext %>
<% Loop %>
74
Library Management Administration/Customization Guide
After Add:
' For each item that has been checked in, display the fields
below for that Item.
Do While Not rstCheckoutTable.EOF %>
<tr>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("TI"))%></font>
</td>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(objTlCircGen.GetCall
(rstCheckoutTable))%></font>
</td>
<td align="right"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("COPY"))%></font>
</td>
<td align="right"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("AVLB"))%></font>
</td>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("ITEMID"))%>
</font>
</td>
<td align="left"><font size="2">
<%=ObjTlGen.TlGenRemoveNulls(rstCheckoutTable("DUE_DT"))%>
</font>
</td>
</tr>
<% rstCheckoutTable.MoveNext %>
<% Loop %>
While the code is slightly different for steps 2 and 3 above, all that really needs to be
done is copying and pasting from the code that displays an existing column, and
changing the database field name. Do not attempt to change any other parts of the
code besides the field name.
11.3 Changing from the Demonstration OPAC to the Actual
OPAC
As delivered, the OPAC task will take you to a Webtop OPAC screen accessing the
tlpdemo database.
If your Library Management installation includes the Library Management
Integration you may want to change the OPAC task to take you to a Content Server
login screen. After logging in to Content Server, you will be taken to the list of
libraries available for searching and other OPAC functions.
75
11.3.1 Changing the Default Database for Webtop OPAC
If you want to use the data from your catalog rather than the demonstration data,
you will need to change the database name value in the default-database section in
the opac.xml file, which is located in the
BASISserver10.3\java\opac\webapp\WEB-INF directory.
<default-database>
<description>This is the Techlib database which will be used.</description>
<database name="tlpdemo"/>
<model name="asp"/>
</default-database>
11.3.2 Changing the OPAC
Library Management offers two OPACs: the Webtop OPAC and Open Text
Library Management Integration. You can specify which OPAC to use through the
OPAC_APP parameter in the techlib.tlt file. The file contains two instances of the
OPAC_APP parameter, but by default the Webtop version of the OPAC is enabled
and the Library Management Integration OPAC is disabled (the line is commented
out as indicated by the single quote character at the beginning of the line):
'OPAC_APP=http://localhost/livelink/livelink.exe?func=ll&objtyp
e=330&objaction=ListTechLibraries
OPAC_APP=http://localhost:8080/OPAC/
If you want to enable the Library Management version of the OPAC, remove the
single quote character at the start of the line, and disable the Webtop version by
typing a single quote character before the Webtop version of the parameter.
OPAC_APP=http://localhost/livelink/livelink.exe?func=ll&objtype
=330&objaction=ListTechLibraries
‘OPAC_APP=http://localhost:8080/OPAC/
11.3.3 Changing the Web Server OPAC URL
To change the Web server OPAC's URL reference, edit the OPAC_APP parameter
in the techlib.tlt file, and change the line to link to another Web directory or page.
By default, the system looks for Webtop OPAC on the local machine:
OPAC_APP=http://localhost:8080/OPAC/
11.3.4 Changing to an External OPAC
If you want to change the OPAC URL to an external system, modify the OPAC link
in each Library Management menu file. The Library Management menu files are
stored in the BASISclient\Techlib directory. The menu file names are menu*.asp.
11.4 Changing and Adding Resources URLs
To change a resource and/or its URL:
1. Edit the techlib.tlt file.
2. Search for the [Resources] section and within that section revise the line or lines
as necessary, changing the values to the right of the = sign.
76
Library Management Administration/Customization Guide
To add a resource and its URL reference:
1. Edit the techlib.tlt file.
2. Search for the [Resources] section and within that section and (using code
already in the section as a model) for the new resource add 3 lines identifying
the page, page description, and page URL.
For example, to add the URL for the Library of Congress
(http://lcweb.loc.gov/homepage/lchp.html), edit the techlib.tlt file by finding
the [Resources] section and adding following lines immediately above the line
beginning "Select a resource…:"
Library of Congress Home Page=LOC
Library of Congress Home Page Description=Library of Congress home page
Library of Congress Home Page URL=http://lcweb.loc.gov/homepage/lchp.html
3. In the Techlib subdirectory edit the resources.asp file by selecting and copying
the following lines:
<tr>
<td align="center" width="35%">
<ahref="javascript:PopupWindow('<%=objTlGen.GetLabel("OT
Home Page URL")%>',
'',640,480,'scrollbars,toolbar,status,menubar,location')">
<font color="#00009C" size="5"><%=objTlGen.GetLabel("OT
Home Page")%></font></td>
<td><font size="3"><%=objTlGen.GetLabel("OT Home Page
Description")%>
</font></td>
</tr>
4. Paste the selection in the same table wherever you want the new row to be in
relation to the existing rows of the table.
5. Using current code as a model, edit the 3 values after the 3 instances of
objTlGen.GetLabel to reflect the left member of each of the parameter=value
pairs that you added to the techlib.tlt file.
For example
<tr>
<td align="center" width="35%">
<a href="javascript:PopupWindow
('<%=objTlGen.GetLabel
("Library of Congress Home Page URL")%>',
'<%=objTlGen.GetLabel
("Library of Congress Home Page")%>',
640,480,'scrollbars,toolbar')">
<font color="#00009C" size="5">
<%=objTlGen.GetLabel
("Library of Congress Home Page")%></font>
</td>
<td>
<font size="3"><%=objTlGen.GetLabel
("Library of Congress Home Page Description")%>
</font>
</td>
</tr>
77
11.5 Remove Database Information from Banner Hover Text
By default, the banner at the top of Library Management forms displays the
database name and model when users hover the cursor over the banner. If you want
to remove the database and model name so that it does not appear when users
hover the cursor over the Library Management banner, edit the menumaintop.asp
file, and remove the following characters:
<%=Session("strTlBASISDbModelName")%>
from the following line of code:
<IMG SRC='<%=TL_APP_ROOT%>/topimages/poweredby.gif' WIDTH=70
HEIGHT=28 BORDER=0 ALIGN=bottom alt="<%=objTlGen.GetLabel("Version
Info")%> <%=Session("strTlBASISDbModelName")%>">
11.6 Report Maintenance Translation Tables
The Library Management translation file contains a section that controls the report
names that appear in the drop down list box on the Record Maintenance Selection
form. To customize or internationalize the record type labels that appear on the
form, modify the label names in the Table Translations section of the techlib.tlt file.
11.7 Changing State and Province List Order
If you want to change the order in which State and xxxProvince are displayed in
lists, modify the [STATE_ORDER] section of the techlib.tlt file. By default, State is
displayed first:
[STATE_ORDER]
STATE=1
PROVINCE=2
To change the order so that Province is displayed first, modify the section as
follows:
[STATE_ORDER]
STATE=2
PROVINCE=1
78
Library Management Administration/Customization Guide
Chapter 12
Adding and Changing Fields
The following sections describe the steps for making changes to the databases that
comprise Library Management:
1. Determine whether the field is already defined in the Library Management
database.
2. If necessary, revise and apply changes to the database definition.
3. If necessary, create an index for the field.
4. Determine which Active Server Pages to modify.
5. Determine the type of field.
6. Update the Active Server Pages.
7. Update the translation table (techlib.tlt file).
8. Test the Changes.
12.1 Determine Whether the Field is Defined in the Library
Management Database
Before adding or changing a field that appears on an ASP, you must determine
whether or not the field is defined in the Library Management database. One way
to do this is to run the Data Dictionary report from the Library Management
Administration module's Reports task. Another way to do this is to go to the
database server, extract the DDL for the appropriate database, and see whether the
field in question is defined.
To extract the DDL, use the Database Management Database Definition Extract
(DMDDBE) module. For information about this module, see Database
Administration Loading and Maintenance, especially the chapter titled "DMDDBE
Definition Database Extract."
79
For example, to learn whether or not a RES_CUSTOM_FLG field exists in the
USER_SECURITY record, delete any dmddbe.put file that may already reside in
your work area and from the server run the following command:
=> dmddbe uid=sauid upw=xxxxxxxx db=tlp
You can let the server prompt you for the rest of the required parameters:
object_type> record_all
object_name> user_security
Note the use of record_all rather than record. This ensures that you also get any
asserts, parameter sets, Record Editing and Validation Language (REVL)
statements, views, indexes, and other DDB components related to the record. For
information about these and other components of the database definition, see
Database Administration Definition and Development.
If the field is defined in the database, note the following field information:

field_name

OCCURS

LABEL

SIZE

Whether or not the field is controlled by a Code List, a Word List, or values
from another record

Whether Asserts and/or REVL statements govern use of the field
You will use this information later in the process.
12.2 If Necessary, Revise and Apply Changes to the Database
Definition
There are server-based tools for database and thesaurus customization. The
DMDBA and DMTM modules are described in the Database Administration Definition
and Development and Thesaurus manuals respectively.
Adding or changing a field requires adding or changing at least:

a FIELD definition for the appropriate RECORD in the Actual Data Model

changing the FQM and ASP models of the User Data Model of the DDB and

changing the Active Server Pages on which the added or changed field is to
appear
Adding or changing a field may also requires adding or changing
80

ADM assertions

ADM REVL statements
Library Management Administration/Customization Guide
Note: If you change any part of REVL code or add to REVL code, it is highly
recommended that you extract and replace the entire REVL code section of the
ADM, not just the part you are modifying.

an INDEX definition in the SDM
12.2.1 Some Dos and Don'ts for Modifying the DDB
DO

Make and store an extract of your entire DDL immediately after you install
Library Management. You can use the DMDDBE module to do this.

Make a back-up copy of the DDB before making any changes.

Add fields if current fields do not fit your needs.

Add comments to your field so users will know what it is for (the value for the
FIELD COMMENT parameter appears as field information accessed by users'
clicking on field labels on the various Library Management forms).

Keep a record of all changes that you make so that when you upgrade to a new
release of Library Management, you can incorporate the changes into the new
release by editing and applying changes to the DDL of the new release. One
way to identify changes between the DDL originally delivered and your current
DDL is to run a utility or program that identifies differences between files.
These differences can then be incorporated into the DDL of an upgrade version
of Library Management. It is highly recommended that you use a source code
management tool or product.

Try to make your changes before data is loaded. If data has been loaded and
you make changes to fields, you may need to dump and reload that data for the
change to take effect for that record type. For instructions about how to
accomplish this, see Database Administration Loading and Maintenance.

If you are adding fields to or changing fields in a record, include the /UPDATE
qualifier on the RECORD statement in the ADM.

If you are changing any part of REVL, extract, change, and replace the entire
REVL definition. There is no /UPDATE qualifier for REVL.

When adding new fields and/or records, add them to both the ASP and FQMA
models. The FQMA model, which contains all fields of the record, is used for
dumping and reloading the database.

When updating the FQMA model, use form=yes for UNIX/Linux and VMS
and form=no for Windows. When updating the ASP model use form=no.

Learn about the implications of the proposed change by consulting the "Change
Codes" appendix in Database Administration Definition and Development.

If you have any questions about the effect of the change you are planning to
make or the advisability of making such a change, contact Open Text Support
or your account manager.

If you modify an existing field, try to do so before data has been added to the
database.
81
DON'T

Change the name of an existing field.

Change attributes other than the label of existing fields.

Add required fields (occurs=1:1). Use REVL statements to make the field
required instead.

Change an attribute of an existing field without contacting Open Text Support
or your account manager.

Change assertion relationships.
12.2.2 Examples of Adding a Field and Changing a Field-Level Help
Example 1: Adding a Field
If you want to add a field that resembles another one, such as add a
RES_CUSTOM_FLG field that functions for the Resources module in much the
same way as CAT_CUSTOM_FLG functions for the Cataloging module, you can
examine the DMDDBE output file produced by commands described in section
12.1 “Determine Whether the Field is Defined in the Library Management
Database.” Using an editor such as Notepad, you can edit the default output file,
named dmddbe.put, by copying all portions of code referring to
CAT_CUSTOM_FLG and revising the copy to define and refer to
RES_CUSTOM_FLG. You need not be concerned about the location of the newly
created field that you have added to the User_Security record. If you place the field
definition immediately after the one you copied from, the system later will sort the
fields in alphabetical order within each record and model.
Following are portions of the extracted dmddbe.put file for the object_type
record_all and object_name user_security. Code that is unbold is code as extracted
from the dmddbe.put file. Code that is bold is code that is copied from the unbold
code and revised to define and support a RES_CUSTOM_FLG field. The entire
REVL section for USER_SECURITY appears because it is recommended that, if
you change anything within the REVL statements for a record, you replace its entire
REVL section. (In the following REVL statements the + line continuation markers
may be shifted from where they are in the extracted file.) Though the
USER_DATA_MODEL includes additional models besides the ADMIN and ASP
models, only the ADMIN and ASP models need to be revised.
Important:
Library Management uses only the ASP model associated with each
of the various record definitions in the database. However, it is strongly
recommended that when you revise the ASP model, you also revise FQMA model
for all records other than the USER_SECURITY record and the ADMIN model
for the USER_SECURITY record. The FQMA model is used whenever you need
to dump and reload the tlp database.
*-----------------------------------ACTUAL_DATA_MODEL;*
TLP
*-----------------------------------*
RECORD=USER_SECURITY,STYLE=CONVENTIONAL;
*
FIELD=CAT_CUSTOM_FLG,+
82
Library Management Administration/Customization Guide
LABEL='Cataloging Custom Flag',+
OUTPUT_FORMAT=<1<,+
SORT_SIZE=1,+
OCCURS=0:1,+
COMMENT=(+
'Flag to indicate if user is authorized to use',+
$B,'the Cataloging Custom task.'),+
DOMAIN=YESNO;
*
FIELD=RES_CUSTOM_FLG,+
LABEL='Resources Custom Flag',+
OUTPUT_FORMAT=<1<,+
SORT_SIZE=1,+
OCCURS=0:1,+
COMMENT=(+
'Flag to indicate if user is authorized to use',+
$B,'the Resources Custom task.'),+
DOMAIN=YESNO;
*
REVL RECORD=USER_SECURITY;
*
IF $REVL_MODEL(ASP) = 'TRUE';
CHECK CAT_CATALOG_FLG, REQUIRED, MESSAGE=+
'Cataloging Catalog Flag is required.';
CHECK CAT_AUTHORITY_FLG, REQUIRED, MESSAGE=+
'Cataloging Authority Flag is required.';
CHECK CAT_IMPORT_FLG, REQUIRED, MESSAGE=+
'Cataloging MARC Import Flag is required.';
CHECK CAT_CUSTOM_FLG, REQUIRED, MESSAGE=+
'Cataloging Custom Flag is required.';
CHECK CAT_EXPORT_FLG, REQUIRED, MESSAGE=+
'Cataloging Export Flag is required.';
CHECK CIRC_CHECKOUT_FLG, REQUIRED, MESSAGE=+
'Circulation Checkout Flag is required.';
CHECK CIRC_CHECKIN_FLG, REQUIRED, MESSAGE=+
'Circulation Checkin Flag is required.';
CHECK CIRC_HOLDS_FLG, REQUIRED, MESSAGE=+
'Circulation Holds Flag is required.';
CHECK CIRC_PATRON_FLG, REQUIRED, MESSAGE=+
'Circulation Patron Flag is required.';
CHECK CIRC_CUSTOM_FLG, REQUIRED, MESSAGE=+
'Circulation Custom Flag is required.';
CHECK RESOURCES_FLG, REQUIRED, MESSAGE=+
'Resources Flag is required.';
CHECK RES_CUSTOM_FLG, REQUIRED, MESSAGE=+
'Resources Custom Flag is required.';
END_IF;
IF ((CAT_AUTHORITY_FLG='N') AND +
(CAT_CATALOG_FLG='N') AND +
(CAT_IMPORT_FLG='+N') AND +
(CAT_EXPORT_FLG='N') AND +
(CAT_CUSTOM_FLG='N') AND +
(CAT_RPT_FLG='N'))
SET CAT_FLG='N';
ELSE;
SET CAT_FLG='Y';
END_IF;
IF ((CIRC_CHECKIN_FLG='N') AND +
(CIRC_CHECKOUT_FLG='N') AND +
(CIRC_HOLDS_FLG=+'N') AND +
(CIRC_CUSTOM_FLG='N') AND +
(CIRC_PATRON_FLG='N') AND +
(CIRC_RPT_FLG='N'))
83
SET CIRC_FLG='N';
ELSE;
SET CIRC_FLG='Y';
END_IF;
IF (RES_CUSTOM_FLG='N')
SET RESOURCES_FLG='N';
ELSE;
SET RESOURCES_FLG='Y';
END_IF;
END_REVL;
*
*---------------------------------USER_DATA_MODEL;*
TLP
*---------------------------------*
*
MODEL=ADMIN, ACCESS=PUBLIC, COMMENT=('Slang model.'), TYPE=FQM;
*
VIEW=USER_SECURITY,+
PRIVILEGES=(GET,ADD,MOD,DEL),+
SOURCE=(USER_SECURITY),+
FORM=YES;
*
AT(0:0,0:0),+
SOURCE=USER_SECURITY.CAT_CUSTOM_FLG,+
SIZE=1,+
OUTPUT_FORMAT=<1<,+
LABEL='Cataloging Custom Flag',+
NAME=CAT_CUSTOM_FLG;
AT(0:0,0:0),+
SOURCE=USER_SECURITY.RES_CUSTOM_FLG,+
SIZE=1,+
OUTPUT_FORMAT=<1<,+
LABEL='Resources Custom Flag',+
NAME=RES_CUSTOM_FLG;
*
*
MODEL=ASP, ACCESS=PUBLIC, TYPE=FQM;
*
VIEW=STAFF_SECURITY,+
PRIVILEGES=(GET,ADD,MOD,DEL),+
SOURCE=(USER_SECURITY),+
FORM=NO;
*
FIELD=CAT_CUSTOM_FLG,+
LABEL='Cataloging Custom Flag',+
OUTPUT_FORMAT=<1<,+
SOURCE=USER_SECURITY.CAT_CUSTOM_FLG;
*
FIELD=RES_CUSTOM_FLG,+
LABEL='Resources Custom Flag',+
OUTPUT_FORMAT=<1<,+
SOURCE=USER_SECURITY.RES_CUSTOM_FLG;
*
Example 2: Changing Field-Level Help for a Field
Field information in the application comes mainly from the COMMENT parameter
of the ADM FIELD definition. Though you are strongly advised not to change
parameters of the field other than the COMMENT, you may revise the
COMMENT.
84
Library Management Administration/Customization Guide
If you want to add the currently defined field M740 to the Catalog forms and revise
its field information definition to be 'Additional information about the Title,' use the
DMDDBE module to extract the record_all object_type and CAT record_name. In
the extracted file, notice that the M740 field's OCCURS value is 0:5, and the SIZE
value is 1:100 (when you add the field to the Catalog forms, this information is
important to know). Remove all code not needed for this revision, such as code
from UDM models other than the ASP and FQMA models, and revise what is left
so that it matches the following:
*-----------------------------------ACTUAL_DATA_MODEL;*
TLP
*-----------------------------------*
RECORD=CAT,STYLE=CONVENTIONAL;
*
*
FIELD=M740,+
LABEL='Added Entry, Title',+
OUTPUT_FORMAT=<25/VR6<,+
SORT_SIZE=100,+
OCCURS=0:5,+
COMMENT=(+
'Additional notes about the title.'),+
SIZE=1:100,+
EDIT_BLANKS=SQUEEZE,+
SEARCH_CONTROL=INC_CHAR_SRCH_BASIC,+
TYPE=CHAR;
*
*
*---------------------------------------STRUCTURAL_DATA_MODEL;*
TLP
*---------------------------------------*
INDEX=CAT.M740/INC_CHAR_SRCH_BASIC,+
AREA=A,+
TERMS=(INDEX_NULLS=NO,INSERT_METHOD=RANDOM,+
SIZE=1:40,NORMALIZE=YES),+
REFERENCES=(INSERT_METHOD=RANDOM,PROXIMITY=WORD),+
TYPE=INCLUSIVE;
*
*
*---------------------------------USER_DATA_MODEL;*
TLJP
*---------------------------------*
*
MODEL=ASP,+
ACCESS=PUBLIC,+
TYPE=FQM;
*
VIEW=CAT,+
PRIVILEGES=(GET,ADD,MOD,DEL),+
SOURCE=(CAT),+
FORM=NO;
*
FIELD=M740,+
LABEL='is ignored by ASP',+
OUTPUT_FORMAT=<50/VR12<,+
SOURCE=CAT.M740;
*
*
85
MODEL=FQMA,+
ACCESS=PUBLIC,+
TYPE=FQM;
*
VIEW=CAT,+
PRIVILEGES=(GET,ADD,MOD,DEL),+
SOURCE=(CAT),+
FORM=YES;
*
AT(0:0,0:0),+
SOURCE=CAT.M740,+
SIZE=100,+
OUTPUT_FORMAT=<50/VR12<,+
LABEL='is ignored by ASP',+
NAME=M740;
*
12.2.3 Applying the Revised Definition to the Database
To apply the changes to the database, use the DMDBA module. For information
about applying changes using statement mode, see Database Administration Definition
and Development, especially the "Overview of Database Definition and
Development," chapter's "Defining Your Database" section.
86
Library Management Administration/Customization Guide
Example: Entering and Applying Revised Definition to the Database
% dmdba
DMDBA V5 R145 20090807 LIB(D884 S196 A001)
USER ID > sauid
USER PW > xxxxxx
DATABASE > tlp
[10.3]
CS010
What would you like to do?
A. Enter a definition in statement mode
C. Enter a definition in screen mode
D. Change to a different database
L.
T.
Apply changes made to the definitions
Perform administrative tasks
Y.
Z.
Spawn to the host command level
Exit this program
> A
Enter the name of the file of statements that describe the
database.
> revs.put
...
Code is displayed as it is processed. If there are errors, they are identified and
you should edit and submit the revs.put file until no errors are found in it.
After you enter a definition successfully, the above menu reappears. To apply
changes made to the database, enter L at the prompt. If the apply is successful,
enter Z to exit the DMDDBA module.
12.3 If Necessary, Create an Index for the Field
If you have added an INDEX definition to the SDM after your database has been
loaded with data, you also need to create the index. To do this, you may use the
Collections Server Web Administrator or the Database Management Restructure
(DMR) module.
Example of Adding an Index After a Database Has Been Loaded
For example, following is code that defines and creates an index for the M362 field
of the Catalog record. Code was based on a similar index already defined for the
M730 field:
=> dmdba uid=sauid upw=xxxxxxxx db=tlp
DMDBA V5 R145 20090807 LIB(D884 S196 A001)
[10.3]
CS010
What would you like to do?
A. Enter a definition in statement mode
C. Enter a definition in screen mode
D. Change to a different database
L.
T.
Apply changes made to the definitions
Perform administrative tasks
Y.
Z.
Spawn to the host command level
Exit this program
> A
87
Enter the name of the file of statements that describe the
database.
> revm362.put
DMDBA
TLP
November 15, 2009 14:03:48
*-----------------------------------ACTUAL_DATA_MODEL;*
TLP
*-----------------------------------RECORD=CAT,STYLE=CONVENTIONAL;
*
*
FIELD=M362,+
LABEL='Chronology',+
OUTPUT_FORMAT=<25/VR3<,+
SORT_SIZE=50,+
OCCURS=0:3,+
COMMENT=(+
'Numeric and/or Alphabetic, Chronological, or',+
$B,'Other Designation.'),+
SIZE=1:50,+
EDIT_BLANKS=SQUEEZE,+
SEARCH_CONTROL=INC_CHAR_SRCH_BASIC,+
TYPE=CHAR;
*
*---------------------------------------STRUCTURAL_DATA_MODEL;*
TLP
*---------------------------------------*
INDEX=CAT.M362/INC_CHAR_SRCH_BASIC,+
AREA=A,+
TERMS=(INDEX_NULLS=NO,INSERT_METHOD=RANDOM,SIZE=1:40,+
NORMALIZE=YES),REFERENCES=(INSERT_METHOD=+
RANDOM,PROXIMITY=WORD),TYPE=INCLUSIVE;
What would you like to do?
A. Enter a definition in statement mode
C. Enter a definition in screen mode
D. Change to a different database
L.
T.
Apply changes made to the definitions
Perform administrative tasks
Y.
Z.
Spawn to the host command level
Exit this program
> L
Performing APPLY ...
** WARNING **
Some changes may require a database restructure and so may
NOT be made by DMDBA as the record database contains records
which will be affected by these changes. Listed below are
the record type names along with the database versions that
contain the records. To effect the changes, you will need to
dump the record database, reapply the changes and then reload
the database.
In the case where only the indexes are affected, then only
the indexes have to be dropped - you will not need to dump
the database.
Record type: CAT version: 0
The index: CAT.M362
must be created using DMR for all versions of the database
88
Library Management Administration/Customization Guide
that need to use the index.
APPLY successfully completed.
What would you like to do?
A. Enter a definition in statement mode
C. Enter a definition in screen mode
D. Change to a different database
L.
T.
Apply changes made to the definitions
Perform administrative tasks
Y.
Z.
Spawn to the host command level
Exit this program
> Z
NORMAL TERMINATION - DMDBA
=> dmr uid=sauid upw=xxxxxxxx db=tljp action=create +
index=cat.m362
DMR
V5 R22 20091026 LIB(D884 S196 A001) [10.3]
CS010
November 15, 2009 14:12:26 Processing record CAT
November 15, 2009 14:12:28 Sorting index terms
November 15, 2009 14:12:29 Processing index terms
November 15, 2009 14:12:29 Finished processing CAT
November 15, 2009 14:12:29 Files marked usable and reactivated
NORMAL TERMINATION - DMR
Using Web Administrator:
From the Admin Menu, select Index Admin. Enter the details for the new field
index as follows:
For information about the DMR module, see Database Administration Loading and
Maintenance.
89
12.4 Determine Which Active Server Page to Modify
The best tool to use in editing Active Server Pages is Microsoft InterDev. You
could also use Windows Notepad, but InterDev provides better editing capabilities.
Do not use Microsoft FrontPage.
Depending on what area of the application you want to modify, you will need to
determine which page or pages need to be changed. To determine which pages or
pages need to be changed, see section 8.1 “General Active Server Pages.”
Example 1
Because a custom task was added to the Resources module (see chapter 9
“Customizing Graphics”) and a USER_SECURITY.RES_CUSTOM_FLG field was
added to the tlp database (see subsection 12.2.2 “Examples of Adding a Field and
Changing a Field-Level Help”), a checkbox controlling user permission to access
this task must be added to the Administration module's Staff Security task.
Referring to section 8.1 “General Active Server Pages,” note that the ASPs that
could need to be changed are
user_security.asp
user_securitydis.asp
user_securityl.asp
user_securitysrch.asp
After reviewing each ASP, you can determine that the only files that really need to
be changed are
user_security.asp
user_securitydis.asp
The other files do not need to be changed because it is not necessary to search on
this new field, nor is it necessary to display the field on the result list (or summary)
page. Therefore this new field needs to appear only on the Add Staff Security and
Update Staff Security forms (user_security.asp) and on the Display Staff Security
form (user_securitydis.asp).
Example 2
Continuing the example of adding the M740 field to the Cataloging forms (see
subsection 12.2.2 “Examples of Adding a Field and Changing a Field-Level Help”),
refer to section 8.1 “General Active Server Pages” and note that the ASPs that
might need to be changed are
cat.asp
catdis.asp
catdis_form.asp
catl.asp
catl_form.asp
catsrch.asp
catsrch_form.asp
90
Library Management Administration/Customization Guide
After reviewing each ASP, you can determine that the only files that really need to
be changed are
cat.asp
catdis_form.asp
The other files do not need to be changed because it is not necessary to search on
this new field, nor is it necessary to display the field on the result list (or summary)
page. Therefore this new field needs to appear only on the Catalog Add and
Catalog Update forms (cat.asp) and on the Catalog Display form (catdis_form.asp).
91
12.5 Determine the Type of Field
In the next step, you need to identify the type of field to display on the screen.
WARNING: System-controlled fields such as Add Date, Revision Date, Revised
by, Received Status, Status Date, Processing Status, and Approved by ought not be
added to Add and Update forms as anything other than display-only fields. Letting
users change these fields can introduce problems in the application.
A field can be one of the following:

Simple input box

Textarea box

Drop-down box

Word list

Code list

Values from another record type

Display only

Checkbox
12.5.1 Simple Input Box
A simple input box is a one-row box that allows the user to enter information on
the form. There are specific functions to be used with this type of field. You will
also use the SIZE and OCCURS information that was gathered earlier (in section
12.1 “Determine Whether the Field is Defined in the Library Management
Database” from viewing the FIELD parameters in the DDL.
This is a generic example of how to code an input box.
<tr>
<td align="right" bgcolor="#EEEEFF">
<%=ObjTlGen.TlGenGetErrorAttribute("FIELD")%>
<a href=<%=ObjTlGen.TlGenFieldHelp(True, FH_FULL,
"VIEW.FIELD")%>><font size="2">
<%=ObjTlGen.GetLabel("VIEW.FIELD")%></font></a>
</td>
<td ><font size="2"><input type="text" size="50"
maxlength="152" name="WTCOL.VIEW.FIELD"
value="<%=objWtGen.HTMLEncode(ObjTlMaint.TlMntGetValue
("WTCOL.VIEW.FIELD"))%>"></font>
</td>
</tr>
where:
92
Library Management Administration/Customization Guide
Function
Brief description
ObjTlGenTlGenGetErrorAttribute
This function determines whether the field has been
in error. If so, a red arrow graphic will point to the
field.
ObjTlGen.TlGenFieldHelp
This function sets up the type of help to be
displayed when the user clicks the field label.
FH_FULL means that if a field has an index and/or
thesaurus, it will be available when the user clicks
the field label, and any terms the user selects will be
copied back to the form.
FH_INFO means that if a field has an index and/or
thesaurus, it will be available when the user clicks
the field label, but the user will not be able to select
terms to be copied back to the form.
FH_INFO_ONLY means that if a field has an
index and/or thesaurus, it will not be available when
the user clicks the field label. Only field
information will be displayed.
ObjTlGen.GetLabel
This function translates the value inside the
quotation marks into a translated value that is
defined in the translate table (techlib.tlt).
objWtGen.HTMLEncode
(ObjTlGen.TlMntGetValue)
These 2 functions together retrieve the value of the
field and encode it for HTML display in a browser.
Note the "size" and "maxlength" elements of the "input" tag. The size comes
directly from the field definition. The maxlength is determined by the following
equation:
(size * maximum occurs) + # of subfield delimiters
12.5.2 Textarea Box
A textarea box can be defined as a scrollable one- or multiple-row box in which a
user can enter information. Specific functions are used with this type of field. You
will also use the size and occurs information that was gathered earlier (in 12.1
“Determine Whether the Field is Defined in the Library Management Database.”)
93
Generic Example
This is a generic example of how to code a textarea box.
<tr>
<td align="right" bgcolor="#EEEEFF">
<%= ObjTlGen.TlGenGetErrorAttribute("FIELD")%>
<a href=<%=ObjTlGen.TlGenFieldHelp(True, FH_FULL,
"VIEW.FIELD")%>>
<font size="2"><strong>
<%=ObjTlGen.GetLabel("VIEW.FIELD")%></strong>
</font></a>
</td>
<td ><a><font size="2"><textarea name="WTCOL.VIEW.FIELD"
rows="2" cols="50" maxlength="1500">
<%=objWtGen.HTMLEncode(ObjTlGen.TlMntGetValue
("WTCOL.VIEW.FIELD"))%></textarea></font></a>
/td>
</tr>
All of the function calls are the same here as they were for the simple input box, and
the size and maxlength values are determined the same way. The only difference is
that a "textarea" tag is used rather than an "input" tag.
12.5.3 Drop-Down Box (Word List or Code List)
If a Word List or a Code List has been defined for a field, you will want to use a
drop-down box to display the valid values of the Word List or Code List.
Generic Example
This is a generic example of how to code an input box.
<tr>
<td align="right"><%=ObjTlGen.TlGenGetErrorAttribute("FIELD")%>
<a href=<%=ObjTlGen.TlGenFieldHelp(True, FH_INFO,
"VIEW.FIELD")%>><font size="2">
<%=ObjTlGen.GetLabel("VIEW.FIELD")%></font></a>
</td>
<td><font size="2"><% Call
objTlLkup.ShowLegalValues("WTCOL.VIEW.FIELD",
True, ObjTlGen.TlMntGetValue("WTCOL. VIEW.FIELD"))%>
</font>
</td>
</tr>
where a new function is introduced:
94
Function
Brief description
objTlLkup.ShowLegalValues
This function identifies through the database
definition which Word List or Code List to use
for this field and displays those values in a dropdown box.
Library Management Administration/Customization Guide
12.5.4 Drop-Down Box (Values from Another Record Type)
There are cases within Library Management where the valid values for a field are
actual values of another record type. The Material Type is a good example because
these values are defined by the user and are stored in a record called Material_Type.
These values are the only values that can be entered into a Material_Type field
within the application. When a Catalog record is created, MTYPE is a field within
the CAT record, and the values associated with this field are limited to those stored
in the Material_Type record. A specific function has been written for each of these
types of situations. An example of how to code for the material_type situation
follows:
<tr>
<td align="right"><%=ObjTlGen.TlGenGetErrorAttribute("MTYPE")%>
<a href=<%=ObjTlGen.TlGenFieldHelp(True, FH_INFOONLY,
"MATERIAL_TYPE.NAME")%>><font size="2">
<strong><%=ObjTlGen.GetLabel("CAT.MTYPE")%>
</strong></font></a>
</td>
<td ><% Call objTlLkup.ShowMTypes("WTCOL.CAT.MTYPE",
True, ObjTlGen.TlMntGetValue("WTCOL.CAT.MTYPE")) %>
</td>
tr>
where a new function is introduced:
Function
Brief description
objTlLkup.ShowMTypes
This function displays the values of the
Material_Type record within a drop-down box for
the MTYPE field of the Catalog record.
If you do not find a function that matches your specific needs, you will need to
write a new one of your own.
Controlling Vendor Display
If your library has many vendors, drop-down lists for vendor can become rather
long. By filtering the vendors in the vendor drop-down display by the vendor status
codes, you can display a subset of vendors. Pass the desired status codes as a
comma-delimited string in the first parameter of the method ShowVendors.
The following example displays only the vendors with the status of ACTIVE:
Call objTlLkup.ShowVendors("ACTIVE", "WTCOL.VEND.VID", True,
ObjWtForm.WtFormGetValue("WTCOL.VEND.VID"), True, 0)
The following example displays only the vendors with the status of BLOCKED,
CLOSED, or TEMPORARY:
Call objTlLkup.ShowVendors("BLOCKED, CLOSED, TEMPORARY",
"WTCOL.VEND.VID", True,
ObjWtForm.WtFormGetValue("WTCOL.VEND.VID"), True, 0)
12.5.5 Display Only
Within the Library Management application Display forms show only those fields
that contain data.
95
Generic Example
This is a generic example of how to code a display-only field.
<% If objTlMaintRS.TlMntRSGetValue("VIEW.FIELD") <> "" Then %>
<tr>
<td align="right"><a href=<%=objTlGen.TlGenFieldHelp
(True, FH_FULL, "VIEW.FIELD")%>>
<font size="2"><%=ObjTlGen.GetLabel
("VIEW.FIELD")%>:</font></a>
</td>
<td><font size="2">
<%=objTlMaintRS.TlMntRSGetHitValue("VIEW.FIELD")%>
</font>
</td>
</tr>
<% End If %>
where 2 new functions are introduced:
Function
Brief description
objTlMaintRS.TlMntRSGetValue
This function returns the value of the field.
objTlMaintRS.TlMntRSGetHitValue
This function returns the value of the given
field including any hit tags
12.5.6 Checkbox
In Library Management, checkbox fields can be toggled to be checked or
unchecked.
Generic Example
This is a generic example of how to code a checkbox field.
<tr>
<td align="right">
<%=objTlGen.TlGenGetErrorAttribute("FIELD")%>
<a href=<%=objTlGen.TlGenFieldHelp(True, FH_INFO,
"VIEW.FIELD")%>><font size="2">
<%=objTlGen.GetLabel("VIEW.FIELD")%>
</font></a>
</td>
<td align="left">
<font size="2"><input type="checkbox"
<% If objTlMaint.TlMntGetValue
("WTCOL.VIEW.FIELD")=
Session("strTlYesCode")
Then %> checked <% End If %>
name="WTCOL.VIEW.FIELD"
value="<%=Session("strTlYesCode")%>"></font>
</td>
</tr>
96
Library Management Administration/Customization Guide
12.6 Update the Active Server Pages
Example 1: Adding a Field Label and Checkbox to an ASP
1. Opening the user_security.asp file via Notepad, you can select and copy code
for the CAT_CUSTOM_FLG field, place it in the table row immediately after
code for USER_SECURITY.RESOURCES_FLG, and revise the copied
selection as follows:
<td align="right">
<%=objTlGen.TlGenGetErrorAttribute("RES_CUSTOM_FLG")%>
<a href=<%=objTlGen.TlGenFieldHelp(True, FH_INFO,
"USER_SECURITY.RES_CUSTOM_FLG")%>><font size="2">
<%=objTlGen.GetLabel("USER_SECURITY.RES_CUSTOM_FLG")%>
</font></a>
</td>
<td>
<font size="2"><input type="checkbox"
<% If objTlMaint.TlMntGetValue
("WTCOL.USER_SECURITY.RES_CUSTOM_FLG")=
Session("strTlYesCode")
Then %> checked <% End If %>
name="WTCOL.USER_SECURITY.RES_CUSTOM_FLG"
value="<%=Session("strTlYesCode")%>"></font>
</td>
Also in the user_security.asp file, after this line:
Call objTlGen.TlGenSetYesNoFlag(objForm,
"WTCOL.USER_SECURITY.RESOURCES_FLG")
add the following line:
Call objTlGen.TlGenSetYesNoFlag(objForm,
"WTCOL.USER_SECURITY.RES_CUSTOM_FLG")
2. Open the user_securitydis.asp file via Notepad and select and copy code for the
CAT_CUSTOM_FLG field, place it in the table row immediately after code for
USER_SECURITY.RESOURCES_FLG, and revise the copied selection as
displayed below in bold. Also add the third line as indicated below, the :&nbsp
as illustrated in the ninth line, and the eleventh line as indicated in bold font:
<% If
objTlMaintRS.TlMntRSGetValue("USER_SECURITY.RESOURCES_FLG")
= Session("strTlYesCode") Then %>
<% blnFirst = True %>
<tr>
<td align="right"><a href=<%=objTlGen.TlGenFieldHelp
(True, FH_INFO,
"USER_SECURITY.RESOURCES_FLG")%>>
<font size="2"><%=objTlGen.GetLabel
("USER_SECURITY.RESOURCES_FLG")%>:&nbsp</font></a>
</td>
<td align="left">
<% If
objTlMaintRS.TlMntRSGetValue("USER_SECURITY.RES_CUSTOM_FLG")
= Session("strTlYesCode") Then %>
<% If blnFirst Then blnFirst=False
Else Response.Write(",") %>
<a href=<%=objTlGen.TlGenFieldHelp(True,FH_INFO,
"USER_SECURITY.RES_CUSTOM_FLG")%>>
97
<font size="2"><%=objTlGen.GetLabel
("USER_SECURITY.RES_CUSTOM_FLG")%></font></a>
<% End If %>
</td>
</tr>
<% End If %>
3. To activate the security defined and temporarily commented out in the example
in chapter 9 “Customizing Graphics”, edit the menuresources.asp file by
removing the apostrophes from the outer "If" clause (the apostrophes in the
first and last lines of the code listed below):
<% If Session(“rstTlUserSecurity”).Fields.Item(“RES_CUSTOM_FLG”.Value=
Session("strTlYesCode") And
Session("blnTlSecResCustomExists") = True Then%>
<% If strCurTask = "custom" Then %>
<a href='<%=TL_APP_ROOT%>/rescustom.asp'
target='FORM'><img src=
'<%=TL_APP_ROOT%>/sideimages/custom_on.gif'
WIDTH=110 HEIGHT=22 BORDER=0 ALIGN=bottom
alt="<%=objTlGen.GetLabel("Customize Resources
Options")%>"></a><BR>
<% Else %>
<a href='<%=TL_APP_ROOT%>/rescustom.asp'
target='FORM'><img src=
'<%=TL_APP_ROOT%>/sideimages/custom_off.gif'
WIDTH=110 HEIGHT=22 BORDER=0 ALIGN=bottom
alt="<%=objTlGen.GetLabel("Customize Resources
Options")%>"></a><BR>
<% End If %>
< ' % End If %>
4. To define the Session("blnTlSecResCustomExists") flag, open the Techlib.vbp
project file, and then open the TlGen.cls class. Locate the TlGenInitializeApp
routine and change the code as follows.
m_Session("blnTlSecAdminCustomExists") =
TlGenFileExists("admcustom.asp")
m_Session("blnTlSecCatCustomExists") =
TlGenFileExists("catcustom.asp")
m_Session("blnTlSecCircCustomExists") =
TlGenFileExists("circcustom.asp")
to
m_Session("blnTlSecAdminCustomExists") =
TlGenFileExists("admcustom.asp")
m_Session("blnTlSecCatCustomExists") =
TlGenFileExists("catcustom.asp")
m_Session("blnTlSecCircCustomExists") =
TlGenFileExists("circcustom.asp")
m_Session("blnTlSecResCustomExists") =
TlGenFileExists("rescustom.asp")
After you make these changes, you must rebuild the Techlib.dll file. For more
information about rebuilding the Techlib.dll file, see “Rebuilding the Library
Management Dynamic Link Library File.”
98
Library Management Administration/Customization Guide
Example 2: Adding a Field Label and Textarea Box
Continuing with the example of adding the M740 field to the Catalog forms, you
determine that the Add Catalog and Update Catalog forms (cat.asp) will use a
textarea box and the Display Catalog form (cat.dis_form.asp) will use a display-only
type. The size of the field is 100 characters and the maximum number of
occurrences is 5; therefore the maxlength will be ((100*5)+4) or 504. Because the
maxlength, 504, is greater than the product of the rows and columns, 100, the field
is scrollable. The revised code for the cat.asp page can look like:
<tr>
<td align="right"><%=ObjTlGen.TlGenGetErrorAttribute("M740")%>
<a href=<%=ObjTlGen.TlGenFieldHelp(True, FH_FULL,
"CAT.M740")%>><font size="2">
<%=ObjTlGen.GetLabel("CAT.M740")%></font></a>
</td>
<td><textarea name="WTCOL.CAT.M740" rows="2"
cols="50" maxlength="504" >
<%=objWtGen.HTMLEncode(ObjTlGen.TlMntGetValue
("WTCOL.CAT.M740"))%></textarea>
</td>
</tr>
For the display page, catdis_form.asp, we will use the display only type field. We
would code the catdis_form.asp page to look like:
<% If ObjTlMaintRS.TlMntRSGetValue("CAT.M740") <> "" Then %>
<tr>
<td align="right"><a href=<%= ObjTlGen.TlGenFieldHelp
(True, FH_FULL, "CAT.M740")%>><font size="2">
<%=ObjTlGen.GetLabel("CAT.M740")%>:</font></a>
</td>
<td><font size="2">
<%= ObjTlMaintRS.TlMntRSGetHitValue("CAT.M740")%></font>
</td>
</tr>
<% End If %>
12.7 Update the Translation Table
The last step in the process is to update the translation table, a file called techlib.tlt.
The translation table is used so all character strings within the application can be
changed easily. You will need to identify the section within this file to update. This
is determined by the value of the variable, strTableName, which is

defined at the top of each ASP or

the second parameter passed in the function call
'Call ObjTlGen.TlGenInitializePage(...)'
99
Example 1
Revise the techlib.tlt file to accommodate changes made to include information
about the Resources Custom Flag field on Staff Security forms by adding the
following lines to the [USER_SECURITY] section:
USER_SECURITY.RES_CUSTOM_FLG=Resources Custom
STAFF_SECURITY.RES_CUSTOM_FLG=Resources Custom
This tells the application that whenever it sees the function
<%=ObjTlGen.GetLabel("USER_SECURITY.RES_CUSTOM_FLG")%>,
or
<%=ObjTlGen.GetLabel("STAFF_SECURITY.RES_CUSTOM_FLG")%>,
replace the value with "Resources Custom".
Example 2
Revise the techlib.tlt file to accommodate changes made to include information
about the M740 field on Catalog forms by adding the following line to the
[CATALOG] section:
Continuing the example of adding the M740 field to the Add Catalog, Update
Catalog and Display Catalog forms, we identify that the value of StrTableName is
"CAT". Finding the section [CAT] within the translation table, we can add the
following line within that section.
CAT.M740=Title Notes
This tells the application that whenever it sees the function
<%=ObjTlGen.GetLabel("CAT.M740")%>,
replace the value with "Title Notes".
12.8 Test the Changes
Example 1
Test the success of these changes by using the Administration module's Staff
Security task. Notice that the Resources Custom checkbox appears on both the
Add Staff Security and Update Staff Security forms; revisions to the
user_security.asp page cover both of these forms. Clicking on the Resources
Custom field label displays online help for the new field. After you assign
Resources Custom security to a user, you can test whether Resources Custom
appears after Resources Access for that user.
100
Library Management Administration/Customization Guide
Example 2
Test the success of these changes by using the Cataloging module's Catalog task.
Add a Catalog record that has some information for Title Notes (the M740 field).
Then display that record, making sure that the Title Notes field appears. On the
Add Catalog form, click the Title Notes field label and then click the Field
Information icon. The Field Information for Title Notes should display as its
definition "Additional notes about the title" instead of "Added Entry, Title Traced
Differently."
101
Chapter 13
Customizing Authority Control
Authority control can be used to validate catalog information during data entry and
update, and it can also be used to enhance OPAC searches—for example, switching
a preferred term for a user-entered non-preferred term. Library Management as
delivered has authority control activated for the Author (M100), Corporate Author
(M110), Conference Author (M111), Uniform Title (M130), Subjects (SUBJ) and
Geographic Name (M651) fields of the Catalog record.
The delivered application comes with authority control activated for data validation
so that when users attempt to add or update information that does not match
authorized data, a warning message is displayed. Users are given the opportunity to
change what they attempted to add or update, or they can add or update the field
with data that does not match authority control terms. Invalid data can be identified
by searching via the Advanced Search form for values in the exceptions fields of the
Catalog record (M100_EXP, M110_EXP, M111_EXP, M130_EXP, SUBJ_EXP,
and M651_EXP). The cataloger can later add authority data that is compatible with
the data entered under warning.
In customizing authority control, you can

Modify messages that appear when users are searching OPAC fields that are
governed by authority control

Remove search control

Remove data validation

Remove authority control altogether
You can customize authority control by
1. Editing various ddl files delivered with Library Management
2. Entering the definition by using DMDBA statement mode
3. Applying the modified definition to the database
On UNIX/Linux, these files reside in the $TLP/prc area.
On VMS, these files reside in the TLP$PROC area.
102
Library Management Administration/Customization Guide
On Windows, these files reside at %BASIS_DB%\src\tlp.
For information about planning for authority control, how authority control works
in Library Management, defining a thesaurus, and defining thesaurus control for
data entry and retrieval, see the online help topics titled "Planning for Authority
Control," "How Authority Control Works," "Defining a Thesaurus," and "Defining
Thesaurus Control" within Library Management. For information about DMDBA,
see Database Administration Definition and Development. For information about TM, see
Thesaurus.
13.1 Modifying Authority Control Messages
If you want to perform changes such as:

Change the text of the message that is received when term switching occurs

Change the term switching message warning to an error

Remove the term switching message warning altogether
then you should use the DDL called authority_modify_messages.ddl as a template.
This DDL file contains REVL statements for several Catalog record fields followed
by six thesauri statements (one for each authority-controlled field). Among the
thesauri statements is where you would make your changes.
Note: The entire REVL section for the Catalog record is included in the DDL file
because in revising any part of the REVL portion of the ADM, it is best to change
and apply the entire section rather than parts of it.
Here is an example of the M100 definition:
THESAURUS=THES_NAME,FIELD=M100,RETURN=WARN,+
EXCEPTIONS=M100_EXP,MESSAGE=FAILED_DATA +
('The term ',' is not in the thesaurus.');
If you want to change the message to be "You will need to add the term ',' to the
thesaurus", then you would change the definition to be:
THESAURUS=THES_NAME,FIELD=M100,RETURN=WARN,+
EXCEPTIONS=M100_EXP,MESSAGE=FAILED_DATA +
(You will need to add the term ',' to the thesaurus.');
If you would like to prevent term switching when the term is not defined, then you
would change this message to an error. To do this you would revise the code to be:
THESAURUS=THES_NAME,FIELD=M100,RETURN=ERROR,+
EXCEPTIONS=M100_EXP,MESSAGE=FAILED_DATA +
('The term ',' is not in the thesaurus.');
If you would like to allow term switching to occur and not display an error or a
warning, then you would make this change:
THESAURUS=THES_NAME,FIELD=M100,RETURN=NO_ERROR,+
EXCEPTIONS=M100_EXP,MESSAGE=FAILED_DATA +
('The term ',' is not in the thesaurus.');
103
After you have made the appropriate change to the DDL file, you will need to enter
and apply the definition to your Library Management database. You can use the
DMDBA module to do this.
13.2 Removing Search Control
Search control enhances searching so that if a user searches for a non-preferred
term the system converts it to a search for a preferred term. For example, if Samuel
Langhorne Clemens has been identified in your thesaurus as the preferred term for the
non-preferred term Mark Twain and a user searches for items having Mark Twain as
their author, the user will get records for items having Samuel Langhorne Clemens as
their author regardless of whether the user searches for Mark Twain or Samuel
Langhorne Clemens.
If you want to remove the search control option of authority control, you will need
to enter and apply code from the DDL file called
authority_remove_search_control.ddl to your Library Management database. This
will remove only the search control and keep the data validation. You can use the
DMDBA module to do this.
13.3 Removing Data Validation
If you want to remove the data validation option of authority control, then you will
need to enter and apply code from the DDL file called
authority_remove_validation.ddl to your Library Management database. This will
remove only the data validation and keep search control. You can use the DMDBA
module to do this.
13.4 Removing Authority Control
If you do not want to use a thesaurus for search control or for data validation, you
can remove authority control altogether. To do this you will need to enter and
apply code from the DDL file called authority_remove.ddl to your Library
Management database. You can use the DMDBA module to do this.
104
Library Management Administration/Customization Guide
13.5 Changing Thesaurus Databases/Authority Controlled
Fields
If you want to use a custom thesaurus database, you can update the techlib.tlt file to
change the database name to which an authority controlled field refers. The
[Authority Control] section of the techlib.tlt file contains entries that specify which
fields are thesaurus controlled. For example, in the following sample [Authority
Control] section of a sample techlib.tlt file, the Heading1 field entry specifies the
default thesaurus database NAME.
[Authority-Relations]
…
Heading1=NAME
Heading2=CORP
Heading3=CONF
Heading4=TITLE
Heading5=SUBJ
Heading6=SUBJ
…
To change the thesaurus database used for Heading 1, edit its corresponding entry.
The changes you make to the techlib.tlt file take effect the next time you start
Library Management.
Note: Custom thesaurus database names can not include the string _ASP.
Six fields are defined for authority control by default. If you want to use a different
field or change the number of fields, you can update the techlib.tlt file. You can
control more than one field using the same Thesaurus database. For example, in the
sample above, Heading 5 and Heading 6 both use the Thesaurus database SUBJ.
105
13.6 Changing Term Relationship Names
Relationship names display when you browse the thesaurus to identify a terms
association with the lead term. For example the lead term Knowledge Management
can include the following Thesaurus relationships:
Knowledge Management (LT)
Collaborative knowledge management (UF)
KM (UF)
Intellectual capital (RT)
Library Management Authority Control defines eight term relationships in the
techlib.tlt file:
[Authority Terms]
BROADER TERM=BROADER TERM
GeneralTerm=BT
InformativeHistoryTerm=HN
InformativeScopeTerm=SN
LeadTerm=LT
NARROWER TERM=NARROWER TERM
NonPreferTerm=UF
PreferTerm=EQ
ReferenceTerm=RT
SpecificTerm=NT
If you want to change the abbreviations used to describe a relationship, edit the
relationship’s entry in the techlib.tlt file.
The BROADER TERM and NARROWER TERM entries identify related terms if
you use the MARC Authority format. MARC uses one field for all related terms,
but you can instruct the import control to differentiate the specific types of related
terms by adding the appropriate qualifier after the actual term. Edit the techlib.tlt
file to adjust the exact word used as the qualifier.
106
Library Management Administration/Customization Guide
13.7 Recognizing Trailing Periods
By default, Library Management removes trailing periods from term loaded into the
thesaurus database. You can change a parameter in a Library Management ASP file
to instruct Library Management to preserve trailing periods.
To configure Library Management to preserve trailing periods:
1. Edit the auth.asp file in the Library Management installation directory.
2. Locate the following code:
blnStatus = objTlCatAuth.MaintainThesaurus(Request("ACTION"), _
Session("strTlThesAuthOldLTField"), _
Session("strTlThesAuthOldLT"), _
Session("strTlThesAuthSysKey"), _
objForm, FALSE)
3. Change the FALSE parameter to TRUE.
4. Save your changes and close the file.
5. Restart the Web server.
107
Chapter 14
Adding Barcode Reader Support
Areas within the Library Management interface that permit use of a barcode reader
as input are as follows:
Cataloging Module

Catalog Search form's Item Number

Copy Search form's Item Number
Circulation Module



108
Check-out (The default data entry box is the new Patron ID when there is no
current patron; otherwise it is the Item ID.)

New Patron ID

Item ID

Catalog Search form's Item ID

Patron Search form's Patron ID
Check-in

Item number

Catalog search item ID
Holds

Holds catalog search form item ID

Holds form new patron ID

Patron holds search form patron ID
Library Management Administration/Customization Guide
14.1 Setting up Your Barcode Reader
Before using your barcode reader with Library Management, it is necessary to make
sure your barcode reader is setup correctly. The barcode reader must be
programmed to append the ASCII character 3 (ETX) to the end of the barcode
(postamble). The Library Management application looks for this special character to
determine that a user has entered a barcode rather than typing a value on a form.
The ASCII character 3 (ETX) was selected as the special character because it works
well with the HTML/JavaScript environment and the JavaScript alert/confirm
capability.
The character identifying that a barcode reader is being used has two purposes.
One, it forces an HTML form SUBMIT to process the data on the form without the
user having to click the Enter button. A librarian checking in books, for example,
can do so using the barcode reader without having to click the Enter button for
each item checked in. The barcode reader captures the number that identifies the
book, and the ASCII character 3 notifies the system to process the information.
Secondly, use of the special character helps to identify erroneous values and prevent
further processing before action is taken to deal with the error. When an error
occurs, an alert box is displayed, indicating the source of the problem. Before the
librarian can proceed on to the next book for processing, the librarian must click the
Enter button to signify that the error message has been received
14.2 Customizing Barcodes
If for some reason you must change the appended ASCII character 3 (ETX) to a
different ASCII character, then you must edit the POST_SCAN_CHR constant in
the TlGlobal.inc file located in the /techlib/include directory where Library
Management is installed. If you must change this character, it is highly
recommended that you test your change. Not all characters work well. You must
choose a character that would never be needed as actual data. You must be sure to
program your barcode reader with the changed appended character.
14.3 Adding Barcode Support to a Form
If you would like to make additional existing HTML forms support barcodes, then
the following changes need to be made:
1. The Active Server Page must have included the file TlCommonJS.inc. The file
TlCommonJS.inc is located in the /techlib/include directory where Library
Management is installed. The file TlCommonJS.inc defines the function
TlBarcodeCRSubmit that will be referenced later on in the page. This file to be
included is referenced after the HTML body statement.
2. Identify the input box where the cursor should be positioned when the form
first gets displayed. If you are changing a form to accept barcodes, you want
the cursor to be positioned at the box where you can immediately start barcoding without using the keyboard. After the box has been identified, you need
to modify the page to position the cursor by adding the JavaScript
document.TLFORM.elements[n].focus(); to the onload attribute of the
<body> HTML tag. Note that the elements [n] reference must be substituted
109
with an actual number identifying the input box element. The elements array
contains an entry for each object (button, checkbox, submit, text, etc.) in a form
in source order. For example, if a form has a text field and two checkboxes,
these elements are reflected as document.TLFORM.elements[0],
document.TLFORM.elements[1] and document.TLFORM.elements[2]. More
than likely, the HTML <body> tag may already have the onload attribute set to
register(). Make sure when you add the focus function that you separate the
two calls to the functions with a semicolon.
Form Example
Original Active Server Page
<body bgcolor="#FFFFFF" link="#00009C" vlink="#00009C"
onload=" register();"onunload="parent.loaded.content=false;">
Modified Active Server Page with the Call to the Focus Method
<body bgcolor="#FFFFFF" link="#00009C" vlink="#00009C"
onload="document.TLFORM.elements[0].focus();register();"
onunload="parent.loaded.content=false;">
3. Add the onkeypress attribute to the HTML <input> for the input box that is
to accept a barcode. The onkeypress attribute must be set to the following
value, onkeypress="TlBarcodeCRSubmit(event,SubmitType)". The function
TlBarcodeCRSubmit accepts two parameters: event and SubmitType. The event
parameter is the JavaScript event object that can identify which character was
pressed. The SubmitType parameter is the submit type of the form.
Form Example of Item Id on Check-in Form
<INPUT TYPE="text" SIZE="30" MAXLENGTH="30"
NAME="WTCOL.COPY.ITEMID"
VALUE="<%=objWtGen.HTMLEncode(ObjTlCircGen.TlCircGenRSGetValue(
"COPY", "WTCOL.COPY.ITEMID", ""))%>"
onkeypress="TlBarcodeCRSubmit(event,'Check-in')">
4. Add the code to set the barcode submit type by setting the global session
variable strTlBarcodeSubmitType to the submit type of the form. This line of code
can be added anywhere within the VB Script section of the form above the
TlCommonJS.inc include statement.
Example of setting submit type from ser_patronsrch.asp form:
' This variable is used for barcode processing
Session("strTlBarcodeSubmitType") = “Submit”
110
Library Management Administration/Customization Guide
111
Chapter 15
Customizing Reports
15.1 Reports Overview
If library staff members want any of the standard reports to be customized (adding
or deleting fields, sorting output differently, for example) or new reports developed,
you will need to have a tool such as iReport, which is a free visual reporting tool
based on JasperReports written in Java. Additionally, you can also create reports
using Collections Server Command Procedures (Proc). Whether you have installed
iReport or decided to use the Collections Server Procs, you can set up your system
by following the procedures described in the following sections:


Section 15.2, “Using JasperReports.”
Section 15.3, “Creating a Report by Using an Existing Collections Server
Proc.”
In addition to JasperReports, all of the Library Management reports use Microsoft
Access (part of the Microsoft Office 2003 Suite) as an intermediate repository to
hold the data before being formatted by JasperReports. The report logic is coded
into an ASP, which then queries the Collections Server database, performs data
functions, and populates an Access database table with information for the report.
JasperReports reads the information and formats it for presentation.
Used together, JasperReports and Access provide a powerful Library Management
data-formatting facility to meet the most extensive reporting needs a library may
have. Section 15.2.2 “JasperReports Generation Workflow” describes the workflow
of report generation.
JasperReports and Access need to be installed only on the database administrator's
desktop or workstation. DBAs also should maintain a development version of
Library Management on their Windows desktop. After completing and testing
customizations, DBAs can move the changes to the production Windows
application server.
Some of the reports update the Library Management database. For example, the
Overdue Notices report can update the database to indicate the number of times a
112
Library Management Administration/Customization Guide
notice has been sent. If you are customizing a report that updates the database, you
will need to be aware of any effects that customization may have on the database.
15.2 Using JasperReports
15.2.1 Making Library Management Reports Accessible to JasperReports
Using newer versions of iReport
Reports in Library Management 10.3 are setup to use JasperReports 3.6.0 libraries.
If you want to use a version of iReport that uses a different version of the
JasperReports libraries you will need to change the libraries used by Library
Management. For detailed instructions on changing the version used by Library
Management, see the documents under the ‘Library Management Technical Tips’
directory on the Knowledge Center at
https://knowledge.opentext.com/knowledge/llisapi.dll/open/2230427
Setting up a JDBC Resource for the Library Management Reports
Database and iReport
iReport is a free tool that can be downloaded from JasperForge.org. In order for
iReport to be able to run reports against the Library Management Reports database,
you will need to configure the JDBC connection.
Under the Data menu in iReport choose “Connections/Datasources” and click the
New button. Select the datasource type “Database JDBC connection” and click the
Next button. On the Database JDBC connection page enter the following
parameters:
Name - BASISReportsConn
JDBC Driver - sun.jdbc.odbc.JdbcOdbcDriver
JDBC URL - jdbc:odbc:BASIS Reports
Click “test” and you should receive the message: “Connection test successful!”
These values assume the ODBC datasource BASIS Reports is already defined and
points to the Library Management Microsoft Access database.
15.2.2 JasperReports Generation Workflow
User input comes from a report form that a user has selected from one of the
application's reports menus and submitted with his or her choices about what the
report is to contain. The script of the report's Active Server Page handles
interaction with Collections Server ODBC by translating what the user submitted
into a query to the Library Management database, by receiving the retrieved data,
performing any Collections Server database updates, and sending data to the Access
reports database. The JasperReports' .jasper file contains information used in
formatting the report for display and printing from the user's computer.
The solution of combining capabilities of an Access reports database with
JasperReports report-generation is designed to increase the reliability of the passing
113
of data to JasperReports. It also enables report output (stored as files in the
techlib/reports/output/username/jasper directory) to be accessed at a later time, and
it makes adding fields to the report much easier.
15.2.3 Role of a Report's ASP
The report ASP page contains all the report-specific processing. This includes code
to produce the report user input form, definition of how to fill in the ReportSpecific Tables in the Access reports database, how to process virtual columns, and,
if needed, how to update the Collections Server database. ASPs for each report are
located in the techlib/reports directory. Table 15-1 describes the different reports,
the Library Management modules in which they appear, and their file names.
The size of the ASP scripts for some reports and complexity of the reports
processing can be considerable. Report size and complexity slow down
performance.
Table 15-1: Reports and Their File Names
Cataloging Module
Report
Name
ASP file
JasperReports Source file(s)
JasperReports Compiled
file(s)
Circulation
Requests
CR.asp
CR.jrxml
CR.jasper
New Copy
List
NC.asp
NC.jrxml
NC.jasper
Temporary
Catalog/
Copy Report
TempCC.asp
TempCC.jrxml,
TempCCcat.jrxml,
TempCCcopy.jrxml
TempCC.jasper,
TempCCcat.jasper,
TempCCcopy.jasper
Spine Labels
SL.asp
SL.jrxml
SL.jasper
Shelf List
SHLFL.asp
SHLFL.jrxml
SHLFL.jasper
MARC Rules MR.asp
MR.jrxml
MR.jasper
Reconcile
Thesaurus
Exceptions
EFIX.jrxml,
EFIX_M100.jrxml,
EFIX_M110.jrxml,
EFIX_M111.jrxml,
EFIX_M130.jrxml,
EFIX_M600.jrxml,
EFIX_M651.jrxml
EFIX. jasper,
EFIX_M100.jasper,
EFIX_M110. jasper,
EFIX_M111. jasper,
EFIX_M130. jasper
EFIX_M600. jasper,
EFIX_M651. jasper
MARCI.jrxml,
MARCI_subreport0.jrxml
MARCI.jasper,
MARCI_subreport0.jasper
MARC
Import *
114
EFIX.asp
Library Management Administration/Customization Guide
Circulation Module
Report
Name
ASP file
JasperReports Source file(s)
JasperReports
Compiled file(s)
Hold
Maintenance
List
HML.asp
HML.jrxml
HML.jasper
Low
Circulation
LowCirc.asp
LowCirc.jrxml
LowCirc.jasper
Purchase
Alert
PA.asp
PA.jrxml
PA.jasper
Shelf List
SHLFL.asp
SHLFL.jrxml
SHLFL.jasper
Delete Hold
Records
DHR.asp
DHR.jrxml
DHR.jasper
Circulation
Requests
CR.asp
CR.jrxml
CR.jasper
Mgmt stats
by Call
Number
CN_stats.asp
CNstatsN.jrxml,
CNstatsN_Libr.jrxml,
CNstatsY.jrxml
CNstatsN.jasper,
CNstatsN_Libr.jasper,
CNstatsY.jasper
Mgmt stats
CT_stats.asp
by Collection
Type
CTstatsN.jrxml,
CTstatsN_Libr.jrxml,
CTstatsY.jrxml
CTstatsN.jasper,
CTstatsN_Libr.jasper,
CTstatsY.jasper
Mgmt stats
by Library
CL_stats.asp
CLstatsN.jrxml,
CLstatsN_Libr.jrxml,
CLstatsY.jrxml,
CLstats_H.jrxml,
CLstats_OD.jrxml,
CLstats_R.jrxml
CLstatsN.jasper,
CLstatsN_Libr.jasper,
CLstatsY.jasper,
CLstats_H.jasper,
CLstats_OD.jasper,
CLstats_R.jasper
Mgmt stats
by Material
Type
MT_stats.asp
MTstatsN.jrxml,
MTstatsN_Libr.jrxml,
MTstatsY.jrxml
MTstatsN.jasper,
MTstatsN_Libr.jasper,
MTstatsY.jasper
Hold
Available
HA.asp
HA.jrxml, HAE.jrxml
HA.jasper, HAE.jasper
115
Report
Name
ASP file
JasperReports Source file(s)
JasperReports
Compiled file(s)
Patron
PDM.asp
Detail Memo
PDM.jrxml, PDMC.jrxml,
PDME.jrxml, PDMEC.jrxml,
PDMEH.jrxml, PDMH.jrxml
PDM.jasper,
PDMC.jasper,
PDME.jasper,
PDMEC.jasper,
PDMEH.jasper
PDMH.jasper
Overdue
Notices
ON.asp
ON.jrxml, ONE.jrxml
ON.jasper, ONE.jasper
Recall
Notices
RN.asp
RN.jrxml, RNE.jrxml
RN.jasper, RNE.jasper
Report
Name
ASP file
JasperReports Source file(s)
JasperReports
Compiled file(s)
Routing
Slips
RS.asp
RS.jrxml,
RS_sub_TOC.jrxml
RS.jasper,
RS_sub_TOC. jasper
Serials
Holdings
SerHold.asp
SerHoldLong.jrxml,
SerHoldShort.jrxml
SerHoldLong. jasper,
SerHoldShort. jasper
Auto
Claiming
AutoClaim.asp
None
none
Claim Forms
CF.asp
CF.jrxml, CFE.jrxml
CF. jasper, CFE.jasper
Issues by
Status
IbyS.asp
IbyS.jrxml
IbyS.jasper
Serials Module
Acquisitions Module
116
Report
Name
ASP file
JasperReports Source file(s)
JasperReports
Compiled file(s)
Order
Form(s)
PO.asp
PO.jrxml,
PO_ANSIS.jrxml,
PO_PO.jrxml,
PO_RFI.jrxml,
POE.jrxml
PO.jasper,
PO_ANSIS. jasper,
PO_PO. jasper,
PO_RFI. jasper,
POE. jasper
Library Management Administration/Customization Guide
Administration Module
Report
Name
ASP file
JasperReports Source file(s)
JasperReports
Compiled file(s)
Record Data
Dictionary
DD.asp
DD.jrxml
DD.jasper
* This report is generated automatically after you import a MARC record in Library
Management.
Note that some of the reports have multiple JasperReports files. Some of the more
complex reports use subreports which are saved to their own file.
Logic in Report ASPs
If you are going to create a new report, it is helpful to understand the report logic
that guides coding ASPs. Often it is helpful to copy an ASP file for a report that
resembles the one you want to create and then modify it to become your new
report. A detailed outline for the ASP logic of a report using JasperReports and
Microsoft Access follows. This outline should work for all of the reports in Library
Management.
Set up display environment.
Declare and initialize variables for user interface.
If the user chooses Clear button,
Display default values
Else if user chooses Cancel button
Move back to the previous form
Else if user chooses Submit button
Declare and initialize variables for report display.
Create file system object for use throughout the script.
Create field list from Access Reports Database schema using ADO.
Use the ADO in the session object to get any database parms needed.
Read in setup parms from request object, processing as needed.
Save parms in the session object.
Create SQL for report.
Use the ADO in the session object to perform SQL to access items to be
processed.
If there was an error executing SQL command,
Output error message
Exit script.
Write report log information out to Access Reports Database using ADO.
Do while there is still item to be processed
If database update necessary,
Write out to database.
If database write fails,
Exit while loop.
Write one record out to Access Reports Database using ADO.
Get next record from result set.
117
End While loop.
Call JasperReports to create the report output file.
If there was NO error creating report,
Launch the report in the client browser.
While there are more lines of the report to write,
Write the line out to the browser window
Else
Display the error message
Defining the Report Item Tables in an ASP
Two functions in report ASPs define tables in the Access reports database:

CreateChildTable() defines each table.

ReportTableRelation() defines how the tables are related to each other.
See the PDM.asp file for an example of table definitions and link definitions.
Report Item Table Definition
Each report item table is defined in a case in the function CreateChildTable(). Each
definition has three parts:
Allowed Records
A list of the record types in the Library Management
database used in the query of the Library Management
database
Required Columns
A list of columns that must come out of the Library
Management database to allow processing of virtual
columns and child records
SQL
Code that produces the SQL statement that will
retrieve the data from the Library Management
database to fill in the Report-Specific Table
Link Definition
The callback function ReportTableRelation() defines how the tables are linked. This
function produces a two-dimensional array containing parent-child pairs of basic
report table and report item table names.
Note: It is important to define the parent of a table before the children are
defined.
Processing Virtual Columns
In reports terminology a virtual column is one that is filled with data created by the
ASP. There are two functions that are used to process virtual columns:
118
NeedToProcessColumn()
Returns a true if this ASP knows how to process the
virtual column; otherwise returns a false
ProcessColumn()
Actually does the processing of each virtual column
Library Management Administration/Customization Guide
An example of a virtual column is the Call Number in most reports. In the Library
Management database each library decides whether the Call Number is stored in the
Copy record or the Catalog record. To simplify the report, only one field, named
Call, is in the Reports Database. The function ProcessColumn() determines where
the Call Number should come from, retrieves the value, and returns it to the calling
function.
Updating the Collections Server Database
The function UpdateDatabase() makes any necessary updates to the tlp database as
each result set is processed. The actual update does not occur until the report is
complete and the user selects the Update button on the output form.
If the report updates the tlp database, the following line must be added before the
first call to CreateChildTable():
objWtUpdt.StartTrans(TL_RPT_DISPLAY_FORM)
For an example of a report that updates the Library Management database see
CR.asp.
15.2.4 Role of the Access Reports Database
The Access reports database plays two important roles in producing a report. First,
it acts as a list of all the fields (both Collections Server and virtual) that provide data
for the report's columns or rows. Secondly, it stores the unformatted output of the
report in a format that JasperReports can read.
The Access reports database contains two types of tables: the Basic Report Table
and the Report Item Table. Each type of table is described below.
Basic Report Table
The Basic Report Table contains information common to each report produced.
Items in this table are described in Table 15-2. This table is used whenever you
search for a Report Number associated with the results from one of the previously
produced reports.
Table 15-2: Contents of the Basic Report Table Columns
Column Name
Definition
Report_Number
System-generated key
Date/Time
Date and time when the report was created
Report_Type
Name of table containing report items
User_ID
Library Management User ID
Number_Items
Number of items in report
119
Report_Title
User-entered title of report, displayed in header
Text_n
Text and labels used in the report. Setting it in the
Report_Table allows translation through the
techlib.tlt file.
Report Item Tables
The ASP contains a list of Report Item Tables, each associated with a specific
report. Items in these tables are described in Table 15-3. The ASP reads the
schema of a report from the specific Item Table(s) associated with a given report.
This allows the ASP to determine what fields need to be selected from the Library
Management database. Because of this, it is possible for users to add fields to the
JasperReports report without having to modify the ASP and without having to rerun
the report.
The Report Item Tables are used to store the data that JasperReports uses to create
the report. Each row in one of these tables represents one item in the report.
Table 15-3: Contents of the Report Item Table Columns
Column Name
Definition
Item_Number
System-generated key
Report_Number
Foreign key pointing to an item in the Basic Report
Table
Field 1
Field 2

Field N
The name format of fields that map to a Library Management field is
Techlib_record_name:Techlib_field_name
For example,
SYS_PARM:OPTIONAL_RPT_HDR
Names of the tables in the Access reports database must match the names used in
the ASPs for those tables.
Virtual fields contain data created or processed by the ASP script. For example, the
ASP script must decide when it is appropriate to get the Call Number from the
Catalog record or from the Copy record. A virtual field is used in the report table to
hold this data. For example, to refer to the call number provided by the ASP script,
use the virtual field name
120
Library Management Administration/Customization Guide
'REPORT:CALL'
There are three types of columns in the Report Item Tables. They are described in
Table 15-4.
Table 15-4: Types of Columns in Report Item Tables
Column Type
Definition
Linking Columns
Item Number is the unique key for each row in a table.
Parent Key is the foreign key to the parent table.
Columns
Any column that has a ':' in its name. The format has to
be 'TABLE:COLUMN' which defines a particular
column in the Collections Server Database.
Virtual Columns
Any column in the table, except Item Number and Parent
Key, that doesn't have a ':' in its name. If the ASP knows
how to process this column, it will fill in the appropriate
data.
Note: If the size of a given field in the Access reports database is smaller than the
size in the Collections Server database, an uninformative error message will result.
The message is "Errors Occurred," and the line number will point to a line in the
Report’s include file where the function 'AddNew' is called. Since the size of any
given field may have changed in your database, it is better to err on the large side.
Role of JasperReports
Each report has not only an .asp file containing code governing the processing of
the data to be displayed in the report but also one or many .jasper files to control
the layout and formatting of the data. The .jasper files control the appearance of the
report, what information it contains, the sort order for items in the report, and the
layout of the information on each page generated. Table 15-1 lists the .jasper files
and their respective reports.
Longevity of Browser Versions of Reports
The output file for each report that has been generated and displayed on the user's
computer is stored in the user name/jasper subdirectory of the person who
generated the report. Each of these user name subdirectories is in the
Techlib/reports/output directory. As long as the html file is available, you can open
it, redisplay it and print it via the browser.
You may want to periodically delete unwanted files from the
Techlib/reports/output/username/jasper subdirectories.
Longevity of JasperReports Versions of Reports
How long data for any generated report remains available for printing and
reformatting by JasperReports depends on the report's .asp file setting for
121
CLEAR_PREVIOUS_RESULT and on the TlReports.inc file's setting for
MAX_AGE_OF_REPORTS_MINUTES.
If CLEAR_PREVIOUS_RESULT = True, data for the report will disappear from
the Access database after the number of minutes specified for
MAX_AGE_OF_REPORTS_MINUTES.
15.2.5 Customizing JasperReports
Following is a list of customizations that you might want to perform, from most
common to least common, and the task needed:
Table 15-5: Report Customizations
Customization
Products Needed
Tasks Needed
Rearranging the format of
the report output
iReport
Edit a JasperReport .jrxml
file. Compile it to create a
.jasper file
Removing fields from the
report output
iReport
Edit a JasperReport .jrxml
file. Compile it to create a
.jasper file
Adding fields to the report
output
iReport
Microsoft Access
Text editor
Add fields to arrays in the
report's .asp file.
Add a field to a Microsoft
Access database.
Edit a JasperReport .jrxml
file. Compile it to create a
.jasper file
Modifying a report query
iReport
Edit a JasperReport .jrxml
file. Compile it to create a
.jasper file
Creating new reports
iReport
Microsoft Access
Text editor
All of the above
Example of Rearranging Report Format and Removing a Field
The Record Data Dictionary, generated from the Administration module's Reports
menu, contains information about some of the characteristics of fields in records in
the Library Management database. The report sorts data by Record Label Name
and displays the following information for each field: Label Name, Field Name,
Size, Occurs/Required, Data Type, Index Type, and Description.
Because in Library Management field label names are set in the techlib.tlt table
rather than derived from the field's LABEL parameter value, the Label Name field
is not useful. The Record Data Dictionary can be improved by sorting the data by
Record and Field Name instead of by Record and Field Label, removing the Label
122
Library Management Administration/Customization Guide
Name field, and allowing more space for the Description. Additional formatting
changes, such as starting a new page each time the field descriptions for one record
type end and another begins, can be made as detailed in the steps below.
Note: Since we do not know which version of iReport you will be using, the steps
below explain what needs to be done but not exactly how to do it. For detailed
steps, please refer to the documents under the ‘Library Management Technical Tips’
directory on the Knowledge Center at
https://knowledge.opentext.com/knowledge/llisapi.dll/open/2230427
1. Open Library Management and generate a report.
2. Make copies of the .jrxml and jasper files (located in the
BASISclient\cs\java\jasperreports\webapp\WEB-INF\reports directory) that
you plan to change and put this copy in another directory or area in case you
want to restore the format for this report to its original appearance.
3. Use iReport to open the .jrxml file containing the template for the type of
Library Management report you created in step 1.
Note: The reports associated .asp files are located in the directory
BASISclient\Techlib\reports. For the names of the reports and their
.jrxml/jasper files, see Table 15-1.
4. Preview the report. You will be prompted for the Report Number. Enter the
report number generated in step 1 and click OK. The format of the report
output can be changed by changing the preview type. Preview types must be
associated with the appropriate external program.
5. To modify the report, you may add, delete, resize or move any of the boxes on
the screen. For details on modifying reports, see the iReport documentation.
6. When you have made all the adjustments you want to make, preview it again
and examine the formatting changes in the report. If the changes are
satisfactory, save the changes and exit the report.
Note: The action of executing the report will automatically compile the report
before running it. If you do not execute the report be sure to compile it.
123
Example of Adding Fields to a Report
Shelf List, generated from the Cataloging module's Reports menu, contains title
information and item information about items with the chosen status. The report as
delivered does not contain publisher information. The following example shows
how to add the publisher and make some cosmetic changes to the report format.
Note: Because the Catalog record and its ASP and FQMA models already contain
the field for publisher (CAT.PUBL) there is no need to change the Library
Management database for this example. But if you do need to add new fields to this
database to accommodate your needs, see subsection 12.2.2 “Examples of Adding a
Field and Changing a Field-Level Help,” especially the subsection "Example 1:
Adding a Field."
1. Copy the SHLFL.asp (located in the techlib/reports directory) and
SHLFL.jrxml and SHLFL.jasper files (located in the
BASISclient\cs\java\jasperreports\webapp\WEB-INF\reports directory) and
put these copies in another directory or area in case you want to restore this
report to its original state.
2. If you do not know the name and characteristics of the field for the publisher,
run the Administration module's Record Data Dictionary report for the Catalog
record.
3. Using Notepad or a similar editor, edit the SHLFL.asp file to include the added
field in its arrays. Bold code in the following lines shows changes that need to
be made to the SHLFL.asp file:
ReDim strRequiredColumns(8)
strRequiredColumns(0)="CAT.CALL"
strRequiredColumns(1)="COPY.CALL"
strRequiredColumns(2)="COPY.LIBR_KEY"
strRequiredColumns(3)="CAT.SUBJ"
strRequiredColumns(4)="MATERIAL_TYPE.TYPE"
strRequiredColumns(5)="LIBR.CALL_NUM_LOC"
strRequiredColumns(6)="CAT.CALL_LC_SORT"
strRequiredColumns(7)="COPY.CALL_LC_SORT"
strRequiredColumns(8)="CAT.PUBL"
4. Save the SHLFL.asp file and close it.
5. Add the fields to the Access database by following steps a. through f.
a. In the Techlib/reports directory, double-click BasisReports.mdb.
b. If the Convert/Open Database dialog appears, select the default, Convert
Database, by clicking the OK button.
c. If the Convert Database Into dialog appears, save the converted .mdb file
in the Techlib/reports directory, give the file the name
BasisReportsNew.mdb, and click the Save button. The
BasisReportsNew:Database window appears.
d. Click the Tables tab.
e. In the list of tables, click ShelfList_Inven and then click the Design button.
The ShelfList_Inven:Table appears.
f.
124
In the first empty row, type the new field name, CAT:PUBL, tab to the
Data Type column and set it to Memo.
Library Management Administration/Customization Guide
Note: If any of the new fields you want to add are not Text (character) fields,
you will need to adjust the Data Type. Possible Data Types include
AutoNumber, Currency, Date/Time, Hyperlink, Lookup Wizard, Memo,
Number, OLE Object, Text, and Yes/No. For information about these data
types, pull down the Help menu and click Contents and Index. In the index,
look for data types, fields.
g. Pull down the File menu and click Save and then pull down the File menu
and click Exit.
h. Make the converted file become the BasisReports.mdb file by renaming
BasisReports.mdb as BasisReportsOld.mdb and renaming
BasisReportsNew.mdb as BasisReports.mdb.
6. Generate the Shelf List report through Library Management so the Access
database gets data for the publisher field just added. Since you have not added
this field to the report you will not see the data in the generated report. You
should make note of the report number.
7. To retrieve data for the additional field, follow steps a. through d.
a.
Open the Shelf List report (SHLFL.jrxml) with iReport.
b. Open the Report Query.
c.
Replace the $P{RptNum} with the report number you got when you ran
the report in step 6 and check the checkbox “Automatically Retrieve
Fields”. Data should be retrieved from the Access database.
d. Uncheck the “Automatically Retrieve Fields” checkbox and change the
report number in the query back to $P{RptNum} and click OK.
8. Add the publisher field and make as many of the cosmetic changes as you want.
9. Test the report by trying to Preview it. You will be prompted for the report
number (RptNum). Enter the report number from step 6 and Click OK.
10. Changes are automatically saved so you should always keep a backup of files
before making and changes.
125
15.2.6 Creating a New JasperReport
Creating a new report requires performing the following tasks:
1. Adding the name of the report to the appropriate module's reports menu.
2. Creating an .asp form containing field labels and fields or data boxes for
collecting user input for the report.
3. Adding information for the form title, instructions, and field labels to the
techlib.tlt file.
4. Creating an .asp file for the report.
5. Creating one or more tables in the Access Reports Database.
6. Creating .jrxml and .jasper files for the report via iReport.
7. Testing and making revisions until all is satisfactory.
Creating a new report may also require performing the following tasks:
1. Defining one or more new fields for a record in the tlp database and adding
them to the fqma and asp models of the tlp database.
2. Adjusting online help for the module's reports menu to include the name
and a brief description of the new report.
3. Adding the name of the online help topic of the report to the TTHELP
database.
4. Adding an online help topic for the report.
5. Adding information about the online help topic for the new form to the
HelpTopicKeys portion of the techlib.tlt file.
Some Tips for Creating New JasperReport Files
126

If possible try to create a new report by using a modified copy of an
existing .jrxml file.

If the report you want to add does not closely resemble one of the currently
developed reports, call the Open Text Support or your account manager.
Staff from our Professional Services group can assist you.
Library Management Administration/Customization Guide
15.3 Creating a Report by Using an Existing Collections Server
Procedure
15.3.1 Scope
Following is a short description of how to write a Library Management Report using
the reporting framework and an existing Collections Server proc as a template. The
major areas of the ASP for the report will be described, as well as the roles that the
Reports Database and JasperReports play in the reporting process. How to use
Microsoft Access to create the Reports Database, how to use JasperReports, and
how to read proc code will not be covered. For information about the commands
and syntax for Collections Server procs, see Command Procedures and Interactive FQM
Commands.
127
15.3.2 Definitions
128
Collections
Server
Column
Column in the Reports Database that is copied automatically from
the Collections Server database to the Reports Database without
any special processing in the Report ASP. The column name in
the Reports Database has the format 'Table:Column' where the
table and column name refer to a particular table and column in
the Collections Server Database.
Virtual
Column
Column in the Reports Database that is filled with data created by
the Report ASP page. These columns cannot have a ':' in the
name.
Callback
Function
A function in the Report ASP that is called by the Reports
Framework.
Reports
Table
A table in the Reports Database that has one entry for each report
that is executed. This table is the progenitor of all of the other
tables in the Reports Database.
ReportSpecific
Table
A table in the Reports Database that is used in one or more
reports, but not all. Alt: Any table in the Reports Database other
than the Reports Table.
Reports
Database
Access database that is used to store unformatted output from the
report. This database is filled in by the Report ASP and read by
Jasper Reports.
Report File
Report format file created by iReport. It has the extension '.jrxml'.
Reports
Framework
An include file that contains a set of functions that do much of the
processing that is common to all reports.
Report ASP
ASP that contains all report specific code, including the definition
of how to fill the Report Specific Tables in the Reports Database
and the HTML to produce the user input form.
Library Management Administration/Customization Guide
15.3.3 Reading the PROC
This section will not teach you how to read Collections Server procs but give some
suggestions of what to look for in the existing procs that will be needed in creating
the ASP report. The existing report proc will serve as a design for the ASP report.
What you will need to do is develop an ASP report that does what the proc did to
generate the report.
Text Records
Text records, stored in the tlp database, contain various messages that appear in
reports and notices.
In the proc code, pay close attention to what messages are retrieved and where they
are used while producing the report. A list of the contents of the Text records can
be found by clicking on the Administration module's Setup task's Text subtask
within Library Management.
The Text records are used to fill in one or more message columns in the Reports
Database. objTlReports.GetTextInfo() is a function written to make retrieving Text
records faster and easier. Circulation Requests Report and Recall Notices Report
are two examples of reports that use Text records.
FQM
Each report will have one or more FQM commands that are used to retrieve the
report data from the Library Management database. The code that produces the
FQM command(s) must be rewritten in VBScript to produce similar SQL
command(s).
If one query is called for each member of the result set of a previous query, then
your report may have multiple tables in the Reports Database. A table corresponds
to each nested query.
Note: You can reproduce the joins in the query using the NATIVE command of
the SELECT clause.
Notes on LIBR_KEY Columns
Most proc reports have a list of libraries passed in as a parameter. This list of
libraries is processed by another proc called QTBLKS01. Libraries are selected
using a multi-selection list box and the function
objWtDbString.GetNativeColumnOperatorValue(). See NewCopy.asp as an
example of how to process the library selection box.
Multiple Entities
Many of the reports process the libraries selected in one of two ways, depending on
the value of the field SYS_PARM.RPT_MULT_ENTITY. If this flag is set to Y,
each library is treated as a separate library. If this flag is set to N, all the libraries are
treated as one library.
129
In order to allow both types of queries in the Reports Framework, a separate table is
used to hold the library information. See PatronDetailMemo.asp as an example of
dealing with reports that incorporate this feature.
Special Columns
In the proc reports, some columns displayed are processed in a special manner.
Make note of these columns and how they are processed. They will be reproduced
later as virtual columns in the ASP reports.
15.3.4 Running a Collections Server PROC from the Library Management
Interface
Overview
An alternative to using Jasper Reports is to use Collections Server procs to generate
reports. Reports generated in TECHLIBplus were formatted by Collections Server
procs. An example has been provided to demonstrate how to run a Collections
Server proc from within the Library Management application. The example can be
accessed from the Resources module of Library Management. To set up a proc to
run from Library Management, an ASP page has to be created to gather user input,
and minor changes may have to be made to the proc code.
When the proc is run from the ASP page the following steps occur:

An ASP page is displayed to the user to gather the parameters necessary to run
the proc.

When the user clicks the Submit button, the ASP page checks the parameters
for correct data types and to be sure that required fields are filled in. The data is
then stored in two data dictionaries, one for PROC global variables and one for
proc command line variables, and sent to the TlProcs.inc file for further
processing.

The TlProcs.inc file creates a batch (or script) file capable of running on the
Library Management database server. The file is then copied to the Library
Management database server and executed.

A message is returned telling the user that the proc was copied and launched
successfully on the server. The message does not indicate whether the proc ran
correctly.

The user then must access the server to access the output of the proc.
Creating the ASP page
The ASP page to launch a proc is made up of four sections.
The first three sections are page initialization and input parameter checking and
HTML/ASP that displays the form to the user. These three sections are almost
identical to the new Library Management reports, except for the processing after the
parameter checking. Instead of calling TlRptInitializeReport, CreateChildTable and
TlRptOutputReportFile, the function FormatData is called.
130
Library Management Administration/Customization Guide
The fourth section is the function FormatData. This function gathers the
parameters needed to run the proc from the ASP environment. The parameters
needed, and whether each one needs to be single or triple quoted, can be
determined by examining the proc to be executed, and by a little experimenting at
the FQM command prompt.
Once all of the parameters are validated, and placed in the data dictionaries they are
passed to the TlProcs.inc function TlProcLaunchReport that performs all of the
platform specific processing.
Before running the report, the Batch Utility Options directories need to be setup in
the Administration Module System Settings task.
Testing
For testing purposes there is a constant, VERBOSE_FLG, near the top of the
TlProcs.inc file. When VERBOSE_FLG is set to True, each command in the proc
is written to the log file. This is useful when trying to track down syntax errors in
the proc caused by not having the correct number of quotes around a proc variable.
131
Chapter 16
Customizing Help Topics
Field-level help is derived from the tlp DDB. Tooltips, text displayed when the
cursor hovers over an icon or a button within the application, is stored in the
techlib.tlt file. All other online help is stored as topics in the tlphelp database. The
topics are contained in Topic records, and their embedded figures are stored in
HTML_object records.
There are two ways to modify help topics:

You can make minor modifications to the online help through the Help Update
feature in the Administration module. For more information about updating the
online help using the Administration module, see section 16.7 “Modifying Help
Topics Using the Administration Module.”

If your site has a license to use Open Text Collections Server Webtop, you can
use this product to check out topics and their embedded graphics or figures
from the tlphelp database, change them, and check them back into the database.
For information about how to customize and use Collections Server Webtop
for checking topics into and out of a Collections Server database such as the
tlphelp database, see the Webtop online help.
This chapter provides an overview of the architecture of the Library Management
help topics system and provides background for adding and revising topics and
localizing the help topics.
Note:
As delivered, the Collections Server Authority database sets the tlphelp
database to be ReadOnly. This provides improved access efficiency.
Before you can customize Help topics, use the DMSA module's ASSIGN
command to set the readonly parameter to no. For example,
=> dmsa uid=sauid, pw=xxxxxx
dmsa> assign tlphelp, readonly=no
You can also use Web Administrator’s Admin menu  Show/Databases
 click Update for tlphelp  Readonly=No and click Update button.
132
Library Management Administration/Customization Guide
16.1 Overview of Help Topics Relationships and Navigation
Thesaurus Terms
or
Index Terms
or
Field Information
Field Information
Definition: Text Text
Size: Text Text Text
Index: Text Text Text
Help Topic title
Text Text Text Text Text Text
Text Text Text Text Text Text
Browses help topics thesaurus, tthelp,
for Titles where Manual_Code equals
the module currently open in the
application. The Titles that are
displayed on the Table of Contents
form comprise a hierarchical list of links
to topics.
General Help
Enter a word or phrase
Table of Contents
x x x x Module
Working with x x x
Adding x x x x x x
Updating x x x x x
....
Text Text Text Text Text
Text Text Text Text Text
authority
Browses help topics thesaurus,
tthelp, for Keywords that match
lookup value(s). Topics are all links
to various topics.
x x x x Module
Text Text Text Text Text
Text Text Text Text Text
Topics
Topic 1
Topic 2
Topic 3
Keywords
Keyworda, keywordb,
Keyword phrase,
Keywordd, …
Displays complete Table of Contents
Table of Contents
General Help
Add
Advanced Search
Copyright and Proprietary Rights
Glossary
ABCDEFGHIJKLMNO ...
A
AACR2 (Anglo-American Cataloging
Rules, 2nd edition)
Figure 16-1: Workflow linkages for the help topics system
133
As illustrated in Figure 16-1, help topic links reside in a variety of locations:

module overview topics accessed by the Overview button in the taskbar

module table of contents accessed by the Topics button in the taskbar

help icons on ASP forms and on Field Information forms

links within a topic to its subtopics

links from a topic to other topics or to subtopics in other topics, for example,
to an entry in the glossary

Search icon in help topics
Within the help topics system, users can navigate to other portions of the system
and perform help topic searches by using icons and button in the toolbar. Table 161 describes what the icons and button do.
Table 16-1: Help topics icons
134
Icon/Button
Description
Search icon
Opens the topics search form and performs a search
of the topics in the help topics system.
Table of Contents icon
Displays the table of contents for the entire set of
help topics.
Glossary icon
Opens the Glossary topic. This topic lists terms and
their definitions.
Back icon
Takes the user back to the form previously viewed.
Help icon
Opens the General Help topic, which provides a
high-level description of the topic help system.
Close button
Closes the help topic window.
Library Management Administration/Customization Guide
16.2 The Help Topics Search and Search Summary Forms
Figure 16-2 displays the search form that appears when a user clicks the Search icon
within the help topics system, and Figure 16-3 displays a help topics search
summary form.
Figure 16-2: Help topics search form
135
Figure 16-3: Help topics search summary form
136
Library Management Administration/Customization Guide
Notice that although the search term was "criterion," the word "criterion" does not
appear under either the Topics column or the Keywords column. The word does,
however, appear within the text of the topics listed.
According to the logic built into the help topics search, the system first looks for the
search term or terms among the topic titles. For all matches, it lists the titles and
their keywords. If the system finds no matches among the titles, it searches among
the keywords. For all matches, it lists all of the keywords their titles. If the system
finds no matches among titles or keywords, it searches the full text of all of the
topics and lists the titles and keywords of topics containing the search term. If the
search term is a phrase rather than a single word, the full text is searched first for an
exact match of the phrase. If it finds no exact match, it searches for topics that
contain any of the words within the phrase. For all matches, the system lists titles
and their keywords.
Notice that in the search summary form all titles and keywords and keyword phases
are identified as links. Users can click on any of the titles to display its help topic or
click on any of the keywords or phases to perform a new search of help topics by
using that as the search term.
16.3 The Help Topics Thesauri
Supporting the help topics search capability and the table of contents forms are two
help topics thesauri: a Titles thesaurus of topic titles and a Keywrds thesaurus of
keywords and phrases. The Titles thesaurus is associated with the Title field in the
tlphelp database, and the Keywrds thesaurus is associated with the Keywords field
in the tlphelp database. Both thesauri reside in the tthelp thesaurus database.
Before a topic can be added to the tlphelp database, its title must be included in the
appropriate place within the Titles thesaurus, and its keywords and keyword phrases
must be included in the Keywrds thesaurus.
16.3.1 Titles Thesaurus
The Titles thesaurus, associated with the TOPIC.TITLE field, is used to build the
table of contents for the entire application and tables of contents for each of the
modules. A copy of it is in “Appendix A: Titles Thesaurus.”
16.3.2 Keywrds Thesaurus
The Keywrds thesaurus, associated with the TOPIC.KEYWORDS field, lists each
keyword and keyword phrase as a lead term. It ensures consistency in terminology
and serves as an online index to the help topics.
Below are the beginning and end of the Keywrds thesaurus. Though it's not
necessary that the entries be in alphabetical order, its being so ordered helps prevent
duplicate entries.
BEGIN_LAYOUT
FORMAT=TEMPLATE
ACTION_CODE=(91:93)
REL_TYPE=(1:2)
TERM=(5:70)
ANNOTATE=(74:76)
137
RECIP_ANNOT=(77:79)
TERM_TAG=(80:85)
EDIT_SUB_ACTION=(86:90)
END_LAYOUT
<<<
BEGIN_REL THES_NAME=KEYWRDS
<<<
<<<
1
2
3
4
5
6
<<<456789012345678901234567890123456789012345678901234567890
<<<
LT acquisitions address
LT add
LT Add Import Rule form
LT Add Mapping form
LT adding a Patron record
. . .
. . .
. . .
LT working with Copy records
LT working with MARC records
END_REL
16.3.3 Revising Thesauri using Bulk Updates
To add terms to and/or revise terms in the Keywrds and Titles thesauri, you can use
either Thesaurus Manager on the Collections Server or Webtop TM. For bulk
updating using Thesaurus Manager, perform the following steps.
Note: The steps below can be performed on a Windows server. If the server
where Library Management resides is UNIX, you can use Thesaurus Manager in
screen mode. Web Administrator can also be used to perform system
administration (DMSA) tasks.
1. Make sure that you have exclusive access to the tthelp database and that no
users are using Library Management. You can use the DMSA
SHOW/SIGNONS command to do this.
dmsa uid=sauid upw=xxxxxxxx aids=no
DMSA> show/signon k=1
If you need to disconnect users from the application, you can use the command:
DMSA> disconnect kernel=1 db=tthelp
For information about the DMSA SHOW/SIGNONS and DISCONNECT
commands, see System Administration "DMSA Module."
For information about using the Collections Server Web Administrator refer to
the online help.
2. On the server where Library Management resides, using a Collections Server
command prompt, go to the subdirectory that contains the tthelp database (for
example, BASISserver10.3\dmk\db\tthelp).
3. Produce a copy of the data in the Keywrds and Titles thesauri by entering the
following command:
138
Library Management Administration/Customization Guide
dmtm uid=sauid upw=xxxxxxxx action=dump db=tthelp
mode=statement put=terms.txt
4. Make a backup copy of the terms.txt file.
5. Edit the terms.txt file by opening it via an editor such as Notepad and inserting
the titles and keywords that you want to add. Because the dumped file contains
the thesauri in FREE format, the hierarchical relationships of the Titles
thesaurus will be converted to lead term (LT) and narrower term (NT)
statements. You will need to add each new title not only as a lead term but also
as a narrower term located beneath the term for which it is a subtopic. For
more information about inserting reciprocals for titles, see Thesaurus, "Entering
Thesaurus Terms," and its subtopics.
If you revise or delete titles and/or keywords, you will need to make
corresponding adjustments to the help topics (see 16.4.1 "Checking Out and
Modifying a Help Topic" and 16.4.2 "Checking In a Help Topic").
6. Produce a copy of the database definitions for the Titles and Keywrds thesauri
by entering the following command:
dmtm uid=sauid upw=xxxxxxxx action=extract db=tthelp
mode=statement put=tdl.txt
7. Delete the existing thesaurus database by entering the following command:
dmtm uid=sauid upw=xxxxxxxx action=erase db=tthelp
8. Recreate the thesaurus database by entering the command:
dmtm uid=sauid upw=xxxxxxxx action=define define_mode=create
db=tthelp apply_if_ok=yes get=tdl.out
You will need to specify the following files locations and names and for the
database thesaurus file and files for journal a and journal b:
\BASISserver10.3\dmk\db\tthelp\tdb
\BASISserver10.3\dmk\db\tthelp\tja
\BASISserver10.3\dmk\db\tthelp\tjb
9. Update the terms in the thesauri by entering the following command:
dmtm uid=sauid upw=xxxxxxxx action=update stats=yes db=tthelp
mode=statement reject=rej.out get=terms.txt output=err.out
Because you will have loaded both terms and their reciprocals in the Titles
thesaurus, warnings about duplicate Titles will appear in log files when the
terms are reloaded, but you can ignore those warning messages.
10. Review the err.out and rej.out files for errors. If there are errors, delete all of
the .out files, and repeat steps 5 through 10 until all is well.
11. Delete all output files created by the dmtm commands: terms.txt, tdl.out,
rej.out, and err.out. This is necessary in order to run the dmtm commands the
next time you want to update your thesauri.
For more information about the tm or dmtm command, see Thesaurus, "TM
Thesaurus Manager."
139
16.4 The Help Topics Database
The help topics reside in the tlphelp database. The UDM for the tlphelp contains
an All model with a Topic view and an HTML_Objects view. If your site has a
license to use Open Text Collections Server Webtop, you can use this product to
check out topics and their embedded graphics or figures from the tlphelp database,
change them, and check them back into the database.
16.4.1 Checking Out and Modifying a Help Topic using Webtop
You can view and check out help topics in the tlphelp database using Collections
Server Webtop by doing the following:
1. Open a browser and connect to the database using the following Collections
Server Webtop URL:
http://server:port/Webtop/ws/tlphelp/all/topic
where server is the name of the server where Webtop is running and port is the
port on which Webtop listens for requests.
2. In the Webtop Go to menu, click Search.
3. To retrieve the topic with which you want to work, enter search term(s) in one
or more of the boxes on the Search page, and then click the Search button.
Help topics are displayed in a result set.
4. Click a help topic name to view it.
Note: Images embedded in help topics are not displayed when viewed in
Webtop.
5. In the Functions menu, click Edit Record.
6. In the Functions menu, click Checkout.
7. In the Functions menu, click Download Object.
The record is displayed in the browser.
8. Right-mouse click in the body text of the record, and then click View Source.
The help topic source file is displayed in a file.
9. Save the file as a text file (*.txt).
Important: You must save the page source as the help file source. Do not save
the HTML file from the browser as the source file (for example, by clicking
Save As on the browser File menu). If you attempt to use the HTML file
displayed in the browser as your help topic source file, it will not contain critical
information required by the help system.
10. Revise the source file using a text-based editor, such as Microsoft Notepad.
Do not use Microsoft FrontPage, Word, or other editors that may add hidden
formatting code or other additional information to the file.
140
Library Management Administration/Customization Guide
11. Save your changes, and then close the file.
12. Change the help file’s text extension to an HTML extension (*.html).
16.4.2 Checking In a Help Topic using Webtop
After you modify the help topic source file, you can check in the topic by doing the
following:
1. Open a browser and connect to the database using the following Collections
Server Webtop URL:
http://server:port/Webtop/ws/tlphelp/all/topic
where server is the name of the server where Webtop is running and port is the
port on which Webtop listens for requests.
2. In the Webtop Go to menu, click Search.
3. On the Search page, to retrieve the topic with which you want to work, enter
search term(s) in one or more of the boxes on the Search page, and then click
the Search button.
Help topics are displayed in a result set.
4. On the Result Set page, click the help topic name to view it.
5. On the Record page, in the Functions menu, click Edit Record.
6. On the Edit Record page, in the Text field, click the Browse button and select
the modified source file.
7. In the Version field, click Replace Record, and then click the Checkin
button.
WARNING: For topics existing in the delivered version of the database, the
Manual Code and Topic ID values (concatenated to form the virtual field value
of Topic_Key) must not be changed; otherwise, the existing references to these
topics in the application will no longer function.
141
Table 16-2: Fields on the Check In dialog for Library Management help
topics
142
Field
Description
Manual Code
3-character code, all upper case, controlled by code list:
ACQ
Acquisitions
ADM
Administration
CAT
Cataloging
CIR
Circulation
DBA
Customization/Database Administration
GEN
General Help
RES
Resources
SER
Serials
Title
Topic title that is display as the main heading for the topic (for
example, Searching for a Catalog Record)
Topic ID
Name of the .asp file. Code that uniquely identifies the topic.
Must be 12 characters or less, all uppercase (for example,
CATSRCH).
TOC Flag
Valid values are Y or N indicating whether or not the title is to
appear in any tables of contents. If Y, the Title must be in the
Titles thesaurus. If the topic Title has not yet been added to
the thesaurus, a N value for the TOC Flag will let you check in
the topic to the database. After the Title has been added to the
thesaurus, you can check out the topic, change the TOC Flag to
Y, and check it back in.
Comments
Optional comments about the topic, perhaps recording its
history of revisions.
Keywords
Words and phrases that identify the topic and serve as an online
form of a "back-of-the-book" index. Used to facilitate search
and retrieval of the topics. Put each keyword or keyword
phrase on a separate line. Multi-occurring (0:50) field of up to
100 characters each with inclusive index. Because this field is
regulated by the Keywrds thesaurus, each keyword or phrase
entered in this field must be in this thesaurus or the record will
be rejected. Via a search control set, search terms are raised to
all uppercase so that user searches do not need to distinguish
between upper- and lowercase letters.
Filename
Full path and name of the asp file containing the help topic
Library Management Administration/Customization Guide
Field
Description
Pin dialog
If you would like the Check In dialog to remain open after you
check in this topic, then click the Pin dialog box. This is
especially helpful when you are adding many topics in
succession.
Table 16-3: Other Topic fields that appear on the Find dialog
Field
Description
Title Key
Unique field formed by the concatenation of the Manual
Code, a hyphen, and the Title. This field is indexed by a
Unique index. The value is set whenever the record is put into
the database. It can be up to 104 characters. (for example,
CAT-Searching for a Catalog Record)
Manual_Name
Full name associated with each Manual Code in a code list (for
example, Cataloging Module)
Related Object
Link
System-generated value used to link the Topic to any
HTML_object records. Each HTML_object record contains
an image called from within a topic.
Topic Key
Unique primary key for each topic. Is a concatenation of
Manual Code, a "-", and the Topic ID. It is between 5 and 16
characters because the Manual_Code is 3 characters and the
Topic_ID is up to 12 characters (for example, CATCATSRCH.
Date Added
System-generated date field holding the date when the topic
was first added to the database.
Date Revised
System-generated date field holding the date when the topic
was last revised.
TOC Title
When the TOC_Flag field is set to Y, this field contains the
concatenation of the Manual Code, a hyphen, and the Title.
This field is indexed by a Unique index.
Mime Type
System-generated character field holding the type of topic
format (always set to text/html).
143
Field
Description
Text
Content of the topic in HTML format. Do not include the
topic title as an introductory heading. You may add the topic
title between the <title> </title> tags. Indexed by an
Inclusive index. Default search test is PHRASE IS. In the
database the original HTML topics are stored as a Binary
Large Object (BLOB).
16.5 Understanding Syntax in ASPs for Help Topics
If you want to revise any of the help topics or add help topics for new forms that
you develop, you will need to familiarize yourself with the syntax used in help topic
ASPs. These ASP files are not among those in the Techlib directory and its
subdirectories but instead reside in the tlphelp database. To learn which help topic
is associated with which form, consult the HelpTopicKeys section of the techlib.tlt
file.
As described below, the syntax for links differs slightly from that of standard
HTML. Especially if you develop your topics using Microsoft FrontPage, which we
do not recommend, you will need to perform some clean-up of tags that FrontPage
generates before you check in topics using Collections Server Webtop. As in other
customizations, the easiest way to proceed is to check out a copy of a topic similar
to one you want to add and then change it to describe the new topic you want to
check in.
16.5.1 Linking Topics Together
The syntax used to reference each topic within the help topics system is as follows:
To link to another topic, use:
<a href="TOPIC_KEY=MAN-TOPICID">General Help</a> explains...
where MAN is the 3-character manual/module code and TOPICID is the 1- to 12character Topic ID, which is the same as the .asp file name for the help topic. For
example,
<a href="TOPIC_KEY=CIR-CIRMOD">Circulation</a> enables ....
To link to a specific point within the same topic, use:
<a href="#Tagname">text text text</a> explains...
where #Tagname is a name unique among tag names in the topic.
For example, the calling part of the link could resemble this:
<a href="#Quitting">shuts down</a> the application....
And the called part of the link within the topic could resemble this:
144
Library Management Administration/Customization Guide
<a name="Quitting"><font face="Arial">Quitting the
Application</font></a>
If appropriate, other valid parameters on the anchor tags may be used. The syntax
of anchor tags is case sensitive.
To link to a specific point within another topic, use:
<a href="TOPIC_KEY=MAN-TOPICID,ANCHOR=anchorname">text
</a> explains...
where MAN is the 3-character manual/module code, TOPICID is the 1- to 12character Topic ID, and anchorname is the anchor name.
For example, the calling part of the link could resemble this:
<a href="TOPIC_KEY=GEN-GLOSSARY,ANCHOR=holdings">holdings</a>
....
And the called part of the link within the other topic could resemble this:
<a name="holdings">holdings</a>
If appropriate, other valid parameters on the anchor tags may be used. The syntax
of anchor tags is case sensitive.
16.5.2 Referencing Database Objects (Figures) within a Topic
Each topic may include one or more references to an object such as a figure or
graphic. References to an object (stored in the <tlphelp.all>html_objects database)
use the following syntax:
<img src="/OBJECT_KEY=MAN-TOPICID_TOPICID9">
where MAN is the 3-character manual/module code, TOPICID is the 1- to 12character Topic ID, TOPICID is the Topic ID again, and 9 is the sequence number
for the object in the topic, the first object being 1, the second being 2, etc. For
example:
<img src="/OBJECT_KEY=GEN-HELP_HELP1">
The actual object key name included within a reference must be in all capital letters.
The "/" preceding OBJECT_KEY is required. If appropriate, other valid
parameters on the image tag may be used.
16.5.3 Referencing File Objects (Buttons and Icons) within a Topic
Each topic may include one or more references to graphics such as buttons and
icons that are delivered as part of the Library Management application. References
to objects must use the following syntax:
<img src="filepathandname">
where filepathandname is the name of the Techlib subdirectory or subdirectories and
name of the file. For more information about the directory structure and contents
of Library Management, see Chapter 7 "Directory Structure." Some examples:
145
<img src="images/login_image.gif">
<img src="toolbar/icons/update_off.gif">
<img src="toolbar/buttons/search_off.gif">
If appropriate, other valid parameters on the image tag may be used.
16.5.4 Making Syntax Adjustments Before Checking Topics into the
Database
Note: Database objects loaded in the HTML_Objects records may be checked out
and edited; note, however, that the header information for these objects must not
be changed. New objects may be added to the database.
File objects such as images not loaded in the HTML_Objects records are delivered
with and used by the Library Management application. Review the customization
material on these application files to determine how to change them. If the content
of those files is changed, the new contents of the files will automatically be
presented when the topic help system displays topics referring to them.
The topics were created using Microsoft FrontPage. Though they may be edited in
FrontPage, Notepad or Microsoft Visual Studio, editing in FrontPage is not
recommended. Be very careful when editing any of the delivered topics so as to not
inadvertently edit links or other references within the HTML. Note also that in the
display of the topics when they are being edited, the database and file objects
referred to in the HTML topics will not be presented since the editor will not be
able to resolve these external references.
Upon saving the edited file, note that special HTML editors like FrontPage may
perform unintended edits to the HTML text, causing errors when the HTML is
presented in the help system or checked in using Collections Server Webtop. This
has occurred particularly when the HTML editor within FrontPage is used because
it reformats the HTML text when the editor presents it for editing. We have
discovered that the following clean up tasks may be required to be completed in
Notepad before checking the file into the database:
1. Delete each "../" at the beginning of each file reference such as in img src
tags.
2. Wherever there is <img at the end of a line, make the line break before <img
so that the next line begins <img src=
3. Path names must be lowercase, so
replace all TOOLBAR/ICONS with toolbar/icons
and replace all TOOLBAR/BUTTONS with toolbar/buttons
and replace all /SUBTASK with /subtask
(If there are others, lowercase them also.)
After checking the new or edited topic in the database, verify that it is correct
by displaying it within the topic help system.
16.5.5 Displaying Topic Content
In ASPs the function TlGenTopicHelp(strHelpType,strTopicKey,strLocalAnchor)
makes calls to the topic help system (the tlphelp database) in much the same manner
as the TlGenFieldHelp function makes calls to the tlp Definition Database. The
146
Library Management Administration/Customization Guide
function returns the contents of an HREF, opening the topic help ASP (by calling
the PopupWindow Java Script function) and passing the appropriate parameters so
that the help for the requested topic can be queried from the database and
displayed.
An example of usage of this function call within an ASP file is
<a href=<%=TlGenTopicHelp (TH_TOPIC, "GEN-FIELDINFO", "")%>>
to display the topic help for the Field Information topic.
In the above code, "GEN-FIELDINFO" is the topic key. All of the topic help keys
are listed in the HelpTopicKeys section of the translate file (techlib.tlt), where they
are associated with names and are used to link the topic to the help icon for the
appropriate ASP form.
All of the topic help is implemented in the ToolbarJS.inc and menu.asp files. The
topic help forms by themselves are th*.asp.
If you want to display the following, set the parameters in the function call as
follows (you can refer to the quoted examples and do only those).
Display
Forms
Search Form
Table of
Contents
strHelpType
strTopicKey
StrLocalAnchor
Example Forms
TH_SEARCH
TH_TOC
<Empty>
<Empty>
*
*
Topic Help
TH_TOPIC
"TopicKey"
<Empty>
<Empty> for full TOC
"TocTitle" for module
TOC
<Empty> for General
Help
"AnchorTag" for positional
display
**
Field Help
(TlHelpToolbarJS)
Catalog Search
(TlMaintToolbarJS)
* This help is invoked only from within Topic Help forms (see Figure 16-1).
** This help is invoked only from the "Topics" or "Overview" link in the taskbar
(see Figure 16-1).
When there is a need to display only a part of TOC or when a help topic is to be
displayed beginning from somewhere within the topic (instead of starting at the
top), then the strLocalAnchor parameter is used for positional display.
147
16.6 Localizing and Customizing Topic Content
The following subsections provide some guidelines for the localization and
customization of the help topics.
16.6.1. Topic Content
The product includes a database containing the help topics, tlphelp, and a help topic
thesaurus, tthelp, in English. The database definitions are described below. Users
wishing to create versions in other languages must make a copy of these databases
to store the translated versions of the topics (tlphfra and tthfra, respectively). The
names of the databases are not important other than when it comes to defining the
ODBC data source.
We recommend the use of Collections Server Webtop to check out and check in the
delivered topics for editing, with HTML Processing and converter
SYS_BLOB_SOFT_INDIRECT selected on the Database Preferences screen.
New topics and database objects may also be added to the database.
IMPORTANT: We do not recommend deleting any of the delivered topics or
database objects.
As delivered, the help topics database will be set to Read_Only in the Authority
Database. This will provide better access efficiency. Sites wishing to customize
their version of the help topics database can do so by setting ReadOnly=NO on the
ASSIGN command in DMSA or by using Web Administrator  Admin 
Show/Databases to change the ReadOnly setting.
16.7 Modifying Help Topics Using the Administration Module
The Update Help feature in the Administration module allows users (who have been
granted permission) to checkout, modify, and check in online help topics. This
feature is intended to provide a quick and simple way for users to modify online
help text in the help database and fields associated with each record (specifically, the
Comments field).
Important: The update help feature is intended to allow users to modify the Library
Management help page descriptions. Open Text strongly recommends that users
limit your updates to text and make your changes within the context of the
application. For example, if users attempt to make major appearance modifications,
such as adding new images, including JavaScript functions, or other features not
currently used in the application, the modifications may not function as expected
and could prevent the help page from being accessible.
148
Library Management Administration/Customization Guide
Users who want to modify a help topic using the Update Help feature use the
following general procedure:

Navigate to the Update Help feature in the Administration module.

Search for and open the help topic to be modified.

Export (check out) the help topic. The help topic is checked out to a location
on the server running Library Management. For more information about
exported help topics, see section 16.7.1 “Exporting and Importing Help
Topics” below.

Edit the help topic using a text editor, such as Microsoft Notepad.

Return the modified help file to the location on the server where the file was
exported.

Return to the Update Help feature and then locate and open the help topic.

Import (check in) the modified help topic.
For more information about and procedures that explain how to modify help topics,
see “Updating Help Topics” in the Library Management Online Help.
16.7.1 Exporting and Importing Help Topics
Each time a user exports a help topic, the help topic is checked out to a file
BASISclient\Techlib\tmp\module-topic_key.dat where BASISclient\Techlib is the
Library Management installation directory, module is the application module identifier
(for example, Administration help topics use ADM), and topic-key is a unique name
used to identify the help topic in the database and in context sensitive help links.
Important: The help topic file name is required when the user wants to import the
modified file, so it cannot be modified.
An exported help file is locked so that no other user can modify the file until it is
imported. If a user decides not to modify a help topic after checking it out, the user
can cancel the checkout and the lock on the file is removed.
After a help topic has been modified, the user must return the modified file to the
directory where it was exported, and then return to the Update Help feature to
import it.
16.7.1.1 Making Exported Help Topics Available to Users
Exported (checked out) help topics are always placed on the Library Management
server. If a user has permission to modify a help topic, the user must also have some
way to access the exported help file on the server. For example, you can share the
Library Management tmp directory. Sharing a drive means that other users on a
network can access and modify files in the directory. After you share a directory,
users can create a mapping to the shared drive. Mapping a drive makes a shared
computer or directory appear as an easily accessible drive on the user’s computer.
149
Important: You must use caution when sharing computers or drives. If you share a
computer or drive improperly, you may allow unauthorized users access to the
computer or data. Open Text strongly recommends that you refer to the Windows
documentation about sharing and mapping drives and work with your information
technology support staff if you want to share a computer or directory.
16.7.2 Administering Update Help Topics Access
The system administrator can control which users have permission to modify help
topics. To allow a user to modify help topics using the Update Help feature in the
Administration module, enable the Help Topics Update access option in the
Administrative Access section of the user’s Staff Security record. For more
information about modifying user permissions, see “Defining Staff Security” in the
Library Management online help.
150
Library Management Administration/Customization Guide
Chapter 17
Batch Delete Procedures
Library Management includes batch delete procedures (procs) that allow you to
quickly delete the following types of Library Management records:

Invoice records

Prediction records

Order records

Subscription records
Open Text prefers you to run the procs from the Library Management
Administration module, but you can also run them from a Collections Server
command prompt. When you run a batch delete proc, the proc creates in the same
directory as the proc output a log file that records the actions it performs.
Warning:
Open Text recommends that you use caution when using the
Library Management batch delete procedures.
Windows 2003 Note: The Windows/system32/cmd.exe ACL must include the
DMPROD user account for read and execute permission. This
setting allows the Library Management application to run a
command to start the proc script.
The System Settings (SYS_PARM record) contain two fields that affect batch
processing. BASIS_PATH contains the complete pathname to the Collections
Server bin directory (drive:\BASISserver10.3\dm\bin) and PROC_PATH contains
the complete pathname to the Collections Server procedure working directory (for
example, drive:\temp).
17.1 Delete Invoice Records (INVDEL.PRC)
The Delete Invoice proc, INVDEL.PRC, finds and deletes Invoice records that
meet all of the following criteria:

The Invoice record’s add date (ADD_DT) is in a specified date range.
151

The Invoice record type (INVOICE_TYPE) is STD and/or SALES and/or
RNEW and/or MISC and/or CRDT.

The Invoice record should not have Acquisition (ACQ) records associated with
it.
Warning:
You cannot restrict processing to a specified library.
Open Text recommends that you run the Delete Invoice proc after the Delete
Order procedure. The Delete Order proc purges ACQ records, and makes it
possible to for the Delete Invoice proc to find Invoice records without associated
Acquisition records.
Parameters
The Delete Invoice proc accepts the following parameters:

CREDIT - Credit Invoices are deleted if value is 1.

MISCELLANEOUS - Miscellaneous Invoices are deleted if value is 1.

RENEW - Renew Invoices are deleted if value is 1.

SALES - Sales Invoices are deleted if value is 1.

STANDARD - Standard Invoices are deleted if value is 1.
For example, the following sample input file, invdel.inp, demonstrates how to set
the parameters and output so that the proc deletes Sales invoices created between
January 1, 2008 and January 1, 2009:
Set/gv START_ADD_DT='''01/01/2008'''
Set/gv END_ADD_DT='''01/01/2009'''
Set/gv CREDIT=0
Set/gv MISCELLANEOUS=0
Set/gv RENEW=0
Set/gv SALES=1
Set/gv STANDARD=0
@%BASIS_DB%\src\tlp\prc\batchdel\invdel OUTPUT='PRINT'
exit
You can execute the proc in FQM using the following command:
dmfqm uid=sauid upw=saupw db=TLP.ASP aids=no input=invdel.inp
The proc output log file, invdel.log, is created in PROC_PATH.
17.2 Delete Order Records (PODEL.PRC)
The Delete Order proc, PODEL.PRC, finds and deletes Order records that meet all
of the following criteria:
152

The Order record date (PO_ORDER_DT) is in a specified date range.

The Order record status (PO_STATUS) is CLOSED and/or CANCELLED
and/or VOID.
Library Management Administration/Customization Guide

The Order record type (DOC_TYPE) is BK and/or ILL, and/or MEMB,
and/or RPT, and/or SUBS.

Acquisition (ACQ) records associated with the Order record are associated with
a specified library/location.
Warning:
If an Order record contains requests from your specified library
and another library, the other library requests will be deleted with
yours.
Warning:
This proc leaves incomplete invoices because requests are deleted.
If your site does not use Serials, any Subscription records with a
key (SUB_KEY) in the Acquisition (ACQ) record being deleted
will also be deleted.
Open Text recommends that you run the Delete Invoice proc after the Delete
Order proc. The Delete Order proc purges ACQ records, and makes it possible to
for the Delete Invoice proc to find Invoice records without associated Acquisition
records.
Parameters
The Delete Order proc accepts the following parameters:

PO_ORDER_START_DT and PO_ORDER_END_DT - Specifies a date
range for the order date.

STATUS_CLOSED - Closed Orders are deleted if value is 1.

STATUS_CANCELLED - Cancelled Orders are deleted if value is 1.

STATUS_VOID - Voided Orders are deleted if value is 1.

INTERLIBRARY_LOAN - ILL Orders are deleted if value is 1.

MEMBERSHIP - MEMB Orders are deleted if value is 1.

REGULAR - BK Orders are deleted if value is 1.

REPORT- RPT Orders are deleted if value is 1.

SUBSCRIPTION - Subscription Orders are deleted if value is 1.

LIBR_KEY - The library or libraries who will have their Orders deleted.

SUB_EXISTS - If the value is 1 the Serials module exists.
For example, the following sample input file, podel.inp, demonstrates how to set the
parameters and output so that the proc deletes closed, interlibrary loan, and
subscription Order records created between January 1, 2008 and January 1, 2009:
Set/gv PO_ORDER_START_DT='''01/01/2008'''
Set/gv PO_ORDER_END_DT='''01/01/2009'''
153
Set/gv STATUS_CLOSED=1
Set/gv STATUS_CANCELLED=0
Set/gv STATUS_VOID=0
Set/gv INTERLIBRARY_LOAN=1
Set/gv MEMBERSHIP=1
Set/gv REGULAR=0
Set/gv REPORT=0
Set/gv SUBSCRIPTION=0
Set/gv LIBR_KEY='''''OT COLS'''''
Set/gv SUB_EXISTS=1
@%BASIS_DB%\src\tlp\prc\batchdel\podel OUTPUT='PRINT'
exit
You can execute the proc in FQM using the following command:
dmfqm uid=sauid upw=saupw db=TLP.ASP aids=no input=podel.inp
The proc output log file, podel.log, is created in PROC_PATH.
17.3 Delete Prediction Records (PREDDEL.PRC)
The Delete Predictions proc, PREDDEL.PRC, finds and deletes Prediction records
that meet all of the following criteria:

The Prediction record date (ISSUE_DT) is in a specified date range

The selected status (Received, Missing).

The Prediction record’s library (LIBR_KEY) is associated with the specified
library or location.
Note:
Multiple copies of a title are managed in a single Prediction record,
so when you delete a record the proc deletes reference to all copies.
Parameters
The Delete Predictions proc accepts the following parameters:

START_ISSUE_DT and END_ISSUE_DT - Provides a date range for the
issues to delete.

STATUS_RECEIVED - Received issues are deleted if value is 1.

STATUS_MISSING - Missing issues are deleted if value is 1.

LIBR_KEY - The library or libraries whose PRED records you want to
delete.
For example, the following sample input file, preddel.inp, demonstrates how to set
the parameters and output so that the proc deletes missing issues created between
January 1, 2008 and January 1, 2009:
Set/gv START_ISSUE_DT='''01/01/2008'''
Set/gv END_ISSUE_DT='''01/01/2009'''
Set/gv STATUS_RECEIVED=0
Set/gv STATUS_MISSING=1
154
Library Management Administration/Customization Guide
Set/gv LIBR_KEY='''''OT COLS'''''
@%BASIS_DB%\src\tlp\prc\batchdel\preddel OUTPUT='PRINT'
exit
You can execute the proc in FQM using the following command:
dmfqm uid=sauid upw=saupw db=TLP.ASP aids=no input=preddel.inp
The proc output log file, preddel.log, is created in PROC_PATH.
17.4 Delete Subscription Records (SUBDEL.PRC)
The SUBDEL.PRC proc finds and deletes Subscription records that meet all of the
following criteria:

The Subscription record’s expiration date (EXP_DT) is in a specified date
range.

The Subscription record’s library (LIBR_KEY) is associated with the specified
library or location.
Note:
If your site does not use Acquisitions (ACQ) records, the proc
deletes the associated ACQ records.
Parameters
The Delete Subscriptions proc accepts the following parameters:

START_EXP_DT and END_EXP_DT - Provides a date range for the
subscriptions to delete.

LIBR_KEY - The library or libraries whose SUB records should be deleted.

ACQ_EXISTS - If the value is 1, the Acquisitions module exists.
For example, the following sample input file, subdel.inp, demonstrates how to set
the parameters and output so that the proc deletes subscription records created
between January 1, 2008 and January 1, 2009:
Set/gv START_EXP_DT='''01/01/2008'''
Set/gv END_EXP_DT='''01/01/2009'''
Set/gv LIBR_KEY='''''OT DALLAS'''''
Set/gv ACQ_EXISTS=1
@%BASIS_DB%\src\tlp\prc\batchdel\subdel OUTPUT='PRINT'
exit
You can execute the proc in FQM using the following command:
dmfqm uid=sauid upw=saupw db=TLP.ASP aids=no input=subdel.inp
The proc output log file, subdel.log, is created in PROC_PATH.
155
Chapter 18
Manipulating Date and Time Formats
Date formats in Library Management control

How dates are displayed

How a user may enter a date value

How Library Management formats date values for queries against the database
Set by the Short Date Regional Setting on the Windows machine running the
Library Management application, the date format also controls the format of dates
that appear in other applications residing on the same machine.
The date format selected via the Short Date Regional Setting must be one of the
patterns in Table 18-1. Please note that all of these patterns may not be available
since the choice of patterns is dependent on the language setting.
Table 18-1: Allowed Short Date Patterns
156
Regional Setting Short Date
Style
Date Pattern
Example
MMM dd yyyy
Sep 19 2009
MMM dd, yyyy
Sep 19, 2009
dd-MMM-yyyy
19-Sep-2009
dd MMM yyyy
19 Sep 2009
MM/dd/yyyy
09/19/2009
dd.MM.yyyy
19.09.2009
yyyy-MM-dd
2009-09-19
dd/MMM/yyyy
19/Sep/2009
Library Management Administration/Customization Guide
To set or change the Short Date Regional Setting:
1. Open "Control Panel" and choose "Regional and Language Options."
2. Click the Customize button.
3. Click the "Date" tab.
4. Set the Short date style to match one of the Collections Server date formats of
Table 18-1.
5. Set the Date Separator style needed for the date format chosen.
6. Click the “Apply” and then “OK” buttons on the Date tab.
7. Click the “Apply” button.
8. Click "Ok" to complete the setup.
Verify in the registry under HKEY_USERS\.Default\Control Panel\International
that the sShortDate and sDate match the values in the Control Panel settings:
If the values in sShortDate and sDate do not match the same values in the Control
Panel,
1. Click on sShortDate and set the date style to match the Collections Server date
format chosen in the Control Panel.
2. Click on sDate and set the date separator to match the Date Separator in the
Control Panel.
3. Restart IIS/WWW.
The size of the date fields should be consistent throughout the application. When
designing forms use a size=10 and a maxlength=18.
If you change the Language on the "Regional Options" tab of the "Regional and
Language Options" you should also change the "Language for non-Unicode
programs" on the "Advanced" tab so that they are the same.
18.1 Output Formats for Date and Time
Dates in the DDB ASP model should be defined as DATE24 format (yyyy-MMdd). ASP will look at the short date style in the regional settings in the control panel
of the IIS machine to determine how dates should be displayed. It is recommended
that the short date format be used for all data entry within the Library Management
application.
Time appears as hhmmss, where hh is the hour in military time format (hours 0
through 24), mm is the minute, and ss is the second. The time format is defined in
the Library Management database and cannot be modified. The Time Appearance
regional setting will have no effect on how the time is displayed within the Library
Management application. All times entered within the Library Management
application must be in the same format as they are displayed.
157
18.2 Date Format and DM Locale Pattern
If you are using a DM Locale file to control date formatting, the date pattern in the
designated DM Locale for DATE24 must be one of the following:
Table 18-2: Locale Patterns for Dates
Locale Pattern
Example
%Y-%0m-%0d
2009-03-06
%Y-%0m-%-d
2009-03-6
%Y-%-m-%0d
2009-3-06
%Y-%-m-%-d
2009-3-6
18.3 Adjusting Timeout Settings
There are three timeout settings that may need to be adjusted in Library
Management. These are the ASP Session timeout, the Idle timeout for the IIS
application pool being used by Library Management, and the Collections Server
timeout.
18.3.1. ASP Session Timeout and Idle Timeout for the IIS application pool
The ASP Session timeout specifies the number of minutes that the browser can
remain inactive before the Library Management session is terminated. When a
Library Management session is terminated due to the Session timeout expiring, the
user will be taken to the Library Management Login form the next time they click a
button, icon, or hyperlink in the application. Once the user logs in again, they will
be positioned to the default form of the module and task they were using when the
timeout occurred.
To change the ASP Session timeout, you may change the value of the
TL_SESSION_TIMEOUT constant defined in the TlGlobal.inc file.
TL_SESSION_TIMEOUT is initially set to 60 minutes, which overrides the default
ASP Session timeout of 20 minutes.
In the IIS service manager, open the Properties window for the application pool
used by Library Management (DefaultAppPool by default). Click the Performance
tab and change the Idle timeout so it is at least as long as the timeout settings in
Library Management. If the timeout values for the ASP Session is different from
the Idle timeout of the application pool, the shorter time will be used.
18.3.2. Collections Server Timeout
The Collections Server timeout specifies the number of seconds that may elapse
between Library Management issuing a request to the server and receiving a
response to that request. Library Management also uses this timeout to send a
158
Library Management Administration/Customization Guide
"keepalive" request to the server to determine if the server is still running. This
keepalive request and its corresponding response ensure that the Library
Management session remains connected to the Collections Server even if no activity
is occurring. If the Collections Server timeout number of seconds passes without
Library Management receiving a response from the server, Library Management
assumes that the server is no longer running and disconnects itself from the server.
The Collections Server timeout may need to be increased if a single Library
Management request to the server requires longer than the Collections Server
timeout number of seconds to complete and return a response. For Library
Management, this situation should be rare. The Collections Server timeout is
defined using the Collections Server Configuration Maintenance utility, which can
be accessed either through the ODBC administrator setup dialogs or as one of the
icons created during the installation of the Library Management Suite. The installed
default for this timeout is 600 seconds (10 minutes).
18.3.3. Factors in Adjusting Timeout Settings
Changing either the ASP Session timeout or the Collections Server timeout may
have undesirable effects. Each time a Library Management session is established, a
Collections Server process, referred to as an OPIRPC process, is created. This
process services all Collections Server requests from Library Management and
passes those requiring database retrieval and update to the Collections Server kernel.
If a Library Management user properly exits the application by clicking the Quit
task, both the Library Management session and the OPIRPC process will be
terminated immediately. However, if a Library Management user does not properly
exit the application, the Library Management session remains active until the ASP
Session timeout number of minutes passes. Thus it is possible that you may see a
number of orphaned OPIRPC processes running on the Collections Server as a
result of users not terminating the application properly.
The higher the setting for the ASP Session timeout, the longer it will take for
inactive sessions to be terminated and the longer it will take for the corresponding
Collections Server processes to end. Setting the ASP Session timeout or Collections
Server timeout to a large value may result in more unexpired Collections Server
processes using memory on the server. However, setting the ASP Session timeout
to a low value may cause Library Management sessions to be terminated too quickly
when they are not being actively used. Setting the Collections Server timeout to a
low value may cause an undesirable increase in network traffic, since the keepalive
request will be sent to the Collections Server frequently if the Library Management
application is not being actively used.
159
18.4 Specifying Local Library Time
You can adjust due dates and checkin/out dates and times according to the local
library time instead of the time zone where the system is running. For example, if
you set up a library for users in California, the library’s local time is three hours
behind the system time if the Library Management server is running on a computer
in New York.
To adjust the local library time so that due dates and checkin/out times are accurate
on the Library Management server, assign the difference in hours to the
LIBR.HOURS_FROM_SERVER field for the local library. For example, using the
sample above, you set the value of LIBR.HOURS_FROM_SERVER to -3.
160
Library Management Administration/Customization Guide
161
Chapter 19
Configuring Single Sign-on and
Directory Services Integration
Single sign-on (SSO) and Directory services integration can be configured to control
user authentication to the application as well as facilitate management of patron
information. User authentication in Library Management can be controlled in part
by the company SSO environment and Directory Server. The SSO capability lets
library staff members bypass the Library Management login page and connect using
the identity contained within their browser session.
The LDAP integration lets you maintain patron details such as address, telephone
number and email address from the information found in the Directory server. Each
time a Patron record is added or updated, Library Management checks the LDAP
directory for a matching entry. When a match exists, the LDAP information
replaces the corresponding data in the Patron record. You can also update all Patron
records at once.
19.1 Using SSO
The SSO capability allows librarians to login directly to the application without
being prompted for a username and password because it automatically uses the
identity contained in the browser session. There are, however, cases when users
must login manually and enter a username and password. The identity of the user is
expected to be carried in a named token (either within a cookie or the HTML
header). Users will need to login manually in the following situations:

If no identity is present
i. e. No value was given to the Token Name on the "Setting up SSO and
LDAP" screen.

If the named token is not specified
i.e. The LOGON_USER is not registered as a Collections Server user or is
not authorized to the library databases.

162
If the user is identified but is not known to the database within Staff
Security
Library Management Administration/Customization Guide
i.e. A User-Security record has not been defined for the LOGON_USER.
If your environment uses one of the built-in IIS methods for security, the username
of each successfully authenticated user is stored in the LOGON_USER header.
The SSO Settings Token Name should be specified as "LOGON_USER".
Anonymous access must be turned off in IIS and one of the IIS authentication
methods for security must be enabled. The current password for the system
administrator (sauid by default) must be entered on the "System Settings" page in
the Administrator module under the Synchronization/Authentication Options
section.
19.2 Changing the LDAP/SSO Settings
19.2.1 Changing LDAP/SSO Features Setup
During the Library Management installation, you were asked if/how you want to
setup the LDAP/SSO features. Depending on your answers, the correct asp page
was copied to the login.asp page. There are 4 different versions of the login.asp
page:
Table 19-1: login.asp versions
login.asp Page
Version
login_ldap.asp
LDAP only
Login.asp selected by
checking the Installation
Option
 Verify signons
login_ldap_sso.asp
LDAP and SSO
 Verify signons
and
 Enable the Single
Signon Feature
login_plain.asp
No LDAP/SSO features
login_sso.asp
SSO only
 Enable the Single
Signon Feature
163
The authentication options provide the following levels of functionality and security.
Version
LDAP only
Results
User prompted for ID and password on login
page.
User must be in User Directory.
If authentication fails, user is prompted for
alternate ID and password.
LDAP and SSO
User’s login credentials are passed via browser.
User is not prompted for ID or password.
User must be in User Directory.
If authentication fails, there are no prompts for
an alternate ID or password.
User’s Collections Server password is changed
each time the user logs into Library
Management. Alternate Collections Server user
IDs should be assigned to staff required to
interact with Collections Server modules such as
FQM, HVU, DMSA, etc.
Organizations with password security policies
avoid the need to reassign Library Management
passwords since passwords are changed
automatically by Library Management.
User is prompted for Collections Server user ID
and password.
If authentication fails, user is prompted for
another ID and password.
No LDAP/SSO features
SSO only
User’s login credentials are passed via browser.
If authentication fails, user is prompted for
another ID and password.
User’s Collections Server password is changed
each time the user logs into Library
Management. Alternate Collections Server user
IDs should be assigned to staff required to
interact with Collections Server modules such as
FQM, HVU, DMSA, etc.
Organizations with password security policies
avoid the need to reassign Library Management
passwords since passwords are changed
automatically by Library Management.
Following are instructions for implementing each of the enhanced authentication
options.
To implement LDAP only authentication:
 In Library Management, Administration Module, SSO & LDAP task, complete
the following fields in the General LDAP Settings section:
o LDAP Server
164
Library Management Administration/Customization Guide


o
Username
o
Password
o
Use SSL when accessing the LDAP server
In the LDAP Settings for the Authentication of Users section enter the
LDAP Authentication URL which is used to find a unique LDAP entry.
In the Techlib folder, rename the login_ldap.asp file to login.asp.
To implement LDAP and SSO authentication:
 In Library Management, Administration Module, System Settings task, complete
the sauid Password field under the Synchronization Options.
 In Library Management, Administration Module, SSO & LDAP task, complete
the Token Name field in the Single Signon Settings section and the following
fields in the General LDAP Settings section:
o LDAP Server
o Username
o Password
o Use SSL when accessing the LDAP server
 In the LDAP Settings for the Authentication of Users section enter the LDAP
Authentication URL which is used to find a unique LDAP entry.
 In the IIS service manager, disable anonymous access in IIS and select the
appropriate authentication access method.
 In the Techlib folder, rename the login_ldap_sso.asp file to login.asp.
To implement No LDAP/SSO features (standard Collections Server
Authentication via Authority Database):
 In the IIS service manager, enable anonymous access.
 In the Techlib folder, rename the login_plain.asp file to login.asp
To implement SSO only authentication:
 In Library Management, Administration Module, System Settings task, complete
the sauid Password field under the Synchronization Options.
 In Library Management, Administration Module, SSO & LDAP task, complete
the Token Name field in the Single Signon Settings section.
 In the IIS service manager, disable anonymous access in IIS and select the
appropriate authentication access method.
 In the Techlib folder, rename the login_sso.asp file to login.asp.
19.2.2 Changing the LDAP Server Information
The installation program asked for information about SSO and your LDAP server.
This information can be added or changed after the install through the Library
Management application by any user with authorization to change “System Settings”
using the “SSO & LDAP” task. If you click on the SSO & LDAP task, the screen
in Figure 19-1 appears.
165
Figure 19-1: SSO & LDAP Screen
The SSO & LDAP screen (Figure 19-1 above) will allow you to enter information
about your LDAP server such as LDAP Server name and port, Username, and
Password. The values given during installation, except for the password, can be seen
on this page. You can test the setting by clicking the Test Settings icon. The string
%field% in the DN/URL(s) prompt should be replaced by a valid field in the
Patron record. For example, if the DN/URL(s) value is
ou=Users,o=ButchCO,c=US??sub?mail=%email_addr%, then the mail value in the
LDAP directory must be equal to the value of the given email_addr.
Here is an example using the tlpdemo database:
For Email_addr=testa@opentext.com, the test settings URL should be
ou=Users,o=ButchCO,c=US??sub?mail=testa@opentext.com to map to
Email_addr testa@opentext.com’s LDAP entry, as shown in Figure 19-2.
166
Library Management Administration/Customization Guide
Figure 19-2: SSO & LDAP Test Settings page for
Email_addr = testa@opentext.com in the tlpdemo database
19.2.3 LDAP Directory Connection Field Descriptions
The SSO & LDAP screen (Figure 19-1) contains the fields where you identify the
connection information for your LDAP server such as LDAP Server name,
DN/URL(s), Username, and Password. A description of the fields follows. This
information is also available in Library Management on the Help page for the SSO
& LDAP screen. Contact your Directory server administrator for assistance in
completing the Directory Server information.
Token Name
If your environment uses one of the built-in IIS methods for security, the username
of each successfully authenticated user is stored in the LOGON_USER header.
The SSO Settings Token Name should be specified as "LOGON_USER".
.
LDAP Server
Specify the name or IP address and port number of your Directory server, separated
by a colon. Your Directory server administrator can provide you with these details.
167
If you know the server name but not the port number, try port 389 (the default
LDAP port). For example:
MyServer:398
Openldap.com:389
135.167.89.9:456
Username/Password
Some directory servers require you to authenticate yourself before they will allow
access to user information. Supply a username and password for the system to use
when connecting to the LDAP server to look up Patron details. The username often
takes the form of a Distinguished Name (DN) and for Active Directory is in the
form of an email address, e.g. jbloggs@acme.com.
Contact your Directory server administrator for information about the appropriate
username and password.
Use SSL when accessing the LDAP server
Check this box if your LDAP server only permits access via the Secure Sockets
Layer (SSL). When this box is checked you must have been granted and installed
a certificate on IIS to allow communication between Library Management and
the LDAP server.
LDAP Authentication URL
In order to use your LDAP directory to verify Library Management users, you
will need to define an LDAP Url that will return only one user when given the
user id entered on the login screen
The URL given should return a unique LDAP entry when the %%% is replaced
with the user id entered on the login screen. e.g.
cn=%%%,ou=Users,o=ButchCO,c=US where %%% will be replaced with the
userid.
DN/URL(s)
Specify the Distinguished Name (DN) or search URL(s). The DN/URL uniquely
describes an entry in the LDAP directory. The DN/URL must result in a single
LDAP object for the search to be considered successful.
A DN is made up of “attribute=value” pairs, separated by commas. For example:
Cn=Ben Gray, ou=editing, o=New York Times, c=US
An LDAP URL can either be a simple DN or a more complex search expression as
long as the result of looking up the URL is a unique LDAP object. For example,
these two URLs will both find the same object:
dc=OpenLDAP,dc=Org??sub?uid=Kurt
uid=Kurt,dc=OpenLDAP,dc=Org
To synchronize a Patron in LDAP, you must create a DN/URL that points to a
single object using values taken from the Patron record. To do this, you specify
place holders within the URL where you want the system to substitute values from
168
Library Management Administration/Customization Guide
the Patron record. This is typically the Patron ID but could be any combination of
patron fields. For example:
dc=OpenLDAP,dc=Org??sub?uid=%patron_id%
cn=%first_nm% %last_nm%,dc=OpenLDAP,dc=Org
Note: Specify the field name within the DN/URL by surrounding it with percent
characters.
19.2.4 Defining LDAP Directory/Patron Record Mapping
The SSO & LDAP screen (Figure 19-1) is also used to define the mapping between
the LDAP directory and the Patron record. In order to synchronize Patron details
with the Directory server you must create a field mapping script that will associate
fields from the Patron record with attributes in the directory. The mappings identify
which fields to update from the directory. Mapped fields will appear grayed-out on
the Patron Add and Update forms because any data entered will be overwritten by
values from the corresponding Directory object.
Fields are mapped from LDAP to the Patron record using VBScript so you need to
understand this technology to complete the setup. Each time you save a Patron
record, the field mapping script checks the Directory server and sets the Patron
fields using the mapped directory attributes. The Patron fields are defined in a
VBScript collection object named Field Values and the LDAP attributes are defined
in an object named Attribute Values. To map an attribute to a field, simply assign
the contents of the attribute name to the field name (the names are not case
sensitive).
In the following example, the Patron field email_addr maps to the LDAP directory
attribute mail and the Patron field prim_phone maps to the LDAP directory attribute
telephoneNumber.
FieldValues("email_addr") = AttributeValues("mail")
FieldValues("prim_phone")= AttributeValues("telephoneNumber")
The field mapping script can include logic or combine values for a more complex
integration. Following is an example that illustrates such an implementation:
' Setup the security code based on some LDAP attributes
Dim iSecurityLevel
if LCase(AttributeValues("department")) = "administration" then
iSecLevel = 7
elseif AttributeValues("employeeType") = "contractor" then
iSecLevel = 4
else
iSecLevel = 0
end if
FieldValues("sec_cd") = iSecLevel
' Get the address from a couple of fields
Dim asAddress
169
on error resume next
asAddress = Split(AttributeValues("department"),vbCrLf)
FieldValues("prim_addr_1") = asAddress(0)
FieldValues("prim_addr_2") = asAddress(1)
FieldValues("prim_city") = AttributeValues("city")
FieldValues("prim_state") = AttributeValues("state")
FieldValues("prim_country") = AttributeValues("country")
' Gather some useful notes about this person perhaps
FieldValues("notes") = AttributeValues("notes") + vbCrLf +
LCase(Trim(AttributeValues("security_classification")))
19.3 Turning on the SSO/LDAP Features
After you have setup the LDAP/SSO fields, you need to update the System Settings
record to complete the Patron synchronization. To enable this feature, set “LDAP
Synchronize Patron Flag” (SYS_PARM.LDAP_PATRON_FLG) to ‘Yes’.
Set “DMSA Synchronize Flag” (SYS_PARM.SA_UPDATE_FLG) to ‘Yes’ and
enter the sauid Password, to enable the automatic registration and authorization of
users when their Staff Security record is added. The flag must be ‘Yes’ if either of
the SSO authentication methods, “LDAP and SSO” or “SSO only” is selected.
19.4 SSO Authentication/Alternate User IDs
When one of the single-signon authentication methods (“SSO only” or “LDAP
and SSO”) is enabled, the library staff member’s Password (BASIS UPW) is reset
each time he/she logs into the application. As a result of the automated reset, there
is no way for the user to know his/her Collections Server password so the user
cannot use the same User ID and Password for server-side modules like FQM,
HVU, etc. You should define a different username and password for members of
the library staff who require command line access to Collections Server features. For
170
Library Management Administration/Customization Guide
infrequent use, an Administrator can use WebAdmin or DMSA to reset the
password.
19.5 SSO/LDAP System Administrator User
A Collections Server User ID and Password with Register permissions is required
for SSO login authentication functions. In addition, the UID must have DBA
privilege for the Library Management databases, thesaurus database(s) and the
TLPHELP database. The Collections Server User ID is stored in the ldap.tlt file
and the password is entered in the SA Password field on the System Settings record.
The password is stored in encrypted form in the Windows Registry. By default, the
initial installation will configure the default Collections Server User ID, “sauid”, in
the ldap.tlt file.
To change the default SA User ID, edit the ldap.tlt file and change the UID in the
“sauid=” parameter to the desired UID. Complete the change by adding the
password for the UID in the SA Password field on the System Settings record.
171
Chapter 20
Setting Up the Patron Notifications
Feature
The Patron Notifications feature establishes a framework for library users to define
searches for new titles added to the collection or for any topic of interest. The
patron receives an email notification with the search results each time the search is
executed. You can think of the Patron Notifications feature as a current awareness
tool. The legacy term for this type of feature is SDI (Selective Dissemination of
Information).
There are three elements in the Patron Notification framework:

Query Parameter Records
These define which database information (e.g. Catalog records) can be used in
an email alert. They also contain parameters used to form an email message. An
authorized Administrator must setup Query Parameters.

Query Records
These contain the actual search criteria for the Patron Notification as well as the
fields for display and sorting. Queries may be defined by an authorized
Administrator using the Notifications task or by an authorized Circulation
operator using the Patron task. In a future release, patrons will be able to define
Queries using the Webtop OPAC.

FQM Command Procedure (Proc)
The Command Procedure performs the searches defined in the patron’s Query
records and generates the email messages.

System Settings – OPAC URL
The OPAC_URL field in the SYS_PARM record contains the URL to the
Collections Server Webtop OPAC so the notification sent to the Patron will
contain a link to the Catalog record which contains the information they
requested. The format should be http://machine_name:port/OPAC/.
20.1 Adding Query Parameter Records
Query Parameter (QUERY_PARM) records provide the patron with a list of
records about which they can receive notifications. If, for example, you would like
172
Library Management Administration/Customization Guide
to allow patrons to setup notifications on new Catalog (CAT) records, the
administrator first needs to add a Query Parameter record where the view name
(QUERY_PARM.VIEWNAME) is ‘CAT’. The Query Parameter record must also
contain the information listed below in Table 20-1.
173
Table 20-1: Query Parameter Information
Form Field Label
Field Name
Field Usage
Email Body Text
EMAILBODYTEXT
The string of text that will precede the query result
from the Library Management database. The text
message will be used for all queries built using
these parameters.
From Email
Address
EMAILFROM
The email address of the sender, usually the library
email address.
Email SMTP
Server
EMAILSMTPSERVER
The SMTP server that will send the notification
email.
Email Subject
EMAILSUBJECT
The string of text that will go as the subject of the
email. The subject text will be used for all queries
built from these parameters.
PARMID
Record’s unique key set by the system
TIMESTAMP
Date when the record is updated in YYYYMMDD
format. This field is automatically set by the
system each time the Notifications procedure is
run.
Notification Title
TITLE
The title that describes what you can search using
these query parameters. This is the string that will
be shown to the patron when they add query
records.
View Field List
VIEWFIELDLIST
The list of fields separated by commas that can be
included in the email message. The patron can
choose from the list to format their email.
View Name
VIEWNAME
The name of the view to be searched by the
Notifications procedure.
Order By
VIEWORDERBY
The field to use when sorting the search results.
20.2 Adding Query Records
After the Query Parameter records have been defined, Query records need to be
added. Query records specify the search query to be used to find any newly added
titles or topic of interest. Query records also include a flag (Is Active) that patrons
can use to selectively turn a notification on or off. For example, the patron may
wish to make all queries inactive while out of the office on vacation.
Query records may be added by an authorized Administrator using the Notifications
task or by an authorized Circulation operator using the Patron task.
174
Library Management Administration/Customization Guide
20.3 Setting Up the FQM Command Procedure
The FQM Command Procedure which will process the patrons’ requests is called
notifications.prc. There is also a script for each server platform that can be used
to execute this procedure:
Table 20-2: Script used to execute notifications.prc
Server
Platform
Script Name
Location of Script and
notifications.prc
UNIX/Linux
notifications.sh
$TLP/prc
VMS
notifications.com
TLP$PROC
Windows
notifications.bat
%BASIS_DB%\src\tlp
The script file will have to be scheduled to run on your server no more than once a
day, as new items are identified by the day they were entered.
175
176
Library Management Administration/Customization Guide
Chapter 21
Using Cascading Style Sheets
In order to provide a simple mechanism by which Library Management sites can
style their application without making changes to the code, six new include files
have been added to the system:

TlAcqCSS.inc (for use with Acquisitions pages)

TlAdmCSS.inc (for use with Administrative pages)

TlBaseCSS.inc (for use with pages not associated with a particular module)

TlCatCSS.inc (for use with Cataloging pages)

TlCircCSS.inc (for use with Circulation pages)

TlSerCSS.inc (for use with Serials pages)
The new include files contain a link to the appropriate cascading style sheet. There
are six cascading style sheets:

Acq.css

Adm.css

Cat.css

Circ.css

Ser.css

Techlib.css
Each of the asp files in the system includes one of the new include files. All of the
delivered css files contain the same information and are basically skeleton files. This
provides an easy place to customize the look of the application and allows a
different look for each module.
177
178
Library Management Administration/Customization Guide
Chapter 22
Troubleshooting
22.1 Complex Report Error
If you encounter a problem when running a report, it may be an indication that you
need to refresh the Library Management report database. Symptoms of this problem
include the system hanging while processing a report or receiving the following
error message:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Query is too complex.
/techlib/include/TlReports.inc, line 807
Library Management uses a Microsoft Access database named BasisReports to cache
Library Management report results. Although the system periodically purges results
from previous searches, the BasisReports database can be overloaded and cause the
system to fail. To correct the problem, you must manually clear the BasisReports
database.
Note: Verify that no one is currently running a report when you manually clear the
BasisReports database. Also, you must have Microsoft Access installed on the same
machine where Library Management is installed to clear the database.
To clear the BasisReports database:
1. Using the Windows Explorer, locate the BasisReports database in the following
location:
drive:\Install_dir\reports\BasisReports.mdb
where Install_dir is the directory where you installed the Library Management
program files.
2. Open the BasisReports database by double clicking the BasisReports.mdb file or
by opening the file from Microsoft Access.
3. Click the Macros tab.
179
4. Run the ClearBasisReportsTables macro. A prompt confirms that the
database tables have been cleared.
5. Close the database file and attempt to run your report again.
180
Library Management Administration/Customization Guide
22.2 Administering Digital Content Display
The Library Management Digital Content Module (DCM) allows you to attach
digital documents to Catalog records. When you add a document to Library
Management, the system creates an HTML preview version used when you display
the document in Library Management. By default, Library Management displays
documents in increments of 30 context units. You can change the number of
context units Library Management uses to display digital content images by setting
the value of the intMaxUnits parameter in the Install_dir\documentdis.asp file.
22.3 Specifying the Digital Content Module Temporary Directory
The Library Management Digital Content Module (DCM) uses a temporary
directory to process files. In order for a document to be added to the Library
Management database, the system must first download it to a temporary area. When
you run the installation program, Library Management creates an IIS virtual
directory called DCM (similar to NetMARC). By default, the temporary directory is
set to the DM_TMP directory. If you want to use a different temporary directory,
use the IIS administration interface to specify a new target directory for the DCM
virtual directory.
22.4 Reports Display Problems Using Internet Explorer 7.0
If the pop-up browser window appears and then immediately disappears when
running a Word or PDF version of a report using IE 7.0 you may have to change
security settings on the browser. Under the Internet Options\Security tab, click the
Custom Level button. Under the Downloads section, “enable” the setting
“Automatic prompting for file downloads”.
22.5 Turning off Concept Extraction
As delivered, the tlp and tlpdemo databases contain the fields necessary to extract
concepts from the text field of the DOCUMENT record. If you want to remove
the concept extraction you will need to enter and apply code from the DDL file
called remove_concepts.ddl to your Library Management database
.
181
Appendix A
Titles Thesaurus
The Library Management Titles thesaurus represents the table of contents for the
entire application. As currently delivered, the file resembles the following:
BEGIN_LAYOUT
FORMAT=FREE
DATA_QUAL_SEP='!'
DATA_TERM_SEP='@'
END_OF_DATA_STAT='%'
END_LAYOUT
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
<<< NOTE USE OF BEGIN_HIER AND END_HIER SURROUNDING EVERY FULL TREE OF TERMS
<<< THIS IS NECESSARY FOR PROPER INTERPRETATION BY TM
<<<
1
2
3
4
5
6
7
8
9
<<<45678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0
<<<
GEN-General Help
GEN-Copyright and Proprietary Rights Notices
GEN-Glossary
GEN-International Standard Book Number
GEN-Field Information
GEN-Thesaurus Terms
GEN-Index Terms
GEN-Stopwords
GEN-Specifying Library-Location
GEN-Search
GEN-Date Formats
GEN-Advanced Search
GEN-Display
GEN-Add
GEN-Update
GEN-Delete
GEN-Generate Report
END_HIER
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
RES-Resources Module
RES-Generating the New Copy Command Procedure
END_HIER
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
CAT-Cataloging Module
CAT-How to Catalog a Resource
CAT-Working with Catalog Records
CAT-Searching for a Catalog Record
CAT-Displaying Catalog Search Results
CAT-Displaying a Catalog Record
CAT-Adding a Catalog Record
CAT-Updating a Catalog Record
CAT-Working with Copy Records
182
Library Management Administration/Customization Guide
CAT-Searching for a Copy Record
CAT-Displaying a Copy List
CAT-Displaying a Copy Record
CAT-Adding a Copy Record
CAT-Updating a Copy Record
CAT-Working with Digital Content
CAT-Locating Digital Content
CAT-Updating Digital Content
CAT-Displaying Digital Content
CAT-Working with Digital Content in Livelink
CAT-Working with Authority Control
CAT-How Authority Control Works
CAT-Thesaurus Relation Types
CAT-MARC Authority Format
CAT-Searching for an Authority Record
CAT-Displaying Authority Search Results
CAT-Displaying an Authority Record
CAT-Adding an Authority Record
CAT-Updating an Authority Record
CAT-Updating Catalog Records Affected by Authority Updates
CAT-Updating the Thesaurus
CAT-Working with MARC Records
CAT-Import Rules--Mapping MARC Data to Techlib Record Format
CAT-Using the Import Rule Forms and Display
CAT-Using the Mapping Forms and Display
CAT-Using the Import MARC Records Form
CAT-Using the Import Rules List Display
CAT-Using the Mappings List Display
CAT-Exporting MARC Records
CAT-Using the Export Select MARC Records Form
CAT-Using the Export Search Form
CAT-Using the Export Selection List
CAT-Displaying a Record
CAT-Generating Cataloging Reports
CAT-Generating Circulation Requests Reports
CAT-Generating a New Copy List
CAT-Generating a Temporary Catalog/Copy List
CAT-Generating Spine Labels
CAT-Generating a Shelf List
CAT-Generating a MARC Rules Report
CAT-Generating a Reconcile Thesaurus Exceptions Report
END_HIER
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
<<<
1
2
3
4
5
6
7
8
9
<<<45678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0
CIR-Circulation Module
CIR-Checking out Library Items
CIR-Check-out Exceptions
CIR-Creating a Temporary Catalog/Copy Record
CAT-Searching for a Catalog Record
CIR-Searching for a Patron in Check-out
CIR-Displaying Patron Search Results in Check-out
CIR-Renewing Items
CIR-Checking in Returned Items
CIR-Check-in Exceptions
CIR-Searching for Copy Information
CIR-Displaying Copy Information
CIR-Displaying Patron Information
CIR-Holds Overview
CIR-Searching for Items to Reserve
CIR-Displaying Item Search Results
CIR-Searching for a Patron in Holds
CIR-Displaying Patron Search Results in Holds
CIR-Placing a Hold
CIR-Updating a Hold
CIR-Canceling a Hold
CIR-Displaying Item Information
CIR-Searching for a Patron Record
CIR-Displaying Patron Search Results
183
CIR-Displaying a Patron Record
CIR-Adding a Patron Record
CIR-Updating a Patron Record
CIR-Displaying Patron Activity
CIR-Displaying Queries for a Patron
CIR-Adding a Query Record
CIR-Updating a Query Record
CIR-Displaying a Query Record
CIR-Generating Circulation Reports
CIR-Generating Hold Maintenance Reports
CIR-Generating Low Circulation Reports
CIR-Generating Purchase Alert Reports
CAT-Generating a Shelf List
CIR-Generating Delete Hold Reports
CIR-Generating Check-out Slips
CIR-Generating Hold Slips
CIR-Generating Mailing Labels
CIR-Generating Management Statistics by Call Number
CIR-Generating Management Statistics by Collection Type
CIR-Generating Management Statistics by Library/Location
CIR-Generating Management Statistics by Material Type
CIR-Generating Management Statistics by Patron Type
CAT-Generating Circulation Requests Reports
CIR-Generating Hold Available Notices
CIR-Generating Hold Not Available Notices
CIR-Generating Overdues Notices
CIR-Generating Patron Detail Memo
CIR-Generating Recall Notices
CIR-Maintaining Circulation Request Records
CIR-Maintaining Circulation Transaction Records
1
2
3
4
5
6
7
<<<
8
9
<<<45678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0
<<<
END_HIER
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
SER-Serials Module
SER-Serials Module (ACQ not installed)
SER-Receiving in Serials
SER-Receiving Serial Issues
SER-Searching for a Serial
SER-Searching for a Serial in Receiving
SER-Displaying Serial Search Results
SER-Adding a Serial Copy
SER-Displaying a Prediction Record
SER-Adding a Prediction Record
SER-Updating a Prediction Record
SER-Working with Subscriptions in Serials
SER-Working with Subscriptions in Serials (ACQ not installed)
SER-Searching for Subscription Records
SER-Searching for Subscription Records (ACQ not installed)
SER-Adding a Temporary Catalog Record (ACQ not installed)
SER-Displaying Title Search Results
SER-Displaying Vendor Search Results
SER-Processing Subscriptions by Title
SER-Processing Subscriptions by Title (ACQ not installed)
SER-Processing Subscriptions by Vendor
SER-Processing Subscriptions by Vendor (ACQ not installed)
SER-Maintaining a Subscription Record
SER-Maintaining a Subscription Record (ACQ not installed)
SER-Adding a Subscription Record (ACQ not installed)
SER-Updating a Subscription Record
SER-Setting Up Predictions
SER-Viewing the Enumeration
SER-Viewing the Calendar
SER-Working with Route Records
SER-Searching for a Route
SER-Displaying Title Search Results
SER-Displaying Route Search Results
SER-Displaying Patron Route Search Results
184
Library Management Administration/Customization Guide
SER-Displaying a Patron Route List
SER-Displaying a Route Record
SER-Adding a Route Record
SER-Updating a Route Record
SER-Searching for a Patron in Routing
SER-Displaying a Patron Result List
SER-Working with Vendor Records
SER-Searching for a Vendor Record
SER-Displaying Vendor Results
SER-Displaying a Vendor Record
SER-Adding a Vendor Record
SER-Updating a Vendor Record
SER-Displaying a Vendor Address
SER-Displaying a Vendor Address List
SER-Adding a Vendor Address
SER-Updating a Vendor Address
SER-Selecting Vendor Address Types
SER-Generating Serials Reports
SER-Generating Routing Slips
SER-Generating Serials Holdings Reports
SER-Generating Auto Claiming Reports
SER-Generating Claim Forms
SER-Generating Issues by Status Reports
SER-Serials Management Reports
SER-Titles by Status Report
SER-Processing Statistics Report
SER-Vendor Performance Report
SER-Serials Routing Reports
SER-Routing Slips
SER-Titles Routed List
SER-Titles Routed List - Patron
SER-Titles Routed List - Combination
SER-Titles Direct List - Patron
SER-Serials Titles Reports
SER-Title by Field Report
SER-Union Lists
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
<<<
END_HIER
<<<
1
2
3
4
5
6
7
8
9
<<<45678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0
<<<
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
ACQ-Acquisitions Module
ACQ-Acquisitions Module (No Invoicing)
ACQ-Ordering
ACQ-Searching for Titles/Requests or Requests/Orders
ACQ-Working with Titles/Requests
ACQ-Adding a Title
ACQ-Adding a Request
ACQ-Adding a Request (No Invoicing)
ACQ-Adding a Subscription or Membership Request
ACQ-Adding a Subscription or Membership Request (No Invoicing)
ACQ-Adding an Interlibrary Loan Request
ACQ-Adding a Free Item Request
ACQ-Adding a Gift or Unsolicited Item Request
ACQ-Adding a Future Purchase Request
ACQ-Managing a Title/Request
ACQ-Managing a Title/Request (No Invoicing)
ACQ-Updating a Title/Request
ACQ-Updating a Title/Request (No Invoicing)
ACQ-Working with Requests/Orders
ACQ-Creating an Order
ACQ-Creating an Order (No Invoicing)
ACQ-Creating a Prepaid Order
ACQ-Creating a Prepaid Order (No Invoicing)
ACQ-Creating a Standing Order
ACQ-Creating a Standing Order (No Invoicing)
ACQ-Creating a Blanket Order
ACQ-Creating a Blanket Order (No Invoicing)
ACQ-Creating a Free Order
185
ACQ-Creating an Interlibrary Loan Order
ACQ-Creating an Interlibrary Loan Order (No Invoicing)
ACQ-Creating a Credit Card Order
ACQ-Creating a Credit Card Order (No Invoicing)
ACQ-Creating a Deposit Account Order
ACQ-Creating a Deposit Account Order (No Invoicing)
ACQ-Managing an Order
ACQ-Managing an Order (No Invoicing)
ACQ-Updating an Order
ACQ-Defining Exchange Rates
ACQ-Receiving
ACQ-Receiving (No Invoicing)
ACQ-Searching for Titles, Orders, or Invoices
ACQ-Searching for Titles or Orders (No Invoicing)
ACQ-Searching for Titles or Orders
ACQ-Working with Titles
ACQ-Working with Titles (No Invoicing)
ACQ-Working with Orders
ACQ-Working with Orders (No Invoicing)
ACQ-Receiving Items/Invoice
ACQ-Receiving Items/Payment (No Invoicing)
ACQ-Receiving an Unordered Item
ACQ-Receiving an Unordered Item (No Invoicing)
ACQ-Receiving a Standing Order
ACQ-Receiving a Standing Order (No Invoicing)
ACQ-Working with Invoices
ACQ-Adding an Invoice
ACQ-Processing an Invoice
ACQ-Processing a Renewal Invoice for a Subscription or Membership
ACQ-Processing a Miscellaneous Invoice
ACQ-Processing a Sales Invoice
ACQ-Processing an Additional Charges Invoice
ACQ-Processing a Credit Invoice
ACQ-Processing a Credit Card Invoice
ACQ-Processing a Deposit Account Invoice
ACQ-Updating an Invoice
ACQ-Adjusting an Invoice
ACQ-Claiming an Order or Title
ACQ-Searching for Orders/Titles to Claim
ACQ-Displaying Claiming Order Results
ACQ-Claiming an Order
ACQ-Claiming a Title
ACQ-Displaying Claiming Results
ACQ-Displaying Title in Claiming
ACQ-Working with Patron Information
ACQ-Working with Vendor Information
SER-Searching for a Vendor Record
SER-Displaying Vendor Results
SER-Displaying a Vendor Record
SER-Adding a Vendor Record
SER-Updating a Vendor Record
SER-Displaying a Vendor Address
SER-Displaying a Vendor Address List
SER-Adding a Vendor Address
SER-Updating a Vendor Address
SER-Selecting Vendor Address Types
ACQ-Working with Subscriptions or Memberships in Acquisitions
ACQ-Working with Subscriptions or Memberships in Acquisitions (No Invoicing)
ACQ-Generating Acquisitions Reports
ACQ-Generating Order Forms
ACQ-Non-Database Fields
END_HIER
<<<
1
2
3
4
5
6
7
8
9
<<<45678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0
<<<
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
ADM-Administration Module
ADM-Working with Administration Module Records
ADM-Setup
186
Library Management Administration/Customization Guide
ADM-Defining Collection Types
ADM-Defining Library-Locations
ADM-Defining Library-Location Addresses
ADM-Defining Material Types
ADM-Defining Patron Types
ADM-Defining Profiles
ADM-Revising Text for Reports and Notices
ADM-Defining Profiles via Wizard
ADM-Maintenance
ADM-Record Maintenance Display
ADM-Record Maintenance Selection
ADM-Record Maintenance Search
ADM-Record Maintenance Add Form
ADM-Record Maintenance Update Form
ADM-Defining Staff Security
ADM-Adjusting System Settings
ADM-Replacing Field Values
ADM-Generating Administration Reports
ADM-Generating a Setup Report
ADM-Generating a Data Dictionary Report
ADM-Batch Delete Procedures
ADM-Batch Delete Invoice Records
ADM-Batch Delete Order Records
ADM-Batch Delete Prediction Records
ADM-Batch Delete Subscription Records
ADM-Updating Help Topics
ADM-Modifying Help Topics
ADM-Viewing Help Topics
ADM-Updating Help Topic Fields
ADM-Working with Patron Notifications
ADM-Defining Query Parameters
ADM-Defining a Query for Patron Notifications
ADM-Setting up SSO and LDAP
ADM-Checking LDAP Settings
END_HIER
<<<
<<<45678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0
<<<
BEGIN_HIER INDENT_LEVEL=2,THES_NAME=TITLES,REL_TYPE=NT
DBA-Customization/Administration
DBA-Planning for Authority Control
DBA-Defining a Thesaurus
DBA-Defining Thesaurus Control
END_HIER
187
188
Library Management Administration/Customization Guide
Index
A
Access database
data types for fields, 125
Access reports database, 119
accessing tlphelp database, 140
Acq.css cascading style sheet, 177
Acquisitions
number of days after close, 57
request list size, 56
Active Server, 17
Active Server Page functions
CreateChildTable, 118
NeedToProcessColumn, 118
ObjTlGenGetLabel, 92
objTlLkup.ShowLegalValues, 94
objTlLkup.ShowMTypes, 95
objTlReports.GetTextInfo, 129
objWtDbString.GetNativeColumnOperato
rValue, 129
objWtGenHTMLEncode(TlMntGetValue),
92
ProcessColumn, 118
ReportTableRelation, 118
TlBarcodeCRSubmit, 109, 110
TlGenFieldHelp, 146
TlGenGetErrorAttribute, 92
TlGenTopicHelp, 146
TlGetFieldHelp, 92
TlMntRSGetHitValue, 96
TlMntRSGetValue, 96
UpdateDatabase, 119
Active Server Pages, 18, 49
Active Server Pages environment, 41, 42
Active Server Pages for reports, 117
ActiveX Data Objects, 18
ActiveX files, 50, 57
ActiveX files, location, 57
ActiveX Scripting Engine, 18
ActiveX Server Components, 18
Actual Data Model
RECORD/UPDATE qualifier, 81
Actual Data Model, 24
ADB
See Authority Database.
Adding a Custom page, 47
adding a data source, 68
adding a field, 80
adding checkbox field to form, 90
adding field to database, 82
adding field to report, 124
adding Resources URL references, 76
adding URL references, 76
adjusting report format, 122
adjusting timeout settings, 158
ADM
See Actual Data Model.
Adm.css cascading style sheet, 177
ADMIN model, 82
Administration module, 36
ADO
See ActiveX Data Objects.
Appendix A, 182
application database, 22
application root directory, 50
application server, 19, 20
ASP
See Active Server Pages.
ASP field types, 92
checkbox, 96
display only, 95
drop-down box, 94
simple input box, 92
textarea box, 93
189
asp files for reports, 121
ASP model, 81, 82
authority control messages, modifying, 103
authority control, customizing, 102
authority control, removing, 104
Authority Database, 22, 132
AUTHORIZE command, DMSA, 31, 32
authorizing users, 31
authorizing many users, 35
authorizing user privileges, 26
B
Back icon
in help topics, 134
backing up the application, 43, 44
backup database procedures, 39
backup sets, 23
barcode reader, 108
Basic Report Table, Access database, 119
batch delete proc, 151
bubble-over text
See tooltip text.
button description
See tooltip text.
C
cascading style sheets, 177
Cat.css cascading style sheet, 177
change codes, 81
change management, 42
changing a data source, 67
changing a field, 80
changing an ODBC resource, 67
changing database server connection
information, 41, 67
changing field-level help for a field, 84
changing login form, 62
changing name of virtual directory, 56
changing number of result set members, 56
changing OPAC URL reference, 76
changing password, 32, 179
changing Resources URL references, 76
changing root directory name, 41
changing Short Date Regional Setting, 157
changing system settings, 45
changing to an external OPAC, 76
changing user registration, 33
checkbox field, on ASP, 96
190
checkbox, adding to form, 90
Check-in form
modifying form table, 72
checking help topic into database, 141
Check-out form
modifying form table, 72
Circ.css cascading style sheet, 177
client-browser, 19, 20
Close button
in help topics, 134
code list, 94
collection type, 44
Collections Server databases, 21
Collections Server Kernel, 20
Collections Server Proc, 127
Collections Server Web Administrator, 31, 41,
104
Collections Server Webtop, 19, 132, 140
Collections Server Webtop User's Guide, 132
COM
See Component Object Model.
comment
adding to ASP or HTML page, 65
Component Object Model, 17
Concept Extraction, 181
creating a database, 26
creating index, 87
creating report from a Livelink Collections
Server proc, 130
creating Staff Security records, 36
customizing authority control, 102
customizing barcodes, 109
customizing database definitions, 41
customizing graphics, 60
customizing help topics, 132
customizing reports, 122
customizing thesauri for help topics, 137
customizing thesaurus definitions, 41
D
Data Definition Language, 23, 79
data dictionary, 23, 45
Data Dictionary report, 79
data types
Access database, 125
data validation, removing, 104
Database Management Definition Database
Extract module, 41, 79, 81, 103
Database Management Restructure module,
87, 89
Library Management Administration/Customization Guide
database models, 23
database server, 19, 20
date formats, 156
dates, locale patterns, 158, 160
DDB
See Definition Database.
DDL
See Data Definition Language.
default settings, 56
defining a data source, 67
defining checkout periods, 44
defining renewal privileges, 44
defining user access to modules and tasks, 45
Definition Database, 22, 23
delete records
batch delete procs, 151
Invoice records, 151
Order records, 152
Prediction records, 154
Subscription records, 155
Digital Content Module
display changes, 181
temporary diretcory, 181
Directory Server, 162
Directory services, 162
directory structure, 49
DISCONNECT command, DMSA, 138
display only field, on ASP, 95
displaying reports
report too complex error, 179
unscrambling corrupted data, 179
displaying requests, 57
DLL
See dynamic link libraries.
DMDBA module, 41, 103, 104
DMDDBE module
See Database Management Definition
Database Extract module.
DMR module
See Database Management Restructure
module.
DMSA module, 31, 41, 132
DMUSER module, 32, 179
drop-down box, on ASP, 94
dumping database, 82
dynamic link libraries, 50
E
exceptions fields, 102
F
field-level help, 132
changing, 84
file naming conventions, 51
FQM commands, 129
FQMA model, 81, 82
functions
See Active Server Page functions.
G
general Active Server Pages, location, 51
gif files
graphics, 62
global search and replace, 45
global variables, 56
Glossary icon
in help topics, 134
graphics
colors, 60
customizing, 60
font characteristics, 61
image sizes, 62
template files, 62
H
Help icon, 134
in help topics, 134
help topic key, 147
help topic links, 134
help topics, 45
help topics search form, 135
help topics search logic, 137
help topics search summary form, 135
HTML_object record
in tlphelp database, 132
HTML_object view
of ALL model in tlphelp database, 140
I
icon description
See tooltip text.
icons in help topics, 134
IIS
See Internet Information Server.
images, location, 54
191
include files, location, 56
internationalizing help topics, 148
Internet Information Server, 17, 19
Invoice records
deleting, 151
iReport, 112, 113, 122, 123
J
JasperReports, 112
acquisitions module, 116, 117
cataloging module, 114
changing location, 57
circulation module, 115
creating, 126
customizing, 122
file names, 114
generation workflow, 113
longevity of, 121
role of, 121
serials module, 116
tips, 126
using, 113
JDBC, 113
journal files, 23
K
key
topic help, 147
Keywrds thesaurus, 137
L
LDAP, 162
LDAP directory
mapping, 169
LDAP server information
changing, 165
LDAP settings
changing, 163
libraries as multiple entities, 129
libraries as separate entities, 129
Library Management Administration module,
41
Library Management Integration, 18, 20, 33
Library Management translation table, 71
library selection box processing, 129
library-location, 44
address, 44
192
link syntax, 144
links, among help topics, 134
locale patterns for date, 158, 160
localizing help topics, 148
logic for reports, 117
login form
changing, 62
Login form, 68, 69
login.asp file, 69
login.asp page, 163
longevity of JasperReports, 121
longevity of reports, 121
M
making report directory sharable, 113
manipulating date formats, 156
manipulating time formats, 156
Mapping
between LDAP and Patron record, 169
Master Definition Database, 22
material type, 44
MDDB
See Master Definition Database.
menu pages, location, 53
Microsoft Active Platform, 17
Microsoft FrontPage, 146
Microsoft InterDev, 42, 90
Microsoft Visual Basic, 43
Microsoft Visual InterDev, 18, 43
Microsoft Visual Studio, 43, 146
models
in User Data Model, 82
Models
in User Data Model, 81
models, database, 23
modifying ASPs, 90
modifying authority control messages, 103
modifying form table, 72
N
navigational graphics, 60
O
ODBC
See Open DataBase Connectivity.
ODBC 32 Data Source Administrator, 67
online help topics, 45
Library Management Administration/Customization Guide
OPAC
changing the OPAC URL, 76
changing to an external OPAC, 76
OPAC options, 18
Open Application Programming Interface
Remote Procedure Caller, 43
Open DataBase Connectivity, 18, 113
OPIRPC
See Open Application Programming
Interface Remote Procedure Caller.
OPIRPC port, 43
Order records
deleting, 152
Overview button, 134
P
Patron Notifications feature, 172
Patron record
mapping, 169
patron type, 44
PopupWindow Java Script function, 146
Prediction records
deleting, 154
preparing for upgrades, 44
procs
batch delete, 151
profiling, 41, 44
province list order, 78
R
RDB
See Record Database.
rearranging report format, 122
rebuilding
rebuilding Techlib.dll. See, See
reciprocation
of thesaurus terms, 139
Record Database, 23
Record Editing and Validation Language, 81,
82
Record Editing and Validation Language, 80
Record Editing and Validation Language, 103
Record relationships, 27
recovery procedures, 39
REGISTER command, DMSA, 31, 32
registering users, 26, 31
registering many users, 35
reloading database, 82
removing authority control, 104
removing data validation, 104
removing field from report, 122
removing search control, 104
Renew form
modifying form table, 72
replacing graphics
login form, 62
modules, 63
side menu, 63
subtasks, 63
tasks, 63
top menu, 63
report asp page, 114
report customizations, 122
report file names, 114, 117
report generation workflow, 113
Report Item Table, Access database, 120
Report Item Table, in ASP, 118
report layout pages, location, 53
report logic, 117
report maintenance, 78
report pages, location, 53
reports, 112
creating using Livelink Collections Server
Proc, 127
customizing, 112
longevity, 121
report too complex error, 179
unscrambling corrupted data, 179
reports lists, location, 53
ReportTableRelation callback function, 118
REREGISTER command, DMSA, 32
restricting access to library-locations, 36
result sets, number of members, 56
REVL
See Record Editing and Validation
Language.
rpt file, 121, 123
S
SDM
See Structural Data Model.
search and replace, 45
search control, removing, 104
Search icon
in help topics, 134
search logic
help topics, 137
searching help topics, 135
193
security, 36
Security, 31
Ser.css cascading style sheet, 177
setting up a test area, 43
setting up barcode reader, 109
setting up ODBC resource for reports
database, 113
Short Date Regional Setting, 156
SHOW/AUTHORIZATION command,
DMSA, 33
SHOW/SIGNONS command, DMSA, 138
SHOW/USERS command, DMSA, 33
side images, location, 54
simple input box, on ASP, 92
Single sign-on, 162
source code manager, 43, 81
special columns in reports, 130
SQL commands, 129
SSO, 162
Settings Token Name, 163
SSO settings
changing, 163
Staff Security task, 31, 36
state list order, 78
Structural Data Model, 25
Subscription records
deleting, 155
system settings, 45
system-wide parameters, updating, 45
T
Table 15-1, 123
Table of Contents icon
in help topics, 134
task description
See tooltip text.
Techlib.css cascading style sheet, 177
Techlib.dll
rebuilding, 45
techlib.tlt file, 71, 76, 99, 105, 106, 107, 132,
147
term relationship names
changing, 106, 107
text for reports and notices, 44
Text record, 129
textarea box, on ASP, 93
Thesaurus Database, 22, 23
changing names, 105
Thesaurus Manager module, 41
thesaurus,
194
editing Keywrds, 139
editing Titles, 139
three-tier architecture, 19
timeout settings, 158
Titles thesaurus, 137, 182
TlAcqCSS.inc file, 177
TlAdmCSS.inc file, 177
TlBaseCSS.inc file, 177
TlCatCSS.inc file, 177
TlCircCSS.inc file, 177
TlGlobal.inc file, 109
tlphelp database, 132, 140
TlSerCSS.inc file, 177
TLT
See Library Management translation table.
TM
See Thesaurus Manager module.
toolbar buttons, location, 55
toolbar icons, location, 55
tooltip text, 71, 72, 132
top images, location, 54
topic key
help, 147
Topic record
in tlphelp database, 132
Topic view
of ALL model in tlphelp database, 140
Topics button, 134
translation table, for ASP, 99
troubleshooting, 179
tthelp database, 137
U
UDM
See User Data Model.
unauthorizing user, 33
uncommenting page code, 65
unregistering user, 33
updating system-wide parameters, 45
updating the translation table, 99
upgrade preparation, 44
User Data Model, 25
User Manager utility
Collections Server Web Administrator, 31
V
vendor display, 95
versions of database, 23
Library Management Administration/Customization Guide
virtual column, processing, 118
virtual directory, 51
virtual directory, changing name of, 56
virtual field, 120
Visual InterDev, 18
W
web page, appearance, 49
web server, 20
Windiff utility, 44
Windows Notepad, 90
word list, 94
195