> 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. >