Samples

Templating System : Demo
As the links reveal, the "Data" files have the extension .tcl and the "Template" files have .adp. If you want to see a little behind the scenes, you can look at the tcl code into which we compile the template. The last column will deliver the resulting page to your browser.

Mechanisms underlaid in red are known to not work.

General

Description Data Template Compiled
Template
Output
Simple variable substitution View View View View
Using bind variables in your query View View View View
A plain Tcl page that returns its own output View None None View
Conditional Expressions View View View View
Comments None View View View

Combining templates

Description Data Template Compiled
Template
Output
Include a template within another template View include
included
include
included
View
Wrap a page within a master template None Slave
Master
Slave
Master
View
Using the default master None View View View
Include with master and recursion.
Remember Fibonacci from pset 1, exercise 1?
Start
Included
Master
Start
Included
Master
Start
Included
Master
View

Embedded Tcl

Description Data Template Compiled
Template
Output
Tcl escape with implicit output View View View View
Tcl escape with explicit output None View View View
Template chunks within escaped Tcl code blocks View View View View
Puts (if you absolutely must) View View View View

Iteration

To see the following examples with different data, you can enter additional users into the sample table with "a simple form" or change them with "editing: several pages in one" in section
Using the Form Manager below.
Description Data Template Compiled
Template
Output
Repeating template chunks for each row of a query result View View View View
Generating the multirow datasource in TCL View View View View
Repeating template chunks for each row of a query result, with custom manipulation of data View View View View
Repeating template chunks with grouping View View View View
Repeating template chunks as cells of a grid View View View View
Repeating template chunks for each element of a list View View View View

Both Iteration and Composition

Description Data Template Compiled
Template
Output
Apply different skins to the same data View Plain
Fancy
Plain
Fancy
Plain
Fancy
Absolute
Passing a multirow datasource to an included page View Outer
Included
Outer
Included
View
Processing a template from a string (not file) View View View View

Using ListBuilder

Description Data Template Compiled
Template
Output
Simplest (single-column) list, no features View .tcl
postgres query
oracle query
No master
W/ master
No master
W/ master
No master
W/ master
Add some columns View .tcl
postgres query
oracle query
View View View
Add the ability to sort by any column View .tcl
postgres query
oracle query
View View View
Link the title to a one-note detail page index
detail
index
detail
index
detail
View
Add a bulk action to delete all checked notes index
delete
postgres query
oracle query
index index View
Add a single/non-bulk action to create a note index
add-edit
index
add-edit
index
add-edit
View

Forms

Description Data Template Compiled
Template
Output
Using ad_page_contract Target Form
Target
Error Page
Form
Target
Error Page
Form
Target
 
Report an error related to a request. View View Plain View

Using the Form Manager.

Description Data Template Compiled
Template
Output
A simple form View View View View
A form with button groups View Simple
Gridded
Simple
Gridded
Simple
Gridded
A form with Select widgets View View View View
Custom validation of a request View View View Inline Error Message
Sitewide Error Page
Valid Request
A form with the Date widget View View View View
Editing: several pages in one View View View View
A form with a custom confirmation page View Submit
Confirm
Submit
Confirm
View
A form with display/edit modes View View View View
A form with multiple submit buttons View View View View


templating@arsdigita.com