Comparing RPM 4.5 to 5.0

Switching RPM 4.5 to 5.0 was a major change for our users. But, based on the consistent feedback we had, it was time to "reinvent" the product and move forward. The following summarizes what is different between RPM 4.5 and 5.0.

New platforms: RPM 4.5 is not going to be supported for Windows 2008, Vista, Windows 7 and beyond. RPM 5.0 has back support to Windows 2000, and forward through Windows 7 and beyond.

There will be no future development of RPM 4.5. RPM 5.x is in active development, including native 64 bit support.

More job capacity: RPM 5.0 uses a database for jobs and settings, where RPM 4.5 uses the Windows registry. We have seen RPM 4.5 top out at six to eight thousand jobs, whereas we can push in excess of twenty thousand of jobs through RPM 5.0 with no difficulty at all. We have seen customer sites using RPM 5.0 with more than one hundred thousand jobs.

More job throughput: RPM 4.5 processes one job at a time. That’s it. RPM 5.0 Select does two jobs at a time, so there is never a bottleneck where one large job prevents many smaller jobs from printing. RPM 5.0 Elite does five jobs at a time, and you can adjust that up to 255.

Reprint: It was possible with clever maneuvering to get RPM 4.5 to reprint your jobs. RPM 5.0 supports a “job archive” where you can define a job retention policy by queue. You can reprint jobs as many times as you want.

More actions: RPM 4.5 had text print (Windows specific), raw print (direct to printer) and filter (execute a program). You could archive jobs to disk by not specifying a command line, a benefit we added from customer advice.

RPM 5.0 moves “archive to disk” as a regular action, so it’s not a work around.

We added a "print to email" where your print jobs can be sent as an attachment or in some cases as the message body itself. Email can go to multiple recipients and we can work with SMTPAUTH if required.

We have also added a “copy to queue” action to copy a job to another queue, to support work flow (see that section).

You still have text and raw printing and the program execution.

Enhanced actions: we now offer interactive printing and program execution, where we coordinate with Terminal Services to run those jobs when the user is logged in.

RPM Elite further adds watermark support to text printing.

In RPM 4.5 the filter setup supported the name of the job file for the command line. In RPM 5.0 we make every bit of job data available to the command line, and we support standard input/standard output and the standard error log for your application. We also limit idle time to terminate programs that execute and hang.

Transforms versus options: in RPM 4.5 you had “print data options” which brought in various transforms. For instance the text print queue would silently bring in transforms to “remove nulls” and “text markup”. You could add other options like ASA or SCS, and RPM would figure out how to configure the transforms on its own.

Now in RPM 5.0 you have complete control over what transforms are used, and in what order.

The primary reason for this is RPM 5.0 has work flow control. You can do partial processing on a job in one queue, then copy it to another queue to do more.

We lost one transform: character map. This would translate one character to another.

New transforms: We gained a number of transforms including:

  • search and replace
  • remove until a pattern is seen
  • remove after a pattern is seen;
  • remove certain number of lines
  • limit output to certain number of lines
  • COR (compute a better fit for width and height)
  • text markup to PDF (includes watermark and PDF options in Elite)
  • PCL to PDF (Elite only)
  • text markup to HTML
  • text markup to PCL
  • break lines (used for undelimited text)

Enhanced transforms: the text markup has an optional “auto fit” which will attempt to find the best lines per page and columns per line numbers for the first few pages of data. This contrasts with COR which uses established iSeries metrics for page width and height.

Create PDFs: In RPM 4.5 you could print to PDF by using a third party application such as PDFCreator or Foxit. In RPM 5.0 you can convert both regular print jobs (text, SCS) and PCL print jobs directly to PDF, and from there archive or email.

Microsoft service security standards:

  1. In RPM 4.5 to use a shared printer or shared folder, you had to change the login and password for the service from the system account to a local user. This frequently caused problems with the registry because the new user couldn’t add jobs, etc. Also, you could not handle folders with different user permissions with that scheme; and finally mapped drives were a problem, because the service couldn’t see them. In RPM 5.0 any time you need to print to a shared printer or use a shared folder, you simply add login credentials to that action. The service account is untouched, just as Microsoft recommends. The RPM user interface automatically translates mapped drives to UNCs, so that always works correctly.
  2. In RPM 4.5 if you wanted to run a process interactively, you had to make the entire service have access to the desktop, so potentially any program you ran as a filter could have access to your desktop--when you least expect it. Also, the interactive process would have all the privileges of LocalSystem--a major security hole. In RPM 5.0 you selectively mark actions as interactive, and you must enter login credentials.
  3. In RPM 4.5 it was impossible to run a process interactively, and run as a local user. In RPM 5.0 it’s not a problem, we both, at the same time if needed.

Device management: In RPM 4.5 we tested all the printers when RPM started up. If a printer was attached to a computer which was off, which frequently happened, the entire service would be suspended for several minutes. Now devices are left alone until they are first used.

Device resources: In RPM 4.5 you could only print one job at a time, but you could potentially run more than one filter program at a time. In RPM 5.0, we treat all printers, programs and folder paths as devices. All devices have a “max use” count, so you can tune the number of print jobs that can concurrently use that device. If RPM goes to use a device for a job, and it’s current use count is “max”, then RPM treats the device as busy and looks elsewhere.

Error recovery: In RPM 4.5 if we had a problem with a printer or folder, we suspended the queue. Now, we test the device periodically until the error goes away, then we automatically run the jobs.

Notification: In RPM 4.5 you check the log to find device problems. In RPM 5.0 you can optionally get email notification when a device goes to error, and when it recovers.

Unicode: In RPM 4.5 we attempted to translate everything to plain text. In RPM 5.0 we attempt to translate everything to UTF-8, and use UCS-2 with Windows printing operations.

IIS no more: RPM 4.5 Elite used Microsofts IIS web server. With RPM 5.0 we have our own web server, and the interface is programmed in jQuery and Ajax, two industry standard technologies. We think you’ll appreciate the new level of interaction.

Log: In RPM 4.5 the log was viewable only inside RPM. In RPM 5.0, you can export the log to a CSV file; you can copy it to the clipboard; and you can search the log.

Job data: In RPM 4.5 we recommended a DOS utility to look at binary job files. In RPM 5.0 you can right click on the job and select “view job contents” to see the job in hex and ASCII.

Copy queue configuration: In RPM 4.5 you could save a copy of a queue configuration as a “style” which you could then reuse as needed. In RPM 5.0 you can right click on a queue, select “Copy”, then paste the XML queue configuration into an editor. You can then tweak the configuration, send it to someone else via email, save to disk, do whatever you like. You can also paste it back into RPM to jump start creating another queue.

Drag and drop jobs into RPM: In RPM 5.0 you can drag jobs from Windows Explorer or the desktop into an RPM queue. There’s nothing like this in RPM 4.5.

Drag and drop jobs between queues: In RPM 5.0 you can drag jobs from one queue to another. You can configure whether this will move the job, or copy.