LinkWorks Developer's Tools Developer's Guide

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  Part I   A Developer's View of LinkWorks

  1      LinkWorks Concepts - A Closer Look

  1.1     LinkWorks Focus - Linking and Navigation

  1.2     The Application and LinkWorks Partnership

  1.3     The LinkWorks Information Space
    1.3.1      Information Objects in an Ideal World
    1.3.2      Information Objects in the Existing World
    1.3.3      LinkWorks Objects
      1.3.3.1      Surrogate
      1.3.3.2      Link
      1.3.3.3      Linknet
      1.3.3.4      Composite Linknet
      1.3.3.5      Step
      1.3.3.6      Path
      1.3.3.7      Composite Path
      1.3.3.8      LinkWorks User Interface

  1.4     Hyperizing an Application
    1.4.1      Essential Tasks
    1.4.2      Extended LinkWorks Support

  1.5     LinkWorks Product Set
    1.5.1      LinkWorks Facility
      1.5.1.1      LinkWorks Services
      1.5.1.2      LinkWorks Manager
    1.5.2      LinkWorks Developer's Tools

  2      Hyperapplication Design

  2.1     Identifying Application Linkable Objects
    2.1.1      Bookreader's Linkable Objects

  2.2     Designing Surrogates for Application Linkable Objects
    2.2.1      Determine Surrogate Properties
      2.2.1.1      Surrogate Sub Type Property
      2.2.1.2      Application-Specific Properties
      2.2.1.3      Consider Property Lifetime
      2.2.1.4      VMS DECwindows Mail Surrogate Properties
    2.2.2      Identify Query Keys
    2.2.3      Coordinate with Other Hyperapplications

  2.3     Designing Object Highlighting
    2.3.1      Highlighting Techniques

  2.4     Considering User Interface Callback Routines
    2.4.1      Get Surrogate
    2.4.2      Create Surrogate
    2.4.3      Complete Link
    2.4.4      Apply
    2.4.5      Close View
    2.4.6      Environment Change

  2.5     Considering Query Strategies
    2.5.1      Query Techniques
      2.5.1.1      On-Demand Query
      2.5.1.2      Up-Front Query
      2.5.1.3      Incremental Caching of Query Results
    2.5.2      Query Performance Considerations
    2.5.3      Query Complexity

  3      Hyperapplication Implementation

  3.1     HyperFiles Sample Hyperapplication
    3.1.1      HyperFiles Features
    3.1.2      HyperFiles Files

  3.2     Initializing a Hyperapplication
    3.2.1      Initializing the LinkWorks Services
    3.2.2      Responding to Hyperinvocation Requests

  3.3     Adding the LinkWorks User Interface
    3.3.1      Adding the Link Menu
    3.3.2      Creating a LinkWorks User Interface Object
    3.3.3      Setting User Interface Properties
    3.3.4      Installing Link Menu Accelerators
    3.3.5      Multiple DXm UI Considerations
    3.3.6      Customizing the Link Menu

  3.4     Implementing DXm UI Callback Routines
    3.4.1      Get Surrogate Callback Routine
    3.4.2      Create Surrogate Callback Routine
    3.4.3      Complete Link Callback Routine
    3.4.4      Apply Callback Routine
    3.4.5      Close View Callback Routine
    3.4.6      Environment Change Callback Routine

  3.5     Registering Your Linkable Objects
    3.5.1      Creating a Registry Definition
    3.5.2      Installation Actions

  4      Hyperizing Checklist

  Part II   Programming Reference

  5      LinkWorks Services Data Types

  5.1     Domains

  5.2     Primitive Data Types

  5.3     Aggregate Data Types

  5.4     Abstract Data Types

  6      LinkWorks Objects

  6.1     The LinkWorks Services Object Model
    6.1.1      Properties
      6.1.1.1      Getting Property Values
      6.1.1.2      Setting Property Values
    6.1.2      Operations

  6.2     LinkWorks Object
    6.2.1      LinkWorks Object Properties
    6.2.2      LinkWorks Object Operations

  6.3     List
    6.3.1      List Properties
    6.3.2      List Operations

  6.4     Set
    6.4.1      Set Properties
    6.4.2      Set Operations

  6.5     Object Identifier
    6.5.1      Object Identifier Properties
    6.5.2      Object Identifier Operations

  6.6     Object Descriptor
    6.6.1      Object Descriptor Properties
    6.6.2      Object Descriptor Operations

  6.7     User Interface
    6.7.1      User Interface Properties
    6.7.2      User Interface Operations

  6.8     DECwindows Motif User Interface (DXm UI)
    6.8.1      DXm UI Properties
    6.8.2      DXm UI Operations

  6.9     Persistent Object
    6.9.1      Persistent Object Properties
    6.9.2      Persistent Object Operations

  6.10    Surrogate
    6.10.1     Surrogate Properties
    6.10.2     Surrogate Operations

  6.11    Link
    6.11.1     Link Properties
    6.11.2     Link Operations

  6.12    Linknet
    6.12.1     Linknet Properties
    6.12.2     Linknet Operations

  6.13    Composite Linknet
    6.13.1     Composite Linknet Properties
    6.13.2     Composite Linknet Operations

  6.14    Step
    6.14.1     Step Properties
    6.14.2     Step Operations

  6.15    Path
    6.15.1     Path Properties
    6.15.2     Path Operations

  6.16    Composite Path
    6.16.1     Composite Path Properties
    6.16.2     Composite Path Operations

  6.17    Linkbase
    6.17.1     Linkbase Properties
    6.17.2     Linkbase Operations

  7      LinkWorks Services Query Capabilities

  7.1     Query Expressions
    7.1.1      Logical Operations
    7.1.2      Surrogate Query Expressions
    7.1.3      Link Query Expressions
    7.1.4      Step Query Expressions
    7.1.5      Property Query Expressions
    7.1.6      Relational Operands

  8      LinkWorks User Interface Callback Routine Definitions

  Apply (Apply an Operation)

  Close View (Close the User Interface View)

  Complete Link (Inspect a Newly Created Link)

  Create Surrogate (Return a Surrogate)

  Environment Change (Environment Change Notification)

  Get Surrogate (Return Surrogates)

  9      LinkWorks Services Operation Definitions

  lwk_add_boolean (Add Boolean)

  lwk_add_date (Add Date)

  lwk_add_ddif_string (Add DDIF String)

  lwk_add_element (Add Element)

  lwk_add_float (Add Float)

  lwk_add_integer (Add Integer)

  lwk_add_object (Add Object)

  lwk_add_string (Add String)

  lwk_apply (Apply)

  lwk_close (Close)

  lwk_confirm_apply (Confirm Apply)

  lwk_copy (Copy)

  lwk_copy_aggregate (Copy Aggregate)

  lwk_create (Create)

  lwk_create_dxm_ui (Create DXm UI)

  lwk_create_list (Create List)

  lwk_create_set (Create Set)

  lwk_date_to_time (Date To Time)

  lwk_delete (Delete)

  lwk_delete_date (Delete Date)

  lwk_delete_ddif_string (Delete DDIF String)

  lwk_delete_encoding (Delete Encoding)

  lwk_delete_string (Delete String)

  lwk_do_dxm_menu_action (Do DXm Menu Action)

  lwk_drop (Drop)

  lwk_enumerate_properties (Enumerate Properties)

  lwk_export (Export)

  lwk_get_domain (Get Domain)

  lwk_get_object_descriptor (Get Object Descriptor)

  lwk_get_object_id (Get Object Id)

  lwk_get_value (Get Value)

  lwk_get_value_domain (Get Value Domain)

  lwk_get_value_list (Get Value List)

  lwk_import (Import)

  lwk_initialize (Initialize)

  lwk_is_multi_valued (Is Multivalued)

  lwk_iterate (Iterate)

  lwk_open (Open)

  lwk_query (Query)

  lwk_remove_boolean (Remove Boolean)

  lwk_remove_date (Remove Date)

  lwk_remove_ddif_string (Remove DDIF String)

  lwk_remove_element (Remove Element)

  lwk_remove_float (Remove Float)

  lwk_remove_integer (Remove Integer)

  lwk_remove_object (Remove Object)

  lwk_remove_string (Remove String)

  lwk_retrieve (Retrieve)

  lwk_set_value (Set Value)

  lwk_set_value_list (Set Value List)

  lwk_status_to_ddif_string (Status To DDIF String)

  lwk_status_to_string (Status To String)

  lwk_store (Store)

  lwk_surrogate_is_highlighted (Surrogate Is Highlighted)

  lwk_time_to_date (Time To Date)

  lwk_transact (Transact)

  Part III   Using the Developer's Tools

  10     Compiling and Linking with the LinkWorks Services

  10.1    VMS Systems
    10.1.1     Compiling on VMS Systems
    10.1.2     Linking on VMS Systems
      10.1.2.1     Execute-Only and Linkable Shareable Images
      10.1.2.2     Linking a DECwindows Motif Hyperapplication
    10.1.3     Building HyperFiles on VMS Systems

  10.2    Systems Based on UNIX Software
    10.2.1     Compiling on Systems Based on UNIX Software
    10.2.2     Linking on Systems Based on UNIX Software
    10.2.3     Building HyperFiles on Systems Based on UNIX Software

  11     Using the Linkbase Utility

  11.1    Linkbase Utility on VMS Systems
    11.1.1     Invoking the Linkbase Utility on VMS Systems
    11.1.2     Subcommand Summary

  COPY

  DELETE

  DIRECTORY

  DUMP

  EXIT

  EXPORT

  HELP

  IMPORT

  11.2    Linkbase Utility on Systems Based on UNIX Software
    11.2.1     Command Summary

  lbcp (copy)

  lbdump (dump)

  lbexport (export)

  lbimport (import)

  lbls (list)

  lbrm (remove)

  A   LinkWorks Services Status Codes

  FIGURES

  1-1        LinkWorks Architecture

  3-1        Hyperapplication Link Menu

  6-1        Object Type Hierarchy

  6-2        Relationships Among Objects in a Linknet

  6-3        Relationships Among Objects in a Path

  TABLES

  2-1        Predefined Key Surrogate Properties

  3-1        HyperFiles Files on VMS Systems

  3-2        HyperFiles Files on Systems Based on UNIX Software

  5-1        LinkWorks Services Domains

  5-2        Primitive Data Types

  5-3        Aggregate Data Types

  5-4        Abstract Data Types

  6-1        Setting Property Values with Set Value or Set Value List

  6-2        Object:  Operations

  6-3        List:  Properties and Operations

  6-4        Set:  Properties and Operations

  6-5        Object Identifier:  Properties and Operations

  6-6        Object Descriptor:  Properties and Operations

  6-7        User Interface:  Properties and Operations

  6-8        Highlighting States

  6-9        DECwindows Motif User Interface (DXm UI): Properties and Operations

  6-10       Persistent Object:  Properties and Operations

  6-11       Surrogate:  Properties and Operations

  6-12       Link:  Properties and Operations

  6-13       Linknet:  Properties and Operations

  6-14       Composite Linknet:  Properties and Operations

  6-15       Step:  Properties and Operations

  6-16       Follow Types

  6-17       Path:  Properties and Operations

  6-18       Composite Path:  Properties and Operations

  6-19       Linkbase:  Properties and Operations

  7-1        Logical Operators

  7-2        Surrogate Selection Operators

  7-3        Link Selection Operators

  7-4        Step Selection Operators

  7-5        Property Selection Operators

  7-6        Relational Operands

  8-1        Apply Callback Reasons

  8-2        Follow Types

  8-3        Close View Callback Reasons

  8-4        Complete Link Callback Reasons

  8-5        Create Surrogate Callback Reasons

  8-6        Environment Change Callback Reasons

  8-7        Environment Change Indicators

  8-8        Get Surrogate Callback Reasons

  9-1        Menu Actions

  9-2        Set Operations

  9-3        Transaction Types

  10-1       VMS LinkWorks Services API Definitions

  10-2       UNIX Systems LinkWorks Services API Definitions