Jedox Supervision Server (SVS)

image_pdfimage_print

Jedox Supervision Server (SVS) is a software tool that can monitor the events in a Jedox OLAP database and can respond via a PHP script on defined events. Different types of interactions will result in the execution of different pieces of PHP code.

Related articles: 

Start, Stop, and Restart of Supervision Server

As of Jedox 7.0, SVS will be installed and started by default.

The process “Supervision Server” appears in Windows Task Manager (see screenshot below). The option to “Show processes from all users” should be checked.

You can stop, start, and restart SVS without stopping JedoxSuiteMolapService.
These functions are available in Jedox Web – Administration – Connections after the selection of an active Jedox OLAP Server connection in the tab SVS Management:

Stopping disables SVS until either SVS is restarted with the option „Start SVS“ or until JedoxSuiteMolapService is restarted.

Start Instruction Options for Supervision Server

You can switch on the different branches (known as “workers”) of the SVS program by entering the following instructions in the palo.ini or when starting from the command line. 

 

The following instruction is mandatory:

worker "<Install_path>\svs\SupervisionServer.exe"

It starts the System Supervisor, which reacts as the standard worker during the following events:

  • Jedox OLAP server shutdown
  • Termination of the Supervision Server process itself
  • Database save

 

The following instruction is optional:

workerlogin information

It starts the Login Supervisor, which reacts during the following events:

  • User login (including authentication/authorization against third-party systems)
  • User logout

 

The following instruction is optional:

use-cube-worker

It starts the Cube Supervisor, which reacts during the following events:

  • Change of a cell value
  • Drill through events

 

The following instruction is optional:

use-dimension-worker

It starts the Dimensions Supervisor, which reacts during the following events:

  • Creation of an element in a specified dimension
  • Deletion of an element in a specified dimension
  • Renaming of an element in a specified dimension

 

Login Supervisor

The Login Supervisor is a special type of worker that has three different modes:

1) workerlogin information
With this option, the standard worker becomes a login worker and can now react to the events login and logout. The appropriate handlers are defined as OnUserLogin and OnUserLogout, and both have a parameter username such that the PHP script can react in different ways to the login of different users.

2) workerlogin authentication
When using this option, the system worker has additional login functionality and database access based on a user password.
Note: when using the Login Supervisor worker in workerlogin authentication mode, only the password will be checked against the worker and/or third party system. User, user groups and group-role mappings have to be defined on the Jedox OLAP server. Passwords stored on the Jedox OLAP server will be ignored and passwords fetched by the worker or coming from a third party system will be used instead.

3) workerlogin authorization
This option includes additional functionality to the standard worker:

  • login functionality
  • database access based on a user password
  • monitoring of the groups the users belong to

This option eliminates the need for the Jedox OLAP server system cube to be responsible for this data.
Note: when using the Login Supervisor worker in  workerlogin authorization mode, username, password, and group come from outside Jedox, i.e. from the worker and/or third party system. Only group-role mappings have to be defined directly on the Jedox OLAP server.

The users “admin” and “_internal_suite” are treated differently. If SVS authentication fails for these users, OLAP server instead tries to authenticate against its own system database, checking the provided password against the password defined there.

Cube Supervisor

The Cube Supervisor is a worker reacting to changes to cell values. Inside the function “InitCubeWorker” of the file sep.inc.on_cell_change.php, a user can define one set (cube slice) of cells for every cube and link each of these “hot areas” to its own callback PHP function that will be executed if the user changes the value of a cell inside the set.

As of 4.0 SR1, the splashing parameters of a user’s input are also passed to the Supervision Server in the “InitCubeWorker” event, so that they can be handled in the callback function for “WatchCubeArea”.

If the the instruction “use cube-workers” appears in the palo.ini, or if the option “Y” is passed from the command level, then the Jedox OLAP server starts a Cube Supervisor for each cube. Therefore several Supervision Server processes may appear in the Task Manager of Windows.

Overview of SVS Worker Instructions
SVS Worker Options entry in the palo.ini Statement on the command level
switches on standard worker worker <path_to_SVS> Option “w”
additional login supervision workerlogin <Option> Option “x”
additional cube supervision use-cube-worker Option “Y”
additional dimension supervision use-dimension-worker Option “W”

There are two PHP scripts in the installation folder of the SVS: main.php and sep.inc.php.
The file main.php is necessary and should not be changed.
In the file sep.inc.php, events can be defined or you can reference added scripts with instructions on how the SVS should react to the different events.

By default the file sep.inc.php has the following entry:

<?php
include './sample_scripts/sep.inc.default.php';
?>

In the file sep.inc.default.php basic responses are given to all possible events. For activation, however, they must be programmed with an appropriate PHP code. The best plan is to work with only one include file.

You can create your own Supervision PHP script as follows:
Start the Modeler with the Jedox Excel Add-in, then right-click on a cube and select the command “Supervision server”. This will start the Supervision Wizard. Here you can choose between the following types of supervision:

  • Standard Supervision
  • Cube Supervision
  • Dimension Supervision
  • Login Supervision
  • Drill Through

After selecting your supervision tasks, save the created PHP script file. In an editor, you can check their entries and adjust them, if appropriate. Please enter then this file as an include statement in the file sep.inc.php.

The SVS will be started by restarting of the JedoxSuiteMolapService with the corresponding palo.ini instructions. After the successful start the process “Supervision Server” appears in the Task Manager of Windows.

PHP initialization file

The Supervision Server uses an embedded PHP interpreter. For basic usage, there is no need to install PHP on your system, unless you want to use other PHP APIs in addition to the PHP API provided with Jedox.

The php.ini is used to configure the embedded interpreter and to pass configuration information to the Supervision Server. The following options are related to the Supervision Server:

  • palo_server_hostname
IP or name of the host that runs Jedox OLAP server, e.g. “localhost”.
  • palo_server_port
Port that the Supervision Server can use to access Jedox OLAP Server.
It has to match the “admin” port of the Jedox OLAP server configuration.
  • log_file
Defines the path and the name of the log file.
  • log_stderr
Defines whether the SVS writes PHP error messages to the log file
Parameter 1: messages will be written
Parameter 0: messages will not be written
  • svs_verbose
Determines the amount of the SVS messages
Parameters: info, debug

Parameter-passing mechanism

The PHP API functions support two different parameter-passing mechanisms.

The first one uses the signature “function(connection,database,…)” and the second one uses the signature “function(connection-resource-string,…)”. For Supervision Server scripts, the second notation must be used. The connection object is managed internally and the connection resource string has the form “SupervisionServer/$database”, where $database is the name of the database we are working with.

Debugging Supervision Server Scripts

As explained above, sep.inc.php is the only file one needs to modify.

To simply parse the script, use “php main.php”. Since main.php includes sep.inc.php, this will make PHP parse the modified file and notify you about parsing errors.

The Supervision Server includes a logging mechanism that can be used for debugging purposes. Use the function sep_log($string) in order to write to the log file …\Jedox\Jedox Suite\log\svs.log. In general, svs.log is a good place to look if things go wrong, because exceptions thrown by the PHP extension are monitored there.

image_pdfimage_print
Was this post helpful?
NoYes (No Ratings Yet)
Loading...