Start page
Start page

Start page / Template development / Forms / Input components / LIST (new) / DATABASE

DATABASE typeAvailable from FirstSpirit Version 4.2R4

Contents
for example
to the methods: FormDataList<IdProvidingFormData>
FS_LIST, DATABASE type

FS_LIST, DATABASE type

The FS_LIST type DATABASE can be used to create lists of data sets, so that editors can directly enter several data sets within an input element, without having to switch to another input component, another data set, etc.

A large number of options are available with which the function and layout or user prompting can be influenced, e.g.

  • which functions are to be made available for creating, editing and removing data sets (name parameter within the ACTIONS / ACTION tags)
  • whether the data sets are to be displayed in an overview (as in content sources) and / or with detail views (component parameter within the LAYOUT / ADD tags)
  • which columns of data sets are to be displayed in the overview, with what width and sorting (COLUMNS / COLUMN tags)
  • how tabs and bars are to be labeled (LABELS / LABEL tags)
  • in which position new data sets are created (keywords add-index and create-index within the ACTIONS / ACTION / PARAM tags)
  • whether data sets are to be selected via a dialog with search options and detailed information or via a simple popup menu (keyword select-ui within the ACTIONS / ACTION / PARAM tags)
  • whether the detail views are to have language tabs or not (keyword show-language-tabs within the LAYOUT / ADD tags)
  • whether data sets are not to be removed until after a confirmation prompt has been accepted (keyword show-confirm within the ACTIONS / ACTION / PARAM tags)

In the examples below, exemplary configurations for specific applications of FS_LIST, DATABASE type, are presented first (1)).

Then it is shown how previously used configurations of CMS_INPUT_CONTENTLIST (2)) and CMS_INPUT_TABLIST (3)) can be replaced with FS_LIST.

Important On changing over from CMS_INPUT_CONTENTLIST and CMS_INPUT_TABLIST to FS_LIST, please note that if data has been saved with FS_LIST, in the event of a possible subsequent return, due to a different data format, it can no longer be read and interpreted by CMS_INPUT_CONTENTLIST and CMS_INPUT_TABLIST.

Access-API example use case
The exemplary implementation FsListEditorValueExample shows some simple examples of use for the reading, writing and creating access to the data object (FsListEditorValue) and its inner data container (FormDataList) of the input component by means of the FirstSpirit Access-API.

name
Designator
Mandatory
allowEmpty
YesNo
Optional parameters
hFill
YesNo
Optional parameters
height
PositiveInteger
Optional parameters
hidden
YesNo
Optional parameters
noBreak
YesNo
Optional parameters
preset
Preset
Optional parameters
rows
PositiveInteger
Optional parameters
width
PositiveInteger
Optional parameters
type
DataSourceType
Mandatory
maxEntries
PositiveInteger
Optional parameters
sortOrder
SortOrder
Optional parameters
useLanguages
YesNo
Optional parameters
lang
String
Mandatory
name
String
Mandatory
name
String
Mandatory
resizable
YesNo
Optional parameters
show
YesNo
Optional parameters
sortOrder
SortOrder
Optional parameters
width
PositiveInteger
Optional parameters
component
String
Optional parameters
constraint
LayoutConstraint
Optional parameters
name
String
Mandatory
mediaEditor
String
Mandatory
allowFolders
YesNo
Optional parameters
name
String
Mandatory
name
String
Mandatory
key
String
Mandatory
name
String
Mandatory
lang
LanguageAbbreviation
Mandatory
description
String
Optional parameters
label
String
Optional parameters
lang
LanguageAbbreviation
Mandatory
description
String
Optional parameters
label
String
Optional parameters
<FS_LIST></FS_LIST>

Parameter

The following table gives the parameters of the DATASET input component.

ParameterMandatorySinceTypeDefault value
name*Yes3.1DesignatorNone
allowEmptyNo3.0YesNoYES
hFillNo2.0YesNoNO
heightNo4.2.434PositiveInteger500
hiddenNo4.0.44YesNoNO
noBreakNo2.0YesNoNO
presetNo4.0PresetDEFAULT
rowsNo4.2PositiveInteger10
widthNo4.2PositiveIntegerNone

name

The attribute "name" is the variable name of an input component with which the the result object of the input component can be used in the templates - with the help of $CMS_VALUE()$ - or the content can be output.

ParameterMandatorySinceTypeDefault value
name*Yes3.1DesignatorNone

allowEmpty

The "allowEmpty" parameter is used to specify whether a value has to be entered for an input value or not.

If allowEmpty="YES" input is not mandatory; however, it is if allowEmpty="NO".

Input components with allowEmpty="NO" are also called mandatory input components.

The default value for allowEmpty is YES.

ParameterMandatorySinceTypeDefault value
allowEmptyNo3.0YesNoYES

hFill

An input component is always displayed with a pre-defined width.

However, if the input component is to use the full available display width the parameter hFill must be given with the value YES .

ParameterMandatorySinceTypeDefault value
hFillNo2.0YesNoNO

height

The height parameter is used to determine the display height of the input component in pixel.

The parameter expects an integer value. If the parameter is not defined the height of the input component is set by default to 500 pixel.

According to the layout, the function (for example the expand behaviour) and (when indicated) the parameter rows, the height should not be too low.

If the input component is used within a group (CMS_GROUP), the height will comply with the height of the highest input component of the group.

ParameterMandatorySinceTypeDefault value
heightNo4.2.434PositiveInteger500

hidden

With the "hidden" parameter an input component can be hidden from the editor.

If hidden="YES" the input component is not visible for the editor, if hidden="NO" it is visible.

The default value for hidden is NO.

ParameterMandatorySinceTypeDefault value
hiddenNo4.0.44YesNoNO

noBreak

The noBreak parameter can be used to suppress automatic line break after an input component.

The noBreak parameter must be given with value "YES" (noBreak="YES") to suppress the automatic line break.

ParameterMandatorySinceTypeDefault value
noBreakNo2.0YesNoNO

preset

Using the preset attribute the handling of default values in an input component can defined (see also chapter Default values). If preset="default" is set, the fall-back value defined in the form is used. If this value in the form is changed later on, these changes will be affect all usages of this default value in the input components maintained by the editor, as long as a value will be set manually in the input component. This is the default setting. If preset="copy" is set, the value entered by the editor is copied directly into the input component. Subsequent changes to the default value in the form do not have any effect on the usages of this default value in the input components maintained by the editor.

ParameterMandatorySinceTypeDefault value
presetNo4.0PresetDEFAULT

rows

If an overview is defined for the input component of the DATASOURCE types DATABASE, INLINE or SERVICE (<ADD component="overview" ... >) you can use the parameter rows to specify the height of this overview in rows. For this purpose, the number of rows must be specified. For the DATASOURCE type PAGE the figure which is specified by rows refers to the height the input component in rows. A horizontal splitter is available to modify the height of the overview and the detailed views.

The parameter expects an integer value.

The default is 10.

ParameterMandatorySinceTypeDefault value
rowsNo4.2PositiveInteger10

width

The width parameter can be used to specify the display width of the input component in pixels.

The parameter expects an integer value.

If the parameter is not given the default width is 480 pixels.

Important The parameter does not have any effect if the hFill parameter is used.

ParameterMandatorySinceTypeDefault value
widthNo4.2PositiveIntegerNone

DATASOURCEAvailable from FirstSpirit Version 4.2

The DATASOURCE tag defines the data type the input component should draw from.

