Managing the printers on your network is an ongoing task—whether you’re adding a new printer or installing the appropriate print drivers for a new workstation. Although you can automate much of the printer driver process with ZENworks for Desktops, you still have to do a lot of work (like creating print queues) within NWAdmin. Now, however, you can use Novell’s Distributed Print Services (NDPS). NDPS goes beyond the print queue/print server configuration that we’re used to dealing with. In this Daily Drill Down, I’ll tell you how to install NDPS on your NetWare 5 server, and I’ll discuss the differences between the legacy print services that ship with NetWare and the new NDPS services. I’ll also describe the different NDPS configurations that you may encounter.
The current revision of NDPS for NetWare 5 is NDPS version 2. There’s another version of NDPS, which is available for NetWare 4/intraNetWare, but it handles on a subset of the functionality that I describe below. In this Daily Drill Down, I’ll discuss the functionality that’s provided for legacy printers. Lexmark, Hewlett Packard, Intel, and other Novell partners also offer NDPS support.
Why use NDPS?
With NDPS, you’re not limited to setting up a network printer. It gives you the option of setting up a controlled access printer and a public access printer. If you work for a company that has a lot of employees who travel between offices, you can set up one or more printers that employees can accessed without having to log on to the network—hence the name public access printer. If you have a printer that only one department (or certain employees may use), you can control who may access that printer, which is why it’s called a controlled access printer. One huge benefit of setting up a controlled access printer is that it eliminates periodic SAPing (the periodic broadcasting of a service access protocol packet). Thus, you can take a significant amount of traffic off of your network.

What is NDPS?
Before I start explaining how to set up NDPS, I should begin with the basics. For instance, you’ll need to learn some new terminology.

Printer agent
First, there’s the printer agent, a piece of software that forms the foundation of NDPS. A printer agent (PA) may be an NLM, which runs on a NetWare server, or it may be an embedded piece of software that resides inside of an NDPS-aware printer. The PA contains information about the printer that it represents, including its name, status, protocol in use, and network address. A PA represents only one printer.

Print server, print queue, and printer gateway
Originally, when you set up print services on a non-NDPS system, you had to set up a print server that could handle the communications between the file server(s) and the printers, and you had to set up a print queue, which received and held onto print jobs from workstations until the print server picked them up. You also needed some type of remote printer service for those printers that weren’t attached directly to the file server or to a device that could pick up the print job from the print queue.

Now, NDPS offers two types of printer gateways, software components that connect a PA to the printer that it represents: a Novell gateway that supports local printers (those attached directly to a serial or parallel port on the server) and a gateway that supports remote printers (those attached to a workstation or other device that isn’t capable of getting directly to the print jobs). The remote printers also refer to queue-based or Nprinter-type systems. With Novell gateways, however, two NLMs make up the printer gateway. Unless you’re using Xerox and Hewlett-Packard printers (they were external partners and assisted Novell with the early development and implementation of NDPS), you’ll need to contact the OEM that manufactured the printer(s) that you’re using. You must obtain the appropriate NDPS gateway and any updated drivers/modules that you need in order to work with NDPS.

Print device subsystem and port handler
The print device subsystem (PDS) is an NLM that runs on the server, and it retrieves printer-specific information for printers that are assigned to it. The PDS serves as a translator between the PA that’s assigned to the printer and the physical printer. The port handler (PH) NLM enables the PDS to communicate with the printer via parallel port, serial port, network connection, or any other method of talking to a particular printer. Each vendor that supports NDPS provides a printer gateway component that talks to printers from that vendor.

NDPS Broker Services
New to NDPS version 2 is the NDPS Broker Services. The Broker NLM provides the following services: Service Registry Service, Event Notification Service, and Resource Management Service. The Service Registry Service (SRS) allows the public access printers to announce their presence on a network. SRS reduces the Service Advertising Protocol (SAP) traffic on a network because workstations communicate with SRS in order to locate any necessary print services; workstations won’t depend on SAP traffic in order to find what they need.

The Event Notification Service (ENS) allows network administrators to configure event notification for any interested parties. Individual users also have the option of using the Novell Print Manager (which was installed as a part of the NDPS service on workstations). With the Novell Print Manager, users can configure event notification for jobs that they submit.

The Resource Management Service (RMS) provides centralized control over resources. With RMS, network administrators can add, list, update, or delete the drivers that are associated with a printer. This same functionality also applies to any printer definition files, banners, or fonts that are associated with a particular printer. Additional benefits provided by RMS include automatic printer driver downloading, remote printer driver installing, and resource distribution information updating.

Implementing NDPS
The installation
I’m going to assume that you didn’t install NDPS when you installed—or upgraded your server to—NetWare 5. Insert the NetWare 5 OS CD into the server’s CD-ROM drive. If you don’t see a message within a few minutes, type CDROM on the server console prompt screen and press [Enter]. Then, type VOLUMES and look for a volume by the name of NetWare5. Change to the Java GUI screen on the server. Click the Novell button on the lower left-hand portion of the screen. Then, highlight and click Install. When the drive prompt window appears, erase the A: that appears. Type NetWare5: and click OK. A GUI screen should appear and inform you that files are being copied.

