Good analysis Tom.
The following is my opinion on what should change to align IPP and JobMIB.
I think that IPP and the JobMIB each offer some good ideas.
I would like to keep the job states very simple and make sure that
they go in a simple progression with detours handled by job-state-reasons.
We mostly did that in IPP, but the JobMIB did a better job at the end of
I suggest that the IPP (and JobMIB) state progression be:
pending -> processing - |
Even though canceled could be handled by a job-state-reason under completed,
I think that it is an important reminder that the job didn't complete
for some reason, hopefully explained in the job-state-reasons.
This means that there are the following job-state-reasons:
o job-held during the pending state
o printer-stopped during the pending or processing state
o job-retained during the completed or canceled state.
It also means that the follow IPP states go away:
o terminating becomes canceled which has a longer duration
o retained becomes a job-state-reasons job-retained
I would prefer that both IPP and the JobMIB adopt these states. It
requires changes for both, but I think it is a better solution than
either currently offers.