FAQ for RPM filter process, running programs from RPM

  RPMExcelliPrintINTELLIscribeLicensingAS/400DevicesFilterLogging

When I first scoped out the capabilities of RPM Remote Print Manager® ("RPM"), I planned text print, raw print, and the filter for program execution. The program option was based on an earlier experience where having a program to translate a file from one format to another made it printable in my environment. In Unix, these were "filters".

A common use for a filter is to transform the print job from one format to another, perhaps plaintext or the nroff markup language into PostScript. Another typical use we find in RPM is to inject a print job into a database. Obviously, that's the work of a custom program.

History of the Filter

What we call a "filter" is just a program.

What programs are candidates to be RPM filters

Not every program would be a good candidate to run as an RPM filter

Basic filter program setup

Let’s walk through the steps involved in creating a filter action with a simple program that takes its input and output arguments on the command line, runs, and exits cleanly.

About standard output

Don’t I need stdin and stdout? My program has both input and output 

About standard input

We talked about standard output, but what is standard input

What "Launch as a Shell Program" is about

Note: "launch as shell program" is no longer supported under the newest versions of RPM.

What "Idle timeout" is about

Once in a while, we run into a vendor program with behavior that is a little puzzling. The program finishes but waits for user input to exit. 

Detailed command line options

Let’s take a closer look at the Arguments field in the filter setup. 

How RPM quotes arguments on the command line

When RPM executes your command, it passes the command line to Windows as a string. You need to know how some arguments are treated as a single entity using quotes.

Doing a command line test of your filter program

Let’s say you are not getting the results from your filter action that you expect. This article will help you test interactively

Running 32-bit programs in a 64-bit environment

If you are running the 32-bit RPM on 64-bit Windows, you may run into problems. 

Differences between the system account and a desktop user

RPM runs as a system service and by default, it uses the Windows system account

Migrating your filter program to a new server

One of the problems customers report to us with alarming frequency is that when they migrate their RPM configuration to a new system, the filters don’t seem to work at all. 

Suggestions for troubleshooting

At the bottom of the filter setup form is the error handling setting.