Next, a screen entitled Please Wait should appear. It will say, “Initializing the NetWare 5 Product Installation.” Switch back to the console prompt screen, type NWCONFIG, and press [Enter]. Highlight the Product Options menu and press [Enter]. Then, highlight the Install A Product Not Listed option and press [Enter]. Press [F3] to change the default path from A: and type NetWare5:. Then, press [Enter]. Now, a message will appear and tell you that the files are being copied. If you receive a message about a file being downgraded, select not to downgrade the file and press [Enter]. After you see a message in NWCONFIG that says another process is being started, you should be able to switch back to the Java GUI that’s already running on the server. An animated graphic that resembles two turning gears should appear to the left of the Initializing The NetWare 5 Product Installation message.

Soon, you’ll see an Additional Products And Services screen. Click the box beside Novell Distributed Print Services (NDPS) so that a checkmark appears there. Click the Next button at the bottom of the server’s screen. When the Novell login screen appears, enter the name of the admin user (or equivalent) account; use the fully qualified NDS name (such as .admin.nw5) and password. Click OK to authenticate to NDS. A Summary screen should appear. It will say that Novell Distributed Print Services (NDPS) is the only product that’s being installed. Click Finish to start the NDPS installation process.

You will experience a brief delay as a search is performed to see if NDPS Brokered Services already exist in the tree. Then, you’ll see a gauge-like display appear. It will mark the progress of the files that are being copied from the NetWare 5 CD-ROM to the server. Depending on the speed of the server’s CD-ROM drive, this step may take some time. (Almost 100 MB must be copied to the server in order for the server to support the NDPS service.)

After the installation process finishes, an Installation Complete message will appear. Click Close to continue. Once the GUI screen disappears, you’ll return to the NWCONFIG screen, where you should see NDPS listed as a Currently Installed Product. Once you’ve exited NWCONFIG.NLM, you should reapply the current NetWare Service Pack that’s on your server so that any applicable updates to NDPS are applied. When you installed the NetWare Service Pack originally, neither NDPS nor the updates for NDPS that were contained in the service pack were installed. After the service pack has been installed, reboot the server (if you’re advised to do so at the end of the service pack installation process). Now, you’re ready to continue.
If the automated installation of NDPS fails, you can still install NDPS, but you’ll have to take a more manual route. You’ll need to copy the NDPS directory from the NetWare 5 OS CD-ROM to the SYSTEM, PUBLIC and NDPS directories that exist on your server. Novell technical document number 10017746 provides extensive, step-by-step details on how to perform this task. The remaining steps involve extracting files manually from various Zip files that have been copied from the NetWare 5 OS CD-ROM. You’ll need to have a DOS version of pkunzip, or you’ll need to be prepared to juggle some directories with the Windows version of this tool (depending on the vendor from which you got it). Since you placed these files manually, you’ll need to update the database of installed files that NetWare keeps. The technical document in question will walk you through the process of making this manual change to the product database. Of course, you’ll want to reinstall the current service pack onto the server before you continue.
The configuration
During the server reboot process, an additional NLM called BROKER loads. A line that’s added to the server’s Autoexec.ncf file reads something like LOAD BROKER “.FS_NW5_BROKER.NW5”. The Broker agent will become visible in the NDS tree. It will appear in the same container as the server object that it’s installed on does. In most cases, you’ll need only one Broker.nlm installed on your network—except when you’re installing NDPS onto a server that’s more than three hops away from a server that’s already running the Broker.nlm.

Now that the Broker object has been created in NDS, the next step you need to take is to create the NDPS Manager object. Contrary to what you may see in some of the NDPS documentation, you must have the latest Novell client and Novell Distributed Print Service option installed. Run SETUP.EXE, which comes with the client software, and select custom install. Make sure that the NDPS option is checked.

Although the documentation says that you can get NDPS to work with a Windows 9x client version 2.2 or later, I kept encountering errors when I entered NWADMIN until I installed the 3.1 client version with Service Pack 1. All will be well at the client level if you don’t get any error messages relating to any NDPS snap-in or dll when you start NDPS. You’ll know that you’re safe when you select the create option in NWAdmin and you see three NDPS objects (Broker, Manager, and Printer), as shown in Figure A. Also, Make sure that the NDPS Broker object has the server name with Broker appended to it (as in, FS_NW5_BROKER). It should have a graphic symbol that looks like three little triangles. This object must exist before you can create any printer objects.

Figure A
NDPS adds three objects to NetWare Administrator.

Now that you’re in NWAdmin, right-click the container with the server that runs the NDPS Broker and click the Create Menu option. Double-click the NDPS Manager NDS object. When the Create NDPS Manager Object Properties screen appears (as shown in Figure B), enter a name for this object. Stick with the naming convention that’s been established already.

