Ron Bergman, Harry Lewis and I have reviewed Bob's proposal to
add two new states: pending-stopped and processing-stopped.
We all like it a lot. We think that the other JMP participants will too.
Carl-Uno has agreed to cover the joint IPP/JMP
job-state/job-state-reasons spec in the first 15 minutes of the IPP telecon
today, so that JMP participants need not stay on the line for the major
topic of the protocol.
(We know that Harry can't make it, but gives his support).
So JMP particpants please call in for 15 minutes at:
Time: 1-3pm PDT (4-6 EDT)
So the updated state transition diagram would become:
The following figure shows the normal job state transitions. Other
transitions are unlikely, but are not forbidden.
pending -----> processing --+----> aborted
^ ^ \
| | +--> completed
Figure 1 - Normal job state transitions
Normally a job progresses only from left to right.
-- The following figure shows the normal job state transitions.
-- Other transitions are unlikely, but are not forbidden.
-- +---> canceled(7)
-- pending(3) ------> processing(5) --+-----> aborted(8)
-- ^ ^ \
-- | | +---> completed(9)
-- v v
-- pending-stopped(4) processing-stopped(5)
-- <----------------- active -------------->|<-- in-active -->|
-- Normally a job progresses only from left to right.
We only have 15 minutes, so we may have to consider the following later:
Remaining details of the agreement:
Do we remove the MANDATORY printer-stopped job-state-reasons value from IPP?
Do we remove the MANDATORY deviceStopped jmJobStateReaons1 value from JMP?
My suggestion it yes.
What about the OPTIONAL printer-stopped-partly job-state-reasons value from IPP?
And the OPTIONAL deviceStoppedPartly jmJobStateReasons1 value from JMP?
My suggestion is no. Its unlikely to be implemented, but can be.
Finally, job-state-reasons is MANDATORY in IPP.
Should it remain MANDATORY in JMP or become CONDITIONALLY MANDATORY?
What about the remaining MANDATORY values:
CM jobHoldSpecified, jobHeld
CM jobHoldUntilSpecified, jobHeld
CM jobProcessAfterSpecified, jobHeld
MAN = MANDATORY - a conforming agent shall implement
CM = CONDITIONALLY MANDATORY - a conforming agent shall implement only if the
device has this behavior.
OPT = OPTIONAL - a conforming agent need not implement even if the device
has the behavior.
If all of the values become CONDITIONALLY MANDATORY or OPTIONAL,
then jmJobStateReasons1 can be changed from MANDATORY to CONDITIONALLY
MANDATORY too (and be moved from the jmJobTable, back to the jmAttributeTable).
At 14:39 05/27/97 PDT, Robert Herriot wrote:
>>There has been a lot of discussion on the JMP list about the held
>and needs-attention state.
>>Several people have stated that the primary reason for having 'held'
>and 'needs-attention' as job-states rather than job-state-reason is
>that the job-state should be all that most people need to look at.
>>Keeping that in mind, here's is an slightly different view that we
>should perhaps consider. I put this forth for discussion and can
>see pro's and con's for keeping the simple 5 job-states of IPP versus
>adding these two additional states.
>>Change the name of "needs-attention" to "stopped-printing" and define
>the "stopped-printing" state as an alternate view of the "processing"
>state. A job is in the "stopped-printing" state when certain
>job-state-reasons take it out of the "processing" state temporarily.
>When those reasons clear, the job goes back to the "processing" state.
>>Likewise, the "held" job-state is an alternate view of the "pending"
>state. A job is in the "held" state when certain job-state-reasons
>take it out of the "pending" state temporarily. When those reasons
>clear, the job goes back to the "pending" state. Such reasons include
>"held-until" (aka "job-hold-until-specified"), "held-for-resources"
>(aka "required-resources-not-ready"), and "printer-stopped".
>>Any reasons that keeps a job from making progress towards the printer
>put it in the "held" state. Any reasons that keep a job from
>processing put it in the "stopped-printing state.
>>Note that the "printing-stopped" reason changes a "processing" job to
>"stopped-printing" and a "pending" job to a "held" job.
>>If we want more regular names, then we should call "held", "pending-stopped"
>and we should call "stopped-printing", "processing-stopped".
>>Note: I do not like the name "needs-attention" because it is the printer
>that needs attention and not the job. Furthermore, the printer may need
>attention even when a particular job is pending.