From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

"Features Without Fixtures"
Developer(s) S. Isaac Dealey
Stable release 3.2b / September 24, 2008; 378859531 ago
Operating system Cross-platform
Type web application framework
Licence OpenBSD
Website on.tapogee.com

The onTap framework is a free service-oriented and "full stack" web application framework for ColdFusion.

In addition to providing an MVC controller like most other ColdFusion frameworks, it also includes an array of APIs for rapid application development, including e-mail, HTML templating (and associated DHTML widgets such as Section 508 compliant tabsets), AJAX, application branding and customization, form management and i18n internationalization features.



The onTap framework is distributed using the OpenBSD license.

Several of the early versions of the framework (prior to version 2.0) were released under the Lesser GPL. The LGPL had been chosen specifically for the purpose of allowing commercial software to be written using the framework as a starting-point. The OpenBSD license was later adopted for its even less restrictive terms, allowing commercial projects based on the framework to encrypt their own proprietary source code (which was not allowed by the LGPL).


The onTap framework has several key goals:

These goals are similar to and overlap the intent of agile software development methodologies or the Agile Manifesto seeking a "lightweight" method of software development that can produce versatile working software very quickly.

To meet the objective of simplifying and improving the RAD process, the framework's core principles include Convention over Configuration (CoC) and Don't Repeat Yourself (DRY). One example of CoC and DRY principles can be found in the framework's form features. The form tools allow programmers to omit most of the code required to create common CRUD forms by relying on the database as the single point of truth for information about the type of data managed by the form. The following are examples of a form as created using the CFML native cfform tag as compared to using the onTap framework's CoC / DRY concepts for CRUD forms.

Sample Code

The following code sample shows how many ColdFusion forms are written:

<cfparam name="attributes.eventid" default="" />
<cfif len(trim(attributes.eventid))>
  <cfquery name="getEvent" datasource="primary">
    select * from tblEvent 
    where eventid = <cfqueryparam value="#attributes.eventid#" cfsqltype="cf_sql_idstamp" />
  <cfparam name="attributes.eventname" default="#getevent.eventname#" />
  <cfparam name="attributes.eventdate" default="#getevent.eventdate#" />
  <cfparam name="attributes.ticketprice" default="#getevent.ticketprice#" />
<cfparam name="attributes.eventname" default="" />
<cfparam name="attributes.eventdate" default="" />
<cfparam name="attributes.ticketprice" default="0" />
<cfform format="xml">
  <cfinput type="hidden" name="eventid" value="#attributes.eventid#" />
  <cfinput type="text" name="eventname" label="Event" 
    required="yes" value="#attributes.eventname#" />
  <cfinput type="text" name="eventdate" label="Date" 
    required="yes" value="#attributes.eventdate#" validate="date" />
  <cfinput type="text" name="ticketprice" label="Ticket Price" 
    required="yes" value="#attributes.ticketprice#" validate="numeric" />

The following code sample shows how the same form could be written using the onTap framework's XHTML template engine in combination with the DataFaucet ORM plugin to speed development. This code anticipates the intent of the code in the previous sample by using a conventional relationship between database columns and form input elements. These two code samples produce an approximately similar result with mostly semantic differences in operation. This supports the philosophy of CoC because the programmer only needs to specify the value of an input element (or its default) or the type of validation (date, numeric, required, etc.) in atypical cases in which the input doesn't mirror the structure of the database.

<tap:form tap:dbtable="tblEvent" xmlns:tap="xml.tapogee.com">
  <input type="hidden" name="eventid" />
  <input type="text" name="eventname" label="Event" />
  <input type="text" name="eventdate" label="Date" />
  <input type="text" name="ticketprice" label="Ticket Price" tap:default="0" />


Isaac Dealey began working on a content management system (CMS) in late 1998 following his first ColdFusion job at MCI WorldCom. The CMS transitioned through several names eventually becoming known as Tapestry (not to be confused with the Tapestry framework for Java). Isaac later abandoned the CMS but not before releasing an open source API for ColdFusion development called the Tapestry Application Programming Interface (TAPI) not to be confused with the Telephony Application Programming Interface (TAPI). The design of this early version focused on use within an existing application and within several months Isaac decided that the system requirements to support this strategy were too limiting. This led to the first release of the onTap framework (a complex clip of "on Tapestry") as an alternative to TAPI in August 2003. In spite of the fact that the name onTap shares pronunciation with a colloquial description of draught beer (which is often said to be "on tap"), the name engenders less confusion than either the TAPI acronym or the original CMS' name Tapestry.


Some time between August 2003 and August 2004, an official website for the framework launched at fusiontap.com. In March 2007, Nick Tong and Kola Oyedeji interviewed Isaac for a podcast about the framework on the cfFrameworks website. Shortly after the interview, Isaac canceled the website's dedicated hosting service for personal reasons and the domain was subsequently purchased by domain scalpers. This created confusion in the following months with some people thinking the framework project might have been abandoned.

In December 2007 Isaac submitted the onTap framework and several related projects to the open source development community RIAForge.org, an alternative to SourceForge specifically for projects based on Adobe software platforms.

A new official site is now at http://on.tapogee.com starting in August 2008.

External links

See also

Personal tools

Served in 0.891 secs.