Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
titleWhat is session and global scope?

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
xml
xml
<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
xml
xml
<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&nbsp; 
from QUADRANT_ACTUALS where QUADRANT_ACTUALS.REGION=\{PREPARE:strRegion\}

...

Code Block
xml
xml
<org.pentaho.ui.portlet.PentahoPortletSession scope="session">samples>
   samples/filters/usernameToRegion.xaction<xaction
</org.pentaho.ui.portlet.PentahoPortletSession>to the <system-actions>

...