[interchange-cvs] interchange - jon modified 11 files

interchange-core@interchange.redhat.com interchange-core@interchange.redhat.com
Mon May 6 14:23:25 2002


User:      jon
Date:      2002-05-06 18:18:55 GMT
Modified:  pod      Tag: STABLE_4_8-branch ic_ecommerce.pod
Modified:           ic_howto_cvs.pod icadvanced.pod iccattut.pod
Modified:           icconfig.pod icdatabase.pod icfaq.pod
Modified:           icfoundation.pod ictags.pod ictemplates.pod
Modified:           icupgrade.pod
Log:
Check in latest POD documentation build.

Revision  Changes    Path
No                   revision



No                   revision



1.1.2.2   +12 -15    interchange/pod/Attic/ic_ecommerce.pod


rev 1.1.2.2, prev_rev 1.1.2.1
Index: ic_ecommerce.pod
===================================================================
RCS file: /var/cvs/interchange/pod/Attic/ic_ecommerce.pod,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -u -r1.1.2.1 -r1.1.2.2
--- ic_ecommerce.pod	21 Nov 2001 22:17:01 -0000	1.1.2.1
+++ ic_ecommerce.pod	6 May 2002 18:18:52 -0000	1.1.2.2
@@ -58,7 +58,7 @@
 named attributes:
 
         [order code="sku" quantity="n"* href="page"* cart="cartname"* base="table"*]
-        * = optional paramenters
+        * = optional parameters
 
 Expands into a hypertext link which will include the specified code in
 the list of products to order and display the order page. B<code>
@@ -200,8 +200,8 @@
 The form parameter value mv_order_fly can contain any number of
 fields which will set corresponding parameters in the item attributes.
 The fields are separated by the pipe (|) character and contain
-value-parmeter pairs separated by an = sign. (These are URL-encoded by
-the [area ...] or [page ...] tag, of course.) You can set a
+value-parameter pairs separated by an = sign. (These are URL-encoded
+by the [area ...] or [page ...] tag, of course.) You can set a
 size, color, or any other parameter.
 
 The special attribute mv_price can be used in conjunction with the
@@ -454,7 +454,7 @@
 You can also order items from a form, using the mv_order_item,
 mv_cartname, and optional mv_order_quantity variables.
 
- <FORM METHOD=POST ACTION="[process-order]">
+ <FORM METHOD=POST ACTION="[process]">
  <input type=checkbox name="mv_order_item" value="M3243"> Item M3243
  <input name="mv_order_quantity" value="1"> Quantity
  <input type=hidden name="mv_cartname" value="layaway">
@@ -486,8 +486,8 @@
 
 =head2 Price Maintenance with CommonAdjust
 
-As of Interchange 3.11, a flexible chained pricing scheme is available
-when the I<CommonAdjust> directive is set.
+A flexible chained pricing scheme is available when the
+I<CommonAdjust> directive is set.
 
 NOTE: For compatibility with older carts, if both PriceAdjustment and
 CommonAdjust are set, and CommonAdjust contains a valid database
@@ -522,7 +522,7 @@
 
 =item 4
 
-If PriceBreaks is in use, it's price will take precedence over the
+If PriceBreaks is in use, its price will take precedence over the
 value of CommonAdjust, though it may also contain a CommonAdjust
 string.
 
@@ -637,7 +637,7 @@
   $Vend::Interpolate::item->{size}  gives size for current item (if there)
   $Vend::Interpolate::item->{mv_ib} gives database ordered from
 
