Effector 6.3 developer manual

XML reference 6.3

Effector Studio 6.3 summary

Effector Studio 6.3 manual

Effector 6.2 developer manual

XML reference 6.0

Effector Studio 3.2 summary

Effector Studio 3.2 manual

Datadefinition

In the Effector's system, the DataDefinition files make the connection between the database and the display components. The DataDefiniton serves as the data source of the display components. The file name always has to begin with the DataDefiniton string and it is located in the DataDefinition directory of the XML package.

/DataDefinition

Root node.

/DataDefinition/SqlSelect (String)

This part contains the name of a deleted procedure or an SQL sentence without the part of the sentence that selects the columns. The definition of the columns happens in the Columns node.

Attributes:

  • distinct (Boolean): if duplicates should be filtered out
  • type (String): specifies the type of the inquiry. Its value can be:
    • Select: in this case the value of the node is an SQL sentence without the part of the sentence that selects the columns (default).
    • StoredProcedure: in this case the value of the node is the name of a stored procedure.

/DataDefinition/Module (String)

You can add a DLL to data source. In this case the data does not come from the SQL server, but is compiled by the code specified in the configured DLL file. The class must implement the IDataDefinitionModule interface.

Attributes:

  • action (String): Free text information passed to the class. Optional, you can develop branches for this value.
  • className (String): class name with namesapce (mandatory)

Example:

<Module className="FNetOnline2.EffectorStudioResources.WorkflowTestGetWorkflowSteps" action="">[##LocalProgramPath##]\FNetOnline2.EffectorStudioResources.dll</Module>

/DataDefinition/IsDynamic (String)

Optional boolean setting. The columns of the inquiry are generated dynamically in the stored procedure given in the SqlSelect part. Its default value is false.

/DataDefinition/Columns

Collection. Contains the definitions of the columns of the data source. it's mandatory if the value of the IsDynamic setting is false.

/DataDefinition/Columns/Column

An element of the collection. Contains the definition of a column of the data source.

Attribute:

  • name(String): the unique identifier of the column, unique in the entire XML.

/DataDefinition/Columns/Column/Definition (String)

Contains the SQL definition of the column. It has to apply the same syntactical rules as an SQL column expression.

/DataDefinition/Columns/Column/IdColumn (String)

Optional.

If we want to fix a Link to the column, it's mandatory to specify. It has to contain the unique identifier of the column (as specified in the XML) that is used as the principal key, on which an Out type filter needs to be defined.

/DataDefinition/Columns/Column/BusinessObject (String)

Optional.

It matters only in case of inplace editing. Its value is the name of the BusinessObject that executed the last modification (XML file name without point and extension).

/DataDefinition/Columns/Column/IsComposite (Boolean)

(Boolean): If we want to refer to another column within the DataDefinition file then we have to specify the name (name attribute) of the DataDefinition column that we want to refer to in the SqlName node. Optional setting, default value is false.

<Column name="ColumnA">
        <Definition>ColumnA</Definition>
    </Column>
    <Column name="ColumnB" IsComposite="true">
        <Definition>SELECT TOP 1 X FROM Y WHERE Y.Z = [##Column.ColumnA##]</Definition>
    </Column>

/DataDefinition/Columns/Column/IsComposite/UseFileInterface

Viewing/downloading files works in protected mode. This means that a common service called FileInterface handles file operations. For example, if you want to download a document by clicking on a Link, you should use the following parameterization:

    <Column name="FileInterfaceID">
        <Definition><![CDATA[CAST(d.DocumentID  AS VARCHAR(20)) as FileInterfaceID]]></Definition>
        <IdColumn>DocumentID</IdColumn>
        <UseFileInterface>true</UseFileInterface>
        <OutFilter type="Param">
            <Alias>FileInterfaceID</Alias>
        </OutFilter>
    </Column>
    <Column name="FileLink">
        <Definition><![CDATA['<a href="FileInterface?p=[##Column.FileInterfaceID##]&a=download" target="_blank">' + ISNULL(d.RenamedFilename,'') + '</a>' AS FileLink]]></Definition>
        <IdColumn>DocumentID</IdColumn>
        <IsComposite>true</IsComposite>
    </Column>

In the DataDefinition column FilteInterfaceID, we specify the unique identifier of the file in the Document table. We tell the system to generate a unique key for that document by setting UseFileInterface totrue. The key will be passed to column FileLink of the DataDefinition by setting IsComposite to true and referring to the FilteInterfaceID column in its definition.

/DataDefinition/Columns/Column/OutFilter

Optional.

It contains the filter definition for the column. If the column is in node IdColumn of a column used as Link it's mandatory and values of node Type setting has to be Out.

/DataDefinition/Columns/Column/OutFilter/Type

It's the type of the outfilter, its value can be Out and Param.

/DataDefinition/Columns/Column/OutFilter/Alias (String)

It's the alias of the given filter which is displayed among the outfilters. This will be the ID of the column as a filter. Data source on the other side will be received the given filter with this name as an infilter.

/DataDefinition/InFilters

Optional.

Collection. It's the list of Out type filters to which the given DataDefinition subscribes. One of these filters will be used to filter the content of the panel. (One because only one of the filters defined as Out inDataDefinition will always output as Out. The rest will beParam.)

/DataDefinition/InFilters/InFilter

An item of the collection.

/DataDefinition/InFilters/InFilter/Alias (String)

Name of an existing infilter.

/DataDefinition/InFilters/InFilter/ConnectedColumnDefinition

It specifies which field in the DataDefinition should be associated with that filter. The value in the Definition node of the field has to be entered here. This option is optional if the data source is DLL.

/DataDefinition/ForwardedFilters

Collection. It's the list of filters to be forwarded.

/DataDefinition/ForwardedFilters/ForwardedFilter (String)

An item of the collection. Its values the (alias) name of the infilter. The filter will be forwarded with the same name.

/DataDefinition/ForwardedFilters/ForwardedFilter/Alias (String)

Name of an existing forwarded filter.

/DataDefinition/ForwardedFilters/ForwardedFilter/AsType (String)

DataDefinition will forward the infilter with the given Alias with this type.

Example

Example

<?xml version="1.0" encoding="UTF-8"?> <DataDefinition xmlns="http://effector.hu/schema/ns/DataDefinition"> <IsDynamic></IsDynamic> <SqlSelect distinct="" type=""></SqlSelect> <Module action="" className=""></Module> <Columns> <Column name=""> <UseFileInterface></UseFileInterface> <IsComposite></IsComposite> <Definition></Definition> <BusinessObject></BusinessObject> <IdColumn></IdColumn> <OutFilter> <Type></Type> <Alias></Alias> </OutFilter> </Column> </Columns> <InFilters> <InFilter> <Alias></Alias> <ConnectedColumnDefinition></ConnectedColumnDefinition> </InFilter> </InFilters> <ForwardedFilters> <ForwardedFilter> <Alias></Alias> <AsType></AsType> </ForwardedFilter> </ForwardedFilters> </DataDefinition>

  • Last update: 2 weeks 4 days ago
  • Effector