DXF User Interface Control Reference

From wiki.searchtechnologies.com
Jump to: navigation, search

For Information on Aspire 3.1 Click Here

string

A simple text-entry box.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @default - The default value to display if none is provided in the initialization data.
  • @style - Additional CSS styling to apply to the text control.
  • @allowEmptyString - When "true", the element is created (with an empty string) when there's no text data entered by the user. If "false", the XML element will be entirely removed from output XML when there's no string entered. (default: false)

Use the nested <dxf:help> tag to provide pop-up help for the element.

DXF Template Example

 <feederLabel display="Feeder Label" type="string">
   <dxf:help>The feeder label submitted in the <feederLabel> of the published document.</dxf:help>
 </feederLabel>

Display

Dxf-string.png

XML Output Example

 <feederLabel>myFileFeeder</feederLabel>

boolean

A check box control for true/false boolean data.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @default - The default value to display if none is provided in the initialization data. Either "true" or "false". (if not provided, @default is assumed to be "false")
  • @style - Additional CSS styling to apply to the control.

Use the nested <dxf:help> tag to provide pop-up help for the element.

DXF Template Example

 <debug display="Debug" type="boolean">
   <dxf:help>Turn on debugging, writes the output of this stage to log files and turns on other debugging messages.</dxf:help>
 </debug>

Display

Dxf-boolean.png

XML Output Example

 <debug>true</debug>

pulldown

Allows the user to select a single item from a list of alternatives using a single selection pull-down control. Options in the pull-down can map what is displayed to the user to a different value stored in the output XML.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @default - The default value to display if none is provided in the initialization data. This must be one of the "values" specified on one of the nested <dxf:option> tags.
  • @style - Additional CSS styling to apply to the control.

Use the nested <dxf:help> tag to provide pop-up help for the element.

The pulldown type must have nested <dxf:option> tags to specify the enumerated list of options which will be displayed to the user. Attributes for this tag include:

  • @display - The value to display to the user for the option. If @display is missing, then @value will be used for @display.
  • @value - The value to be output in the result XML for the item.

DXF Template Example

 <updateFrequency display="Frequency of Update" type="pulldown">
   <dxf:help>The scheduled update frequence for scanning the database.</dxf:help>
   <dxf:option display="Every Day">DAILY</dxf:option>
   <dxf:option display="Every Week">WEEKLY</dxf:option>
   <dxf:option display="Once a Year">ANNUALLY</dxf:option>
   <dxf:option display="Once Every 1000 Years">MILLENIALLY</dxf:option>
 </updateFrequency>

Display

Dxf-pulldown.png

XML Output Example

 <updateFrequency>WEEKLY</updateFrequency>

textarea

A multi-line text entry control good for entering large blocks of text such as SQL statements, scripts, etc.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @default - The default value to display if none is provided in the initialization data.
  • @style - Additional CSS styling to apply to the control.
  • @rows - The height of the text area control, in rows.

Use the nested <dxf:help> tag to provide pop-up help for the element.

DXF Template Example

 <groovyScript display="Groovy Script Value" type="textarea" rows="10">
   <dxf:help>A groovy script which specifies the value to be assigned to the variable.</dxf:help>
 </groovyScript>

Display

Dxf-textarea.png

XML Output Example

<groovyScript>int i;
i = i+1;
return i;
</groovyScript>

application

A pull-down control which is automatically filled out with the names of all installed applications that match a specified set of type flags. This is useful for creating routing tables or branching destinations for jobs.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @style - Additional CSS styling to apply to the control.
  • @typeFlag - The type of application to display in the pull-down. Only applications with an application.xml which has the specified type flag will be displayed in the pull-down. See Application Type Flags for more details.

Use the nested <dxf:help> tag to provide pop-up help for the element.

DXF Template Example

 <databaseApplication display="Database Application" type="application" typeFlag="scheduled">
   <dxf:help>Choose a database application to route your database jobs to.</dxf:help>
 </databaseApplication>

Display

Dxf-application.png

XML Output Example

 <databaseApplication>/MyDatabaseApp</databaseApplication>

component

 (1.2 Release)   A pull-down control which is automatically filled out with the names of all installed components that match a specified set of flags. The list of components returned to the control is only guaranteed to be valid when the form is created.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @style - Additional CSS styling to apply to the control.
  • @factory- The Aspire factory name of the components required (mandatory)
  • @subType- The sub-type of the required components (optional - returns all components from the factory if not given)

Use the nested <dxf:help> tag to provide pop-up help for the element.

DXF Template Example

 <component type="component" factory="aspire-post-fast" subType="default" display="Component">
   <dxf:help>The name of the component publishing to Fast (or providing callbacks). This allows the
     callback information to be transfered from the publisher to this listener and back to the client</dxf:help>
 </component>