-=item [valid minivend tags]
+=item [valid Interchange tags]
 
 If the settor begins with a square bracket ([) or underscore, it is
 parsed for Interchange tags with variable substitution (but no Locale
@@ -810,7 +810,7 @@
 
 Numbers that begin with an equals sign (=) are used as absolute
 prices and are I<interpolated for Interchange tags first>, so you can
-use subroutines to set the price. To facilite coordination with the
+use subroutines to set the price. To facilitate coordination with the
 subroutine, the session variables item_code and item_quantity
 are set to the code and quantity of the item being evaluated. They
 would be accessed in a global subroutine with
@@ -1027,7 +1027,7 @@
 
     1. A discount for one particular item code (key is the item-code)
     2. A discount applying to all item codes (key is ALL_ITEMS)
-    3. A discount for an individual line item (set the mv_disount attribute
+    3. A discount for an individual line item (set the mv_discount attribute
        with embedded Perl)
     4. A discount applied after all items are totaled
        (key is ENTIRE_ORDER)
@@ -1495,9 +1495,6 @@
 Any input field from the order page can be included using the dollar
 sign notation.
 
-To prevent a value from being included in the order report, just add
-it to the B<ReportIgnore> configuration directive.
-
 Interchange defines some values for use in the search form -- they
 begin with mv_ and are automatically ignored.
 
@@ -1571,6 +1568,6 @@
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



1.1.2.2   +101 -101  interchange/pod/Attic/ic_howto_cvs.pod


rev 1.1.2.2, prev_rev 1.1.2.1
Index: ic_howto_cvs.pod
===================================================================
RCS file: /var/cvs/interchange/pod/Attic/ic_howto_cvs.pod,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -u -r1.1.2.1 -r1.1.2.2
--- ic_howto_cvs.pod	21 Nov 2001 22:17:01 -0000	1.1.2.1
+++ ic_howto_cvs.pod	6 May 2002 18:18:53 -0000	1.1.2.2
@@ -29,14 +29,14 @@
 or skip it all together.
 
 In addition, I have tried to write at a technical level that would be
-on par with what I percieve to be the average Interchange user that
+on par with what I perceive to be the average Interchange user that
 participates on the interchange-users mailing list.  It is assumed
 that the reader can and already has setup Interchange and the template
 catalog (such as foundation or construct) is working correctly.
 
 =head2 Contact the author
 
-If you find any spelling errors, technical slipups, mistakes,
+If you find any spelling errors, technical slip-ups, mistakes,
 subliminal messages, or if you wish to send feedback, critique,
 remarks, comments, or if you wish to contribute examples, instructions
 for alternative platforms, chapters, or other material, please do so.
@@ -60,7 +60,7 @@
 
 =item *
 
-What are it's advantages?
+What are its advantages?
 
 =back
 
@@ -89,7 +89,7 @@
 
 Multiple developers can work on the same catalog and even the same
 file at the same time.  (For more information about how multiple
-simultaneous writes are merged and conflicts resolved, see the cvs
+simultaneous writes are merged and conflicts resolved, see the CVS
 docs in the I<Resources> Appendix).
 
 =item *
@@ -106,7 +106,7 @@
 =item *
 
 Allows one to keep track of the changes that have been made over time
-(many release managers repackage cvs commit logs into WHATSNEW,
+(many release managers repackage CVS commit logs into WHATSNEW,
 HISTORY, and/or NEWS files).
 
 =back
@@ -134,7 +134,7 @@
 
 =item *
 
-One cvs module
+One CVS module
 
 =item *
 
@@ -156,11 +156,11 @@
 
 =item *
 
-One cvs modules
+Two CVS modules
 
 =item *
 
-Seperate development and live branches
+Separate development and live branches
 
 =back
 
@@ -179,7 +179,7 @@
 
 =item *
 
-Multiple cvs modules
+Multiple CVS modules
 
 =item *
 
@@ -207,7 +207,7 @@
 
 =item *
 
-Red Hat 7.x
+Red Hat Linux 7.x
 
 =item *
 
@@ -215,7 +215,7 @@
 
 =item *
 
-Default interchange tarball installation directory paths (adjust for
+Default Interchange tarball installation directory paths (adjust for
 your environment)
 
 =item *
@@ -230,32 +230,32 @@
 names and paths.
 
 There shouldn't be any reason why you could not do everything I
-mention here on other Linux distributions, unicies or Windows (using
-cygwin).  However, my statements will reflect Red Hat 7.x. 
-Additionally, Red Hat 6.x is for the most part the same as 7.x, except
-for the difference of using inetd instead of xinetd to setup pserver.
+mention here on other Linux distributions, Unices or Windows (using
+cygwin). However, my statements will reflect Red Hat Linux 7.x.
+Additionally, Red Hat Linux 6.x is for the most part the same as 7.x,
+except for the difference of using inetd instead of xinetd to setup
+pserver.
 
 =head2 Install CVS
 
-This is the easy part.  For Red Hat systems, download the cvs rpms and
-install them.  The following RPM command will download and install the
-Red Hat 7.1 version of cvs from rpmfind.net.
+This is the easy part.  For Red Hat Linux systems, download the CVS
+rpms and install them.  The following RPM command will download and
+install the Red Hat 7.1 version of CVS from rpmfind.net.
 
 B<Note: >You need to be root to complete the following tasks
 
  su - root
 rpm -Uvh ftp://speakeasy.rpmfind.net/linux/redhat/7.1/en/os/i386/RedHat/RPMS/cvs-1.11-3.i386.rpm
 
-Create the user and group that will administrate the interchange
+Create the user and group that will administrate the Interchange
 repository.  For this document, it will be the interch user, (which
 was setup during the installation of Interchange).  But if you
 understand the mechanics of Unix users/groups, then you can use
 whatever username and group scheme you prefer.  For example, some
-create a cvs user and cvs group, then add the interchange user and
-catalog owner to it's group and/or vise-versa.  The integration of
-interchange and CVS in the latter portion of this document will
-require that the CVS user has some write capability to the catalog
-directory.
+create a cvs user and cvs group, then add the Interchange user and
+catalog owner to its group or vice-versa.  The integration of
+Interchange and CVS in the latter portion of this document will
+require that the CVS user can write to the catalog directory.
 
 =head2 Create the CVS repository directory
 
@@ -315,7 +315,7 @@
 I recommend cvsadmin, but there are also a variety of manual methods
 that can be used in the absence of such tools, one of which involves
 copying the system shadow file and modifying it for use by CVS.  For
-more information on this manual method, see the RedHat CVS pserver
+more information on this manual method, see the Red Hat CVS pserver
 setup guide by Michael Amorose
 (L<http://www.michael-amorose.com/cvs/>).
 
@@ -323,8 +323,8 @@
 
 You can find a tarball to install on your system using the above
 address, but here is the address of a recent RPM package of the
-version.  This package is intended for mandrake systems, but is
-compatible with Red Hat 7.1:
+version. This package is intended for Mandrake systems, but is
+compatible with Red Hat Linux 7.1:
 
 =over 4
 
@@ -348,7 +348,7 @@
 
 Add your project to the F<modules> configuration file
 
-The format of the modules file is explained in detail in the cvs
+The format of the modules file is explained in detail in the CVS
 documentation, here is the simplest way to use it:
 
  /rep/CVSROOT/modules:
@@ -405,7 +405,7 @@
 
 At this point, you should have a working (though empty) CVS
 repository.  Before we continue with setting up the pserver or
-importing source code, try logging in as one of the cvs users listed
+importing source code, try logging in as one of the CVS users listed
 in your CVSROOT/passwd and test the checkout.
 
  #test checkout in home directory of any cvs user
@@ -418,16 +418,16 @@
 =head2 Setup the CVS pserver
 
 You will likely need to be root to do this, and there are lots of
-guides on the internet for setting up a cvs pserver, hopefully you
+guides on the Internet for setting up a CVS pserver, hopefully you
 wont have any trouble doing it on your particular operating system. 
 See the I<Resources> Appendix for more information.
 
-Setup pserver in Red Hat 7.1 using xinetd.
+Setup pserver in Red Hat Linux 7.1 using xinetd.
 
-For Red Hat 7.x, edit F</etc/xinetd.d/cvspserver> (create a new one if
-none exists).  The following works for me, but customization may be
-required for your environment (see the next section below for an
-inetd-based system example).  This also must be done as root.
+For Red Hat Linux 7.x, edit F</etc/xinetd.d/cvspserver> (create a new
+one if none exists).  The following works for me, but customization
+may be required for your environment (see the next section below for
+an inetd-based system example).  This also must be done as root.
 
  su - root
 /etc/xinetd.d/cvspserver:
@@ -459,9 +459,8 @@
 
 Setup pserver in inetd-based systems.
 
-I haven't tested this (any takers?), but something like the following
-needs to be done for inetd-based systems such as Red Hat 6.2.  Make
-sure that the following files are setup accordingly.
+For inetd-based systems such as Red Hat Linux 6.2, make sure that the
+following files are setup accordingly.
 
  /etc/services:
 
@@ -472,9 +471,9 @@
 
 Testing your pserver
 
-At this point, you should be able to use a cvs client to use your
+At this point, you should be able to use a CVS client to use your
 pserver and execute all the same commands that you can locally (which
-we tested before).  You may wish to take advantage of a graphical cvs
+we tested before).  You may wish to take advantage of a graphical CVS
 client, which can be particularly helpful in leveling the learning
 curve.
 
@@ -484,11 +483,11 @@
 
 =head2 Configuring your catalog
 
-Eventually, we will import your catalog into the cvs repository, but
+Eventually, we will import your catalog into the CVS repository, but
 first we need to do some work with a temporary copy of the catalog so
 we can get it into shape for importing.
 
-B<Note: >From here on, assume the use of the interchange user, such as
+B<Note: >From here on, assume the use of the Interchange user, such as
 interch, unless otherwise noted.
 
  su - interch
@@ -515,13 +514,13 @@
 do this.
 
 
-#Become interchange catalog user
+#Become Interchange catalog user
 su - interch
 
 #backup catalog folder first
 tar czf ~/foundation_backup.tgz /var/lib/interchange/foundation
 
-#get rid of any old CVS folders -- (BE CAREFULL!)
+#get rid of any old CVS folders -- (BE CAREFUL!)
 cd /var/lib/interchange/foundation
 find . -name CVS -exec rm -Rf {} \;
 
@@ -552,9 +551,9 @@
 
 =back
 
-For example, /etc/order.number is modified by interchange when run.
+For example, /etc/order.number is modified by Interchange when run.
  But not everyone will use a local development model that includes
-running interchange on a directly checked-out copy of their source. 
+running Interchange on a directly checked-out copy of their source. 
 Which means this specific issue is avoided if you upload every edit
 before viewing your changes on a server.
 
@@ -580,7 +579,7 @@
 =back
 
 Managing less files in the repository takes away from the amount of
-time required for cvs checkout, update, branching, and other cvs
+time required for CVS checkout, update, branching, and other CVS
 actions.  For most, this amount of time is small already, but it is a
 consideration for some.
 
@@ -600,8 +599,8 @@
 combine your checkout with the other working parts of a catalog before
 the catalog is viable.  But this is slower and will bring up lots of
 harmless notification and warning messages (about changed local
-versions) if you run interchange on your local source copy (because
-interchange will touch etc/ session/ orders/, etc. directly, and then
+versions) if you run Interchange on your local source copy (because
+Interchange will touch etc/ session/ orders/, etc. directly, and then
 warn that your local copy has changed from the CVS copy).  You may be
 able to manage some of these notifications and warnings with
 F<CVSROOT/cvsignore> or $CVSIGNORE, see the I<Resources> appendix
@@ -640,7 +639,7 @@
 
 When you run the import command, it will launch $EDITOR (set to
 'vi' earlier), and ask for a message to go along with the import
-action.  Whatever you see fit to write (e.g. "starting new cvs module
+action.  Whatever you see fit to write (e.g. "starting new CVS module
 with my foundation catalog...") is fine.
 
 This example import command includes renaming the foundation
@@ -703,6 +702,10 @@
 
 Add any needed files to checked-out catalog
 
+Note that empty directories are pruned, so they will need something in
+them for them to show up with a -P checkout. Often a zero-byte file
+called '.empty' is used.
+
 If you removed any directories during the streamlining step, we must
 first add those back so that the catalog is usable to Interchange.  In
 this document, we only removed unneeded files and left empty
@@ -731,7 +734,7 @@
 ln -s /var/lib/interchange/foundation/images images
 
 Now, you should have a working catalog again.  To make sure, start up
-interchange and test the site with your browser.
+Interchange and test the site with your browser.
 
 =head2 Testing manual CVS updates on Interchange catalogs
 
@@ -756,7 +759,7 @@
 CVS documentation is in the I<Resources> Appendix.
 
 This time, we can allow the changes to take effect on the code being
-used by interchange to server pages.  To do so, one must run a cvs
+used by Interchange to serve pages. To do so, one must run a cvs
 update on the catalog directory:
 
  cd /var/lib/interchange/foundation
@@ -780,13 +783,13 @@
 source dir but not in the CVS source dir).  It is harmless, but
 sometimes annoying.
 
-The M means that sthe file has been modified on your local copy,
-and is out of sync with the remote CVS version (e.g. when Interchange
-runs it updates F<etc/status.foundation>).  Normally this is corrected
-by uploading your "modified" version to the server, but in this case,
-the modification was done by Interchange instead of the programmer,
-and wasn't meant to be committed back to the CVS repository.  These
-types of messages can be handled with $CVSIGNORE and
+The M means that the file has been modified on your local copy, and
+is out of sync with the remote CVS version (e.g. when Interchange runs
+it updates F<etc/status.foundation>).  Normally this is corrected by
+uploading your "modified" version to the server, but in this case, the
+modification was done by Interchange instead of the programmer, and
+wasn't meant to be committed back to the CVS repository.  These types
+of messages can be handled with $CVSIGNORE and
 $CVSROOT/CVSROOT/cvsignore.
 
 Now, check to make sure that your change has taken effect by
@@ -805,7 +808,7 @@
 
  ^foundation     (date; cat; (sleep 1; cd /var/lib/interchange/foundation; cvs -q update -d) &) >> $CVSROOT/CVSROOT/updatelog 2>&1
 
-The first line tells cvs that for every commit on modules that start
+The first line tells CVS that for every commit on modules that start
 with "foundation" (notice the regular expression "^foundation"), it
 will run cvs update on the given catalog directory in the
 background.  It is important that it is executed in a forked shell
@@ -838,7 +841,7 @@
  echo -n $2"  ";
  date;
  echo;
- cat) | tee $1 | /usr/bin/Mail -s "[foundation-cvs] $3" foundation-cvs@example.com
+ cat) | tee -a $1 | /usr/bin/Mail -s "[foundation-cvs] $3" foundation-cvs@example.com
 
 Your commit logs will now be archived in the CVSROOT/commitlog file
 and e-mailed to the  foundation-cvs@example.com address (which is
@@ -1009,7 +1012,7 @@
 Variable SQLDSN    dbi:Pg:dbname=foundation_dev
 Variable SQLDB     foundation_dev
 
-Now you can restart interchange to make your changes take effect.
+Now you can restart Interchange to make your changes take effect.
 
 =head2 Splitting updates on commit by tag
 
@@ -1072,7 +1075,7 @@
 
 =back
 
-I do the above so often that I have written a TCL script for WinCVS
+I do the above so often that I have written a Tcl script for WinCVS
 that will automatically perform the above steps.  And similar shell
 scripts can probably be easily written to match your development
 environment.
@@ -1089,31 +1092,31 @@
 This is the productivity tips section, which will hopefully help you
 to be able to get more done in less time.
 
-=head2 Workstation interchange installation
+=head2 Workstation Interchange installation
 
 Not all developers work on Linux workstations, many use Apples
-(graphics designers and html gurus tend to, I've found), and many use
+(graphics designers and HTML gurus tend to, I've found), and many use
 Windows.  This means that many developers have the extra step of
 uploading their changes to a Unix server where Interchange is running
 in order to see their changes.
 
-The remedy to that is to setup an interchange server on your
+The remedy to that is to setup an Interchange server on your
 workstation, or any location that has direct access to the CVS source
 files.  I'll explain:
 
-The interchange server that runs where the CVS server is (that we
+The Interchange server that runs where the CVS server is (that we
 setup earlier) can be seen as the gathering point for all the
-developers.  However, each developer may run as many interchange
+developers.  However, each developer may run as many Interchange
 daemons as he/she requires in a local context for the purpose of
 seeing the changes made before uploading them via CVS.
 
-For example, Bob could setup another interchange catalog on the same
+For example, Bob could setup another Interchange catalog on the same
 server as the CVS, (e.g. foundation-bob).  To get direct access to
 those files (rather than FTP), Bob could use NFS mounts (if Bob's
 workstation is Linux) or SMB mounts using Samba if his workstation is
 a Windows variant.  Any way that Bob can get direct access to the
 files will save him some time (by cutting out the "upload" from the
-"edit->upload->test" development cycle).  One could even use Vmware to
+"edit->upload->test" development cycle).  One could even use VMware to
 run a Linux server on your Windows workstation.
 
 B<Note: >You can now use the cygwin compatibility confirmed in
@@ -1129,7 +1132,7 @@
 
 =item *
 
-Stop interchange.
+Stop Interchange.
 
 =item *
 
@@ -1151,19 +1154,19 @@
 
 =item *
 
-Restart interchange.
+Restart Interchange.
 
 =back
 
 One aspect of this local configuration is managing the differences
-between the main interchange daemon which runs on the CVS server and
-the local interchange daemon.  The differences are probably hostname,
+between the main Interchange daemon which runs on the CVS server and
+the local Interchange daemon.  The differences are probably hostname,
 database information, etc.  That will all need to be managed (usually
 through catalog.cfg entries) and database exports & imports (i.e. the
 postgres pg_dump command).
 
 Another thing that you might have noticed at this point is all the
-files that are modified locally by the interchange daemon will report
+files that are modified locally by the Interchange daemon will report
 ? or M when you run an update.  This can be handled with
 F<CVSROOT/cvsignore> and $CVSIGNORE, which are beyond the scope of
 this document.
@@ -1171,15 +1174,8 @@
 =head2 Mailserver for CVS updates
 
 To setup a mailserver for CVS updates, first download and install
-mailman.  For Red Hat systems, the following RPM could be used:
-
-=over 4
-
-=item *
-
-L<ftp://speakeasy.rpmfind.net/linux/redhat/7.1/en/powertools/i386/RedHat/RPMS//mailman-2.0.1-2.i386.rpm>
-
-=back
+Mailman. For RPM-based systems, check on rpmfind.net for a precompiled
+binary package.
 
 After installing, read the following information about Mailman and
 what needs to be done after installation (taken from the RPM meta
@@ -1199,12 +1195,12 @@
 
 =item *
 
-Run F</var/mailman/bin/mmsitepass> to set the mailman administrator
+Run F</var/mailman/bin/mmsitepass> to set the Mailman administrator
 password.
 
 =item *
 
-Edit F</var/mailman/Mailman/mm_cfg.py> to customize mailman's
+Edit F</var/mailman/Mailman/mm_cfg.py> to customize Mailman's
 configuration for your site.
 
 =item *
@@ -1244,10 +1240,10 @@
 
 The idea is to have the IC server use its own files and directories
 for things that won't be edited and modified locally, but reference a
-samba directory or NFS directory for things that will (such as
+Samba directory or NFS directory for things that will (such as
 F<pages/>, F<templates/>, etc.).
 
-Mount the samba or NFS directory
+Mount the Samba or NFS directory
 
 C<smbmount <...E<gt>> or C<mount -t nfsfs <...E<gt>>
 
@@ -1267,27 +1263,27 @@
 
 This will leave you with a working catalog that can be quickly
 modified (since your editor can access the local copy), while
-interchange has to do the work of going over the SMB or NFS
+Interchange has to do the work of going over the SMB or NFS
 connection.
 
-=head2 jEdit - a good editor with Interchange/HTML/perl colorization and CVS
+=head2 jEdit - a good editor with Interchange/HTML/Perl colorization and CVS
 
 I have been quite impressed with jEdit (L<http://www.jedit.org>, and
-open source editor that is written in java and runs on most platforms.
+open source editor that is written in Java and runs on most platforms.
 
 I use the interchange.xml language definition written by Chris
 Jesseman I<chris@sitemajic.net>, which is available from
 L<http://www.sitemajic.net/jedit/>.  With this, jEdit automatically
-colors HTML, perl, AND many interchange tags very intelligently.
+colors HTML, Perl, AND many Interchange tags very intelligently.
 
 Further, jEdit has a CVS plugin, written by Ben Sarsgard
 I<bsarsgard@vmtllc.com>, and available at:
 L<http://www.vmtllc.com/~bsarsgard/jedit.html>.  This plugin allows
 you to diff, update, and commit right from the editor.
 
-=head2 Seperate servers for development and live catalogs
+=head2 Separate servers for development and live catalogs
 
-If you have the luxury of seperate server ardware for the development
+If you have the luxury of separate server hardware for the development
 and live catalogs, you might find the following utility helpful:
 
 =over 4
@@ -1339,6 +1335,10 @@
 
 July 19, 2001.  First draft complete, first public release.
 
+=item *
+
+12 April 2002.  Minor typographical edit.
+
 =back
 
 Resources
@@ -1396,7 +1396,7 @@
 
 =item *
 
-RedHat CVS pserver setup guide L<http://www.michael-amorose.com/cvs/>
+Red Hat CVS pserver setup guide L<http://www.michael-amorose.com/cvs/>
 
 =item *
 
@@ -1410,18 +1410,18 @@
 
 =item *
 
-CVS RPM download (Red Hat 7.1) 
+CVS RPM download (Red Hat Linux 7.1) 
 L<ftp://speakeasy.rpmfind.net/linux/redhat/7.1/en/os/i386/RedHat/RPMS/cvs-1.11-3.i386.rpm>
 
 =item *
 
-Source tarballs links can can be found at cvshome.org.
+Source tarball links can can be found at cvshome.org.
 
 =back
 
 CVS Client Software
 
-There are a variety of client access methods for using cvs on your
+There is a variety of client access methods for using CVS on your
 development box.
 
 =over 4
@@ -1434,15 +1434,15 @@
 
 =item *
 
-jCVS is a great cross-platform graphical cvs client available at
+jCVS is a great cross-platform graphical CVS client available at
 L<http://www.jcvs.org>.
 
 =item *
 
 jEdit is a great cross-platform text editor written in java, which not
 only has a CVS module that allows you to commit (upload) files
-directly from the editor, but also has a interchange markup language
-(and perl language) colorizer/parser.  It is available from
+directly from the editor, but also has a Interchange Tag Language (and
+Perl language) colorizer/parser.  It is available from
 L<http://www.jedit.org>.
 
 =back



2.2.2.2   +17 -19    interchange/pod/icadvanced.pod


rev 2.2.2.2, prev_rev 2.2.2.1
Index: icadvanced.pod
===================================================================
RCS file: /var/cvs/interchange/pod/icadvanced.pod,v
retrieving revision 2.2.2.1
retrieving revision 2.2.2.2
diff -u -u -r2.2.2.1 -r2.2.2.2
--- icadvanced.pod	21 Nov 2001 22:17:01 -0000	2.2.2.1
+++ icadvanced.pod	6 May 2002 18:18:53 -0000	2.2.2.2
@@ -321,7 +321,7 @@
 Horizontal After Component
 
 This function allows the inclusion of a defined component to be
-displayed after or below the pages's content. It's called with the
+displayed after or below the page's content. It's called with the
 following code within the LEFTRIGHT_BOTTOM template:
 
  [if scratch component_after]
@@ -343,8 +343,8 @@
 This setting is only viable when a promotion is used for a horizontal
 component. It tells the promotional component which rows to evaluate
 in the merchandising table for display within the component. This
-setting normally corelates to the featured column of the merchandising
-table as follows:
+setting normally correlates to the featured column of the
+merchandising table as follows:
 
         [query arrayref=main
                    sql="
@@ -533,9 +533,7 @@
 
 The page controlled/any (or any other page in the directory not
 named in .access_gate) will be allowed for any user logged in via
-I<UserDB>. NOTE: The .access_gate scheme is available for database
-access checking if the database is defined as an AdminDatabase. The
-.access_gate file is located in ProductDir.
+I<UserDB>.
 
 =back
 
@@ -562,7 +560,7 @@
 
 Interchange can store meta information for selected columns of tables
 in a site's database. This meta information is used when the user
-interacts with the database. For example, the meta informaton for a
+interacts with the database. For example, the meta information for a
 Hide Item field might specify that a checkbox be displayed when the
 user edits that field, since the only reasonable values are on and
 off. Or, the meta information might specify a filter on data
@@ -996,7 +994,7 @@
 Interchange requires a web server that is already installed on a
 system. It does have an internal server which can be used for
 administration, testing, and maintenance, but this will not be useful
-or desireable in a production environment.
+or desirable in a production environment.
 
 As detailed previously, Interchange is always running in the
 background as a daemon, or resident program. It monitors either a
@@ -1204,8 +1202,8 @@
    perl -e 'do "syscfg"; system ("$CC $CFLAGS $DEFS $LIBS -o tlink tlink.c")'
    perl -e 'do "syscfg"; system ("$CC $CFLAGS $DEFS $LIBS -o vlink vlink.c")'
 
-There is also a compile_link program which has docmentation
-embedded and which will compile an approprate link. If you cannot
+There is also a compile_link program which has documentation
+embedded and which will compile an appropriate link. If you cannot
 compile, try using the tlink.pl script, written in Perl instead of
 C, which should work on most any system. Since vlink needs to have
 values set before compilation, a pre-compiled version will not work
@@ -1301,10 +1299,10 @@
 changes to interchange.cfg are necessary. For tlink to work, the
 proper host name(s) must be configured into the TcpHost directive in
 interchange.cfg. The program selects port 7786 by default (the ASCII
-codes for "M" and "V"). If another port is used, it must be set to the
-same number in both the tlink program (by running compile_link) and
-the minivend.cfg file. The tlink program does not need to be
-SUID.
+codes for "M" and "V", for MiniVend). If another port is used, it must
+be set to the same number in both the tlink program (by running
+compile_link) and the interchange.cfg file. The tlink program
+does not need to be SUID.
 
 =back
 
@@ -1320,7 +1318,7 @@
 program files can be owned by anyone, but any databases, ASCII
 database source files, error logs, and the directory that holds them
 must be writable by the proper user ID, that is the one that is
-executing the MiniVend program.
+executing the Interchange program.
 
 =item *
 
@@ -1343,13 +1341,13 @@
 =item *
 
 UNIX-domain sockets will not work on NFS-mounted file systems! This
-means that the server minivend and the CGI program vlink must be
+means that the Interchange server and the CGI program vlink must be
 executing on the same machine.
 
 =item *
 
 The tlink program does not have this problem, but it must have the
-proper host name(s) and TCP ports set in the TcpHost and TcpPort
+proper host name(s) and TCP ports set in the TcpHost and TcpMap
 directives in interchange.cfg. Also, be careful of security if
 sensitive information, like customer credit card numbers, is being
 placed on a network wire.
@@ -1360,6 +1358,6 @@
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.0.2.1   +43 -43    interchange/pod/iccattut.pod


rev 2.0.2.1, prev_rev 2.0
Index: iccattut.pod
===================================================================
RCS file: /var/cvs/interchange/pod/iccattut.pod,v
retrieving revision 2.0
retrieving revision 2.0.2.1
diff -u -u -r2.0 -r2.0.2.1
--- iccattut.pod	18 Jul 2001 02:23:25 -0000	2.0
+++ iccattut.pod	6 May 2002 18:18:53 -0000	2.0.2.1
@@ -10,8 +10,7 @@
 simple Interchange catalog from scratch. The demo catalog that ships
 with Interchange is quite complex since it highlights some of the many
 capabilities that Interchange offers. As a template for your own
-catalog, the demos can either be an intimidating place to start or too
-customized to relate to your business.
+catalog, the demo can either be an intimidating place to start.
 
 The simple catalog you create using this tutorial should give you a
 feel for the basic Interchange system. It should also be considered a
@@ -20,8 +19,7 @@
 default settings to accentuate how Interchange works. It will use as
 few of Interchange's capabilities as possible, while still building a
 usable store. The resulting site will be simple but usable. The value
-of this tutorial is not in the resulting e-commerce site, but in the
-instruction that occurs along the way.
+of this tutorial is in the instruction that occurs along the way.
 
 It is recommended that you create the files used in this tutorial
 yourself. You will learn more by creating the directory structure and
@@ -40,12 +38,12 @@
 systems. You can also get Interchange by unpacking an Interchange
 tarball or checking out a copy of the CVS repository and doing a
 I<manual installation>. These installations can be done either as a
-regular user or as root with a special Interchange user.
+regular user or as root, installing for a special Interchange user.
 
 You must also know what type of installation you ran so you know where
 to place the various files created. Before proceeding, verify that
-Interchange is properly installed. Also, which type of installation
-you ran:
+Interchange is properly installed. Also, keep in mind which type of
+installation you did:
 
 =over 4
 
@@ -65,9 +63,9 @@
 
 B<Note: >After installation, F<makecat> should be run to build your
 catalog. For information on installing Interchange and building your
-catalog using F<makecat>, see the I<Red Hat Interchange 4.8: Getting
-Started Guide>. Do not to continue with this tutorial without a
-working demo catalog.
+catalog using F<makecat>, see the I<Interchange Getting Started
+Guide>. Do not to continue with this tutorial without a working demo
+catalog.
 
 Installing the demo catalog set up the Interchange global
 configuration file F<interchange.cfg>, which resides in the
@@ -80,11 +78,11 @@
 If Interchange was installed as a regular user, that will be the user
 Interchange runs as. If Interchange was installed as root or from an
 RPM, you need to know the name of the separate Interchange user. The
-Interchange daemon will not run as root, or even as the web server
-user (often www or httpd or nobody). If Interchange was installed from
-the RPM, or with the default source installation settings, the default
-username is interch. If a different user name was established, you
-will need to know what it is.
+Interchange daemon will not run as root, and should not run as the web
+server user (usually 'apache', 'www', 'httpd', or 'nobody'). If
+Interchange was installed from the RPM, or with the default source
+installation settings, the username is interch. If you selected a
+different user name, you will need to know what it is.
 
 =head2 Important directories
 
@@ -108,12 +106,10 @@
 
 =item *
 
-cgi-bin directory B<.RPM install or source install as root (Red Hat 6,
-Linux Mandrake):> /home/httpd/cgi-bin B<.RPM install or source install
-as root (Red Hat 7):> /var/www/cgi-bin B<.Manual install as root
-(locally installed web server):> /usr/local/htdocs, /opt/www, ...
-B<.Manual install as regular user:> /home/username/public_html (with
-.cgi extension)
+cgi-bin directory B<.RPM install or source install as root:>
+/var/www/cgi-bin B<.Manual install as root (locally installed web
+server):> /usr/local/htdocs, /opt/www, ... B<.Manual install as
+regular user:> /home/username/public_html (with .cgi extension)
 
 =back
 
@@ -186,9 +182,9 @@
 
 =head2 Tutorial assumptions
 
-Because it is impossible to cover all senarios, this tutorial assumes
-that you installed Interchange on Red Hat 7 from the RPM. This creates
-the following settings:
+Because it is impossible to cover all scenarios, this tutorial assumes
+that you installed Interchange on Red Hat Linux from the RPM packages.
+This creates the following settings:
 
 =over 4
 
@@ -278,7 +274,7 @@
 
 You should be able to do everything you need to do as the 'interch'
 user for the rest of this tutorial. So you can switch to that user now
-(su interch). If you installed Interchange from the RPM, the user
+(su - interch). If you installed Interchange from the RPM, the user
 B<interch> probably doesn't have a password. You'll have to set it
 with a command such as passwd interch while root.
 
@@ -300,7 +296,7 @@
 
 You need to create the session directory where Interchange saves
 information on each visitor's browsing session. If you do not have
-this directory, Interchange may fail to work. This directory is called
+this directory, your catalog will not work. This directory is called
 F<session/> and goes under your catalog directory. Type mkdir
 session to create this directory.
 
@@ -359,7 +355,7 @@
 Interchange has several database options available. We will use the
 simplest, which is the built-in default (specifically, some variant of
 DBM). The default location for I<filename> is in a subdirectory called
-F<products> under the catalog directory. Interchange recongnizes a
+F<products> under the catalog directory. Interchange recognizes a
 number of file formats. We will use a tab-delimited text file. Enter
 the following into F<catalog.cfg>:
 
@@ -368,11 +364,12 @@
 This tells Interchange that you have a database table named 'products'
 that is described in a tab-delimited file named F<products.txt>. You
 can describe an unlimited number of arbitrary database tables for the
-system to use this way. Interchange is an e-commerce system and it
-expects at least a products database table. You can specify all of the
-database tables that contain products by using the B<ProductFiles>
-directive. There is no default for this, so you will have to specify
-your products database by adding the following line to F<catalog.cfg>:
+system to use this way. Interchange keeps a list of default tables
+called "Product Files," reflecting its e-commerce roots. You can
+specify all of the database tables that contain products by using the
+B<ProductFiles> directive. There is no default for this, so you will
+have to specify your products table's name by adding the following
+line to F<catalog.cfg>:
 
   ProductFiles  products
 
@@ -414,8 +411,8 @@
 The product database is handled as a special case since Interchange
 expects at least the description, price, and product ID (sku) fields.
 In other words, the F<products.txt> file must at least contain fields
-named sku, price, and description. Any other fields you decide to
-include are handled normally.
+named sku, price, and description. You can have other fields too, if
+you wish.
 
 The simple store that we are going to build will sell tests. You can
 choose another sample product line, but it is recommended that you
@@ -430,8 +427,8 @@
 
 B<Note: >When using tab-delimited files as we are, make sure you have
 exactly one tab between each field. Some text editors will use spaces
-to simulate tabs. Interchange expects actual ASCII tab characters; no
-spaces or extra characters are accepted.
+to simulate tabs. Interchange expects actual ASCII tab characters;
+extra spaces or other characters will corrupt your data.
 
 You may notice that the columns don't line up in your text editor.
 This is the nature of tab-delimited files. Do not try to fix these.
@@ -460,7 +457,7 @@
 
 The "main" section holds the content that is different for each page.
 The "top" section is for headers, banners, menus, and so on. The
-"left" section can be used as a sidebar or navagation bar, and the
+"left" section can be used as a sidebar or navigation bar, and the
 "bottom" section can contain the copyright and contact info. The top,
 left, and bottom sections will remain constant throughout the site.
 Making a change to information in one of these sections will make that
@@ -542,7 +539,7 @@
 B<Note: >Interchange pages in the F<pages/> or other directories
 B<must> have the .html suffix on them. You can drop the suffix in your
 URL and in other places, such as the [page] tag you'll learn about
-later, but the file name itself must have the suffix.
+later, but the file name on disk must have the suffix.
 
 =head1 Troubleshooting
 
@@ -1448,9 +1445,9 @@
   [loop search="ra=yes/fi=products/tf=1/to=r"]
 
 Now let's try narrowing the search down a bit. Instead of returning
-all, we'll give 'se', the B<se>arch paramerter, and and use 'su',
-which allows B<su>bstring matches. To search only for products that
-have the word "test" in one of their fields, and sort the results by
+all, we'll give 'se', the B<se>arch parameter, and and use 'su', which
+allows B<su>bstring matches. To search only for products that have the
+word "test" in one of their fields, and sort the results by
 description, type:
 
   [loop search="se=test/su=yes/fi=products/tf=description"]
@@ -1695,8 +1692,11 @@
 
 12 January 2001. First public release.
 
+12 April 2002. Remove mention of obsolete Red Hat Linux 6-specific
+RPMs.
+
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.2.2.3   +118 -57   interchange/pod/icconfig.pod


rev 2.2.2.3, prev_rev 2.2.2.2
Index: icconfig.pod
===================================================================
RCS file: /var/cvs/interchange/pod/icconfig.pod,v
retrieving revision 2.2.2.2
retrieving revision 2.2.2.3
diff -u -u -r2.2.2.2 -r2.2.2.3
--- icconfig.pod	27 Nov 2001 20:40:26 -0000	2.2.2.2
+++ icconfig.pod	6 May 2002 18:18:53 -0000	2.2.2.3
@@ -6,9 +6,8 @@
 
 =head1 Interchange Configuration Files
 
-The Red Hat Interchange 4.8 Configuration Reference is an alphabetical
-reference to the configuration directives used in Interchange global
-and catalog configuration files.
+This is an alphabetical reference to the configuration directives used
+in Interchange global and catalog configuration files.
 
 Interchange has multiple catalog capability, and therefore splits its
 configuration into two pieces. One is global, interchange.cfg, and
@@ -20,7 +19,7 @@
 
 Configuration directives are normally specified with the directive as
 the first word on the line, with its value or values following.
-Capitalization of the directive name is not signifigant. Leading and
+Capitalization of the directive name is not significant. Leading and
 trailing whitespace is stripped from the line.
 
 =over 4
@@ -256,7 +255,7 @@
 
 =head2 CheckHTML *global*
 
-Set to the name of an external program that will check the users HTML
+Set to the name of an external program that will check the user's HTML
 when they set [flag checkhtml] or [tag flag checkhtml][/tag] in
 their page.
 
@@ -344,6 +343,17 @@
 
         DebugFile  /tmp/icdebug
 
+=head2 DeleteDirective *global*
+
+Deletes a configuration directive from the list is parsed for every
+catalog.cfg file. Can save memory for installations with large
+numbers of catalogs.
+
+   DeleteDirective  DescriptionField OfflineDir
+
+The directive is not case-sensitive. Has no effect on global
+directives.
+
 =head2 DisplayErrors *global*
 
 While all errors are reported in the error log file, errors can also
@@ -612,6 +622,10 @@
 
    NoAbsolute     Yes
 
+Note that this does not apply to tests for whether a file exists, as
+with [if file ...]. Such operations are allowed regardless of the
+NoAbsolute setting.
+
 =head2 PIDcheck *global*
 
 If non-zero, enables a check of running Interchange processes during
@@ -632,7 +646,7 @@
 =head2 PIDfile *global*
 
 The file which will contain the Interchange server process ID so that
-it can be read to determine which proces should be sent a signal for
+it can be read to determine which process should be sent a signal for
 stopping or reconfiguring the server.
 
    PIDfile  /var/run/interchange/interchange.pid
@@ -871,15 +885,16 @@
 
 =head2 TemplateDir *global*
 
-Sets a directory which will be searched for pages if not found in the
-user's pages directory. Interchange uses this; use it to supply
-some default pages so the user will not have them in their directory.
+This can be used to supply some default pages so catalogs will not
+need their own copies.
+
+Supply one or more directory names, separated by whitespace, which
+will be searched for pages not found in the catalog's PageDir
+directory or the catalog-level TemplateDir directory list.
 
    TemplateDir    /usr/local/interchange/default_pages
 
-The user's page, if it exists, will take precedence. There is also a
-catalog-specific version of this directive. If a page is found in that
-directory (or directories), it will take precedence.
+This is undefined by default.
 
 =head2 TolerateGet *global*
 
@@ -910,19 +925,21 @@
 =head2 Variable *global*
 
 Defines a global variable that will be available in all catalogs with
-the notation @@VARIABLENAME@@. Variable identifiers must begin with a
+the notation @@VARIABLE@@. Variable identifiers must begin with a
 capital letter, and can contain only word characters (B<A-Z,a-z,0-9>
-and underscore). They are case-sensitive. If using the
-ParseVariables directive, only variables in ALL CAPS will be
-parsed. These are substituted first in any Interchange page, and can
-contain any valid Interchange tags including catalog variables.
+and underscore). They are case-sensitive.
 
    Variable   DOCUMENT_ROOT   /usr/local/etc/httpd/htdocs
 
-If a variable is called with @_VARIABLE_@, and there is no catalog
-Variable with its name, the global Variable value will be inserted.
+Only variables with ALL CAPS names will be parsed in catalog pages or,
+when the ParseVariables directive is set, in catalog (not global)
+configuration directives (other than Variable itself). These are
+substituted first in any Interchange page, and can contain any valid
+Interchange tags including catalog variables. If a variable is called
+with the notation @_VARIABLE_@, and there is no catalog Variable with
+its name, the global Variable value will be inserted.
 
-There are several standard variables which should not be used:
+There are several standard variables which you should not set:
 
 =over 4
 
@@ -981,7 +998,7 @@
 
 Sets the names of variables that will be remapped to and from the URL
 when Interchange writes it. For instance, to display the variable
-mv_session_id as session in the users URL:
+mv_session_id as session in the user's URL:
 
    VarName   mv_session_id  session
 
@@ -1184,6 +1201,22 @@
 
    Autoload   [perl] $CGI->{mv_nextpage} =~ s:^private/:public/:; [/perl]
 
+You can temporarily change any of the catalog configuration settings,
+for example use a different flypage.
+
+   Autoload       <<EOA
+   [perl]
+   if ($Session->{browser} =~ /msie/i) {
+      $Config->{Special}->{flypage}='ms_flypage'};
+   }
+   [/perl]
+   EOA
+
+Please note that SpecialPage is the corresponding directive in the
+catalog configuration, not Special. This is an exceptional case.
+Usually the hash key has the same name as the catalog configuration
+directive.
+
 =head2 AutoModifier
 
 Sets an attribute in a shopping cart entry to the field of the same
@@ -1369,9 +1402,8 @@
 
 =back
 
-PGP is recommended as the encryption program, though remember that
-U.S. commercial organizations may require a license for RSA.
-Interchange will work with GPG, the Gnu Privacy Guard.
+GnuPG is recommended as the encryption program. Interchange will also
+work with PGP.
 
    CreditCardAuto     Yes
 
@@ -1648,7 +1680,7 @@
 
    ImageDirSecure   /secure/images/
 
-This is useful if using separate HTTPS and HTTP servesr, and cannot
+This is useful if using separate HTTPS and HTTP servers, and cannot
 make the image directory path heads match.
 
 =head2 Locale
@@ -1704,11 +1736,31 @@
 =head2 NoImport
 
 When set to one or more Interchange database identifiers, those
-database(s) will never be subject to import. Useful for SQL databases
-or databases that will "never" change.
+database(s) will never be subject to import. Normally, Interchange
+checks to see if each database needs to be created and populated (from
+the source text file) when the Interchange daemon is started or
+restarted, or a catalog is reconfigured.
+
+This is useful for SQL databases used by other applications besides
+Interchange, or large databases you load and back up outside of
+Interchange. With this option you can omit the source text file for
+SQL databases entirely.
 
    NoImport   inventory
 
+=head2 NoImportExternal
+
+When set to true, this directive prevents database imports for all
+"external" databases:
+
+   NoImportExternal  Yes
+
+External database types are DBI (all popular SQL databases) and LDAP.
+Internal database types are the DBM variants (GDBM, DB_File, SDBM) and
+in-memory databases.
+
+The default setting is false (databases may be imported).
+
 =head2 NonTaxableField
 
 The name of the field in the products database that is set (to 1 or
@@ -1843,9 +1895,11 @@
 
 =head2 ParseVariables
 
-Determines whether global and catalog variables will be parsed in the
-configuration file. Default is No. The foundation catalog.cfg turns
-ParseVariables on and usually expects it to be on.
+Determines whether global and catalog variables will be parsed in
+catalog configuration directives (not including the Variable directive
+itself, which never parses its settings). Applies only to variables
+with names in ALL CAPS. Default setting is No. The foundation
+catalog.cfg turns ParseVariables on and usually expects it to be on.
 
    Variable STORE_ID  topshop
    ParseVariables Yes
@@ -1905,23 +1959,6 @@
 
 =item dynamic_variables_file_only
 
-=item no_html_parse
-
-=back
-
-Disallows HTML tag parsing. This is a B<big> parser performance gain
-and is enabled in the demo catalog.
-
-When this pragma is set, you can't encapsulate Interchange tags inside
-HTML tags like this:
-
-   <P MV="if scratch something"> ... </P>
-
-Note that a page with no HTML parsing is a good place to put a DTD
-(document type descriptor).
-
-=over 4
-
 =item no_image_rewrite
 
 =back
@@ -2198,13 +2235,19 @@
 =head2 ScratchDefault
 
 The default scratch variable settings that the user will start with
-when their session is initialized. To disable placing URL rewrite
-strings after the user has given a cookie, set:
+when their session is initialized.
+
+To disable placing URL rewrite strings after the user has given a
+cookie, set:
 
    ScratchDefault  mv_no_session_id  1
    ScratchDefault  mv_no_count       1
    ScratchDefault  mv_add_dot_html   1
 
+To set the default locale:
+
+   ScratchDefault  mv_locale         de_DE
+
 =head2 ScratchDir
 
 The directory where temporary files will be written, notably cached
@@ -2348,7 +2391,7 @@
    GDBM        GDBM
 
 The default is file-based sessions, which provides the best
-performance and reliablility in most environments.
+performance and reliability in most environments.
 
 If you are planning on running Interchange servers with an NFS-mounted
 filesystem as the session target, you must set SessionType to "NFS".
@@ -2489,7 +2532,7 @@
 
    [perl]
        my $cart = $Carts->{main};
-       return sort_cart($cart);
+       return sort_cart_by_quantity($cart);
    [/perl]
 
 and will display an HTML table of the items in the current shopping
@@ -2554,6 +2597,17 @@
 
    TaxShipping         UT,NV,94024
 
+=head2 TemplateDir
+
+Sets one or more directories (separated by whitespace) which will be
+searched (in order) for pages not found in the PageDir. If a page
+is not found in directories specified here, the search continues with
+the global TemplateDir setting, if defined.
+
+   TemplateDir    /var/lib/interchange/foundation/bonus_pages
+
+This is undefined by default.
+
 =head2 TrackFile
 
 Name of a logfile that tracks user traffic. This is used in the back
@@ -2610,14 +2664,21 @@
 =head2 Variable
 
 Defines a catalog variable that will be available in the current
-catalog with the notation __Variable__. Variable identifiers must
+catalog with the notation __VARIABLE__. Variable identifiers must
 begin with a capital letter, and can contain only word characters
-(B<A-Z,a-z,0-9> and underscore). These are substituted second (right
-after global Variables) in any Interchange page, and can contain any
-valid Interchange tags except global variables.
+(B<A-Z,a-z,0-9> and underscore). They are case-sensitive.
 
    Variable   DOCUMENT_ROOT   /usr/local/etc/httpd/htdocs
 
+Only variables with ALL CAPS names will be parsed in catalog pages or,
+when the ParseVariables directive is set, in catalog configuration
+directives (other than in Variable directives themselves). These are
+substituted second (right after global Variables) in any Interchange
+page, and can contain any valid Interchange tags except global
+variables. If a variable is called with the notation @_VARIABLE_@, and
+there is no catalog Variable with its name, the global Variable value
+will be inserted.
+
 =head2 VariableDatabase
 
 The name of a database containing a field Variable which will be used
@@ -2664,6 +2725,6 @@
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.1.2.2   +89 -77    interchange/pod/icdatabase.pod


rev 2.1.2.2, prev_rev 2.1.2.1
Index: icdatabase.pod
===================================================================
RCS file: /var/cvs/interchange/pod/icdatabase.pod,v
retrieving revision 2.1.2.1
retrieving revision 2.1.2.2
diff -u -u -r2.1.2.1 -r2.1.2.2
--- icdatabase.pod	21 Nov 2001 22:17:01 -0000	2.1.2.1
+++ icdatabase.pod	6 May 2002 18:18:53 -0000	2.1.2.2
@@ -241,8 +241,7 @@
 The database of shipping options that is accessed if the
 CustomShipping directive is in use.  This is a fixed-format
 database, and must be created as specified. For more information, see
-the Shipping ITL tag in the I<Red Hat Interchange 4.8: Tag Reference
-Guide>.
+the Shipping ITL tag in the I<Interchange Tag Reference Guide>.
 
 =item salestax.asc
 
@@ -420,7 +419,7 @@
 
 =back
 
-B<Note: >The use of memory databases is not recommendeded.
+B<Note: >The use of memory databases is not recommended.
 
 =head2 Character Usage Restrictions
 
@@ -593,7 +592,7 @@
 
 Microsoft Excel is a widely-used tool to maintain Interchange
 databases, but has several problems with its standard TAB-delimited
-export, like encasing fields containing commas in quotes, generating
+export, like enclosing fields containing commas in quotes, generating
 extra carriage returns embedded in records, and not including trailing
 blank fields. To avoid problems, use a text-qualifier of none.
 
@@ -603,6 +602,25 @@
 
 This is normally used only with TAB-delimited files.
 
+=item LARGE
+
+Interchange databases containing many records can result in a
+noticeable slowdown when displayed by the UI.
+
+Set the LARGE attribute to 1 to avoid this problem:
+
+        Database transactions LARGE 1
+
+=back
+
+=over 4
+
+=item
+
+In this case the UI supplies only input boxes to search records in the
+database instead of drawing all the records from the database, sorting
+them and creating more lists.
+
 =back
 
 =head2 Dictionary Indexing With INDEX
@@ -741,8 +759,8 @@
 The file option overrides the container text and imports directly
 from a named file based in the catalog directory. To import from
 products.txt, specify file="products/products.txt". If the
-NoAbsolute directive is set to Yes in minivend.cfg, only relative
-path names will be allowed.
+NoAbsolute directive is set to Yes in interchange.cfg, only
+relative path names will be allowed.
 
 The [import ....] TEXT [/import] region may contain multiple
 records. If using NOTES mode, a separator must be used, which, by
@@ -788,7 +806,7 @@
 
    Database   products  WRITE_ALWAYS  1
 
-The default behavior of SQL datbases is equivalent to WRITE_ALWAYS,
+The default behavior of SQL databases is equivalent to WRITE_ALWAYS,
 while the default for GDBM_File, DB_File, and Memory databases is
 equivalent to:
 
@@ -798,7 +816,7 @@
 =head2 Global Databases
 
 If a database is to be available to all catalogs on the Interchange
-server, it may be defined in minivend.cfg. Any catalog running
+server, it may be defined in interchange.cfg. Any catalog running
 under that server will be able to use it. It is writable by any
 catalog unless WRITE_CONTROL is used.
 
@@ -957,7 +975,7 @@
  # Only applies if Interchange is importing from ASCII file
  # If you set a field to a numeric type, you must set the
  # NUMERIC attribute
- Database   products  COLUMN_DEF    "code=char(20) NOT NUL primary key"
+ Database   products  COLUMN_DEF    "code=char(20) NOT NULL primary key"
  Database   products  COLUMN_DEF    price=float, discount=float
  Database   products  COLUMN_DEF    author=char(40), title=char(64)
  Database   products  COLUMN_DEF    nontaxable=char(3)
@@ -984,7 +1002,7 @@
 
 An Interchange SQL database can be accessed with the same tags as any
 of the other databases can. Arbitrary SQL queries can be passed with
-the [query sql="SQL STATEMENT"] MML tag.
+the [query sql="SQL STATEMENT"] ITL tag.
 
 =head2 Importing from an ASCII File
 
@@ -1106,7 +1124,7 @@
 
 The default, a text based search, sequentially scans the lines in the
 target file. By default it returns the first field (delineated by the
-delimiter for that database, for every line matching the search
+delimiter for that database) for every line matching the search
 specification. This corresponds to the product code, which is then
 used to key specific accesses to the database.
 
@@ -1165,11 +1183,10 @@
 
 To use the Glimpse search, the Glimpse index must be built based on
 files in the ProductDir, or wherever the files to be searched will be
-located. If Interchange was installed in the default
-/usr/local/lib/minivend, the command line to build the index for
-the products file would be:
+located. If the catalog is in /var/lib/interchange/foundation, the
+command line to build the index for the products file would be:
 
-   chdir products
+   chdir /var/lib/interchange/foundation/products
    glimpseindex -b -H . products.txt
 
 There are several ways to improve search speed for large catalogs. One
@@ -1179,7 +1196,7 @@
 Glimpse:
 
    split -100 products.txt index.txt.
-   glimpseindex -H /usr/local/lib/minivend/products index.txt.*
+   glimpseindex -H /var/lib/interchange/foundation/products index.txt.*
 
 This will dramatically increase search speeds for large catalogs, at
 least if the search term is relatively unique. If it is a common
@@ -1322,14 +1339,15 @@
 
 An example:
 
-   [page scan
+   [page search="
            co=yes
            sf=title
            se=Sunflowers
            op=em
            sf=artist
            se=Van Gogh
-           op=rm          ] Sunflowers, Van Gogh [/page]
+           op=rm
+   "] Sunflowers, Van Gogh </a>
 
    [page search="
            co=yes
@@ -1348,7 +1366,7 @@
            se=1
            op=>=
            nu=1
-       "] Any in stock except Sunflowers, Van Gogh [/page]
+   "] Any in stock except Sunflowers, Van Gogh </a>
 
 Note that in the second example, nu=0 must be specified even though
 that is the default. This is to set the proper correspondence. To
@@ -1369,7 +1387,7 @@
                    op=>=
                    nu=1
                "
-       ] Any in stock except Sunflowers, Van Gogh [/page]
+       ] Any in stock except Sunflowers, Van Gogh </a>
 
 The co=yes is assumed when specifying a multiple search.
 
@@ -1383,13 +1401,12 @@
 for already-matching entries. If accesses must be made for every
 record, large searches can get quite slow.
 
-=head2 Specifying a Text-Based Search with SQL-Like Syntax
+=head2 Specifying a Text-Based Search with SQL Syntax
 
-If Jochen Wiedmann's SQL::Statement module is installed, a SQL
-syntax can be specified for the text-based search. (This is not the
-same as the SQL search, treated below separately. It would work on an
-SQL table, but only on the ASCII text source file, not on the actual
-database.)
+If the Perl SQL::Statement module is installed, SQL syntax can be
+specified for the text-based search. This is not the same as the
+external SQL database search, treated below separately. This works on
+the ASCII text source file, not on the actual database.
 
 This syntax allows this form setup:
 
@@ -1568,7 +1585,6 @@
  rr  mv_return_reference
  rs  mv_return_spec
  rx  mv_range_max
- SE  mv_raw_searchspec
  se  mv_searchspec
  sf  mv_search_field
  sg  mv_search_group
@@ -1705,7 +1721,7 @@
                    "]
    [more-list][more][/more-list]
    [search-list]
-   <A MV="page [item-code]" HREF="flypage.html">
+   [page [item-code]]
        [item-field title]<A>, by [item-field artist]
    [/search-list]
    [no-match]
@@ -1713,6 +1729,11 @@
    [/no-match]
    [/search-region]
 
+B<Note: >The [item-code] above does not need to be quoted because it
+is replaced before the [page ...] tag is interpolated. If building
+large lists, this is worth doing because unquoted tags are twice as
+fast to parse.
+
 To use the same page for search paging, make sure to set the
 sp=page parameter.
 
@@ -1797,10 +1818,10 @@
 definition (it is set with mv_search_file (fi)), the text files
 associated with the products databases will be searched, and field
 names are already available as named in the first line of the file(s).
-This is defined to be products.txt in the Interchange
-demonstrations.
+This is defined to be products.txt in the Interchange demo
+catalogs.
 
-Be Careful if using SQL! If the database is change and not exporte
+Be careful if using SQL! If the database is changed and not exported
 with [tag export products][/tag], searches will not be successful.
 
 =item Other database files
@@ -2183,18 +2204,10 @@
 
 Set by the search to indicate the total number of matches found.
 
-=item mv_search_over_msg
-
-The message that should be displayed if there is an overflow condition
-(mv_matchlimit is exceeded). Overrides the SearchOverMsg directive.
-It is cleared by Interchange if there is no overflow. Somewhat
-deprecated by match paging.
-
 =item mv_search_page
 
 The Interchange-style name of the page that should display the search
-results. Overrides the FrameSearchPage directive, and the default
-value of search.
+results. This overrides the default value of search.
 
 =item mv_searchspec
 
@@ -2264,7 +2277,7 @@
 =item mv_spelling_errors
 
 The number of spelling errors that will be tolerated. Ignored unless
-using Glimpse. For a large catalog, limit this to two.
+using Glimpse. For a large table, limit this to two.
 
 =item mv_substring_match
 
@@ -2320,9 +2333,10 @@
 [/more-list]
 [/search-region]
 
-TIP FOR MV3 PORTS: A [search-list][/search-list] must always be
-surrounded by a [search-region][/search-region] pair. This is a
-change from Interchange 3.
+Tip for catalogs upgraded from Minivend 3: A
+[search-list][/search-list] must always be surrounded by a
+[search-region][/search-region] pair. This is a change from
+Minivend 3.
 
 =over 4
 
@@ -2471,6 +2485,13 @@
 Looks something like "1-50". Make sure to insert this item between a
 [more-list] and [/more-list] element pair.
 
+=item [match-count]
+
+Replaced with the total number of matches. This tag works even on
+[query] searches where [value mv_search_match_count] isn't set
+unless the query is applied to a non-SQL database. Make sure to insert
+this item between a [more-list] and [/more-list] element pair.
+
 =item [more-list next_img* prev_img* page_img* border* border_current*]
 
 Starts the section of the search page which is only displayed if there
@@ -2575,21 +2596,14 @@
 pressed, the list is re-built to correspond to the current page. If
 there is no Next or Previous page, that link will not be shown.
 
-See the fr_resul.html or search.html files for examples. Make
-sure to insert this item between a [more-list] and [/more-list]
-element pair.
+See the search.html file for examples. Make sure to insert this
+item between a [more-list] and [/more-list] element pair.
 
 =item [process-search]
 
-Calls the search with the proper URL, including Interchange session
-tags. Used as the ACTION value for the search form.
-
-=item [process-target frame]
-
-Calls the search with the proper URL, including Interchange session
-tags. Used as the ACTION value for the search form if the results are
-to be targeted to a different window than the one set by SearchFrame
-(which is "_self" by default).
+Outputs the complete URL for a search, including Interchange session
+tags. Used as the ACTION value for the search form. This is exactly
+the same as [area search].
 
 =back
 
@@ -2896,7 +2910,7 @@
 directly as the shipping cost, or a function, determined by a single
 character at the beginning of the field:
 
-   f       Formula (MML tags OK, evaluated as   x       Multiplied by a number
+   f       Formula (ITL tags OK, evaluated as   x       Multiplied by a number
    [uA-Z]  UPS-style lookup
    m       Interchange chained cost lookup (all items summed together)
    i       Interchange chained cost lookup (items summed individually)
@@ -3450,7 +3464,7 @@
 The database field names in the user database correspond with the form
 variable names in the user session. If there is a column named
 address, when the user logs in the contents of that field will be
-placed in the form variable address, and will be availabe for
+placed in the form variable address, and will be available for
 display with [value address]. Similarly, the database value is
 available with [data table=userdb column=address key=username].
 
@@ -3574,7 +3588,7 @@
    [userdb function=login]
    [/set]
 
-   <FORM ACTION="[process-target]" METHOD=POST>
+   <FORM ACTION="[process]" METHOD=POST>
    <INPUT TYPE=hidden NAME=mv_click VALUE=Login>
    Username <INPUT NAME=mv_username SIZE=10>
    Password <INPUT NAME=mv_password SIZE=10>
@@ -3584,7 +3598,7 @@
 userdb functions. Most importantly, by default, the database table
 is set to be userdb. If another table name must be used, include a
 database=table parameter with any call to userdb. The global
-parameters (default in parens):
+parameters (default in parentheses):
 
  database          Sets user database table (userdb)
  show              Show the return value of certain functions
@@ -3971,7 +3985,7 @@
 By default, they are placed in the variable address_book. Here is a
 little snippet that builds a select box:
 
-   <FORM ACTION="[process-target]" METHOD=POST>
+   <FORM ACTION="[process]" METHOD=POST>
    [userdb function=get_shipping_names]
    [if value address_book]
    <SELECT NAME="s_nickname">
@@ -4148,21 +4162,19 @@
 =head1 Tracking and Back-End Order Entry
 
 Interchange allows the entry of orders into a system through one of
-several methods. The AsciiBackend capability allows submission of
-parameters to an external order entry script. Support for SQL allows
-the entry of orders directly into an SQL database. Orders can be
-written to an ASCII file. They can be formatted precisely for
-e-mail-based systems. The orders can be placed in a DBM file. Finally,
-embedded Perl allows completely flexible order entry, including
-real-time credit card verification and settlement.
+several methods. Orders can be written to an ASCII file or formatted
+precisely for email-based systems. Or they can go directly into an SQL
+or DBM database. Finally, embedded Perl allows completely flexible
+order entry, including real-time credit card verification and
+settlement.
 
 =head2 ASCII Backup Order Tracking
 
 If AsciiTrack is set to a legal file name (based in VendRoot unless
-it has a leading "/"). A copy of the order is saved and sent in an
-e-mail.
+it has a leading "/"), a copy of the order is saved and sent in an
+email.
 
-If the file name string begins with a pipe "|," a program will be run
+If the file name string begins with a pipe "|", a program will be run
 and the output "piped" to that program. This allows easy back-end
 entry of orders with an external program.
 
@@ -4342,7 +4354,7 @@
 
 =item encrypt_program
 
-The encryption program incantaton which should be used. Set
+The encryption program incantation which should be used. Set
 identically to the EncryptProgram directive, except that %s will be
 replaced with the pgp_key. Default is empty.
 
@@ -4626,8 +4638,8 @@
 Interchange uses the SecureURL directive to set the base URL for
 secure transactions, and the VendURL directive for normal
 non-secure transactions. Secure URLs can be enabled for forms through
-a form action of [process-target secure=1]. An individual page can
-be displayed via SSL with [page href=mvstyle_pagename secure=1]. A
+a form action of [process secure=1]. An individual page can be
+displayed via SSL with [page href=mvstyle_pagename secure=1]. A
 certain page can be set to be always secure with the AlwaysSecure
 catalog.cfg directive.
 
@@ -4674,7 +4686,7 @@
 
     perl -MCPAN -e 'install DBD::XXXXX'
 
-where XXXX is the name of your module. Some of them are:
+where XXXXX is the name of your module. Some of them are:
 
         DB2
     Informix
@@ -4826,6 +4838,6 @@
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



1.1.2.2   +202 -64   interchange/pod/Attic/icfaq.pod


rev 1.1.2.2, prev_rev 1.1.2.1
Index: icfaq.pod
===================================================================
RCS file: /var/cvs/interchange/pod/Attic/icfaq.pod,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -u -r1.1.2.1 -r1.1.2.2
--- icfaq.pod	21 Nov 2001 22:17:01 -0000	1.1.2.1
+++ icfaq.pod	6 May 2002 18:18:53 -0000	1.1.2.2
@@ -725,7 +725,7 @@
 
 You must have a .pgp or .gnupg directory in the home directory
 of the user running Interchange. It is also possible to set an
-environment variable (variously PGPPATH or GNUPGPATH) to orient the
+environment variable (variously PGPPATH or GNUPGHOME) to orient the
 program correctly.
 
 =item EncryptProgram directive set wrong
@@ -842,12 +842,11 @@
 
 This URL:
 
-   <A HREF="http://yourcatalog.com/cgi-in/yourcat/sp_offer?mv_pc=Source1">
-       Special offer!&lt;/A>
+ http://yourcatalog.com/cgi-in/yourcat/sp_offer?mv_pc=Source1
 
 will yield Source1 from the Interchange tag [data session source].
 
-The Interchange 3 idiom ?;;Source1 continues to be supported, so
+The Minivend 3 idiom ?;;Source1 continues to be supported, so
 existing partner sites should work without change.
 
 =head2 How can I send an email copy of the receipt to a user?
@@ -894,6 +893,47 @@
 
 Any questions? Read the docs about "Internationalization."
 
+=head2 How do I empty the shopping cart?
+
+Here are three examples of ways to empty/drop/clear the shopping cart
+contents.
+
+Empty shopping cart
+
+ [calc]
+        @{$Carts->{$CGI->{mv_cartname} || 'main'}} = ();
+[/calc]
+
+Empty shopping cart
+
+ [set clear_basket]
+        [calc]
+                @{$Carts->{$CGI->{mv_cartname} || 'main'}} = ();
+        [/calc]
+[/set]
+
+[button
+        text="Clear Basket"
+        src="clear_basket.gif"
+        hidetext=1
+        form=basket
+        ]
+                mv_todo=refresh
+                mv_click=clear_basket
+[/button]
+
+Erase the user session (includes shopping cart)
+
+ [button
+        text="Clear Basket"
+        src="clear_basket.gif"
+        hidetext=1
+        form=basket
+        ]
+                mv_todo=cancel
+                mv_nextpage=index
+[/button]
+
 =head1 Errors
 
 =head2 Sorting doesn't work across multiple pages.
@@ -1655,10 +1695,10 @@
 IC daemon user should have environment variables ORACLE_HOME and
 possibly NLS_LANG set.
 
-Mark Johnson (Red Hat E-Business Professional Services) wrote this
-trigger on TABLE_NAME to update the MOD_TIME column on insert or
-update. The user must have been granted the RESOURCE role to create
-triggers. Here it is:
+Mark Johnson (Red Hat Professional Services) wrote this trigger on
+TABLE_NAME to update the MOD_TIME column on insert or update. The user
+must have been granted the RESOURCE role to create triggers. Here it
+is:
 
 CREATE TRIGGER tr_modtime_for_TABLE_NAME BEFORE INSERT OR UPDATE ON
 TABLE_NAME FOR EACH ROW BEGIN
@@ -1676,6 +1716,9 @@
 
 =head1 Using Interchange with Apache
 
+Slightly modified article posted to the old minivend-users mail list.
+Minivend-users is now interchange-users.
+
  Date: Thu, 7 Sep 2000 12:08:37 -0700
 From: Bill Randle <billr@exgate.tek.com>
 To: minivend-users@minivend.com
@@ -1711,11 +1754,12 @@
     CustomLog logs/yourdomain-access_log common
     ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
     RewriteEngine On
-    RewriteRule    ^$      /cgi-bin/yourstore/index.html    [PT,L]
-    RewriteRule    ^/$     /cgi-bin/yourstore/index.html    [PT,L]
-    RewriteRule    ^/index\.html$  /cgi-bin/yourstore/index.html    [PT,L]
-    RewriteRule    ^/cgi-bin/yourstore/.*   -           [PT,L]
-    RewriteRule    ^/(.*)      /cgi-bin/yourstore/$1        [PT,L]
+    RewriteRule ^$  /cgi-bin/yourstore/index.html            [PT,L]
+    RewriteRule ^/$ /cgi-bin/yourstore/index.html            [PT,L]
+    RewriteRule ^/index\.html$ /cgi-bin/yourstore/index.html [PT,L]
+    RewriteRule ^/cgi-bin/yourstore/.* -                     [PT,L]
+    RewriteRule ^/.*images/.* -                              [PT,L]
+    RewriteRule ^/(.*) /cgi-bin/yourstore/$1                 [PT,L]
 </VirtualHost>
 
 I just did this for a client and it works quite well (as long as you're
@@ -1725,77 +1769,128 @@
 
 =head1 Perl/Interchange FAQ
 
- Date: Wed, 14 Feb 2001 10:20:18 -0600
-From: Cameron B. Prince <cameron@akopia.com>
-To: support@akopia.com
-Subject: Local Perl Install Steps
+=head2 Cameron Prince's local Perl installation how-to
+
+=over 4
 
-Hi all,
+=item 13.
 
-Here's the steps I took to install the local perl for the client who had an
-old system perl (5.004) and couldn't upgrade.
+Login as user. In this example, we'll call the user bob. Bob's home
+directory is /home/bob.
 
-This was tested on a Red Hat v5.x system as well as v7.0.
+=item 14.
 
-Cameron
+Get the perl tarball and extract it in /home/bob. (tar -xzvf
+perl-5.6.0.tar.gz)
 
+=item 15.
 
-1) Login as user. In this example, we'll call the user bob. Bob's home directory is /home/bob.
+Create a directory for the local perl. (mkdir /home/bob/local-perl)
 
-2) Get the perl tarball and extract it in /home/bob. (tar -xzvf perl-5.6.0.tar.gz)
+=item 16.
 
-3) Create a directory for the local perl. (mkdir /home/bob/local-perl)
+Compile perl.
 
-4) Compile perl.
+=over 8
 
-        A) cd perl-5.6.0
+=item 17.
 
-        B) sh Configure
+cd perl-5.6.0
 
-        C) Choose all the defaults until you get to: "Directories to use for library searches?" Here you want to enter the new local perl path, as well as the defaults. So you should enter something like: /home/bob/local-perl/lib /usr/local/lib /lib /usr/lib
+=item 18.
 
-        D) Continue choosing defaults till you get to: "Any additional ld flags (NOT including libraries)?" This should be: -L/home/bob/local-perl/lib
+sh Configure
 
-        E) Continue choosing defaults till you get to: "Installation prefix to use? (~name ok)" This should be: /home/bob/local-perl
+=item 19.
 
-        F) Choose all defaults till you get to: "Directory /home/bob/local-perl/bin doesn't exist.  Use that name anyway?" Enter y.
+Choose all the defaults until you get to: "Directories to use for
+library searches?" Here you want to enter the new local perl path, as
+well as the defaults. So you should enter something like:
+/home/bob/local-perl/lib /usr/local/lib /lib /usr/lib
 
-        G) Continue choosing defaults till you get to: "Do you want to install perl as /usr/bin/perl?" Enter n.
+=item 20.
 
