[docs] xmldocs - docelic modified 31 files

docs at icdevgroup.org docs at icdevgroup.org
Fri Nov 18 18:15:04 EST 2005


User:      docelic
Date:      2005-11-18 23:15:04 GMT
Modified:  .        Makefile
Modified:  docbook  xmldocs.css
Modified:  glossary tax
Modified:  guides   faq.xml xmldocs.xml
Modified:  refs     CheckHTML CodeRepository CookieDomain DatabaseAuto
Modified:           DatabaseDefault ImageDir ImageDirInternal
Modified:           SocketFile
Modified:  refs/MV_EMAIL_INTERCEPT control description example notes
Modified:           synopsis
Modified:  refs/safe_data description
Modified:  refs/substitute_table_image control
Added:     files/various userdatabase.txt
Added:     glossary form-processor
Added:     refs     CreditCardAuto CustomShipping ImageAlias
Added:              ProcessPage SpecialPage UserDatabase encrypt.filter
Added:              last_non_null.filter tabbed.filter
Log:
- Markup and spelling fixes
- Reorganized FAQ a little
- Halfway done with xmldocs writing guide
- Some new docs

Revision  Changes    Path
1.76      +1 -1      xmldocs/Makefile


rev 1.76, prev_rev 1.75
Index: Makefile
===================================================================
RCS file: /var/cvs/xmldocs/Makefile,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- Makefile	20 Oct 2005 14:09:49 -0000	1.75
+++ Makefile	18 Nov 2005 23:15:00 -0000	1.76
@@ -12,7 +12,7 @@
 
 #############################################################
 # Base definitions
-SYMBOL_TYPES= pragmas vars tags confs filters orderchecks
+SYMBOL_TYPES= pragmas vars tags confs filters
 GUIDES      = iccattut programming-style upgrade faq index optimization search xmldocs
 HOWTOS      = howtos
 GLOSSARY    = glossary



1.23      +5 -1      xmldocs/docbook/xmldocs.css


rev 1.23, prev_rev 1.22
Index: xmldocs.css
===================================================================
RCS file: /var/cvs/xmldocs/docbook/xmldocs.css,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- xmldocs.css	14 Sep 2005 23:10:30 -0000	1.22
+++ xmldocs.css	18 Nov 2005 23:15:00 -0000	1.23
@@ -228,8 +228,10 @@
 	/*background-color: #f7e8e8;*/
 	padding: 4px 4px 4px 4px;
 	border-left: dashed 1px #ff8300; /*#ffd1d1;*/
-	padding-left: 8px;
+	/*border-right: dashed 1px #ff8300;*/ /*#ffd1d1;*/
 	margin: 0;
