Subject: PMP> Improved Static Localization (per Angelo C)

From: [email-masked] (Ira Mcdonald x10962)
Date: Thu, 26 Jun 1997 18:40:58 PDT

Reply To: PMP> New Printer MIB draft

Hi Lloyd, Angelo, and PMP folks,                 Thursday (26 June 1997)

During a break in this afternoon's IPP Telecon, Lloyd Young brought
hardcopy of yesterday's draft of the Printer MIB into the Nashua
conference room.  A brief, lively discussion ensued.

Angelo Caruso suggested to me (and others in the conference room) that
an even BETTER way to specify the 'static' locale of a managed system
(than using an index into an entry in the 'prtLocalizationTable') was to
permit a remote management station (eg, system admin client tool) to Set
a locale which may NOT be currently 'known' to the managed system (ie,
the static locale may be 'opaque' to the managed system - not among the
locales 'known' via ROM/disk/etc).

ASN.1 for Angelo's suggestion follows (if someone else in the conference
room actually suggested the idea, my apologies - it was a little tricky
listening in this afternoon).

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

---------------------- Improved Static Localization --------------------

UPDATE the following (2) textual conventions in the Printer MIB (flagged
with double-arrows '>>' at updated lines):

PrtStaticLocaleDisplayStringTC ::= 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 combination of the values of
>>          'prtGeneralStaticLocale[Language|Country|CodeSet]';
        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:   'prtGeneralStaticLocale[Language|Country|CodeSet]'
>>              in the General group of this Printer MIB."
    SYNTAX      OCTET STRING (SIZE (0..255))

PrtEnglishASCIIDisplayStringTC ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The type for human-readable (NOT binary) string objects:
        a)  whose static locale (language, country, code set) shall be
            composed of the English language (invariant), any country
>>          (indicated by the value of 'prtGeneralStaticLocaleCountry'),
            and the NVT ASCII code set (invariant);
        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.

        Usage:  If the locale country is NOT 'English-speaking', then
        the code set shall nonetheless be NVT ASCII (a 7-bit code set!)
        and keywords/tags shall be in the English language (specified
        by an appropriate IETF or ISO standard, IANA registry, etc), but
        other data need NOT be in 'English' (eg, French w/out accents)."
    REFERENCE
>>      "See:   'prtGeneralStaticLocaleCountry' in the General group
                of this Printer MIB.
        See:    NVT ASCII description on pages 10-11 of IETF TELNET
                standard (RFC 854).
        See:    'DisplayString' textual convention on page 4 of the
                IETF SNMPv2-TC (RFC 1903).
        See:    Localization in the ISO POSIX.2 standard (ISO 9945-2).
        See:    Localization in the ISO C standard (ISO 9899)."
    SYNTAX      OCTET STRING (SIZE (0..255))

REMOVE the following (1) object from the General group:

prtGeneralStaticLocalization OBJECT-TYPE
    ...
    <text in current draft>
    ...
    ::= { prtGeneralEntry 20 }

ADD the following (3) objects to the General group:

prtGeneralStaticLocaleLanguage OBJECT-TYPE
    SYNTAX      PrtEnglishASCIIDisplayStringTC (SIZE (0..2))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A two character language code from ISO 639, specifying the
        language part of the locale (language, country, code set) to be
        used when interpreting statically localized 'human-readable'
        string objects of type 'PrtStaticLocaleDisplayStringTC'
        (for example 'en', 'gb', 'ca', 'fr', 'de', etc).

        Usage:  A blank string (two space characters) shall indicate
        that the static locale language is not defined in ISO 639.

        Usage:  This object is updated (infrequently) by system
        administrators when they install, upgrade, or move the managed
        system (to another physical and/or network location).

        Usage:  This object need NOT contain a value which is 'known'
        to this network printer or network print server, and need NOT
        contain a value found in some 'prtLocalizationLanguage'
        object instance currently present in the 'prtLocalizationTable'
        (ie, the static locale may be 'opaque' to the managed system)."
    REFERENCE
        "See:   'prtGeneralCurrentLocalization' (dynamic strings),
                'prtGeneralConsoleLocalization' (console strings), and
                'prtGeneralStaticLocale[Country|CodeSet]'
                objects in the General group of this Printer MIB."
    ::= { prtGeneralEntry 20 }

prtGeneralStaticLocaleCountry OBJECT-TYPE
    SYNTAX      PrtEnglishASCIIDisplayStringTC (SIZE (0..2))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A two character country code from ISO 3166, specifying the
        country part of the locale (language, country, code set) to be
        used when interpreting statically localized 'human-readable'
        string objects of type 'PrtStaticLocaleDisplayStringTC'
        (for example 'US', 'FR', 'DE', etc).

        Usage:  A blank string (two space characters) shall indicate
        that the static locale country is not defined in ISO 3166.

        Usage:  This object is updated (infrequently) by system
        administrators when they install, upgrade, or move the managed
        system (to another physical and/or network location).

        Usage:  This object need NOT contain a value which is 'known'
        to this network printer or network print server, and need NOT
        contain a value found in some 'prtLocalizationLanguage'
        object instance currently present in the 'prtLocalizationTable'
        (ie, the static locale may be 'opaque' to the managed system)."
    REFERENCE
        "See:   'prtGeneralCurrentLocalization' (dynamic strings),
                'prtGeneralConsoleLocalization' (console strings), and
                'prtGeneralStaticLocale[Language|CodeSet]'
                objects in the General group of this Printer MIB."
    ::= { prtGeneralEntry 21 }