If the tag is given more than once for an input component, the last/lowest definition is always adopted and all other definitions are removed.

ParameterMandatorySinceTypeDefault value
type*Yes4.2.403DataSourceTypeNone
maxEntriesNo4.2PositiveIntegerNone
sortOrderNo4.2.404SortOrderKEEP_ORDER
useLanguagesNo4.2YesNoYES

type

The mandatory parameter type defines the data type which the input component should draw from or, rather, the type of data origin.

The following types are supported:

  • DATABASE: With this parameter it is possible to create a list of data sets. The table template on which the content source is based, from which data sets are to be selected or created in the new data sets, must be given with the TABLE tag.
  • INLINE: With this parameter it is possible to create a list of sections and links. The TEMPLATES tag and its source parameter must be used to define whether a section or link list is to be defined.
  • PAGE: With this parameter it is possible to display a list of the sections of the current page.
  • SERVICE: With this parameter it is possible to use a service module to link to external data suppliers which provide data for the input component. Further information on the configuration is provided in the FirstSpirit Developer Manual for Components.

ParameterMandatorySinceTypeDefault value
type*Yes4.2.403DataSourceTypeNone

maxEntries

The parameter "maxEntries" defines how many entries can be selected or added at most. The parameter expects an integer value.

ParameterMandatorySinceTypeDefault value
maxEntriesNo4.2PositiveIntegerNone

sortOrder

If tabbedview mode is used (LAYOUT tag, <ADD component="tabbedview" ... />), the sortOrder parameter can be used to influence the sort order of the entries in the input component.

Three key terms can be used for the parameter:

  • sortOrder="KEEP_ORDER" (default)
  • sortOrder="ASCENDING"
  • sortOrder="DESCENDING"

KEEP_ORDER is used to display the entries in the most recently saved order. This is the default setting. The keywords ASCENDING and DESCENDING refer to the ID of the data sets: ASCENDING is used to display the data sets by their ID in ascending order and DESCENDING in descending order.

If a column is defined using LABELS / LABEL, which is used for labeling, the entries with ASCENDING are displayed sorted in alphabetically ascending order and with DESCENDING in alphabetically descending order. KEEP_ORDER is used to display the entries in the most recently saved order.

If the options of manually moving the entries in the input component via the ACTIONS / ACTION tags (<ACTION name="UP"/> and <ACTION name="DOWN"/>), the manually assigned order is only retained upon leaving Edit mode (Ctrl+ E) if sortOrder="KEEP_ORDER" is set. When ASCENDING or DESCENDING is used, the order manually assigned by the editor is only retained until the Edit mode (Ctrl + E) is exited; after exiting Edit mode, the entries are automatically sorted in ascending or descending order.

Important If the input component contains an overview (LAYOUT tag, <ADD component="overview" ...>), the order of the entries can be configured via the sortOrder parameter within the COLUMNS / COLUMN tag.

ParameterMandatorySinceTypeDefault value
sortOrderNo4.2.404SortOrderKEEP_ORDER

useLanguages

The useLanguages parameter is used to specify whether an input component is to store different or deviating values for different languages or not (multilingual input).

If YES (useLanguages="YES") is entered, a value is stored for each language; if NO (useLanguages="NO") is entered, one value is stored for all languages.

In projects with multiple project languages, the interior input components that are selected using the underlying table template (components 1 through 5 in the following image) must also always be taken into account for the multilingual configuration for FS_LIST:

FS_LIST with data records

FS_LIST thus forms the exterior form (external) and the components of the selected table template form the interior forms (internal). "Language-dependent" also means "multilingual" and "language-independent" means "monolingual".

Both the FS_LIST (external) and the input components in the table template (internal) selected can be configured as language-dependent (useLanguages="YES") or language-independent (useLanguages="NO").

The following configuration combinations are possible:

  • external language-dependent – internal language-independent
    This combination allows for independent input of data records in the individual languages. This means that lists with different numbers of data records can be created for each language ( icon_new_green icon).
    Multilingual content

    In this configuration, if the data is to be stored in the different languages one data record anyway (e.g. data record 1 should exist in language 1 and language 2), the data recorded newly added to one language must be selected in the other languages using the icon_add_green icon or the translation help (Icon Adopt contents icon).
  • external language-independent – internal language-dependent
    This combination allows for multilingual input of content. The same data record applies for multiple languages:
    Monolingual content (data records)

    This configuration makes it possible to simplify input of multilingual content by displaying language tabs in the FS_LIST component itself (<PARAM name="show-language-tabs">yes</PARAM>).
  • external language-independent – internal language-dependent
    This combination only allows for monolingual input of content, which means that the content is identical for all languages.

Not all content can be managed in the external and and internal language-dependent combination. This combination is therefore not recommended.

ParameterMandatorySinceTypeDefault value
useLanguagesNo4.2YesNoYES

LABELSAvailable from FirstSpirit Version 4.2.403

By default, the following are used for labeling, e.g. the labeling of the overview, tab, bars and tool tips:

  1. the names of all input components, which are contained in the selected section, link or table template (identifiers), in square brackets and
  2. the values (if available), which are saved in the input components, if they are of the data type string (e.g. CMS_INPUT_TEXT, CMS_INPUT_TEXTAREA, CMS_INPUT_DOM)

FS_LIST, inline, no labels

The LABELS tag can be used to influence the labeling.

Important DATASOURCE type PAGE: LABELS / LABEL are not supported for this data source type.

In this case, a LABEL tag must be given for each language.

IMPORTANT: At least the fall-back label ("*") must be defined:

<LABELS>
<LABEL lang="*">...</LABEL>
</LABELS>

LABELAvailable from FirstSpirit Version 4.2

The LABEL tag can be used to define flexible, language-dependent labeling for each language.

To define the labeling for a language, the abbreviation of the project language must be given in the lang parameter:

...
<LABEL lang="DE">...</LABEL>
<LABEL lang="EN">...</LABEL>
...

Fall-back values are given with the special language code * ("for all languages"):

...
<LABEL lang="*">...</LABEL>
...

The lang parameter is a mandatory parameter.

The labeling text is given within an opening and closing <LABEL> tag (see placeholder TEXT).

ParameterMandatorySinceTypeDefault value
lang*Yes4.2StringNone

lang

The lang parameter is used to give the language abbreviation which is entered in the server properties see View document, Chapter "Language templates") to specify for which project languages the definitions are to apply, e.g. DE for German, EN for English, FR for French etc. The following characters can be used as often as required: -, _, 0-9 and A-Z. Lower case letters are transformed automatically into upper case letters after having saved the template. In addition * can be used for fallback values.

ParameterMandatorySinceTypeDefault value
lang*Yes4.2StringNone

TEXTAvailable from FirstSpirit Version 4.2

Here it is possible to define alternative labeling.

The system object #item is available to access the values stored in the input component.

In the case of the DATASOURCE type DATABASE, the variable of the column (identifier of the input component) is appended, separated by a dot, e.g.

#item.cs_lastname

If the table referenced via FS_LIST is connected to another table via a foreign (external) key, the values of a column in the connected table can be used for the labeling in FS_LIST by using #item with the foreign key identifier and the required column name, e.g.

#item.product_Properties_Type.Name

where product_Properties_Type is the foreign key name, Name is the name of a column in the table defined via product_Properties_Type.

In the case of the DATASOURCE type INLINE, the variable of the respective section or link template (identifier of the input component) is appended, separated by a dot, e.g.