Display

Dxf-component.png

XML Output Example

 <component>/PublishToFAST/Main/PostToFast</component>

password

A string entry control for entering and encrypting passwords. Text entered into this control is automatically sent to Aspire to be encrypted using the master password.

Attributes:

  • @display - The label to be displayed for the user before the control.
  • @default - The default value to display if none is provided in the initialization data.
  • @style - Additional CSS styling to apply to the control.

Use the nested <dxf:help> tag to provide pop-up help for the element.

DXF Template Example

 <rdbmsJDBCPassword display="Database Password" type="password"/>

Display

Dxf-password.png

XML Output Example

<rdbmsJDBCPassword>encrypted:23F78ACE31ED138AC1302FAEC</rdbmsJDBCPassword>

Headers: <dxf:h1>, <dxf:h2>

These headers display header text in the form. They are for display only, they have no affect on the XML output.

Attributes:

  • @style - Adds CSS styling to apply to the header style.

DXF Template Example

   <dxf:h1>Other Values</dxf:h1>

Display

Dxf-header.png

Horizontal Rule: <dxf:hr>

Displays a horizontal rule in the form. This is for display only, it has no affect on the XML output.

Attributes:

  • @style - Adds CSS styling to apply to the horizontal rule.

DXF Template Example

   <dxf:hr style="width:50px;"/>

Display

Dxf-hr.png

<dxf:br>

Copies an HTML <br/> tag to the output. This may be useful for adding space after other UI widgets.

DXF Template Example

   <dxf:br/>

constant

The "constant" type displays no user interface control at all, but merely copies it's data directly to the XML output. It is primarily useful inside the "dxf:alternatives" tag below, so that different alternatives can copy different constant values to the output.

DXF Template Example

 <managerRDB type="constant">CWSRDB</managerRDB>

alternatives / alternative

The alternatives control allows the user to make a choice, and then based on that choice to fill out a set of nested form items.

There are currently two supported "alternative" methods. The first is "accordion", which allows the user to choose an alternative based on a set of radio buttons. Once the radio is chosen, nested controls are revealed which the user can then fill out.

The second supported method is "checkbox". When checked or unchecked, a different set of nested input controls are revealed.

The basic structure of alternatives is shown below:

   <dxf:alternatives subType="accordion" display="Label for All Options" key="choiceOutputKey">
     <dxf:alternative display="First Alternative" value="firstValue">
       ** nested controls for first alternative go here **
     </dxf:alternative>
     <dxf:alternative display="Second Alternative" value="secondValue">
       ** nested controls for second alternative go here **
     </dxf:alternative>
     
     ** Any number of alternatives can go here
     .
     .
     .
   </dxf:alternatives>

Attributes for <dxf:alternatives>:

  • @display - The label to be displayed for the user before the control.
  • @default - The default value to display if none is provided in the initialization data.
  • @subType - The type of alternatives to show, either "checkbox" or "accordion"
  • @key - The XML tag which will be output as the key value
Note that the top-level accordion value must be output as an XML tag, it can not be output into an XML attribute.

<dxf:alternatives> can have a nested <dxf:help> tag for top level help, but this is only shown when subType="checkbox".

Attributes for <dxf:alternative>:

  • @display - What label to display to the user for this alternative.
  • @value - The value for the resulting XML tag to be output if this alternative is selected.

Note that <dxf:alternative> can have a nested <dxf:help> tag which provides help on each of the nested alternatives. This only shown when subType="accordion".

Alternatives: accordion

The "accordion" alternatives type presents a set of radio buttons, each one with a banner. Additional form entry controls will be revealed underneath the selected radio button.

DXF Template Example

    <dxf:alternatives subType="accordion" display="Relational Database Type" key="managerRDB" default="0">
      <dxf:help>...</dxf:help>
      <dxf:alternative display="Use Internal RDB" value="CWSRDB">
        <dxf:help>...</dxf:help>
      </dxf:alternative>
      
      <dxf:alternative display="Use RDB from Remote Node" value="CWSRDBREMOTE">
        <dxf:help>...</dxf:help>
        <managerRemoteAspireNode display="Aspire Node address" type="string"/>
      </dxf:alternative>
      
      <dxf:alternative display="Use External RDB" value="CWSExternalRDBConnector">
        <dxf:help>...</dxf:help>
        <managerExternalJDBCUrl display="JDBC URL" type="string"/>
        <managerExternalJDBCDriverJar display="JDBC driver" type="string"/>
        <managerExternalJDBCUser display="JDBC user" type="string"/>
        <managerExternalJDBCPassword display="JDBC password" type="password"/>
    </dxf:alternative>
    </dxf:alternatives>

Display

Dxf-alt-accordion.png

