Jay, these are good questions:
> 1. If a queue has been stopped, what should each job indicate for its
> job state?
> 2. If a queue is stopped, how can the user easily detect this
> critical queue-specific state?
> 3. Similarly, if a queue is disabled, how can the user detect
> this state?
There is an analogous situation for the state NeedsAttention. One could
ask, if the printer has an alert, should all the jobs in the printer buffer
change to NeedsAttention state, or just the job which is currently printing.
Our recommendation is not to ripple all jobs since this would be arduous for
the agent. Rather, we envision the job monitoring application also having
some indication of the overall health of the printer (Green, Yellow, Red).
Only the job which is actually JAMMED (as an example) would reflect
NeedsAttention state. Other jobs would be Pending on a "Red" printer.
I would really like JMP and/or IPP confirmation of this approach for printer
implementations and I offer it in response to your question about queue's as
an analogy, presuming you could show overall queue status with a (Green,
Yellow, Red) icon.
As for your last question:
> 4. If a system administrator deletes a job from a queue, what should
> the state and job reason(s) reflect?
I am not in favor of job state reasons as anything other than optional job
attributes, but if I were to take a guess, here, I'd say that:
State = CANCELED
JobStateReasons1 = No reason (all zero's)
JobStateRessons2 = deletedByAdministrator
JobStateReasons3 = No reason
JobStateReasons4 = No reason
So, I guess, that would look like 0x00000000 0x00000002 0x00000000 0x00000000?