ppr-list-digest volume 5, number 9, message 1

Note: please don't spam any of the e-mail addresses which you see here. Follow this link if you want some addresses to misuse.


From: David Chappell <David.Chappell@trincoll.edu>
Date: 18 Feb 2003 09:28:39 -0500
Subject: PPR: PPR 1.50 released

==========================================================================

Version 1.50 of PPR has been released.

PPR is a Unix print spooler expressly designed for operating PostScript
printers.  It was written by David Chappell at the Trinity College
Computing Center in Hartford, Connecticut, U.S.A.


==========================================================================

If you wish to subscribe to the PPR mailing list, send mail to
"majordomo@mail.trincoll.edu".  The message should consist of the single
line "subscribe ppr-list".  You may post messages to the list
by sending them to "ppr-list@mail.trincoll.edu".


==========================================================================
 New in this Release (Since 1.44)
==========================================================================

* Greatly improved Ghostscript integration.  This includes automatic
  configuration to invoke Ghostscript when appropriate PPD files
  (supplied with PPR or CUPS) are used.  The printer interface wrapper
  programs with names begining with "gs" are now obsolete.  (This code
  existed in 1.44 in experimental form, but with this release it is
  brought to usable form.)  See "Installing and Using PPR" and the "ppad
  rip" command in the ppad(8) manpage for details.

* Marked many more program messages for internationalization.

