NAME
Taco - Dynamic web page system
SYNOPSIS
# In a dynamic document
<title>[[$user_id]]s web page</title>
Here are your favorite foods:<br>
[[&list(driver=foods for_user=[[$user_id]] display_template=food_template)]]
# For serving Taco web pages, put in httpd.conf
PerlModule Apache::Taco
<Files ~ "\.taco$">
SetHandler perl-script
PerlHandler Apache::Taco
</Files>
# For parsing stand-alone files, type at Unix prompt
parse_file.pl [-s service] [-q query_string] filename
(not ready yet, sorry)
DESCRIPTION
Taco is a software tool which facilitates the creation of dynamic web pages. It's meant to run under the Apache web server, using the mod_perl extension.
A Taco page is just like a regular HTML page, with one important addition: a Taco page can contain Taco tags. When a user requests a Taco page, the Taco software finds all the Taco tags on the page and replaces them with the appropriate text. This text can come from a database, from a discussion group, or from the query string, among other places.
In fact, Taco itself doesn't define the functions you can have in a web page. Rather, the functionality is encapsulated in modules, which can be plugged into Taco. You can write your own modules or use common ones that are already written. The most basic module functionality is in the Taco::Generic.pm module, which is distributed with the main Taco distribution. All modules, including Taco::Generic, are sub-classes of Taco::Module.
For more documentation, please see the other modules in this distribution. See Taco::Module for a description of the syntax of the tags (how to use them in a web page), or instructions on how to write your own Taco module. See any Taco module's documentation for a description of the specific tags it defines.
DOCUMENTATION
The documentation for Taco is spread out among several modules. Here is a summary of what each module does and what its documentation covers:
Apache::Taco This is the PerlHandler to use with mod_perl. Here you'll
find information on how to configure a mod_perl-enabled
server to load Taco pages.
Taco::Arg This module implements the ArgTable and ArgLayer objects
which hold all the parameters in the query string, the POSTed
form contents, arguments passed to functions in [[tags]],
parameters set using the [[&set]] tag, and so on.
Taco::Template This module controls the parsing and output of Taco templates.
Templates are searched for [[tags]], and each tag is passed
to the Taco::Dispatcher module, which decides which Taco module
(e.g. Taco::Generic) will handle the tag.
Taco::Module This is a base class for Taco extension modules. An extension
module (Taco::Generic is an example) can supply more Taco tags for
use in templates.
Taco::ServiceRegistry
A Taco service is basically a set of configuration information.
The ServiceRegistry file contains definitional information
about the various services. To add a service to Taco, add an
entry in the ServiceRegistry file.
Taco::Dispatcher This module provides the glue between a Taco "service" and
the Taco modules it uses. It also has routines that parse
the insides of Taco [[tags]], so the definitions of Taco syntaxes
are given here.
Taco::Generic This is a fairly generic Taco extension module. It provides
several tags, such as [[&set]] (puts an entry in the global
ArgTable), [[&if]] (a conditional statement), [[&mark_me]]
(useful for checking checkboxes and radio buttons and selecting
choices in a <select> list), and so on.
AUTHOR
Ken Williams (ken@forum.swarthmore.edu)
Copyright (c) 1998 Swarthmore College. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
perl(1).