[IPP] MOPRIA Alliance Print Specification Accounting Support requirement 4.18.2.d is incompatible with Apple AirPrint

[IPP] MOPRIA Alliance Print Specification Accounting Support requirement 4.18.2.d is incompatible with Apple AirPrint

Rizzo, Christopher Christopher.Rizzo at xerox.com
Wed Jan 29 08:11:46 UTC 2020


Mike,

This email is an attempt to answer the questions you posed in your previous email.  In trying to get my head around the issue, I noticed I did not address any of your questions.  The meeting time for the PWG has been typically a difficult time for me to attend due to other commitments, so my participation has not been as stellar as I would like.  The same is going to be true for this week as I have an important doctor's appt. this Thursday.  Apologies for the length of this email...  Hope I don't put everyone to sleep.

1. What are the use cases that need job-accounting-user-id but not job-account-id?

[crizzo] I can only speak from my experience of course, so I'm sure I'm going to miss use cases.  But here goes:

SYSTEM-A. An accounting system that REQUIRES BOTH a job-accounting-user-id and a job-account-id in a print job submission in order for the job to print.  If both are not specified the job is rejected.  job-accounting-user-id is more typically associated with a specific user, so typically a user would only have one assigned to them (although that may not always be the case).  job-account-id could be associated with a user's department, so in that case the user would know his department's job-account-id and only use that.  Another scenario is a user may be working on behalf of one or more clients, and have a list of job-account-id's, one for each client they support.  At any one time the user is working on behalf of a specific client, and therefore uses the appropriate job-account-id so that the correct client gets billed, as opposed to a user's department.

SYSTEM-B. An accounting system that ONLY REQUIRES a job-accounting-user-id to be specified, because each user has a default job-account-id associated with their account, so when a job is submitted, and only job-accounting-user-id is included, that user's default job-account-id is billed for the job.  However, each user might have multiple job-account-id's available to them, and therefore job-account-id would be an optional value that could be sent in the job submission.

SYSTEM-C. I do not have any experience with a system that only requires/support job-account-id on its own, not to say they don't exist though...

2. Do we need a way for a Printer to report that it would like the Client to show UI for and send certain Job Template attributes, above and beyond the current "printer-requested-job-attributes"?

[crizzo]                 I am having trouble finding the specs where printer-mandatory-job-attributes and printer-requested-job-attributes are defined.  PWG 5100.7 contains job-mandatory-attributes Job Attribute, but does not mention printer-mandatory-job-attributes or printer-requested-job-attributes Printer Description attributes that I can find.    I know they are in a spec somewhere, just can't find it right now.  I suggest the following Printer Description matrix for the above accounting systems:

                SYSTEM-A:  printer-mandatory-job-attributes = job-accounting-user-id, job-account-id;  printer-requested-job-attributes empty
                SYSTEM-B:  printer-mandatory-job-attributes = job-accounting-user-id;  printer-requested-job-attributes = job-account-id

But a more general solutions suggests a printer should simply include job-accounting-user-id and job-account-id in printer-mandatory-job-attributes when they are required for a job to print, and if they are optional for a job, move the optional ones to printer-requested-job-attributes.

3. What additional Client UI recommendations do we want to add to the Job Accounting best practice document?  For example, what is the recommended UI for "job-account-id"?

[crizzo]  (Going forward) Supporting implementations:  As I went thru this it was getting pretty robust, so I created a spreadsheet (attached) to try to capture my ideas.  Hope it is understandable and not too complex (implementation wise).  I think the spreadsheet could possibly cover all conceivable implementations though.


4. How can a Printer best support a (legacy/not updated) Client whose Job Creation request is missing required or requested information?

