Document numberRevision
DOCU1219923

 

<type> element schema reference

Introduction

This reference article includes the schema documentation for the supported <type> element attributes and elements.

 

Attributes

Attribute nameElementsDescription
_inherit<type>List of types to inherit. The schema will be created from the inherited type(s) left to right and finally the xml contained in this <type> element will be merged.
add<type> <object>Add reference to object.
add-parameter<type> <object>Additional parameters used for searching existing object.
alias<field>-
app<ext>Defines an application
authentication<column> <option>Require authentication for editing field.
change-reset-step<column>Clears column (replaces current value with the value defined in the sqldefault attribute) value when making a change on an item with a specific status (working, freeze, review, approval, approved).
clone<column>Enable or disable whether a value of column will be copied to new item on clone.
column<column>Defines a physical database column or a virtual column
columns<type> <grid> <ref-type>List of columns to show in grid search by default. If not specified then all columns will be shown (may be overruled by grid)
connection<type>Specify the name of the connection string used for database access.
Connection strings are defined in web.config.
Default connection string has the name default.
create<object>Create new object and reference to the new object.
cssclass<column> <step>This element accepts @[variable-name].
The cascading style sheet class used for column rendering.
details<column>Show most information like time in dates and full path to foreign types.
dependency<type> <column>Column names specified in dependency attribute is always loaded and will always be queried and available in data result sets.
changenote<column>If set then this column requires a descriptive text (rationale) to be written when updating the column value.

The rationale for the update will appear in the event log
description<column> <filter> <grid>Optional description about the element.
disable-constraint-check-on-previous-steps<step>Disable constraint check on previous steps. This allows process to move to next step even if constraint violations exists in one or more of the previous steps.
disabled<step>Step may be disabled by setting disabled="1".
This may be used to reserve a step for future use.
expanded<section> <main>Expands the form element.
expression<switch>An expression to match, this attribute accepts @[] parameters, typically a @[data:column] expression.
files<export>File types to include
filter<type> <grid>Specifies filter that will be applied by default.
Filters are defined by the <filter> element. (may be overruled by grid)
foreign<reference>-
foreign-filter<foreign-type>TBD. Currently only works when foreign columns are added and is very slow… currently not used anywhere.

Optional. Specifies a filter that is always applied on foreign data. This may be necessary to reduce one-to-many to one-to-one.
form-title-disabled<field>Disables title display.
format<column>Format string. Refer to MSDN documentation.
grid<type> <ref-type>Specifies grid that will be applied by default.
Filters are defined by the <grid> element
header-cssclass<column>The cascading style sheet class name used for column grid header rendering.
hidden<field>Hide field in create form.
img<step>Specifies process step image shown in upper part of process step box. This is an URL relative to base, example: img="ts/images/stage/slide0.gif"

Alternatively, instead of specifying this attribute, the class ts-process-step-image may be used for styling process step.
js<app>URL for JavaScript
keycolumn<type>The name of the column containing an object unique value. This column is essential for identifying objects uniquely. The column must be specified for the table to be editable or referenced.
If no value is provided when creating a new object, the keycolumn is given the next id from base type nextid column (which is incremented).
local<reference>-
lock<object>Lock reference to current child version.
Default value is defined by SQL server.
mandatory<field> <object>If set then this element must be filled in before continuing to next workflow step.
max<type> <grid>Maximum of rows to display.
name<type> <column> <execute> <export> <filter> <foreign-type> <form> <field> <html> <object> <object-link> <options> <option> <section> <xhtml> <process-outline> <process-step> <process-step> <subform> <switch> <grid> <main> <menu> <link> <process> <step> <ref-type> <refinery> <app> <ext> <select> <validate>Mandatory name of the element.
namecolumn<type>The name of the column containing an object unique value independent of possible revision of an object. The value is static across all revisions.
object<object-link>Id or name of object.
If object type supports revisions, use name to obtain link to latest approved revision.
objlist<column>If set then the column represents a list of objects
obsolete<column>Marks the column as obsolete. The column will not be included in the resulting schema unless custom schema clears this flag.
oldname<column>-
optional<column>Marks the column as optional. The column will not be included in the resulting schema unless custom schema clears this flag.
order<type> <grid>Order of rows.
List of database columns to be used in SQL order by clause. Following a name by - will result in descending order.
This sample orders results by type ascending and eventtime descending: type;eventtime- (may be overruled by grid)
parameters<object>Additional parameters to be transferred to new child object.
@[] parameters are accepted.
processname<app>The windows process name.
properties<refinery>Url for property xml file.
read<type>-
ref-write<type>List of vector roles. Defines write permission for references.
Extends write attribute, so actual value will include roles specified in write attribute.
refcolumns<type> <grid>List of columns to be shown in <grid> or <type> when displaying references.
refilter<type>Filter used when showing references (may be overruled by grid)
refine<refinery>Determines if edit buttons is shown and if refine is done.
reforder<type> <grid>List of database columns to be used in sql order by clause.
Following a name by - will result in descending order.
(may be overruled by grid)
reload<column>Reloads web page when column is written. This is useful when writing a column will update other columns and the new values should be presented to user.
resourcecolumns<type>List of columns containing roles that are allowed to work on object.
search-parameter<object>-
showcount<section>Shows data record count in section head. This attribute is only valid when URL attribute is specified.
sqldefault<column>Default value of SQL data column
sqlfilter<type>Specifies a raw SQL filter that will be appended as an AND term to the WHERE clause.
The filter will also work from foreign links if proper path is specified. The path [.] will refer to the current level (current table).
This attribute may be given as an element as well since SQL queries can be quite complex with special characters that cannot easily be contained in an attribute.
sqlidentity<column>Specifies if SQL data column is an identity column.
sqlmanage<type>sqlmanage="0" is the default and instructs Turbostage to not manage the SQL table
sqlmanage="1" instructs Turbostage to enable the management of the SQL table.

