Search code examples
securitydashboardiccube

Is it possible to re-use schema specific reports on different schemas in iccube?


I have created standard dashboards connected to a single schema.

Now I would like to re-use the same dashboards definition on different schemas. These schemas are all equivalent (same dimensions, measures, but different client data).

Is this possible?

I think of the process sequence:

  • user logs on, dashboards connects to schema defined in the dashboard
  • if the user has no access to this schema, connect to the schema the user has access to
  • allow a user to select from the schemas to which he/she is authorized

Solution

  • You can do that when opening a report using the javascript API. Somehow, you would have an instance of ic3.Reporting.

    var ic3reporting = new ic3.Reporting();
    

    Then before opening the report you can register an event to listen when its definition is received:

    ic3reporting.bind(vizEventType.onReportJSON, function(ic3report){   
      ic3report.schemaName("..."); 
    });
    

    In the callback function you get the opportunity to change the name of the schema being used by this report.

    [edit: vizEventType.onReportJSON is actually the string 'ic3reportJSON']