SFX Installation Granularity

The SFX database structure has the following three levels of granularity:

  • Installation – the complete SFX application. More than one installation can be installed on a server.
  • Instance – a subdivision of the installation according to function. There are two types of instances:
    • Global – contains information about objects that is relevant for all customers. For example, target, target service, and portfolio information including names, descriptions, global coverage, and linking information.
    • Local – contains information relevant only to your specific installation, such as activation information, local coverage, and local administrator-specific linking information. Local information also includes overrides of global data. In a default installation, there are two local instances. One is used as the production environment (named sfxlcl41, by default), and one is used as the test environment (called sfxtst41, by default).
  • Institute – a localized subdivision of a local instance. Institutes have their own configuration settings that can be different from the instance default (regarding activation, coverage, proxy, and linking parameter information). An institute can be assigned to one or more groups.

Multiple SFX installations can exist on the same server, but instance names and apache ports should be chosen to be unique per server. Each installation is located at: /exlibris/sfx_ver/sfx4_x (where x is the installation number).

By default, the first installation created is named sfx4_1 and is located at /exlibris/sfx_ver/sfx4_1. The global instance of this installation is named sfxglb41. Additional installations are named sfx4_2, sfx4_3, etc.

The following figure illustrates an example of a two installation setup:

database_structure.gif

Database Structure in SFX

SFX Databases

Global information is stored in the global instance (sfxglb41). Only one copy of the global information exists per SFX installation. This global information is maintained by Ex Libris as part of the global KnowledgeBase. Additionally, any locally created database items that describe global information (for example – targets, target services, portfolios, and objects) are stored in the global instance.

Activation information for objects in the global database is stored in the INVENTORY tables, whereas other localization information and overrides of global data are stored in the LINKING_INFO tables.

Local information is stored only in the local instance. An installation can have more than one local instance.

To support the separation of global and local information in SFX 4, the database tables have been changed. Database tables starting with KB_ store global data, whereas database tables starting with LCL_ store local information and local overrides of global data.

When a new target, target service, and portfolio is created, information is stored in the appropriate KB_ (global) and LCL_ tables.

Each table has an owner field, to ensure that SFX can identify to which installation, instance, and institute the table corresponds.

The following table describes some examples of global and local tables:

Global and Local Tables
Global Local
KB_TARGETS

KB_TARGET_SERVICES

These tables store global information. All local administrator, context specific data is moved to the LCL_ tables.

LCL_TARGET_LINKING_INFO

LCL_TARGET_SERVICE_LINKING_INFO

These tables store local information and local overrides of global data (such as ENABLE_PROXY, PARSER, PARSE_PARAM, and local THRESHOLD).

LCL_SERVICE_INVENTORY This table stores activation status (active/inactive)

KB_OBJECT_PORTFOLIOS LCL_OBJECT_PORTFOLIO_LINKING_INFO

These tables store local information and local overrides of global data

LCL_OBJECT_PORTFOLIO_INVENTORY

This table stores activation status (active/inactive)

KB_LINKING_PARAMETERS

Contains L/P information, with or without out-of-the-box values

LCL_LINKING_PARAMETERS

Contains L/P parameter information filled in by the local administrator

The global and local instances are illustrateed in Figure with the following types of information:

  • Global – for example, the DESCRIPTION field in KB_TARGETS is used to store a global description of the target.
  • Local overrides of global information – for example, KB_TARGET_SERVICES has the TARGET_PARSER_PROGRAM, PARSE_PARAM, and THRESHOLD fields. The local administrator can override these fields per instance by creating a local THRESHOLD, TARGET_PARSER_PROGRAM, and PARSE_PARAM. These local overrides are stored in the LCL_TARGET_SERVICE_LINKING_INFO table.
  • Local overrides of local information – for example, a local administrator can fill in local threshold for DEFAULT (stored in the LCL_OBJECT_PORTFOLIO_LINKING_INFO table), but override this local threshold for an institute by specifying an institute specific local threshold that is also stored in the LCL_OBJECT_PORTFOLIO_LINKING_INFO table.
  • Local – for example, the LCL_TARGET_ LINKING_INFO table has the AUTHENTICATION field. This field is used by the local administrator to display information related to authentication in the SFX menu.

global_local.gif

Global and Local Information – Example 1

In this example, the local instance contains a local override of the global information, local information that is independent, and a local override of that local information for a specific institute.

The following figure illustrates another example of global, local, and local override information:

global_local2.gif

Global and Local Information – Example 2

In this example, the local instance contains a local override of the global target name, parse param, and threshold and has independently local CrossRef and availability information.