IPP Mail Archive: IPP> NOT - RESEND - Agreements to the IPP Notification Model (with att

IPP> NOT - RESEND - Agreements to the IPP Notification Model (with att

Hastings, Tom N (hastings@cp10.es.xerox.com)
Thu, 19 Aug 1999 04:19:18 -0700

> The updated attribute summary table with the agreements reached today is
> uploaded at:
>
> ftp://ftp.pwg.org/pub/pwg/ipp/new_NOT/ipp-notification-attr-summary-990818
> .doc
> ftp://ftp.pwg.org/pub/pwg/ipp/new_NOT/ipp-notification-attr-summary-990818
> .pdf
>
> The IETF IPP WG made significant progress in reviewing the Notification
> Model today. Send comments to the DL. Here are the agreements:
> 1.1 Changes made to the 8/11/99 version to make the 8/17/99 version:
> 1. Instead of the "notify-exclude-event-mask" (1setOf
> octetString(8)) attribute, we agreed to use introduce the new 'collection'
> attribute syntax that we have been talking about for over a year for use
> in the Job object to specify multiple subscriptions in a Job creation
> operation. So the "notify" operation attribute for Job creation
> operations will have the attribute syntax: '1setOf collection'. The
> member attributes of each collection value for Per-Job subscriptions are
> the same as the attributes of a Subscription object instance for
> Per-Printer subscriptions. For terminology a "subscription" is either a
> collection value of the "notify" operation attribute in a Job Creation
> operation or is a Subscription object.
> 2. Each subscription will contain only one multi-valued
> attribute: "notify-events" (1setOf type2 keyword). The remaining
> attributes will be single valued:
> "notify-recipients" (uri)
> "notify-user-info" (octetString(63))
> "attributes-charset" (charset)
> "attributes-natural-language" (naturalLanguage)
> "request-id" (integer(0:MAX))
> 3. The client supplies an "attributes-natural-language"
> in a subscription in order to get a different natural language than for
> the request that creates the subscription. However, the only time that
> the natural language has any bearing on the Notification content, is when
> that content is the Human Consumable form. The Machine Consumable form of
> the Notification content will have no localization in it.
> 4. The minimum number of notification recipients that
> are required to support is 1. Hence the minimum number of collection
> values is 1 and the minimum number of Subscription objects is 1, if
> Per-Printer subscriptions are supported at all.
> 5. Instead of inventing a special operation that sets
> the Job attributes related to notification, we will define a single
> Set-Job-Attributes operation for changing the values of any Job attribute
> that is not defined to be READ-ONLY. We will not define the corresponding
> Set-Printer-Attributes operation at this time, but will lump that
> operation with the other System Administration operations, since changing
> Printer attributes is an administrative function. Changing Job attributes
> is an end-user function for your own jobs, and an operator operation for
> other's Jobs.
> 6. A Printer can grant a larger or smaller least to
> that requested, including granting an infinite lease.
> 7. Change "persistence (boolean)" operation attribute
> to "persistence-requested (boolean)" in the Create-Printer-Subscription.
> Keep it OPTIONAL to support. However, add a REQUIRED "persistence-granted
> (boolean)" operation attribute that MUST be returned in the response.
> While implementations are RECOMMENDED to make all Subscriptions
> persistence, same as for jobs, they MAY have a more limited number that
> are persistent, including none.
> 8. Add two Printer Descriptions attributes:
> "persistent-job-supported" (boolean) and
> "persistent-subscriptions-supported" (boolean).
> 9. The Get-Printer-Subscriptions and
> Get-Printer-Subscription-Attributes will return attributes Subscription
> attributes group, so there will be a new Subscription attribute tag
> assigned in the Encoding and Transport.
> 10. Changed the name of the "notify-lease-time"
> (integer(0:MAX)) in the Subscription object to
> "notify-least-expiration-time" (integer(0:MAX)) since it is the time at
> which the lease expires.
> 11. Eliminated storing the trigger-event, trigger-time,
> and trigger-date-time in the subscription and passed them only in the
> Notification content.
> 12. Add "printer-state-change-time" (integer(MIN:MAX))
> and "printer-state-change-date-time" (dateTime) Printer Description
> attributes to record the time that the Printer last changed state. Then
> an application that come up after that can tell when the printer got into
> its current state by querying the Printer when the application starts up.
> Lesson from the Printer MIB alert table.
> 13. Defined the "subscription-id" attribute for use with
> Per-Job subscriptions as being the index of the 1setOf collection,
> starting at '1'. Then a Notification Recipient can have a unique
> identification for each subscription whether it be Per-Job or Per-Printer,
> for use in catching duplicate or skipped notifications using the
> "request-id".
> 14. Deleted the "delivery-failure-count"
> (integer(0:MAX)) from the Subscription object as not necessary.
> 15. Transports that have limited space, like SNMP, can
> truncate the "job-name" to less than 255 octets, in order to fit.
> 16. Added the "subscription-printer-uri" (uri) to the
> Subscription object to go along with the Job's "job-printer-uri" (uri)
> attribute.
> 17. Added "job-k-octets-processed" (integer(0:MAX)) to
> the Job Notification content for 'job-progress' and 'job-completed'
> events.
> 18. Added the 'job-progress' attributes to also be in
> the 'job-completed' Job Notification content.
>