Difference between revisions of "Form Element description"

From OpenKM Documentation
Jump to: navigation, search
Line 85: Line 85:
 
* '''table''': The metadata table used in this query.
 
* '''table''': The metadata table used in this query.
 
* '''optionsQuery''': A metadata query used to obtain the select options.
 
* '''optionsQuery''': A metadata query used to obtain the select options.
 +
 +
===Example===
 +
Create database metadata definition
 +
<source lang="sql">
 +
-- 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
 +
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');
 +
</source>
 +
 +
Create database metadata values
 +
<source lang="sql">
 +
-- 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
 +
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');
 +
</source>
 +
 +
Property group xml definition
 +
<source lang="xml">
 +
<select label="Agente" name="okp:provincia" type="simple"
 +
      table="agentes"
 +
        optionsQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia'"/>
 +
</source>
  
 
=== Option ===
 
=== Option ===

Revision as of 12:44, 18 October 2012

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
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
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. Look at issue 2258 to 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.

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
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
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="Agente" name="okp:provincia" type="simple" 
      	table="agentes" 
        optionsQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia'"/>

Option

  • label: The text which describes the component. Required.
  • value: This is the value of the option to be selected. Required.
  • selected: Can be "true" or "false". Indicates if the option is selected by default or not. Defaults to "false".

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.