#item.st_headline

In both cases, combinations of the values of several input components are also possible, e.g.

<LABELS>
<LABEL lang="*">#item.cs_firstname + " " + #item.cs_lastname</LABEL>
</LABELS>

In order, for example, to define an alternative value for display, in case the input component concerned is not filled, the if(...) function can be used, e.g.

<LABELS>
<LABEL lang="*">if(#item.st_headline.isEmpty, "No headline", #item.st_headline)</LABEL>
</LABELS>

In this example, the text "No headline" is displayed if the input component is not filled.

In the case of the DATASOURCE type INLINE, the identifier of input components of different section and link templates can also be given. This option suggests itself if the selection is not limited to one template and the identifiers of the input components vary from template to template. If an identifier given by #item is not available in the template selected by the editor, nothing is output.

Example:
FS_LIST enables the selection to be made from two section templates of which one contains a text field with the identifier "st_text" and one contains a text field with the identifier "st_headline".

If the editor now chooses the section template containing the identifier "st_text", the syntax

<LABELS>
<LABEL lang="*">#item.st_text + #item.st_headline</LABEL>
</LABELS>

uses the stored value of the input component "st_text" for the labeling.
If the editor chooses the section template containing the identifier "st_headline", the stored value of the input component "st_headline" is used.

If a template contains both identifiers, both are used for the labeling. A separator should be provided for this case, e.g.

<LABELS>
<LABEL lang="*">#item.st_text + " " + #item.st_headline</LABEL>
</LABELS>
Important Care should be taken to ensure that the variables used (identifiers of the input components) are given correctly, and the variables should also actually be present in the templates available to choose from. Otherwise, the default labeling is used (name and all values of all input components of the selected template). For optimum clarity and user-friendliness of the component, the shortest possible labeling should be chosen.

In the case of the DATASOURCE type INLINE, it is also possible to determine the template of a section or link in the list. The system object #template is available for this purpose.

The reference name of the template used can, e.g., be output for labeling via the following syntax:

<LABELS>
<LABEL lang="*">#template.uid</LABEL>
</LABELS>

Here, too, the if(...) function can be used to implement labeling depending on the template selected.

DATASOURCE type PAGE: LABELS / LABEL are not supported for this data source type.

ACTIONSAvailable from FirstSpirit Version 4.2

ACTIONS tags can be used to define which editing options are to be available in the input component. To this end, appropriate icons are displayed, e.g. for creating, editing or deleting list elements.

If FS_LIST is to replace the input components CMS_INPUT_CONTENTLIST or CMS_INPUT_TABLIST, the icons can be shown or hidden, e.g. to display the configuration using the parameters allowEdit, allowNew and allowChoose.

An ACTION tag must be given for each editing option.

ACTION

Each editing option is defined by an ACTION tag.

ParameterMandatorySinceTypeDefault value
name*Yes4.2StringNone

name

The name parameter can be used to define different editing options.

The following keywords are available to choose from:

  • ADD icon_add_green
    This icon is used to add an existing data set to the list. The insertion position can be specified using the keyword add-index within the ACTIONS / ACTION / PARAM tags. It is also necessary to include <ACTION name="EDIT"/> to enable further editing of the data set.
  • NEW icon_new_green
    This icon is used to create a new data set in the table defined by the TABLE tag and to add it to the list. <ACTION name="EDIT"/> is automatically added when the template is saved. The insertion position can be defined using the keyword create-index within the ACTIONS / ACTION / PARAM tags.
  • COPY icon_copy_green
    This icon is used to create a new data set in the table defined by the TABLE tag and to add it to the list by copying the selected data set. <ACTION name="EDIT"/> is automatically added when the template is saved.
  • EDIT icon_edit_green
    Icon for editing the selected data set. If <ACTION name="NEW"/> or <ACTION name="COPY"/> is set, <ACTION name="EDIT"/> is automatically added when the template is saved.
    The icon_view_green icon is displayed in View mode.
  • REMOVE icon_remove_green
    This icon is used to remove the selected data set from the list. The data set remains in the database and can be selected again later. The keyword show-confirm can be used within the ACTIONS / ACTION / PARAM tags to define whether the data set is removed immediately or only after accepting a confirmation prompt.
  • DELETE icon_delete_green
    This icon is used to delete the selected data set from the list and from the table defined using the TABLE tag. The data set cannot be selected again later. The keyword show-confirm can be used within the ACTIONS / ACTION / PARAM tags to define whether the data set is removed from the list and the table concerned immediately or only after accepting a confirmation prompt.
  • DOWN / UP icon_down_green icon_up_green
    Icons for moving the selected data set downwards or upwards.

    If the sortOrder parameter is used to configure automatic sorting of the data sets (sortOrder="ASCENDING" or sortOrder="DESCENDING"), the order manually set with these icons is not saved, i.e. this manually set order is only retained until Edit mode (Ctrl + E) is exited. After exiting Edit mode, the data sets are automatically sorted (see sortOrder parameter within the DATASOURCE And COLUMNS tags).
  • GOTO icon_goto_green
    Icon for switching to the selected data set in the Content Store.

    If, in the LAYOUT / ADD tag, the parameter component="tabbedview" is set, the keyword GOTO cannot be used.
  • DETACH icon_detach_green
    Icon for opening the selected data set in a separate window
  • VIEW icon_view_green
    Icon for showing the selected data set.

    If overview and detail views are used in the component, the corresponding detail view is expanded when an entry is clicked. If only the overview is used, clicking an entry in the overview displays the corresponding detail view in a separate window.

Example
If the input component is to have icons with which data sets can be selected, created, edited, removed and deleted, the following syntax must be used:

<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="NEW"/>
<ACTION name="EDIT"/>
<ACTION name="REMOVE"/>
<ACTION name="DELETE"/>
</ACTIONS>

The order in which the editing options are given within ACTIONS also affects the order of the icons in the input component.

ParameterMandatorySinceTypeDefault value
name*Yes4.2StringNone

PARAM

The PARAM tag can be used to define further settings for the behavior of the FS_LIST input component.

A PARAM tag must be given for each setting.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.404StringNone

name

The name parameter can be used to define different settings. The following keywords are available:

  • add-index (use with <ACTION name="ADD"/>): This keyword can be used to define in which position a new data set will be inserted when the "Add" icon (component="toolbar") is clicked.
    If automatic sorting of the data sets is configured via the sortOrder parameter (sortOrder="ASCENDING" or sortOrder="DESCENDING"), the order of the data sets generated via the icons is not saved, i.e. this manually set order is only retained until Edit mode is exited (Ctrl + E). After exiting Edit mode, the data sets are automatically sorted (see sortOrder parameter within the DATASOURCE And COLUMNS tags).
  • select-ui (use with <ACTION name="ADD"/>): By default, when the "Add" icon is clicked, a dialog box opens from which the required data set can be selected. This keyword can be used to set whether or not a pop-up menu is opened for the selection, instead of the dialog box.
  • create-index (use with <ACTION name="NEW"/>): This keyword can be used to define in which position new data sets are created when the "New" icon (component="toolbar") is clicked.
    If automatic sorting of the datasets is configured via the sortOrder parameter (sortOrder="ASCENDING" or sortOrder="DESCENDING"), the order of the data sets generated via the icons is not saved, i.e. this manually set order is only retained until Edit mode is exited (Ctrl + E). After exiting Edit mode, the data sets are automatically sorted (see sortOrder parameter within the DATASOURCE And COLUMNS tags).
  • show-confirm (use with <ACTION name="REMOVE"/> and <ACTION name="DELETE"/>): The "show-confirm" value can be used to control whether or not a confirmation prompt (yes/no) is displayed before removing a data set. By default, a confirmation prompt is displayed.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.404StringNone

TEXTAvailable from FirstSpirit Version 4.2

The following options are available for add-index and create-index:

  • before: When the "Add" icon is clicked, new list entries are added before the current element. If no entry is selected (e.g. selection of the same entry with <Ctrl>), new list entries are inserted in the last / bottom position of the list.
  • last: New list entries are inserted in the last / bottom position of the list regardless of a selection.
  • after: New list entries are inserted after the current element. If no entry is selected (e.g. selection of the same entry with <Ctrl>), new list entries are inserted in the first / top position of the list.
  • first: New list entries are inserted in the first / top position of the list regardless of a selection.
  • default: New list entries are added as the last element regardless of a selection.

The following options are available for select-ui:

  • dialog: By default, a dialog box is opened for the selection of data sets.
    If the data set sought for is not displayed in the current view, the tree structure of the Content Store can be opened in the left side of the dialog in order to reach another filtered or unfiltered data source.
  • list: This option can be used to enable the selection of data sets from a single list:

    FS_LIST, select-ui=list, database

    A maximum of 500 data sets are displayed. In this configuration, multiple selection of data sets is possible with <Ctrl> or <Shift>.
    This window can be closed again by clicking in the title bar, "Cancel" or pressing <Esc>.
    If several data sources exist for the table template defined with the TABLE tag (filtered view), they are displayed for selection in a context menu (in a similar way to the popup option).
  • popup: To select data sets, a context menu is opened, which replicates the hierarchy of the Content Store. All data sources, based on the table template defined via the TABLE tag and higher level folders are displayed:

    FS_LIST popup, database

    In this configuration, multiple selection of data sets is possible with <Ctrl> or <Shift>.
    This menu can be closed again by clicking in the title bar or pressing <Esc>.
    The data sets of the required data source are displayed in a list (in a similar way to the list option), when the mouse cursor is held above one of the data sources.

Important If the MEDIAMODE tag is set for the component, only the dialog option can be used.
Important If a query is given via the QUERY tag, all available data sets are displayed in a window.

The following options are available for show-confirm:

  • yes: Before deleting or removing a list element, a confirmation prompt is displayed. This is the default setting.
  • no: When deleting or removing a list element, no confirmation prompt is displayed. The element is directly deleted or removed.

Example

...
<ACTIONS>
<ACTION name="ADD">
<PARAM name="add-index">first</PARAM>
<PARAM name="select-ui">popup</PARAM>
</ACTION>
<ACTION name="NEW">
<PARAM name="create-index">first</PARAM>
</ACTION>
<ACTION name="REMOVE">
<PARAM name="show-confirm">no</PARAM>
</ACTION>
<ACTION name="DELETE">
<PARAM name="show-confirm">yes</PARAM>
</ACTION>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
<ACTION name="GOTO"/>
</ACTIONS>
...
Important In each PARAM tag, a name parameter can only be assigned one value. If several value definitions exist for a name parameter, the top/highest definition is always taken into consideration in the form.

COLUMNSAvailable from FirstSpirit Version 4.2

If the input component contains an overview (LAYOUT tag, <ADD component="overview" ...>), the COLUMNS tag can be used to configure various properties for the columns, e.g. which columns are displayed and how wide they should be.

By default, the following columns are displayed in the overview:

  • Column with the release status of the data set (if it is a project with release option)
  • Column with the data set ID automatically assigned by FirstSpirit
  • all columns, for which the "Display in overview" checkbox is activated on the "Mapping" tab of the relevant table template.

Without further configuration, the columns are displayed in a width based on the column overview, and the column width can be temporarily changed by the editor. The order is based on the order defined on the "Mapping" tab of the relevant table template. It can be temporarily changed in the input component by the editor by moving the columns.

COLUMNS / COLUMN can be used to define a different behavior for each column. A COLUMN tag must be given for each column that is to differ from the default column behavior.

In addition, a column with consecutive numbering can be shown.

COLUMN

The COLUMN tag can be used to define properties for one column.

The name of the column to which the properties are to apply, is given within an opening and closing COLUMN tag (see TEXT placeholder of the COLUMNS tag).

ParameterMandatorySinceTypeDefault value
resizableNo4.2YesNoYES
showNo4.2YesNoYES
sortOrderNo4.2SortOrderNone
widthNo4.2PositiveIntegerNone

resizable

The resizable parameter can be used to specify whether the editor can temporarily change the column width, i.e. until they exit Edit mode (e.g. Ctrl + E). After exiting Edit mode, the column width automatically readjusts itself back to the width of the column heading.

By default (i.e. if the parameter is not given in the form), the column width is changeable (resizable="YES").

If a temporary change to the column width is to be prevented, resizable="NO" must be given.

ParameterMandatorySinceTypeDefault value
resizableNo4.2YesNoYES

show

The show parameter can be used to define whether a column (see COLUMNS / COLUMN / TEXT) is displayed in the input component or not.

If COLUMNS / COLUMN is not given,

<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>

is automatically added on saving. In this configuration, all columns except the column with the consecutive numbering are displayed.

If COLUMN is given for a column, by default it is displayed (show="YES").

If a column is to be hidden, show="NO" must be set. Other parameters within COLUMN then have no effect on the column concerned.

ParameterMandatorySinceTypeDefault value
showNo4.2YesNoYES

sortOrder

The sortOrder parameter can be used to specify by which column the overview is to be sorted, and in which order.

The parameter can always only be given for one column (i.e. for one COLUMN definition within COLUMNS), however, not for the column with consecutive numbering (#identifier). If the sortOrder parameter is defined for more than one column, after saving, the top sortOrder specification is always automatically retained and all others are deleted.

Three key terms can be used for the parameter:

  • sortOrder="KEEP_ORDER" (default)
  • sortOrder="ASCENDING"
  • sortOrder="DESCENDING"

KEEP_ORDER: Retain the manually generated order
If the parameter is not given (corresponds to KEEP_ORDER), the entries in the overview are displayed in the most recently saved order (which can be achieved by selection icon_add_green, New icon_new_green, Copy icon_copy_green, Move icon_down_green icon_up_green or automatic sorting via sortOrder="ASCENDING" or sortOrder="DESCENDING"). Therefore, it does not matter for which column sortOrder="KEEP_ORDER" is defined.

ASCENDING and DESCENDING: Automatic sorting by entries of a column
The ASCENDING value can be used to sort the overview by the values of the relevant column in ascending order and with DESCENDING in descending order. In the case of the column, which contains the release status (#released), if DESCENDING is used, the released entries are displayed first and then the unreleased entries, vice-versa in the case of ASCENDING.

If the option of manually moving the entries in the input component via the ACTIONS / ACTION tags (<ACTION name="UP"/> and <ACTION name="DOWN"/>) is used, the manually assigned order is only retained upon leaving Edit mode (Ctrl+ E), if sortOrder="KEEP_ORDER" is set. When ASCENDING or DESCENDING is used, the order manually assigned by the editor is only retained until Edit mode (Ctrl + E) is exited; after exiting Edit mode, the overview is automatically sorted in ascending or descending order by the values of the column concerned.

Important If the PERSISTENCEINDEX tag is defined, the sortOrder parameter is ignored.

Important If tabbedview mode is used (LAYOUT tag, <ADD component="tabbedview" ... />), specification of sortOrder within the COLUMN tag has no effect on the order of the entries. In this case, the sortOrder parameter is effective within the DATASOURCE tag.

ParameterMandatorySinceTypeDefault value
sortOrderNo4.2SortOrderNone

width

The width parameter can be used to define the display width of the column in pixels.

The parameter expects an integer value.

If the parameter is not given, the column width depends on the column heading or the contents of the columns.

The column width can be modified by the editor at any time, irrespective if width is used oder not, but only if resize="NO" is not set.

ParameterMandatorySinceTypeDefault value
widthNo4.2PositiveIntegerNone

TEXTAvailable from FirstSpirit Version 4.2

The name of the column can be given here.

Apart from the column name, which is defined in the table template referenced via the TABLE tag, the following identifiers can be used:

  • #identifier: Column with consecutive numbering
  • #released: Column with the release status of the data set
  • #fs_id: Column with the data set ID automatically assigned by FirstSpirit

The column name is enclosed by an opening and closing COLUMN tag.

Example:

<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
<COLUMN resizable="no" show="yes">#released</COLUMN>
<COLUMN resizable="yes" show="yes" width="50">#fs_id</COLUMN>
<COLUMN resizable="yes" show="yes" width="150">cs_name</COLUMN>
</COLUMNS>

If COLUMNS / COLUMN is not given, the following configuration is automatically added on saving:

<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>

LAYOUTAvailable from FirstSpirit Version 4.2R4

This tag can be used to freely define the appearance of the list. Various "components" are available for this (e.g. toolbar, overview, detail view), which can be positioned in different places (e.g. top, bottom, right, left).

ADD

An ADD tag can be given for each "component" of the layout.

ParameterMandatorySinceTypeDefault value
componentNo4.2.404StringNone
constraintNo4.2.404LayoutConstraintNone

component

This parameter is used to define the required layout component.

The following values are allowed:

  • overview: Overview above the data sets of the list (see diagram below, constraint parameter, item 2.)
  • toolbar: Toolbar with icons for editing the data sets; these are displayed depending on the editing options defined via ACTIONS / ACTION (see diagram below, constraint parameter, item 1.).
  • stackedview: The detail views of all data sets are displayed under each other. Depending on the configuration, the PARAM tag (within the LAYOUT / ADD tags) can be used to minimize or maximize the detail views using the Icons Minimieren Maximieren and icons or by double-clicking the entry in the overview (if available). I.e. potentially, this view simultaneously displays all information on all data sets. This view corresponds to the view of FS_LIST up to and including FirstSpirit Version 4.2R2. In addition, above each detail view, icons are displayed for editing and navigating through the data sets.
  • singleview: This value is used to display the detail view of only the element selected in the overview below the overview. In addition, above each detail view, icons are displayed for editing and navigating through the data sets. The keyword show-language-tabs in the PARAM tag (within the LAYOUT / ADD tags) can be used if necessary to show language tabs, in which language-dependent content can be entered.
  • simpleview: This value is used to display the detail view of only the element selected in the overview below the overview. No icons for editing or for navigating through the data sets are displayed above the detail views. It is only possible to navigate through the data sets via a selection in the overview.
  • tabbedview: This value is used to display the detail views of the data sets next to each other as tabs. In addition, above each detail view, icons are displayed for editing and navigating through the data sets.

The toolbar, definable with component="toolbar", and its icons always relate to only the data set currently selected / marked in the overview. If no overview (component="overview") is used, the data sets cannot be uniquely selected. In this case, component="toolbar" should not be used either; the data sets can then only be edited using the icons available in the detail views (see also screenshots on the keyword toolbar-assembly within the LAYOUT / ADD / PARAM tags).

The component parameter must be used with the constraint parameter. Not every combination of component="..." and constraint="..." is meaningful.

For the layout components "stackedview" (component="stackedview"), "tabbedview" (component="tabbedview"), "singleview" (component="singleview") and "simpleview" (component="simpleview"), apart from the position details using the constraint parameter, other configuration options are available. See PARAM tag (within the LAYOUT / ADD tags).

ParameterMandatorySinceTypeDefault value
componentNo4.2.404StringNone

constraint

This parameter can be used to give the position of the layout component:

  • top: The layout component is displayed at the top.
  • center: The layout component is displayed in the middle.
  • bottom: The layout component is displayed at the bottom.
  • left: The layout component is displayed on the left.
  • right: The layout component is displayed on the right.
  • hide: The layout component is hidden.

The values top, bottom, center, left and right may only be used once, hide may be used more than once.

FS_LIST, constraint db

This parameter must be used with the component parameter.

Example:

<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="bottom"/>
</LAYOUT>

ParameterMandatorySinceTypeDefault value
constraintNo4.2.404LayoutConstraintNone

PARAM

The PARAM tag can be used to define further settings for the behavior of the FS_LIST input component.

A PARAM tag must be given for each setting.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.404StringNone

name

In stackedview mode (<ADD component="stackedview" constraint="...">), the name parameter can be used to define various settings with regard to the detail views. The following keywords are available:

  • expand-behaviour: name="expand-behaviour" can be used to control the expand behavior of the detail views (e.g. by means of the Icons Minimieren Maximieren icons). In this way, for example, lists with many data sets or with many input components in the data sets can be laid out in a clearer way, which in turn makes editors' work easier.
  • toolbar-assembly: Each detail view has its own toolbar with the icons displayed on the basis of the definition of ACTIONS / ACTION. name="toolbar-assembly" can be used to control the display of this toolbar.
  • show-language-tabs: name="show-language-tabs" can be used to control whether or not the detail views are to have language tabs.

The following keyword can be used in singleview mode (<ADD component="singleview" constraint="...">):

  • show-language-tabs: name="show-language-tabs" can be used to control whether or not the detail views are to have language tabs.

The following keyword can be used in simpleview mode (<ADD component="simpleview" constraint="...">):

  • show-language-tabs: name="show-language-tabs" can be used to control whether or not the detail views are to have language tabs.

The following keywords can be used in tabbedview mode (<ADD component="tabbedview" constraint="...">):

  • show-language-tabs: name="show-language-tabs" can be used to control whether or not the detail views are to have language tabs.
  • tab-layout-policy: name="tab-layout-policy" can be used to control whether the tabs are to be displayed with one line or multiple lines.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.404StringNone

TEXTAvailable from FirstSpirit Version 4.2

The following options are available for expand-behaviour (only stackedview mode):

  • collapse_all: Initially (and after updating the view), all detail views are displayed collapsed (closed).
    This is the default setting.
    If the "Maximize"/"Minimize" or arrow icons are clicked or the bar of any element is double-clicked, the detail view of the element opens or closes. All detail views can be simultaneously displayed opened or closed.
  • expand_all: Initially (and after updating the view), all detail views are displayed expanded (folded down).
    They can be simultaneously closed or re-opened if the "Minimize all" or "Maximize all" icon is clicked on the bar of any element. A single detail view can be closed or opened by clicking the arrow icons or double-clicking the bar.
    Note: If this option is used, it can take quite a while to load all data sets. This should be taken into account in the configuration.
  • expand_follows_mouse: Initially (and after updating the view), all detail views are displayed collapsed (closed).
    The detail view of a list element opens if the mouse cursor is held over the corresponding bar, by clicking "Maximize" or the corresponding arrow icon, or by double-clicking the entry in the overview. It closes again if the "Minimize" or arrow key is clicked or when another detail view is opened.
  • expand_follows_current: Initially (and after updating the view), only the detail view of the last / bottom list element is displayed expanded.
    If the "Maximize"/"Minimize" or arrow icons are clicked or the bar of any element is double-clicked, the detail view opens or closes.
  • expand_first: Initially (and after updating the view), only the detail view of the first (top) list element is displayed expanded.
    In Edit mode, a detail view can be opened or closed by clicking the "Maximize"/"Minimize" or arrow icons or by double-clicking the bar of any element. All detail views can be simultaneously displayed opened or closed.
  • expand_last: Initially (and after updating the view), only the detail view of the last (bottom) list element is displayed expanded.
    In Edit mode, a detail view can be opened or closed by clicking the "Maximize"/"Minimize" or arrow icons or by double-clicking the bar of any element. All detail views can be simultaneously displayed opened or closed.

In general, the list elements can also be opened by double-clicking the entry in the overview.

The following options are available for toolbar-assembly (stackedview mode only):

  • panel: The toolbar is displayed directly on the bar: FS_LIST panel, database
  • subform: The toolbar is displayed underneath the bar: FS_LIST subform database
    This is the default setting.

The following options are available for show-language-tabs:

  • yes: The detail views are displayed with their own language tabs, through which the editorial content can be entered in the available project languages:
    FS_LIST, show-language-tabs
    This option is not necessary if useLanguages="no" is set for the input components displayed within the data set.
  • no: The detail views are displayed without language tabs. It is necessary to switch to the content stored for other languages at section, page or data set level using the language tabs.
    This is the default setting.

    See also parameter useLanguages.

The following options are available for tab-layout-policy (only tabbedview) mode:

  • scroll: The tabs are displayed in order in a single row:

    FS_LIST tabbedview, tab-layout-policy scroll

    The arrow icons Icons scroll can be used to move the tabs to the left or right in order, in this way, to reach other data sets .
    This is the default setting.
  • wrap: The tabs are displayed in several rows:

    FS_LIST tabbedview, tab-layout-policy wrap

    In this configuration, all tabs are displayed simultaneously. Therefore, if there are many tabs, the system's performance can be reduced.

Example

...
<LAYOUT>
<ADD component="overview" constraint="center"/>
<ADD component="toolbar" constraint="top"/>
<ADD component="stackedview" constraint="bottom">
<PARAM name="expand-behaviour">expand_follows_current</PARAM>
<PARAM name="toolbar-assembly">panel</PARAM>
<PARAM name="tab-layout-policy">scroll</PARAM>
<PARAM name="show-language-tabs">yes</PARAM>
</ADD>
</LAYOUT>
...
Important In each PARAM tag, a name parameter can only be assigned one value. If several value definitions exist for a name parameter, the first (top/highest) definition is always taken into consideration in the form.

MEDIAMODEAvailable from FirstSpirit Version 4.2

Using the tag MEDIAMODE media from Media Store can be selected in this input component.

Important For each selected medium a new dataset will be created in which the medium is referenced.

ParameterMandatorySinceTypeDefault value
mediaEditor*Yes4.1StringNone
allowFoldersNo4.1YesNoNO

mediaEditor

The variable name of the picture selection component from the table which is referenced by the parameter table or the tag <TABLE> must be specified for the attribute mediaEditor. This table will be used for saving the reference to the selected picture.

Use case Media gallery: For Media galleries the picture selection component, used in the table template for storing media (so-called "media table"), is specified here. This way, media in the input component are selected from the Media store. For each added medium a new dataset is created in the media table with a reference to the medium from the Media store.

ParameterMandatorySinceTypeDefault value
mediaEditor*Yes4.1StringNone

allowFolders

Using the parameter allowFolders the selection of folders via the media search dialog from the Media store can be allowed or prevented. The pictures in the selected folders are then added to the list.

If allowFolders="YES" is given, folders can be selected, if allowFolders="NO" is given, no folders can be selected.

ParameterMandatorySinceTypeDefault value
allowFoldersNo4.1YesNoNO

PERSISTENCEINDEXAvailable from FirstSpirit Version 4.2.404

This tag can be used to save the order of the data sets selected in FS_LIST, if it is linked with a 1:N foreign key.

To do this, FS_LIST must be defined in the table template of a table, which has a 1:N foreign key relationship with second table. This is necessary so that a data set from the foreign key table is not referenced more than once, as this would lead to an unclear or non-unique order. The first table is therefore the source table (1 element), the second table is the target table (N elements). FS_LIST must be linked with the foreign key.

In the target table, in the corresponding Database schema, a column of the type Integer must be created, in which the position of each element included in FS_LIST is then saved. The name of this column must be given within an opening and closing PERSISTENCEINDEX tag, e.g.

<PERSISTENCEINDEX>Order_Index</PERSISTENCEINDEX>

TEXTAvailable from FirstSpirit Version 4.2

The name of the column, in which the position of each element included in the input component is saved, is given here.

QUERYAvailable from FirstSpirit Version 4.2.410

The QUERY tag can be used to define a query, on the basis of which the quantity of data sets from which a selection can be made with the help of the input component is limited.

If the query contains the placeholder %lang% within an ORDERCRITERIA tag, the ORDERCRITERIA tag is ignored and a corresponding message is displayed in the log.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.410StringNone

name

The name parameter is used to provide the reference name of the query, e.g.

<QUERY name="query_products"/> 

ParameterMandatorySinceTypeDefault value
name*Yes4.2.410StringNone

PARAM

If parameters are available for the query defined via QUERY ("Parameter" tab of the query), a value can be transferred to these parameters with the PARAM tag.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.404StringNone

name

The name parameter is used to provide the name of the query parameter.

ParameterMandatorySinceTypeDefault value
name*Yes4.2.404StringNone

TEXTAvailable from FirstSpirit Version 4.2

The value of the query parameter is given within an opening and closing PARAM tag, e.g.

<QUERY name="query_products">
<PARAM name="category">1088</PARAM>
</QUERY>

where "category" is a parameter defined for the query and "1088" is the value.

TABLEAvailable from FirstSpirit Version 4.2

The TABLE tag is used to give the reference to the table template.

The value given must be the unique identifier of the table template.

The reference is required to specify from which table selections can be made and which input components are to be displayed.

TEXTAvailable from FirstSpirit Version 4.2

Here, the table template must be specified, between an opening and a closing TABLE tag:

<TABLE>TABLETEMPLATE</TABLE>

TABLEVIEWSAvailable from FirstSpirit Version 4.2

Define relations to views.

VIEWAvailable from FirstSpirit Version 3.1

View table view definition parameterized with a name and foreign key attribute name.

ParameterMandatorySinceTypeDefault value
key*Yes4.0StringNone
name*Yes4.0StringNone

key

The foreign key attribute name.

ParameterMandatorySinceTypeDefault value
key*Yes4.0StringNone

name

The view's name.

ParameterMandatorySinceTypeDefault value
name*Yes4.0StringNone

LANGINFOSAvailable from FirstSpirit Version 3.1

Using the tag LANGINFOS language-dependent information can be defined for each input component, e.g. which title is to be used for the input component in the different project languages (parameter label), which tooltip is to be displayed (parameter description) etc. For reasons of clarity, definitions which are identical in multiple languages will be merged. For example,

<LANGINFOS> 
<LANGINFO lang="*" label="Datum"/>
<LANGINFO lang="DE" label="Datum"/>
<LANGINFO lang="EN" label="Datum"/>
</LANGINFOS>

will be merged to

 <LANGINFOS> 
<LANGINFO lang="*" label="Datum"/>
</LANGINFOS>

after saving.

Available from FirstSpirit Version 4.2R2 Up to and including FirstSpirit version 4.2R2 language definitions will be deleted only in the case if the values are identical in all languages (as in example above). Furthermore, only the parameters lang, description and label are taken into account when merging.

Available from FirstSpirit Version 4.2R4 Since FirstSpirit version 4.2R4 all parameters are taken into account (e.g. format and length). Furthermore, language definitions are also merged within LANGINFOS tags, if they are identical in at least two languages. For example,

<LANGINFOS> 
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="DE" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>

will become

 <LANGINFOS> 
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>

after saving.

The definition for the fallback value (*) will not be deleted in any case. If there are two or more language definitions with identical values the first one will be maintained, the other will be deleted.

Available from FirstSpirit Version 4.2R2 IMPORTANT: Up to and including FirstSpirit version 4.2R2 at least one definition for the fallback labelling ("*") must be given:

<LANGINFOS>
<LANGINFO lang="*" label="TEXT"/>
</LANGINFOS>

Available from FirstSpirit Version 4.2R4 From FirstSpirit version 4.2R4 the fallback definition can be omitted. In this case, the language which is defined first will be used automatically as fallback value. For example,

<LANGINFOS>
<LANGINFO lang="EN" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>

will become

 <LANGINFOS> 
<LANGINFO lang="*" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>

after saving.

LANGINFOAvailable from FirstSpirit Version 3.1

The LANGINFO tag is used to give values or attributes for a language as well for use as fallback values.

In order to state values or attributes for a language it is necessary to give the abbreviation of the project language in the lang parameter:

...
<LANGINFO lang="DE".../>
...

Fallback values are given with the special language abbreviation * ("for all languages"):

...
<LANGINFO lang="*".../>
...

The lang parameter is a mandatory parameter.

ParameterMandatorySinceTypeDefault value
lang*Yes3.1LanguageAbbreviationNone
descriptionNo3.1StringNone
labelNo3.1StringNone

lang

The lang parameter is used to give the language abbreviation which is entered in the server properties see View document, Chapter "Language templates") to specify for which project languages the definitions are to apply, e.g. DE for German, EN for English, FR for French etc. The following characters can be used as often as required: -, _, 0-9 and A-Z. Lower case letters are transformed automatically into upper case letters after having saved the template. In addition * can be used for fallback values.

ParameterMandatorySinceTypeDefault value
lang*Yes3.1LanguageAbbreviationNone

description

The description parameter can be used to give a description which is used to display a tool tip (mouse-over).

ParameterMandatorySinceTypeDefault value
descriptionNo3.1StringNone

label

The label parameter is used to give the surface labelling for input and visualisation components.

ParameterMandatorySinceTypeDefault value
labelNo3.1StringNone

LANGINFOSAvailable from FirstSpirit Version 4.0

Using the tag LANGINFOS language-dependent information can be defined for each input component, e.g. which title is to be used for the input component in the different project languages (parameter label), which tooltip is to be displayed (parameter description) etc. For reasons of clarity, definitions which are identical in multiple languages will be merged. For example,

<LANGINFOS> 
<LANGINFO lang="*" label="Datum"/>
<LANGINFO lang="DE" label="Datum"/>
<LANGINFO lang="EN" label="Datum"/>
</LANGINFOS>

will be merged to

 <LANGINFOS> 
<LANGINFO lang="*" label="Datum"/>
</LANGINFOS>

after saving.

Available from FirstSpirit Version 4.2R2 Up to and including FirstSpirit version 4.2R2 language definitions will be deleted only in the case if the values are identical in all languages (as in example above). Furthermore, only the parameters lang, description and label are taken into account when merging.

Available from FirstSpirit Version 4.2R4 Since FirstSpirit version 4.2R4 all parameters are taken into account (e.g. format and length). Furthermore, language definitions are also merged within LANGINFOS tags, if they are identical in at least two languages. For example,

<LANGINFOS> 
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="DE" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>

will become

 <LANGINFOS> 
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>

after saving.

The definition for the fallback value (*) will not be deleted in any case. If there are two or more language definitions with identical values the first one will be maintained, the other will be deleted.

Available from FirstSpirit Version 4.2R2 IMPORTANT: Up to and including FirstSpirit version 4.2R2 at least one definition for the fallback labelling ("*") must be given:

<LANGINFOS>
<LANGINFO lang="*" label="TEXT"/>
</LANGINFOS>

Available from FirstSpirit Version 4.2R4 From FirstSpirit version 4.2R4 the fallback definition can be omitted. In this case, the language which is defined first will be used automatically as fallback value. For example,

<LANGINFOS>
<LANGINFO lang="EN" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>

will become

 <LANGINFOS> 
<LANGINFO lang="*" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>

after saving.

LANGINFOAvailable from FirstSpirit Version 3.1

The LANGINFO tag is used to give values or attributes for a language as well for use as fallback values.

In order to state values or attributes for a language it is necessary to give the abbreviation of the project language in the lang parameter:

...
<LANGINFO lang="DE".../>
...

Fallback values are given with the special language abbreviation * ("for all languages"):

...
<LANGINFO lang="*".../>
...

The lang parameter is a mandatory parameter.

ParameterMandatorySinceTypeDefault value
lang*Yes3.1LanguageAbbreviationNone
descriptionNo3.1StringNone
labelNo3.1StringNone

lang

The lang parameter is used to give the language abbreviation which is entered in the server properties see View document, Chapter "Language templates") to specify for which project languages the definitions are to apply, e.g. DE for German, EN for English, FR for French etc. The following characters can be used as often as required: -, _, 0-9 and A-Z. Lower case letters are transformed automatically into upper case letters after having saved the template. In addition * can be used for fallback values.

ParameterMandatorySinceTypeDefault value
lang*Yes3.1LanguageAbbreviationNone

description

The description parameter can be used to give a description which is used to display a tool tip (mouse-over).

ParameterMandatorySinceTypeDefault value
descriptionNo3.1StringNone

label

The label parameter is used to give the surface labelling for input and visualisation components.

ParameterMandatorySinceTypeDefault value
labelNo3.1StringNone
Key

LanguageAbbreviation

Language abbreviation, e.g. DE, EN, FR or * for return values

PositiveInteger

Positive integer

YesNo

Switch to apply an attribute or not

NOAvailable from FirstSpirit Version 2.0

Do not apply attribute

YESAvailable from FirstSpirit Version 2.0

Apply attribute

String

A random character string

SortOrder

Switch with which to define the sort order of the entries

KEEP_ORDERAvailable from FirstSpirit Version 3.0

Retain the sort order of the entries

ASCENDINGAvailable from FirstSpirit Version 3.0

Sort entries alphabetically in ascending order

DESCENDINGAvailable from FirstSpirit Version 3.0

Sort entries alphabetically in descending order

Preset

How to deal with default values

CopyAvailable from FirstSpirit Version 4.0

The value entered by the editor is copied directly into the input component, subsequent changes do not have any effect

DefaultAvailable from FirstSpirit Version 4.0

The fall-back value defined in the form is used, as long as a value will be set manually

LayoutConstraint

Position of the layout component

LEFTAvailable from FirstSpirit Version 4.2.404

Layout component is shown on the left

RIGHTAvailable from FirstSpirit Version 4.2.404

Layout component is shown on the right

TOPAvailable from FirstSpirit Version 4.2.404

Layout component is shown at the top

BOTTOMAvailable from FirstSpirit Version 4.2.404

Layout component is shown at the bottom

CENTERAvailable from FirstSpirit Version 4.2.404

Layout component is shown in the middle.

HIDEAvailable from FirstSpirit Version 4.2.404

Layout component is hidden

DataSourceType

Data origin types

DATABASEAvailable from FirstSpirit Version 4.2.403

Access to the data of a table

INLINEAvailable from FirstSpirit Version 4.2.403

Access to data via section or link templates

PAGEAvailable from FirstSpirit Version 4.2.403

Access to sections on the current page

SERVICEAvailable from FirstSpirit Version 4.2.403

Access to data from external components or modules

Designator

Unique identifier of variable length; must start with a letter or underscore and may only contain the characters "A-Z", "a-z", "0-9" and "_", e.g. "fr_st_varName"

Examples

1) Configuration examples of FS_LIST, DATABASE type

