A bit of history

4 years ago I wrote a blog post announcing CST - Community Startup Tabs. This project, sponsored at the time by St Antonius hospital, Netherlands, allowed a set of rules to be defined so that a set of content could be opened as a user logged in.

Those rules could be set by user, by role, a combination of both, and even a default for non matching rules. Very useful

The install procedure was very clunky... required fiddling with a jar file to set properties and used my so beloved xactions (not!) as the engine for it. Given this very... hum... architecturally challenging choice (aka hack) it was never possible to use it in 5.0

Till now. Another dutch company (gotta love this country!), this time 66Controls, sponsored the conversion of CST to 5.x and in good community spirit, also allowed us to share that work. Thanks guys!

CST (v2) available in the Pentaho Marketplace

It's been out for a couple of weeks, I just didn't have the time to write the blog post, but CST is now available in the Pentaho Marketplace.

Please check the CST website for a description of all the features. This is the main description (stolen from the site, which was in fact stolen from my original blog post, so I guess I don't need to give credits to myself :p ):

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.
A rewrite - In Sparkl, of course

This wasn't a simple port (not that the other ctools' port had anything of "simple"). This was mostly a rewrite, and as you may suspect, we ditched the xactions and used all mighty Sparkl. Here's the PDI transformation that processes the config file

And some very cool extra features

A new launcher for CST tabs

CST works really well when we don't have a lot of tabs; But when that number starts to grow, it can become very slow to just trigger the load of a bunch of analysis, reports and dashboards.

So we added a new way for CST to work; instead of automatically opening the tabs, we can opt to display a launcher dashboard with links to the tabs we have on our profile

This is controlled by an attribute named mode in the settings file, on the rule element, which means that you can set, individually, if you want the launcher to be displayed or maintain the classical behaviour.

Here's an example of this setting
This launcher is also available from the Tools menu (or as a simple sparkl endpoint available through /pentaho/plugin/cst/api/launcher)
Editing settings

Administrators can now edit the settings directly through Pentaho without the need to physically access the file. Functionality available from the tools menu.

Adding and removing favourites

CST adds a really cool capability - but has a very visible drawback; The list of tabs is preset by the administrator. Wouldn't it be cool if the user could set and manage their own list of start-up tabs?

Well - now they can! Since Pentaho 5 we have the concept of "favorites", and we are exposing this functionality through CST. If you mark a file as "favorite" you'll immediately see it on the launcher tab. And you can also "un-favoritize it" (is this even a word?!) from the launcher dashboard. An amazing feature IMO, worked out really well.