-        H) Continue choosing defaults till you get to: "Directory /home/bob/local-perl/bin doesn't exist.  Use that name anyway?" Enter y.
+Continue choosing defaults till you get to: "Any additional ld flags
+(NOT including libraries)?" This should be: -L/home/bob/local-perl/lib
 
-        I) Directory /home/bob/local-perl/bin doesn't exist.  Use that name anyway? Enter y.
+=item 21.
 
-        J) Continue taking defaults till you return to a prompt.
+Continue choosing defaults till you get to: "Installation prefix to
+use? (~name ok)" This should be: /home/bob/local-perl
 
-        K) make
+=item 22.
 
-        L) make test
+Choose all defaults till you get to: "Directory
+/home/bob/local-perl/bin doesn't exist.  Use that name anyway?" Enter
+y.
 
-        M) make install
+=item 23.
 
-        O) /home/bob/local-perl/bin/perl -v
+Continue choosing defaults till you get to: "Do you want to install
+perl as /usr/bin/perl?" Enter n.
 
-                You should see: This is perl, v5.6.0
+=item 24.
 
+Continue choosing defaults till you get to: "Directory
+/home/bob/local-perl/bin doesn't exist.  Use that name anyway?" Enter
+y.
 
-5) edit /home/bob/.bash_rc
+=item 25.
 
