Subject: PMP> Localization changes to Printer MIB

From: [email-masked]
Date: Fri, 6 Jun 1997 09:53:04 -0400

Ira McDonald on 4/16/97 raised on issue that the localization
specified in the Printer MIB is not adequate for the Japan/Asia/
Far East markets. Ira has developed the following proposal and
Chris and I think we should include it in the Printer MIB.
Any discussion?
--------------------------------------------------

 Add three new textual conventions:
 ----------------------------------

 PrtCurrentLocaleDisplayString ::= TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
         "The type for human-readable (NOT binary) string objects:
         a)  whose dynamic locale (language, country, code set) shall be
             indicated by the value of 'prtGeneralCurrentLocalization';
         b)  whose value (when updated by an SNMP Set-Request) shall be
             interpreted in this locale by the management agent;
         c)  whose value (when returned by an SNMP Get-Response) shall be
             interpreted in this locale by the management station."
     REFERENCE
         "See:   'prtGeneralCurrentLocalization' in the General group
                 of this Printer MIB."
     SYNTAX      OCTET STRING

 PrtConsoleLocaleDisplayString ::= TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
         "The type for human-readable (NOT binary) string objects:
         a)  whose dynamic locale (language, country, code set) shall be
             indicated by the value of 'prtGeneralConsoleLocalization';
         b)  whose value (when updated by an SNMP Set-Request) shall be
             interpreted in this locale by the management agent;
         c)  whose value (when returned by an SNMP Get-Response) shall be
             interpreted in this locale by the management station."
     REFERENCE
         "See:   'prtGeneralConsoleLocalization' in the General group
                 of this Printer MIB."
     SYNTAX      OCTET STRING

 PrtStaticLocaleDisplayString ::= TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
         "The type for human-readable (NOT binary) string objects:
         a)  whose static locale (language, country, code set) shall be
             indicated by the value of 'prtGeneralStaticLocalization';
         b)  whose value (when updated by an SNMP Set-Request) shall be
             interpreted in this locale by the management agent;
         c)  whose value (when returned by an SNMP Get-Response) shall be
             interpreted in this locale by the management station."
     REFERENCE
         "See:   'prtGeneralStaticLocalization' in the General group
                 of this Printer MIB."
     SYNTAX      OCTET STRING

 Update/Add to General group:
 ----------------------------

 prtGeneralCurrentLocalization OBJECT-TYPE
     SYNTAX      Integer32 (1..65535)
     MAX-ACCESS  read-write              -- write many, read many
     MIN-ACCESS  read-only               -- move to Conformance section
     STATUS      current
     DESCIRPTION
         "The value of 'prtLocalizationIndex' corresponding to the
         language, country, and character set to be used when
         interpreting dynamically localized 'human-readable' string
         objects of type 'PrtCurrentLocaleDisplayString'.  This object
         shall not apply to strings of 'PrtConsoleLocaleDisplayString'
         or 'PrtStaticLocaleDisplayString' type.

         Usage:  This object may be updated (repeatedly) during normal
         operation of this network printer or network print server."
     REFERENCE
         "See:   'prtGeneralConsoleLocalization' (console strings) and
                 'prtGeneralStaticLocalization' (static strings)
                 objects in the General group of this Printer MIB."
     ::= { prtGeneralEntry 2 }

 prtGeneralConsoleLocalization OBJECT-TYPE
     SYNTAX      Integer32 (1..65535)
     MAX-ACCESS  read-write              -- write many, read many
     MIN-ACCESS  read-only               -- move to Conformance section
     STATUS      current
     DESCIRPTION
         "The value of 'prtLocalizationIndex' corresponding to the
         language, country, and character set to be used when
         interpreting console localized 'human-readable' string
         objects of type 'PrtConsoleLocaleDisplayString'.  This object
         shall not apply to strings of 'PrtCurrentLocaleDisplayString'
         or 'PrtStaticLocaleDisplayString' type.

         Usage:  This object may be updated (repeatedly) during normal
         operation of this network printer or network print server."
     REFERENCE
         "See:   'prtGeneralCurrentLocalization' (dynamic strings) and
                 'prtGeneralStaticLocalization' (static strings)
                 objects in the General group of this Printer MIB."
     ::= { prtGeneralEntry 10 }

 prtGeneralStaticLocalization OBJECT-TYPE
     SYNTAX      Integer32 (1..65535)
     MAX-ACCESS  read-write              -- write once, read many
     MIN-ACCESS  read-only               -- move to Conformance section
     STATUS      current
     DESCIRPTION
         "The value of 'prtLocalizationIndex' corresponding to the
         language, country, and character set to be used when
         interpreting statically localized 'human-readable' string
         objects of type 'PrtStaticLocaleDisplayString'.  This object
         shall not apply to strings of 'PrtCurrentLocaleDisplayString'
         or 'PrtStaticLocaleDisplayString' type.

         Usage:  This object may be updated (at most) once at 'device
         install' time for this network printer or network print server."
     REFERENCE
         "See:   'prtGeneralCurrentLocalization' (dynamic strings) and
                 'prtGeneralConsoleLocalization' (console strings)
                 objects in the General group of this Printer MIB."
     ::= { prtGeneralEntry 20 }

 Change the SYNTAX of these objects to 'PrtCurrentLocaleDisplayString':
 ----------------------------------------------------------------------

 prtCoverDescription
 prtInputDescription
 prtOutputDescription
 prtMarkerSuppliesDescription
 prtMediaPathDescription
 prtInterpreterDescription
 prtAlertDescription

 Change the SYNTAX of these objects to 'PrtConsoleLocaleDisplayString':
 ----------------------------------------------------------------------

 prtConsoleDisplayBufferText
 prtConsoleDescription

 Change the SYNTAX of these objects to 'PrtStaticLocaleDisplayString':
 ---------------------------------------------------------------------

 prtGeneralCurrentOperator
 prtGeneralServicePerson
 prtGeneralAdminName
 prtGeneralSerialNumber
 prtLocalizationLanguage
 prtLocalizationCountry
 prtInputMediaName
 prtInputName
 prtInputVendorName
 prtInputModel
 prtInputVersion
 prtInputSerialNumber
 prtInputMediaType
 prtInputMediaColor
 prtOutputName
 prtOutputVendorName
 prtOutputModel
 prtOutputVersion
 prtOutputSerialNumber
 prtMarkerColorantValue
 prtChannelProtocolVersion
 prtInterpreterLangLevel
 prtInterpreterLangVersion
 prtInterpreterVersion

