IBFS Filesystem and Subsystems

In this section:

WebFOCUS stores information about its resources in a relational database referred to as the WebFOCUS Repository. These resources are all organized in the IBFS Filesystem, a logical addressing system used to store and retrieve objects.

IBFS is hierarchical and is built on a set of subsystems that help organize the objects within the repository. Every object has a unique IBFS path. IBFS paths are used for many things, including maintaining group membership, controlling references to drill-down procedures, and checking whether users are authorized to access individual resources. In particular, security rules reference IBFS paths. The security policies created by these rules propagate down the IBFS path hierarchy through inheritance. This means that each subsystem inherits the policy of its parent, unless a new policy is specifically applied to the subsystem.

Note:

If you are working from a view on the Hub, or with the WebFOCUS Home Page, right-click an item, and then click Properties to open the Properties panel.

The Properties panel displays the IBFS path of the object in the Path label, as shown in the following image.

The General tab on the Properties Panel that displays the I. B. F. S. path field and I.B.F.S location of the item.

If you are working with the Legacy Home Page, right-click an object, and then click Properties to open its Properties dialog box.

The Properties dialog box displays the IBFS path of the object in the Full Path label, as shown in the following image.

Properties dialog box

On the Legacy Home Page, the default view of the Business Intelligence Portal Resources tree is the Repository View, which displays elements with user-friendly labels. To view the IBFS subsystems in the Resources tree, right-click the Workspaces node, point to View, and then click Full View. To return to the Repository View, right-click the TIBCO WebFOCUS node, point to View, and then click Repository View.

Note: Use the Full View only for custom resource templates. For all other functions, use the default Repository View.

An IBFS path begins with the namespace designation IBFS: and is followed by an IBFS subsystem. Variables in the path dynamically select relevant resources based on the workspace, folder, group, and language of the user that calls the resource. Report procedures, schedules, and library content are all stored in the WFC subsystem.

Resources in the WFC subsystem have a Name and a Title. Name refers to the IBFS name of the object and Title refers to its display name in the Resources tree.

Note: The IBFS name of the Content node displayed in the Resources tree is Repository. This node is referenced by the IBFS path IBFS:/WFC/Repository.

The USERS, GROUPS, and ROLES subsystems are all organized under the SSYS subsystem. In the GROUPS subsystem, the IBFS addresses of subgroups include the names of their parent groups, just as subgroups are nested under parent groups, as shown in the following image.

IBFS path of a nested subgroup in the resource tree

In the example above, an administrator has set up a Sales group with the subgroups AdvancedUsers, BasicUsers, Developers, and GroupAdmins. The IBFS path for AdvancedUsers is IBFS:/SSYS/GROUPS/Sales/AdvancedUsers.

The EDA and FILE subsystems reference resources outside of the Repository. You can set up rules for the EDA subsystem to hide specific WebFOCUS Server nodes from a group of users, or for the FILE subsystem to secure access to WebFOCUS file system-based resources, including the import and export directories under WebFOCUS_installdir/cm.

When you create or view a role, each privilege it contains has a For Subsystem(s) column, as shown in the following image.

New Role dialog box highlighting the For Subsystems column.

In addition to listing the subsystems to which the privilege applies, the For Subsystem(s) column also specifies whether the privilege is a session privilege, a local privilege, or a hybrid privilege.

Note: An asterisk (*) in the For Subsystem(s) column indicates that the privilege applies to all subsystems.

Using Variables in IBFS Paths

How to:

Most IBFS Paths point directly to a single end point within the Repository. However, developers may need to create paths for portals or other applications that can be directed to a contextually-appropriate resource instead of a single resource designed to serve all users.

For example, you can use variables in the IBFS paths of a portal to facilitate multi-tenancy with custom styling. Specifically, you can create a single portal that leverages the same base information, but delivers it to the users of each tenant application using a logo and color scheme that is applicable to their organization.

To accommodate dynamic IBFS paths, the repository contains a set of variables which, when preceded by two number sign (##) characters, substitutes a value presented by the user, such as group name or user name, and directs the user to a resource that conforms to the requirements of the group, folder, or other characteristic represented by the variable.

These variables include:

Variable names are case insensitive.

Procedure: How to Include a Variable in an IBFS Path

Use this procedure as a guideline when you must type a path to a resource that must vary by a specific characteristic presented by the user at run time. For example, you can use this procedure when typing a path to invoke the logo file or CSS theme file used by an individual tenant group when running a portal that is used by multiple tenant groups.

  1. Begin the path with IBFS:/ and type the names of the workspace and folders in the path, each separated by a slash mark (/), until you reach the level where the path should point to a folder or other resource that depends upon a characteristic presented by the user at run time.

    For example: IBFS:/Sales/Month

  2. When you reach the level at which the path must vary according to the characteristic presented by the user, type the relevant variable in the following format:
    ##{variablename}

    where:

    variablename

    Is a variable that represents a characteristic about the user who invoked the IBFS Path by running a procedure or portal. For a list of variables see Using Variables in IBFS Paths.

    For Example: IBFS:/Sales/Month/##{WF_PrimaryGroup}

    Note: Variable names are not case sensitive.

  3. If the same path is used below that level, continue the path from the variable to the name of the resource at the end point.

    For example: IBFS:/Sales/Month/##{WF_PrimaryGroup}/Hidden_Content/theme.css

  4. Test your path to ensure that it directs users with varying credentials to the appropriate resources.