-                Change: PATH=$PATH:$HOME/bin
-                To: PATH=/home/bob/local-perl/bin:$PATH:$HOME/bin
+Directory /home/bob/local-perl/bin doesn't exist.  Use that name
+anyway? Enter y.
 
-6) Logout and log back in.
+=item 26.
 
-7) which perl
+Continue taking defaults till you return to a prompt.
 
-                You should see: ~/local-perl/bin/perl or /home/bob/local-perl/bin/perl
+=item 27.
+
+make
+
+=item 28.
+
+make test
+
+=item 29.
+
+make install
+
+=back
 
+=item 30.
 
-8) perl -MCPAN -e 'install Bundle::Interchange'
+/home/bob/local-perl/bin/perl -v
+
+You should see: This is perl, v5.6.0
+
+=item 31.
+
+edit /home/bob/.bash_rc
+
+Change: PATH=$PATH:$HOME/bin
+
+To: PATH=/home/bob/local-perl/bin:$PATH:$HOME/bin
+
+=item 32.
+
+Logout and log back in.
+
+=item 33.
+
+which perl
+
+You should see: ~/local-perl/bin/perl or /home/bob/local-perl/bin/perl
+
+=item 34.
+
+perl -MCPAN -e 'install Bundle::Interchange'
 
 Keep running this until you see:
 
 MD5 is up to date.