* Created additional error codes which the printer interface programs
  can use to provide a machine-readable, internationalizable
  characterization of a printer fault (in addition to the human readable
  messages they have always logged to the printer alerts file.  This new
  information is reported by "ppop status" when it shows that a printer
  is in a fault state.  These include messages for access denied,
  printer not responding, printer doesn't exist, and bad interface
  setttings.  If an interface program exists with one of the old,
  non-specific fault codes, ppop status will now suggest that the user
  use ppop alerts to examine the alerts log.

* Refined the improved reporting of SNMP-style printer status in the
  "ppop status" output which was introduced in version 1.44.

* Rewrote confusing error messages to make them more inteligible.

* Vastly improved the PPR Popup program for computer lab printing.  PPR
  Popup now works on Macintosh computers.

* Fixed bugs which sometimes caused N-Up printing to fail.

* Added --stop option to pprd and papsrv.  This simplifies the shutdown
  procedure as described in "Installing and Using PPR".  It also
  eliminates the need for a separate papsrv_kill script.

* Fixed a problem which on rare ocasions would caused a job to silently
  fail to make it into the queue until next time pprd was restarted.

* Fixed numberous bugs, including bugs which caused spooler crashes,
  needlessly unprintable job, queue hangs, and other unpleasantness.

* Filled in the gaps and smoothed the rough edges off of the web
  interface which was introduced in version 1.44.  With this release,
  the web interface status changes from experimental to stable.  The web
  interface now includes a wizard to help with configuring Unix clients
  to print to a PPR server.

* Added support for the AppSocket TCP printing protocol to the tcpip
  interface program (in addition to the existing support for SocketAPI).

* PPR now recognizes and properly handles multiple copies requests from
  the Adobe PostScript driver for Microsoft Windows.

* Made filters automatically aware of ppr command line options such as 
  -F "*Duplex=DuplexNoTumble".  Users should find this behavior much
  more intuitive.

* Added a cut-down version of the Tcl 7.3 interpreter.  In the future
  gettext support will be added and Borne shell scripts will gradually
  be replaced with Tcl scripts.

* Added support for printing ranges of pages rather than the whole
  document.

* Fixed incompatibilities with Perl 5.6 and 5.8.

* Added a --features option to the ppr command.  This prints a list of
  the printer features which may be controled with the -F (--feature)
  option.  So far this works only for individual printers and not for
  groups.

* Added preliminary support for Samba 2.2.x driver download.
  Unfortunately, this is still not easy to set up.

* UPRINT now understands the slightly odd /etc/printcap files generated
  by system management tools in RedHat Linux.

* Added an experimental new configure script called Configure_new.

* Added a program called ppr-web-control which selects the best web
  browser for its purpose and opens the PPR Control Panel (part of the
  web interface).


==========================================================================
 Major Features
==========================================================================

* Operates PostScript printers connected to parallel and serial ports,
  AppleTalk, LAN Manager X clients, LPD servers, and RAW TCP/IP adapters
  such as Extended Systems PocketPrintServers.

* If the interface to the printer supports it, captures messages
  returned by the printer while a job is printing.  If PostScript error
  messages are received, the job is placed in a special hold state for
  later examination.

* Sends notices to users when jobs are completed or when jobs fail due
  to PostScript errors or other problems.  (This is not supported on all
  client platforms.)

* Detects printer faults and attempts to clear them automatically.  If
  this fails, an operator can be informed.

* Interprets Document Structuring Convention comments in order to
  support advanced features including printer redirection, reverse order
  printing, collated copies, font downloading, font substitution, and
  forced duplex mode.

* Can pass print jobs through GhostScript before sending them to the
  printer in order to print PostScript files on non-PostScript printers.

* Automatically detects non-PostScript input and passes it through
  appropriate filters.

* One of the above mentioned filters is a line printer emulator which
  first measures the file in order to select proper margins, point 
  size, orientation, and line spacing.  It also supports overstrike bold
  and underlining.  The line printer emulator supports many character
  sets including ASCII, Macintosh, ISO Latin 1, and KOI8-R.

* An Epson compatible dot matrix printer emulator is also provided.  It
  converts files containing escape codes for Epson and IBM Proprinter
  compatible dot matrix printers and converts them to PostScript.

* When PPR is installed, it searches for certain other programs such as
  NetPBM, TeX, Groff, and the Adobe Acrobat Reader.  If these are found,
  PPR arranges to use them as filters to automatically convert JPEG,
  BMP, GIF, LaTeX and other files to PostScript.

* Automatically detects files compressed with Unix Compress or Gzip and
  uncompresses them before printing.

* Advertises printer queues on an AppleTalk network so that Macintosh
  computers can print to them even if the printers don't support
  AppleTalk.

* Accepts jobs from AT&T's LAN Manager for Unix and sends notices using
  the LAN Manager messaging facilities.

* Accepts jobs from the Samba LAN Manager compatible server and sends
  notices using Samba's messaging facilities.

* When used with Samba version 1.9.18 or later, PPR supports Windows 95
  drag-and-drop printer driver installation.  With Samba 2.2.x it
  supports Windows NT drag-and-drop too.

* Accepts jobs from other computers using the LPD protocol.

* While printing, the percentage of the job which has been sent is
  displayed in the queue listing, together with the page the spooler is
  transmitting, and, when the printer supportes it, the number of pages
  which have been printed.

* The status of a printer that is printing can be viewed.  This includes
  conditions such as out-of-paper and low-toner.

* Prints jobs N-Up or generates signatures and booklets using Donald
  Markuson's N-Up dictionary.

* Keeps track of printer usage by means of user accounts from which
  money is deducted for each page printed on designated printers
  (Client support for this is still limited.)  PPR also has the ability
  to log all jobs so that reports can be run or bills can be sent to
  users.

* Allows a form to be "mounted" on each of a printer's input bins.  When
  a print job arrives, PPR will attempt to determine what kind of paper
  it should be printed on and select the correct bin.  If the correct
  form is not mounted, the job will be held until an operator mounts it.

* Prints banner pages which include information gleened from the
  Document Structure Comments, such as user name, number of pages, and
  warnings concerning defective DSC comments.

* Caches fonts received from Macintosh clients so that they need not be
  downloaded again.  This saves time the next time the document is
  printed.  (This only works with LaserWriter 8.x.)

* If MS-Windows format TrueType fonts are manually installed in the
  spooler, it will convert them to PostScript and download them on
  demand.

* Provides programs which can be used as substitutes for lp, lpr, lpq,
  and lprm.  These programs will determine whether the queue selected
  belongs to PPR, to the standard system spooling system, or to a remote
  system listed in a special configuration file.  If the queue belongs
  to the standard system spooler then the standard program will be
  invoked.


=============================================================================
 Compatible Systems
=============================================================================

PPR was origionally written to work on AT&T's 6386 WGS and StarServer E
running Unix System V Release 4.0 and AT&T's port of LAN Manager to Unix
with AT&T's AppleTalk Network Program.

It was later ported to SunOS 5.x (Solaris 2.x) and CAP60 patch level
194. Netatalk is not yet supported on Solaris 2.x.

Linux is currently the principal development system.  An extra library
called NATALI can be obtained from the place you got PPR.  This library
allows PPR to work with Netatalk under Linux.

DEC OSF/1 and Digital Unix 4.0 are also supported, though AppleTalk has
not been attempted.

SGI's IRIX 6.3 is also a supported platform.  However, AppleTalk on IRIX
has not been attempted.

The complete system has not been tested on
386BSD/NetBSD/FreeBSD/OpenBSD,
however it should run with only minor modifications.

Support for SunOS 4.1.3 is included in the current release but nobody
has reported whether or not it works.

The Cygnus Windows NT port can be compiled but it doesn't work yet.

The MacOS port can be compiled and installed, but the install scripts
may still need a little tweaking.  Final testing couldn't be
accomplished due to the limitations of the Sourceforge.net compile farm.

============================================================================
 Intended Audiance
============================================================================

PPR begain as a research project designed to explore the possibilities
of the Adobe Document Structuring convention, PPD files, and automatic
filtering.  The goal is to make printing easy for end users.

However, PostScript can be very complex and PPR is a very complex piece
of code.  Considerable effort has been expended to make PPR easy to set
up and use.  All the same, some level of understanding of PostScript,
the Document Structuring Convention, and the processes involved is
sometimes required.

While PPR has been used with a number of PostScript generating
applications, it has not been possible to test it with every one.  This
problem should be a matter of moderate concern because most if not all
PostScript generating applications have one or more errors in their
conformance to the Document Structuring Convention.  When document
structuring comments make serious factual errors in their description of
the structure of the document or concerning the fonts and other
resources required, PPR may fail to print it even though a more simple
minded spooler would print it.

When unexpected results are obtained, it may be necessary to examine the
input and the output, manually interpreting the DSC comments.  Anyone
supporting PPR would be well advised to first read Appendix G of
"PostScript Language Reference Manual, Second Edition" as well as
"PostScript Printer Description File Format Specification".

That said, it should be noted that PPR has been extensively tested in an
environment containing hundreds of clients and dozens of printers.  The
clients have included Unix, MS-DOS, MS-Windows, and MacOS.


============================================================================
 Technical Support
============================================================================

Trinity College cannot of course guarantee to provide you with technical
support for this for this product.  As stated above, while PPR is
intended to make printing easy to set up and use, diagnosing problems
with PostScript printing still requires specialized knowledge.

An installation manual, an incomplete technical description, and man
pages for most of the programs are provided.  We will also endeavor to
participate in the answering of questions sent to the PPR mailing list. 
We regret that Trinity College is not in a position to provide technical
support beyond this.

Bug reports and suggestions are of course welcome.  Bug reports will be
most useful they describe the exact steps necessary to reproduce the
problem.  Of course, if you can if include a fix or point out the
offending source file and function, please do so.

Bug reports should be sent to <ppr-bugs@mail.trincoll.edu>.

If you have PostScript questions, it might be well to post them to the
Usenet news group "comp.languages.postscript".  Questions related to
CAP should be posted to "comp.protocols.appletalk".  Questions directly
related to PPR should be sent to the PPR mailing list.


============================================================================
 License Terms
============================================================================

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE)ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

============================================================================
 Obtaining PPR
============================================================================

PPR may be obtained from <ftp://ppr-dist.trincoll.edu/pub/ppr/> or
<http://ppr-dist.trincoll.edu/pub/ppr/>.  The current distribution
includes
the following files:

ppr-1.50.tar.gz           Source code for PPR
natali-1.25.tar.gz        A library needed for Netatalk support under
Linux

- -- 
David Chappell <David.Chappell@trincoll.edu>
Trinity College, Hartford, Connecticut, USA