Skip to main content

InterSystems Reports Server with InterSystems IRIS

All configuration and management data for InterSystems Reports is stored in InterSystems IRIS if you use the setup scripting. A script to complete the initial configuration of InterSystems IRIS Report Server for local deployments and a docker-compose file for Docker deployments of the Reports Server are both available as part of Release 2020.4 and higher.

InterSystems Reports became available with InterSystems IRIS and IRIS for Health 2020.1. However, beginning with Release 2020.4, we have added several new capabilities to improve the implementation process of the InterSystems Reports Server. These changes are:

  • Addition of a Docker container with InterSystems Reports Server to make implementation and distribution of the Reports Server easier. This container is available in the InterSystems Docker repository. https://containers.intersystems.comOpens in a new window. This container does not include InterSystems IRIS or IRIS for Health software. Note that the docker-compose file is available from the WRC download site.

  • Addition of InterSystems Reports server scripting for those who are installing the software. This may allow for automation of the installation and better enables use of InterSystems IRIS as the database for InterSystems Reports configuration. This script is available from the WRC Download site. For more details see Installation.

  • Enable configuration of reports Server from the System Management Portal via Single Sign-on. This enables the InterSystems administrator to configure and view any configured Reports Servers from the management portal. For more details see Using the Management Portal and Enabling Single Sign-on.

Installation

InterSystems recommends one Logi Server per source InterSystems IRIS instance. The Designer can be shared.

The Installation script for the InterSystems Reports Server is part of the InterSystems Reports installation kit you received from InterSystems, available on the WRC Download site. The scripts are named InterSystemsReportSetup.bat or InterSystemsReportSetup.sh, depending on your platform. The file config.properties is also supplied in the installation kit. It contains the default values for installation, and is edited to add the values you provide during the installation process. The install script prompts you to input the following values:

Prompt
Default Value
Key in config.properties
Help Text
InterSystems IRIS Hostname/IP address
127.0.0.1
IRIS.Host
The computer hosting InterSystems IRIS. If InterSystems IRIS is being hosted on your local computer, please use the IP address 127.0.0.1, or the hostname rather than localhost.
InterSystems IRIS Superserver Port
1972
IRIS.SuperserverPort
The superserver port of the InterSystems IRIS instance.
Namespace
 
IRIS.ReportNamespace
The InterSystems IRIS namespace to be used by this report server. Note each report server requires a separate namespace. If the given namespace does not exist it is created.
Logi Report Server Name
 
LOGI.ServerName
The name InterSystems IRIS uses to refer to this report server. The name you enter here appears in the InterSystems Reports page in the Management Portal. Note that each report server requires a unique name.
Logi Report Server Host
127.0.0.1
LOGI.Host
The computer hosting this report server. Note that InterSystems IRIS uses this address to access this report server, so ensure the machine hosting InterSystems IRIS can reach it. If InterSystems IRIS and Logi Report are being hosted on the same computer, please use 127.0.0.1, the IP address, or the hostname rather than localhost.
Logi Report Server Port
8888
LOGI.Port
The port Logi Report uses. Must be available and between 1 and 65535.
Single Sign-On Enabled (true/false)
true
LOGI.SSOEnabled
Controls whether InterSystems IRIS is able to use single sign-on to access this Report Server from the Web Management Portal.
System User
_system
IRIS.SystemUser
Required during set up to create or modify the report namespace, server, and user. Is not be used after install time. Any user with the %All role is sufficient.
System Password
 
IRIS.SystemPassword
The password for the system user provided in the previous step.
Report User
REPORT
IRIS.ReportUser
The InterSystems IRIS user this report server connects as. If the given user does not exist it is created.
Report User's Password
 
IRIS.ReportPassword
The password for the report user provided above. If the user is created in the previous step, the password supplied here is applied to that user.
InterSystems IRIS JDBC Driver Location
 
IRIS.JdbcDriverPath
The absolute path where the InterSystems IRIS JDBC Driver is located on the computer hosting the InterSystems Reports server. If InterSystems IRIS is installed on this computer, this is available at /<install-dir>/dev/java/lib/JDKxx/intersystems-jdbc-x.x.x.jar.
Logi Report Server License User
 
LOGI.LicenseUser
The license user from the user/key pair you received when you purchased InterSystems Reports.
Logi Report Server License Key
 
LOGI.LicenseKey
The license key from the user/key pair you received when you purchased InterSystems Reports.
JDK Location
 
LOGI.JdkPath
The absolute path where the local JDK is installed. This location varies depending on your operating system and how you installed java. You may also have several versions installed. Usually running which java on mac or Unix points to the correct spot, and running where java on windows does the same.
Logi Report Location
C:\\LogiReport\\Server or
/LogiReport/Server
LOGI.InstallPath
The absolute path where this script should install the Logi Report Server on this computer.

