Chris,
> On Aug 25, 2025, at 11:34 AM, Christopher Rizzo <christopher.rizzo at xerox.com> wrote:
>> Hi Mike,
> Thank you for your response. The issue is summed up as follows:
> The device itself does not allow the selection of the Folder Tray or the Booklet Tray. If a job is programmed for a Trifold C/Z or a Bifold/Booklet (Bifold with center stitch), it WILL be delivered to the Folder Tray or the Booklet Tray, depending on which. To put it differently, the jobs are automatically delivered to those trays when the appropriate folding is selected. You do NOT get the folding by selecting the output tray.
Understandable, although you could also argue that either a) selecting that output-bin should add the corresponding finishing option, or b) since it isn't a selectable output bin it shouldn't be listed in output-bin-supported or printer-output-tray.
> If a constraint(s) need(s) to address this, I cannot see how to specify the folder tray is not selectable with all but one job attribute within a constraint. In other words, a constraint "lists collections of Job Template attributes and values that are incompatible with one another", yet theoretically the constraint should specify the converse, that output-bin = folder (name(MAX)) can only be used with finishings = fold. Otherwise there needs to be a multitude of constraints for all other job attributes that are combined with output-bin = folder. That seems like a lot of constraints.
So job-triggers-supported allows you to specify the "positive" constraint/link - choose output-bin='folder' and then the Client automatically applies finishings='fold', and vice-versa. However, if that is the intent then you'd want your Printer implementation to use strategy A above in a job creation request (unless ipp-attribute-fidelity='true')...
The "job-constraints-supported" and "job-resolvers-supported" attributes can also list multiple incompatible values for finishings, e.g.:
j-c-s={ resolver-name='folder' output-bin='folder' finishings=none,booklet-maker,... }
j-r-s={ resolver-name='folder' finishings=fold }
to tell the Client to resolve the constraint by selecting 'fold' finishing.
I think the main thing here is to remember that IPP is intent-based and not process-based, so Job Template attributes are there to express what the End User wants to come out of the Printer, and therefore it is up to the Printer to apply some "common sense" to that intent.
If the only output-bin values are the regular face up/down pile or one of these finishers, then I would simply report the regular output pile and *not* bother reporting printer-output-tray unless there is some status info you'd like to have. And do remember that while printer-output-tray (and the other Printer MIB attributes) are based on the data from the Printer MIB, the values are not always a literal mapping of your SNMP properties (for example, a virtual printer-input-tray for the 'auto' source), and that there are plenty of IPP printers that *don't* implement the Printer MIB but still implement the corresponding IPP attributes...
My personal recommendation (in the absence of other information) would be that you either allow the finisher output trays to be selected and resolve the constraint by adding the corresponding finishing value to the job ticket, OR you hide the finisher output bins from the Client completely - no output-bin-supported or printer-output-tray values for the finisher output trays. Doing something in-between will just break printing and confuse/frustrate users...
________________________
Michael Sweet