WebOlap Add-in Manager
M87 is an elliptical galaxy in the Virgo cluster. M87 is also known
as NGC4486 and Virgo A. It is famous for the visible cosmic jet emanating
from its center.
If you are interested, more information can be found at:
Both BI:Scope and BI:Prompt usage are controlled by entries in the
users CleverPath EUREKA:Strategy profile. Users that do not have the
enabled flag for the products set in their profile will receive normal
BI:Scope and BI:Prompt extend and modify your perl and iasuite directories.
You can isolate these changes by:
- Copy the existing perl and iasuite directories to new directories
- Update the .axsysrc file with PERL_DIRECTORY=path and IASUITE_DIRECTORY=path.
These tags can be placed for a work group or an individual user.
BI:Scope and BI:Prompt web server components already go into their
BI:Scope and BI:Prompt use Java facilities which were introduced with
the 1.2x release of Java. Many features of this release are used including
the ability to have the user interface look like the normal interface
for the platform it executes on (ie Windows), and enhanced printing
The normal Java runtime used by a browser is an earlier version, which
is not compatible with BI:Scope or BI:Prompt. The Java Plug-in allows
a different Java Virtual Machine to be used which is appropriate for
The Java runtime specified for BI:Prompt and BI:Scope use, must be
installed on the Windows machine for proper operation. Microsoft's Internet
Explorer will recognize the need for the Java Plug-in and automatically
install the plug-in for your user the first time they try to execute
BI:Prompt or BI:Scope.
The earlier versions of the Netscape browser do not have this capability.
Those users are directed to a download page, where they must download
and save the file, and then manually execute it to install the Plug-in.
Starting with version 6 of the Netscape browser plug-in recognition
is suppose to be the same as Internet Explorer.
Network attached P/C's could have the plug-in pre-installed to save
this one time action for the user.
The Java Plug-in provides caching over and above the caching provided
by the browser. Using Plug-in caching the specified files are stored
on disk on the clients P/C. When BI:Prompt or BI:Scope are requested,
they are then loaded from the local cache. This results in faster load
times for your clients, and reduces network traffic between the browser
and the web server.
If any of the BI:Prompt or BI:Scope files are upgraded, the plug-in
will recognize the new version, and automatically load it from the web
server, and update the cache. Using the Plug-in caching is a zero administration
option for increasing performance, and reducing network traffic.
M87systems recommends that administrators enable Plug-in caching.
The WebOlap add-in manager is designed to address the following:
- WebOlap reports fail with a generic message which does not indicate
the real reason for the failure. The add-in manager captures these
failures and reports them to then end user, so appropriate action
can be taken.
- Executes pro-process add-in scripts defined after a ReportPrompt
- Removes add-in definitions run in background to prevent an automatic
re-run of the report once opened by the ends user.
The add-in manager fools WebOlap into thinking the failed report worked,
so an appropriate error message can be displayed. Since the Add-in Manager
works from outside WebOlap, it is unable to further customize the error
Once installed, the Add-in manager can be found in a file called script.axc
in your iasuite directory. The script contains a set of variables in
the Setup section at the top of the script which defines the text that
is to appear on the error report. By changing these variables you can
customize the information and look, and supply text language for your
BI:Prompt checks to see if a prompted add-in contains BI:Prompt style
prompts or normal WebOlap ReportPrompt style prompts. If an old style
prompt is detected, the resulting dialogs will be generated using these
- If the WebOlap .IsText variable has been defined, a manual input
SingleValue prompt will be used
- If variable name ends in _Facts, a Selectable List will be used
with Fact descriptions available
- If a base dimension is used, and EnableListItemDrilling is True,
then a Drillable List will be used, otherwise a Selectable List is
BI:Prompt validation scripts are executed prior to report submission.
A validation script can be used to perform the following actions:
- Apply some rules to the report definition with the current selections,
and display an error message if deemed appropriate
- Change the report run options to force background or overnight execution
- Define another prompt for the user to respond to
Yes, when BI:Prompt was installed on the CleverPath EUREKA:Strategy
server, an example script was placed into the iasuite directory called
BIPPromptSample.axc. This script contains a skeleton which shows how
the various features are turned on. There is no real decision making
logic in the script, but variables are used which can be turned on and
off to show the functionality.
The change prompt example refers to a fictitious add-in definition.
Change this to point at your own secondary prompt.
The easiest way to setup the display and print options for a specific
report, is to use BI:Scope to do it.
- Open you report before you roll it out to the users.
- Adjust your column widths, wrap settings, and print options.
- Save the report back over the original file. The BI:Scope settings
will be stored with the report definition file
BI:Scope fits columns to page, but not rows to page.
BI:Scope is designed for data warehousing applications and is thus
able to handle extremely large reports. This design choice precludes
BI:Scope from bring the entire report into memory for single page printout.
BI:Scope also allows users to use whatever fonts they have installed
on their P/C's in their reports. BI:Scope has no pre knowledge of the
size of each individual line, and so cannot calculate the required print
sizes to fit rows to page as well.
CleverPath EUREKA:Strategy can perform this operation, but it supports
a limited set of fonts to make this possible.
Users can increase the number of rows per page, by adjusting the scaling
option after selecting Fit-To-Page to specify a smaller scaling factor
and thus get more rows on the page.
Yes BI:Scope can display reports with imbedded images in the report
To create a traffic light report, you must:
- Use CleverPath EUREKA:Strategy to define a script fact
- In the script evaluate the incoming data and return a URL to an
image stored on the web server. Make sure to use addressing relative
to the document home for maximum reliability
BI:Scope can recognize Traffic lights that are standalone in a report
cell, as well as those that also contain other display values.
BI:Scope add-ins execute in the same virtual machine as BI:Scope itself.
The JVM used by BI:Scope is specified by the plug-in definition which
is stored in a, _template file in the Strategy server's perl directory.
No, BI:Scope is a signed applet which users must grant security rights
to for proper execution. BI:Scope contains its own security manager
which extends its privileges to the add-in, and any objects it creates
For each add-in invocation the following actions are take:
- BI:Scope loads the jar file or class depending on the definition
of the add-in as an Add-in object
- The add-in objects execute() method is called
- The return value from the class is checked for browser redirection,
or new window requests
- The add-in object is destroyed
All calls to an add-in are synchronous
Yes, a standalone Java application can easily be converted to a BI:Scope
Add-ins. Perform that following changes on your main class for the applications:
- BI:Scope add-ins must implement com.m87systems.bi_scope.client.addin.BISAddin.
Add this to the main class that represents your application. If the
class implements other interfaces, make sure the BISAddin interface
is listed first.
- Add a public BISAddinReturn execute(Hashtable runtimeInfo, ArrayList
selectedData) method to your class. In this method, perform operations
similar to what your main() method would do for your application.
- Properties for your add-in s/b passed via BI:Scope runtime properties.
Your execute() method should use these to provide dynamic information
like JDBC driver names etc. See the BI:scope Javadoc to see the parameters
already supplied by BI:Scope, such as the userid of the current user.
- If you applications requires additional jars not included in a standard
Java runtime distribution, make sue to include those in the BI:Scope
User password validation is handled by the WebOlap CGI program iagw.exe.
iagw encrypts the password and stores it in a cookie in the browser.
Since this operation is handled prior to the WebOlap perl being executed,
the unencrypted version of the password is not available