Date: Wed, 28 Oct 1998 07:14:05 PST From: imcdonal@eso.mc.xerox.com (Ira Mcdonald x10962) Message-Id: <9810281514.AA15079@snorkel.eso.mc.xerox.com> To: Pete.StPierre@eng.sun.com, hastings@cp10.es.xerox.com, imcdonal@eso.mc.xerox.com, ipp@pwg.org, robert.herriot@eng.sun.com Subject: IPP> DIR - Revised text for SLP 'printer:' template Sender: owner-ipp@pwg.org Status: R Hi folks, Since I've had no comments from my fellow editors on the following SLP 'printer:' template in the past week, I'm forwarding it to the IPP WG for comment. To read it, you'll need the latest 'service:' scheme spec (see note below) and Pete's last draft of SLP 'printer:' template spec (from March 1998, sorry I don't have the URL in front of me - all drafts on SLP are of the form 'draft-ietf-svrloc-xxx.txt' at 'ftp://ftp.ietf.org/internet-drafts'). I'd like to discuss the updated SLP 'printer:' template at our IPP WG Telecon next week (Wednesday, 4 November 1998). Cheers, - Ira McDonald (outside consultant at Xerox) High North Inc 906-494-2434 ---------------------------------- Copies: Pete St. Pierre Tom Hastings Bob Herriot Ira McDonald Hi Pete, Tom, and Bob Wednesday (21 October 1998) As the primary editors of SLP 'printer:' template, IPP Model, and IPP Encoding and Transport, I'm sending this along to you first for review. Here's a few more references, a change log, and my proposed text for the next version of the SLP 'printer:' template. Briefly, several attribute names grew the '-supported' suffix, because they were multi-valued capabilities info. And I added a comment to every attribute showing the primary source document (IPP, Printer MIB, or Salutations) for the values and semantics of the attribute. Also this version conforms (I hope) to the latest "Service Templates and service: Schemes", , October 1998. Specifically, the 'language' attribute was deleted from the template (it's now explicit in the SLP protocol envelope in SLPv2). And the language of all IANA-registered templates is now English in SLPv2 (although templates may be translated to other languages for SLPv2 use). Please send your comments as inline text, so they survive the email gremlins...Pete, a reminder, I can't received any attachments...just inline text in email. Cheers, - Ira McDonald (outside consultant at Xerox) High North Inc PO Box 221 Grand Marais, MI 49839 906-494-2434 PS - My wife Nancy and I will be packing up and moving back to Rochester (NY) for the winter again in the next two weeks, so I'm going to have some interrupted availability (like a week with no email contact during our trip). So your prompt comments would be appreciated - thanks. ************************************************************************ **** Revised 'printer:' template - 21 October 1998 - Ira E McDonald **** ************************************************************************ * High Level Changes H1) 'version' was incremented to '0.2' (from '0.1'). H2) 'language = en' was deleted, per the latest draft of "Service Templates and service: Schemes", October 1998. H3) 'ippurl' reference in 'url-syntax' was changed to "IPP Transport and Encoding" [9], rather than the (incorrect) [3]. H4) Added a comment to each attribute, w/ the source attribute name in IPP (base document), Printer MIB (RFC 1759), or Salutations. H5) Revised various attribute descriptions for clarity or accuracy. (ie, consistency with IPP specs). * Detail Level Changes D1) 'uri-supported' (multi-valued and ordered) attribute was added, for use with (existing) 'uri-security-supported' - per IPP Model. D2) 'service-person' was moved up to follow \operator', for clarity - per Printer MIB. D3) 'natural-language-configured' was added (it was already referred to to as the language of other attributes in the previous draft), and attribute descriptions were revised to clarify which attributes are interpreted by 'natural-language-configured' - per IPP Model. D4) 'charset-configured' was added - per IPP Model. D5) 'duplex-mode' was revised to collapse to (original) Salutations keywords and (overlapping) IPP keywords were added to description. D6) 'media-supported' was revised to clarify that it contains ONLY the ISO 10175 media keywords, in fixed locale of 'en' (English). D7) 'media-local-supported' was revised to clarify that it contains ONLY the site-specific names, in 'natural-language-configured' locale. D8) 'color-supported' was revised to clarify that it covers ALL color capabilities, including highlight color printing - per IPP Model. D9) 'print-quality' was renamed to 'print-quality-supported' (could also have become 'print-quality-default', single valued) - per IPP Model. D10)'resolution' was renamed to 'resolution-supported' (could also have become 'resolution-default', single valued) - per IPP Model. D11)'copies' was renamed to 'copies-supported' - per IPP Model. D12)'job-k-octet-supported' was renamed to 'job-k-octets-supported' (typo in previous version of template) - per IPP Model. D13)'finishing' was renamed to 'finishings-supported' (could also have (become 'finishings-default') and explicit staple positions were removed - per IPP Model. (ISSUE - should we import the far more complete set of finishings in the latest IETF/PWG Finisher MIB draft?) D14)'delivery-orientation' (from Printer MIB) values of 'face-up' and 'face-down' had hyphens added for standard style. D15)'pages-per-minute' was added - per request of Angelo Caruso. * Corrected References [3]--change date to June 1998 (latest draft) [4]--change date to October 1998 (latest draft) * Additional References [9]R. Herriot, S. Butler, P. Moore, R. Turner, "IPP/1.0: Encoding and Transport", Work in progress, June 1998 [10]"Document Printing Application (DPA)", ISO/IEC 10175, June 1996. [11]IANA Registry of Internet Media Types (also called MIME types): ftp://ftp.isi.edu/in-notes/iana/assignments/media-types -------------------- template begins here -------------------- type = printer version = 0.2 description = The printer service template describes the attributes supported by network printing devices. Devices may be either directly connected to a network, or connected to a printer spooler that understands the a network queuing protocol such as IPP, lpr or the Salutation Architecture. url-syntax = url-path = ippurl / lprurl ippurl = url as defined in [9] lprurl = "lpr://" hostport [ "/" qname ] hostport = host [ ":" port ] host = hostname / hostnumber hostname = *( domainlavel "." ) toplabel domainlabel = alphanum / alphanum * [alphanum / "-"] alphanum toplabel = alpha / alpha * [alphanum / "-"] alphanum hostnumber = ipv4-number / ipv6-number ipv4-number = 1*3digit 3*3("." 1*3digit) ipv6-number = 32*hex 3digit = digit digit digit port = 1*digit alphanum = alpha / digit alpha = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" / "j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" / "s" / "t" / "u" / "v" / "w" / "x" / "y" / "z" / "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" / "K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" / "T" / "U" / "V" / "W" / "X" / "Y" / "Z" digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" name = STRING # IPP 'printer-name' # This attribute contains the name of this printer, # in the locale specified by 'natural-language-configured'. # An administrator determines a printer's name and sets this # attribute to that name. This name may be the last part of # the printer's URI or it may be unrelated. In # non-US-English locales, a name may contain characters # that are not allowed in a URI. description = STRING # IPP 'printer-info' # This attribute contains the description of this printer, # in the locale specified by 'natural-language-configured'. # A free form string that can contain any site-specific # descriptive information about this printer. printer-more-info = STRING L O # IPP 'printer-more-info' # A URI used to obtain more information about # this specific printer. For example, this could # be an HTTP type URI referencing an HTML page accessible # to a Web Browser. The information obtained from this # URI is intended for end user consumption. Features # outside the scope of IPP can be accessed from this URI. uri-supported = STRING L M O # IPP 'printer-uri-supported' # The ordered list of URI supported by this printer, # correlated with the 'uri-security-supported' attribute. uri-security-supported = STRING L M O none # IPP 'uri-security-supported' # The ordered list of security supported for each URI # listed in the 'uri-supported' attribute for this printer. # TLS is one example. URIs that do not support a security # mechanism should specify 'none'. none, tls, ssl3 concrete-protocols = STRING L M # The names of the concrete protocol types supported # by the printer abstract service type. # Example values include 'http' (for IPP/1.0) and 'lpr' abstract-protocol = STRING L O # The name of the abstract protocol which may be run over # any concrete types listed. For example, the abstract # protocol 'ipp' might be run over the concrete types of # transport option). # in a future version of IPP # IPP/1.0 MUST operate over 'http' concrete protocol. # LPR MUST operate over 'lpr' concrete protocol. # Advertised service URLs MUST contain protocol schemes # advertised in the 'concrete-protocol' attribute above. lpr, ipp make-model = STRING O # IPP 'printer-make-and-model' # This attribute contains the make/model of this printer, # in the locale specified by 'natural-language-configured'. # A simple text string defined by the manufacturer. # It should provide the name of the vendor and the model # name or number location = STRING O # IPP 'printer-location' # This attribute contains the location of this printer, # in the locale specified by 'natural-language-configured'. # A free form description of this printer's physical # location For example: '2nd floor, near the fire escape' operator = STRING M O # Printer MIB 'prtGeneralCurrentOperator' # A person, or persons responsible for maintaining a # printer on a day-to-day basis. service-person = STRING M O # Printer MIB 'prtGeneralServicePerson' # A list of service contact names for this printer. natural-language-configured = STRING L # IPP 'natural-language-configured' # The configured language in which error and status messages # will be generated (by default) by this printer. # Also, the language in which printer string attributes are # set by operator or system administrator or manufacturer, # including 'name', 'description', 'make-model', 'location', # which are IPP 'printer-[name|info|location|make-model]'. # Legal values of language tags conform to RFC 1766 # 'Tags for the Identification of Languages' [5]. natural-language-supported = STRING L M # IPP 'generated-natural-language-supported' # The possible languages in which error and status messages # may be generated (if requested) by this printer. # Legal values of language tags conform to RFC 1766 # 'Tags for the Identification of Languages' [5]. charset-configured = STRING L utf-8 # IPP 'charset-configured' # The configured charset in which error and status messages # will be generated (by default) by this printer, # for example UTF-8, Shift-JIS, or ISO-8859-1 (Latin1). # Legal values of charset tags (names/aliases) come from # the IANA Registry of Coded Character Sets [6]. charset-supported = STRING L M utf-8 # IPP 'charset-supported' # The possible charsets in which error and status messages # may be generated (if requested) by this printer, # for example UTF-8, Shift-JIS, or ISO-8859-1 (Latin1). # Legal values of charset tags (names/aliases) come from # the IANA Registry of Coded Character Sets [6]. duplex-mode = STRING L M O simplex # Salutations 'duplex-mode' # (Compare with IPP 'sides') # The number of impression sides (one or two) and the # two-sided impression rotations supported by this printer. # IPP 'one-sided' is equivalent to 'simplex'. # IPP 'two-sided-long-edge' is equivalent to 'duplex'. # IPP 'two-sided-short-edge' is equivalent to 'tumble'. simplex, duplex, tumble priority-levels-supported = INTEGER O 1 # Salutations 'priority-levels-supported' # The number of priority levels supported by this printer. # A value of 1 indicates all jobs have the same priority. number-up = INTEGER O 1 # IPP 'number-up' # Specifies the number of source page-images to impose # upon a single side of an instance of a selected # medium. media-supported = STRING L M O # IPP 'media-supported' - only the standard keyword values # The standard names/types/sizes (and optional color # suffixes) of the media supported by this printer. # The values specified are NOT localized according to the # value of 'natural-language-configured', but are in a # fixed locale of 'en' (English). For example # 'iso-a4' or 'envelope' or 'na-letter-white'. # Legal values of this attribute conform to ISO 10175 # 'Document Printing Application (DPA)' [10]. media-local-supported = STRING M O # IPP 'media-supported' - only the site-specific values # The site-specific names/types/sizes (and optional color # suffixes) of the media supported by this printer, # in the locale specified by 'natural-language-configured'. # For example 'purchasing-form' (site-specific name) # as opposed to 'na-letter' (standard keyword from [10]). color-supported = BOOLEAN O false # IPP 'color-supported' # Indicates whether the printer is capable of any type of # color printing at all, including highlight color. document-format-supported = STRING L M O # IPP 'document-format-supported' # The possible document formats in which data may be # interpreted and printed by this printer. # Legal values of document formats (MIME types) come from # the IANA Registry of Internet Media Types [11]. paper-output = STRING L M O standard # Salutations 'paper-output' # The mode in which pages output are arranged. standard, noncollated sort, collated sort, stack, unknown print-quality-supported = STRING L M O normal # IPP 'print-quality-supported' # The possible subjective print quality modes in which # documents may be printed by this printer. draft, normal, high resolution-supported = STRING L M O # IPP 'printer-resolution-supported' # The possible resolutions in which documents may be # printed by this printer (in sets of three values). # A string reprentation of 3 comma (',') separated integers # where each integer itself is represented as a string. # The 3 integers represent in order: 1) a cross feed # direction resolution (positive integer value), 2) a feed # direction resolution (positive integer value), and 3) # a units value. In the latter case, a '3' indicates # dots per inch and a '4' indicates dots per centimeter. # These values are derived from the Printer MIB [6]. copies-supported = INTEGER O -1 # IPP 'copies-supported' # The maximum number of copies of a document # that may be printed as a single job. # A value of -1 indicates there is no limit. job-k-octets-supported = INTEGER O -1 # IPP 'job-k-octets-supported' # The maximum size, in kilobytes, of a print job that # this printer will accept. # A value of -1 indicates there is no limit. finishings-supported = STRING L M O none # IPP 'finishings-supported' # The possible finishing operations supported by this # printer. none, staple, punch, cover, bind delivery-orientation = STRING L O unknown # Printer MIB 'prtOutputPageDeliveryOrientation' # Orientation of pages as they are printed and ejected from # the printer. unknown, face-up, face-down pages-per-minute = INTEGER O # IPP 'pages-per-minute' (proposed new attribute) # The optimal number of pages per minute which may be # generated by this printer (eg, simplex, black-and-white). # This attribute is informative, NOT a service guarantee. -------------------- template ends here ----------------------