+	padding-left: 8px;
+	/*padding: 10px 0px 10px 4px;*/
 }
 
 .example .title {
@@ -242,12 +244,14 @@
 
 .example p {
 	border-left: dashed 1px #ff8300; /*#ffd1d1;*/
+	/*border-right: dashed 1px #ff8300;*/ /*#ffd1d1;*/
 	padding: 10px 0px 10px 4px;
 	margin: 0;
 }
 
 .example {
 	margin-bottom: 24px;
+	/*background-image: url(images/example-vr.png) bottom right;*/
 }
 
 .screen {



1.1                  xmldocs/files/various/userdatabase.txt


rev 1.1, prev_rev 1.0
Index: userdatabase.txt
===================================================================
code	password



1.4       +5 -5      xmldocs/glossary/tax


rev 1.4, prev_rev 1.3
Index: tax
===================================================================
RCS file: /var/cvs/xmldocs/glossary/tax,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- tax	8 Nov 2005 12:03:51 -0000	1.3
+++ tax	18 Nov 2005 23:15:00 -0000	1.4
@@ -198,11 +198,11 @@
 	<database>products</database> database is used to determine tax rate.
 	(The default option is there to be applied if the
 	<database class='field'>tax_category</database> for a product is zero
-	or unspecified.)
-	The special member <literal>mv_shipping</literal> is used to set tax rate
-	for shipping if shipping is indeed taxed. If shipping is taxed only when
-	taxable items are in the cart, use <literal>mv_shipping_when_taxable</literal> 
-	instead.
+	or unspecified.
+	The special field <literal>mv_shipping</literal> is used to set tax rate
+	for shipping, if shipping is indeed taxed. If shipping is taxed only when
+	taxable items are in the cart, then use
+	<literal>mv_shipping_when_taxable</literal> instead.)
 	</para></listitem>
 </itemizedlist>
 <!-- Move to appropriate tag's examples



1.1                  xmldocs/glossary/form-processor


<<form-processor: empty>>


1.9       +44 -42    xmldocs/guides/faq.xml


rev 1.9, prev_rev 1.8
Index: faq.xml
===================================================================
RCS file: /var/cvs/xmldocs/guides/faq.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- faq.xml	20 Oct 2005 14:09:49 -0000	1.8
+++ faq.xml	18 Nov 2005 23:15:00 -0000	1.9
@@ -6,12 +6,12 @@
 <article id='faq'>
 
 <articleinfo>
-	<title>&IC; Frequently Asked Questions (FAQ)</title>
+	<title>Interchange FAQ: Frequently Asked Questions</title>
 	<titleabbrev>faq</titleabbrev>
 
 	<copyright>
 		<year>2003</year><year>2004</year><year>2005</year>
-		<holder>&IC; Development Group</holder>
+		<holder>Interchange Development Group</holder>
 	</copyright>
 	<copyright>
 		<year>2002</year>
@@ -66,19 +66,15 @@
 How do I install Interchange?
 </para></question>
 <answer><para>
-&ICDEVGROUP; distributes &IC; in the basic format of &glos-tarball;s.
-To install &IC; this way, obtain the tarball from the &ICDL; page
-and read file &cvsfile-README;.
-</para><para>
-Besides tarballs, there are also "precompiled" packages available 
-for specific platforms. For &DEBGNU;, see file &cvsfile-README.debian;.
-For &RH; and derivatives, see file &cvsfile-README.rpm-dist;.
-</para><para>
-Finally, you can install &IC; directly out of CVS to get a copy
-of the latest code. To do so, see file &cvsfile-README.cvs;.
+&IC; pages are not kept in normal &glos-HTML; space. Instead, they are kept in
+a special directory pointed to by the &conf-PageDir; configuration directive
+(with the default of <filename>products/</filename> directory inside
+&glos-CATROOT;).
+The pages served from &conf-PageDir; are always filtered through the
+&IC; daemon before being delivered to the clients &mdash; it's one of the
+crucial things that Interchange does.
 </para>
-</answer>
-</qandaentry>
+</answer></qandaentry>
 
 <qandaentry>
 <question><para>
@@ -92,29 +88,33 @@
 <listitem><para>Wrong information given to makecat program.
 </para><para>
 This is by far the most common problem. To install a working demo,
-&IC; needs to know what the &glos-DOCROOT; is and how to run &glos-CGI;
-programs. Details of this setup are server- and site-specific, which may
-require some research.
+&IC; needs to know what the Web server &glos-DOCROOT; is and how to run
+&glos-CGI; programs. Details of this setup are server- and site-specific,
+which may require some research.
 </para><para>
-Re-run the configuration again, and pay close attention to the prompts
-given. There are examples given which apply to most systems.
+Run the <command>makecat</command> command and pay close attention to the
+prompts displayed. There are examples given which apply to most systems.
 </para><para>
 If the web server is &APACHE; or NCSA, &IC; will try and parse its
 <filename>httpd.conf</filename> file to help you along, but many ISPs
 don't allow users to
-read these and it may fail.
+read these.
 </para></listitem>
 <listitem><para>Too-low version of &PERL;.
 </para><para>
-If you have a &PERL; earlier than 5.005, &IC; will not work. Don't
+If you have a &PERL; earlier than 5.6, &IC; will not work. Don't
 even try an earlier version.
 </para></listitem>
 
 <listitem><para>&PERL; compiled with <literal>USE_THREADS</literal>.
 </para><para>
-Run <command>perl -V</command>. If you see
-<literal>-DUSE_THREADS</literal> in the compilation definition,
-you might run into problems with &IC;.
+&IC; does not work well with
+threaded &PERL; installations (it's because of the problems that the
+"threadness" causes to various Perl modules that &IC; uses).
+Run <command>perl -V:usethreads</command>; if the response is
+<literal>define</literal>, you need at least &PERL; 5.8.4 to get any
+results. Even then, we do not encourage the use of threaded Perl with &IC;
+as it causes about 30% performance penalty.
 </para></listitem>
 
 <listitem>
@@ -135,13 +135,13 @@
 as a virtual host user, it is usual to create a special
 <systemitem class='username'>interch</systemitem> user
 to run the daemon and the link program. This means the directory listing
-for your <filename>cgi-bin/</filename> directory should be something like:
+for your <filename>cgi-bin/</filename> directory should be something like
 
 <programlisting><![CDATA[
 -rwsr-xr-x   1 interchange users        6312 Dec 30 11:39 cgi-bin/simple
 ]]></programlisting>
 
-and for the socket file it should be:
+and for the socket file it should be
 
 <programlisting><![CDATA[
 srw-------   1 interchange users           0 Dec 30 11:41 etc/socket
@@ -154,7 +154,8 @@
 
 (The following assumes you have made the &IC; software owned and run by the
 special user <systemitem class='username'>interch</systemitem> and that each
-user has a &IC; catalogs directory <filename>/home/user/catalogs</filename>).
+user has a &IC; catalogs directory
+<filename>/home/<replaceable>USER</replaceable>/catalogs</filename>).
 </para><para>
 
 The best way to set permissions on a multi-user system is to make all
@@ -165,9 +166,9 @@
 group and set ownership and permissions with:
 
 <programlisting>
-$ find <replaceable>/home/user/catalogs</replaceable> -print | xargs chown <replaceable>USER</replaceable>
-$ find <replaceable>/home/user/catalogs</replaceable> -print | xargs chgrp <replaceable>USER</replaceable>
-$ find <replaceable>/home/user/catalogs</replaceable> -print | xargs chmod g+rw
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -print | xargs chown <replaceable>USER</replaceable>
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -print | xargs chgrp <replaceable>USER</replaceable>
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -print | xargs chmod g+rw
 </programlisting>
 
 For best results, set the user's default &glos-umask; to <literal>2</literal>,
@@ -182,10 +183,10 @@
 created (on most UNIX versions, anyway).
 
 <programlisting>
-$ find <replaceable>/home/user/catalogs</replaceable> -print | xargs chown <replaceable>USER</replaceable>
-$ find <replaceable>/home/user/catalogs</replaceable> -print | xargs chgrp <replaceable>interch</replaceable>
-$ find <replaceable>/home/user/catalogs</replaceable> -print | xargs chmod g+rw
-$ find <replaceable>/home/user/catalogs</replaceable> -type d -print | xargs chmod g+s
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -print | xargs chown <replaceable>USER</replaceable>
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -print | xargs chgrp <replaceable>interch</replaceable>
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -print | xargs chmod g+rw
+$ find <replaceable>/home/<replaceable>USER</replaceable>/catalogs</replaceable> -type d -print | xargs chmod g+s
 </programlisting>
 
 If you are on a virtual hosting system, the procedure varies. Making the
@@ -197,16 +198,16 @@
 </programlisting> or the like.
 If you have a
 non-standard CGI setup, as some virtual host systems do, you will need to know
-something about UNIX and the web or engage a consultant to properly set up the
+something about UNIX and the web, or engage a consultant to properly set up the
 paths. Usually switching to TLINK/INET mode is the easiest thing to do, though
-with Iserver and a few others it may take more than that.
+with Iserver and a few other hosting companies it may take more than that.
 </para><para>
 
-If you used the <literal>makecat</literal> program to build the catalog, it
+If you used the <command>makecat</command> program to build the catalog, it
 should have warned
 you if it was not able to make the link program setuid. To set the program (
 <literal>cgi-bin/<replaceable>CATALOG_NAME</replaceable></literal>) setuid,
-use the command:
+use the command
 
 <programlisting>
 $ chmod u+s cgi-bin/<replaceable>CATALOG_NAME</replaceable>
@@ -227,8 +228,9 @@
 </para>
 
 <note><para>The server should always be started by the same
-user ID which owns the suid vlink program
-(the note does not apply to TLINK/INET mode).
+user ID which owns the suid &glos-link-program;. As there is no visible
+socket file and filesystem permissions for TLINK (Inet socket) mode,
+this note applies to VLINK (Unix socket) setups only.
 </para></note>
 
 <para>
@@ -1135,7 +1137,7 @@
 </qandaentry>
 </qandadiv>
 
-<qandadiv><title>How do i....</title>
+<qandadiv><title>How do I....</title>
 
 <qandaentry>
 	<question><para>How do I get the number of items
@@ -2324,7 +2326,7 @@
         
 Line:
 
-N:Copyright 2002-2004 &IC; Development Group. Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms of the GNU General Public License.
+N:Copyright 2002-2004 Interchange Development Group. Copyright 2001-2002 Red Hat, Inc. Freely redistributable under terms of the GNU General Public License.
 -->
 
 </qandadiv>



1.14      +5 -4      xmldocs/guides/xmldocs.xml


rev 1.14, prev_rev 1.13
Index: xmldocs.xml
===================================================================
RCS file: /var/cvs/xmldocs/guides/xmldocs.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- xmldocs.xml	20 Oct 2005 14:09:50 -0000	1.13
+++ xmldocs.xml	18 Nov 2005 23:15:00 -0000	1.14
@@ -95,13 +95,14 @@
 	</para></listitem>
 	<listitem><para>
 	Instead of writing complete XML documents (those that contain XML
-	"head and tail" and would be valid if taken standalone), you only need to
+	"head and tail" and would be valid if taken standalone), in XMLDOCS 
+	you only need to
 	provide short blocks of input to predefined "slots". These slots
 	already provide all needed XML wrapping, so you can get onto writing
 	actual text right away. For example, the opening
 	<literal>&lt;para&gt;</literal> and the closing
 	<literal>&lt;/para&gt;</literal> are always part of the template, so
-	you can (and infact, must) simply omit them when filling in the
+	you can (and in fact, must) omit them when filling in the
 	documentation slots.
 	</para></listitem>
 	<listitem><para>
@@ -110,7 +111,7 @@
 	<literal><replaceable>&amp;NAME;</replaceable></literal> syntax.
 	XMLDOCS contain a ton of predefined &IC;-suitable entities, to both
 	reduce typing
-	and "formalize" the look and feel. Compare the clarity and convenience
+	and to "formalize" the look and feel. Compare the clarity and convenience
 	of the below examples:
 <screen><![CDATA[
 <!-- Generic DocBook XML way: -->
@@ -301,7 +302,7 @@
 	Symbols are a little different. In general, the symbol refentry pages
 	already contain all the fields, you only need to provide contents for
 	them. To minimize overhead, fields have some default headers and footers
-	which you then can (and, infact, must) omit from your chunks.
+	which you then can (and, in fact, must) omit from your chunks.
 	</para>
 	<para>
 	You can also create more sections that begin with the same name, and



1.4       +1 -1      xmldocs/refs/CheckHTML


rev 1.4, prev_rev 1.3
Index: CheckHTML
===================================================================
RCS file: /var/cvs/xmldocs/refs/CheckHTML,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CheckHTML	8 Dec 2004 12:39:58 -0000	1.3
+++ CheckHTML	18 Nov 2005 23:15:01 -0000	1.4
@@ -51,7 +51,7 @@
 
 __NAME__ example: Enabling CheckHTML
 <programlisting>
-CheckHTML /usr/local/bin/weblint -s -
+CheckHTML /usr/local/bin/weblint --structure --fluff -
 </programlisting>
 __END__
 



1.7       +1 -1      xmldocs/refs/CodeRepository


rev 1.7, prev_rev 1.6
Index: CodeRepository
===================================================================
RCS file: /var/cvs/xmldocs/refs/CodeRepository,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- CodeRepository	31 Oct 2005 21:56:43 -0000	1.6
+++ CodeRepository	18 Nov 2005 23:15:01 -0000	1.7
@@ -48,7 +48,7 @@
 </para><para>
 Over time, as you access pages and routines, a full set of tags
 will be developed and you can then disable &conf-AccumulateCode;.
-(In fact, &conf-AccumulateCode; is recommended for development and should 
+(In fact, &conf-AccumulateCode; is recommended only for development and should 
 really be turned off in production systems).
 __END__
 



1.2       +2 -2      xmldocs/refs/CookieDomain


rev 1.2, prev_rev 1.1
Index: CookieDomain
===================================================================
RCS file: /var/cvs/xmldocs/refs/CookieDomain,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CookieDomain	12 Aug 2005 12:41:51 -0000	1.1
+++ CookieDomain	18 Nov 2005 23:15:02 -0000	1.2
@@ -5,7 +5,7 @@
 
 __NAME__ synopsis
 <group choice='req'>
-	<arg choice='plain' rep='repeat'><replaceable>domain</replaceable></arg>
+	<arg choice='plain' rep='repeat'><replaceable>domain_name</replaceable></arg>
 </group>
 __END__
 
@@ -69,7 +69,7 @@
 
 __NAME__ example: Specifying CookieDomain
 <programlisting>
-CookieLogin .&def-domain;
+CookieDomain .&def-domain;
 </programlisting>
 __END__
 



1.6       +6 -4      xmldocs/refs/DatabaseAuto


rev 1.6, prev_rev 1.5
Index: DatabaseAuto
===================================================================
RCS file: /var/cvs/xmldocs/refs/DatabaseAuto,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DatabaseAuto	5 Nov 2005 03:46:30 -0000	1.5
+++ DatabaseAuto	18 Nov 2005 23:15:02 -0000	1.6
@@ -81,8 +81,13 @@
 glossary entry.
 </para><para>
 The <literal>schema</literal> argument to this directive can be specified to
-avoids using the &conf-DatabaseAutoIgnore; directive, which can easily ignore
+avoid using the &conf-DatabaseAutoIgnore; directive, which can easily ignore
 more tables than you really intended.
+</para><para>
+Also be aware that it is possible to make some confusing configuration mistakes
+here, if the schema you specify is not in the database user's
+<envar>SEARCH_PATH</envar>, or comes after some other schema that has tables
+with the same names.
 __END__
 
 __NAME__ example: Standard DatabaseAuto definition, a standalone example
@@ -162,9 +167,6 @@
 <programlisting>
 DatabaseAuto dbi:Pg:DBNAME USERNAME PASSWORD '' public
 </programlisting>
-Be aware that it's possible to make some confusing configuration mistakes
-here if the schema you specify is not in this database user's <literal>SEARCH_PATH</literal>,
-or comes after some other schema that has tables with the same names.
 __END__
 
 __NAME__ example: Making Interchange recognize views



1.2       +13 -12    xmldocs/refs/DatabaseDefault


rev 1.2, prev_rev 1.1
Index: DatabaseDefault
===================================================================
RCS file: /var/cvs/xmldocs/refs/DatabaseDefault,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DatabaseDefault	27 Oct 2005 20:07:00 -0000	1.1
+++ DatabaseDefault	18 Nov 2005 23:15:02 -0000	1.2
@@ -1,17 +1,18 @@
 __NAME__ purpose
-default settings for Database directives
+specify default settings for Database directives
 __END__
 
-__NAME__ example: Default username and password
-Most Interchange applications use only one SQL database. In that case
-it is handy to specify SQL username and password at once instead of 
-for each table separately.
+__NAME__ see also
+Database
+__END__
+
+__NAME__ example: Specify default SQL connection username and password
+Most &IC; applications use only one &glos-SQL; database. In that case,
+it is handy to specify the default SQL username and password once, instead of 
+repeating it for each table separately.
+Here's a possible &ccf; setting:
 <programlisting>
-Variable SQLUSER interchange
-Variable SQLPASS nevairbe
-ParseVariables Yes
-DatabaseDefault USER __SQLUSER__
-DatabaseDefault PASS __SQLPASS__
-ParseVariables No
+DatabaseDefault USER interchange
+DatabaseDefault PASS nevairbe
 </programlisting>
-__END__ 
\ No newline at end of file
+__END__ 



1.3       +1 -1      xmldocs/refs/ImageDir


rev 1.3, prev_rev 1.2
Index: ImageDir
===================================================================
RCS file: /var/cvs/xmldocs/refs/ImageDir,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ImageDir	12 Aug 2005 22:33:40 -0000	1.2
+++ ImageDir	18 Nov 2005 23:15:02 -0000	1.3
@@ -1,5 +1,5 @@
 __NAME__ purpose
-specify base location for all IMG and INPUT src= files
+specify base location for all image files
 __END__
 
 



1.2       +11 -0     xmldocs/refs/ImageDirInternal


rev 1.2, prev_rev 1.1
Index: ImageDirInternal
===================================================================
RCS file: /var/cvs/xmldocs/refs/ImageDirInternal,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ImageDirInternal	12 Aug 2005 22:33:40 -0000	1.1
+++ ImageDirInternal	18 Nov 2005 23:15:02 -0000	1.2
@@ -2,3 +2,14 @@
 (obsolete)
 __END__
 
+__NAME__ description
+The directive actually specifies value of &conf-ImageDir; directive, for cases
+when &IC;'s internal HTTP server is in use.
+</para><para>
+It must have a trailing <literal>/</literal> to work, and should always begin
+with a fully-qualified path (<literal>http://</literal>).
+__END__
+
+__NAME__ example: Specifying ImageDirInternal
+ImageDirInternal http://&def-hostname;/images/
+__END__



1.2       +4 -0      xmldocs/refs/SocketFile


rev 1.2, prev_rev 1.1
Index: SocketFile
===================================================================
RCS file: /var/cvs/xmldocs/refs/SocketFile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SocketFile	24 Dec 2004 19:02:51 -0000	1.1
+++ SocketFile	18 Nov 2005 23:15:02 -0000	1.2
@@ -23,6 +23,10 @@
 __NAME__ notes
 You would use &conf-SocketFile; in combination with the 
 <literal>vlink</literal> &glos-link-program;.
+</para><para>
+The <envar>MINIVEND_SOCKET</envar> &glos-environment; variable
+is <emphasis role='bold'>not</emphasis> honored by &IC;, contrary to
+what you can read in older &IC; documentation.
 __END__
 
 



1.1                  xmldocs/refs/CreditCardAuto


rev 1.1, prev_rev 1.0
Index: CreditCardAuto
===================================================================
__NAME__ purpose
automatically store encrypted credit card information
__END__


__NAME__ see also
EncryptProgram, PGP
__END__

__NAME__ synopsis
<group choice='req'>
	<arg choice='plain'>No</arg>
	<arg choice='plain'>Yes</arg>
</group>
__END__


__NAME__ description
The directive enables automatic encryption and saving of credit card
information.
</para><para>
The &conf-EncryptProgram; directive must be configured and working first.
__END__

__NAME__ example: Defining AllowGlobal
<programlisting>
CreditCardAuto Yes
</programlisting>
__END__




1.1                  xmldocs/refs/CustomShipping


rev 1.1, prev_rev 1.0
Index: CustomShipping
===================================================================
__NAME__ purpose
specify SQL query to use in obtaining shipping costs data
__END__


__NAME__ synopsis
<group choice='req'>
	<arg choice='plain'><replaceable>SQL_query</replaceable></arg>
</group>
__END__


__NAME__ description
The directive specifies the &glos-SQL; query to use in obtaining 
data for &glos-shipping; costs calculation.
</para><para>
The &glos-SQL; query must start with <literal>select </literal> 
(case insensitive), or the directive is ignored. If no rows are returned
from the query, an appropriate error message is issued.
__END__

__NAME__ example: Specifying CustomShipping
<programlisting>
CustomShipping select * from shipping
</programlisting>
__END__

__NAME__ missing
Overview the text, see if it's OK
Make real-world example
Make shipping.txt database to supplement the example
__END__




1.1                  xmldocs/refs/ImageAlias


rev 1.1, prev_rev 1.0
Index: ImageAlias
===================================================================
__NAME__ purpose
specify alias location for all image files
__END__


__NAME__ see also
ImageDir, ImageDirSecure, no_image_rewrite
__END__


__NAME__ synopsis
	<arg choice='req'>
		<replaceable>alias_location</replaceable>
		<replaceable>real_location</replaceable>
	</arg>
__END__


__NAME__ description
The directive specifies an alias for the base images location, which is
set by &conf-ImageDir; and related directives.
</para><para>
It is similar in effect to the "alias" feature of Web servers such as 
&APACHE; or NCSA. 
__END__

__NAME_ notes
The directive can be useful in making &IC; pages editable with
&glos-HTML; editors.
__END__

__NAME__ example: Setting ImageAlias
<programlisting>
ImageAlias /images/ /tutorial/tutorial-images/
</programlisting>
__END__




1.1                  xmldocs/refs/ProcessPage


rev 1.1, prev_rev 1.0
Index: ProcessPage
===================================================================
__NAME__ purpose
specify "virtual" location of the form processor page
__END__


__NAME__ synopsis
<group choice='req'>
	<arg choice='plain'>page_name</arg>
</group>
__END__


__NAME__ description
The directive specifies the name of the <literal>process</literal> page
(the &IC; &glos-form-processor; page). The process page does not really
exist on the disk &mdash; it is defined as an &conf-ActionMap;.
__END__

__NAME__ notes
The default of <literal>process</literal> satisfies most needs and
should rarely be changed.
__END__

__NAME__ example: Setting ProcessPage
<programlisting>
ProcessPage proc
</programlisting>
__END__




1.1                  xmldocs/refs/SpecialPage


rev 1.1, prev_rev 1.0
Index: SpecialPage
===================================================================
__NAME__ purpose
specify location of special pages
__END__


__NAME__ synopsis
<arg choice='req'>
	<replaceable>type</replaceable>
	<replaceable>filename</replaceable>
</arg>
__END__


__NAME__ description
Specify custom values for Interchange &glos-special; pages.
</para><para>
Valid types are:
<itemizedlist>
	<listitem><para>
	<literal>badsearch</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>canceled</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>catalog</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>failed</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>flypage</literal> &mdash; 

	Defaults to <literal>flypage</literal>.
	</para></listitem>
	<listitem><para>
	<literal>interact</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>missing</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>needfield</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>order</literal> &mdash; 

	Defaults to <literal>ord/basket</literal>.
	</para></listitem>
	<listitem><para>
	<literal>put_handler</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>receipt</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
	<listitem><para>
	<literal>results</literal> &mdash; 

	Defaults to <literal>results</literal>.
	</para></listitem>
	<listitem><para>
	<literal>salestax.asc</literal> &mdash; 

	Defaults to <literal>salestax.asc</literal>.
	</para></listitem>
	<listitem><para>
	<literal>search</literal> &mdash; 

	Defaults to <literal>results</literal>.
	</para></listitem>
	<listitem><para>
	<literal>shipping.asc</literal> &mdash; 

	Defaults to <literal>shipping.asc</literal>.
	</para></listitem>
	<listitem><para>
	<literal>violation</literal> &mdash; 

	Defaults to <literal></literal>.
	</para></listitem>
</itemizedlist>
__END__

__NAME__ example: Setting SpecialPages
<programlisting>
SpecialPage  catalog        index
SpecialPage  violation      special/violation
SpecialPage  put_handler    admin_publish
SpecialPage  receipt        ../etc/receipt
SpecialPage  badsearch      special/badsearch
SpecialPage  catalog        test
SpecialPage  canceled       special/canceled
SpecialPage  failed         special/failed
SpecialPage  interact       special/interact
SpecialPage  missing        special/missing
SpecialPage  needfield      special/needfield
SpecialPage  order          ord/basket
SpecialPage  search         results
SpecialPage  violation      special/violation
</programlisting>
__END__

__NAME__ see also
DirectoryIndex
__END__



1.1                  xmldocs/refs/UserDatabase


rev 1.1, prev_rev 1.0
Index: UserDatabase
===================================================================
__NAME__ purpose
specify name of the database to use for client verification
__END__


__NAME__ see also
Database,UserDB
__END__


__NAME__ synopsis
<arg choice='req'><replaceable>database_name</replaceable></arg>
__END__


__NAME__ description
__END__


__NAME__ notes
__END__

__NAME__ example: UserDatabase layout
<programlisting>
<xi:include parse='text'  href='../files/various/userdatabase.txt'/>
</programlisting>
The database can be downloaded 
<ulink url='files/various/userdatabase.txt'>verbatim</ulink>.
__END__

__NAME__ example: Specifying UserDatabase
<programlisting>
Database      userdatabase  userdatabase.txt  TAB
UserDatabase  userdatabase
</programlisting>
__END__




1.1                  xmldocs/refs/encrypt.filter


rev 1.1, prev_rev 1.0
Index: encrypt.filter
===================================================================
__NAME__ purpose
PGP-encrypt input
__END__

__NAME__ description
The filter PGP-encrypts the provided input.
__END__


__NAME__ see also
PGP, EncryptProgram
__END__


__NAME__ online: Filter example
<programlisting>
[filter encrypt.KEY]Secret phrase or a credit card number[filter]
</programlisting>
__END__

TODO Standalone example



1.1                  xmldocs/refs/last_non_null.filter


rev 1.1, prev_rev 1.0
Index: last_non_null.filter
===================================================================
__NAME__ purpose
return last non-null entry from an input consisting of null-separated fields
__END__

__NAME__ description
The filter splits the input on a null character (<literal>\0</literal>)
and returns the last non-null entry.
__END__


__NAME__ see also
__END__


__NAME__ online: Filter example
<programlisting><![CDATA[
[perl]
  $Tag->filter({
    op   => 'last_non_null',
    body => "One\0Two\0Three\0\0\0"
  });
[/perl]
]]></programlisting>
__END__




1.1                  xmldocs/refs/tabbed.filter


rev 1.1, prev_rev 1.0
Index: tabbed.filter
===================================================================
__NAME__ purpose
replace newlines in input with TAB characters
__END__

__NAME__ description
The filter replaces all occurrences of a newline in the input
with a TAB character.
</para><para>
Windows-style newlines (<literal>\r\n</literal>) are supported. 
"Compression" is not done &mdash; each newline is replaced by one
TAB.
__END__

__NAME__ online: Filter example
<programlisting><![CDATA[
[filter tabbed]
One
Two
Three
[/filter]
]]></programlisting>
__END__




1.2       +1 -2      xmldocs/refs/MV_EMAIL_INTERCEPT/control


rev 1.2, prev_rev 1.1
Index: control
===================================================================
RCS file: /var/cvs/xmldocs/refs/MV_EMAIL_INTERCEPT/control,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- control	3 Nov 2005 06:36:47 -0000	1.1
+++ control	18 Nov 2005 23:15:03 -0000	1.2
@@ -1,2 +1 @@
-purpose: intercept all outgoing email and instead send to this address
-default: undefined
+purpose: intercept all outgoing email and redirect it to the specified address



1.2       +10 -8     xmldocs/refs/MV_EMAIL_INTERCEPT/description


rev 1.2, prev_rev 1.1
Index: description
===================================================================
RCS file: /var/cvs/xmldocs/refs/MV_EMAIL_INTERCEPT/description,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- description	3 Nov 2005 06:36:47 -0000	1.1
+++ description	18 Nov 2005 23:15:03 -0000	1.2
@@ -1,9 +1,11 @@
-Intercept all outgoing email and instead send it to the address
-(or addresses, comma-separated) defined in this global or catalog
-variable. This is primarily intended to allow developers to write
-functions that send email and test them without worrying about
-accidentally sending mail to end-users.
+If defined, the &glos-variable; causes
+all outgoing e-mail to be intercepted, and sent to a specified 
+address or comma-separated addresses.
 </para><para>
-Headers in the form <literal>X-Intercepted-To:</literal> etc. are added to
-show what the original destination of the mail was, and the interception
-is also noted in the catalog error log.
+This feature is intended to allow developers to write and test
+functions that send e-mail, without worrying about
+accidentally sending mail to end users.
+</para><para>
+A header in the form of <literal>X-Intercepted-To:</literal> is inserted 
+in the message to show the original destination. At the same time,
+he interception is also noted in the &glos-catalog; error log file.



1.2       +3 -3      xmldocs/refs/MV_EMAIL_INTERCEPT/example


rev 1.2, prev_rev 1.1
Index: example
===================================================================
RCS file: /var/cvs/xmldocs/refs/MV_EMAIL_INTERCEPT/example,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- example	3 Nov 2005 06:36:47 -0000	1.1
+++ example	18 Nov 2005 23:15:03 -0000	1.2
@@ -1,15 +1,15 @@
 <example>
 
 <title>
-Setting MV_EMAIL_INTERCEPT to "user at example.com"
+Setting MV_EMAIL_INTERCEPT to "root@&def-domain;"
 </title>
 
 <para>
-Set the following in <filename>interchange.cfg</filename> or <filename>catalog.cfg</filename>:
+Set the following in &gcf; or &ccf;:
 </para>
 
 <programlisting><![CDATA[
-Variable MV_EMAIL_INTERCEPT user at example.com
+Variable MV_EMAIL_INTERCEPT root at mydomain.local
 ]]></programlisting>
 
 </example>



1.3       +14 -10    xmldocs/refs/MV_EMAIL_INTERCEPT/notes


rev 1.3, prev_rev 1.2
Index: notes
===================================================================
RCS file: /var/cvs/xmldocs/refs/MV_EMAIL_INTERCEPT/notes,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- notes	5 Nov 2005 03:49:20 -0000	1.2
+++ notes	18 Nov 2005 23:15:03 -0000	1.3
@@ -1,12 +1,16 @@
-Note that this only works for Interchange's built-in routines for sending
-email. If you use other methods to send mail, for example by directly
-running sendmail or talking to an SMTP server, you'll have to add
-interception support yourself.
+Note that this only works for &IC;'s built-in e-mail sending
+routines. If you use other methods to send e-mail, for example by directly
+running <command>sendmail</command> or talking to an &glos-SMTP; server
+you'll have to add implement support yourself.
 </para><para>
 Be aware that this setting can mask certain programming errors. For
-example, trying to send an email without a To address normally results
-in an error. But with email interception, a valid To address is actually
-used, so no error results. Before switching off interception, the only
-way to know you have a problem is by checking the X-Intercepted-To:
-header and noticing it's empty, or by looking at the catalog error log
-and seeing that an empty To: header was intercepted.
+example, trying to send an e-mail without a
+<literal>To:</literal> address would normally result
+in an error. With email interception, however, a valid
+<literal>To:</literal> address would be used, and seemingly work as
+expected. Before switching off the interception, the only
+way to know whether you did everything right is to check the
+<literal>X-Intercepted-To:</literal>
+header and verify its correctness. Probably even easier, you should
+just monitor error log files as the original e-mail destination is
+reported there as well.



1.2       +1 -3      xmldocs/refs/MV_EMAIL_INTERCEPT/synopsis


rev 1.2, prev_rev 1.1
Index: synopsis
===================================================================
RCS file: /var/cvs/xmldocs/refs/MV_EMAIL_INTERCEPT/synopsis,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- synopsis	3 Nov 2005 06:36:47 -0000	1.1
+++ synopsis	18 Nov 2005 23:15:03 -0000	1.2
@@ -1,3 +1 @@
-  <group choice='req'>
-    <arg choice='plain'><replaceable>email address</replaceable></arg>
-  </group>
+<arg choice='req'><replaceable>email_address</replaceable></arg>



1.10      +2 -2      xmldocs/refs/safe_data/description


rev 1.10, prev_rev 1.9
Index: description
===================================================================
RCS file: /var/cvs/xmldocs/refs/safe_data/description,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- description	4 Dec 2004 22:47:24 -0000	1.9
+++ description	18 Nov 2005 23:15:03 -0000	1.10
@@ -1,9 +1,9 @@
-By default, Interchange does not allow data returned from the databases to be &glos-interpolate;d (all the &#91;s are converted to an &glos-HTML; entity (&amp;#91;) and displayed literally). Setting this pragma eliminates the restriction and passes &#91;s through for interpolation).
+By default, Interchange does not allow data returned from the databases to be &glos-interpolate;d (all the &#91;s are converted to an &glos-HTML; entity &amp;#91; and displayed literally). Setting this pragma eliminates the restriction and passes &#91;s through for interpolation.
 </para><para>
 If you want to have tags in your database and display them in Interchange pages (to say, display <tag>page</tag> links for internal hyperlinks in your product descriptions), you need to enable this pragma.
 Some things to consider, though:
 </para><para>
-It might be better to use the <option>safe_data</option> attribute available to certain tags, or perhaps the <tag>pragma</tag> for a whole page or <tag>tag pragma safe_data</tag><tag>/tag</tag> for a small block of ITL code on a page, instead of setting a catalog-wide <pragma>safe_data</pragma> pragma.
+It might be better to use the <option>safe_data</option> attribute available to certain tags, or perhaps the <tag>pragma</tag> for a whole page or <tag>tag pragma safe_data</tag><tag>/tag</tag> for a small block of &glos-ITL; code on a page, instead of setting a catalog-wide <pragma>safe_data</pragma> pragma.
 </para><para>
 In any case, it is strongly recommended that you surround the area in a <tag>restrict</tag> tag to only allow specific set of tags to appear "in-band" (which should be relatively safe), such as <tag>page</tag> or <tag>area</tag>. Expect security compromises if you allow <tag>calc</tag>, <tag>perl</tag> or any other extremely powerful tags.
 </para><para>



1.7       +1 -1      xmldocs/refs/substitute_table_image/control


rev 1.7, prev_rev 1.6
Index: control
===================================================================
RCS file: /var/cvs/xmldocs/refs/substitute_table_image/control,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- control	1 Oct 2004 21:04:41 -0000	1.6
+++ control	18 Nov 2005 23:15:04 -0000	1.7
@@ -1,4 +1,4 @@
-purpose: substitute background image paths in HTML table elements
+purpose: (obsolete) substitute background image paths in HTML table elements
 default: <literal>0</literal>
 see also: no_image_rewrite, ImageDir, ImageSecureDir
 author: &racke;, &ICDEVGROUP;








More information about the docs mailing list