Lloyd Young                       Lexmark International, Inc.
Senior Program Manager            Dept. C14L/Bldg. 035-3
Strategic Alliances               740 New Circle Road NW
internet: [email-masked]     Lexington, KY 40550
Phone: (606) 232-5150             Fax: (606) 232-6740

---

From: [email-masked] (Ira Mcdonald x10962)
Date: Fri, 6 Jun 1997 11:41:18 PDT

Hi Lloyd and Chris,

Thanks for your support.  We appreciate it.

Cheers,
- Ira McDonald (outside consultant at Xerox)
  High North Inc
  PO Box 221
  Grand Marais, MI  49839
  906-494-2434

-------------------------- Lloyd's message -----------------------------
>From [email-masked] Fri Jun  6 10:00:56 1997
From: [email-masked]
To: [email-masked]
Date: Fri, 6 Jun 1997 06:53:04 PDT
Subject: PMP> Localization changes to Printer MIB
Sender: [email-masked]
Status: R

 prtCoverDescription
 prtInputDescription
 prtOutputDescription

---

From: [email-masked] (Ira Mcdonald x10962)
Date: Tue, 10 Jun 1997 17:48:15 PDT

Hi Bob,

Thanks for commenting.  To reply:

1)  ONE new object 'prtGeneralStaticLocalization'
    - the object 'prtGeneralConsoleLocalization' is vintage
      Printer MIB v1 (1995 text) - nothing new
2)  As Randy observed during the 22 April PMP telecon, because
    the SYNTAX of the three new textual conventions is
    'OCTET STRING' (without even a length qualification),
    the effect is clarity, with NO change of object type

The textual conventions simply make explicit the information
which is currently buried in DESCRIPTION clauses (ie, which
'prtGeneral...Localization' object controls their locale).

