Form Element description
Input
Used to enter free form text:
- label: The text which describes the component. Required.
- name: This value is used to access the value typed by the user. Required.
- type: This value constrain value type. Allowed types: text, date, link or folder.
- value: Here you can specify a default value for this component.
- width: The width of the component. Defaults to browser default HTML input width.
- height: The height of the component. Defaults to browser default HTML input height.
Suggestbox
This is an implementation of the typical AJAX suggest box component:
- label: The text which describes the component. Required.
- name: This value is used to access the value typed by the user. Required.
- table: The table where the data is stored.
- filterQuery: An Hibernate query to filter the data. Use {0} to place the user input. Required.
- valueQuery: An Hibernate query to obtain the value of a identifier. Use {0} to place the identifier. Required.
- dialogTitle: The text which describes the title of the dialog. Required.
- filterMinLen: The minimum chars in input to begin to filter results.
Example
Create database metadata definition
-- NORMAL
DELETE FROM OKM_DB_METADATA_TYPE WHERE DMT_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_TYPE (DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES ('provincia', 'col00', 'integer', 'pro_id');
INSERT INTO OKM_DB_METADATA_TYPE (DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES ('provincia', 'col01', 'text', 'pro_nombre');
-- SOME DATABASES NEED SET DMT_ID, LIKE ORACLE
DELETE FROM OKM_DB_METADATA_TYPE WHERE DMT_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_TYPE (DMT_ID, DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', 'col00', 'integer', 'pro_id');
INSERT INTO OKM_DB_METADATA_TYPE (DMT_ID, DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', 'col01', 'text', 'pro_nombre');
Create database metadata values
-- NORMAL
DELETE FROM OKM_DB_METADATA_VALUE WHERE DMV_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_VALUE (DMV_TABLE, DMV_COL00, DMV_COL01) VALUES ('provincia', '1', 'Araba');
INSERT INTO OKM_DB_METADATA_VALUE (DMV_TABLE, DMV_COL00, DMV_COL01) VALUES ('provincia', '2', 'Albacete');
-- SOME DATABASES NEED SET DMV_ID, LIKE ORACLE
DELETE FROM OKM_DB_METADATA_VALUE WHERE DMV_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_VALUE (DMV_ID, DMV_TABLE, DMV_COL00, DMV_COL01) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', '1', 'Araba');
INSERT INTO OKM_DB_METADATA_VALUE (DMV_ID, DMV_TABLE, DMV_COL00, DMV_COL01) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', '2', 'Albacete');
Property group xml definition
<suggestbox label="Provincia" name="okp:provincia" width="200px"
table="provincia" dialogTitle="Seleccionar Provincia" filterMinLen="3"
filterQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia' and lower(dmv.$pro_nombre) like '%{0}%' order by dmv.$pro_nombre"
valueQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia' and dmv.$pro_id='{0}'" />
Checkbox
Best used to represent boolean data:
- label: The text which describes the component. Required.
- name: This value is used to access the value typed by the user. Required.
TextArea
Similar to Input but for bigger text:
- label: The text which describes the component. Required.
- name: This value is used to access the value typed by the user. Required.
- value: Here you can specify a default value for this component.
- width: The width of the component. Defaults to 300px.
- height: The height of the component. Defaults to 100px.
Select
In this case, the value can be selected from a list of predefined one. Every select component can contain an arbitrary number of options bigger than one.
- label: The text which describes the component. Required.
- name: This value is used to access the value selected by the user. Required.
- type: Actually can be only "simple". Simple means that only one option can be selected at a time. Defaults to "simple".
- width: The width of the component. Defaults to browser default HTML select width.
- height: The height of the component. Defaults to browser default HTML select height.
Since OpenKM 6.1 you have a couple of new properties to get the select option values from a database query. Lets see a sample use of these new values:
- table: The metadata table used in this query.
- optionsQuery: A metadata query used to obtain the select options.
These options were include in Workflow Forms since OpenKM Professional 6.2.10 and OpenKM Community 6.2.3, and defined in workflow-forms-2.4.dtd.
Example
Create database metadata definition
-- NORMAL
DELETE FROM OKM_DB_METADATA_TYPE WHERE DMT_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_TYPE (DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES ('provincia', 'col00', 'integer', 'pro_id');
INSERT INTO OKM_DB_METADATA_TYPE (DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES ('provincia', 'col01', 'text', 'pro_nombre');
-- SOME DATABASES NEED SET DMT_ID, LIKE ORACLE
DELETE FROM OKM_DB_METADATA_TYPE WHERE DMT_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_TYPE (DMT_ID, DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', 'col00', 'integer', 'pro_id');
INSERT INTO OKM_DB_METADATA_TYPE (DMT_ID, DMT_TABLE, DMT_REAL_COLUMN, DMT_TYPE, DMT_VIRTUAL_COLUMN) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', 'col01', 'text', 'pro_nombre');
Create database metadata values
-- NORMAL
DELETE FROM OKM_DB_METADATA_VALUE WHERE DMV_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_VALUE (DMV_TABLE, DMV_COL00, DMV_COL01) VALUES ('provincia', '1', 'Araba');
INSERT INTO OKM_DB_METADATA_VALUE (DMV_TABLE, DMV_COL00, DMV_COL01) VALUES ('provincia', '2', 'Albacete');
-- SOME DATABASES NEED SET DMV_ID, LIKE ORACLE
DELETE FROM OKM_DB_METADATA_VALUE WHERE DMV_TABLE='provincia';
INSERT INTO OKM_DB_METADATA_VALUE (DMV_ID, DMV_TABLE, DMV_COL00, DMV_COL01) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', '1', 'Araba');
INSERT INTO OKM_DB_METADATA_VALUE (DMV_ID, DMV_TABLE, DMV_COL00, DMV_COL01) VALUES (HIBERNATE_SEQUENCE.nextval, 'provincia', '2', 'Albacete');
Property group xml definition
<select label="Provincia" name="okp:provincia" type="simple"
table="provincia"
optionsQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia'"/>
Option
- label: The text which describes the component. Required.
- name: This is the name of the component. You don't should put two buttons in the same form with the same name. Required.
- validate: Can be "true" or "false". Indicates if the button shows a validation dialog when clicked. Defaults to "false".
Button
This form element only make sense in the workflow forms.xml file.
- label: The text which describes the component. Required.
- value: This is the value of the option to be selected. Required.
- confirmation: Indicates if the option is selected by default or not. This is the message to be shown.
- transition: If present, process instance token will follow the indicated transition.
- style: The icon style to be used when painting the button. Since workflow-forms-2.3.dtd.
Separator
Represent a way to draw a separator to group different elements.
- label: The text which describes the component. Required.
- name: This value is used to access the value selected by the user. Required.
Text
Print a text which can contain HTML tags.
- label: The text which describes the component. Required.
- name: This value is used to access the value selected by the user. Required.
Validator
Can be used several validators with form elements. Available validators are:
- req ( indicaques required )
- alpha ( indicates alphanumeric )
- dec (indicates decimal )
- num (indicates numeric )
- url
- maxlen ( indicates max length )
- minlen ( indicates min length )
- lt (indicates less to )
- gt ( indicates greater than
- min ( indicates min value )
- max ( indicates max value )
- regexp ( regular expression )
Example
Define input with decimal value required ( can not be empty )
<input label="Importe" name="okp:importe">
<validator type="dec"/>
<validator type="req"/>
</input>
Download
Used to download documents:
- label: The text which describes the component. Required.
- name: This value is used to access the value typed by the user. Required.
- width: The width of the component. Defaults to browser default HTML input width.
- height: The height of the component. Defaults to browser default HTML input height.
- data: Here you can specify value for this component from workflow.
Should contain one or more node elements which represent the document to download:
- label: The text which describes the document. Required.
- path: The path to the document.
- uuid: The uuid of the document (preferred).