+
+=back
 MIME::Base64 is up to date.
 URI is up to date.
 Net::FTP is up to date.
@@ -1813,27 +1908,70 @@
 DBI is up to date.
 Safe::Hole is up to date.
 
-You may need to get the modules via ftp and install them by hand. For instance, during the test used to create this document, I had to get URI and LWP and install by hand before everything reported that it was up to date. To do this, follow these steps:
+You may need to get the modules via ftp and install them by hand. For
+instance, during the test used to create this document, I had to get
+URI and LWP and install by hand before everything reported that it was
+up to date. To do this, follow these steps:
 
-1) ftp ftp.cpan.org
-2) cd /CPAN/modules/by-module/URI
-3) bin
-4) get URI-1.10.tar.gz
-5) quit
-6) tar -xzvf URI-1.10.tar.gz
-7) cd URI-1.10
-8) perl Makefile.pl
-9) make
-10) make test
-11) make install
+=over 4
+
+=over 8
+
+=item 35.
+
+ftp ftp.cpan.org
+
+=item 36.
+
+cd /CPAN/modules/by-module/URI
+
+=item 37.
+
+bin
+
+=item 38.
+
+get URI-1.10.tar.gz
+
+=item 39.
+
+quit
+
+=item 40.
 
-Use the same basic steps for any module not properly installed by using perl -MCPAN -e 'install Bundle::Interchange'
+tar -xzvf URI-1.10.tar.gz
+
+=item 41.
+
+cd URI-1.10
+
+=item 42.
+
+perl Makefile.pl
+
+=item 43.
+
+make
+
+=item 44.
+
+make test
+
+=item 45.
+
+make install
+
+=back
+
+=back
 
+Use the same basic steps for any module not properly installed by
+using perl -MCPAN -e 'install Bundle::Interchange'
 
-9) Install Interchange as normal.
+Now, install Interchange as normal.
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.1.2.2   +18 -30    interchange/pod/icfoundation.pod


rev 2.1.2.2, prev_rev 2.1.2.1
Index: icfoundation.pod
===================================================================
RCS file: /var/cvs/interchange/pod/icfoundation.pod,v
retrieving revision 2.1.2.1
retrieving revision 2.1.2.2
diff -u -u -r2.1.2.1 -r2.1.2.2
--- icfoundation.pod	21 Nov 2001 22:17:01 -0000	2.1.2.1
+++ icfoundation.pod	6 May 2002 18:18:53 -0000	2.1.2.2
@@ -1638,12 +1638,8 @@
 
 products.txt
 
-products.txt.category
-
 =back
 
-I<>
-
 =item *
 
 Customer data
@@ -1660,8 +1656,6 @@
 
 =back
 
-I<>
-
 =item *
 
 Transaction-related data
@@ -1680,8 +1674,6 @@
 
 =back
 
-I<>
-
 =item *
 
 Third-party relationship data
@@ -1696,8 +1688,6 @@
 
 =back
 
-I<>
-
 =item *
 
 Site administrative data
@@ -1716,7 +1706,7 @@
 
 locale.txt
 
-mv_metadata
+mv_metadata.asc
 
 route.txt
 
@@ -1726,11 +1716,9 @@
 
 =back
 
-I<>
-
 =item *
 
-Ancillary data
+Shipping and tax
 
 =over 8
 
@@ -1754,6 +1742,13 @@
 
 =back
 
+You may also see symbolic links pointing to index tables, for example
+products.category.txt linking to products.txt.10. These are
+automatically generated indexes, in this case into the products table
+to speed category searches. See I<Dictionary Indexing With INDEX> in
+the database documentation for details about auto-indexing of text
+databases.
+
 The following dictionary lists and describes each table used in the
 Foundation demo.
 
@@ -1782,8 +1777,8 @@
 =head2 access.asc
 
 Administrative access table.  This table is used by the Administration
-Tool. For more description on these fields, see the Red Hat
-Interchange Administration Tool guide.
+Tool. For more description on these fields, see the Interchange
+Administration Tool guide.
 
 B<Fields>
 
@@ -3683,14 +3678,6 @@
 
 Not Documented
 
-=head2 products.category.txt
-
-The products.category.txt table (actually a link to products.txt.10)
-is an automatically generated index into the products table to speed
-category searches.  See I<Dictionary Indexing With INDEX> in the
-database documentation for details about auto-indexing of text
-databases.
-
 =head2 route.txt
 
     code
@@ -3919,9 +3906,9 @@
 
 Inline images are placed in Interchange pages in the normal fashion
 with <IMG SRC="URL">. But since Interchange pages are served by a CGI
-program, do not use relative links. The Foundation store defines an
-image directory with the ImageDir and ImageDirSecure directives
-that automatically adjusts the image path to a set base directory.
+program, it will by default automatically rewrite relative image links
+as absolute ones based on the ImageDir and ImageDirSecure
+directives.
 
 =head1 Browser Cookies
 
@@ -3943,10 +3930,11 @@
 
 In general, it's a good idea to leave fields empty if you don't want
 to use them, instead of removing them from the database altogether.
-That way nothing in admin or demo will break.
+That way nothing in the administration interface or the Foundation
+pages will break.
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.1.2.3   +366 -422  interchange/pod/ictags.pod


rev 2.1.2.3, prev_rev 2.1.2.2
Index: ictags.pod
===================================================================
RCS file: /var/cvs/interchange/pod/ictags.pod,v
retrieving revision 2.1.2.2
retrieving revision 2.1.2.3
diff -u -u -r2.1.2.2 -r2.1.2.3
--- ictags.pod	27 Nov 2001 17:18:33 -0000	2.1.2.2
+++ ictags.pod	6 May 2002 18:18:53 -0000	2.1.2.3
@@ -100,66 +100,6 @@
 See the I<Template Parsing Order> appendix if you are modifying the
 special administrative interface pages and intend to use this syntax.
 
-=head2 HTML-Embedded
-
-As an alternative syntax, you can usually embed an Interchange tag as
-an attribute within an HTML tag. This allows some HTML editors to work
-more easily with Interchange templates (though you should consider the
-above HTML-comment-style brackets first). The following is a basic
-example of HTML-Embedded syntax:
-
-  <HTMLtag MV="tagname positional parameters" other HTML attributes>
-
-The following examples will each loop over any items in the shopping
-cart, displaying their part number, description, and price, but only
-IF there are items in the cart.
-
-=over 4
-
-=item
-
-HTML syntax:
-
-    <TABLE MV="if items">
-
-=back
-    <TR MV="item-list">
-    <TD> [item-code] </TD>
-    <TD> [item-description] </TD>
-    <TD> [item-price] </TD>
-    </TR></TABLE>
-
-=over 4
-
-=item
-
-Standard syntax:
-
-    [if items]
-
-=back
-    <TABLE>
-    [item-list]
-    <TR>
-    <TD> [item-code] </TD>
-    <TD> [item-description] </TD>
-    <TD> [item-price] </TD>
-    </TR>
-    [/item-list]</TABLE>
-    [/if]
-
-B<Note - Disabling HTML-embedded tags for performance: >
-
-Avoid the HTML-embedded usage if you can.
-
-The Foundation catalog included with Interchange disables parsing of
-the HTML-embedded syntax. This is for better performance, since it
-saves the server from checking every HTML tag for Interchange tag
-calls. This is done in the catalog by setting the pragma
-no_html_parse in catalog.cfg.
-
-
-
 =head2 I<Named vs. Positional Parameters>
 
 There are two styles of supplying parameters to a tag: named and
@@ -843,7 +783,7 @@
         [prefix-code]  [prefix-param foo]  [prefix-param bar]
     [/query]
 
-In this case, [prefix-code] and [prefix-param foo] are synonymns, for
+In this case, [prefix-code] and [prefix-param foo] are synonyms, for
 foo is the first returned parameter and becomes the code for this
 row. Another synonym is [prefix-pos 0]; and [prefix-pos 1] is the same
 as [prefix-param bar].
@@ -997,7 +937,7 @@
  new                               none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
  Has Subtags                       No
@@ -1253,7 +1193,7 @@
  select                            Builds a dropdown <SELECT> menu for the item attribute, with the default item attribute value SELECTED. The accessories tag builds a select widget by default if type is not set.
  display                           Shows the label text for *only the selected option* if called in Hash List context (e.g., within an [item-list]). Ignored otherwise (i.e., the tag will build the default <SELECT> menu).
  show                              Returns the list of possible attributes for the item (without labels or any HTML widget). For example, if sku os28044 is available in several sizes:[accessories os28044 size,show]-----------------------------------------Sm=10oz, Med=15oz*, Lg=20oz
- options                           This shows the attribute options as a newline delimimited list:[accessories os28044 size,options]-----------------------------------------SmMedLg
+ options                           This shows the attribute options as a newline delimited list:[accessories os28044 size,options]-----------------------------------------SmMedLg
  labels                            This shows the attribute option labels:[accessories os28044 size,options]-----------------------------------------10oz15oz*20oz
  radio                             Builds a radio box group for the item, with spaces separating the elements.
  radio nbsp                        Builds a radio box group for the item, with &nbsp; separating the elements.
@@ -1717,7 +1657,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -1792,7 +1732,7 @@
  secure                            No
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -1922,10 +1862,6 @@
 
     <A HREF="[area ord/basket]">Check basket</A>
 
