This is a demonstration of the
formVista™ Business
Component Framework for PHP.
formVista™ 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.
For more information please refer to the formVista™ web site at
formvista.com.
This demonstration is broken down into sections that cover various aspects
of the framework:
- A Trivial Example
- This is an extremely simple example. It implements a simple columnar report. It
consists of a single PHP page with the minimum set of calls, a configuration file and
a single fvml file containing a columnlist component with two columns.
- formVista Component Gallery
- This section contains a number of simple examples demonstrating some key features of the
formVista framework.
- A Calendar
- This example uses the calendarlist component type to implement a simple month-view
readonly calendar that supports one time and recurring events. Items can be added,
removed or modified using the backend.
- A Categorized Blog
- This section contains a complete multi-component formVista application that implements a multi-user
article posting system not unlike those seen on Slashdot.org
and other sites. It supports:
- a paginated view of articles using the list component type.
- searching articles by date, keyword and category using a form component tied to
the article list component.
- searching by calendar using a calendar component tied to the article list component.
- search by a category tree using a treelist component tied to the article list component.
- grant based password protection using the auth component class.
- posting of new articles using a form component protected by an auth component.
- an example of the AreaEdit
WYSIWYG editor brought in using the <htmleditor> FVML tag.
- editing of articles if one is logged in using the auth component loaded "in the background"
on the main page.
When compared to other blogging solutions, this one is very basic. However, it demonstrates
what a multi-component formVista application might look like. If you need simple blogging
facilities on your site, because these components are built using formVista they can be
dropped into your own pages and skinned to match just like any other formVista component.
- The Backend
- This section contains the administrative backend for the calendar, the clog and
user login management. It is also a complete formVista application consisting of many
components. It allows you to:
- add, edit and delete items from the calendar
- add, edit, move and delete categories for the clog.
- add, edit, delete users, groups and grants.
The demos/admin/admin subdirectory implements the user, groups and grants management
system and is designed to be 100% re-useable for your own applications. Indeed, any
applications which uses the auth component will want to include the login management
components in a related backend.
Documentation
A incomplete draft of the
formVista
Guide and Reference Manual is included in the distribution.
The formVista component framework
API
documentation is also included.
There is also some
formVista demoshell
source code documentation.
Please refer to the formVista Framework
README.txt and
RELEASE_NOTES.txt
files for more technical information about the framework
internals. As has been mentioned elsewhere, all the source code files
in both the demoshell and the framework itself are extensively commented
which will hopefully make it easier for new developers to come up to speed.
When in doubt "use the source, Luke".
Current versions of all of this documentation is always available on the
formVista website.
Join us in the
formVista forum if
you have any questions or feedback.
License
formVista and this demo are licensed under the
Reciprocal Public License
Licenses for commercial use are available.
More information is available at:
http://www.formvista.com