Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{scrollbar}
This is not actually a schema, but it does explain the Action Sequence XML and node requirements.

XML Nodes marked as {color:#ff0000}REQUIRED{color} are only required if their parent node is being used. Attributes shown in square brackets \[PentahoDoc: \] are optional.
* <*action-sequence*> {color:#ff0000}REQUIRED{color} \- Top level node for the Action Sequence Document
** <*name*> NOT REQUIRED - The name of the Action Sequence, it must match the file name of the document.
** <*version*> NOT USED - The version of this document
** <*title*> NOT REQUIRED - Friendly name of the document.  Used for display only
** <*logging-level*> NOT REQUIRED - Sets the logging level for the entire Action Sequence. Valid values are: TRACE, DEBUG, INFO, WARN, ERROR and FATAL. If no logging level is set, ERROR will be used.
** <*documentation*>  NOT REQUIRED - Contains descriptive nodes used for generating documentation.
*** <*author*> - NOT REQUIRED - The author of this Action Sequence
*** <*description*> - NOT REQUIRED - Short (1-3 lines) description of the Action Sequence. This description is used by the solution navigation component to generate its display.
*** <*help*> - NOT REQUIRED - Long Description of the Action Sequence including instructions for it's use by an end user.
*** <*result-type*> - NOT REQUIRED - Type of output this Action Sequence will generate. It is used by the solution navigation component to generate its display. Action Sequences without a result-type will not be displayed by the navigation component. Valid values are: Report, Process, Rule, View and None.
*** <*icon*> - NOT REQUIRED - Thumbnail image that the navigation component will use for generating its display. The path to the image is relative to the directory that the ActionSequence document is in. For example: Example1_image.png
** <*inputs*> - NOT REQUIRED - Collection of input parameters.
*** <_param-name_ *type*="_data-type_" > - NOT  REQUIRED - _param-name{_}is the name of a parameter that the Action Sequence is expecting to be available at run time. The type attribute specifies the data type of this parameter. See below for valid data types.
**** <*default-value*> - NOT REQUIRED - Allows the input parameter to specify a default value if a value has not been supplied. If the default-value node is present but has no value specified, the user will be prompted for the value if possible.
**** <*sources*> - NOT REQUIRED - list of parameter providers in the order they should be queried to obtain a parameter. Valid values are request, session and runtime. Note: if a param-name is set but default-value and sources are both not specified, a validation error will occur.
***** *<request>* \- NOT REQUIRED \-&nbsp;Name of the request parameter that is to provide its value to this input
***** *<session>* \- NOT REQUIRED - Name of the session variable that is to provide its value to this input.
***** *<runtime>* \- NOT REQUIRED - Name of the runtime variable that is to provide its value to this input.
** <*outputs*> - NOT REQUIRED - Collection of output parameters.
*** <_param-name_ *type*="_data-type_" > - NOT  REQUIRED - _param-name{_}is the name of a parameter that the Action Sequence is expecting will be set by the time all action-definitions have executed. The type attribute specifies the data type of this parameter. See below for valid data types.
**** *<destinations>* \- A container element for all possible destinations where the output will be piped to.
***** *<response>* \- Use this destination to write the output value to the HTTP response.
****** content - use the text 'content' to write the output to the current HTTP response
****** redirect - ?
***** *<runtime>* \-&nbsp;
***** *<session>* \-&nbsp;
***** *<global>* \-&nbsp;
***** *<file>* \-&nbsp;
***** user-defined - User defined destinations are any ids of Spring beans that implement IContentOutputHandler. For example, 'file', 'vs-ftp' or 'content-repo'. These user-defined destinations can be found in pentahoObjects.spring.xml.
** <*resources*> - NOT REQUIRED - Collection of resource parameters.
*** <_resource-name_ > - NOT  REQUIRED - _resource-name{_}is the name of a resource that the Action Sequence is expecting to use. The type attribute specifies the data type of this parameter. See below for valid data types.
**** <_resource-type_> - {color:#ff0000}REQUIRED{color} \- The name of the type of resource required.  Valid values are: solution-file, file and url.
***** <*location*> - {color:#ff0000}REQUIRED{color} \- The path to the resource. For a resource-type of "solution-file", the location is a pathname relative to the top level of the current solution. If the resource-type is "file" then the location is assumed to be the a fully qualified path. For resource-type of "url" the location is assumed to be a fully qualified URL.
***** <*mime-type*> - NOT REQUIRED - Gives a hint about the mime type of the resource.
** <*actions loop-on="*{*}{_}parameter-name{_}{*}*" > -* {color:#ff0000}{*}REQUIRED{*}{color} *\-* The actions node contains "action-definition" nodes and optionally more "actions" nodes. The loop-on attribute is optional. When it is used, the nodes within "actions" will be executed multiple times. It is necessary to specify a parameter that is of type list (string-list or property-map-list) and the group of nodes that will be executed once for each element in the list. An input parameter will be generated with the same name as the loop-on attribute but it will have the value of one element in the list. For example: if a loop-on attribute named "department" is a string-list with department names, then a parameter named department will be available and be set to a different department name for each iteration.
*** *<condition>*&nbsp;\- NOT REQUIRED - If a condition child element is present, its parent action will be executed only when the javascript expression text inside the condition element evaluates to true.
*** <*actions loop-on="*{*}{_}parameter-name{_}{*}*"*> - NOT REQUIRED - Since a single level of looping is not very fun, actions nodes can be nested within actions nodes to any level desired - no matter how silly it may be to do so.
*** <*action-definition*> - REQUIRED (At least 1) - It defines one complete call to a component for execution of a task.
**** <*action-inputs*> - NOT REQUIRED - Collection of action-input parameters.
***** <_input-name_ *type*="_data-type_" *mapping*=_"param"_> - NOT  REQUIRED - _input-name_ is the name of a parameter that the Action Definition is expecting to be available at run time.  The *type* attribute specifies the data type of this parameter.  See [3 - Data Types|3 - Data Types] for valid data types.  The *mapping* attribute allows this input to be mapped to an Action Sequence input or a previous action-definition output with a different name.
**** <*action-outputs*> - NOT REQUIRED - Collection of action-output parameters.
***** <_output-name_ *type*="_data-type_" > - NOT  REQUIRED - _output-name{_}is the name of a parameter that the Component will have set by the time it finishes executing. The type attribute specifies the data type of this parameter. See below for valid data types.
**** <*component-name*> - {color:#ff0000}REQUIRED{color} \- The name of the java class that executes the action definition.
**** *<action-type>* \- NOT REQUIRED The human readable friendly name for this action-definition
**** <*component-definition*> - {color:#ff0000}REQUIRED{color} \- The component specific XML definition. See the documentation for the specific component for more information. This node may be empty but it must exist or a validation error will occur.

{note:title=TODO}\* Verify this is up to date
* Add output destinations
* Add resource types xml and string
* come up with a better way to display this - table maybe?
* Link to download the "real" xml schema{scrollbar}