prtGeneralStaticLocaleCodeSet OBJECT-TYPE
    SYNTAX      CodedCharSet
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A code set from the IANA Character Set registry, specifying the
        code set part of the locale (language, country, code set) to be
        used when interpreting statically localized 'human-readable'
        string objects of type 'PrtStaticLocaleDisplayStringTC'.

        Usage:  This object is updated (infrequently) by system
        administrators when they install, upgrade, or move the managed
        system (to another physical and/or network location).

        Usage:  This object need NOT contain a value which is 'known'
        to this network printer or network print server, and need NOT
        contain a value found in some 'prtLocalizationCharacterSet'
        object instance currently present in the 'prtLocalizationTable'
        (ie, the static locale may be 'opaque' to the managed system)."
    REFERENCE
        "See:   'prtGeneralCurrentLocalization' (dynamic strings),
                'prtGeneralConsoleLocalization' (console strings), and
                'prtGeneralStaticLocale[Language|Country]'
                objects in the General group of this Printer MIB."
    ::= { prtGeneralEntry 22 }

---

From: Bob Pentecost <[email-masked]>
Date: Fri, 27 Jun 1997 15:34:50 -0600

Ira,

I think this solution is better than the one in the latest draft of the Printer MIB, but I'm afraid that it needs to be carried further. There are two types of objects of type PrtStaticLocaleDisplayStringTC, read-write and read-only. I think it is only the read-write objects you want to be of type PrtStaticLocaleDisplayStringTC since the read-only objects (e.g.,  prtInputVendorName, prtInputModel, prtInputVersion, prtInputSerialNumber...) cannot be localized if the printer does not contain the needed information. Furthermore, should localization information for the previously mentioned objects be added in order to allow the management application to know how to display those objects?

Bob Pentecost
HP

----------
From:  Ira Mcdonald x10962[SMTP:[email-masked]]
Sent:  Thursday, June 26, 1997 7:41 PM
To:  [email-masked]; [email-masked]
Subject:  PMP> Improved Static Localization (per Angelo C)

Cheers,

---------------------- Improved Static Localization --------------------

                of this Printer MIB.

---

From: [email-masked] (Ira Mcdonald x10962)
Date: Sun, 29 Jun 1997 09:58:00 PDT

Hi Bob,

Actually I did NOT mean to discriminate between objects which
happen to be 'read-only' in the Printer MIB versus ones which
are 'read-write' for the 'PrtStaticLocaleDisplayStringTC'
string objects.

Out-of-band protocols and/or local console interactions by
system administrators may ALSO change the value of 'read-only'
objects.  

My MAIN point w/ 'PrtStaticLocaleDisplayStringTC' is to
provide unambiguous information about the language, country,
and code set of these strings for use by both vendor-specific
and open systems print clients and monitor applications.
That is what my FujiXerox peers are also most concerned
about.

Cheers,
- Ira McDonald
  High North Inc
  906-494-2434

PS - Why did you bother to give this constructive input
and criticism in the following note and then (in your
subsequent) note demand the removal of ALL of my suggested
changes for localization clarifications?  But thank you
for the useful input and discussion anyway...

--------------------------- Bob's note -----------------------
>From [email-masked] Sun Jun 29 11:58:32 1997
From: Bob Pentecost <[email-masked]>
To: "'Ira Mcdonald x10962'" <[email-masked]>
Cc: "'PWG-pmp'" <[email-masked]>
Subject: RE: PMP> Improved Static Localization (per Angelo C)
Date: Fri, 27 Jun 1997 14:34:50 PDT
Status: R

Ira,

I think this solution is better than the one in the latest draft of the =
Printer MIB, but I'm afraid that it needs to be carried further. There =
are two types of objects of type PrtStaticLocaleDisplayStringTC, =
read-write and read-only. I think it is only the read-write objects you =
want to be of type PrtStaticLocaleDisplayStringTC since the read-only =
objects (e.g.,  prtInputVendorName, prtInputModel, prtInputVersion, =
prtInputSerialNumber...) cannot be localized if the printer does not =
contain the needed information. Furthermore, should localization =
information for the previously mentioned objects be added in order to =
allow the management application to know how to display those objects?

Bob Pentecost
HP

----------

Cheers,

---------------------- Improved Static Localization --------------------

PrtStaticLocaleDisplayStringTC ::=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

PrtEnglishASCIIDisplayStringTC ::=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
            composed of the English language (invariant), any country

                of this Printer MIB.

prtGeneralStaticLocalization OBJECT-TYPE
    ...
    <text in current draft>
    ...
    ::=3D { prtGeneralEntry 20 }

    ::=3D { prtGeneralEntry 20 }

    ::=3D { prtGeneralEntry 21 }

    ::=3D { prtGeneralEntry 22 }