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 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" >
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). Example: spdelete="DeleteToDo @itemid" or spdelete="DeleteToDo @itemid, @userid"
spget Name and parameters of the stored procedure for loading a specific record. Example: spget="GetToDo @itemid" or spget="GetToDo @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"
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.