Evolutility.org 4.1
 

Meta-model elements

To build applications with Evolutility the minimal set of required elements in the metadata are: one form, one data, several panel, and many field. This is enough to describes a simple CRUD (Create, Read, Update, Delete) application including all the necessary web forms for searching, viewing, editing, deleting and exporting the data in a DRY (Don't Repeat Yourself) way.

form element

form is the root element. It doesn’t represent one single web form, but all necessary web forms (Edit, View, List, Search, Advanced Search, Export) at once. Fields are displayed or not on each web form based on the attributes search, searchlist, and searchadv.

The form element contains one element data and one or more elements panel.

It has the optional attributes label, description and version, and the required namespace xmlns.
Example: <form xmlns="http://www.evolutility.com" label="To do list" >

data element

The data element specifies the set of database objects used by the component: driving table, stored procedures; and the icon and screen name associated.

dbcolumnicon
Name of the database column containing the item icon file name. 
Example: dbcolumnicon="icon"

dbcolumnlead
Database column used as record identifiyer for the user (not the primary key). 
Example: dbcolumnlead="LASTNAME"

dbcolumnpk
Name of the primary key column used as record identifiyer. 
Example: dbcolumnpk="ID"

dbcolumnuserid
In multiple-users environment, specify the column name of the “who is column” designing the specific user author of the record. Default is UserID.

dbcommentsformid
<for future enhancements>

userpage
Page name for the user profile information.

dborder
List of column names to include in the "order by" SQL clause. It is the default sort option. 

dbtable
Name of driving table for the component. 

dbtablecomments
Name of the table to store comments for this component. This table can be shared between components. 

dbtableusers
Name of the user table which should have the following columns "ID", "login", and "password". This property is only used if splogin is not set. 

dbwhere
SQL where clause to limit the dataset manipulated, must use the alias "T" for the driving table. 
Example: dbwhere="T.publish=1"

entities
Plural for entity. Default value = "items". 

entity
User's object name for the database object (for example: "contact" for the AddressBook application). Default value = "item".

icon
Filename of the component icon (same one for all records).
Example: icon ="memo.gif"

spdelete
Name and parameters of the stored procedure for deleting records (or flagging them as deleted).

spget
Name and parameters of the stored procedure for loading a specific record.
Example: spget="EvoSP_Get @itemid" or spget="EvoSP_Get @itemid, @userid"

splogin  
Name and parameters of the stored procedure for checking users login and password. 
Example: splogin="EvoSP_Login @login, @password"

sppaging 
Name and parameters of the stored procedure for paging search results. 
Example: sppaging="EvoSP_PagedItem @SQLselect, @SQLtable, @SQLfrom, @SQLwhere, @SQLorderby, @pageid, @pagesize"

panel element

The panel element is used to visually group fields on the screen.

cssclass
CSS class for the panel. The default value is "Panel".

cssclasslabel
CSS class for the panel title. The default value is "PanelLabel".

img
Image to display as the title panel.

label
Panel title

optional
Skips the panel from displaying, if every field contained is empty and optional (in View mode only).

width
Width of the panel in percentage of the total width of the form.
Example: width="100"

field element

The elements field represent fields on the screen, and database columns at once. It is the most used element and the element with the most attributes. Database columns hidden to the user (like the primary key of the driving table) are not declared.

cssclass
CSS class name for the specific field. The default value is "Field".

cssclasslabel
CSS class name for the specific field label (in modes Edit and View). The default value is "FieldLabel".

dbcolumn
Database column (SQL name) for the field. 

dbcolumnimg
Database column (SQL name) containing the filename of the image to display.

dbcolumnpix
Database column (SQL name) containing the image filename.

dbcolumnread
Database column alias. Only useful for field of type LOV, otherwise dbcolumnread must be the same as dbcolumn for the field.

dbcolumnreadlov
Column to show as value in lists. Default value is "name".

dborderlov
Column (or coma separated list) to sort the LOV by (SQL where clause).

dbtablelov
Database table with the list of values. 

dbwherelov
Extra where clause to limit the list of value.

defaultvalue
Default value for the field displayed while creating a new record (only for LOV fields).

dependency
Allows to specify a "slave dropdown" (dependent dropdown identified by its "dbcolumn") which will dynamically updates it's list of value when the users selects a different value int the master-field.
More information about dependent fields.

format
Field format (for fields of type boolean, date, decimal, or integer).
Example: format="'$'#,##0.00"

height
Height of the field, in number of rows (default to 1 for all field except fields of type TextMultilines). 

help
Help for the field (in Edit mode). 

img
Image to display (for fields of type "boolean" or "url") in Edit or View modes.

imglist
Image to display (for fields of type "boolean" or "url") in List mode.

jsvalidation
Allows to specify the name of a Javascript method for custom validation.
More information about fields validation.

jsdependency
Allows to specify the name of a Javascript method called when the user select a field value (using the "onclick" event).
More information about fields validation.

label
Field title. Can be empty but then labeledit and labellist should be provided.

labeledit
used for edition and search (only used when label is empty).

labellist
Field title in list headers, useful to display an abbreviated header in lists.

link
Force the field to be displayed as a link to another dynamic page. It can use the following variables @itemid, @userid, @fieldid.

linklabel
Display a sentence or an image as the link. @fieldvalue in the string is replaced by the field value at runtime. 

linktarget
Direct link click to a new browser. 

lookup
Automatically set the field value in edit mode to a specified page request parameter. 

max
Maximum value allowed for the field.

maxlength
Maximum number of characters allowed for the field.

min
Minimum value allowed for the field.

optional
Determines if the field is displayed when empty (apply to View mode only).

readonly
readonly=1 presents edition of the field. readonly=2 presents edition of the field, but allows typing in insertion. 

required
Determines if the field is required for saving. The Javascript for client-side validation is automatically generated. 

search
Determines if the field appear in the search form.

searchadv
Determines if the field appear in the advanced search form.

searchlist
Determines if the field appears as a column of the search results list.

splistlov
Stored Procedure name (with parameters and @itemid, @fieldid, @userid assigned by the control) for listing LOV values when lovmany.

type
The type of the field as described in more details in field types. Possible values are:

  • boolean (yes/no)
  • date
  • datetime
  • decimal
  • document
  • email
  • formula (SQL formula)
  • html
  • image
  • integer
  • lov (list of values)
  • text
  • textmultiline
  • time
  • url

width
Width of the field in percentage of the Panel it belongs to.

In addition to the former required elements, Evolutility provides the optional elements panel-details, queries and query, and tab to add functionalities like master-details, cross-references lists, predefined queries, or more page structure.