-HTML-embedded example (disabled if no_html_parse I<Pragma> active):
-
-    <A MV="area dir/page" HREF="dir/page.html">
-
 =head2 assign
 
 Allows you to assign numeric values to preempt calculation of one or
@@ -1938,7 +1874,11 @@
 value.
 
 Warning - please be sure you understand the dependencies within the
-pricing system before using the assign tag.
+pricing system before using the assign tag. In particular, you must
+have the value mv_shipmode set to assign to shipping, and
+likewise you must set mv_handling to assign to handling. The
+salestax and subtotal settings don't require any session
+variables be set.
 
 Summary
 
@@ -1952,7 +1892,7 @@
  shipping     Assigns an override value for [shipping] tagsnone
  subtotal     Assigns an override value for [subtotal] tagsnone
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
 
@@ -2066,7 +2006,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     NA (Though the template is technically body text)
  Has Subtags                       No
@@ -2171,7 +2111,7 @@
  w_field (weighted)                weight
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
 
@@ -2323,7 +2263,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -2333,7 +2273,7 @@
 
    [bounce href if]
 ---
-   TAGRESULT
+   TAG RESULT
 
 B<ASP-like Perl call:>
 
@@ -2398,7 +2338,7 @@
 B<No attributes> (though you can break it if you set
 'interpolate=0')
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Has Subtags                       No
  Container tag                     Yes
@@ -2470,7 +2410,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -2480,7 +2420,7 @@
 
    [cart name]
 ---
-   TAGRESULT
+   TAG RESULT
 
 B<ASP-like Perl call:>
 
@@ -2541,7 +2481,7 @@
  interpolate                       Yes
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     Yes
  Has Subtags                       [Error message text]body[/Error message text]
@@ -2585,7 +2525,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
  Has Subtags                       No
@@ -2595,7 +2535,7 @@
 
    [catch ]
 ---
-   TAGRESULT
+   TAG RESULT
 
 B<ASP-like Perl call:>
 
@@ -2637,59 +2577,51 @@
 
 =head2 cgi
 
-Summary
-
-Parameters: B<name>
-
-Positional parameters in same order.
-
-Pass attribute hash as last to subroutine: B<no>
-
-Must pass named parameter interpolate=1 to cause interpolation.
-
-Invalidates cache: B<YES>
-
-Called Routine:
-
-B<ASP-like Perl call:>
+Returns the the current value of the named CGI input variable.
+HTML-escapes Interchange tags in the result for security.
 
-    $Tag->cgi(
-        {
-         name => VALUE,
-        }
-    )
+Can also set a new CGI value within the current page.
 
- OR
+Summary
 
-    $Tag->cgi($name);
     [cgi name]
+    [cgi name=cgi_var_name other_named_attributes]
 
  Parameters   Description                               Default
- name                                                   DEFAULT_VALUE
+ name         This is the name of the CGI variable whose value you want.None
 
  Attributes                        Default
+ set                               none
+ hide                              No
+ filter                            none
+ keep (with filter)                No
+ enable_html                       No
  interpolate (reparse)             No
 
- Other_Charactreristics            
- Invalidates cache                 YES
- Container tag                     No
- Has Subtags                       No
- Nests                             Yes
+ Other_Characteristics             
+ Invalidates cache                 Yes
 
 B<Tag expansion example:>
 
-   [cgi name]
+Assuming CGI variable 'foo' = 'bar',
+
+   [cgi foo]
 ---
-   TAGRESULT
+   bar
 
 B<ASP-like Perl call:>
 
-   $Tag->cgi(  { name => VALUE_name
-}, $body  );
+    $Tag->cgi( { name => var_name } );
+
+    # or if you simply want the value:
+    $CGI->{var_name};
+
+    # or:
+    $CGI::values{var_name};
 
 or similarly with positional parameters,
 
-    $Tag->cgi(name, $attribute_hash_reference, $body);
+    $Tag->cgi($name, $attribute_hash_reference);
 
 Description
 
@@ -2707,6 +2639,47 @@
 
 I<name>
 
+This is the name of the CGI variable whose value you want.
+
+I<set>
+
+You can change a value with 'set=I<new_value>'. The tag will return
+the CGI value you set unless you also set the I<hide>=1 attribute.
+
+Note that this is only available in new-style tags, for safety
+reasons.
+
+I<hide>
+
+Setting hide=1 suppresses the tag's return value, which can be
+useful with the set attribute.
+
+I<filter>
+
+See the filter tag for a list of filters.
+
+Setting 'filter="I<filter>"' modifies the named CGI variable with
+the specified filter.
+
+I<keep> (with filter)
+
+Set keep=1 if you want the tag to return a filtered result but do
+not want the filter to modify the CGI value itself in the $CGI::values
+hash.
+
+I<default>
+
+This sets a return value in case the named CGI variable is missing or
+otherwise false. The following will expand to S<"Using default":>
+
+   [cgi name=myname set=0 hide=1]
+   [cgi name=myname default="Using default"]
+
+I<enable_html>
+
+Any '<' characters will normally be converted into '&lt;' for safety
+reasons. This conversion can be disabled using 'enable_html=1'.
+
 =head2 checked
 
 Summary
@@ -2747,7 +2720,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -2757,7 +2730,7 @@
 
    [checked name value]
 ---
-   TAGRESULT
+   TAG RESULT
 
 B<ASP-like Perl call:>
 
@@ -2823,7 +2796,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -2833,7 +2806,7 @@
 
    [control name default]
 ---
-   TAGRESULT
+   TAG RESULT
 
 B<ASP-like Perl call:>
 