The following example form can be used to configure FS_LIST so that editors can create a list of data sets of a data source (on the basis of the table templates contained in the project):

<FS_LIST name="st_datasets">
<DATASOURCE type="database" useLanguages="no">
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="stackedview" constraint="hide"/>
<ADD component="toolbar" constraint="top"/>
<ADD component="tabbedview" constraint="center"/>
</LAYOUT>
<TABLE>TABLETEMPLATE</TABLE>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Selection of data sets"/>
</LANGINFOS>
</FS_LIST>

The configuration

<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="singleview" constraint="bottom"/>
</LAYOUT>

is used to select a view of individual data sets including an overview instead of the tab view.

If, for example, not only are data sets to be selected from a data source (content) but it should also be possible to create new data sets, in the ACTIONS tag it is necessary to add

<ACTION name="NEW"/>

FS_LIST with the type DATABASE can also be configured as a media gallery. This is done using the MEDIAMODE tag (see also Media Galleries section).

To obtain flexible labeling of the tabs, if component="tabbedview" is set in the ADD / LAYOUT tags, #item can be used within the LABELS / LABEL tags to access the value saved in a column. This is done by attaching the variable of the column (identifier of the input component), separated by a dot, e.g.

<LABELS>
<LABEL lang="*">#item.VARIABLE</LABEL>
</LABELS>

