...
A system action is simply an action sequence that is configured to run either at system start time (scope="global"when the application server starts) or session start time (i.e. when the user logs in) (scope="session"). < TODO: define both start times> The output of the action sequence will be a system action is available to other action sequence via their sequences as input parameters at that exist in either in global and/or session scope.
Info | ||
---|---|---|
| ||
TODO |
The output of the system action is configured to be available to portlets (In addition, the output is available to portlets and/or Servlets/jsps. This behavior is configured in the pentaho.xml file.
(scope="global")
(scope="session").
(org.pentaho.ui.portlet.PentahoPortletSession) or Servlets/jsps
(org.pentaho.core.session.PentahoHttpSession).
Configuring System Actions
You configure a system action by adding information about the action sequence to the <system-action>
node of the pentaho.xml file. For instance, if your action sequence is called usernameToRegion.xaction, it exists in the repository under samples/filters, you want the action sequence to run when the user logs in, with the output placed in session scope, and you want the output of the action sequence to be available in a portlet, you would write this xml element:
Code Block | ||||
---|---|---|---|---|
| ||||
<org.pentaho.ui.portlet.PentahoPortletSession scope="session">samples> samples/filters/usernameToRegion.xaction<xaction </org.pentaho.ui.portlet.PentahoPortletSession> |
...
Code Block |
---|
<org.pentaho.ui.portlet.PentahoHttpSession scope="global">samples> samples/filters/setCompanyName.xaction<xaction </org.pentaho.ui.portlet. PentahoHttpSessionPentahoHttpSession> > |
Your pentaho.xml file would look something like this:
Code Block | ||||
---|---|---|---|---|
| ||||
<pentaho-system> ... <system-actions> <org.pentaho.ui.portlet.PentahoPortletSession scope="session">samples> samples/filters/usernameToRegion.xaction<xaction </org.pentaho.ui.portlet.PentahoPortletSession> <org.pentaho.ui.portlet.PentahoHttpSession scope="global">samples> samples/filters/setCompanyName.xaction<xaction </org.pentaho.ui.portlet. PentahoHttpSession > </system-actions> ... </pentaho-system> |
Now you know how to configure a system action, but what might a system action look like that will assist in filtering data?
...
Code Block |
---|
select QUADRANT_ACTUALS.REGION, QUADRANT_ACTUALS.DEPARTMENT, QUADRANT_ACTUALS.POSITIONTITLE, QUADRANT_ACTUALS.ACTUAL, QUADRANT_ACTUALS.BUDGET, QUADRANT_ACTUALS.VARIANCE from QUADRANT_ACTUALS where QUADRANT_ACTUALS.REGION=\{PREPARE:strRegion\} |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<org.pentaho.ui.portlet.PentahoPortletSession scope="session">samples> samples/filters/usernameToRegion.xaction<xaction </org.pentaho.ui.portlet.PentahoPortletSession>to the <system-actions> |
...