These properties are written to config.properties and then used by install.bat / install.sh to:

  • Perform the necessary IRIS setup

    • create the report namespace/user if necessary

    • create the %Report.ServerDefinition

    • give the report user privileges on the report namespace

  • Install Logi Report Server

    • write install.properties in the form the Logi Report installer expects

    • run the Logi Report installer

    • delete install.properties

  • Set up SSO on the Logi Report Server

    • create external auth.jsp and move to <LOGI.InstallPath>/public.html

    • compile SuthExternalUser and move to <LOGI.InstallPath>/bin

    • edit JRServer.bat/JRServer.sh to set AuthExteralUser as SSO class

The installation process does the work of setting up a connection between the Logi report server and the InterSystems IRIS database.

Docker Container Installation

Docker Container Connecting to Existing IRIS instance

Note that config.properties is mounted as a docker secret and should be removed after you have started the server(s). See:https://docs.docker.com/engine/swarm/secrets/Opens in a new window.

  1. Edit //main/logireports/docker-installation/bin/config_template.properties and rename it to config.properties. This config.env is similar to the non-docker version, but does not require the following information:

    1. IRIS.JdbcDriverFile

    2. LOGI.LicenseUser

    3. LOGI.LicenseKey

    4. LOGI.InstallPath

  2. Open a terminal, change to the reports directory, and run docker-compose up report-server.

Docker Compose

The docker-compose.yml file in //main/logireports/ provides a way for users to quickly start a report server and IRIS instance in a docker container. To run it:

  1. Place an InterSystems IRIS license key file, renamed to iris.key in reports/docker-installation/bin

  2. Create a file called password.txt and place in reports/docker-installation/bin with the password to set for IRIS system accounts. This should not be SYS. Note that there are multiple options for how to reset the password on IRIS docker containers, see https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=ADOCK#ADOCK_iris_images_password_authOpens in a new window.

  3. Edit //main/logireports/docker-installation/bin/config_template.properties and rename to config.properties. This config.properties is identical to the one for standalone installation, except:

    1. IRIS.SuperserverPort must be 9091, if you want to change this, you also need to change it in docker-compose.yml.

    2. IRIS.SystemPassword must be identical to the password in password.txt.

  4. Run docker-compose up to start.

  5. After shutting down, you need to recreate password.txt to rerun. You may also need to run docker-compose down before restarting.

Version Dependencies

If you are connecting to an instance of InterSystems IRIS at a version less than 2020.4, remove the following from PrepareReportInstall.java as %Report.ServerDefinitionOpens in a new window does not exist in earlier versions.

// create report server
IRISObject reportServer = (IRISObject)
iris.classMethodObject("%Report.ServerDefinition", "%New");
reportServer.set("Name", usrProp.getProperty("LOGI.ServerName")); 
reportServer.set("Host", usrProp.getProperty("LOGI.Host")); 
reportServer.set("Port", usrProp.getProperty("LOGI.Port")); 
if (usrProp.getProperty("LOGI.SSOEnabled").equalsIgnoreCase("true")){
 reportServer.set("SSOEnabled", true); 
}else{ 
 reportServer.set("SSOEnabled", false);
} 
reportServer.invoke("%Save"); 
System.out.printf("Created report server %s.\n", usrProp.getProperty("LOGI.ServerName"));
Copy code to clipboard

Using the Management Portal

You can use the Management Portal to create, view, and edit InterSystems Reports server configurations. The installation process creates a report server, which is listed on the InterSystems Reports page on the Management Portal. To find this page, select System Administration > Configuration > InterSystems Reports. The following screen shot shows the page with the initial report server.

Report server definition called ReportServer

Selecting the New Report Server button opens the form shown below, which you can use to configure a new report server by entering the Name, Host, and Port, and using the SSO Enabled check box to determine whether single sign-on is enabled.

Form that is used to create a new Report Server definition

Selecting a server in the list and using the Edit button opens the same form initialized with values from the selected server. You can modify the server configuration, or use the Delete button to remove it entirely.

Form used to edit an existing Report Server definition

Enabling Single Sign-on

Each report server can have single sign-on (SSO) enabled or disabled both at create and update time. When a user enables SSO on a report server, that action creates the default admin and guest roles if they don't exist. When SSO is disabled, the roles are not edited or deleted, but do not appear in the configure page.

List of roles that provide single sign-on to the Report Server

The ability of users to configure report servers is influenced by the privileges assigned to them. Users with %Admin_Secure have access to report server operations that indirectly manipulate roles, while users without that privilege do not. When creating a new report server, users without %Admin_Secure are unable to toggle single sign-on. The form is presented to such users with the SSO Enabled check box disabled. If a new report server is created with SSO Enabled selected, the default roles are created automatically.

If these roles already exist, they are not overwritten or updated upon creation of the report server. The admin and guest roles, whether generated manually or automatically, and other roles of the form "<ReportServer.Name>_role" are updated automatically when you change the name of the report server. These roles are also deleted upon deletion of the report server.

FeedbackOpens in a new window