When we were using JRS 5.6, our application was able to use visualizer.js to run a JRS dashboard, and it was able to pass some environmental parameters (user, branch, etc.) to the dashbaord, which it in turn would pass to the consituent reports (now "dashlets"). That way the reports could be written to filter results based on the passed parameters rather than having to prompt for this information. We have recently been testing JRS 7.1, and it appears that the parameters we pass to the (new, non-legacy) dashboards are not being passed on to the dashlet reports. Has anyone else run into this, and does anyone know the correct way to pass parameters to a dashboard now that will still trickle down to the reports?
Here's an example of how we launch a dashboard from within our application:
v.dashboard({ resource: args.dashboard, container: '#container', params: CR.Jaspersoft.getResourceParams(), success: function() { CR.Jaspersoft.log('CR.Jaspersoft.displayDashboard success', args.dashboard); }, error: function(e) { if (e.errorCode === 'invalid.resource.type' && CR.Jaspersoft.redirectURL) { CR.Jaspersoft.warn('CR.Jaspersoft.displayDashboard redirecting legacy dashboard', args.dashboard); window.location = CR.Jaspersoft.redirectURL; } else { args.failure(e); CR.Jaspersoft.messageKeyStone({ message: 'Dashboard Error:' + args.dashboard, error: e }); } } });
By the way, the CR.Jaspersoft.getResourceParams in the above code retruns a JavaScript object with properties that represent each parameter, e.g.:
{
KeyStone_userName: 'admin',
KeyStone_branchName: 'Point Loma',
// etc.
}