Saiku BI server

From TempusServa wiki
Jump to navigation Jump to search

Usage

Setting up a parallel BI server will provide users with a drag-and-drop OLAP tool.

Positives

  • Beautiful and intuitive UI
  • Can reuse existing OLAP scheme from the builtin OLAP mavigator

Negatives

  • User authentication must be handled seperately
  • Currently no support for dimension properties

Automatic installation

The TS commandline tools can automate the installation

  1. Run tsinstallsaiku <instance name>
  2. Enable bcrypt passwords for users

Note: The users wont be able to login to Saiku before their password have been updated to bcrypt

Manual installation

Preparations

  1. Download Saiku binaries
  2. Install the Saku client ("Saiku UI WAR 2.5")
    • The client is a single html file with a lot of built in JavaScript functionality
      • Option 1: Unpack the files to webapps\ROOT
      • Option 2: Create new folder in webapps and unpack the files
      • Option 3: Unpack and merge into the TempusServa folder
  3. Install the Saku backend ("Saiku Backend WAR 2.5")
    • Rename the war file to saiku.war and place in webapps
  4. Remove default acess [IMPORTANT]
    • Change default username/passwords in <webapps>\saiku\WEB-INF\users.properties
    • Restart the server
    • Verify that the default credentials are NOT working
    • Verify that new credentials ARE working

Using the Tempus Serva OLAP cubes

In order to expose the cubes Saiku needs a connection string to the database. The connection includes a reference to the OLAP schema used in Tempus Serva.

Scenario 1: Installed at SAME server

  1. Create a new file tempusserva in <Saiku backend server>\WEB-INF\classes\tempusserva\saiku-datasources\ with the following contents
 type=OLAP
 name=tempusserva
 driver=mondrian.olap4j.MondrianOlap4jDriver
 location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost/tslive;Catalog=<Absolute path to tsCubeDefinitions.xml>;JdbcDrivers=com.mysql.jdbc.Driver;
 username=root
 password=TempusServa

Note: For safety reasons you should consider letting Saiku having its own database user. In that way you can later restrict access to certain data, and replace table access with views

Scenario 1: Installed at OTHER server

  1. Create a new remote user in the MySQL database
  2. Create a new folde named tempusserva in: <Saiku backend server>\WEB-INF\classes
  3. Copy the file <Tempus Serva application>\WEB-INF\queries\tsCubeDefinitions.xml to <Saiku backend server>\WEB-INF\classes\tempusserva\
  4. Create a new file tempusserva in <Saiku backend server>\WEB-INF\classes\tempusserva\saiku-datasources\ with the following contents
 type=OLAP
 name=tempusserva
 driver=mondrian.olap4j.MondrianOlap4jDriver
 location=jdbc:mondrian:Jdbc=jdbc:mysql://<dbHostname>/tslive;Catalog=res:tempusserva\tsCubeDefinitions.xml;JdbcDrivers=com.mysql.jdbc.Driver;
 username=<newRemoteUsername>
 password=<newRemotePassword>

Note: A service for remote HTTP retrieval of the schema will be implemented late 2014, so the OLAP schema can be retrieved on the fly from the remote Saiku server