CST - Startup Tabs
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
Available in: Marketplace
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.
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."
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.
The default rule tells which tab will be open when a user that doesn't match any of the other rules logs in.
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.
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>
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.
Each tab block declares a tab to be opened. Inside each rule block, you can specify as many tabs as you want.
<?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).