2) Displaying the input component CMS_INPUT_CONTENTLIST

 

The input component FS_LIST can be used to display the functions of the input component CMS_INPUT_CONTENTLIST.

Important On changing over from CMS_INPUT_CONTENTLIST to FS_LIST, please note that if data has been saved with FS_LIST, in the event of a possible subsequent return, due to a different data format, it can no longer be read and interpreted by CMS_INPUT_CONTENTLIST.

Example form CMS_INPUT_CONTENTLIST:

<CMS_INPUT_CONTENTLIST name="IDENTIFIER" table="TABLETEMPLATE">
<LANGINFOS>
<LANGINFO lang="*" label="Selection of data sets"/>
</LANGINFOS>
</CMS_INPUT_CONTENTLIST>

Display using FS_LIST:

<FS_LIST name="IDENTIFIER">
<DATASOURCE type="database" useLanguages="yes">
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="GOTO"/>
<ACTION name="VIEW"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="hide"/>
</LAYOUT>
<TABLE>TABLETEMPLATE</TABLE>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Selection of data sets"/>
</LANGINFOS>
</FS_LIST>

FS_LIST – singleview

As a default, it is not possible to edit data sets in CMS_INPUT_CONTENTLIST. To allow an editing option (allowEdit="yes" in CMS_INPUT_CONTENTLIST), the following must be added within the ACTIONS tags

