Subject: PMP> Novell channel types

From: Scott Isaacson <[email-masked]>
Date: Fri, 02 May 1997 11:24:38 -0600

At one of the last PMP calls, we talked about the queue-based
Novell channel types:
chNetwareRPrinter(9) and chNetwarePServer(10) 
and what would be in the channel information fields for these 
channel types.

The discussion centered around "how to allow a client to bootstrap
itself to find out HOW to print to this printer using this channel type". 
In
the queue-based Novell environment, this eventually means finding the
name of the queue(s) which is(are)  being serviced by this printer. 
A network shared printer services a queue either directly, that is the
printer is in queue server mode, or indirectly, the printer is in nprinter
mode and is attached to a pserver which is servicing the queue.

I suggested that we needed to include all queue information in the
channel table to realize this goal.  However, it is possible to get by with
just the pserver (or nprinter) info since all of the configuration info
(which queues are being serviced) is in the name service associated
with the objects that represent the pserver or nprinter.    A printer in
pserver
mode, logs in, gets all of the queue info from the objects in the name 
service, and starts polling those queues.  The printer need not store this
info persistently since it can always go back to the name service to get its
configuration info.  

A client could do the SAME thing.  Once it knows the
pserver info, it could follow that object's configuration back through the
name service in order to get the queue info.  It then knows
how to submit a job to the printer.

To review, there are two channel types and each is supprted in the
3.x and/or 4.x environments:

chNetwareRPrinter(9), -- Novell, Inc.
-- For each entry of this type, the prtChannelInformation
-- must have a pair of keywords.  For NetWare 3.x channels
-- this must be a {PServer, Printer} pair.  For  NetWare 4.x
-- channels and for IntranetWare channels this must be a
-- {NDSTree, NDSPrinter} pair.
-- prtChannelInformation keywords:
--
-- Print Server Name
-- Keyword: "PServer"
-- Syntax: Name
-- Multiplicity: Single
-- Description: The PServer's SAP name
--
-- Printer Number
-- Keyword: "Printer"
-- Syntax: Integer
-- Status: 
-- Multiplicity Single
-- Description: The printer number

-- NDS Tree
-- Keyword: "NDSTree"
-- Syntax: Name
-- Multiplicity: Single
-- Description: The tree's SAP name
--
-- NDS Printer object
-- Keyword: "NDSPrinter"
-- Syntax: Text (encoded unicode)
-- Status: 
-- Multiplicity Single
-- Description: The fully qualified name of the Printer
-- 
-- In the 3.x environment, the client checks the Bindery object
-- representing the named PServer.  The client then checks for
-- queues which are associated with the numbered Printer. 
-- In the 4.x and IntranetWare  case, the client looks up the queues
-- which are associated with the NDS Printer object in the named
-- Tree.  Depending on client access rights to those queues, the
-- client submits jobs to the appropriate queue.

chNetwarePServer(10), -- Novell, Inc.
-- For each entry of this type, the prtChannelInformation
-- must have a pair of keywords.  For NetWare 3.x channels
-- this must be a {Server, PServer} pair.  For  NetWare 4.x
-- channels and for IntranetWare channels this must be a
-- {NDSTree, NDSPServer} pair.

-- prtChannelInformation keywords:
-- Server Name
-- Keyword: "Server"
-- Syntax: Name
-- Status: 
-- Multiplicity Single
-- Description: The SAP name of the server for
-- which the PServer is defined
--
-- PServer
--
-- Name: "PServer"
-- Syntax: Name
-- Status: 
-- Multiplicity Single
-- Description: The Bindery name of the
-- PServer
--
-- NDS Tree
--
-- Keyword: "NDSTree"
-- Syntax: Name
-- Status: 
-- Multiplicity: Single
-- Description: The NDS Tree name
--
-- PServer
--
-- Keyword: "NDSPServer"
-- Syntax: Text (encoded unicode)
-- Status: 
-- Multiplicity Single
-- Description: The fully qualified name
-- of the PServer object in the tree
-- 
-- In the 3.x environment, the client checks the Bindery object
-- representing the named PServer on the named Server.  
-- In the 4.x and IntranetWare case, the client checks the NDS 
-- object representing the named PServer in the named Tree.
-- In either case, he client then checks for all queues associated that
-- PServer object.  Depending on client access rights to those 
-- queues, the client submits jobs to the appropriate queue.

************************************************************
Scott A. Isaacson
Print Services Consulting Engineer
Novell Inc., 122 E 1700 S, Provo, UT 84606
V: (801) 861-7366, (800) 453-1267 x17366
F: (801) 861-4025, E: [email-masked]
W: http://www.novell.com
************************************************************