Livelink's API

To customize Livelink, we created new object types through a process that creates a new class derived from an existing class. A child object type inherits all the methods and features of its parent; but once derived, these can be overridden to provide customized functionality. New features and methods can also be created within the new class. The Bell Atlantic Tariff Management System implements a custom OSpace through which high-level user functions, delivered as controls on HTML pages, drive the various system functions. Many of these are standard to Livelink, such as check-in/check-out librarian functionality. Others are unique to custom tariff object types. Even the standard functions, however, are overridden to provide for behavioral differences for tariff object types. For example, when a file is first checked in to Livelink's document manager, the proper control structures are created in TopLeaf, and the file is passed to TopLeaf, where it is then typeset.

Livelink's API language bears a strong similarity to both C++ and UNIX shell scripting. In fact, it is implemented as a scripting language for use within its HTML pages. Called "WebScript," this language is virtually identical to OScript, but has some nuances that distinguish it from OScript. Livelink's HTML pages are templates that are cached by the Livelink server when it first starts. The templates are not valid HTML (although they could be). Instead, they contain WebScript instructions to query Livelink, build controls, and otherwise populate the HTML page with information derived from the Livelink database. It is possible to not only build controls, but to dynamically generate JavaScript based on the result set returned from the Livelink database.

Through a combination of these two techniques, it is possible to completely override Livelink's out-of-the-box behavior.

-- J.S.B.

Back to Article