formVista(tm) Developers Guide and Reference
formVista(tm): A Business Component Framework for PHP
Developers Guide and Reference v0.1
(WORK IN-PROGRESS)
Yermo Lamers
DTLink, LLC
Copyright
© 2006 by DTLink, LLC
Table of Contents
I.
Introduction
1.
About this Book
1.1.
Current Status
1.2.
Revision History
1.3.
Book License
1.4.
Audience
1.5.
Organization
2.
Why Yet Another Framework?
2.1.
MOBIE
2.2.
The Problem with the By Hand Approach
2.3.
The Problems with Existing Frameworks
2.4.
formVista(tm) - Heresy in the Small Business Context
2.5.
Summary
3.
formVista(tm) Design Goals
3.1.
Make Advanced Server Side Features Behave as Content
3.2.
Address and Separate Development Roles
3.3.
Make Development Work Leverageable
3.4.
Support Low Cost Commodity Hosting Environments
3.5.
Make Local Modifications Manageable
3.6.
Peacefully Coexistence with Other Code
3.7.
Do Not Try to Be All Things to All Developers
3.8.
Provide for Graceful Extensibility
3.9.
Support Rapid Development
4.
Technical Features Overview (TBD)
.1.
Components
.2.
Installation and Upgrading
.3.
Security
.4.
Data Stores/Sources
.5.
Sessions
.6.
Naming
.7.
Misc Features
.8.
Theming
.9.
API
.10.
DemoShell
5.
The formVista Demo Shell Application.
5.1.
Obtaining demoshell.
5.2.
Requirements
5.3.
Installation
5.4.
Where to From Here
II.
formVista Users Guide
6.
Component Overview
7.
Using Pre-Built formVista Components on a Web Page
7.1.
A Typical formVista PHP Page
7.2.
Loading Multiple Components
7.3.
Password Protection using vistaProtect()
7.4.
Reuseable Component Hosting Pages
7.5.
Component Parameters
7.6.
Displaying Errors using the Error Template Page
7.7.
For More Information
III.
formVista Theming Guide
8.
Working With Template Fragments
8.1.
How formVista components are rendered
8.2.
Looks
8.3.
Template Variables and Functions
8.4.
Creating New Look for Existing Components
8.5.
Creating a Look for New Components
9.
Template Reference
9.1.
Template Variables
9.2.
Template Functions
9.3.
Naming Conventions
IV.
Component Writers Guide
10.
Key Concepts of the formVista Markup Language
10.1.
Components Are Self-Contained and Independent of Pages
10.2.
Components Are Themed
10.3.
Components are divided into Sections
10.4.
Components do their Own Form Field Validation
10.5.
Components Post or Link Back to ThemSelves
10.6.
Components Only Process Their Own Commands
10.7.
Data is Loaded and Saved through Data Source Tags
10.8.
Components use Components for Feedback
11.
Using Lists
11.1.
Overview
11.2.
Sections
11.3.
Common Tasks
12.
Using Columnlists
12.1.
Overview
12.2.
Sections
12.3.
Common Tasks
13.
Using Treelists
13.1.
Overview
13.2.
Sections
13.3.
Common Tasks
14.
Using Calendars
14.1.
Overview
14.2.
Sections
14.3.
Common Tasks
15.
Using Forms
15.1.
Overview
15.2.
Sections
15.3.
Common Tasks
16.
Using Auth
16.1.
Overview
16.2.
Sections
16.3.
Common Patterns
V.
FVML Reference
17.
Variables, Namespaces and Functions
17.1.
Referencing variables in other tags
17.2.
Referencing namespaces in other components
17.3.
Template Functions
18.
formVista(tm) Components
18.1.
list
18.2.
columnlist
18.3.
treelist
18.4.
calendarlist
18.5.
form
18.6.
static
18.7.
auth
18.8.
divmenu
19.
FVML Tags
19.1.
<break>
19.2.
<call_cmd>
19.3.
<categoryname>
19.4.
<cdata>
19.5.
<checkbox>
19.6.
<container>
19.7.
<csv>
19.8.
<datashim>
19.9.
<debug>
19.10.
<dir>
19.11.
<done>
19.12.
<draglist>
19.13.
<draglistitem>
19.14.
<dumptag>
19.15.
<dumptagtree>
19.16.
<error>
19.17.
<export>
19.18.
<feedback>
19.19.
<file_counter>
19.20.
<for>
19.21.
<foreachrow>
19.22.
<grid>
19.23.
<hidden>
19.24.
<htmleditor>
19.25.
<htmleditor_manageimg>
19.26.
<if>
19.27.
<imagemanager>
19.28.
<imagemanager_manageimg>
19.29.
<imgresize>
19.30.
<imgupload>
19.31.
<import>
19.32.
<input>
19.33.
<js>
19.34.
<jslookuplist>
19.35.
<link>
19.36.
<loadrow>
19.37.
<mail>
19.38.
<multicmd>
19.39.
<mysql> - Mysql Database Support
19.40.
<on>
19.41.
<onLoad>
19.42.
<option>
19.43.
<rand>
19.44.
<rangeselect>
19.45.
<renumber>
19.46.
<select>
19.47.
<selectheirlist>
19.48.
<selectitemlist>
19.49.
<set>
19.50.
<streamfile>
19.51.
<submit>
19.52.
<table>
19.53.
<text>
19.54.
<textrow>
19.55.
<treepaths_generate>
19.56.
<upload>
19.57.
<var>
20.
Validators
20.1.
<validate test=”if”>
20.2.
<validate test=”isAlpha”>
20.3.
<validate test=”isEmail”>
20.4.
<validate test=”isImageUpload”>
20.5.
<validate test=”isInteger”>
20.6.
<validate test=”isNotDoubleSubmit”>
20.7.
<validate test=”isPresent”>
20.8.
<validate test=”isUnique”>
20.9.
<validate test=”isValidUploadFilename”>
20.10.
<validate test=”matchesRegex”>
20.11.
<validate test=”requiredIf”>
20.12.
<validate test=”required”>
21.
Javascript Functions
21.1.
<js name=”addformitems”>
21.2.
<js name=”cancel”>
21.3.
<js name=”cmdOverride”>
21.4.
<js name=”confirmCmd”>
21.5.
<js name=”confirmdeleteandclose”>
21.6.
<js name=”confirmDelete”>
21.7.
<js name=”confirm”>
21.8.
<js name=”confirmSubmit”>
21.9.
<js name=”declareformitem”>
21.10.
<js name=”draglistsubmit”>
21.11.
<js name=”GraphicRollover”>
21.12.
<js name=”menudivhide”>
21.13.
<js name=”NewSelectItem”>
21.14.
<js name=”NewSelectItemSet”>
21.15.
<js name=”NewWindow”>
21.16.
<js name=”plain”>
21.17.
<js name=”PopupCalendar”>
21.18.
<js name=”PopupEditField”>
21.19.
<js name=”PopupEditFieldSet”>
21.20.
<js name=”PopupText”>
21.21.
<js name=”selectfromwindow”>
21.22.
<js name=”setFieldContent”>
21.23.
<js name=”setHtmlEditorContent”
21.24.
<js name=”SetNow”>
21.25.
<js name=”setselectfromwindow”>
21.26.
<js name=”submitandclose”>
21.27.
<js name=”submit”>
21.28.
<js name=”windowSession”>
22.
Attributes Common to All Tags
22.1.
if=”..”
22.2.
loadIf=”..”
Next
Introduction
Copyright © 1997 - 2006
DTLink Software
All Rights Reserved
formVista is a trademark of DTLink, LLC.