|
|||||
|
|
|||||
|
|
Chapter 4. Technical Features Overview (TBD)This section lists the features of formVista from a technical perspective. .1. Components
.2. Installation and UpgradingformVista apps are installable into a normal web shell account. Nothing needs to be installed in the library directories. formVista limits itself to working with the most commonly available PHP extensions. Extendable Configure script provided. Turns web applications into installable packages. Does not rely on PEAR. Runs on any version of PHP later than 4.3.4. Does not require any long-running application service processes. Works just like any other PHP script. In-place place application and schema upgrades using the reuseable Configure system. .3. SecuritySingle entry point for form and query variables. Quoting rules enforced. SQL injection checks through quoting. No execs. Hidden variables and query strings encrypted when in VISTA_ENCRYPT_HIDDEN mode. Data files encoded as PHP comments. .4. Data Stores/SourcesformVista 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 SupportThe <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:
.5. SessionsformVista implements it's own temporary and persistent session handlers. Each component manages it's own session which is made available through the $SESSION{} variable. This pattern has enabled some very interesting designs. .6. NamingformVista has been designed from the ground up not to “take over” an application or page. Variables are named so they are unlikely to conflict with other applications. formVista can be used directly from PHP webpages using the “simpleVista” procedural interface or from within other PHP applications. A full PHP object model is included. .7. Misc Features
.8. ThemingComponents can be themed by designers without affecting the code. Code and Design are separated through the use of “template fragment files”. .9. APIFull object model for extending the FVML language. .10. DemoShellSample app to use as a starting point with complete user/group/grant administration screens pre-built. |
|