Figure B
Enter the name for the NDPS Manager Object.

In the NDPS Manager name input field, you might consider using something like FS_NW5_Manager (or you could use NDPS_Manager if you have only one server that provides this service). Then, click inside the Resident Server input field. Either enter the server’s fully qualified NDS name (such as FS_NW5.NW5) or use the discovery button to the right of the input field (the one that looks like a square box with three periods in it) and browse the NDS tree until you find the server that you’re looking for.

After you’ve typed the servers name, click inside the Database Volume input field and repeat the process you used above. In this case, however, you must select the volume upon which you want to store the NDPS database. Again, you have the option of clicking on the discovery button and browsing the NDS tree until you can select the volume upon which you want to store the database. The volume name must be the fully qualified NDS name for the object (such as FS_NW5_SYS.NW5).

Next, you’ll need to obtain access to the command console prompt of the server upon which you want to load the NDPS Manager. Then, type the following command: NDPSM <managername.context> (where <managername.context> stands for the NDS object name of the NDPS manager and the full NDS context, such as .NDPS_MANAGER.NW5). If you forget the name of the NDPS Manager object that you created or if you receive an error that the name you entered isn’t an NDPS Manager object, you can type NDPSM at the command prompt on the console screen and press [Enter]. Then, browse the NDS tree until you locate the object name that you used when you created the Manager object.

You’ll also want to enter this same load syntax in the server’s Autoexec.ncf file so that the NDPS Manager will load automatically each time the server is started. You can do so by using either Nwconfig.nlm or Edit.nlm. I recommend that you place this line directly beneath the command line that loads the NDPS Broker NLM. After entering the command, you should see another screen appear on the server. It will be entitled NDPS Manager v2.11. Now, you’re ready to start creating your NDPS printers.

Creating a legacy public access printer
The easiest printer to create in NDPS is the public access printer. It’s a printer that anyone on the network can use without having to authenticate to NDS first. The downside is that there’s no security and there are none of the notification options that are available with controlled access printers. Today, I’ll show you how to create a printer that’s attached directly to the server and that’s available for everyone’s use. Start by creating all of your printers as public access printers; you can convert them to controlled access printers at any time. Begin the NDPS printer creation process by double-clicking the NDPS Manager object that you just created. When the NDPS Manager properties screen appears (as shown in Figure C), click the Printer Agent List button.

Figure C
You can create a legacy public access printer.

Click New at the bottom of the current window, and a Create Printer Agent dialog box will appear. In the NDPS Printer Name input field, type the printer’s name as you want it to appear on the network. Since we’re dealing with public access printers, these names will appear when anyone browses through Network Neighborhood—unless you’re using something like ZENworks for Desktops to restrict that type of access.

Select the gateway that will service this printer. Since our printer is attached directly to the file server, let’s use the Novell Printer Gateway. Highlight that gateway and click OK to continue. Next, you should see a dialog box entitled Configure Novell PDS (Print Device Subsystem) For Printer Agent [printer name]. From the list of available printers, select the type of printer that best matches the printer you’re putting on the network. Since we’re using the Novell Printer Gateway, our only choice in the Port Handler Type list will be Novell Port Handler. Click OK to continue. When the Configure Port Handler screen appears, you’ll want to click the Local option in the Connection Type dialog box. Then, in the Port Type portion of the screen, select the appropriate port to which the printer is connected. Click Next to continue.

Since some applications may expect a Pserver-type functionality (where the printer must be advertised by SAP), you can choose a shorter name if necessary. That way, you can accommodate the program that will be using this printer. The printer number will always be 0—unless you’re using the printer SAP name more than once. You also have the option of restricting the availability of the printer to a single network or server. Otherwise, click Finish. Don’t be concerned if an error message tells you that the printer you just created needs attention.

Although it’s possible that the printer may not be connected or may be turned off, you still need to tell NDPS which types of printer drivers should be installed for each of the desktop operating systems that will use this printer. A Select Printer Drivers screen will appear. It will walk you through the appropriate choices. Then, click Continue.

If you don’t see the appropriate driver listed for the printer that you’re using, select the [None] option at the top of the screen. The users will be prompted to insert the appropriate driver disk when they attempt to install this printer. You should see an information screen appear. It summarizes the choices that you made on the previous screen. Click OK. Now, all that you need to do is create the printer. Use the normal steps for the client operating system, and you should find the printer under the NDPS public access printers. Your first print job should appear a few moments later.

Ronald Nutter is a senior systems engineer in Lexington, KY. He’s an MCSE, a Novell Master CNE, and a Compaq ASE. Ron has worked with networks ranging in size from single servers to multiserver/multi-OS setups, including NetWare, Windows NT, AS/400, 3090, and UNIX. He’s also the help desk editor for Network World. If you’d like to contact Ron, send him an e-mail. (Because of the large volume of e-mail that he receives, it’s impossible for him to respond to every message. However, he does read them all.)

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.