Livelink UNITE Widget Developers Guide

Embed Size (px)

DESCRIPTION

livelink

Citation preview

  • Livelink UNITE

    Livelink UNITE Widget Developers Guide

    This manual explains how to develop custom information sources for Livelink UNITE using the Livelink UNITE Widget Development Kit.

    3701910.1

  • ii

    Copyright 2002 by Open Text Corporation. The copyright to these materials and any accompanying software is owned, without reservation, by Open Text. These materials and any accompanying software may not be copied in whole or part without the express, written permission of Open Text. Open Text Corporation is the owner of the following trademarks: BASIS, BASIS Desktop, BASIS Techlib, iRIMS, Livelink, Livelink Activators, Livelink Change Agents, Livelink Channels, Livelink Collaboration, Livelink Desktop, Livelink Directory Services, Livelink Discussions, Livelink eLink, Livelink Enterprise Activator, Livelink Explorer, Livelink Forms, Livelink Intranet, Livelink Library, Livelink LiveReports, Livelink MeetingZone, Livelink Notifications, Livelink Offline, Livelink OnTime, LiveLink PDF Forms, Livelink Project Collaboration, Livelink Prospectors, Livelink Remote Cache, Livelink SDK, Livelink Search, Livelink SmartAgent, Livelink Spider, Livelink Tasks, Livelink Workflow, myLivelink, OnTime, Open Text, and WorkSmart. Other trademarks and trade names in the documentation are owned by other companies and are used for product and company identification and information only. All rights reserved. Open Text is the owner of other registered and unregistered trademarks. The above trademark listing is not exhaustive. Open Text Corporation provides certain warranties and limitations in connection with the software that this document describes. For information about these warranties and limitations, refer to the license agreement entered into between the licensee and Open Text Corporation.

    JacORB is included as part of Livelink UNITE. JacORB and its use are covered by the GNU Library General Public License as published by the Free Software Foundation, either version 2 of the License or (at your option) any later version. A copy of version 2 of the License is provided when the software is installed. For further information about JacORB, visit http://www.jacorb.org/.

    JSuite tree view copyright 1992-2001 Infragistics, Inc. All rights reserved.

    OMG, CORBA, and OMG Interface Definition Language (IDL) are trademarks or registered trademarks of Object Management Group, Inc. in the United States.

    Microsoft, Internet Explorer, MS-DOS, Windows NT, and Windows 2000 are registered trademarks of Microsoft Corporation in the United States and/or other countries.

    Netscape is a registered trademarks of Netscape Communications Corporation in the United States and other countries.

    Sun, Sun Microsystems, the Sun logo, Solaris, iPlanet, Java, Java Virtual Machine, and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.

    Oracle is a registered trademark of Oracle Corporation.

    Written by Paul Mercurio. Technical reviews by Ann Minton and Scott Carlson.

    Contacting Us

    Open Text Corporation, 185 Columbia Street West, Waterloo, Ontario N2L 5Z5 Canada

    (519) 888-7111 If you subscribe to our Customer Assistance Program or would like more information about the support program, visit Open Text Customer Support at http://www.opentext.com/services/support.html. If you have suggestions for this publication, send an e-mail message to [email protected] to contact the Open Text Publications Group.

    Visit our home page at http://www.opentext.com for more information about Open Text products and services.

  • iii

    Typographical Conventions Used in This Guide All information in the following table is case-sensitive unless otherwise noted.

    Items Convention

    File names, directory names, folder names, path names, window names, dialog box names, Web page names, URLs, and e-mail addresses

    These items appear in regular (normal) typeface. Some elements in italic indicate placeholders. Examples: Run setup.exe to start the installation program. Open the Livelink_home/config/opentext.ini file in a text

    editor. Note The placeholder Livelink_home represents the

    Livelink root directory (directory where Livelink was installed).

    Send an e-mail message to [email protected] to contact Open Text Customer Support.

    In the Windows NT Control Panel, double-click the Services icon to open the Services dialog box.

    Names of user interface elements, such as buttons, links, menus, check boxes, radio buttons, lists, fields, and so on

    These items appear in bold typeface. Examples: On the Tools menu, click Search. In the Services dialog box, click Livelink Server :

    service_name , and then click the Start button. Click the items Functions icon, choose Info, and then choose

    General. Click the Admin Home link.

    Variable placeholders, references to other documents, new or special terminology, and emphasis

    These items appear in italic typeface. Examples: For more information, see the Livelink First-Time Installation

    Guide. You can scan new documents for content of interest by

    saving your search criteria in a query called a prospector. In your Web browser, go to the default Livelink start page at

    protocol://host:port/URL_prefix/livelink.exe, where protocol is http or https, host is the DNS name of the HTTP server host, port is the port number on which the HTTP server is listening, and URL_prefix is the prefix mapped to the Livelink_home/cgi directory in the HTTP server.

  • iv

    Items Convention

    References to chapters and sections of documents, and citations of messages displayed to users

    These items appear in quotation marks. Examples:

    For more information, see Chapter Three, Projects, in the Livelink QuickStart for Users guide.

    For more information, see Item Types in Chapter Five, Livelink Items.

    For more information, see Item Types, page 150.

    If the import completes successfully, Oracle displays the message Database import completed without errors.

    Operating system commands, code examples, feature names, method names, object names, and text typed by users

    These items appear in a monospaced font. Examples:

    In the User Name field, type Admin. At the operating system prompt, type start-llserver,

    and then press ENTER.

    When searching for users, you can set the maximum number of users displayed per page by setting the value (default is 30) of the MaxUsersToListPerPage parameter in the [general] section of the opentext.ini file.

    Key names Key names appear in ALL CAPS.

    Examples:

    Press ENTER to start a new line when typing in this field.

    To select multiple items, hold down the CTRL key while you click the items that you want to select.

  • v

    Table of Contents

    Chapter One Overview ..............................................................................................................................1

    Livelink UNITE Components .............................................................................................2 Widgets.....................................................................................................................3 Livelink UNITE Extension .............................................................................................3

    Member Requests...............................................................................................3 Widget Responses ..............................................................................................4 Member Access .................................................................................................4

    Front Page Widget ...................................................................................................4 Profile Data ...............................................................................................................5 Site Profile .................................................................................................................6 System Profile............................................................................................................6 Member Profile .........................................................................................................7 Naming Service Object............................................................................................8 System Log Object ...................................................................................................9

    How Livelink UNITE Processes Requests ......................................................................... 10 Signing In ................................................................................................................ 10 Widget Requests..................................................................................................... 11

    Prerequisite Knowledge................................................................................................ 13 Livelink UNITE Interface ........................................................................................... 13 Java........................................................................................................................ 13 HTML and JavaScript.............................................................................................. 13 CORBA .................................................................................................................... 14

    Interface Definition Language......................................................................... 14 Object Request Broker ..................................................................................... 15 CORBA Resources ............................................................................................ 15

    Widget Development Strategy .................................................................................... 16 Determine Widget Architecture ....................................................................... 16 Plan Widget Section and Page Features ......................................................... 16 Start Coding/Refer to the Sample Widget ....................................................... 16 Set the Required Widget Property Variables .................................................... 17 Test the Widget................................................................................................. 17 Install the Widget.............................................................................................. 17

  • vi

    Chapter Two Livelink UNITE IDL Interfaces ................................................................................................ 19

    Widgets......................................................................................................................... 20 Widget Architecture......................................................................................... 20

    Widget IDL File ........................................................................................................ 20 Registering Widgets ................................................................................................ 20 Widget Functions .................................................................................................... 21

    Section Rendering ............................................................................................ 21 Page Rendering ............................................................................................... 22

    Full-Page View ............................................................................................ 22 Detach-Page View..................................................................................... 22 Configuration Page.................................................................................... 22 Administration Page ................................................................................... 23

    Widget Online Help ................................................................................................ 23 Custom Help File Location................................................................................ 24

    Profiles........................................................................................................................... 25 Profile Structure....................................................................................................... 25

    Node Key Path ................................................................................................. 26 Member Profiles ...................................................................................................... 26

    Member Profile Structure.................................................................................. 26 Retrieving Member Profile Objects ................................................................... 27

    System Profile.......................................................................................................... 27 Retrieving the System Profile............................................................................. 28

    Profile IDL File.......................................................................................................... 28 Viewing Profile Contents ........................................................................................ 28

    System Log Writer ......................................................................................................... 29 Logging System Information ................................................................................... 29 Log Settings ............................................................................................................ 29 Access to the System Log Writer Object ................................................................ 30

    Chapter Three Installing the Widget Developers Kit .................................................................................. 31

    Installing the Livelink UNITE WDK on Windows Computers ............................................ 32 Installing the Livelink UNITE WDK on Solaris Computers................................................. 33

  • vii

    Chapter Four Sample Widgets.................................................................................................................. 35

    Overview ...................................................................................................................... 36 Sample Widget Files ............................................................................................... 36 Java Sample Widget Requirements ....................................................................... 36 Java Sample........................................................................................................... 37 Java Sample Widget Files....................................................................................... 37 Build the JBookmark Widget................................................................................... 39

    Set the Widget Environment ............................................................................. 39 Compile the IDL ................................................................................................ 39 Compile the JBookmark Java Files................................................................... 40 Copy JBookmark Support Files ......................................................................... 40

    Test and Install the JBookmark Widget................................................................... 41 Test JBookmark ................................................................................................. 41 Install JBookmark .............................................................................................. 42

    Troubleshooting .......................................................................................... 42 Stop the JBookmark Widget............................................................................. 42

    Uninstall the JBookmark Widget ............................................................................. 43 Using the Sample Widget ............................................................................................. 44

    Administration................................................................................................... 44 Adding a Section.............................................................................................. 45 Configuration ................................................................................................... 46 Sample Widget Features .................................................................................. 47 Section Statistics ............................................................................................... 48

    Chapter Five Upgrading Custom Widgets................................................................................................ 49

    Overview ...................................................................................................................... 50 Upgrading C++ Custom Widgets ........................................................................... 50

    Upgrading Custom Widgets from myLivelink 9.0 to Livelink UNITE................................ 51 Convert the Livelink UNITE IDL Files.......................................................................... 51 Recompile Custom Widgets ................................................................................... 51 ORB Modifications .................................................................................................. 51

    Upgrading Custom Widgets from a myLivelink Release Pre-9.0 ................................... 52 Upgrading Java Custom Widget Code ................................................................. 52

    Using the JBookmark Sample Widget............................................................... 52

  • viii

    Code and JavaScript Upgrades ...................................................................... 53 Copy Your Widget Code............................................................................ 53 Profile Operation Data Structure ................................................................ 53 System Profile Access ................................................................................. 54 Upgrade Status Methods............................................................................ 54 Exception Message Processing .................................................................. 55 Updated Log Message Format .................................................................. 55 New Notification Types Processing ............................................................. 56 Test Your Widget......................................................................................... 57

    View Profile Support Upgrades ............................................................................... 58 Suppressing the Section Configuration Button ................................................. 58 Retrieving Data for Detached and Full-Page Views ........................................ 59

    Accessing the Profile .................................................................................. 59 Passing the Referenced Profile Name ........................................................ 59 Action Menu Processing ............................................................................. 60

    Test Your Widget............................................................................................... 61 JavaScript and Online Help Upgrades ................................................................... 61 JavaScript Modifications ........................................................................................ 61

    Including Additional JavaScript Files ................................................................ 61 Setting the Redirect URL ................................................................................... 62 Button Processing ............................................................................................. 62

    Administration Pages .................................................................................. 62 Configuration Pages................................................................................... 63

    Administration and Configuration Page Descriptions ...................................... 64 Update HTML Form Definitions .......................................................................... 64 New Page_Write () Method.............................................................................. 64 Defining the Section Title Input Box .................................................................. 65 jsQuote and jsString Function Usage ................................................................ 65

    Choosing a Function .................................................................................. 66 Help File Upgrades.................................................................................................. 68

    Chapter Six Livelink UNITE IDL Reference ............................................................................................... 71

    Widget Interface .......................................................................................................... 72 RenderSection .................................................................................................. 73

    IDL Syntax ................................................................................................... 73 Parameter .................................................................................................. 73 Exceptions .................................................................................................. 73

  • ix

    RenderPage ..................................................................................................... 74 IDL Syntax ................................................................................................... 74 Parameter .................................................................................................. 74 Return Value............................................................................................... 74 Exception.................................................................................................... 74

    StatusGet.......................................................................................................... 75 IDL Syntax ................................................................................................... 75 Parameter .................................................................................................. 75 Return Value............................................................................................... 75

    StatusClear ....................................................................................................... 76 IDL Syntax ................................................................................................... 76 Parameter .................................................................................................. 76

    Notify ................................................................................................................ 77 IDL Syntax ................................................................................................... 77 Parameter .................................................................................................. 77 Notification Types ....................................................................................... 77

    Ping................................................................................................................... 79 IDL Syntax ................................................................................................... 79

    Destroy.............................................................................................................. 80 IDL Syntax ................................................................................................... 80

    RenderRawPage.............................................................................................. 81 IDL Syntax ................................................................................................... 81

    RenderProgressivePage ................................................................................... 82 IDL Syntax ................................................................................................... 82

    Widget_SectionCallback Interface.............................................................................. 83 RenderSectionCallback ................................................................................... 83

    IDL Syntax ................................................................................................... 83 Parameter .................................................................................................. 83

    Widget Data Structures ................................................................................................ 84 Section Data Structures .......................................................................................... 85

    SectionInfo ........................................................................................................ 86 Setting Fields ............................................................................................... 86 IDL Definition............................................................................................... 86 Fields ........................................................................................................... 86

    SectionSpec ..................................................................................................... 88 IDL Definition............................................................................................... 88 Fields ........................................................................................................... 88

    SectionSize........................................................................................................ 91 IDL Definition............................................................................................... 91

  • x

    Fields ........................................................................................................... 91 Page Data Structures ............................................................................................. 92

    PageInfo ........................................................................................................... 93 Setting Fi elds ............................................................................................... 93 IDL Definition............................................................................................... 93 Fields ........................................................................................................... 93

    PageInfoButton................................................................................................. 96 IDL Definition............................................................................................... 96 Fields ........................................................................................................... 96

    PageInfoButtonSeq .......................................................................................... 97 IDL Definition............................................................................................... 97

    PageInfoCookie ............................................................................................... 98 IDL Definition............................................................................................... 98 Fields ........................................................................................................... 98

    PageInfoCookieSeq ......................................................................................... 99 IDL Definition............................................................................................... 99

    PageInfoCookieStatus .................................................................................... 100 IDL Definition............................................................................................. 100 Values ....................................................................................................... 100

    PageSpec....................................................................................................... 101 IDL Definition............................................................................................. 101 Fields ......................................................................................................... 101

    PageInfoHeaderType..................................................................................... 104 IDL Definition............................................................................................. 104 Values ....................................................................................................... 104

    Request Data Structures ....................................................................................... 105 RequestArgs.................................................................................................... 106

    IDL Definition............................................................................................. 106 Fields ......................................................................................................... 106

    RequestArgsSeq ............................................................................................. 107 IDL Definition............................................................................................. 107

    RequestCookie............................................................................................... 108 IDL Definition............................................................................................. 108 Fields ......................................................................................................... 108

    RequestCookieSeq ......................................................................................... 109 IDL Definition............................................................................................. 109

    Status Data Structures .......................................................................................... 110 Status .............................................................................................................. 111

    IDL Definition............................................................................................. 111

  • xi

    Fields ......................................................................................................... 111 StatusSeq ........................................................................................................ 112

    IDL Definition............................................................................................. 112 Field .......................................................................................................... 112

    General Data Structures ....................................................................................... 113 WStringSeq ...................................................................................................... 113

    IDL Definition............................................................................................. 113 Widget Exceptions...................................................................................................... 114

    WidgetError ..................................................................................................... 114 IDL Definition............................................................................................. 114 Field .......................................................................................................... 114 Livelink UNITE Errors.................................................................................... 114 Java Example........................................................................................... 115

    Profile Interface .......................................................................................................... 116 Copy............................................................................................................... 117

    IDL Syntax ................................................................................................. 117 Parameters ............................................................................................... 117

    Destroy............................................................................................................ 118 IDL Syntax ................................................................................................. 118

    KeyGet ........................................................................................................... 119 IDL Syntax ................................................................................................. 119 Parameter ................................................................................................ 119 Return Value............................................................................................. 119

    KeyExists .......................................................................................................... 120 IDL Syntax ................................................................................................. 120 Parameter ................................................................................................ 120 Return Value............................................................................................. 120

    KeyList ............................................................................................................. 121 IDL Syntax ................................................................................................. 121 Parameter ................................................................................................ 121 Return Value............................................................................................. 121

    KeyListSort ....................................................................................................... 122 IDL Syntax ................................................................................................. 122 Parameters ............................................................................................... 122 Return Value............................................................................................. 122

    Modify............................................................................................................. 123 IDL Syntax ................................................................................................. 123 Parameter ................................................................................................ 123 Java Example........................................................................................... 123

  • xii

    NameGet ....................................................................................................... 124 IDL Syntax ................................................................................................. 124 Return Value............................................................................................. 124

    NKeys .............................................................................................................. 125 IDL Syntax ................................................................................................. 125 Parameter ................................................................................................ 125 Return Value............................................................................................. 125

    NProperties ..................................................................................................... 126 IDL Syntax ................................................................................................. 126 Parameter ................................................................................................ 126 Return Value............................................................................................. 126

    PropertyAuthenticate..................................................................................... 127 IDL Syntax ................................................................................................. 127 Parameters ............................................................................................... 127 Return Value............................................................................................. 127

    PropertyExists .................................................................................................. 128 IDL Syntax ................................................................................................. 128 Parameters ............................................................................................... 128 Return Value............................................................................................. 128

    PropertyGet.................................................................................................... 129 IDL Syntax ................................................................................................. 129 Parameters ............................................................................................... 129 Return Value............................................................................................. 129

    PropertyGetDecrypt....................................................................................... 130 IDL Syntax ................................................................................................. 130 Parameters ............................................................................................... 130 Return Value............................................................................................. 130

    PropertyGetDefaulted .................................................................................... 131 IDL Syntax ................................................................................................. 131 Parameters ............................................................................................... 131 Return Value............................................................................................. 131

    PropertyList ..................................................................................................... 132 IDL Syntax ................................................................................................. 132 Parameter ................................................................................................ 132 Return Value............................................................................................. 132

    PropertyListNoDefault ..................................................................................... 133 IDL Syntax ................................................................................................. 133 Parameter ................................................................................................ 133 Return Value............................................................................................. 133

  • xiii

    SectionGet ..................................................................................................... 134 IDL Syntax ................................................................................................. 134 Parameter ................................................................................................ 134 Return Value............................................................................................. 134

    Profile Data Structures ................................................................................................ 135 ProfileValue .................................................................................................... 136

    IDL Definition............................................................................................. 136 Fields ......................................................................................................... 136

    ProfileValueSeq .............................................................................................. 137 IDL Definition............................................................................................. 137

    ProfileOperation ............................................................................................. 138 IDL Syntax ................................................................................................. 138 Fields ......................................................................................................... 138

    ProfileOperationSeq ....................................................................................... 139 IDL Definition............................................................................................. 139 Field .......................................................................................................... 139

    ProfileChild...................................................................................................... 140 IDL Definition:............................................................................................ 140 Fields ......................................................................................................... 140

    ProfileChildSeq ............................................................................................... 141 IDL Definition............................................................................................. 141

    ProfileSection .................................................................................................. 142 IDL Definition............................................................................................. 142 Fields ......................................................................................................... 142

    OperationType ............................................................................................... 143 IDL Definition............................................................................................. 143 Values ....................................................................................................... 143

    Profile Exceptions........................................................................................................ 145 ProfileCannotRemoveRoot ............................................................................ 145

    System Log Writer Interface ........................................................................................ 146 System Log Writer IDL File...................................................................................... 146

    Append .......................................................................................................... 147 Parameter ................................................................................................ 147

    AppendAsSender ........................................................................................... 148 Parameters ............................................................................................... 148

  • xiv

    Chapter Seven Required JavaScript Variables ......................................................................................... 149

    Widget Presentation and Administration.................................................................... 150 Widget Name............................................................................................................. 151 Administration Page Description ................................................................................ 152

    Index ................................................................................................................................ 153

  • 1

    Chapter One

    Overview

    Livelink UNITE is a customizable storage area that helps you organize and improve the way you access Livelink data and information from a variety of other sources. It provides its members with a single location from which they can access different types of information and allows them to configure the appearance of that information to suit their individual preferences. This document explains how to build custom information sources with the Livelink UNITE Widget Development Kit.

    This chapter provides an overview of Livelink UNITE and the knowledge required to develop Livelink UNITE request-handler objects, called widgets.

    Livelink UNITE Components, page 2

    How Livelink UNITE Processes Requests, page 10

    Prerequisite Knowledge, page 13

    Widget Development Strategy, page 16

  • Livelink UNITE Components

    2 Livelink UNITE Widget Developer's Guide

    Livelink UNITE Components Livelink UNITE is comprised of several types of distributed objects. The objects communicate through the Common Object Request Broker Architecture (CORBA) protocol.

    Figure 1-1: Livelink UNITE System Architecture

  • Livelink UNITE Components

    Overview 3

    Widgets Widgets are request-handler objects in Livelink UNITE; they are the interface to any content provider presented through Livelink UNITE. Each Livelink UNITE section and page is generated by a widget. For example, the Livelink Virtual Workspace widget exposes Livelink items, and the Weather widget displays weather forecasts. Widgets expose data by performing the following operations:

    Contacting data sources

    Retrieving data from the data source and caching it

    Rendering data in Livelink UNITE

    Providing a user interface for administration and configuration (if required)

    Widgets are Java objects that conform to Livelink UNITEs widget Interface Definition Language (IDL) specification. The widget interface specification contains descriptions of the methods and data structures used to gather data from a content provider and render it for display in a Livelink UNITE section or page. For more information about the widget IDL specification, see Livelink UNITE IDL Interfaces, page 19.

    Livelink UNITE Extension The Livelink UNITE extension integrates with a Web server through Microsoft Internet Information Server ISAPI extension, or a Common Gateway Interface (CGI) program. The Livelink UNITE extension manages the following events:

    Member requests

    Widget responses

    Member access

    Member Requests Livelink UNITE requests are sent to Livelink UNITE in the form of a hypertext universal resource locator (URL). The Livelink UNITE extension interprets and forwards the requests to the appropriate request-handler object, or widgets. The Livelink UNITE extension sends the following to widgets:

    All information required to complete the request, including system settings

    Member data, including system permissions, preferences, and cookies

    The default browser language, which it determines by comparing the members list of accept language settings with the accept languages in the Livelink UNITE registry

    Optional arguments embedded in the URL

    For more information about the data that the Livelink UNITE extension provides to widgets, see the Livelink UNITE Customization Guide.

  • Livelink UNITE Components

    4 Livelink UNITE Widget Developer's Guide

    Widget Responses Responses from Livelink UNITE widgets are returned to the Livelink UNITE extension. Before returning results to the members browser, the extension performs the following tasks:

    Creates Livelink UNITE page headers and footers

    Determines which browser accept language to use

    Includes the data and JavaScript files specified by the widget

    Member Access The Livelink UNITE extension verifies that members are signed in to Livelink UNITE. If the member is not signed in, the extension redirects the request to the Livelink UNITE Sign In page.

    Also, the Livelink UNITE extension retrieves and passes the members Livelink UNITE profile as part of each request sent to a widget.

    Front Page Widget The Front Page widget generates the Livelink UNITE page that appears when Livelink UNITE members sign in. The Livelink UNITE front page contains the tabs and sections that a Livelink UNITE member creates and customizes. Each time a member signs in to Livelink UNITE, a request is sent to the Front Page widget, which then processes that request to produce the correct front page for the member.

    When the Front Page widget receives a request, it performs the following operations:

    Reads the Livelink UNITE members profile settings to determine which tabs and sections to display on the front page.

    Sends requests to the widgets that supply the information on the members front page. For each section on the active tab, the Front Page widget contacts the corresponding widget and retrieves the appropriate information.

    The Front Page widget makes one-way calls to each widget; that is, it does not wait for a widget to respond before it sends the next widget request. After it sends the requests to the widgets, the Front Page widget waits for the widget to respond. If a widget does not respond in a period specified by the front page timeout value, the widgets section displays a timeout error in its corresponding section on the front page.

    Livelink UNITE generates a new instance of the Front Page widget for each front page request that it receives; however, Livelink UNITE deletes the instance as soon as the Front Page widget completes the request and displays the corresponding members front page.

  • Livelink UNITE Components

    Overview 5

    The following image is a sample front page, as generated by the default Front Page widget. For information about adding tabs and sections to your front page, see the Livelink UNITE User Online Help.

    Figure 1-2: Sample Livelink UNITE Front Page

    Profile Data Livelink UNITE maintains site, system, and member profile data. The Site profile stores information about the domains configured in a Livelink UNITE installation and global administration settings for certain widgets. The System profile stores administrative information for a Livelink UNITE domain. The member profile stores personalized information for a Livelink UNITE member account.

    The Livelink UNITE Profile Manager manages the Site, System, and Member profiles. Although the Profile Manager is a required component of Livelink UNITE, it remains completely transparent to Livelink UNITE members and administrators.

  • Livelink UNITE Components

    6 Livelink UNITE Widget Developer's Guide

    Site Profile Each Livelink UNITE installation has a Site profile that stores the following information:

    Domains, which includes information about the Livelink UNITE domains enabled in the Livelink UNITE installation. The system maintains information in a default domain named LivelinkUNITE_Site even if you do not enable domains in your Livelink UNITE installation. For more information about domains, see Domains in the Livelink UNITE Installation and Administration Guide.

    Widgets , which includes widget administration settings that apply across all domains in a Livelink UNITE installation

    System Profile Each Livelink UNITE domain has a System profile that stores administrative information for the domain. By default, the System profile contains the following types of information:

    General, which includes general administrative properties for the Livelink UNITE domain, such as sign-up capabilities and response timeout values. The System profile stores the general administration settings that Livelink UNITE administrators specify on the General Settings page in Livelink UNITE. For more information about general settings, see Change General Settings in the Livelink UNITE Admin Online Help.

    Views, which includes a list of all views defined in the Livelink UNITE domain and their attributes. For more information about views, see Views in the Livelink UNITE Installation and Administration Guide or the Livelink UNITE Views Online Help.

    View Names, which is a list of all view names in the Livelink UNITE domain. Each Livelink UNITE domain requires all views to have a unique name. When a new view is created, the system checks the list of view names to ensure that a view with the same view name does not already exist.

    Passwords, which includes password properties for the Livelink UNITE domain, such as the minimum length, the number of characters and digits required, the password history size, and password expiration rules. For more information about password settings, see Change Password Settings in the Livelink UNITE Admin Online Help.

  • Livelink UNITE Components

    Overview 7

    Profiles, which includes default profile information that Livelink UNITE administrators set for the Livelink UNITE domain. Each Livelink UNITE member account includes a profile that contains his or her personal section and tab selections, and custom settings. Livelink UNITE administrators can create default profiles and make them available as templates for new Livelink UNITE member account profiles. Also, if Livelink UNITE View Administrators want to make a particular members profile configuration available to other Livelink UNITE members, they add that profile to the list of profiles available on the Profiles menu for all members of the view. Other members can select the profile and view its tabs and sections in read-only mode. This allows View Administrators to publish pre-configured tabs and sections to view members. For more information about default profiles and view profiles, see the Livelink UNITE Admin Online Help and Livelink UNITE Views Online Help.

    Widgets , which includes administrative properties for each widget in the Livelink UNITE domain, such as domain-specific administration information for custom widgets.

    Member Profile The first time that a Livelink UNITE member signs in, Livelink UNITE generates a member profile. All Livelink UNITE member accounts include a profile. Member profiles store a members custom tab and section configuration settings. For example, if a Livelink UNITE member adds a Weather section to a tab and configures the section to display weather forecasts for certain cities, Livelink UNITE stores the section configuration information in the members profile. Member profiles store all the preferences and customizations that Livelink UNITE members can make, such as:

    Member information (for example, a greeting, name, and company information)

    Password

    Default tab configuration

    Members can view their member profiles by clicking My Profile on the Profiles menu. System or View Administrators can prevent members from having access to member profiles. If members cannot access member profiles, the tabs and sections they can view are determined by the profiles published to the views to which they belong.

  • Livelink UNITE Components

    8 Livelink UNITE Widget Developer's Guide

    Naming Service Object Livelink UNITEs Naming service object contains a directory of registered widgets, the system profile, and other Livelink UNITE objects. A Livelink UNITE object must register with the Naming service object before it can communicate with another Livelink UNITE object. The Livelink UNITE extension locates the target object by referring to the listings in Livelink UNITEs Naming service object. After the target object is found, subsequent transactions continue between the objects, without calling the Naming service object.

    Widgets refer to Livelink UNITEs Naming service object to:

    Register the widget each time the widget starts

    Unregister the widget each time the widget stops

    A reference to Livelink UNITEs Naming service object is derived through a textual Interoperable Object Reference (IOR) file. A textual IOR is an ASCII stream of hexadecimal digits that represent a CORBA object reference. The location of the Livelink UNITE Naming service object IOR file is:

    UNITE_home\ior\naming.ior

    where UNITE_home is the directory path to the folder where Livelink UNITE program files are installed.

    The Naming service object is accessed through operations specified in the JacORB IDL file COSNaming.idl.

  • Livelink UNITE Components

    Overview 9

    System Log Object Livelink UNITEs system log object allows widgets to write information to Livelink UNITEs system log. Widgets access Livelink UNITEs system log object through Livelink UNITEs System Log IDL specification. For more information about the System Log IDL specification, see System Log Writer Interface, page 146.

  • How Livelink UNITE Processes Requests

    10 Livelink UNITE Widget Developer's Guide

    How Livelink UNITE Processes Requests Members submit requests to Livelink UNITE through URLs. The Livelink UNITE extension processes the sign-in and widget requests and returns the results to members.

    Signing In Livelink UNITEs default location is a request to display the front page for a guest account. From the guest account, members can:

    Sign in as an existing member and view the tabs and sections they configured in previous sessions

    Create a new member account on the Sign Up page if the administrator permits open enrollment

    Access the information sources (if any) configured by the system administrator for the guest account

    The first time a member signs in, the Livelink UNITE extension creates a persistent member profile to store the member's personal information. With each successive sign in, the Livelink UNITE extension retrieves the member profile for reference for each request.

  • How Livelink UNITE Processes Requests

    Overview 11

    Widget Requests The following diagram explains how Livelink UNITE processes a sample request for processing from a widget (in this case, using ISAPI integration).

    Figure 1-3: Sample Widget Request Processed by Livelink UNITE

  • How Livelink UNITE Processes Requests

    12 Livelink UNITE Widget Developer's Guide

    A member submits a request by clicking a link or image displayed in the browser. For example, the member submits the following URL after clicking the Edit button on the Weather section:

    http://host/unite/unite.dll?widget=weather&Request=Config&Tab=T0002&Section=10001

    The Web server forwards the request to the Livelink UNITE extension, which it locates through the virtual directory mapping, unite.

    The extension identifies the target widget weather. If no widget is specifi ed, the system uses the Front Page widget by default.

    The extension sends the request to the Weather widget. It also sends the information required to complete the request, including the system and member profiles, and passes any arguments from the URL, which in this example are:

    Request=Config, Tab=T0002, Section=10001 where Config is the name of the request, T0002 is the tab where the section is displayed, and 10001 is the placement of the section on the tab.

    The widget receives the request and directs processing to its appropriate function. In this example, the widgets RenderPage function reads the member profile to collect the current configuration page settings and then generates JavaScript code that makes up the Weather sections Configuration page. When processing finishes, the widget passes the results to the Livelink UNITE extension.

    The extension provides a page or section header and footer, inserts the JavaScript and data generated by the widget as the body, and then returns it to the members browser.

    The members browser interprets the JavaScript functions and data to create the Livelink UNITE page.

  • Prerequisite Knowledge

    Overview 13

    Prerequisite Knowledge Livelink UNITE widget developers must have knowledge of the following:

    Livelink UNITE member interface

    Java

    HTML and JavaScript

    CORBA

    Livelink UNITE Interface Before beginning widget development, developers must understand the basic functionality of the Livelink UNITE interface. For example, a developer should know:

    Interface elements, like tabs, sections, and pages

    Basic member tasks, like signing in to the system and personalizing the interface

    Common administrative and configuration tasks for pre-packaged widgets

    For more information about Livelink UNITEs interface, see the online help pages provided throughout Livelink UNITE.

    Java Widget developers must have experience developing Java programs. Also, an IDL compiler is required for both development platforms.

    To develop Java widgets or to work with the Livelink UNITE Java sample widgets, Open Text recommends that you use the Java Development Kit (JDK) version 1.4.

    HTML and JavaScript All information gathered by a widget is presented as HTML sent to a members browser. The HTML produced by widgets is generated by Livelink UNITE JavaScript functions that specify HTML code. Using JavaScript functions to specify section or page content is a Livelink UNITE standard; it provides greater performance and more flexibility in presenting information in a variety of languages. For more information about the Livelink UNITE JavaScript functions, see Required JavaScript , page 149 in the Livelink UNITE Customization Guide.

  • Prerequisite Knowledge

    14 Livelink UNITE Widget Developer's Guide

    CORBA You must have Common Object Request Broker Architecture (CORBA) programming knowledge before you can develop Livelink UNITE widgets. Livelink UNITE objects communicate with each other through the CORBA protocol. CORBA is part of a suite of standards developed and maintained by the Object Management Group (OMG). The OMG is a consortium of software companies and academic institutions that are dedicated to the development and promotion of standardized object software.

    CORBA provides the basic infrastructure for distributed object systems that are multi-platform and multi-language. CORBA applications can request services from each other regardless of the language used to create them, the platform on which they operate, or their location. A CORBA object behaves as if it were a local object even though it may have been created with Java technology and may reside on a remote network server.

    CORBA is a solution for organizations that need to extend the functionality of systems by accessing services available in other applications. Rather than redesigning these systems to suit the continually changing requirements of others, CORBA is implemented as a distribution technique that allows diverse systems to interoperate. In a CORBA environment, all applications that support CORBA can become objects that access one another.

    Interface Definition Language Access to Livelink UNITE widgets and other objects is described by the OMG Interface Definition Language (IDL). IDL is a programming language-neutral specification language that loosely resembles C++. IDL describes object interfaces and primitive data types used by CORBA objects. It serves as a contract between Livelink UNITE objects that request services and widget objects that implement the requests.

    Livelink UNITE IDL specification files are compiled in the development environment where the widgets are developed. As a result, Livelink UNITE IDL operations are mapped or translated into the constructs of the local programming language.

  • Prerequisite Knowledge

    Overview 15

    Object Request Broker The foundation of any CORBA system like Livelink UNITE is the Object Request Broker (ORB). The ORB provides the basic communications capabilities that allow Livelink UNITE objects to interact.

    Livelink UNITE uses a proprietary ORB based on The Ace ORB (TAO).

    CORBA Resources For detailed information about CORBA, including lists of CORBA reference materials, see the OMG web site at http://www.omg.org.

  • Widget Development Strategy

    16 Livelink UNITE Widget Developer's Guide

    Widget Development Strategy There is no specific procedure that explains how to design a custom widget; however, there are factors you may want to consider when you develop a widget. The following are general steps that Open Text recommends you follow when developing a custom widget.

    Determine Widget Architecture Design the widget architecture. A widget may consist of one or more objects. For example, the News and Weather widgets consist of three widget objects; a main widget renders section and page contents but it relies on feeder and cache widgets to gather and store data.

    Plan Widget Section and Page Features Decide which features are available on the widgets section and pages. For example, consider the following:

    Does the widget require an Administration page?

    Will the widget support a single or multiple Livelink UNITE domains?

    What settings do users make on the widgets Configuration page?

    Can members access detached or full-page views?

    How much online help is necessary?

    Livelink UNITE supports certain section and page features (for example, detached and full-page views). For more information about widget features, see Widget Functions, page 21.

    Start Coding/Refer to the Sample Widget The Livelink UNITE Widget Development Kit includes a Java sample bookmark widget. You can install and run the sample widget in your Livelink UNITE system. The sample widget program files contain detailed comments that explain how the sample methods generate Livelink UNITE sections and pages.

    In addition to providing reference information, you may choose to use the sample widget program files as templates. For example, each sample contains all of the methods required by the Livelink UNITE Widget IDL specification. Make copies of the sample widget files and reuse the sample code that meets your needs. For more information about the sample widgets, see Sample Widgets, page 35.

    Your widgets RenderPage and RenderSection methods generate Livelink UNITE section and page contents. The contents are specified through JavaScript variables and functions specified in a widgets JavaScript files. You can create your own JavaScript functions, use

  • Widget Development Strategy

    Overview 17

    pre-defined Livelink UNITE JavaScript variables and functions, or use a combination of custom and pre-defined variables and functions. For more information about Livelink UNITEs JavaScript variables and functions and widget JavaScript files, see the Livelink UNITE Customization Guide.

    Set the Required Widget Property Variables Livelink UNITE identifies a widget and its key characteristics through values you assign to three required JavaScript variables in your widgets JavaScript files. For more information about the required variables, see Required JavaScript Variables, page 149.

    Test the Widget Open Text recommends that you test your widget in a separate Livelink UNITE test system before you add it to your Livelink UNITE production system. You must register your widget with Livelink UNITE before you can make it available for testing.

    The sample widgets contain a script that allows you to test your widget in debug mode without installing it. You can adapt the sample widget scripts to meet your widgets requirements. For more information about using the sample widget scripts to run your widget in test mode, see Sample Widgets, page 35.

    Install the Widget After you test your widget to verify that it performs properly, install and register the widget with the Livelink UNITE production system. The sample widgets contain an installation script that automatically installs and registers a widget. You can adapt the sample widget scripts to meet your widgets requirements. For more information about using the sample widget scripts to install your widget, see Sample Widgets, page 35.

  • Widget Development Strategy

    18 Livelink UNITE Widget Developer's Guide

  • 19

    Chapter Two

    Livelink UNITE IDL Interfaces

    Livelink UNITE makes available three Interface Definition Language (IDL) interfaces to your custom widget. The interfaces define how a custom widget communicates with the system. The Livelink UNITE IDL interfaces are:

    Widgets , which are the request-handler objects in Livelink UNITE; they are the interface to any content provider presented through Livelink UNITE

    Profiles, which store information about the Livelink UNITE system and each Livelink UNITE member

    System log writer, which maintains Livelink UNITEs log file

    This chapter provides a general overview of each interface. The following topics are covered:

    Widgets, page 20

    Profiles, page 25

    System Log Writer, page 29

  • Widgets

    20 Livelink UNITE Widget Developer's Guide

    Widgets Widgets are Java programs that conform to Livelink UNITEs widget IDL specification. The specification requires the widget to gather data from a content provider and render it for display in a Livelink UNITE section or page, using specific methods and data structures. How widgets gather data from content providers is beyond the scope of the widget IDL specification. The IDL specification defines only how the data is rendered for presentation through the Livelink UNITE interface.

    Widget Architecture A widgets functionality may be provided by a single widget object; however, some widgets rely on more than one widget object to provide data to Livelink UNITE members. For example, Livelink UNITEs News, Weather, and XML widgets rely on feeder and cache widgets.

    Feeder widgets locate and retrieve information from an external data source, such as a Web site or data source file. Cache widgets store the data in a cache until the main widget requires it.

    Note Widgets must be thread safe because members can make simultaneous calls to a widget.

    Widget IDL File Livelink UNITEs widget IDL file must be compiled in your development environment to translate the IDL definitions into constructs of your development environment. Livelink UNITEs widget IDL file is included in the Livelink UNITE Widget Development Kit in the following location:

    Livelink_UNITE_WDK\idl\MLLWidget.idl

    where Livelink_UNITE_WDK is the path and directory where you installed the Livelink UNITE Widget Development Kit.

    Registering Widgets Widget objects are single, transient objects registered with Livelink UNITEs Naming service object. The Naming service object contains a directory listing of all registered widgets. Livelink UNITE uses the listing in the Naming service object to locate a widget the first time a request for the widget is processed. Successive transactions continue directly between objects, without referring to Livelink UNITEs Naming service object.

  • Widgets

    Livelink UNITE IDL Interfaces 21

    Widget Functions A widget can provide any functionality its developer can create. However, the widget IDL specification requires that each widget include several operations that provide a variety of functions. The most important required functions perform:

    Section rendering

    Page rendering

    Section Rendering A widgets section-rendering function generates the content displayed in a Livelink UNITE section. A section often contains links or buttons that provide access to a widgets page-rendering functions, such as the Configuration page and full-page views of the section. The widget IDL specification includes the RenderSection operation to process section requests. For more information about the RenderSection operation, see RenderSection, page 73.

  • Widgets

    22 Livelink UNITE Widget Developer's Guide

    Page Rendering A widgets page-rendering function generates the content displayed in a Livelink UNITE page. Some commonly implemented page functions that Livelink UNITE supports include:

    Full-page views

    Detach-page view

    Configuration page

    Administration page

    Livelink UNITEs widget IDL specification defines a RenderPage operation that processes all page function requests. For more information about the RenderPage operation, see RenderPage, page 74.

    Full-Page View

    A full-page view function displays a widgets content, including Livelink UNITE headers and footers in a members browser window. Optionally, the page can contain banner advertisements. For example, Livelink UNITEs front page is a full-page view created by the Front Page widget.

    Detach-Page View

    A detach page view function displays a section in a separate browser window of a specified size. The window includes basic Livelink UNITE headers and footers and a Cancel button used to close the window.

    If a section is detachable, the system displays the detach icon on the section toolbar. Also, the system assigns a detach request URL to the icon by passing a Livelink UNITE JavaScript function call that includes the section identifier as a parameter. The settings for the detach section function are specified in a data structure returned by the RenderSection operation. For more information about configuring the detach function, see the bDetach field description in Table 6-2, page 86.

    Configuration Page

    A configuration function generates the Configuration page. A widgets Configuration page allows a member to customize a widgets output. For example, a widget may allow members to override the default section title. The widgets Configuration page, accessible from the Edit button on the section toolbar, provides a text box where the member supplies a new title. Typically, a separate, complementary configuration function gathers data from the page and performs any changes a member submits.

  • Widgets

    Livelink UNITE IDL Interfaces 23

    If the widget indicates to Livelink UNITE that it is configurable, the system assigns a configuration request URL to the Edit button by passing a Livelink UNITE JavaScript function call that includes the sections tab and placement information.

    The settings for the configuration function are specified in a data structure returned by the RenderSection operation. For more information about configuring the configuration function, see the bConfig field description in Table 6-2, page 86.

    Administration Page

    A widgets Administration page allows only members with administrator privileges to configure a widgets global options. For example, the Weather Feeder widget periodically gathers weather data for member-selected sites. The Weather Feeder widget Administration page contains a refresh setting that indicates how often the widget checks for new weather data. A widgets administration page is accessible from a link on Livelink UNITEs Section Administration page if it supports a domain or from the Global Section Administration page if the widget supports the global domain.

    Widget Online Help You can create online help pages (for example, configuration and administration help pages) as required for your widget. By default, Livelink UNITE looks for your custom widgets help files in the following location:

    UNITE_home\support\help\language\widget

    where UNITE_home is the directory path to the folder where Livelink UNITE program files are installed, language is the browser accept language, and widget is the widget name. For example, the English version of the default Help file for the News widget is:

    UNITE_home\support\help\en\News\default.html

    Livelink UNITE provides two ways to access widget online help pages:

    The For This Page command on the Help menu of each widget page. By default, the system checks your widgets help directory for an HTML file that matches the current action name (for example, for the Administration page created by the action Admin, Livelink UNITE looks for Admin.html). If no HTML page exists that matches the action name, Livelink UNITE locates the file default.html. If that file does not exist, members receive a File Not Found error in the help window.

    The About Livelink UNITE page, accessible from the About Livelink UNITE command on the Help menu, includes a link to a general description of your widget that must be stored in a file named About.html.

  • Widgets

    24 Livelink UNITE Widget Developer's Guide

    Custom Help File Location You can specify an alternate location for your custom widgets online help files by specifying the help file name and location in the wsHelpURL field of the PageInfo data structure. For more information about the wsHelpURL field, see PageInfo," page 93.

  • Profiles

    Livelink UNITE IDL Interfaces 25

    Profiles Livelink UNITE profiles are persistent objects that store member and system information. The system features two kinds of profiles:

    Member profile

    System profile

    Widget developers use the operations defined in the Livelink UNITE profile IDL specification to retrieve, add, and modify information in th e profiles.

    Profile Structure A Livelink UNITE profile supports a tree structure of nodes. Each node in the tree contains at least a default property and, optionally, other properties. A property consists of a name and value. Property values are always String values. Also, values can be one-way encrypted for security purposes. The default value for a property is a blank string ().

    Important Root node properties are reserved for use by Livelink UNITE. Do not create properties in the root node.

    Figure 2-1: Livelink UNITE Profile Structure

  • Profiles

    26 Livelink UNITE Widget Developer's Guide

    Node Key Path Profile nodes and their properties are referenced through node key paths. Node key paths consist of node names separated by slashes leading to a nodes position in the registry tree. Leading and/or trailing slashes are ignored. Node and property names are case sensitive. For example, the node key path for a widget named MyWidget in the system profile is:

    /Widgets/MyWidget

    Member Profiles When a member signs up or an Administrator creates a new member account, Livelink UNITE creates a member profile to store any configurations or preferences a member specifies. The member profile maintains the member password and personal information provided at sign up, and the names and locations of all tabs and sections. Also, the member profile contains any member configurable widget properties. For example, each member specifies the kind of news to display in the News widget and which cities to monitor in the Weather widget.

    Each time a member signs in to Livelink UNITE, the system retrieves the member profile and makes it available as part of any request sent to a widget. The widget uses operations defined in the profile IDL specification to retrieve or update the member profile.

    Note Do not store large amounts of data in member profiles. Open Text recommends that widgets store large amounts of data in a relational database system or some other repository.

    Member Profile Structure By default, the member profile contains a Tabs root node. The Tabs node contains:

    A default property that identifies which tab is displayed by default on the members Livelink UNITE front page.

    A node for each member tab. In turn, each tab node contains a node for each section on the tab. The section nodes contain the configurable properties (and possibly, more nodes) for the widget displayed in that section.

    Tabs and section nodes are supplied in each request made to a widget. For more information about tab and section values passed to a widget, see SectionSpec, page 88 and PageSpec, page 101.

  • Profiles

    Livelink UNITE IDL Interfaces 27

    Retrieving Member Profile Objects The Livelink UNITE extension supplies with each request a reference to the member profile of the requestor. For more information about the member profile passed to a widget, see the oProfile field of SectionSpec, page 88 and PageSpec, page 101.

    System Profile Each Livelink UNITE system contains a single Livelink UNITE system profile that contains administrative information for the Livelink UNITE installation. You can add administrative properties for your widget to the existing nodes, or you can create custom nodes in the system profile. By default, the Livelink UNITE system profile contains eight nodes.

    Table 2-1: System Profile Object Default Nodes

    Node Contains

    AllGroups Default group settings and Livelink UNITE view configurations

    General General administrative properties for the Livelink UNITE site, such as sign-up capabilities and response timeout values. The System profile stores the general administration settings that Livelink UNITE administrators specify on the General Settings page in Livelink UNITE

    GroupNames All view names configured in the Livelink UNITE installation

    Groups View information for the Livelink UNITE site; for internal use only

    Passwords Password properties for the Livelink UNITE site, such as the minimum length, the required number of characters and digits, the password history size, and password expiration rules

    ProfileDisplay Names

    Display names of all published profiles in the system

    Profiles Default profile and category information that Livelink UNITE administrators set for the Livelink UNITE site. Each Livelink UNITE member has a profile that contains their personal section and tab selections, and custom settings. Livelink UNITE administrators make certain profiles available to new Livelink UNITE members by creating default profiles. If Livelink UNITE administrators want to make a particular tab configuration available to other Livelink UNITE members (and not the entire profile, which contains the tab configuration), they create categories.

    Widgets Administrative properties for each widget at the Livelink UNITE site. Here, widget developers add administration information for the custom widgets that they create.

  • Profiles

    28 Livelink UNITE Widget Developer's Guide

    You can add properties to the existing nodes or create your own nodes. However, Open Text strongly recommends that you create a node for your widget in the system objects Widget node to store any widget administrative properties.

    Retrieving the System Profile The Livelink UNITE extension supplies with each request a reference to the system profile. For more information about the system profile passed to a widget, see the oSystemProfile field in Table 6-3, page 88, and Table 6-9, page 101.

    Profile IDL File The Livelink UNITE profile IDL file must be compiled in your development environment. This translates the Livelink UNITE profile IDL operations into constructs of the local programming language. Livelink UNITEs profile IDL file is extracted from the Livelink UNITE Widget Development Kit file in the following location:

    Livelink_UNITE_WDK\idl\MLLProfile.idl

    where Livelink_UNITE_WDK is the directory where you extracted the Livelink UNITE Development Kit files.

    Viewing Profile Contents The Livelink UNITE system provides a backup utility that extracts the content of the profile manager database in extensible markup language (XML) file format. Profiles and their properties are grouped together and labeled with XML markup tags. For more information about the Livelink UNITE backup utility, see the Livelink UNITE Installation and Administration Guide.

  • System Log Writer

    Livelink UNITE IDL Interfaces 29

    System Log Writer Livelink UNITE logs different types of information as various operations are performed in the system. The different types of information include:

    Low-level information

    System information, including client requests, page response times, and section response times

    Time and usage counts for all active widgets

    Logging System Information The Livelink UNITE System Log Writer logs Livelink UNITEs system status information. The System Log Writer records information in a log file named myLivelink.log, which is stored in Livelink UNITEs log directory. Each time a new log file is created, existing log files are renamed myLivelink_n.log, where n is a number that is incremented by one.

    The System Log Writer automatically records certain Livelink UNITE system information (for example, Livelink server states). If you want to record additional Livelink UNITE system information in the Livelink UNITE log file, you specify log settings in the Microsoft Windows registry or the UNITE_home/wwwbin/myLivelink file on Sun Solaris. For more information about how to specify log settings, see the Livelink UNITE Installation and Administration Guide.

    Log Settings Log settings indicate what information a widget writes to a log file.

    Table 2-2: Livelink UNITE Log Settings

    Value Use

    C Logs each request that a widget receives. This means that each time a Livelink UNITE member clicks a link to perform an operation, Livelink UNITE records the corresponding operation in the Livelink UNITE log file.

    P Logs page response times. This value indicates how long it took Livelink UNITE to build or draw a page of information.

    S Logs section response times. This value indicates how long it took a particular Livelink UNITE section to respond when Livelink UNITE prompted it to update.

    For more information about the system log writer settings passed to a widget, see the wsLogSettings field in Table 6-3, page 88 and Table 6-9, page 101.

  • System Log Writer

    30 Livelink UNITE Widget Developer's Guide

    Access to the System Log Writer Object The Livelink UNITE extension supplies with each request a reference to the system log writer object. For more information about the system log writer object reference passed to a widget, see the oLogWriter field in Table 6-3, page 88 and Table 6-9, page 101.

  • 31

    Chapter Three

    Installing the Widget Developers Kit

    Before you can develop a custom widget, you must install the Livelink UNITE Widget Development Kit (WDK). The Livelink UNITE WDK includes Livelink UNITE Interface Definition Language (IDL) files, and sample widget files that will assist you in building your own widget. The following sections are covered:

    Installing the Livelink UNITE WDK on Windows Computers, page 32

    Installing the Livelink UNITE WDK on Solaris Computers, page 33

  • Installing the Livelink UNITE WDK on Windows Computers

    32 Livelink UNITE Widget Developer's Guide

    Installing the Livelink UNITE WDK on Windows Computers

    The Livelink UNITE WDK is distributed as a self-extracting archive on the Open Text Knowledge Center:

    https://knowledge.opentext.com/knowledge/llisapi.dll?func=ll&objId=2821423&objAction=browse&sort=name

    You must download the Livelink UNITE WDK file from the Open Text Knowledge Center before you can install the Livelink UNITE WDK. Verify that the computers on which you perform the Livelink UNITE WDK installation fulfill the minimum system requirements. For more information about system requirements, see Java Sample Widget Requirements," page 36.

    To install the Livelink UNITE WDK on Windows computers:

    1. Download the Livelink UNITE