1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
<section id="introduction">
<title>Introduction to Apache Rivet</title>
<para>
Apache Rivet is a system for creating dynamic web content via a
programming language integrated with Apache Web Server. It is
designed to be fast, powerful and extensible, consume few system
resources, be easy to learn, and to provide the user with a
platform that can also be used for other programming tasks
outside the web (GUI's, system administration tasks, text
processing, database manipulation, XML, and so on). In order to
meet these goals, we have chosen the Tcl programming language to
combine with the Apache Web Server.
</para>
<para>
In this manual, we aim to help get you started, and then
writing productive code as quickly as possible, as well as
giving you ideas on how to best take advantage of Rivet's
architecture to create different styles of web site.
</para>
<para>
This documentation is focused on the current version of Rivet, but
still a work in progress, and, like everything
else about Apache Rivet, it is Free Software. If you see
something that needs improving, and have ideas or suggestions,
don't hesitate to let us know. If you want to contribute
directly, better yet!
</para>
<simplesect>
<title>New commands in Rivet 2.3</title>
<para>
Rivet 2.3 introduces 2 new commands <command>::rivet::exit</command>
and <command>::rivet::catch</command>
</para>
<itemizedlist>
<listitem>
<command>::rivet::exit</command> was introduced to help mod_rivet to
give the command <command>exit</command> a more sensible behavior within
the context of the Apache HTTP Web Server. In fact the core command has
become an alias of <command>::rivet::exit</command> which interrupts the
script execution and hands control to any <command>AbortScript</command>,
completes the request and just before returning to the web server framework terminates
the child process by calling <command>Tcl_Exit</command>
</listitem>
<listitem>
Since <command>::rivet::abort_page</command> and <command>::rivet::exit</command>
interrupt the execution returning a <emphasis>TCL_ERROR</emphasis> code
any <command>catch</command> could trap them and AbortScript could be
executed only by throwing the error again. We introduced the
<command>::rivet::catch</command> in order to simplify these operations.
If any real error occurs during a script execution the procedure returns
1 and fills the optional arguments with their expected values, otherwise
interrupts execution and allows for passing control to
<command>AbortScript</command>
</listitem>
</itemizedlist>
</simplesect>
</section>
|