Community Startup Tabs

Document created by Pedro Goncalves on Aug 10, 2017Last modified by Diogo Belem on Nov 9, 2017
Version 5Show Document
  • View in full screen mode


 

CST is the easiest way to define and implement the Pentaho startup tabs depending on the user that logs into the PUC (Pentaho User Console).

  • Provides an easier way to set different startup tabs for each user that logs into the PUC, based on its username or role;
  • Allows you to specify usernames or roles using regular expressions.

 

Ranging from a single institutional page to a list of dashboards or reports, among other contents, the tabs opened to each Pentaho User after logging into the PUC vary depending on the user preferences or his/her role in the company. Then why should we let Pentaho open always the same content for everyone?
Thanks to CST, the list of tabs opened right after the login can be automatically different, depending on the user profile.

 

Credits: Webdetails Team, Lead - Pedro Alves   Sponsor: St. Antonius

 

Version: 14.12.10.1

License: MPLv2

Available in: Marketplace

 


 

Overview

CST allows you to set which tabs will automatically load when a particular user logs into the PUC. This is done by defining specific rules.

 

Rule Types

 

User-based rules

You can specify which tabs will be opened when a particular user logs in. For example: "When Joe logs in, you want that the Steel Wheels cube opened in one tab, and the Pentaho Homepage in a second tab."

 

Role-based rules

You can specify which tabs will be opened when any user with a particular role logs in. For example: when the users with MANAGER role log in, you want a nightly report in one tab, a monthly sales report in a second tab and the company homepage in a third tab.

 

Default rule

The default rule tells which tab will be open when a user that doesn't match any of the other rules logs in.

 

Regular Expressions

When you create a role-based rule, you may provide the exact name of the role, but also a regular expression for the role.

For example: suppose that the managers have roles as MANAGER_EUROPE, MANAGER_ASIA, and so on. If you want all managers to share the same startup tabs, you can create a rule using a regular expression like MANAGER.+ that will match all those roles.

The same applies for the user-based rules.

 


 

Configuration File

All rules are defined within a configuration file (cst-config.xml).

 

CONFIGURATION FILE SYNTAX

<?xml version="1.0" ?>
<cstConfig>
   <rule>
      <tab>
      </tab>
      <tab>
      </tab>
      ...
   </rule>
   <rule>
      <tab>
      </tab>
      ...
   </rule>
   ...
</cstConfig>

 

Rule Block

Each rule block defines a new rule, so there will be as many rule blocks as the rules you have.

 

 <rule match="USER|ROLE|DEFAULT" pattern="false|true" value="..."> 

 

 <rule match="USER" pattern="false" value="joe"> 

 

match tells which kind of rule you are defining: a user-based rule, a role-based rule or the default rule.

pattern tells if are providing a regular expression for a user or for a role.

value is a fixed name or a regular expression for the user/role.

 

Tab Block

Each tab block declares a tab to be opened. Inside each rule block, you can specify as many tabs as you want.

 

 <tab title="...">url</tab> 

 

 <tab title="Pivot">/pentaho/Pivot?solution=steel-wheels&path=analysis&action=analysis_customers.analysisview.xaction</tab> 

 


 

Example

 

<?xml version="1.0" ?>
<cstConfig>
   <rule match="USER" pattern="false" value="joe">
      <tab title="Pivot">/pentaho/Pivot?solution=steel-wheels&path=analysis&action=analysis_customers.analysisview.xaction</tab>
   </rule>

   <rule match="ROLE" pattern="false" value="ceo">
      <tab title="CDF" order="1">/pentaho/content/pentaho-cdf/RenderXCDF?solution=bi-developers&path=/cdf-samples/
      10-cdf&action=information_dashboard.xcdf&template=mantle</tab>
   </rule>

   <rule match="ROLE" pattern="false" value="Admin">
      <tab title="Dashboard">/pentaho/PreviousHome</tab>
   </rule>

   <rule match="DEFAULT">
      <tab title="Tab8">t8</tab>
      <tab title="Tab9">t9</tab>
   </rule>
</cstConfig>

 

In other words, this means that:

  • when joe logs in, the analysis_customers cube should be opened;
  • when a user with the role CEO logs in, an information_dashboard should be opened;
  • when a user with the role Admin logs in, the Pentaho previous homepage should be opened;
  • otherwise, when a user who doesn't match any of the previous conditions logs in, tabs 8 and 9 are opened (these are fictional tabs, in fact you should replace t8 and t9 with real URLs in order to test this sample).

 

Attachments

    Outcomes