OK, so based on the discussions in today's joint IPP/Cloud sessions I'd like to propose the following new Semantic Model ServiceDescription elements (IPP Printer Description attributes in parenthesis):
- ServiceStaticResourceDirectoryUri ("printer-static-resource-directory-uri (uri)") - directory URI for HTTP PUT requests (to create resources) and HTTP DELETE requests (to cancel resources)
- ServiceStaticResourceKOctetsReady ("printer-static-resource-k-octets-ready (integer(0:MAX))") - Available storage capacity in K octets (1024 octets).
- ServiceStaticResourceKOctetsSupported ("printer-static-resource-k-octets-supported (integer(0:MAX))") - Maximum storage capacity in K octets (1024 octets).
Resources are created using HTTP PUT requests and canceled using HTTP DELETE requests. Doing a PUT to "ServiceStaticResourceDirectoryUri/filename.ext" does the equivalent of the CreateResource (formerly DeleteResource) operation with the following elements:
ResourceCreatorUserName=<HTTP authenticated user name>
ResourceName=<path component of URI without leading slash>
ResourceType=<mapped from Content-Type - Image, ICCProfile, or *MessageCatalog*>
*ResourceUri*=<URI of PUT>
(*foo* is a new value or element)
If the PUT request includes the conditional request header If-Unmodified-Since, then the service does an atomic combination of a CancelResource (formerly DeleteResource) followed by a CreateResource if the destination resource is older than the specified date.
Doing a DELETE to "ServiceStaticResourceDirectoryUri/filename.ext" does the equivalent of the CancelResource operation for the matching ResourceUri.
Michael Sweet, Senior Printing System Engineer, PWG Chair