formVista(tm) Developers Guide and Reference
 

formVista(tm) is an open source dual-licensed PHP component framework for the rapid creation of advanced business web applications that run in commodity hosting environments. It's purpose is to help web development companies do more, faster, with less staff.

The framework implements the formVista Markup Language (a.k.a. FVML), an XML dialect that brings reusability and role separation to web development projects by combining HTML, SQL, client side Javascript (including AJAX), validation rules, authentication and business logic into completely self-contained components. Components may be as simple as a columnar report or as complex as a multi-user discussion forum. Once built in FVML, components can be placed by relatively junior web designers onto any properly configured PHP web page as if it were any other kind of content.

formVista includes component types for many of the common patterns found in business applications including calendars, paged lists, search screens, cascading reports, trees, dynamic category lists, dynamic menus, smart forms with in-line validation, and grant based multi-level authentication. In addition, many advanced features are included in the FVML tags set including WYSIWYG html editors, drag and drop ordered lists, popup javascript calendars and others.

A complete configuration system that manages new application installs and provides a facility for upgrading applications and database schemas from any previous version in-place is also included.

The initial version of the framework is implemented in PHP and strives to has as few external dependendencies as possible. It can be used alone or in combination with other PHP software. It does not “take over” the page. formVista components can be invoked, communicated with and managed from other PHP applications. Existing PHP code can easily be “wrapped” in FVML tags using the included API allowing developers to leverage existing bodies of code and make them available in the language. Because formVista enforces a development model of “create a tag for everything”, all new features added are intrinsically reuseable.

A “demoshell” application is available that demonstrates the majority of features of formVista and creates a functional starting point for new applications. It includes sample PHP pages set up to host formVista components, a public front-end with some sample features, a 100% reuseable user/group/grant management backend for managing access rights and the complete application setup system. It has been carefully commented and provides a great tutorial introduction to the workings of the framework.

formVista has been used to create a number of advanced business applications including contact management and CRM, referral train tracking, preview/publish content management, reporting systems, web communities, trouble ticket systems, mailing list managers, customer support systems and many more. It has been in development since 2001 and has been used to quickly and inexpensively respond to the needs of dozens of commercial and government clients.

formVista is under active development and is supported for both open source and commercial endeavors through the http://www.formvista.com site.