This section describes how to manage print queues. It describes the issues related to PostScript fonts, Laser Prep files, and queue directories in detail. It also lists the ATPS console commands and describes how to view "verbose" messages when troubleshooting a queue. PCONSOLE management tasks are described, including step-by-step instructions for deleting a queue.
The files and directories shown in Table 21 are related to AppleTalk print services.
Table 21. ATPS-Related Files
| File or Directory | Explanation |
|---|---|
NW-MAC\FONTS |
This directory is created within the server's SYS:SYSTEM directory when is installed. It contains *.FNT files for the default font lists (the fonts that are always resident) for Apple LaserWriters. |
ATPS |
By default, this directory is created within the server's SYS:SYSTEM directory when the ATPS NLM is loaded. It will contain directories for all NetWare print queues that will be advertised or serviced by the ATPS NLM, as well as the ATPS.CFG file, described below. If you wish, you can specify a different name and location for the ATPS directory by using the -D option when loading the ATPS module. |
ATPS.CFG |
This file resides in the NetWare server's SYS:SYSTEM directory. If you specify NetWare print queues that will be advertised or serviced by the ATPS NLM, ATPS.CFG contains an entry for each of these queues. This file can be created or edited by using the INSTALL utility. |
*.QDR |
A *.QDR directory is created in the ATPS directory for each queue created in the ATPS.CFG file. These directories are used to temporarily store print jobs when they are submitted to the queue. There must be enough available disk space to accommodate incoming print jobs on the volume containing the *.QDR directories. |
ATPS\*.FNT |
One *.FNT file is created in the ATPS directory for each AppleTalk PostScript printer serviced by a queue created in the ATPS.CFG file. These files can be created by specifying a font list when creating the queue, or they can be created automatically when ATPS queries an AppleTalk printer. |
*.QRY |
When a Macintosh client sends a print job, it sends a ProcSet query to the spooler to find out whether the printer is initialized with the same version of the Laser Prep file that is present on the Macintosh. This query is stored in a *.QRY file in the ATPS directory and used by the ATPS module whenever it is necessary to query the printer for its Laser Prep version. |
*.PRS |
When ATPS receives a ProcSet query from a Macintosh client, it checks to be sure that the current version of the Laser Prep file is stored in the ATPS directory. All versions of the Laser Prep files are stored in *.PRS files. When a Macintosh uses a Laser Prep version that ATPS does not have, a new *.PRS file is created. |
The ATPS module must be able to ascertain which fonts are supported on a PostScript printer that services the queue. If the ATPS module cannot determine a font list for a queue, that queue will not be advertised on AppleTalk.
When you install NetWare for Macintosh, the following font list files are copied to SYS:SYSTEM\NW-MAC\FONTS:
Table 22. Default Font Files
| Filename | Font List |
|---|---|
APPLW.FNT |
Default fonts for the Apple LaserWriter |
APPLWPLS.FNT |
Default fonts for the Apple LaserWriter Plus |
APPLWNT.FNT |
Default fonts for the Apple LaserWriter II NT |
APPLWNTX.FNT |
Default fonts for the Apple LaserWriter II NTX |
HPLASER.FNT |
Default fonts for the HP Laser Jet family with installed PostScript option |
NOTE: Except for APPLW.FNT, all of the font list files listed in Table 22 have the same list of fonts and can be used interchangeably.
ATPS can obtain a font list for a queue in one of the following ways:
Each type of Apple LaserWriter has a set of resident fonts available in ROM when you turn on the printer. A printer can also support additional fonts that have been downloaded by using a Macintosh Font Downloader application, which will be stored in the printer's RAM until the printer is turned off and on again. If the printer supports an external hard disk, downloaded fonts can be stored on the external disk, in which case they are still available after you turn the printer off and on again. Macintosh applications query a printer for its font list and automatically download fonts that are required for the print job but are not currently on the printer. If the required font is not available, a bitmap of the font is sent instead. The printer uses the downloaded fonts only for the current print job. NOTE: If the spooler does not advertise a font that the printer does have, the spooler will request that the Macintosh application download the font. This will cause unnecessary delays in printing or substitution of a bitmap font when a required font is unavailable on the Macintosh. If the spooler advertises a font that the printer does not support, the printer will substitute a default font, usually the monospace Courier font. In NetWare for Macintosh, the "conversation" between the Macintosh application and the printer is handled instead by the ATPS module, which answers the query from the Macintosh application based on its understanding of the printer's font list. The ATPS module must have a font list for each PostScript-capable spooler when the ATPS module is loaded; if it cannot set the spooler's font list, ATPS does not advertise the queues.
If an AppleTalk printer is turned off and on again or reset after ATPS has been loaded, or if a Macintosh application downloads a font to the printer's RAM, the queue's font list can become inconsistent with the list of fonts actually supported in the printer. For AppleTalk printers that will support only the default set of resident fonts, you can either allow the ATPS module to query the printer each time it is loaded, or you can specify one of the default *.FNT files on the configuration line in ATPS.CFG. Either way, you do not need to worry about font lists becoming inconsistent over time. For AppleTalk printers that will support fonts other than the default resident fonts, the best way to ensure that a queue's font list is consistent with the printer's font list is to supervise the font download process (using a Macintosh Font Downloader), and then manually update the queue's font list by using the ATPSQUERY printer-name command. See Updating AppleTalk Print Spoolers' Font Lists for information about ATPSQUERY. NOTE: Fonts should be downloaded directly to the printer, not via a queue.
If a standard font file is not applicable for the model of PostScript printer you are using, or your printer has more fonts (for example, due to expansion boards or attached hard disks), you can create your own font file. NOTE: This is not necessary for printers on AppleTalk, because ATPS retrieves a font list directly from the printer. To create a font list for a PostScript printer connected to the file server's serial or parallel port, follow these steps:
Change directories to SYS:PUBLIC. Use NPRINT to send the file named FONTLIST.PS to the queue. FONTLIST.PS is a PostScript file that instructs the printer to print out its list of fonts in the correct format. Use a text editor such as EDIT.NLM to create a font file. Create a new file and type in the list of the printer's fonts as they appear on the printed output.
NOTE: Standard Macintosh text editors such as TeachText do not use linefeed characters. Font files created with these editors will not be read correctly by ATPS.
Laser Prep files contain a dictionary of PostScript "shorthand" commands required by the LaserWriter or LaserWriter-compatible printer. These files are used by the LaserWriter driver on the Macintosh when formatting PostScript print jobs, and are used to initialize the printer with the required commands. The AppleTalk print server must be able to ascertain which version of the Laser Prep file is currently supported on the AppleTalk PostScript printer that services a queue, so it can download a new version if a Macintosh print job requires it. It can do so in one of the following ways:
For compatibility with the LaserWriter 7.0 driver, ATPS resets AppleTalk printers if they are initialized with a version of Laser Prep other than the one required by the current job. This process takes roughly 30 seconds and it causes the printer to generate its initialization page. NOTE: Print performance is significantly better if all Macintosh clients accessing a queue use the same version of the Laser Prep file. You can prevent the printer from printing its initialization page when it is reset by following these steps:
Change directories to SYS:PUBLIC. Use NPRINT to send the file named NOSTRTPG.PS to the queue. NOSTRTPG.PS is a PostScript file that instructs the printer never to print its initialization page, even if the printer is power-cycled. If you wish to re-enable the initialization page, use these steps: Change directories to SYS:PUBLIC. Use NPRINT to send the file named STRTPGON.PS to the queue. STRTPGON.PS is a PostScript file that instructs the printer to resume printing its initialization page when it is power-cycled or reset. Alternatively, you can send PostScript files to an AppleTalk printer by using a PostScript downloader from a Macintosh workstation. The best way to handle Laser Prep files is to ensure that all Macintosh clients are running the same version of the LaserWriter software. If one Macintosh on your network uses System 7.0 or later, we recommend that you install the System 7.0 LaserWriter driver(s) on all Macintosh workstations. Please see the Using the NetWare for Macintosh Client guide for details. If you cannot upgrade all Macintosh clients to use the same version of the Laser Prep file, you can allow the ATPS module to handle Laser Prep versions for AppleTalk printers. When a Macintosh application requires a different Laser Prep version than the one that initialized the printer, ATPS automatically downloads the correct version to the printer. While this causes a print performance penalty, the delay is experienced by the AppleTalk print server rather than the print spooler, so users are not seriously affected. For serial, parallel, or remote printers, the recommended way to handle Laser Prep files is to instruct the print spooler to include the correct Laser Prep file in each Macintosh print job as it is placed on the queue. You can do this by using the -l option on the configuration line in ATPS.CFG. The -l option causes ATPS to download the correct Macintosh Laser Prep file with each job it places in the queue. Serial, parallel, or remote printers use the -l option. NOTE: For queues serviced by PSERVER, ATPS cannot guarantee the success of print jobs sent from Macintosh workstations running different versions of the LaserWriter driver software.
You can avoid the performance penalty caused by the -l option by following these steps: Verify that all Macintosh users who can access the queue are using the same version of the Laser Prep file. Specify the -l option on the configuration line in ATPS.CFG, and then unload and load ATPS. Send a print job to the queue from a Macintosh workstation. This step creates a Laser Prep file on the server. The Laser Prep file uses the ".PRS" filename extension and is located in the ATPS directory (SYS:SYSTEM\ATPS by default). Remove the -l option from the configuration line in the ATPS.CFG file, and then unload and load ATPS. Load ATPS again. The preceding five steps avoid downloading the Laser Prep file with each Macintosh print job, but they handle the Laser Prep file management only until the printer is turned off. If you decide to use this method, you can repeat the above steps each time the printer is power-cycled. If you prefer fewer steps, you can use the following method instead: The first time you load the ATPS module, it reads ATPS.CFG and may create print queue directories named *.QDR in the ATPS directory. The queue directory name is the queue's unique bindery object ID (which you can view in PCONSOLE as the print queue ID) followed by the .QDR filename extension. Each queue directory will contain the print jobs spooled to that queue. Each print job resides in the queue as an ordinary file. DOS users can place print jobs in ATPS queues even when the ATPS module is not loaded. (Of course, the print jobs are not sent to an Apple printer until you load the ATPS module again.) When the AppleTalk print server sends a print job from a queue to a printer, it deletes the file from the queue directory. Because NetWare keeps deleted files on the disk until they are old enough to be "purged," it is possible for print queue directories to use up all available disk space very rapidly. To prevent this condition, you should instruct NetWare to immediately purge deleted files by using the FLAGDIR command: FLAGDIR SYS:SYSTEM\ATPS\*.QDR P <Enter>
where "SYS:SYSTEM\ATPS" is the directory containing the queue directories. (If you use the -D option to place the queue directories in another location, substitute that pathname.) The FLAGDIR command marks all queue directories for immediate purging when their files are deleted. (Of course, files that have been printed from the queue are not recoverable after you use this command.) If you wish to designate a different volume and/or directory in which to store ATPS queues and other files, you can use the -D option on the LOAD command line. For example, you might enter this command line: LOAD ATPS -D PROJ:NW\PRINT
This command line creates a directory named PRINT below an existing directory named NW on the PROJ volume. The PRINT subdirectory need not exist. However, no harm is done if it does exist; it will simply contain ATPS queues. The NW directory must already exist. Once you have specified a location by using the -D option, ATPS uses that directory until you change the directory with the -D option again. NOTE: If you use the -D option to specify a new location after you have specified queues in SYS:SYSTEM\ATPS or another directory, you must delete the existing queues in PCONSOLE; otherwise, ATPS cannot create new queues in the specified location. See Deleting Print Queues.
Queues that are created using PCONSOLE are accessible to and usable by ATPS, but they are always located in SYS:SYSTEM. ATPS prints error messages to the console and to the system log file. See Viewing Systemand Volume Messages in the Log Files for information about viewing these messages by using the ATCON utility. If you wish to see informational messages generated by ATPS, you should turn on "Verbose Mode." In Verbose Mode, the ATPS module creates its own window, which can be viewed by pressing <Alt>+<Esc> at the console, and displays informational as well as standard error messages. ATPS also prints the messages to the system log file, so you can view them again at a later time. You might want to turn on Verbose Mode if, for example, if you are creating a print queue for a non-Apple printer and need more explicit information about what is occurring between the queue and the printer. You can turn on Verbose Mode by unloading the ATPS module and loading it again with the -V option: LOAD ATPS -V <Enter>
If you prefer, you can use the "ATPSV ON" and "ATPSV OFF" console commands to turn Verbose Mode on and off. See ATPS Console Commands for more information. NOTE: Verbose mode consumes disk space by writing many more messages to SYS$LOG.ERR. We recommend that you use Verbose Mode to troubleshoot problems and verify correct operation when loading, but turn it off for normal operations.
ATPS supports several new console commands for managing printers and queues. The following commands turn off the specified AppleTalk print spooler (or all AppleTalk print spoolers), causing the print spooler to disappear from the Chooser: ATPSREM spooler-name ATPSREM ALL
The ATPSREM command is useful for halting printing before unloading ATPS or downing the server, or temporarily making a queue invisible to Macintosh clients. Printing in progress continues uninterrupted, but no new print jobs are accepted. The following commands re-enable the specified AppleTalk print spooler (or all AppleTalk print spoolers), causing it to reappear in the Chooser: ATPSRES spooler-name ATPSRES ALL
The following commands hide the specified AppleTalk printer (LaserWriter, LaserWriter-compatible, ImageWriter, or ImageWriter LQ printer on the network) by changing the device's NBP type: ATPSHIDE printer-name ATPSHIDE ALL
The following commands reverse the effect of "hiding" printers and make the specified printer (or all AppleTalk printers) visible again on the network: ATPSSHOW printer-name ATPSSHOW ALL
NOTE: ATPS automatically attempts to restore hidden printers upon unloading. However, hidden printers remain hidden if the server is downed or turned off without first unloading ATPS. You can make a printer visible again by turning it off and on. In addition, hidden printers may slow the process of unloading ATPS, particularly if the hidden printers are processing jobs or off-line at the time of unloading. Allow up to 90 seconds per hidden printer when unloading ATPS. If the printer is still busy or unreachable after this time, the printer will not be restored. Power-cycle the printer to restore it.
The following commands turn Verbose Mode on or off: ATPSV ON ATPSV OFF
Verbose mode consumes disk space by writing messages to SYS$LOG.ERR, so it is recommended only for troubleshooting or verifying operations. See Verbose Mode: Viewing Troubleshooting Messages for more information and an alternative way to use Verbose Mode. The following commands cause ATPS to update the font list used by the AppleTalk print spooler. ATPSQUERY printer-name ATPSQUERY spooler-name ATPSQUERY ALL
The ATPSQUERY printer-name command queries the printer for its current font list and informs the relevant spooler of that list. The ATPSQUERY spooler-name command has the same effect, but it will query the printer associated with the specified AppleTalk print spooler. If you wish to force an update of all font lists for all AppleTalk spoolers, type ATPSQUERY ALL. In addition to the steps shown in the preceding sections for installing printers, configuring queues, and configuring print servers, you will also use PCONSOLE for general administration tasks and for the configuration options described in the following sections. Any user can invoke PCONSOLE, but much of its functionality is accessible only to the supervisor or to a user designated as a Queue Operator. NOTE: When you are using PCONSOLE, make sure that you do not delete the ATPS_PSRVR or ATPS_QUSER object from queues that have an entry in ATPS.CFG while ATPS is running. If you remove the ATPS_PSRVR object, AppleTalk printers cannot service the queue. If you remove the ATPS_QUSER object, Macintosh users continue to see the queue advertised in the Chooser, but cannot place print jobs in the queue. Likewise, do not delete queues spooled to or serviced by ATPS while ATPS is running.
Please see NetWare v3.12 Installation for details on using PCONSOLE for the tasks described below. In NetWare print services, DOS users must log in to a file server and be designated as a Queue User (individually or by their group) to access its queues. You can associate any number of Queue Users with a queue, and can delete a Queue User to prevent that particular user from accessing a queue. Typically, Macintosh users can access a queue by selecting its spooler in the Chooser, and they do not need to log in to the file server. Because placing a job in the queue involves writing to the file system, ATPS creates a single bindery object named ATPS_QUSER with rights to add jobs to the queue. NOTE: If you configure a print queue with the -a option in ATPS.CFG, Macintosh users must be designated as Queue Users in PCONSOLE. By default, the group EVERYONE is designated as a Queue User, so members of that group can print to a queue.
You can use the queue's object ID to determine which queue directory implements the queue. Please see Queue Directories: *.QDR for background information. Designating DOS users, Macintosh users, or both as Queue Operators enables them to modify the queue, including deleting, postponing, and changing the order of all queue jobs visible in the NetWare DA. Please see NetWare v3.12 Installation for details on using PCONSOLE to designate Queue Operators. ATPS creates print queues, but does not delete them. To remove all traces of a print queue specified in ATPS.CFG, you must remove the configuration line from ATPS.CFG and delete the print queue in PCONSOLE. Please see NetWare v3.12 Installation for details on using PCONSOLE to delete print queues.Issues Related to PostScript Fonts
Recommended Way to Handle PostScript Fonts
Creating Specialized Font Files
Laser Prep Files: *.PRS
Issues Related to Laser Prep Files
Recommended Way to Handle Laser Prep Files
Queue Directories: *.QDR
Purging Old Print Jobs from a Queue Directory
Specifying an Alternative Location for Queue Directories
Verbose Mode: Viewing Troubleshooting Messages
ATPS Console Commands
Turning AppleTalk Print Spoolers Off and On
Hiding Printers and Making Them Visible Again
Turning On Verbose Mode
Updating AppleTalk Print Spoolers' Font Lists
Managing Queues in PCONSOLE
Adding Queue Users
Viewing a Print Queue's Object ID
Adding Queue Operators
Deleting Print Queues