Understanding framesets

Overview

Websydian Express is frame based. This means that the browser page is divided into frames (sub-pages) using framesets.

The frameset site element references an HTML template. The HTML template defines the frames to be displayed when the frameset is loaded - as well as the properties of each frame.

This means that if you want to have the full information about the frameset site element, you will have to read and comprehend the contents of the referenced HTML template.

The frameset combined with the template specifies the frames and their properties - the content of these frames are determined by the child elements attached to the frameset site element.

The explanation given on this page is mostly meant to give an understanding of the role of framesets in the site structure. A detailed description of how to insert a frameset in the site structure can be found here.

Framesets as child elements

This section will describe what it means when a frameset is a child of a site element of a specific type.

Parent: Site Root

In this case the frameset will be used to make the initial "split" of the page as the site is loaded. This split will then provide a number of sub-frames (defined in the HTML template) each of which will be populated based on the child elements defined for the frameset.

Parent: Menu

In this case the frameset site element have two different roles.

1. As it is a child of a menu site element, it will be used to show a menu item in the menu defined by the menu site element.

2. When the menu item is pressed, the frameset will be used to populate a sub-frame (identified by the frame name specified when the frameset was attached to the menu).

That a frameset is used to populate a sub-frame means that this sub-frame is split into further sub-frames (specified by the HTML template referenced by the frameset site element).

One example of this is the creation of a sub menu - described in detail here.

Parent Frameset

When a frameset is a child element to another frameset, it means that on of the sub-frames defined by the parent frameset will be split into further sub-frames defined by the child frameset.

Framesets as parents

When a frameset site element is used as a parent in the site structure, the children defined for the frameset site element specifies how the frames defined by the HTML template will be populated.

Which frame each specific child element can populate is defined by the frame name (specified when the child is attached to the parent).

Child element: Menu

In this case a menu will be used to populate the frame.

Child element: Frameset

When a frameset is a child element to another frameset, it means that on of the sub-frames defined by the parent frameset will be split into further sub-frames defined by the child frameset.

Child element: Business Process

In this case a business process will be called to populate the frame. The first PageGenerator called in the business process will be called to make the initial load of the frame.

Child Element: URL

The frame will be populated with the result from accessing the URL address specified on the URL child element.

How to find out which frames the frameset makes available

As mentioned, the insertion of a frameset in the site structure only specifies that a frameset is used - not which frames the frameset specifies.

To find out which frames the frameset makes available find and open the template for the frameset. In this template you can search for the text "/(NAME-". Each of these markers is followed by the name of the frame defined.  E.g. /(NAME-ADTOP) defines a frame with the name ADMTOP.

In the following example, you can see that three frames are defined: "ADMTOP", "ADMMENU", and "ADMMAN".

 

Selection of site element used to populate a frame

After having found out which frames the frameset makes available the next thing is to find out what the frames will be populated with.

This is defined by the child elements attached to the frameset in the site structure.

Each child element will be assigned to a particular frame when it is attached to the frameset parent element. In the site structure tree all child elements of a frameset is shown in frame name order.

When a session is loaded a number of roles are found for the session. A detailed description of this assignment of roles can be found here.

Only child elements that has an authorization level that is equal to or less than the session authorization level can be used to populate the frames.

If more than one child element to the frameset is assigned to a specific frame, the one that has the authorization level closest to the session authorization level is used to populate the frame (as long as the element authorization is not higher than the session authorization level).

If no child elements of a frameset has been assigned to a frame a blank page will be shown in the frame (template WSBLNKPG) and an error will be written to the event log.

If none of the child elements assigned to a frame has an authorization level that is lower than or equal to the session authorization level a blank page will be shown in the frame (templat: WSBLNKPG) and an error will be written to the message log.

Example

The figure below shows the structure of the delivered basic site:

The information shown for each of these child elements are as follows:

[frame name] - [site element]

Where:

frame name: Name of the frame the element will populate.

site element: Name of the child element.

The template defined by the "Main Frameset" site element has specified 4 sub-frames: FOOTER, HEADER, MAIN, and MENU.

To find out which site elements that will be used to populate these frames you have to look at the child elements defined for the frameset.

FOOTER / HEADER / MENU

For each of these three frames there are only one child element defined. Selecting one of these elements and pressing the "Roles" button will show you that the roles "Anonymous" and "User" has been assigned to these elements.

For a session this means:
 

FOOTER will be populated by the URL "Bottom", HEADER by the URL "Top", and MENU by the menu "Menu Loader".

MAIN

Two child elements has been defined for the frame "MAIN", with the roles Anonymous and User respectively.

For a session this means:
 

The business process Login will be used to populate the frame.

The business process "Welcome to Websydian Express" will be used to populate the frame.