attachment-0001
<br><font size=2 face="sans-serif">Our early proposed WSDL had an "Execute"
operation and I know this was rejected as too generic. I'm pleased
where the set of operations has evolved to and fully support the alignment
with IPP Admin. Great idea! However, we still feel we need</font>
<br><font size=2 face="sans-serif">1. A code download mechanism</font>
<br><font size=2 face="sans-serif">2. An extensibility mechanism</font>
<br>
<br><font size=2 face="sans-serif">Right now, we feel "Execute"
would be a good choice to satisfy both. Open for comment. </font>
<br><font size=2 face="sans-serif">----------------------------------------------
<br>
Harry Lewis <br>
Chairman - IEEE-ISTO Printer Working Group<br>
http://www.pwg.org<br>
IBM Printing Systems <br>
http://www.ibm.com/printers<br>
303-924-5337<br>
---------------------------------------------- </font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>"McDonald, Ira"
<imcdonald@sharplabs.com></b> </font>
<br><font size=1 face="sans-serif">Sent by: owner-wbmm@pwg.org</font>
<p><font size=1 face="sans-serif">07/30/2003 12:02 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">"'wbmm@pwg.org'"
<wbmm@pwg.org></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">WBMM> More about WBMM
operations</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Hi Bill,
Wednesday (30 July 2003)<br>
<br>
Comments on operations set in the minutes from last week's WBMM meeting.<br>
<br>
Cheers,<br>
- Ira McDonald<br>
High North Inc<br>
<br>
----------------------------------------<br>
<br>
<br>
7. Other simplifications were apparent so that the current operations<br>
set is:<br>
<br>
<br>
Disable - Prevents the addressed entity to from accepting jobs from any<br>
job submission protocol.<br>
<br>
<br>
Enable - Allows the addressed entity to accept jobs from any job<br>
submission protocol.<br>
<br>
<br>
Pause - Causes the entity to stop processing its primary product (e.g.,<br>
a printing device from marking media, a scanning device from scanning<br>
input copy). There may be a need for an argument to address the "now",<br>
"after current copy" and "after current job" variations.<br>
<br>
<br>
Resume - undoes the last Pause.<br>
<br>
<br>
Deactivate - entity accepts no more incoming jobs (the original<br>
definition deactivate is unclear - further the distinction between<br>
Disable and Deactivate is vague.)<br>
<br>
<ira><br>
Deactivate is a compound operation to avoid a tricky race condition. It<br>
combines Disable and Pause in one atomic operation. It's defined
in IPP<br>
Admin (draft-ietf-ipp-ops-set2-03.txt, July 2001) as follows:<br>
<br>
3.4.1 Deactivate-Printer operation<br>
<br>
This OPTIONAL operation allows a client to stop the Printer object<br>
from starting to send IPP jobs to any of its Output Devices or<br>
Subordinate Printers (Pause-Printer-After-Current-Job) and stop
the<br>
Printer object from accepting any, but query requests. The
Printer<br>
performs a Disable-Printer and a Pause-Printer-After-Current-Job<br>
operation immediately, including use of all of the "printer-state-<br>
reasons" if these two operations cannot be completed immediately.
In<br>
addition, the Printer MUST immediately reject all requests, except<br>
Activate-Printer, queries (Get-Printer-Attributes, Get-Job-<br>
Attributes, Get-Jobs, etc.), Send-Document, and Send-URI (so that<br>
partial job submission can be completed - see section 3.1.1) and<br>
return the 'server-error-service-unavailable' status code.<br>
</ira><br>
<br>
<br>
Activate - undoes the last Deactivate<br>
<br>
<br>
Purge - Removes all traces of jobs in the entity<br>
<br>
<br>
Reset - Sets the state of the entity to the normalized condition<br>
characterizing the state when the entity first comes up.<br>
<br>
<ira><br>
IPP Admin defines the Restart and Startup operations:<br>
<br>
3.5.1 Restart-Printer operation<br>
<br>
This OPTIONAL operation allows a client to restart a Printer object<br>
whose operation is in need of initialization because of incorrect
or<br>
erratic behavior, i.e., perform the effect of a software re-boot.<br>
The implementation MUST attempt to save any information about Jobs<br>
and the Printer object before re-initializing. However, this<br>
operation MAY have drastic consequences on the running system,
so the<br>
client SHOULD first try the Deactivate-Printer operation to minimize<br>
the effect on the current state of the system. The effects
of<br>
previous Disable-Printer, Pause Printer, and Deactivate-Printer<br>
operations are lost.<br>
<br>
3.5.3 Startup-Printer operation<br>
<br>
This OPTIONAL operation allows a client to startup an instance
of a<br>
Printer object, provided that there isn't one already instantiated.<br>
The purpose of Startup-Printer is to allow a hosted implementation
of<br>
the IPP Printer object (i.e., a Server that implements an IPP Printer<br>
on behalf of a networked or local Output Device) to be started
after<br>
the host is available (by means outside this document). See
Restart-<br>
Printer (section 3.5.1) for the way to initialize the software
or<br>
reset the Output Device(s) when the IPP Printer object has already<br>
been instantiated.<br>
<br>
The host MUST accept this operation only when the Printer object
has<br>
not been instantiated. If the Printer object already exists,
the<br>
host must return the 'client-error-not-possible' status code.<br>
<br>
The result of this operation MUST be with the Printer object's<br>
"printer-state" set to 'idle', the state reasons removed
from its<br>
"printer-state-reasons" attribute, and its "printer-is-accepting-<br>
jobs" attribute set to 'false'. Then the operator can
reconfigure<br>
the Printer before performing an Enable-Printer operation. However,<br>
when a Printer is first powered up, it is RECOMMENDED that its<br>
"printer-is-accepting-jobs" attribute be set to 'true'
in order to<br>
achieve easy "out of the box" operation.<br>
</ira><br>
<br>
<br>
PowerOff - Causes entity to go into a power off or (or reduced power,<br>
sleep) condition.<br>
<br>
<ira><br>
IPP Admin and DPA (ISO 10175) define the Shutdown operation.<br>
<br>
3.5.2 Shutdown-Printer Operation<br>
<br>
This OPTIONAL operation allows a client to shutdown a Printer,
i.e.,<br>
stop processing jobs without losing any jobs and make the Printer<br>
object no longer available for any operations using the IPP protocol.<br>
There is no way to bring the instance of the Printer object back
to<br>
being used, except for the Startup-Printer (see section 3.5.3)
which<br>
starts up a new instance of the Printer object for hosted<br>
implementations. The purpose of Shutdown-Printer is to shutdown
the<br>
Printer for an extended period, not to reset the device(s) or modify<br>
a Printer attribute. See Restart-Printer (section 3.5.1)
and<br>
Startup-Printer (section 3.5.3) for the way to initialize the<br>
software. See the Disable-Printer operation (section 3.1)
for a way<br>
for the client to stop the Printer from accepting Job Creation<br>
requests without stopping processing or shutting down.<br>
</ira><br>
<br>
<br>
GetAttributes - Solicits the values of the identified elements and all<br>
included sub elements<br>
<br>
<br>
SetAttributes - Sets the values of the identified elements and all<br>
included sub elements<br>
<br>
<br>
GetResource - Solicits the values of the identified structures or files.<br>
(e.g., representing fonts, forms, executable code, schedules(?). May
be<br>
indirect in that structure is delivered to defined address.<br>
<br>
<br>
SetResource - Causes identified structures or files (e.g., representing<br>
fonts, forms, executable code, schedules(?) to be loaded into entity.<br>
May be indirect in that structure is obtained from defined address.<br>
<br>
<ira><br>
The IPP Resource Object proposal (draft-ietf-ipp-get-resource-01.txt,<br>
September 2000) defines the following REQUIRED operations:<br>
<br>
* Get-Resource-Attributes<br>
* Get-Resource-Data (corresponds to your current Get-Resource, I think)<br>
* Get-Resources (get a list of Resource objects of a specified type)<br>
<br>
The IPP Resource Object proposal also defines the following OPTIONAL<br>
admin operations:<br>
<br>
* Create-Resource (sets both attributes and data)<br>
* Delete-Resource<br>
* Refresh-Resource (refreshes local cache of referenced data)<br>
* Renew-Resource (renews finite lease of Resource object)<br>
<br>
By design, we did NOT define a Set-Resource-Attributes operation (much<br>
harder to verify, due to attribute value constraints, than the simple<br>
Create-Resource operation).<br>
</ira><br>
<br>
<br>
Register - Set up for notification<br>
<br>
<br>
Unregister- Discard setup for notification.<br>
</tt></font>
<br>