formVista(tm) Developers Guide and Reference
 

Chapter 4. Technical Features Overview (TBD)

This section lists the features of formVista from a technical perspective.

.4. Data Stores/Sources

formVista is independent of data stores/sources through the use of an abstract interface mechanism between components and that actual data source tags. A key aspect of the design is that fully supported data source/data store tags are completely interchangeable. The surrounding component makes no assumptions of the underlying store.

Anything that can be expressed as an ordered set of associative arrays can be wrapped in a data store tag. Examples of current data store tags include <mysql>, <dir>, <csv>, <multicmd>, etc.

.4.1. Mysql Support

The <mysql> tag implements the support for Mysql. (See Section 19.39) As of this writing, Mysql is the only fully supported data store. Interfaces for other stores can be added by using formvista/src/wigets/mysql/msyql.php as an example. We had at one point attempted a database independent store based on the PEAR abstraction library but could not get acceptable performance from it.

Several very useful features have been built into the <mysql> tag including:

  1. auto-generation of INSERT, UPDATE, SELECT and DELETE statements making maintenance of components much less tedious.

  2. sql injection protection.

  3. auto-generation of range and time series report WHERE clauses for time oriented reports (e.g. “total sales over the last year by day, week, month”)

  4. auto-generation of LIMIT clauses for paged lists.