When integrating foreign types this field should typically have the value “0”. For public TurboStage tables the value will typically be “1”. If the value is “1” then TurboStage will apply schema and attempt to create non-existent tables and columns in addition to execute <sql-setup> elements as well as make changes to SQL table columns that does not match the XML definition.

When integrating to foreign systems this value should be ‘0’ (default) and userid used by TurboStage to access the foreign system database should be readonly, to avoid unintended redefinition of foreign system database.
sqlnull<column>Specifies if SQL data column allows null values.
sqlselect<column>This attribute is only valid for virtual columns. May be replaced by a \<sqlselect> element. An SQL select statement returning a single column.
sqlsize<column>Size of SQL data column (where applicable)
sqltable<type>Fully qualified path to table. If table resides in default TurboStage database then this may be name of database otherwise it must a fully qualified path in the form: [server.]database.schema.table

for example server1.axapta.dbo.inventtable or just axapta.dbo.inventtable if the Axapta database resides on the same SQL server as TurboStage.

More than one type may exist in the same table. If this is the case then typecolumn and typecolumnvalue attributes must be specified.


Alternatively the sqlselect element (below) may be used to specify an SQL view.
sqltype<column>Specifies SQL column type.
src<execute>URL path to execute
step<process-step>A number of steps may be defined for the process. The steps must be named step1 to max step14 (may be extended by setting parameter (MaxStep).

Refer to <step> element
step-column<process>Name of column containing step index. Default is step.
step-write<process>Defines additional vector roles that are allowed to change step. Inherits by default write vector roles and step resource. May be extended by setting this value to additional roles.
subtypecolumn<type>Specifies the subtype column.
This attribute must always be specified if subtypes for this type are to be used.
system<section>-
target<link>Target frame (same values as html A _target attribute).
text-add<column>When text field with the text-add attribute is edited, the field text in edit dialog is empty. When the user enters text and clicks OK the text is either appended or prepended to the existing field text in database, also datetime and user id is added.
Previously entered text cannot be modified.
timeoutfile<refinery>Timeout in seconds used on file related operations like open, export, save.
timeoutgeneral<refinery>Timeout in seconds used for all operations not related to file.
tiptext<field> <object>Tip text displayed when mouse is over element.
title<type> <column> <filter> <form> <object-link> <section> <subform> <grid> <main> <step> <select>The title of the element. This text is what the user will see. If not specified the name attribute will be used as title.
titlecolumn<type>The name of the column containing an object unique value independent of possible revision of an object. The value is static across all revisions.
treecolumns<type>List of columns to be shown in reference grid when references are shown as tree. This will typically be as few as possible to make tree easier to read and not expand too much horizontally.
trustees<section>List of vector roles allowed to see element.
trusteescolumns<type>List of columns containing roles that are allowed to see object. Currently these columns should be added to dependency attribute.
In the future trusteescolumn may be added automatically.
type<column> <foreign-type> <object> <object-link> <section>Name of type.
typecolumn<type>Specifies the type column. When more than one type exists in the same table then this attribute as well as typecolumnvalue must be specified.
typecolumnvalue<type>Specifies a column filter value for typecolumn. When more than one type exists in the same table then this attribute as well as typecolumn must be specified.
types<grid>Linked types to display as sections
uikeycolumn<type>-
url<type> <column> <section> <main> <link> <select>Specifies URL for element use.
urls<type>URL to show multiple objects as a list. If this parameter has not been specified then a link for each object will be shown instead using the URL attribute.
value<field>Specifies element value.
values<column>Defines a list of possible data values.
valuetitles<column>Defines labels to values attribute. If not specified or if valuetitle are empty then values are used as labels.
virtual<column>Specifies if column is a physical database column or a virtual column.
visualcolumn<step>This column is shown in the lower part of the process step box. Typically date and/or resource.
workspacecolumn<type>If specified then this type will make use of workspace security and objects must be related to a workspace.
An attempt to create an object without specifying a workspace will fail and result in an exception.
write<type> <column> <object> <process> <step>List of vector roles.
Defines write permissions on column. These permissions overrules write permissions defined on type element. Process step may also define write permissions applied when the step is the active process step.
x-index<subform>x position relative to main form. Main form has 0 as x-index.
xpath<column>-
y-index<subform>y position relative to main form. Main form has 0 as y-index.

 

 

Elements

<type> element

The type element defines a specific object type.

 

Attributes:

NameDescription
columnsList of columns to show in grid search by default. If not specified then all columns will be shown (may be overruled by grid)
connectionSpecify the name of the connection string used for database access.
Connection strings are defined in web.config.
Default connection string has the name default.
dependencyColumn names specified in dependency attribute is always loaded and will always be queried and available in data result sets.
filterSpecifies filter that will be applied by default.
Filters are defined by the <filter> element. (may be overruled by grid)
gridSpecifies grid that will be applied by default.
Filters are defined by the <grid> element.
_inheritList of types to inherit. The schema will be created from the inherited type(s) left to right and finally the xml contained in this <type> element will be merged.
keycolumnThe name of the column containing an object unique value. This column is essential for identifying objects uniquely. The column must be specified for the table to be editable or referenced.
If no value is provided when creating a new object, the keycolumn is given the next id from base type nextid column (which is incremented).
nameThe name of the type.
The name must be unique. If not unique it will be merged with other <type> elements with the same name.Internally TurboStage will convert the name to lowercase for use in case-sensitive .NET collections.
Use the title column to give a short but proper user friendly name shown on web pages.
References to this type are done using the name given to the type and the reference is not case sensitive. However Internally name will be stored in lowercase and custom code making collection lookup must use lowercase name to avoid exception.
namecolumnThe name of the column containing an object unique value independent of possible revision of an object. The value is static across all revisions.
maxMaximum number of hits to return when searching for objects of this type. (may be overruled by grid)
orderList of database columns to be used in SQL order by clause. Following a name by - will result in descending order.
This sample orders results by type ascending and eventtime descending: type;eventtime- (may be overruled by grid)
read-
refcolumnsList of columns to be shown in reference grid. (may be overruled by grid)
refilterFilter used when showing references (may be overruled by grid)
reforderList of database columns to be used in sql order by clause.
Following a name by - will result in descending order. (may be overruled by grid)
ref-writeList of vector roles. Defines write permission for references.
Extends write attribute, so actual value will include roles specified in write attribute.
resourcecolumnsList of columns containing roles that are allowed to work on object.
subtypecolumnSpecifies the subtype column.
This attribute must always be specified if subtypes for this type are to be used.
sqlfilterSpecifies a raw SQL filter that will be appended as an AND term to the WHERE clause.
The filter will also work from foreign links if proper path is specified. The path [.] will refer to the current level (current table).
This attribute may be given as an element as well since SQL queries can be quite complex with special characters that cannot easily be contained in an attribute.

Sample:
[.].dataareaid='d1' as a format string ensures that only data from datareadid d1 will be selected
sqlmanagesqlmanage="0" is the default and instructs Turbostage to not manage the SQL table
sqlmanage="1" instructs Turbostage to enable the management of the SQL table.

When integrating foreign types this field should typically have the value “0”. For public TurboStage tables the value will typically be “1”. If the value is “1” then TurboStage will apply schema and attempt to create non-existent tables and columns in addition to execute <sql-setup> elements as well as make changes to SQL table columns that does not match the XML definition.

When integrating to foreign systems this value should be ‘0’ (default) and userid used by TurboStage to access the foreign system database should be readonly, to avoid unintended redefinition of foreign system database.
sqltableFully qualified path to table. If table resides in default TurboStage database then this may be name of database otherwise it must a fully qualified path in the form: [server.]database.schema.table

for example server1.axapta.dbo.inventtable or just axapta.dbo.inventtable if the Axapta database resides on the same SQL server as TurboStage.

More than one type may exist in the same table. If this is the case then typecolumn and typecolumnvalue attributes must be specified.


Alternatively the sqlselect element (below) may be used to specify an SQL view.
titleUser friendly title shown on web pages where relevant to the type. Title should have relation to name to make system transparent and easy to understand. If this attribute has not been specified then the name attribute will be used as title.
titlecolumnThe name of the column containing an object unique value independent of possible revision of an object. The value is static across all revisions.
typecolumnSpecifies the type column. When more than one type exists in the same table then this attribute as well as typecolumnvalue must be specified.
typecolumnvalueSpecifies a column filter value for typecolumn. When more than one type exists in the same table then this attribute as well as typecolumn must be specified.
treecolumnsList of columns to be shown in reference grid when references are shown as tree. This will typically be as few as possible to make tree easier to read and not expand too much horizontally.
trusteescolumnsList of columns containing roles that are allowed to see object. Currently these columns should be added to dependency attribute.
In the future trusteescolumn may be added automatically.
uikeycolumn-
urlMay contain @[<variable-name>]

URL to show object of this type. This may be a TurboStage web page like /ts/object.aspx or an external web page in another system. If the URL ends with = the object id will be appended to the URL at runtime.
urlsURL to show multiple objects as a list. If this parameter has not been specified then a link for each object will be shown instead using the URL attribute.
workspacecolumnIf specified then this type will make use of workspace security and objects must be related to a workspace.
An attempt to create an object without specifying a workspace will fail and result in an exception.
writeList of vector roles.
Defines write permission for data of this type. This setting at type level may be overruled at column level. Also process step element may define write permissions for columns contained in the step form to be applied when the step is active.

Elements:

NameDescription
<column>Defines a physical database column or a virtual column
<execute>Execute URL after schema load.
<filter>Defines a filter selecting specific data.
<foreign-type>Link the current type to a foreign type
<form>Defines a form
<grid>Defines a grid
<hooks>Delegates complex rendering and business logic to specific aspx page
<main>Defines a standard main page fragment for the type
<menu>Defines a standard menu for the type
<sql-setup>-
<select>Defines how to select objects. Multiple select elements may be specified. Each select element will present one section to the user to select objects objects from.
<sqlselect>Defines a SQL view. This element may be used instead of sqltable attribute. If both table attribute and element are specified then the attribute takes precedence.
<validate>Defines how to validate object identities. Multiple validate elements may be specified. The validate elements will be iterated until the object is found. If the object is not found then an error will be presented to the user.

Sample:

The following sample defines the customer object type. Refer to type element documentation for details.

 

<column> element

Defines a physical database column.

Attributes:

NameDescriptionValues or Samples
authenticationIf set then changing column value requires authentication.Disable (default): authentication="0"

Enable: authentication="1"
change-reset-stepIf set, the content will be cleared (replaces current value with the value defined in the sqldefault attribute) when making a change to a new version from an item with a specific minimum status (Freeze, Review, Approval, Approved).

Only available for doc,part and device types.
StatusValue
Freeze2
Review3
Approval4
Approved5
cloneEnable or disable whether a value of column will be copied to new item on clone.Disable: clone="0"

Enable (default): clone="1"
changenoteIf set then this column requires a descriptive text (rationale) to be written when updating the column value.

The rationale for the update will appear in the event log
Disable (default):
changenote="0"

Enable:
changenote="1"
columnThis attribute is only valid for virtual columns. Links a virtual column to a physical column. 
cssclassThis element accepts @[variable-name].
The cascading style sheet class used for column rendering.
 
dependencyList of columns to be loaded in addition to this column whenever this column is referenced for example in a grid. Typically this is used if rendering the column is dependent on other column data values. 
descriptionDescription of column. 
detailsShow most information like time in dates and full path to foreign types.Disable (Default): details="1"

Enable: details="1"
formatFormat string. Refer to MSDN documentation.The format string {0:F1} formats the number to one decimal
header-cssclassThe cascading style sheet class name used for column grid header rendering. 
mandatoryIf set then this column must be filled in before continuing to next workflow step.Disable (default): mandatory="0"

Enable: mandatory="1"
nameThe name must be unique. If not unique it will be merged with other <column> elements with the same name. Internally TurboStage will convert the name to lowercase for use in case-sensitive .NET collections.
References to this column are done using the name given to the column and the reference is not case sensitive.
However Internally name will be stored in lowercase and custom code making collection lookup must use lowercase name to avoid exception.
 
objlistIf set then the column represents a list of objectsDisable (default): objlist="0"

Enable: objlist="1"
obsoleteMarks the column as obsolete. The column will not be included in the resulting schema unless custom schema clears this flag.Disable (default): obsolete="0"

Enable: obsolete="1"
oldname--
optionalMarks the column as optional. The column will not be included in the resulting schema unless custom schema clears this flag.Disable (default): optional="0"

Enable: optional="1"
readAssign any number of Vector roles to grant read permissions to the column (users who satisfy the requirements for any of the associated vector roles will have read permissions on the column).

By default (if no read permissions are defined on the column) Read permissions on a column are inherited from the read permissions defined on the overlying associated type element
The following samples display how read permissions can be defined to overrule or supplement existing read permissions from the column and/or type element:
SampleDescription
read="AdminWrite"Overrules read permissions from the type and grants read permissions to Administrators.
read="+AdminWrite"Adds to the preexisting read permissions inherited from the associated type element.
read="+=AdminWrite"Adds to the preexisting read permissions on the column.
reloadReloads web page when column is written. This is useful when writing a column will update other columns and the new values should be presented to user.Disable (default): reload="0"

Enable: reload="1"
searchEnables or disables column search for the column.Enabled (default): search="1"

Disabled: search="0"
sqltypeSpecifies SQL column type. 
sqlnullSpecifies if SQL data column allows null values.Disable (default): sqlnull="0"

Enable: sqlnull="1"
sqldefaultDefault value of SQL data column 
sqlselectThis attribute is only valid for virtual columns. May be replaced by a \<sqlselect> element. An SQL select statement returning a single column. 
sqlsizeSize of SQL data column (where applicable) 
sqlidentitySpecifies if SQL data column is an identity column.Disable (default): sqlidentity="0"

Enable: sqlidentity="1"
text-addWhen text field with the text-add attribute is edited, the field text in edit dialog is empty. When the user enters text and clicks OK the text is either appended or prepended to the existing field text in database, also datetime and user id is added.
Previously entered text cannot be modified.
Append: Appends text to the end of database field.

Prepend: Prepends text to start of database field
titleUser friendly title shown on web pages where relevant to the column. Title should have relation to name to make system transparent and easy to understand. If this attribute has not been specified then the name attribute will be used as title. 
typeAccepts runtime variables @[variable-name] parameter.
Name of type. The type controls value selection, ex. validation or URL.
 
urlIf URL attribute is specified then the runtime column data value will be added to the URL.
If the column data value starts with the URL attribute then only the remaining part will be added.
URL attribute: http://
Runtime data: http://www.cnn.com
result: http://www.cnn.com
valuesDefines a list of possible data values. 
valuetitlesDefines labels to values attribute. If not specified or if valuetitle are empty then values are used as labels. 
virtualSpecifies if column is a physical database column or a virtual column.Physical (default): virtual="0"

Virtual: virtual="1"
writeAssign any number of Vector roles to grant write permissions to the column (users who satisfy the requirements for any of the associated vector roles will have write permissions on the column).

By default (if no write permissions are defined on the column) Write permissions on a column are inherited from the write permissions defined on the overlying associated type element.

Process step may also define write permissions applied when the step is the active process step.
The following samples display how write permissions can be defined to overrule or supplement existing write permissions from the column and/or type element:
SampleDescription
write="AdminWrite"Overrules write permissions from the type and grants write permissions to Administrators.
write="+AdminWrite"Adds to the preexisting write permissions inherited from the associated type element.
write="+=AdminWrite"Adds to the preexisting write permissions on the column.
xpath--

 

Elements:

NameDescriptionValues or Samples
cformDefines a column form. The following subset of the <type>/<form> elements are available:
<field>
<xhtml>
<section>
Refer to <form> element documentation for a description on the above elements.
The dependency attribute are available to specify database columns explicitly required to be loaded from database for the cform to run.
Check Samples below for an example of cform element.
descriptionCreates a descriptive field associated with a column for displaying descriptions, warning, links etc.

Description will be displayed when user is clicking on the appropriate column title.
<description name="default">CONTENT</description>

See sample below.
input-guideCreates a descriptive field associated with a column for displaying descriptions, warning, links etc.

The input guide will be displayed when a user clicks to edit the field of the associated column.
<input-guide name="default">CONTENT</input-guide>

See sample below.
selectSpecifies an URL to a list of valid column values. The list is available in the column edit popup as a section.

More than one element may exist so that several list may be available to user.
Valid attributes are:

Disable (default): expanded="0"
Enable: expanded="1"

expanded: show the section as expanded

name: Name of select element. Used for merging and used as title if no title has been specified.

title: Title of section.

url: URL to grid to select values from.
validate--
valuesList of valid column values.

The title attribute is optional, if not specified the name attribute is used as value.

The value attribute is optional, if not specified the name attribute is used as value.
Check Samples below for an example of values element.
xcolumnsSpecifies a list of columns that replaces the current column in grid. All columns must exist in the same type.

The grid element provides an alternative way to specify many columns as a set and may also be used cross type and tables.
-

 

Samples:

The following sample shows the cform element used:

 

The following sample shows the values element used:

 

The following sample makes use for an input-guide for Change Notes on documents where HTML is inserted using the xhtml element:

The following input guide are added to the Change note column:

input-guide

 

 

The following sample makes use for an description element for associated column where HTML is inserted using the xhtml element:

The following description is added to the PackageNote column when clicking on the name of the column:

input-guide

 

 

<execute> element

The <execute> element executes a “code behind” .aspx file on local server. The .aspx file may initialize extended “code behind” functionality and setting including delegates.

Attributes:

NameDescription
nameName of the element
srcLocal URL to .aspx file. The t parameter will be added to url to identify which type to initialize.

Samples:

The following sample shows an initialization of custom object security.

 

<export> element

The <export> tag defines export format for example for BOM export.

Attributes:

NameDescription
nameName of the element
filesFile types to include

Elements:

NameDescription
columnDefine an export column, valid attributes for the column are name which is a valid grid column name, and a title which is the column title in export result.

Samples:

The following sample shows how to use <export> to define an export format.

 

<filter> element

The <filter> tag defines a data filter that may be applied by default (see type element filter attribute) or set by the _filter URL parameter.

Attributes:

NameDescription 
nameName of the filter 
hiddenMakes any filter hidden and unavailable for selection by users on any search page.

The configured filter can still be used if it is specified directly in the URL of a search (e.g. ts/search.aspx?t=doc&_filter=mycustomfilter).
Disabled (default): hidden="0".

Enabled: hidden="1".
titleOptional title of filter displayed on web pages. If no title attribute has been defined then the name attribute will be used as title. 
descriptionOptional information to user about filter 
trusteesOptional list of vector roles allowed to see element. 

Samples:

The following sample defines a filter for selecting (latest or latest approved) and not obsolete items where everyone has access :

 

The <footer> element enables you to configure which footer sections to include and display on objects of the associated type. By default, a footer element is defined on all item derived types (e.g. documents, actions, parts, devices, customer, suppliers, manufacturers, products etc.).

 

Attributes:

NameDescription
NameMandatory name default must be defined (name="default").

Elements:

NameDescription
<section>Individual expandable section (e.g for showcasing references and mails on the associated item).

 

<section> element

Any number of <section> elements can be defined within a <footer> element using the listed attributes and elements:

Attributes:

NameDescriptionValues
nameName of section. Used for schema merging. 
expanded Disable (default): expanded="0"

Enable: expanded="1"
urlMay contain runtime variables @[variable-name] 
showcountShows data record count in section head. This attribute is only valid when URL attribute is specified. 
trusteesList of vector roles allowed to see element. 
titleThe title of the section. This text is what the user will see. If not specified the name attribute will be used as title. 

 

Samples:

The following sample shows the default configuration of the <footer> element and is defined on the ts_item basetype:

Reserved section names: Notice that the sections named ts_mail, refby, and ref predefined and reserved to display the References, Referenced by, and Mails section on items.

 

The following sample shows a configuration of footer where a new section is made (Products) to only show part references from the 'PRODUCTS' workspace:

image-20211020122053635

 

<foreign-type> element

The <foreign-type> tag allows linking types.

Attributes:

NameDescription
nameName of the foreign reference
typeName of foreign type
foreign-filterTBD. Currently only works when foreign columns are added and is very slow… currently not used anywhere.

Optional. Specifies a filter that is always applied on foreign data. This may be necessary to reduce one-to-many to one-to-one.

Elements:

NameDescription
<reference>Specifies how type is linked to foreign type

 

<reference> element

Attributes:

NameDescription
LocalColumn name of local bind column (must be of the same datatype (sqltype) as the column defined in Foreign).
ForeignColumn name of foreign bind column (must be of the same datatype (sqltype) as the column defined in Local).

Important: Please ensure that the Local and Foreign columns used for linking types are of the same datatype (sqltype) in the database. This is required for a connection to be established.

 

Samples:

The following sample shows how the item type is linked to the workspace type:

 

The types may be bound using several columns, this sample shows how the item type is linked to the eventlog type:

 

The local bind column may actually be located in another liked type, this is for advanced use. The following sample shows how to link one level of Axapta BOMVERSION/BOM to next BOMVERSION/BOM level for BOM drill down:

 

<form> element

Attributes:

NameAttributes
nameThe name of the form. Using ‘create’ or ‘default’ as name will make it the default form to create or view objects of this type.
titleOptional title.
cssclassUsed to define a specific CSS class.

Elements:

NameDescription 
<feature>- 
<field>Column field 
hiddenMakes any form hidden and unavailable for selection by users on any view page.

The configured form can still be used if it is specified directly in the URL of a view page (e.g. ts/view.aspx?t=doc&o=GD12345&_form=mycustomform).
Disabled (default): hidden="0".

Enabled: hidden="1".
<html><html> block containing markup text 
<object>Object list with the possibility to create new objects of this type/subtype 
<options>Option alternatives presented to user 
<outline>Process outline 
<process-outline>Process outline, a visual presentation of the stage/gate process. 
<process-step>The currently active process step 
<process-steps>All enabled process steps 
<section>Section block 
<switch>- 
<xhtml><xhtml> block containing markup text, must be valid <xhtml> with no CDATA 

 

<execute> element

Executes the handler for the specified virtual path in the context of the current request. The output is directed to current page.

Attributes:

NameDescription
nameName used for schema merging
srcURL path to execute. May be local path starting with ~/

Samples:

 

<field> element

Defines fields to be displayed on form or in a process step. Observe that field element can not define permissions on field, security must be defined on type, column and process step.

Attributes:

NameDescriptionValues
form-title-disabledDisables title display.Disable: form-title-disabled="0"

Enable (default): form-title-disabled="1"
hiddenHide field in create form.Disable: hidden="0"

Enable (default): hidden="1"
mandatoryMandatory flag used in create form and process steps.Disable: mandatory="0"

Enable (default): mandatory="1"
nameName used for schema merging. 
tiptextTip text displayed when mouse is over element. 
valueDefault value in create form.Disable: value="0"

Enable (default): value="1"
write(only available in the create form <form name="create">)
Allow or deny the user to change the default value in the create form (from the interface or in the URL directly).
Permit field editing (default): write="1"
No editing allowed: write="0"
trusteesList of vector roles permitted to view this instance of the data column (field).
Note that the data column (field) may be accessible for users elsewhere. To globally define read permissions for a data column - refer to the read attribute on the <column> element.
Example: trustees="SuperUser".

 

<html> element

Contains html to be displayed. @[] parameters are accepted. Provided for backward compatibility, <xhtml> element should be used instead with minimum use of CDATA.

Attributes:

NameDescription
nameName used for schema merging

 

<object> element

Specifies child objects.

Attributes:

NameDescriptionValues
addAdd reference to object.Disable: add="0"

Enable (default): add="1"
add-parametersAdditional parameters used for searching existing object. 
createCreate new object and reference to the new object.Disable: create="0"

Enable (default): create="1"
lockLock reference to current child version.
Default value is defined by SQL server.
Disable: lock="0"

Enable: lock="1"
mandatorySpecifies if object is mandatory.Disable (Default): mandatory="0"

Enable: mandatory="1"
max-countSpecifies a maximum number of items to be referenced before the parent item can be progressed any further.

Requires mandatory to be enabled.
Example:
max-count="3" specifies that a maximum number of three items must be referenced.
min-countSpecifies a minimum number of items to be referenced before the parent item can be progressed any further.

Requires mandatory to be enabled.
Example:
min-count="1" specifies that a minimum number of one item must to be referenced.
min-stepSpecifies that referenced Actions must be at a minimum step before the parent item can be progressed any further.

Requires mandatory to be enabled.
Example:
min-step="2" specifies that a referenced action needs to be at minimum step 2 before an item can be progressed.
min-statusSpecifies that referenced Documents/Parts/Devices must be with a minimum status before the parent item can be progressed any further.

Requires mandatory to be enforced.
"1": Referenced document must be in Working.
"2": Referenced document must be in Freeze.
"3": Referenced document must be in Review.
"4": Referenced document must be in Approval.
(Default, if not specified) "5": Referenced document must be in Approved.
nameName of element instance. 
parameters or
create-parameters
Additional parameters to be transferred to new child object.
@[] parameters are accepted.

(If no Workspace is defined, the parent Workspace will be assigned by default.)

(If no Description is added, the parent description will be inherited.)
 
search-parametersParameters added to search URL.
Parameter values must be URL encoded.
Sample searching description column for x=y

description=x%3Dy
tiptextTip text displayed when mouse is over element. 
typeBasetype or subtype. 
writeList of vector roles, to allow resource to create/add object even though resource does not have general write permissions for references.

Vectors are inherited from type, process and step elements. The write value may start with ‘+’ to add vector roles, otherwise the vectors will be overruled.
 

Samples:

Sample specifying a RS (Requirements Specification).

If searching for an existing RS the search filter is set to Latest Approved. When creating new child RS the new child note and alias are set as well as reviewer set:to parent manager and customer set to same value as parent:

 

Sample using search-parameters to specify search filter:

 

Specifies child objects.

Attributes:

NameDescription
nameName of element instance
titleTitle displayed in form.
typeBasetype or subtype of linked object.
objectId or name of object.
If object type supports revisions, use name to obtain link to latest approved revision.

Samples:

 

<options> element

Present user with one or more alternative options for an object. When user clicks an option button the corresponding option form is presented to user for further action.

Attributes:

NameDescription
nameName of element instance

Elements:

NameDescription
optionOption transaction form

 

<option> element

The <option> element contains a form with fields that may or may not be edited by user. When user clicks OK button the form is packed as an XML transaction and send to the transaction XmlHttp service.

Attributes:

NameDescription
authentication-
name-

Elements:

NameDescription
field-
sectionContainer for same element types contained in option element (this table)
xhtml-

 

<field> element

Attributes:

NameDescription
alias-
hidden-
nameName of field
mandatory-
valueDefault value of field written to database. If not specified then value is loaded from database as default value. The default value may or may not be edited by user.

 

<section> element

A simplified section element for grouping content.

Attributes:

NameDescription
nameName used for schema merging.
titleTitle displayed in section

 

<xhtml> element

Strict xhmt to be be displayed. Do not use CDATA in this element, if CDATA element is required then <html> element must be used.

Attributes:

NameDescription
nameName used for schema merging.

 

<process-outline> element

Displays process outline, a visual stage/gate presentation.

Attributes:

NameDescription
nameName used for schema merging.

 

<process-step> element

Displays active process step.

Attributes:

NameDescription
nameName used for schema merging.
stepLeave blank to use active step.

 

<process-steps> element

Displays all process steps.

Attributes:

NameDescription
nameName used for schema merging.

 

<section> element

Acts as a form in a <form> element meaning that same attributes and elements defined in form applies to section element in addition to the following:

Attributes:

NameDescriptionValues
nameName of section. Used for schema merging. 
expanded Disable (default): expanded="0"

Enable: expanded="1"
urlMay contain runtime variables @[variable-name] 
showcountShows data record count in section head. This attribute is only valid when URL attribute is specified. 
trusteesList of vector roles allowed to see element. 
titleThe title of the section. This text is what the user will see. If not specified the name attribute will be used as title. 

Samples:

Sample implementing Action, Document and Part sections in project type:

 

<subform> element

Acts as a form in a form element meaning that same attributes and elements defined in form applies to section element in addition to the following:

Attributes:

NameDescription
nameName of subform. Used for schema merging.
x-indexx position relative to main form. Main form has 0 as x-index.
y-indexy position relative to main form. Main form has 0 as y-index.
titleTitle displayed at top of form.

Important All subforms must be defined at the same outmost level in the form since this is the only level searched for subforms.

 

Samples:

The modern theme form provides good sample for this: ../../themes/modern/theme.xml

 

<switch> element

Attributes:

NameDescription
nameName used for schema merging.
expressionAn expression to match, this attribute accepts @[] parameters, typically a @[data:column] expression.

Elements:

NameDescriptionAttributes & Elements
caseDefines a case which matches expression for a specific value.Attributes:
name for schema merging.

value for listing one or more values. Leaving an empty value field will assign NULL to the value.
Elements:
Any form element.
defaultDefines a fallback if no matching case. 

Samples:

Sample used in device.schema.xml to alter part default form:

Sample used in type.schema.xml to customize forms for different subtypes:

 

<xhtml> element

Contains XHTML fragment to be written to client. The fragment may contain runtime variables @[variable-name] that are replaced with data values.

Attributes:

NameDescription
nameName used for schema merging.

Samples:

 

<grid> element

Attributes:

NameDescriptionValues
columnsList of columns to be displayed 
descriptionOptional information to user about grid 
filterFilter 
hiddenMakes any grid hidden and unavailable for selection by users on any search page.

The configured grid can still be used if it is specified directly in the URL of a search (e.g. ts/search.aspx?t=doc&_grid=mycustomgrid).
Disabled (default): hidden="0".

Enabled: hidden="1".
maxMaximum of rows to display 
nameMandatory name of element 
orderOrder of rows 
refcolumnsList of columns to be displayed when showing references. 
reforderList of database columns to be used in SQL order by clause. Following a name by - will result in descending order. 
titleOptional title of filter displayed on web pages. If no title attribute has been defined then the name attribute will be used as title. 
typesLinked types to display as sections 
trusteesOptional list of vector roles allowed to see element. 

 

<main> element

Attributes:

NameDescription
expanded-
name-
title-
url-

Elements:

NameDescription
--

 

Attributes:

NameDescriptionValues
name- 
hiddenHide the main page, so that it cannot be selected by users.
It can still be linked to and accessed by navigating directly to it through the URL.

Example: highstage.company.net/ts/ts/main/main.aspx?&_main=demo
Shown(default): hidden="0"

Hidden : hidden="1"

Elements:

NameDescription
executeExecute a local sub page
hide-outer-section-
html-
link-
menuSee section element
section-
xhtml-

 

<execute> element

Executes a local web sub page and appends the output to the current page.

 

Samples:

Sample using URL relative to current application

 

Adds a hyperlink (html A element). The xhtml element could replace the link element since the xhtml element provides more flexibility to define any html.

Attributes:

NameDescription
nameName of element instance
targetTarget frame (same values as html A _target attribute).
urlurl to web page.

Elements:

NameDescription
--

 

<html> element

Html to be displayed. Should be encapsulated in CDATA

Samples:

 

<section> element.

Acts as a form in a form element meaning that same attributes and elements defined in form applies to section element in addition to the following:

Attributes:

NameDescriptionValues
expanded Disable (default): expanded="0"

Enable: expanded="1"
nameName of element instance 
system- 
titleTitle to be displayed in section bar 
trusteesList of vector roles allowed to see element. 
showcountShows data record count in section head. This attribute is only valid when URL attribute is specified. 
typeInsert standard menu from specified type 
urlOptional URL to web page to be loaded in section. If omitted then content of <section> element will be used instead of URL. 

Elements:

NameDescription
--

 

<xhtml> element

Strict xhtml to be be displayed. Do not use CDATA in this element, if CDATA element is required then defer to use of <html> element.

 

<process> element

Defines process for the type.

Attributes:

NameDescription
nameName of process. Used for schema merging.
step-columnName of column containing step index. Default is step.
step-writeDefines additional vector roles that are allowed to change step. Inherits by default write vector roles and step resource. May be extended by setting this value to additional roles.
writeList of vector roles to be granted write permission.

Elements:

NameDescription
stepA number of steps may be defined for the process. The steps must be named step1 to max step14 (may be extended by setting parameter (MaxStep).

Refer to <step> element

 

<step> element

Defines a process step.

Attributes:

NameDescriptionValues
nameName of process. Used for schema merging. 
cssclassDefines the cascading style sheet class for the step. This may be used for changing color and text style for a step. 
disabledThe step may be disabled by setting disabled="1".
This may be used to reserve a step for future use.
Enable (default): disabled="0"

Disable: disabled="1"
disable-constraint-check-on-previous-stepsDisable constraint check on previous steps. This allows process to move to next step even if constraint violations exists in one or more of the previous steps.Enable (default): disable-constraint-check-on-previous-steps="0"

Disable: disable-constraint-check-on-previous-steps="1"
imgSpecifies process step image shown in upper part of process step box. This is an URL relative to base, example: img="ts/images/stage/slide0.gif"

Alternatively, instead of specifying this attribute, the class ts-process-step-image may be used for styling process step.
 
titleThe title of the step. This text is what the user will see. Default value is name attribute. 
visualcolumnThis column is shown in the lower part of the process step box. Typically date and/or resource. 
writeList of vector roles to be granted write permission when this step is active. Fields contained in this step will inherit the step write permission, however field elements within the step element may overrule the permission inherited from step element.

The field security will be enforced no matter where the field is viewed (form, step section, or search grid).

When this step is not active the value of this attribute has no effect.
 

Elements:

The process element can contain any form element.

<ref-type> element

The <ref-type> element allows you to specify which columns or grids to display when items of a particular type are referenced under other items of a specific type.

It is useful to utilize the <ref-type> element whenever you want to define which grids and columns are displayed in the context of a specific relationship between specific item types.

Attributes:

NameDescription
nameName used for schema merging.
For ref element this must be same as child basetype or subtype.
columnsThe columns are used to List of columns to be displayed in search grid.
gridName of grid to be used in search grid.

This sample illustrates how we can define the <ref-type> element for a specific type by using the attribute columns to define a list of columns that we want to be shown to the reference type or by taking advantage of an existing grid.

Samples:

 

<refinery> element

Attributes:

NameDescriptionValuesRequired
acceptchangesWhen document reaches the select status, pending changes in Microsoft Office Word files are automatically accepted and merged.

acceptchanges="1/2/3/4/5"
ValueDescription
1Document is in Working
2Document is in Freeze
3Document is in Review
4 (Default)Document is in Approval
5Document is Approved
 
confidentialitylevel~  
freeprimaryfilenameSpecify how the filename is processed when the primary file is automatically selected (when there is only one file in the item folder).

freeprimaryfilename="0/1/2"

Note that manual selection of a new primary file will not make any changes to the filename(s).
ValueDescription
0Filename remains unchanged when selected as the primary file.
1When file is selected as the primary file, the file is renamed to be the name of the item.
2When file is selected as the primary file, the name of the item is prepended to the existing filename.
 
nameName of <refinery> element.

Requires value set to file.
ValueDescription
file (Default)Required value
✔️
refineSpecify which files are refined.

refine="0/1/2/3/8/9"
ValueDescription
0Disabled
1 (Default)Primary file
2Files in root folder where filename starts with the associated item name (files in subfolders will not be considered).
3All files in root folder (files in subfolders will not be considered).
8All files where filename starts with the associated item name (files in subfolders included).
9All files
 
refine-oncreateEnable or disable whether all refined files (as specified with the refine attribute) will be refined when an item is created.

refine-oncreate="0/1"
ValueDescription
0 (Default)Disables files (as specified with the refine attribute) to be refined when item is created.
1Enables files (as specified with the refine attribute) to be refined when item is created.
 
renditionexcludemarkupWhen document reaches the select status, pending changes in Microsoft Office Word files will be included in generated .pdf files as accepted and merged contents.
(if selected to be refined with the refine attribute and specified to be generated as .pdf with the renditionstep property).

renditionexcludemarkup="1/2/3/4/5"
ValueDescription
1Document is in Working
2Document is in Freeze
3Document is in Review
4 (Default)Document is in Approval
5Document is Approved
 
renditionstepWhen the document reaches the select status, all refined files (as specified in the refine attribute) will be refined and generated as .PDF files.

renditionstep="1/2/3/4/5"
ValueDescription
1Document is in Working
2 (Default)Document is in Freeze
3Document is in Review
4Document is in Approval
5Document is Approved
 

Elements:

NameAttributesDescription
<ext>name 
<app>name 
<property>nameDefine any number of properties (Highstage columns) be included and updated as fields in Microsoft Office documents (Microsoft Office Word, Excel, and PowerPoint).

 

Default:

Default configuration of the <refinery> element bundled with Highstage:

 

Samples:

Custom refined properties: The following .xml sample refines all files with known extensions using properties file custom_properties.aspx located in tweak folder.

General timeout is set to 30 seconds and file related timeout is set to 300 seconds.

 

<app> element

Attributes:

NameDescription
nameName used for schema merging.
jsURL for JavaScript
processnameThe windows process name.

 

<ext> element

Attributes:

NameDescription
appName of app element which defines application used for refine
nameName used for schema merging.

 

<property> element

The <property> element can be utilized to create new custom properties or sections in Microsoft Office documents which will be regularly updated (refined) with data from Highstage.

Attributes:

NameDescription
nameName used for schema merging.

 

Sample of custom properties:

New properties may be added like in the following snippet to custom.schema.xml:

 

Reserved <property> elements:

The following <property elements (explicitly named) can be defined within the <refinery> element to make sections available in the Microsoft Office Word documents.

Author list:

Reference list:

Bill of Materials List:

Action list:

Reviewed by:

Approved by:

Revision log:

Revision log (short):

 

Tip: To include any of the listed sections in a Word document, simply create a 1x1 table in the Microsoft Word file and type in the text associated with the <property> element.

Example of table to be inserted in Microsoft Word to generate an author list : image-20211006111057891

Resulting in the following generated section when the Word document is refined: image-20211006112557521

 

<select> element

Contains SQL statement to select data value(s) of this type. Variable @[t] contains the type name and @[userid] contains the user id. The SQL statement may need surrounding CDATA element to comply with XML specification in case SQL statement contains special characters etc.

Attributes:

NameDescription
nameName of element instance
titleTitle of select section
urlMay contain runtime variables @[t] and @[userid]

Samples:

Sample using URL:

 

Sample using SQL:

 

<sql-setup> element

Attributes:

NameDescription
--

Elements:

NameDescription
--

Samples:

 

<sqlselect> element

The <sqlselect> element can be used when you want to build, calculate or represent information in a virtual column.

 

NOTES

Specifies an SQL view and is an alternative to the table attribute which refers a SQL table.

NOTE: The SQL query must be included in parenthesis and may not contain ORDER BY clause.

 

Samples:

The following sample illustrates a SQL query where we are using a CONCAT function to combine two different columns (description and itemtype) using colons:

Example output:

 

The table element may also use OpenQuery for querying external resources. The following shows an example of an open query to index server:

 

<validate> element

Contains SQL statement to validate data of this type. The SQL statement must return the value if ok and nothing if not ok. The returned value will be the correct case of the data value. If user entered ‘management’ then ‘Management’ may be returned and used for the SQL update statement.

Parameter @[v] contains the runtime data value to be validated. The SQL statement may need surrounding CDATA element to comply with XML specification in case SQL statement contains special characters etc.

Attributes:

NameDescription
nameName of element instance

Samples:

If no validate element is present then validation will be done against type key column. The validation will take into account the object type column and type column value.

 


highstage_footer