I've down-loaded an 8-page summary of the original Resource object proposal
written at the same level as the 8-page counter proposal (that uses '1setOf
collection' Printer attributes, instead of Resource objects). The Resource
object summary is available at:
ftp://ftp.pwg.org/pub/pwg/ipp/new_RES/resource-objects-summary-proposal-0011
27.doc
ftp://ftp.pwg.org/pub/pwg/ipp/new_RES/resource-objects-summary-proposal-0011
27.pdf
ftp://ftp.pwg.org/pub/pwg/ipp/new_RES/resource-objects-summary-proposal-0011
27-rev.doc
ftp://ftp.pwg.org/pub/pwg/ipp/new_RES/resource-objects-summary-proposal-0011
27-rev.pdf
The -rev version shows the changes to the Counter proposal to make the
original Resource object proposal. This allows readers to compare the two
proposals directly. The two approaches are quite similar. The Resource
object proposal copies the pattern of operations for the IPP/1.1 operations
on Job objects and the recent Notification operations on Subscription
objects. The '1setOf collection' Printer attribute proposal extends the
Get-Printer-Attributes operation for (filtered) query of '1setOf collection'
rows and adds new operations for operating on rows. Here is a high level
comparison of the operations for the Resource object and the :
Resource object proposal '1setOf collection' Printer Attribute
proposal
------------------------
----------------------------------------------
Get multiple resource instances using a simple filter:
Get-Resources Get-Printer-Attribute with:
"resource-type" "collection-attribute" operation
attribute
any resource attribute in any column attribute in
Resource Attributes Group (new) Printer Attributes Group
All the following operations specify which (single) Resource instance with
the following input attributes:
"resource-type" "collection-attribute" operation
attribute
"xxx-name" or "xxx-id" Key Attribute in (new) Printer Attributes
Group
Get-Resource-Attributes Get-Printer-Attributes
Create-Resource Add-Printer-Collection-Row
Delete-Resource Delete-Printer-Collection-Row
Set-Resource-Attributes Modify-Printer-Collection-Row
Get-Resource-Data Get-Printer-Collection-Row-Data
Create-Resource Set-Printer-Collection-Row-Data
Renew-Resource requires a resource-specific operation,
e.g., Renew-Image operation with a lease
parameter
Here is the Summary of the Original Resource object proposal:
Use a polymorphic generic Resource object type with sub-typing to describe
fonts, media, paper trays, downloaded JPEGs, ICC Color Profiles, macros, ...
Some of these resources can be down-loaded into the Printer, some can be
installed by means outside the IPP protocol, and some can be properties or
characteristics of the Printer as it comes from the vendor or is configured
by the administrator when the Printer is installed. Some of these resources
can have associated opaque binary data, such as font data, while others
consist solely of attributes.
These Resource object attributes are retrieved using the (new)
Get-Resource-Attributes and Get-Resources operations which are modeled on
the IPP/1.1 Get-Job-Attributes and Get-Jobs operations and the
Get-Subscription-Attributes and Get-Subscriptions operations. Resource
objects that can be loaded are defined to have Resource Template attributes
(just like Job and Subscription objects), so that there are "xxx" Resource
attributes and "xxx-supported" Printer attributes.
The following new operations are defined for use with Resource objects:
* Get-Resource-Attributes - returns the requested attributes
of the identified Resource object instance.
* Get-Resources - return the requested attributes of the
Resource object instances based on a simple filter supplied by the client
* Create-Resource - add a Resource object instance to a
Printer
* Delete-Resource - delete a Resource object instance from the
Printer
* (new) Set-Resource-Attributes - modify a Resource object
instance of a Printer
* Get-Resource-Data - same as Get-Resource-Attributes, and in
addition get the object instance's associated opaque data.
* Create-Resource - same operation sets the object instance's
associated opaque data.
* Renew-Resource - update the lease time for the Resource
object instance for those Resource types that have leases.
For consistency all seven operations have an Operation Attributes Group and
a Resource Attributes Group in each request and response. The response
always includes the requested Resource object attributes. In addition to
the usual request operation attributes for a Printer operation, all six
operations MUST include:
"resource-type" (type2 keyword) - which indicates the type
of Resource, e.g., 'media', 'font', 'image', 'input-tray', 'output-bin',
etc.
Either "resource-name" (name(127)) or "resource-id"
(integer(1:MAX)) - identifies the resource object instance. The Printer
MUST support both.