[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 — 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><para></literal> and the closing
<literal></para></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>&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 — 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> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>canceled</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>catalog</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>failed</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>flypage</literal> —
Defaults to <literal>flypage</literal>.
</para></listitem>
<listitem><para>
<literal>interact</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>missing</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>needfield</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>order</literal> —
Defaults to <literal>ord/basket</literal>.
</para></listitem>
<listitem><para>
<literal>put_handler</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>receipt</literal> —
Defaults to <literal></literal>.
</para></listitem>
<listitem><para>
<literal>results</literal> —
Defaults to <literal>results</literal>.
</para></listitem>
<listitem><para>
<literal>salestax.asc</literal> —
Defaults to <literal>salestax.asc</literal>.
</para></listitem>
<listitem><para>
<literal>search</literal> —
Defaults to <literal>results</literal>.
</para></listitem>
<listitem><para>
<literal>shipping.asc</literal> —
Defaults to <literal>shipping.asc</literal>.
</para></listitem>
<listitem><para>
<literal>violation</literal> —
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 — 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 [s are converted to an &glos-HTML; entity (&#91;) and displayed literally). Setting this pragma eliminates the restriction and passes [s through for interpolation).
+By default, Interchange does not allow data returned from the databases to be &glos-interpolate;d (all the [s are converted to an &glos-HTML; entity &#91; and displayed literally). Setting this pragma eliminates the restriction and passes [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