@@ -2936,7 +2909,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -2946,7 +2919,7 @@
 
    [control_set index]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3001,7 +2974,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -3011,7 +2984,7 @@
 
    [counter file]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3097,7 +3070,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -3107,7 +3080,7 @@
 
    [currency convert noformat]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3204,7 +3177,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -3214,7 +3187,7 @@
 
    [data table field key]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3346,7 +3319,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -3356,7 +3329,7 @@
 
    [default name default]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3416,7 +3389,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -3426,7 +3399,7 @@
 
    [description code base]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3495,7 +3468,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -3505,7 +3478,7 @@
 
    [discount code]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3622,7 +3595,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -3632,7 +3605,7 @@
 
    [dump ]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3666,7 +3639,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -3676,7 +3649,7 @@
 
    [ecml name function]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3816,7 +3789,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -3826,7 +3799,7 @@
 
    [either ]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3879,7 +3852,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -3889,7 +3862,7 @@
 
    [error name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -3935,7 +3908,7 @@
 
 I<all=1>
 
-Display all error messages, not just the one refered to by <var>. The
+Display all error messages, not just the one referred to by <var>. The
 default is only display the error message assigned to <var>.
 
 text=<optional string to embed the error message(s) in>
@@ -4026,7 +3999,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -4036,7 +4009,7 @@
 
    [export table]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4170,7 +4143,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -4180,7 +4153,7 @@
 
    [field name code]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4194,8 +4167,6 @@
 
 Description
 
-HTML example: <PARAM MV=field MV.COL=column MV.ROW=key>
-
 Expands into the value of the field I<name> for the product identified
 by I<code> as found by searching the products database. It will return
 the first entry found in the series of I<Product Files>. the products
@@ -4247,7 +4218,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -4257,7 +4228,7 @@
 
    [file name type]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4322,7 +4293,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -4332,7 +4303,7 @@
 
    [filter op]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4628,12 +4599,12 @@
  transactions Reopens the database in transactions mode if Safe.pm is not active (e.g., in a global subroutine, usertag or [perl global=1] tag). The limitation exists because it is not possible to reopen a database within Safe.pm.DEFAULT_VALUE
  type                                                   DEFAULT_VALUE
  value        The boolean value of the flag             DEFAULT_VALUE
- write        Flags the table writeable by default (or read-only if you also set the value=0 attribute)DEFAULT_VALUE
+ write        Flags the table writable by default (or read-only if you also set the value=0 attribute)DEFAULT_VALUE
 
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -4643,7 +4614,7 @@
 
    [flag type]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4725,7 +4696,7 @@
 
 I<write>
 
-Flags the table writeable by default (or read-only if you also set the
+Flags the table writable by default (or read-only if you also set the
 value=0 attribute)
 
 =head2 fly_list
@@ -4769,7 +4740,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -4779,7 +4750,7 @@
 
    [fly_list code base]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4857,7 +4828,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -4867,7 +4838,7 @@
 
    [fly_tax area]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -4908,7 +4879,7 @@
  name         The name set in the corresponding [label] tagnone
  if           Condition for goto. Should evaluate to truth value before tag is parsed.true
 
- Other_Charactreristics            
+ Other_Characteristics             
  Container tag                     No, but you use it like this:[goto name=label_name if=condition]body text[label label_name]
  Has Subtags                       [label] interpreted by goto
 
@@ -4999,7 +4970,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -5009,7 +4980,7 @@
 
    [handling mode]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5048,7 +5019,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -5058,7 +5029,7 @@
 
    [harness ]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5113,7 +5084,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -5123,7 +5094,7 @@
 
    [html_table ]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5190,7 +5161,7 @@
 
 Called Routine:
 
-Called Routine for positonal:
+Called Routine for positional:
 
 B<ASP-like Perl call:>
 
@@ -5219,7 +5190,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -5229,7 +5200,7 @@
 
    [if type term op compare]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5312,7 +5283,7 @@
 or better yet
 
     [if type=explicit compare=`
-                        $Value->{name} =~ /$Value->{b_name}/
+                        $Values->{name} =~ /$Values->{b_name}/
                         `]
         Shipping name matches billing name.
     [/if]
@@ -5403,7 +5374,7 @@
 Tests for existence of a file. Useful for placing image tags only if
 the image is present.
 
-    [if file /home/user/www/images/[item-code].gif]
+    [if type=file term="/home/user/www/images/[item-code].gif"]
     <IMG SRC="[item-code].gif">
     [/if]
 
@@ -5473,20 +5444,20 @@
 I<session>
 
 the Interchange session variables. of particular interest are
-i<login>, i<frames>, i<secure>, and i<browser>.
+I<login>, I<frames>, I<secure>, and I<browser>.
 
 I<validcc>
 
 a special case, takes the form [if validcc no type exp_date].
 evaluates to true if the supplied credit card number, type of card,
-and expiration date pass a validity test. does a luhn-10 calculation
+and expiration date pass a validity test. does a Luhn-10 calculation
 to weed out typos or phony card numbers. Uses the standard
 CreditCardAuto variables for targets if nothing else is passed.
 
 I<value>
 
 the Interchange user variables, typically set in search, control, or
-order forms. variables beginning with c<mv_> are Interchange special
+order forms. Variables beginning with mv_ are Interchange special
 values, and should be tested/used with caution.
 
 The I<field> term is the specifier for that area. For example, [if
@@ -5525,7 +5496,7 @@
     <   numeric less-than
     lt  string less-than
     !=  numeric non-equivalence
-    ne  string equivalence
+    ne  string non-equivalence
 
 Any simple perl test can be used, including some limited regex
 matching. More complex tests are best done with [if explicit].
@@ -5616,7 +5587,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -5626,7 +5597,7 @@
 
    [import table type]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5713,7 +5684,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -5723,7 +5694,7 @@
 
    [include file locale]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5754,7 +5725,7 @@
 
  Parameters   Description                               Default
  base         Alias for table                           DEFAULT_VALUE
- basefile     Database filename. Exports the table to this filename if old or missing before indexing. See also the export tag for additional relevent attributes such as delimiter type, etc.DEFAULT_VALUE
+ basefile     Database filename. Exports the table to this filename if old or missing before indexing. See also the export tag for additional relevant attributes such as delimiter type, etc.DEFAULT_VALUE
  col          alias for fields                          DEFAULT_VALUE
  columns      alias for fields                          DEFAULT_VALUE
  database     Alias for table                           DEFAULT_VALUE
@@ -5770,7 +5741,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -5780,7 +5751,7 @@
 
    [index table]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -5799,7 +5770,7 @@
 
 Database filename. Exports the table to this filename if old or
 missing before indexing. See also the export tag for additional
-relevent attributes such as delimiter type, etc.
+relevant attributes such as delimiter type, etc.
 
 I<col>
 
@@ -5886,7 +5857,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -5896,7 +5867,7 @@
 
    [item_list name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6014,7 +5985,7 @@
 will B<not> be shown. If the product's weight field is less than 1, a
 numerical 1 is output. The item will be shown, but will be the last
 item shown. (If it is an [item-list], any price for the item will
-still be added to the subtotal.) NOTE: no HTML style.
+still be added to the subtotal.)
 
 [item-modifier attribute]
 
@@ -6097,7 +6068,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
  Has Subtags                       No
@@ -6107,7 +6078,7 @@
 
    [label ]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6145,7 +6116,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -6155,7 +6126,7 @@
 
    [log file]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6278,7 +6249,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -6288,7 +6259,7 @@
 
    [loop list]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6301,10 +6272,6 @@
 
 Description
 
-HTML example:
-
-    <TABLE><TR MV="loop 1 2 3"><TD>[loop-code]</TD></TR></TABLE>
-
 Returns a string consisting of the LIST, repeated for every item in a
 comma-separated or space-separated list. Operates in the same fashion
 as the [item-list] tag, except for order-item-specific values.
@@ -6385,6 +6352,62 @@
         [on-match]</SELECT>[/on-match]
     [/loop]
 
+A nice shortcut is available when using [loop] to generate <OPTION>
+lists inside HTML <SELECT>...</SELECT> blocks, when you want the
+user's last selection to be chosen by default on subsequent page
+views. Interchange simplifies this with functions that output
+"SELECTED" (surrounded by appropriate whitespace) for an <OPTION> if a
+certain value is set to the <OPTION VALUE="...">. (It sounds more
+complicated than it really is.)
+
+For example, consider:
+
+ <select name=search_cat>
+[loop
+        search="
+                fi=cat
+                st=db
+                ra=yes
+                rf=name
+                tf=name
+                un=1
+        "
+]
+<option[selected search_cat [loop-code]>[loop-code]
+[/loop]
+</select>
+
+When the user returns to the page, their last selection will be chosen
+as the default. (Assuming the value search_cat was set after the
+search, which is normally is with standard searches.)
+
+[loop] offers the option attribute, which can give loops that parse
+faster and are easier to write. The following example is equivalent to
+the one above:
+
+ <select name=search_cat>
+[loop
+        option=search_cat
+        search="
+                fi=cat
+                st=db
+                ra=yes
+                rf=name
+                tf=name
+                un=1
+        "
+]
+<option>[loop-code]
+[/loop]
+</select>
+
+It works equally well when option values are explicitly specified:
+
+ <option value="[loop-code]">So-called "[loop-code]"
+
+See also the ictemplates documentation in the section "Checks and
+Selections."
+
 [if-loop-data table column] IF [else] ELSE [/else][/if-loop-field]
 
 Outputs the IF if the column in table is non-empty, and the ELSE
@@ -6418,7 +6441,7 @@
 Parameters are numbered from ordinal 0, with [loop-pos 0] being the
 equivalent of [loop-code].
 
-Outputs the B<IF> if the returned positional parmeter N is
+Outputs the B<IF> if the returned positional parameter N is
 non-empty, and the B<ELSE> (if any) otherwise.
 
 See [I<if-I<prefix>-pos>].
@@ -6533,7 +6556,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -6543,7 +6566,7 @@
 
    [mail to]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6609,7 +6632,7 @@
  interpolate                       No
  reparse                           No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
  Has Subtags                       <% and %>
  Container tag                     Yes
@@ -6702,7 +6725,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -6712,7 +6735,7 @@
 
    [nitems name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6808,7 +6831,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -6818,7 +6841,7 @@
 
    [options code]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -6980,7 +7003,7 @@
 
 Called Routine:
 
-Called Routine for positonal:
+Called Routine for positional:
 
 B<ASP-like Perl call:>
 
@@ -7016,7 +7039,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -7026,7 +7049,7 @@
 
    [or type term op compare]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -7069,7 +7092,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
  Has end tag                       No ([/order] is a macro for </A>)
@@ -7110,7 +7133,7 @@
 To order with a form, you set the form variable mv_order_item to
 the item-code/SKU and use the refresh S<action:>
 
-   <FORM ACTION="[process-target]" METHOD=POST>
+   <FORM ACTION="[process]" METHOD=POST>
    <INPUT TYPE=hidden  NAME="mv_todo"        VALUE="refresh">
    <INPUT TYPE=hidden  NAME="mv_order_item"  VALUE="os28044">
 
@@ -7121,7 +7144,7 @@
 
 Groups of items may be batched:
 
-   <FORM ACTION="[process-target]" METHOD=POST>
+   <FORM ACTION="[process]" METHOD=POST>
    <INPUT TYPE=hidden  NAME="mv_todo"        VALUE="refresh">
 
    <INPUT TYPE=hidden  NAME="mv_order_item"  VALUE="TK112">
@@ -7169,7 +7192,7 @@
  secure                            No
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No ([/page] is a macro for </A>)
@@ -7472,7 +7495,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
  Has Subtags                       No
  Container tag                     Yes
@@ -7520,14 +7543,6 @@
         return "Hi, $name! How do you like your $browser?
     [/perl]
 
-HTML example:
-
-    <PRE mv=perl>
-        $name    = $Values->{name};
-        $browser = $Session->{browser};
-        return "Hi, $name! How do you like your $browser?
-    </PRE>
-
 Object references are available for most Interchange tags and
 functions, as well as direct references to Interchange session and
 configuration values.
@@ -7555,7 +7570,7 @@
 
 I<tables>
 
-This should ba a whitespace-separated list of database tables you want
+This should be a whitespace-separated list of database tables you want
 to make available within the Perl code.
 
 If you wish to use database values in your Perl code, the tag must
@@ -7772,7 +7787,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -7782,7 +7797,7 @@
 
    [price code]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -7895,8 +7910,9 @@
 =head2 process
 
 This is a shortcut for the 'process' action, expanding to your catalog
-URL and session ID.  It is analogous to the area tag, but is more
-limited. The following expansion is S<illuastrative:>
+URL and session ID. It is analogous to the area tag for the
+'process' page, but is more limited. The following expansion is
+S<illustrative:>
 
    [process target=targetframe]
 ---
@@ -7911,7 +7927,7 @@
 
    <A HREF="[process target=targetframe]">...
 
-Alias:  B<process_target>
+Aliases:  B<process_target>, B<process_order>
 
 Summary
 
@@ -7925,7 +7941,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     No
 
@@ -7945,12 +7961,16 @@
 
     $Tag->process($target, $secure, $attribute_hash_reference);
 
+=head2 process_search
+
+This is an exact alias for [area search].
+
 =head2 query
 
 Passes SQL statements through to SQL databases, or allows SQL queries
 via Interchange's database abstraction into non-SQL databases and text
-files. The latter use may require Jochen Wiedmann's I<SQL Statement>
-module (included with Bundle::Interchange from CPAN).
+files. The latter requires the Perl I<SQL Statement> module (included
+with Bundle::Interchange from CPAN).
 
 Summary
 
@@ -7958,7 +7978,7 @@
     [query sql="SQL_query_text" other_named_attributes]
 
  Parameters   Description                               Default
- sql          The SQL statement.Passed directly through to an SQL database.For a non-SQL table, the tag interprets your SQL first. See Jochen Wiedmann's SQL Statement module for limitations and detail.none
+ sql          The SQL statement.Passed directly through to an SQL database.For a non-SQL table, the tag interprets your SQL first. See the SQL Statement module for limitations and detail.none
  query        Alias for sql                             none
 
  Attributes                        Default
@@ -7979,7 +7999,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     Yes
  Has subtags                       Yes
@@ -8034,10 +8054,10 @@
 
 If your table is not in an SQL database (for example, GDBM, text,
 LDAP, and in-memory tables), Interchange will internally convert it to
-an Interchange search specification with Jochen Wiedmann's I<SQL
-Statement> module (included with Bundle::Interchange from CPAN). This
-means that you can use simple SQL queries regardless of the underlying
-database implementation.
+an Interchange search specification with the Perl I<SQL Statement>
+module (included with Bundle::Interchange from CPAN). This means that
+you can use simple SQL queries regardless of the underlying database
+implementation.
 
 I<Subtags>
 
@@ -8143,7 +8163,7 @@
 I<arrayref and hashref>
 
 If you set 'arrayref=I<keyname>' or 'hashref=I<keyname>', the
-query will not ruturn results to the page. Instead, it will place the
+query will not return results to the page. Instead, it will place the
 results of your query in the $Vend::Interpolate::Tmp hash. Using
 'arrayref=my_query' sets $Vend::Interpolate::Tmp->{my_query} to
 refer to an array of array references, while 'hashref=my_query'
@@ -8160,7 +8180,8 @@
 
    $Session->{my_query} = $Vend::Interpolate::Tmp->{my_query};
 
-Beware the impact on perfomance if you do this with large result sets.
+Beware the impact on performance if you do this with large result
+sets.
 
 Technical note - the string returned by the 'textref' type will
 B<eval>() to the 'arrayref' data structure.
@@ -8339,7 +8360,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
  Container tag                     No
 
@@ -8397,7 +8418,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
  Container tag                     No
 
@@ -8478,7 +8499,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -8488,7 +8509,7 @@
 
    [row width]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -8581,7 +8602,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -8591,7 +8612,7 @@
 
    [salestax name noformat]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -8650,7 +8671,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -8660,7 +8681,7 @@
 
    [scratch name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -8700,7 +8721,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
  Container tag                     No
 
@@ -8778,7 +8799,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -8788,7 +8809,7 @@
 
    [search_region arg]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -8845,7 +8866,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -8855,7 +8876,7 @@
 
    [selected name value]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -8941,7 +8962,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -8951,7 +8972,7 @@
 
    [set name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9008,7 +9029,7 @@
  domain       Overrides the domain(s) set in CookieDomainDomain(s), if any, defined in the CookieDomain directive
  path         legal URL paths for the cookie            URL path(s) to your catalog, including aliases
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
  Container tag                     No
 
@@ -9133,7 +9154,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -9143,7 +9164,7 @@
 
    [seti name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9180,7 +9201,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     No
  Has Subtags                       No
@@ -9190,7 +9211,7 @@
 
    [setlocale ]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9289,13 +9310,13 @@
  noformat     Returns result as a number rather than a string formatted for the current locale's currency.Default: TrueDEFAULT_VALUE
  reset_messageBoolean. Blanks the session's current shipping message (i.e., $Session->{ship_message}).DEFAULT_VALUE
  reset_modes  Clears list of modes in $Vend::Cfg->{Shipping_line}Default: FalseDEFAULT_VALUE
- table        Alias: tables Whitespace-delimited list of tables containing shipping data required for perl or query calculations (e.g., in the 'PERL' field of your shipping database - see Shipping). You must specify the tables to get past the Perl 'Safe.pm' proctection. For example, you will get 'Safe' errors if you refer to an SQL table without specifying it here.Default: NoneDEFAULT_VALUE
+ table        Alias: tables Whitespace-delimited list of tables containing shipping data required for perl or query calculations (e.g., in the 'PERL' field of your shipping database - see Shipping). You must specify the tables to get past the Perl 'Safe.pm' protection. For example, you will get 'Safe' errors if you refer to an SQL table without specifying it here.Default: NoneDEFAULT_VALUE
  tables       Alias for table                           DEFAULT_VALUE
 
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -9305,7 +9326,7 @@
 
    [shipping mode]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9489,7 +9510,7 @@
 S<Alias:> B<tables> Whitespace-delimited list of tables containing
 shipping data required for perl or query calculations (I<e.g.>, in the
 'PERL' field of your shipping database - see I<Shipping>). You must
-specify the tables to get past the Perl 'I<Safe.pm>' proctection. For
+specify the tables to get past the Perl 'I<Safe.pm>' protection. For
 example, you will get 'I<Safe>' errors if you refer to an SQL table
 without specifying it here.
 
@@ -9520,7 +9541,7 @@
  Parameters   Description                 Default
  mode         Shipping mode. This is a key into the shipping.asc database. See Shipping documentation.mv_shipmode, or 'default' if mv_shipmode not set
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes, but only if no mode given
  Container tag                     No
 
@@ -9576,7 +9597,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -9586,7 +9607,7 @@
 
    [soap call uri proxy]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9621,7 +9642,7 @@
 
 No parameters.
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     Yes
  Has Subtags                       No
@@ -9677,7 +9698,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -9687,7 +9708,7 @@
 
    [subtotal name noformat]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9765,7 +9786,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -9775,7 +9796,7 @@
 
    [tag op arg]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -9947,7 +9968,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -9957,7 +9978,7 @@
 
    [time locale]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -10113,7 +10134,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -10123,7 +10144,7 @@
 
    [timed_build file]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -10176,7 +10197,7 @@
 I<if>
 
 Allows you to to only display the cached region when the if
-paremeter is true. For example, you can do:
+parameter is true. For example, you can do:
 
         [timed-build if="[value timed]"]
         ITL tags....
@@ -10261,7 +10282,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     Yes
  Has Subtags                       No
@@ -10271,7 +10292,7 @@
 
    [tmp name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -10339,7 +10360,7 @@
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -10349,7 +10370,7 @@
 
    [total_cost name noformat]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -10421,7 +10442,7 @@
  interpolate                       No
  reparse                           Yes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 no
  Container tag                     Yes
  Has Subtags                       No
@@ -10431,7 +10452,7 @@
 
    [tree table master subordinate start]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -10535,7 +10556,7 @@
         [/tree]
         </table>
 
-Accepts the following paremeters:
+Accepts the following parameters:
 
 I<table>
 
@@ -10702,7 +10723,7 @@
  interpolate           See Interpolating ParametersNo
  reparse               See Interpolating ParametersYes
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Container tag                     Yes
 
@@ -10817,13 +10838,13 @@
     [update function]
 
  Parameters   Description                               Default
- function     cartUpates current or named cart (see name attribute)processUpdates an order or a search pagevaluesUpdates user-entered fieldsdataUpdates database, using current mv_ CGI form variables, for example:mv_data_table Table to updatemv_data_key Key into tablemv_data_fields Fields to update (space or null delimited)mv_data_function One of the following:deleteupdateinsertdeleteetc.DEFAULT_VALUE
+ function     cartUpdates current or named cart (see name attribute)processUpdates an order or a search pagevaluesUpdates user-entered fieldsdataUpdates database, using current mv_ CGI form variables, for example:mv_data_table Table to updatemv_data_key Key into tablemv_data_fields Fields to update (space or null delimited)mv_data_function One of the following:deleteupdateinsertdeleteetc.DEFAULT_VALUE
  name         Cart name to update (if 'function=cart')Default: current cartDEFAULT_VALUE
 
  Attributes                        Default
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -10833,7 +10854,7 @@
 
    [update function]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -10881,7 +10902,7 @@
 
 =item *
 
-Upates current or named cart (see name attribute)
+Updates current or named cart (see name attribute)
 
 =back
 
@@ -11032,7 +11053,7 @@
  ATT1                              none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -11042,7 +11063,7 @@
 
    [userdb function]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -11083,7 +11104,7 @@
     [userdb function=login]
     [/set]
 
-    <FORM ACTION="[process-target]" METHOD=POST>
+    <FORM ACTION="[process]" METHOD=POST>
     <INPUT TYPE=hidden NAME=mv_click VALUE=Login>
     Username <INPUT NAME=mv_username SIZE=10>
     Password <INPUT NAME=mv_password SIZE=10>
@@ -11093,7 +11114,7 @@
 userdb functions. Most importantly, by default the database table
 is set to be I<userdb>. If you must use another table name, then you
 should include a database=table parameter with any call to
-userdb. The global parameters (default in parens):
+userdb. The global parameters (default in parentheses):
 
     database     Sets user database table (userdb)
     show         Show the return value of certain functions
@@ -11138,9 +11159,10 @@
  keep (with filter)                No
  scratch                           No
  default                           none
+ enable_html                       No
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 Yes
 
 B<Tag expansion example:>
@@ -11153,21 +11175,21 @@
 
 B<ASP-like Perl call:>
 
-    $Tag->value(  { name => var_name, }  );
+    $Tag->value( { name => var_name } );
 
-    # or if you simply want the value,
-    $::Values->{var_name};
+    # or if you simply want the value:
+    $Values->{var_name};
 
 or similarly with positional parameters,
 
-    $Tag->value($name$, $attribute_hash_reference);
+    $Tag->value($name, $attribute_hash_reference);
 
 Description
 
-HTML examples:
+Usage example:
 
-   <PARAM MV="value name">
    <INPUT TYPE="text" NAME="name" VALUE="[value name]">
+   <INPUT TYPE="text" NAME="name" VALUE="[value name=name]">
 
 Expands into the current value of the named customer/form input
 field. When the value is returned, any Interchange tags present in the
@@ -11193,7 +11215,7 @@
 I<hide>
 
 Setting hide=1 suppresses the tag's return value, which can be
-useful with the setset attribute.
+useful with the set attribute.
 
 I<filter>
 
@@ -11222,7 +11244,12 @@
 otherwise false. The following will expand to S<"Using default":>
 
    [value name=myname set=0 hide=1]
-   [value myname default="Using default"]
+   [value name=myname default="Using default"]
+
+I<enable_html>
+
+Any '<' characters will normally be converted into '&lt;' for safety
+reasons. This conversion can be disabled using 'enable_html=1'.
 
 =head2 value_extended
 
@@ -11259,10 +11286,10 @@
  name                                                   DEFAULT_VALUE
 
  Attributes                        Default
- ATT1                              none
+ umask                             none
  interpolate (reparse)             No
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 YES
  Container tag                     No
  Has Subtags                       No
@@ -11272,7 +11299,7 @@
 
    [value_extended name]
 ---
-   TAGRESULT
+   TODO: (tag result)
 
 B<ASP-like Perl call:>
 
@@ -11290,6 +11317,7 @@
    [value-extended
             name=formfield
             outfile=filename*
+            umask=octal*
             ascii=1*
             yes="Yes"*
             no="No"*
@@ -11297,7 +11325,8 @@
             test="isfile|length|defined"*
             index="N|N..N|*"
             file_contents=1*
-            elements=1*]
+            elements=1*
+   ]
 
 Expands into the current value of the customer/form input field named
 by field. If there are multiple elements of that variable, it will
@@ -11349,6 +11378,13 @@
 HTML space, you must use the HTTP server's Alias facilities or make
 a symbolic link.
 
+I<umask>
+
+Permission mask (in octal) to apply to the uploaded file's permission
+bits. You may want to set this to make a file world-readable, or to
+keep it from being group-readable. See the UNIX chmod(1) manpage for
+details.
+
 I<ascii>
 
 To do an auto-ASCII translation before writing the outfile, set the
@@ -11512,55 +11548,6 @@
 and [include file] will be the equivalent. You can still specify
 another value with [include file="/another/path/to/file"].
 
-=head2 InsertHTML
-
-This attribute makes HTML tag output be inserted into the containing
-tag, in effect adding an attribute=value pair (or pairs).
-
-    UserTag tagname InsertHTML   htmltag  mvtag|mvtag2|mvtagN
-
-In Interchange's standard tags, among others, the <OPTION ...> tag has
-the [selected ..] and [checked ...] tags included with them, so that
-you can do:
-
-   <INPUT TYPE=checkbox
-        MV="checked mvshipmode upsg" NAME=mv_shipmode> UPS Ground shipping
-
-to expand to this:
-
-   <INPUT TYPE=checkbox CHECKED NAME=mv_shipmode> UPS Ground shipping
-
-Providing, of course, that mv_shipmode B<is> equal to upsg. If
-you want to turn off this behavior on a per-tag basis, add the
-attribute mv.noinsert=1 to the tag on your page.
-
-=head2 InsideHTML
-
-To make a container tag be placed B<after> the containing HTML tag,
-use the InsideHTML setting.
-
-    UserTag tagname InsideHTML   htmltag  mvtag|mvtag2|mvtagN
-
-In Interchange's standard tags, the only InsideHTML tag is the
-<SELECT> tag when used with I<loop>, which causes this:
-
-   <SELECT MV="loop upsg upsb upsr" NAME=mv_shipmode>
-   <OPTION VALUE="[loop-code]"> [shipping-desc [loop-code]]
-   </SELECT>
-
-to expand to this:
-
-   <SELECT NAME=mv_shipmode>
-   [loop upsg upsb upsr]
-   <OPTION VALUE="[loop-code]"> [shipping-desc [loop-code]]
-   [/loop]
-   </SELECT>
-
-Without the InsideHTML setting, the [loop ...] would have been
-B<outside> of the select - not what you want. If you want to turn off
-this behavior on a per-tag basis, add the attribute mv.noinside=1 to
-the tag on your page.
-
 =head2 Interpolate
 
 The behavior for this attribute depends on whether the tag is a
@@ -11598,49 +11585,6 @@
 argument] instead of [usertag ARG=argument]. If not defined,
 I<Routine> is used, and Interchange will usually do the right thing.
 
-=head2 ReplaceAttr
-
-Works in concert with InsertHTML, defining a B<single> attribute which
-will be replaced in the insertion operation..
-
-  UserTag tagname ReplaceAttr  htmltag attr
-
-An example is the standard HTML <A HREF=...> tag. If you want to use
-the Interchange tag [area pagename] inside of it, then you would
-normally want to replace the HREF attribute. So the equivalent to the
-following is defined within Interchange:
-
-  UserTag  area  ReplaceAttr  a  href
-
-Causing this
-
-    <A MV="area pagename" HREF="a_test_page.html">
-
-to become
-
-    <A HREF="http://yourserver/cgi/simple/pagename?X8sl2lly;;44">
-
-when intepreted.
-
-=head2 ReplaceHTML
-
-For HTML-style tag use only. Causes the tag containing the Interchange
-tag to be stripped and the result of the tag to be inserted, for
-certain tags. For example:
-
-  UserTag company_name Routine sub { my $l = shift; return "$l: XYZ Company" }
-  UserTag company_name HasEndTag
-  UserTag company_name ReplaceHTML  b    company_name
-
-<BR> is the HTML tag, and "company_name" is the Interchange tag. At
-that point, the usage:
-
-    <B MV="company-name"> Company </B>  --->>  Company: XYZ Company
-
-Tags not in the list will not be stripped:
-
-    <I MV="company-name"> Company </I> --->>  <I>Company: XYZ Company</I>
-
 =head2 Routine
 
 An inline subroutine that will be used to process the arguments of the
@@ -11696,7 +11640,7 @@
  page         Name of page for which this bar-button is definednone
  current      Name of the current page                  Current page: MV_PAGE
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/bar-button]
@@ -11747,7 +11691,7 @@
 
 Displays content based on current page. The content between the
 [selected][/selected] tags will be displayed only if the name of the
-curent page matches the name that was passed to the page parameter
+current page matches the name that was passed to the page parameter
 (page=page-name). The default content will be displayed when there is
 no match.
 
@@ -11786,7 +11730,7 @@
  raw                               none
  zerofix                           none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/convert_date]
@@ -11870,7 +11814,7 @@
  table        Table name.                               products
  format       POSIX time format string                  %A %d %b %Y
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -11925,7 +11869,7 @@
  Parameters   Description                               Default
  nickname     Must be an existing nickname              none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -11953,7 +11897,7 @@
 Description
 
 Deletes a cart with name nickname from the user database. Basically
-the same as [userdb function=delete_cart nickname=mcart].
+the same as [userdb function=delete_cart nickname=mycart].
 
 I<nickname>
 
@@ -11983,7 +11927,7 @@
  from         Senders email address                     First address in MailOrderTo configuration variable
  extra        Additional headers to be included         none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/email]
@@ -12056,9 +12000,9 @@
 
 Summary
 
-    [email_raw]Your message incuding headers[/email_raw]
+    [email_raw]Your message including headers[/email_raw]
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/email_raw]
@@ -12122,7 +12066,7 @@
  Attributes                        Default
  strip                             none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -12176,7 +12120,7 @@
  Parameters   Description                               Default
  nickname     Must be an existing nickname.Nickname is constructed from:a name parttime modified (time the cart was saved by save_cart tag)type (c for cart, r for recurring)none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -12239,9 +12183,9 @@
 
  Parameters   Description                               Default
  nickname     Label for the cart.                       none
- recurring    Set to true if recurring. Set to false, or ommit if cart.none
+ recurring    Set to true if recurring. Set to false, or omit if cart.none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -12280,7 +12224,7 @@
 
 I<recurring>
 
-Set to true if recurring. Set to false, or simply ommit it, if it is a
+Set to true if recurring. Set to false, or simply omit it, if it is a
 cart.
 
 =head2 summary
@@ -12309,7 +12253,7 @@
  reset                             none
  total                             none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       No
@@ -12346,13 +12290,13 @@
 
 The summary tag provides you with an easy way to calculate and display
 totals. The display of the amounts is fully customizable. You can hide
-diplay, or you can show the amounts with the proper currency
+display, or you can show the amounts with the proper currency
 formatting according to the locale, or you can define your own
 formatting. Any number of summaries can be kept on a page.
 
 I<currency>
 
-The amount or total will be diplayed according to the currency
+The amount or total will be displayed according to the currency
 formatting of the current locale if this attribute is set to true (non
 blank or zero).
 
@@ -12377,7 +12321,7 @@
 
 Will erase the total(s) if set to true. Be careful tough. It will
 reset ALL totals when you have no name attribute supplied. If you have
-provided a label for the name atribute then it will only reset the
+provided a label for the name attribute then it will only reset the
 total for that particular label. All others won't be touched.
 
 I<total>
@@ -12421,7 +12365,7 @@
  td                                none
  tr                                none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/table-organize]
@@ -12607,7 +12551,7 @@
  size         Font size                                 6
  width        Width of the title bar                    500
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/title-bar]
@@ -12644,7 +12588,7 @@
 
 I<size>
 
-Determines the size of the text. Parameter shoud be set to a value
+Determines the size of the text. Parameter should be set to a value
 accepted by the HTML <font> tag size attribute.
 
 I<width>
@@ -12693,7 +12637,7 @@
  no_second                         none
  skip_empty                        none
 
- Other_Charactreristics            
+ Other_Characteristics             
  Invalidates cache                 No
  Macro                             No
  Has end tag                       [/xml-generator]
@@ -12835,7 +12779,8 @@
 
 Will dump all tables in the catalog when this attribute is set true.
 Used attributes are "toplevel_tag", "record_tag", "field_tag", and
-"skip_empty" or default values (resp. 'table', 'record', 'field').
+"skip_empty" or default values ('table', 'record', 'field'
+respectively).
 
  Output format:
     <database name="catalogname">
@@ -13141,7 +13086,7 @@
 
 =item *
 
-Within the same level, tags are proccessed in the order the appear on
+Within the same level, tags are processed in the order the appear on
 the page.
 
 =item *
@@ -13509,7 +13454,6 @@
  Abbr  Long name
  DL    mv_raw_dict_look
  MM    mv_more_matches
- SE    mv_raw_searchspec
  ac    mv_all_chars
  ar    mv_arg
  bd    mv_base_directory
@@ -13571,6 +13515,6 @@
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.2.2.2   +48 -50    interchange/pod/ictemplates.pod


rev 2.2.2.2, prev_rev 2.2.2.1
Index: ictemplates.pod
===================================================================
RCS file: /var/cvs/interchange/pod/ictemplates.pod,v
retrieving revision 2.2.2.1
retrieving revision 2.2.2.2
diff -u -u -r2.2.2.1 -r2.2.2.2
--- ictemplates.pod	21 Nov 2001 22:17:02 -0000	2.2.2.1
+++ ictemplates.pod	6 May 2002 18:18:54 -0000	2.2.2.2
@@ -52,7 +52,7 @@
 Variable substitution is a simple and often used feature of
 Interchange templates. It allows you to set a variable to a particular
 value in the F<catalog.cfg> directory. Then, by placing that variable
-name on a page, you envoke that value to be used. Before anything else
+name on a page, you invoke that value to be used. Before anything else
 is done on a template, all variable tokens are replaced by variable
 values. There are three types of variable tokens:
 
@@ -68,8 +68,8 @@
 
 For more information on how to use the Variable configuration file
 directive to set global variables in interchange.cfg and catalog
-variables in catalog.cfg, see the I<Red Hat Interchange 4.8:
-Development Guide>.
+variables in catalog.cfg, see the I<Interchange Configuration
+Guide>.
 
 =head1 Using Interchange Template Tags
 
@@ -98,7 +98,7 @@
 Most tags can accept some positional parameters. This makes parsing
 faster and is, in most cases, simpler to write.
 
-The follwoing is an example tag:
+The following is an example tag:
 
    [value name=city]
 
@@ -149,8 +149,9 @@
 
    [value name=row_value set="[calc]$row_value += 1[/calc]"]
 
-Pipes can also be used as quoting characters, but have the unique
-behavior of stripping leading and trailing whitespace. For example:
+Vertical bars can also be used as quoting characters, but have the
+unique behavior of stripping leading and trailing whitespace. For
+example:
 
        [loop list="code        field    field2  field3
        k1    A1    A2    A3
@@ -162,7 +163,7 @@
 
     [loop list=|
             k1    A1    A2    A3
-            k2    B1    B2    B3"]
+            k2    B1    B2    B3
     |]
         [loop-increment][loop-code]
     [/loop]
@@ -170,8 +171,9 @@
 How the result of the tag is displayed depends on if it is a container
 or a standalone tag. A container tag has a closing tag (for example,
 [tag] stuff [/tag]). A standalone tag has no end tag (for example,
-[area href=somepage]). [page ...] and [order ..] are B<not>
-container tags.
+[area href=somepage]). Note that [page ...] and [order ..]
+are B<not> container tags. ([/page] and [/order] are simple
+macros.)
 
 A container tag will have its output re-parsed for more Interchange
 tags by default. To inhibit this behavior, set the attribute reparse
@@ -180,15 +182,11 @@
 tag will not be re-interpreted for Interchange tag constructs (with
 some exceptions, like ([include file]).
 
-Most container tags will not have their contents interpreted before
-being passed the container text. Exceptions include [calc] ..
-[/calc] and [currency] ... [/currency]. All tags accept the
-INTERPOLATE=1 tag modifier, which causes the interpretation to take
-place. It is not necessary to interpret the contents of a [set
-variable] TAGS [/set] pair, as they might contain tags which
-should only be upon evaluating an order profile, search profile, or
-mv_click operation. If the evaluation is performed at the time a
-variable is set, use [set name=variable interpolate=1] TAGS [/set].
+Most container tags will not have their contents interpreted
+(Interchange tags parsed) before being passed the container text.
+Exceptions include calc, currency, and seti. All tags accept
+the interpolate=1 tag modifier, which causes the interpretation to
+take place.
 
 =head2 The DATA and FIELD Tags
 
@@ -199,9 +197,9 @@
 
 The following are equivalent for attribute names:
 
-   table ---> base
-   col   ---> field --> column
-   key   ---> code  --> row
+   table --> base
+   col   --> field --> column
+   key   --> code  --> row
 
 The [field ...] tag looks in any tables defined as ProductFiles, in
 that order, for the data and returns the first non-empty value. In
@@ -272,9 +270,9 @@
 order processing, the mv_click multiple variable setting facility,
 and key Interchange conditions session URL display.
 
-There are three tags that are used to set the space, [set
+There are three tags that are used to set the scratch space, [set
 name]value[/set], [seti name]value[/seti], [tmp name]value[/tmp], and
-two variations (or shortcuts).
+two tags for reading scratch space.
 
 =over 4
 
@@ -330,8 +328,8 @@
 
 =item [scratchd]
 
-The same as [scratch name], except it deletes the value. Same as
-[scratch foo][set foo][/set].
+The same as [scratch name], except it deletes the value after
+returning it. Same as [scratch foo][set foo][/set].
 
 =item [if scratch name op* compare*] yes [else] no [/else] [/if]
 
@@ -572,7 +570,7 @@
                                 The [then] [/then] is optional in most
                                 cases. If ! is prepended to the type
                                 setting, the sense is reversed and
-                                this textwill be output for a false condition.
+                                this text will be output for a false condition.
     [/then]
     [elsif type term op compare]
                                 Optional, tested when if fails.
@@ -1061,7 +1059,7 @@
 
 To show the user their name and the current time:
 
-   [perl arg=values]
+   [perl]
 
    my $string = "Hi, " . $Values->{name} ". The time is now ";
    $string .= $Tag->time();
@@ -1309,10 +1307,10 @@
         $sub->($key, @values);
     }
 
-    # Retrurn a complete array of the database (minus the key)
+    # Return a complete array of the database (minus the key)
     @values = $ref->row($key);
 
-    # Retrurn a complete hash of the database row (minus the key)
+    # Return a complete hash of the database row (minus the key)
     $hashref = $ref->row_hash($key);
 
     # Delete a record/row from the table
@@ -1540,12 +1538,6 @@
 
 =item
 
-HTML style:
-
-    <HTML MV="mvasp" MV.TABLES="products pricing">
-
-or
-
 Named parameters:
 
     [mvasp tables="products pricing"]
@@ -1640,7 +1632,7 @@
    <%
 
 It prepends the normal timestamp with user and page information. To
-supress that information, begin the message with a backslash (\).
+suppress that information, begin the message with a backslash (\).
 
         Log("\\error log entry without timestamp");
         Log('\another error log entry without timestamp');
@@ -1658,7 +1650,7 @@
 to activate them. Set the value of DebugFile to a file that will be
 written to:
 
-   DebugFile /tmp/mvdebug
+   DebugFile /tmp/icdebug
 
 =head2 Export
 
@@ -1796,18 +1788,18 @@
 appear in the database will not have to be remembered. The following
 two imports are identical in effect:
 
-    [import table=o    code: [value mv_order_number]
+    [import table=orders type=LINE continue=    code: [value mv_order_number]
     shipping_mode: [shipping-description]
     status: pending
     [/import]
 
-    [import table=orders]
+    [import table=orders type=LINE continue=NOTES]
     shipping_mode: [shipping-description]
     status: pending
     code: [value mv_order_number]
     [/import]
 
-ders]
+OTES]
 
 The code or key must always be present, and is always named code. If
 NOTES mode is not used, import the fields in the same order as they
@@ -2738,7 +2730,7 @@
 This page is displayed if the URL from the browser specifies the
 ordering of a product code which is not in the products file.
 
-=item order (ord/backet.htm)
+=item order (ord/basket.html)
 
 This page is displayed when the customer orders an item. It can
 contain any or all of the customer-entered values, but is commonly
@@ -2769,7 +2761,7 @@
 check a page for validity, set the global directive CheckHTML to the
 name of the program (don't do any output redirection). A good choice
 is the freely available program Weblint. It would be set in
-minivend.cfg with:
+interchange.cfg with:
 
    CheckHTML  /usr/local/bin/weblint -s -
 
@@ -2921,7 +2913,6 @@
    search        form-based search
    scan          path-based search
    order         order an item
-   minimate      get access to a database via MiniMate
 
 Any action can be defined with ActionMap.
 
@@ -3190,6 +3181,8 @@
 
 =back
 
+See also the ictags documentation on the [loop] tag.
+
 =head2 Integrated Image Maps
 
 Imagemaps can also be defined on forms, with the special form variable
@@ -3224,7 +3217,7 @@
 the user to order multiple items with one click, set up a form like
 this:
 
- <FORM METHOD=POST ACTION="[process-order]">
+ <FORM METHOD=POST ACTION="[process]">
 <input type=checkbox name="mv_order_item" value="M3243"> Item M3243
 <input type=checkbox name="mv_order_item" value="M3244"> Item M3244
 <input type=checkbox name="mv_order_item" value="M3245"> Item M3245
@@ -3237,7 +3230,7 @@
 
 To place a "delete" checkbox on the shopping basket display:
 
- <FORM METHOD=POST ACTION="[process-order]">
+ <FORM METHOD=POST ACTION="[process]">
 [item-list]
   <input type=checkbox name="[quantity-name]" value="0"> Delete
   Part number: [item-code]
@@ -3548,6 +3541,13 @@
 visiting that catalog, since customers can access the same catalog in
 an unlimited number of languages and currencies.
 
+=head2 Configuring the Locale
+
+It is recommended to use the ScratchDefault directive for setting
+the catalog's default locale:
+
+   ScratchDefault mv_locale de_DE
+
 =head2 Setting the Locale
 
 The locale could be set to fr_FR (French for France) in one of two
@@ -3557,8 +3557,6 @@
 
 =item [setlocale locale=locale* currency=locale* persist=1*]
 
-This tag is for new-style tags only and will not work for [old].
-
 Immediately sets the locale to locale, and will cause it to persist
 in future user pages if the persist is set to a non-zero, non-blank
 value. If the currency attribute is set, the pricing and
@@ -3646,7 +3644,7 @@
 locale is fr_FR, a page "index.fr_FR" exists, and Locale looks
 like this:
 
-   Locale fr_FR HTMLsuffix  fr_FR
+   Locale fr_FR HTMLsuffix  .fr_FR
 
 Then, the .fr_FR page will be used instead of the .html page.
 For a longer series of strings, the configuration file recognizes:
@@ -3997,6 +3995,6 @@
 
  ________________________________________
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 



2.0.2.2   +5 -5      interchange/pod/icupgrade.pod


rev 2.0.2.2, prev_rev 2.0.2.1
Index: icupgrade.pod
===================================================================
RCS file: /var/cvs/interchange/pod/icupgrade.pod,v
retrieving revision 2.0.2.1
retrieving revision 2.0.2.2
diff -u -u -r2.0.2.1 -r2.0.2.2
--- icupgrade.pod	21 Nov 2001 22:17:02 -0000	2.0.2.1
+++ icupgrade.pod	6 May 2002 18:18:54 -0000	2.0.2.2
@@ -57,7 +57,7 @@
 
 =item ROUTINES and LANG
 
-intechange.PL 1552,1579
+interchange.PL 1552,1579
 
         ROUTINES: {
                 last ROUTINES unless index($Vend::FinalPath, '/process/') == 0;
@@ -474,7 +474,7 @@
 Variable FOOTER    <pages/footer
 Variable COPYRIGHT <pages/copyright
 
-Then replace all occurences of [buttonbar 0] with __HEADER__,
+Then replace all occurrences of [buttonbar 0] with __HEADER__,
 [buttonbar 1] with __FOOTER__, etc.
 
 Note that the old header.html, footer.html, etc. contained html code,
@@ -494,7 +494,7 @@
 Random and rotate were used to place random or rotating regions on
 pages, such as banner ads.
 
-The Random durective in catalog.cfg defines the numbered HTML snippet
+The Random directive in catalog.cfg defines the numbered HTML snippet
 files, similar to buttonbars above.
 
 =back
@@ -1216,8 +1216,8 @@
 
 =item
 
-Copyright 2001 Red Hat, Inc. Freely redistributable under terms of the
-GNU General Public License.
+Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms
+of the GNU General Public License.
 
 =back