[crizzo]                 Printers that support the new accounting requirements MAY wish to implement accounting exceptions configurable at the printer (for legacy client support it would absolutely be highly recommended, or maybe go so far as making this a MUST, so that legacy clients aren't totally locked out when accounting is enabled).  Jobs received over IPP for example, can be charged to a generic IPP job-accounting-user-id and job-account-id.  Not ideal for locking down accounting on the printer, but if a customer wants to use legacy clients with a supporting printer, this may be the only way.


Christopher Rizzo
Xerox Corporation
GDG/Discovery/Advance Technology
26600 SW Parkway Ave.
Wilsonville, OR 97070-9251
Phone: (585) 314-6936
Email: Christopher.Rizzo at xerox.com

"The realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs."
-Maurice Wilkes, Memoirs of a Computer Pioneer

From: Christopher Rizzo <Christopher.Rizzo at xerox.com>
Date: Thursday, January 23, 2020 at 7:46 AM
To: Michael Sweet <msweet at msweet.org>
Subject: Re: [IPP] MOPRIA Alliance Print Specification Accounting Support requirement 4.18.2.d is incompatible with Apple AirPrint

Mike,

I apologize if there was any political incorrectness in my email.  I was only trying to convey to all affected parties that there is an interoperability problem that needed to be raised.  I believe I have filed bug reports to Apple's database with regard to the accounting problem, although it was a while ago.  It was not my intention to file a bug report, but only to inform other vendors that there could be a problem with their implementation if they go ahead and implement the MOPRIA requirement.  I know it is not the responsibility of the PWG to know what the MOPRIA Alliance is doing, but I think it is the responsibility of the MOPRIA Alliance to know what PWG is doing, and also what AirPrint is doing, so they do not define requirements that conflict, since both rely on the same protocols.

Thanks,
Chris

Christopher Rizzo
Xerox Corporation
GDG/Discovery/Advance Technology
26600 SW Parkway Ave.
Wilsonville, OR 97070-9251
Phone: (585) 314-6936
Email: Christopher.Rizzo at xerox.com

"The realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs."
-Maurice Wilkes, Memoirs of a Computer Pioneer

From: Michael Sweet <msweet at msweet.org>
Date: Thursday, January 23, 2020 at 5:47 AM
To: Christopher Rizzo <Christopher.Rizzo at xerox.com>
Cc: Mopria Technical <mopria_technical at mail.mopria.org>, PWG Workgroup <ipp at pwg.org>, "Roscoe, Gary" <Gary.Roscoe at xerox.com>, Doug Tallinger <Doug.Tallinger at xerox.com>, Dianne Colelli <Dianne.Colelli at xerox.com>, Michael Trent <Michael.Trent at xerox.com>
Subject: Re: [IPP] MOPRIA Alliance Print Specification Accounting Support requirement 4.18.2.d is incompatible with Apple AirPrint

Chris,

As many of the members on this list do not have access to the MOPRIA Alliance Print Specification, it is a bit difficult to discuss any requirements that it has, the use cases that are being addressed, etc.  Moreover, this mailing list is not an appropriate forum for filing bug reports against or making claims about any other member's IPP implementation or plans.  The PWG defines voluntary, interoperable standards for printing, and we have no process for enforcing compliance with any of those standards.  I would prefer that we keep any discussion focused on defining an interoperable standard for accounting with well-defined use cases and requirements that all vendors can agree to follow and support.

WRT the attributes in question, both job-account-id and job-accounting-user-id are now RECOMMENDED to support by IPP Clients in the recently published PWG 5100.7-2019: IPP Job Extensions v2.0.  Additional accounting- and transaction-related attributes are defined in PWG 5100.16-2013: IPP Transaction-Based Printing Extensions (currently being reviewed for an errata update), and of course we have OAuth Authorization (PWG 5100.18-2015: IPP Shared Infrastructure Extensions and PWG 5199.10-2019: IPP Authentication Methods) that will likely be part of future corporate/managed printing solutions. Finally, we have been actively revising 5100.11-2011 (Enterprise Printing Extensions, formerly JPS2) to include discussion of Release Printing and my own "Job Accounting with IPP" best practice document which is attempting to document and make recommendations for the wide variety of accounting solutions.  As these most recent documents have shown, accounting support is not just a matter of adding text fields for two RECOMMENDED Job Template attributes.

I see four specific items below that are appropriate topics of discussion in the IPP workgroup as we continue to develop the Job Accounting best practice document:

1. What are the use cases that need job-accounting-user-id but not job-account-id?

2. Do we need a way for a Printer to report that it would like the Client to show UI for and send certain Job Template attributes, above and beyond the current "printer-requested-job-attributes"?

3. What additional Client UI recommendations do we want to add to the Job Accounting best practice document?  For example, what is the recommended UI for "job-account-id"?

4. How can a Printer best support a (legacy/not updated) Client whose Job Creation request is missing required or requested information?

Thanks!


On Jan 22, 2020, at 5:36 PM, Rizzo, Christopher via ipp <ipp at pwg.org<mailto:ipp at pwg.org>> wrote:
All,

If "job-accounting-user-id" and "job-account-id" are added to IPP "printer-mandatory-job-attributes" in an IPP Get-Printer-Attributes response, as specified by MOPRIA Alliance Print Specification 2.1 section 4.18.2.d., the Apple Mac AirPrint driver ceases to print.  In other words, because Apple does not properly support this functionality, and it in fact breaks Mac printing (the print job in Mac OS Mojave is never sent - I have not tested with Catalina though), this MOPRIA IPP requirement is incompatible with AirPrint, and as a result any printer vendor implementing support for this in MOPRIA will not be able to concurrently support AirPrint.  Also, it is my understanding Apple's AirPrint currently does not support job-accounting-user-id and I know of no plan for it to be supported in the future.

I believe there needs to be some agreement across both MOPRIA Alliance and Apple/AirPrint which includes PWG working group to try and address this issue.  The current MOPRIA requirement is a "MAY", which allows vendors to just skip this MOPRIA requirement if they wish to work with both types of clients.  But if in the future there is a desire to make this requirement a "MUST" (for printer vendors whose systems actually require these attributes to be sent in an IPP Print-Job or Create-Job request when accounting is enabled), then this needs to be addressed.

Also not addressed is the fact that some accounting implementations only require job-accounting-user-id as mandatory, as all accounting users in these implementations can have a default job-account-id assigned to all their jobs, which means job-accounting-user-id would be present in printer-mandatory-job-attributes but job-account-id would not.  In this instance, job-account-id could possibly be included in printer-suggested-job-attributes, in the event the user wants to specify an alternate job-account-id other than their default.

Thanks,
Chris

Christopher Rizzo
Xerox Corporation
GDG/Discovery/Advance Technology
26600 SW Parkway Ave.
Wilsonville, OR 97070-9251
Phone: (585) 314-6936
Email: Christopher.Rizzo at xerox.com<mailto:Christopher.Rizzo at xerox.com>

"The realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs."
-Maurice Wilkes, Memoirs of a Computer Pioneer
_______________________________________________
ipp mailing list
ipp at pwg.org<mailto:ipp at pwg.org>
https://www.pwg.org/mailman/listinfo/ipp

________________________
Michael Sweet




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20200129/c99547ed/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PWG-Accounting-Matrix.xlsx
Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Size: 10360 bytes
Desc: PWG-Accounting-Matrix.xlsx
URL: <http://www.pwg.org/pipermail/ipp/attachments/20200129/c99547ed/attachment.xlsx>


More information about the ipp mailing list