Lastly, and MOST important (my whole proposal aside), is that
the Printer MIB (including Randy's draft of 5 June for the I-D)
forbids the use of ANY character set except ASCII for ALL of
the strings not under 'prtGeneralCurrentLocalization' (7)
or 'prtGeneralConsoleLocalization' (2) - this is roughly 25
other string objects including ALL of the 'xxxName' objects.
This is a serious problem in markets other than Europe or
North America.

Cheers,

>------------------ Bob's note -------------------------<
>From [email-masked] Tue Jun 10 18:19:01 1997
From: Bob Pentecost <[email-masked]>
To: "[email-masked]" <[email-masked]>
Subject: RE: PMP> Localization changes to Printer MIB
Date: Tue, 10 Jun 1997 15:08:54 PDT
Sender: [email-masked]
Status: R

First a question, then some comments.

Will the two new objects, prtGeneralConsoleLocalization and =
prtGeneralStaticLocalization, be mandatory or optional?

My main concern is the magnitude of the changes that we are inducing at =
this late stage. I recalled this topic being discussed in a phone =
conference so I found the following in the minutes (conf-call-970422):
-----------
4. Should the phone:, fax: and email: tags be used in non 8-bit =
environments?  non-English environments?
Ira discussed his proposal for three Textual Conventions for grouping =
all currently defined strings.  Randy also discussed his proposal that =
the current localization should apply to all read/write strings that are =
intended to be human readable and are not explicitly controlled by =
prtConsoleLocalization. =20

After much group discussion, it was agreed that Randy will review Ira's =
proposal and send a recommendation to the mailing list.  The goal is to =
allow the strings to be localized with a minimal impact to the document.
-----------

I don't think the goal of "minimal impact to the document" has been =
reached. We are looking at:
   -- Adding two new objects.
   -- Adding three new textual conventions.
   -- Changing the syntax of 33 objects.

I don't believe a change of this magnitude should go into the document =
just before we submit it. Remember Lloyd's guidelines that said we are =
looking for editorial changes only at this point in time.

Bob Pentecost
HP

----------
From:  [email-masked][SMTP:[email-masked]]
Sent:  Friday, June 06, 1997 7:53 AM
To:  [email-masked]
Subject:  PMP> Localization changes to Printer MIB

 PrtCurrentLocaleDisplayString ::=3D TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
         "The type for human-readable (NOT binary) string objects:
         a)  whose dynamic locale (language, country, code set) shall be
             indicated by the value of 'prtGeneralCurrentLocalization';
         b)  whose value (when updated by an SNMP Set-Request) shall be
             interpreted in this locale by the management agent;
         c)  whose value (when returned by an SNMP Get-Response) shall =
be
             interpreted in this locale by the management station."
     REFERENCE
         "See:   'prtGeneralCurrentLocalization' in the General group
                 of this Printer MIB."
     SYNTAX      OCTET STRING

 PrtConsoleLocaleDisplayString ::=3D TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
         "The type for human-readable (NOT binary) string objects:
         a)  whose dynamic locale (language, country, code set) shall be
             indicated by the value of 'prtGeneralConsoleLocalization';
         b)  whose value (when updated by an SNMP Set-Request) shall be
             interpreted in this locale by the management agent;
         c)  whose value (when returned by an SNMP Get-Response) shall =
be
             interpreted in this locale by the management station."
     REFERENCE
         "See:   'prtGeneralConsoleLocalization' in the General group
                 of this Printer MIB."
     SYNTAX      OCTET STRING

 PrtStaticLocaleDisplayString ::=3D TEXTUAL-CONVENTION
     STATUS      current
     DESCRIPTION
         "The type for human-readable (NOT binary) string objects:
         a)  whose static locale (language, country, code set) shall be
             indicated by the value of 'prtGeneralStaticLocalization';
         b)  whose value (when updated by an SNMP Set-Request) shall be
             interpreted in this locale by the management agent;
         c)  whose value (when returned by an SNMP Get-Response) shall =
be
             interpreted in this locale by the management station."
     REFERENCE
         "See:   'prtGeneralStaticLocalization' in the General group
                 of this Printer MIB."
     SYNTAX      OCTET STRING

     ::=3D { prtGeneralEntry 2 }

     ::=3D { prtGeneralEntry 10 }

         Usage:  This object may be updated (at most) once at 'device
         install' time for this network printer or network print =
server."
     REFERENCE
         "See:   'prtGeneralCurrentLocalization' (dynamic strings) and
                 'prtGeneralConsoleLocalization' (console strings)
                 objects in the General group of this Printer MIB."
     ::=3D { prtGeneralEntry 20 }

 prtCoverDescription
 prtInputDescription
 prtOutputDescription

---

From: [email-masked] (Ira Mcdonald x10962)
Date: Wed, 11 Jun 1997 07:18:19 PDT

Hi folks,

Seeing the responses and then reading what I sent out two
months ago, I realize that in the interests of terseness
I was very unclear about the impact of my proposal.  So
a few corrections.

While the SYNTAX clause of the OBJECT-TYPE macro for
most strings would change to use one of the three
new string-type textual conventions, the actual syntax
of the objects would remain the same (they are now
OCTET STRING and they would remain OCTET STRING with
the same SIZE clauses).

Only ONE new object was proposed:
    prtGeneralStaticLocalization 

And the DESCRIPTION of this object should probably
state that it is "updated (infrequently) by system
administrators when they install, upgrade, or move
to another network location the managed device."
(This is in response to David Perkins criticisms
that Chris posted.)

