Previous | Contents | Index |
PMDF's conversion service facility may be used to process with site-supplied procedures a message so as to produce a new form of the message. Unlike either the sorts of CHARSET-CONVERSION
operations discussed above or the conversion
channel, which operate on the content of individual MIME message parts, conversion services operate on entire MIME message parts (MIME headers and content) as well as entire MIME messages. Also, unlike other CHARSET-CONVERSION
operations or conversion channel operations, conversion services are
expected to do their own MIME disassembly, decoding, re-encoding, and
reassembly.
Like other CHARSET-CONVERSION
operations, conversion services are enabled through the CHARSET-CONVERSION
mapping table. If the first probe of the CHARSET-CONVERSION
mapping table yields a "Yes
" or "Always
" keyword, then PMDF will check for the presence of a PMDF conversions file.
6 If a conversions file exists, then PMDF will look in it for an entry specifying a SERVICE-COMMAND
, and if it finds such an entry, execute it. The conversions file
entries should have the form
in-chan=channel-pattern; in-type=type-pattern; in-subtype=subtype-pattern; service-command=command |
command
string. This is the command which should be executed to perform a
service conversion (e.g., invoke a document converter). The
command must process an input file containing the message text to be
serviced and produce as output a file containing the new message text.
On OpenVMS, the command must exit with an odd-valued status code if
successful and an even-valued status code if unsuccessful. On UNIX, the
command must exit with a 0 if successful and a non-zero value otherwise.
For instance, the combination of a CHARSET-CONVERSION
table such as
CHARSET-CONVERSION IN-CHAN=bsout_*;OUT-CHAN=*;CONVERT Yes |
in-chan=bsout_*; in-type=*; in-subtype=*; service-command="@PMDF_COM:COMPRESS.COM COMPRESS 'INPUT_FILE' 'OUTPUT_FILE'" |
in-chan=bsout_*; in-type=*; in-subtype=*; service-command="/pmdf/bin/compress.sh compress $INPUT_FILE $OUTPUT_FILE" |
in-chan=bsout_*; in-type=*; in-subtype=*; service-command="c:\pmdf\bin\compress.exe %INPUT_FILE% %OUTPUT_FILE%" |
will result in all messages coming from a bsout_*
channel being compressed.
DCL symbols (OpenVMS) or environment variables (UNIX and NT) are used to pass the names of the input and output files as well as the name of a file containing the list of the message's envelope recipient addresses. The names of these environment variables are:
Variable | Usage |
---|---|
INPUT_FILE | Name of the input file to process |
OUTPUT_FILE | Name of the output file to produce |
INFO_FILE | Name of the file containing envelope recipient addresses |
INPUT_FILE
and OUTPUT_FILE
have the values a.in
and a.out
, then the following declaration on OpenVMS,
in-chan=bsout_*; in-type=*; in-subtype=*; service-command="@PMDF_COM:CONVERT.COM 'INPUT_FILE' 'OUTPUT_FILE'" |
@PMDF_COM:CONVERT.COM A.IN A.OUT |
in-chan=bsout_*; in-type=*; in-subtype=*; service-command="/pmdf/bin/convert.sh $INPUT_FILE $OUTPUT_FILE" |
/pmdf/bin/convert.sh a.in a.out |
in-chan-bsout_*; in-type=*; in-subtype=*; service-command="c:\pmdf\bin\convert.exe %INPUT_FILE% %OUTPUT_FILE%" |
c:\pmdf\bin\convert.exe a.in a.out |
6 The conversions file is located via
the
|
Previous | Next | Contents | Index |