XML Output Example

 <managerRDB>CWSExternalRDBConnector</managerRDB>
 <managerExternalJDBCUrl>oracle:thin:sid43:db92</managerExternalJDBCUrl>
 <managerExternalJDBCDriverJar>lib/oracle.jar</managerExternalJDBCDriverJar>
 <managerExternalJDBCUser>root</managerExternalJDBCUser>
 <managerExternalJDBCPassword>secret</managerExternalJDBCPassword>

Alternatives: checkbox

The "checkbox" type shows a checkbox. Based on the state of the checkbox (true or false), a different set of nested controls will be displayed. In the example below, only the "true" condition displays nested form controls.

DXF Template Example

   <dxf:alternatives subType="checkbox" display="Specify Connection Defaults" default="false" key="rdbmsUseDefaults">
     <dxf:help>...</dxf:help>
     <dxf:alternative value="true">
       <rdbmsJDBCUrl display="JDBC Url" type="string"/>
       <rdbmsJDBCUser display="Database User" type="string"/>
       <rdbmsJDBCPassword display="Database Password" type="password"/>
       <rdbmsJDBCDriverJar display="JDBC Driver Jar" type="string"/>
       <rdbmsJDBCDriverClass display="JDBC Driver Class (optional)" type="string" allowEmptyString="true"/>
     </dxf:alternative>
   </dxf:alternatives>

Display

Dxf-alt-checkbox.png

XML Output Example

 <rdbmsUseDefaults>true</rdbmsUseDefaults>
 <rdbmsJDBCUrl>oracle:thin:sid43:db92</rdbmsJDBCUrl>
 <rdbmsJDBCUser>root</rdbmsJDBCUser>
 <rdbmsJDBCPassword>secret</rdbmsJDBCPassword>
 <rdbmsJDBCDriverJar>lib/oracle.jar</rdbmsJDBCDriverJar>
 <rdbmsJDBCDriverClass/>

parent

Multi-Valued Entry Control

This control is used to wrap multiple entries which need to be replicated. For example, if the target XML looks like:


<xml>

  <user name="xxx" domain="xxx">
    <type>Allow</type>
  <user/>

  <user name="xxx" domain="xxx">
    <name/>
    <type>Deny</type>
  </user>

  .
  .
  .
</xml>

The multi-valued entry control allows to configure a template for the 'user' element once, and automatically add new sets as necessary.

DXF Template Example

As an attribute of a parent DXF type:

<dxf:parent multiple="true" minCount="1">
	<user>
		<dxf:attribute name="domain" display="Domain" type="string">
			<dxf:help>Domain to which the user belongs to.</dxf:help>
		</dxf:attribute>
		<dxf:attribute name="name" display="Name" type="string">
			<dxf:help>User name.</dxf:help>
		</dxf:attribute>
		<type type="pulldown" display="Type" default="allow">
			<dxf:help>Whether or not this user will have access to crawled files.</dxf:help>
			<dxf:option display="Allow">allow</dxf:option>
			<dxf:option display="Deny">deny</dxf:option>
		</type>
	</user>
</dxf:parent>

As an attribute of a simple container:

<user multiple="true" minCount="1">
	<dxf:attribute name="domain" display="Domain" type="string">
		<dxf:help>Domain to which the user belongs to.</dxf:help>
	</dxf:attribute>
	<dxf:attribute name="name" display="Name" type="string">
		<dxf:help>User name.</dxf:help>
	</dxf:attribute>
	<type type="pulldown" display="Type" default="allow">
		<dxf:help>Whether or not this user will have access to crawled files.</dxf:help>
		<dxf:option display="Allow">allow</dxf:option>
		<dxf:option display="Deny">deny</dxf:option>
	</type>
</user>

Both examples will have exactly the same output (as shown in the XML above).

The following is an example in which case you must use the parent DXF type:

<expanders>
	<dxf:parent multiple="true" minCount="0">
		<route type="application" typeFlag="group-expansion" display="Pipeline"/>
	</dxf:parent>
</expanders>

Notice that you cannot add the "multiple" attribute directly to the "route" entry. DXF type application is not compatible with the multiple attribute, so you need to wrap it with a DXF parent. A sample XML generated by the above template looks like:

<expanders>
	<route>Application1/GroupExpansion1<route>
        <route>Application2/GroupExpansion2<route>
</expanders>

Additional attributes available with multi-value entry control:

  • @multiple - when added to a parent(and set to true), will enable replication of all entries contained in such parent. Notice that not all parents support the multiple attribute, in which cases, you should wrap everything inside a DXF parent type.
  • @minCount - Tells the minimum amount of times entries should appear replicated. If zero, none will show.

Display

File:Dxf-multiple1.png

Notice the x near each entry. If clicked, it will delete the selected value. Similarly, Add new will create a new empty set which can then be configured.

File:Dxf-multiple2.png