At the 22 April PMP telecon, Randy mentioned that some
strings are not suitable for re-localization.  He is of
course right - the mnemonics line 'US', 'EN', from ISO
or IANA stds, the 'prtInputMediaName' (which needs to
be a well-known set of strings, to be useful), the
new 'prtChannelInformation' object (although NOT
localizing it still gives a problem for a server name
in a non-English environment or worse a non-8-bit
environment).

So, how about FOUR textual conventions:

PrtCurrentLocaleString
PrtConsoleLocaleString
PrtStaticLocaleString
PrtEnglishASCIILocaleString

Cheers,
- Ira McDonald (outside consultant at Xerox
  High North Inc
  PO Box 221
  Grand Marais, MI  49839
  906-494-2434

---

From: Bob Pentecost <[email-masked]>
Date: Wed, 11 Jun 1997 10:56:25 -0600

Ira,

You're right; there's only one new object being proposed. I appreciate the efforts to clean things up, but my concern at this point is inducing turmoil this close to the end. I feel like this is similar to the completion of a software project and the last thing one does at the end of a project is throw in a bunch of changes, even when they seem to be innocuous. 

After thinking about this change some more, it looks like the nature of this change is quite different from any of the others that we've made before. Aside from the numerous clarifications that we've done, I found the following list from one of Lloyd's messages:

1. Several Textual Conventions were added in the new
   Printer MIB that were not present in RFC1759:
   z Tom Hastings write up why new TC's were added

General Printer Group changes:

1. Six new objects were added to the General Printer Group:

  prtGeneralStartupPage         PresentOnOff  - Tom Hastings
  prtGeneralBannerPage          PresentOnOff  - Tom Hastings
  prtGeneralAdminName           Octet string  - Jay Martin
  prtGeneralSerialNumber        Octet string  - Harry Lewis
  prtAlertCriticalEvents        Counter32     - Bob Pentecost
  prtAlertAllEvents             Counter32     - Bob Pentecost

Input Group Changes

1. A group was added: The Input Switching Group

  prtInputMediaLoadTimeout      Integer32     - Angelo Caruso
  prtInputNextIndex             Integer32     - Angelo Caruso

Print Job Delivery Channel Group changes

1. One new object was added:
  prtChannelInformation         DisplayString - David Kellerman

These are all new objects that don't change the functionality of the existing objects. The change being proposed pulls out some of the current functionality of prtGeneralCurrentLocalization and puts it in prtGeneralStaticLocalization. The problem that I see this causing is what happens when a customer connects their new printer and tries to manage it with their existing management software (we know that customers tend to update their software much less frequently than they add printers). If they try to set the new printer's localization, they will find that it is only partially localized. 

This change breaks existing software; therefore, it needs more thought before it goes into the Printer MIB.

Bob Pentecost
HP

----------
From:  Ira Mcdonald x10962[SMTP:[email-masked]]
Sent:  Wednesday, June 11, 1997 8:18 AM
To:  [email-masked]
Subject:  RE: PMP> Localization changes to Printer MIB

Hi folks,

PrtCurrentLocaleString
PrtConsoleLocaleString
PrtStaticLocaleString

Cheers,

---

From: "Caruso,Angelo" <[email-masked]>
Date: Wed, 11 Jun 1997 14:49:41 PDT

Bob,

> These are all new objects that don't change the functionality of the 
 existing objects.
> The change being proposed pulls out some of the current functionality of
> prtGeneralCurrentLocalization and puts it in 
 prtGeneralStaticLocalization. The
> problem that I see this causing is what happens when a customer 
 connects their new
> printer and tries to manage it with their existing management 
 software (we know that
> customers tend to update their software much less frequently than 
 they add printers).
> If they try to set the new printer's localization, they will find 
 that it is only partially
> localized. 
>
> This change breaks existing software; therefore, it needs more 
 thought before it 
> goes into the Printer MIB.

I talked with Ira this afternoon and want to try and clarify this a 
 little more. Ira's laptop just died so you won't see any mail from him 
 for a few days. My understanding of Ira's proposal:

1) All objects localized according to prtGeneralCurrentLocalization 
 would continue to be localized according to that object (with their 
 SYNTAX changed to PrtCurrentLocaleString for clarity).
2) All objects localized according to prtConsoleLocalization  would 
 continue to be localized according to that object (with their SYNTAX 
 changed to PrtConsoleLocaleString for clarity).
3) Objects suitable for static localization (e.g. prtInputName) would 
 be localized according to the new object prtGeneralStaticLocalization 
 (with their SYNTAX changed to PrtStaticLocaleString for clarity).