<ACTION name="EDIT"/>  

If allowNew="yes" was set in CMS_INPUT_CONTENTLIST,

<ACTION name="NEW"/> 

If the indexAttribute parameter was given (e.g. use as media gallery, MEDIAMODE tag), the value given for the indexAttribute parameter, must be given within an opening and a closing PERSISTENCEINDEX tag, e.g.

indexAttribute="Order_Index" (CMS_INPUT_CONTENTLIST)
<PERSISTENCEINDEX>Order_Index</PERSISTENCEINDEX> (FS_LIST)

While a query defined using QUERY, with the help of which the quantity of selectable data sets was limited, was defined within the form in CMS_INPUT_CONTENTLIST, with FS_LIST it is defined with the help of a query in the Template Store. This is accessed via the QUERY tag and the name parameter. The name parameter expects the query's reference name, e.g.

<QUERY name="query_products"/>

3) Displaying the input component CMS_INPUT_TABLIST

 

The input component FS_LIST can be used to display the functions of the input component CMS_INPUT_TABLIST.

Important On changing over from CMS_INPUT_TABLIST to FS_LIST, please note that if data has been saved with FS_LIST, in the event of a possible subsequent return, due to a different data format, it can no longer be read and interpreted by CMS_INPUT_TABLIST.

Example form CMS_INPUT_TABLIST:

<CMS_INPUT_TABLIST name="IDENTIFIER" table="TABLETEMPLATE">
<LANGINFOS>
<LANGINFO lang="*" label="Categories"/>
</LANGINFOS>
</CMS_INPUT_TABLIST>

Display using FS_LIST:

<FS_LIST name="IDENTIFIER">
<DATASOURCE type="database" useLanguages="yes">
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="hide"/>
<ADD component="tabbedview" constraint="bottom"/>
</LAYOUT>
<TABLE>TABLETEMPLATE</TABLE>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Categories"/>
</LANGINFOS>
</FS_LIST>

FS_LIST – tabbedview

The LAYOUT configuration is used specifically to obtain the tab view of CMS_INPUT_TABLIST.

If flexible labeling of the tab was defined in CMS_INPUT_TABLIST using tabAttribute or expression, the LABELS / LABEL tags must be used in FS_LIST. Here #item can be used to access the value saved in a column. This is done by attaching the variable of the column (identifier of the input component), separated by a dot, e.g.

<FS_LIST name="IDENTIFIER">
<DATASOURCE type="database">
<LABELS>
<LABEL lang="*">
#item.IDENTIFIER
</LABEL>
</LABELS>
<ACTIONS>
...

If values from a table were used for the labeling, which has an external key relationship with the table referenced via CMS_INPUT_TABLIST, this can be reproduced in FS_LIST by giving #item in conjunction with the external code name and the required column name, e. g.

<LABELS>
<LABEL lang="*">
#item.product_Properties_Type.Name
</LABEL>
</LABELS>

where product_Properties_Type is the foreign key name, Name is the name of a column in the table defined via product_Properties_Type.

If allowNew="yes" was set in CMS_INPUT_TABLIST, within the ACTIONS tags it is also necessary to add

<ACTION name="NEW"/>

If allowChoose="no" was set, instead of

<ACTION name="ADD"/>
<ACTION name="NEW"/>

must be set.

If allowEdit="no" was set, all ACTION definitions must be removed.

If delete="yes" was set,

<ACTION name="ADD"/>
<ACTION name="DELETE"/>
<ACTION name="EDIT"/>

must be set.

© 2005 - 2015 e-Spirit AG | All rights reserved. | Last change: 2013-12-09