Job Processing Updates in RPM 6.2

After your print job arrives with RPM Remote Print Manager® ("RPM") it is scheduled to process. We made a number of improvements and fixes to print job processing.

Transforms execution update

We did a major rework on the way transforms are processed, if the queue has more than one active action, or if the job has copies. The processing is now much more reliable, and in some instances much faster (although correctness and completeness are always the goals). If you had a situation with errors like "empty result from transforms" then you probably need this update.

Intel CPU bug

In light of the widely reported Intel CPU bugs, RPM now explicitly zeroes decrypted password fields immediately after using them, rather than merely letting them pop off the execution stack, just in case that makes some difference. We suspect it does not.

Data extraction updates

  • You can now use values from data extraction in the command line for filter actions and filter transforms
  • The text banner transform now supports data extraction
  • If you search for multiple patterns, the earlier iteration of data transform would concatenate those values and return them in the data field you specified.  This functionality is restored.
  • The data extraction transform now properly initializes all the fields you intend to look for, so if the value you want is not found, the field will be empty rather than uninitialized
  • Fixed a problem with positional search in data extraction when jobs have blank lines, it was throwing off the line numbering.

PCL5 update

In the transform that generates PCL5, we added a PJL command for the job name to the existing command to display the job name on the printer status window; and the “ENTER LANGUAGE” command to help distinguish from PCLXL

PCL Resource updates

  • Added support for “copies” to the PCL Resource transform
  • Added support for PCLXL to the PCL Resource transform

Performance stats

Added performance statistics for actions and transforms to the “report.txt” file RPM generates on each run. This file can be found in the install folder.

Non-ASCII job names

We solved a problem where a job name with non-ASCII characters was not being added, or displayed in the UI, or processed correctly.

Line length problem

We discovered that the "text to text markup" transform, which is essential to many processing schemes, was calculating the line length incorrectly if the line contained overstrikes.

String translate problems

  • If the pattern you were searching for contained a NULL byte, which might include a wild card with a NULL byte in the result, AND if the pattern spanned a buffer boundary, we were not keeping the correct number of bytes in reserve for searching the next buffer. This problem applied to partial matches, and it is fixed.
  • We also discovered that if you have a string translate transform followed by a remove markup transform, the "end of text" marker disappeared. This is also fixed.

Transform error log

Resolved a situation where transform errors were logged repeatedly and prevented the job from being declared unsuccessful

Filter transform output

Fixed a problem with the filter transform where it might not read the specified output file

Filter action arguments

Some filter action arguments were being “quoted” when we didn’t want them to be

Large files on Windows 10

Identified and resolved an unusual race condition with very large input files (90 MB or more) on Windows 10

File copy on Windows 10

We were using a new method of copying files which unfortunately exposed a race condition in Windows 10 when the source path is a different drive than the destination, so we went back to our old method