4) Objects not suitable for localization (e.g. prtInputMediaName and 
 prtLocalizationLanguage) would remain forever unlocalized (with their 
 SYNTAX changed to PrtEnglishASCIIString for clarity).

Your statement above, "The change being proposed pulls out some of the 
 current functionality of prtGeneralCurrentLocalization and puts it in 
 prtGeneralStaticLocalization", is NOT what Ira is proposing. The new 
 object prtGeneralStaticLocalization would apply ONLY to objects which 
 are currently unlocalized. The prtGeneralCurrentLocalization object, 
 which currently provides only a partial localization, would continue 
 to provide exactly the same partial localization.

Thanks,
Angelo

---

From: [email-masked]
Date: Thu, 12 Jun 1997 14:54:08 PST

I don't know what to do about Ira's localization changes.  It reallys
seems to me that (a) they're not in finished form, (b) they cover ground
worked thoroughly in the past (in the discussion list as well as
meetings, with all due protocol, despite Chris's comments, over a
considerable span of time during the last two years), (c) they're not
getting the sort of attention needed to ensure that they're the right
thing to do and are done well (Randy hasn't had the time to review; lack
of comments on the discussion list). 

Ira, I don't like to be the butt-head on this, because I realize the
topic is significant and your effort is well-intentioned.   But I don't
think the changes are "in scope," given the stated limits on changes at
this stage.  I think they're too late. 

::  David Kellerman         Northlake Software      503-228-3383
::  [email-masked] Portland, Oregon        fax 503-228-5662

---

From: Bob Pentecost <[email-masked]>
Date: Fri, 13 Jun 1997 18:25:10 -0600

Ira & Angelo,

Thanks for clearing up some of this for me. With your clarifications, 
I've taken another look at the proposal and have some questions about 
it (it seems that anytime someone looks closely at an area of the Printer 
MIB, questions arise :-).

I'll start with Angelo's recent response and then go back to the original 
proposal.

> ----------
>From:  Caruso,Angelo[SMTP:[email-masked]]
> Sent:  Wednesday, June 11, 1997 3:50 PM
> To:  [email-masked]

We need a list of the objects that are going to have their SYNTAX 
changed to PrtEnglishASCIIString.
>  to provide exactly the same partial localization.

And now, the original proposal.

Is this object mandatory or optional?

>          install' time for this network printer or network print =

I can't figure out if it is legal to update this object more than once ('may' and 'at most' are confusing). It seems to imply that it can be updated only once in the life of the printer. 

It would also be good to specify that changing the value of this object will require the values of all the writable objects that are localized according to this one to be changed (or would they return to a default value?)

>  Change the SYNTAX of these objects to 'PrtCurrentLocaleDisplayString':

The above are all read-only objects, so this looks okay to me.

>  Change the SYNTAX of these objects to 'PrtConsoleLocaleDisplayString':

If a management application writes a value to prtConsoleDisplayBufferText, it must be localized according to prtGeneralConsoleLocalization. If the value of prtGeneralConsoleLocalization is changed, the management application should rewrite the value according to the new localization. (Note: We must be willing to live with this since this isn't a new problem.)

>  Change the SYNTAX of these objects to 'PrtStaticLocaleDisplayString':

The above object is now prtGeneralPrinterName.

>From Ira's 6/11 message:

> PrtEnglishASCIILocaleString

By adding the fourth textual convention PrtEnglishASCIILocaleString, I assume some of the objects under the 'PrtStaticLocaleDisplayString' list above would be moved. prtLocalizationLanguage and prtInputMediaName have been mentioned explicitly, while prtLocalizationCountry has been implied. It's not immediately clear to me which objects should have their SYNTAX changed to PrtEnglishASCIILocaleString (prtInputSerialNumber and prtOutputSerialNumber seem to be candidates).

SUMMARY
The chronology of this proposal has been:
   4/20 - Proposal posted by Ira.
   4/22 - PMP phone conference; Randy was to review proposal and send recommendation.
   6/6 - Lloyd re-posts the proposal asking for discussion (which, in PWG fashion, ensues).
   6/10 - Ira adds a fourth textual convention to his original proposal.

I appreciate the problem that Ira is trying to fix. However, at this point in time the proposal is incomplete since the list of objects that would be changed for syntax type PrtEnglishASCIILocaleString is not available. This proposal causes many changes in the document which makes for many opportunities to break things unintentionally. We are trying to get the Printer MIB published and have already missed our deadlines. Let's quit trying to fix "one more thing" and get the document out.

Bob Pentecost
HP