Evolutility.org 4.1

Evolutility Meta-model

Using Evolutility, components (i.e. an address book or a task list), are totally defined by their metadata specifying the user interface, its database mapping, and its behavior.

The metadata (information about the data) must use a specific structure, some kind of declarative language to describe application models. This language is called "meta-model", it is the model of the metadata (used to describe applications).

Each component is defined by a single XML document. This XML document (in its simplest form) is composed of one form element containing one data element, and one or more panel elements containing one or more field elements.

Let's take a look at the first few lines of XML in the AddressBook sample:

<form xmlns="http://www.evolutility.com">
<data dbtable="contact" dborder="lastname,firstname" />
<panel label="Name" width="50">
<field label="Lastname" type="text" maxlength="50" dbcolumn="LASTNAME" dbcolumnread="LASTNAME" search="1" searchlist="1" searchadv="1" required="1" width="100" height="1" />
<field label="Firstname" type="text" maxlength="50" dbcolumn="FIRSTNAME" dbcolumnread="FIRSTNAME" search="1" searchlist="1" searchadv= "1" width="100" height="1" />
. . . 

Additional elements are available to better organize information: tab, panel-details, and queries and query for features like master-details, cross-references lists, predefined queries, or more page structure.

For a look at the minimal metadata needed (database mapping and user interface) for CRUD applications code generation using the example of a to do list, see our articles at the Code Project: Minimalist Meta-Model for CRUD Applications.


Storing the metadata

XML validation can be done with the Evolutility XML schema Evolutility.XSD.

With Evolutility the metadata is stored in XML. XML is advantageous for easier deployment, and more flexible as Evolutility currently supports more features than EvoDico.

Evolutility Dictionary stores the metadata in a database dictionary and let you modify your applications in your browser. It also comes with a set of wizards to build or install applications easily.

Using XML and EvoDico together

Using EvoDico Import XML wizard and publish link, it is possible to go back and forth between XML and EvoDico.