Subject: Re: IPP> ipppreso.ppt

From: Jay Martin <[email-masked]>
Date: Wed, 28 Jan 1998 09:02:43 -0500

Attached is an Acrobat (PDF) version of Josh Cohen's previously
submitted PowerPoint presentation.

I'll leave it up to Microsoft to upload both of these files on
the PWG server if they feel it is appropriate.

	...jay

----------------------------------------------------------------------
--  JK Martin               |  Email:   [email-masked]          --
--  Underscore, Inc.        |  Voice:   (603) 889-7000              --
--  41C Sagamore Park Road  |  Fax:     (603) 889-2699              --
--  Hudson, NH 03051-4915   |  Web:     http://www.underscore.com   --
----------------------------------------------------------------------

---

From: Jay Martin <[email-masked]>
Date: Wed, 28 Jan 1998 09:27:28 -0500

Following is a hand-crafted version of Josh's PowerPoint presentation.
Hopefully the translation was successful, but be forewarned.  ;-)

In the future, it would be best to stay in the all-text world if
the information being conveyed is pure text, no?

	...jay

1 - IPP Protocol Modifications
  * Use XML instead of binary protocol
    - why?
    - Mapping details
    - timing (1.0 or later)
  * Use different method than POST
    - why?
    - granularity

2 - Non POST - why
  * IETF Pressure
  * POST overload obscures action
  * Similar discussion in DAV
  * Firewall ACL control degrees
  * Fundamentally IPP doesn't care
  * Some installed base issues for implementers

3 - Non POST - what
  * One method "PRINT"
  * Per Operation
    - PRINT-JOB
    - CANCEL-JOB
    - LIST-JOBS
  * Others?

4 - External Survey
  * Do not overload POST
    - Netscape Proxy Server
    - Microsoft Proxy Server
    - Inktomi Proxy Server
    - Firewall Administrators
  * 5 out of 6 administrators queried
  * No objections to a new method, just two "indifference"

5 - XML - Why?
  * The coming wave for structured data
    - Tools are easily available and becoming more so
  * Advantages of original ASCII proposal without its disadvantages
    - Did not exist 9 months ago
    - Has solved and will solve issues we haven't even thought about yet
    - nested structure, arrays, etc

6 - XML - What
  * DTD?
    - Yes, for spec but not runtime validation
  * XSL?
    - No, not at this time
  * Attributes or Elements?
    - <xxx a=1 b=2>
    - <xxx><a>1</a><b>2</b></xxx>
  * Name Spaces
    - Outermost elements only

7 - XML What (cont)
  * Strong typing or weak typing
    - Bob's proposal (strong)
    - Paul/Josh (weak)
  * Payload (PDL)
    - multipart mime

8 - XML - When?
  * Version 1.0
    - XML not ready, some of us are done
    - Creates legacy
  * Version 2.0
  * Never
  * Our recommendation: do it now

9 - MS Proposal
  * PRINT Method
  * XML now
  * DTD for reference but no runtime validate
  * No XSL
  * Elements, no (XML) attributes
  * No strong typing
  * No name space

10 - XML Mapping
  * Request or response as outer element
  * operation qualifiers next level
    - version, option, state…
  * Job Object, Job Attributes as elements
  * Arrays (SetOf) as nested block - even for one occurrence

11 - IPP Type Mapping
  * Date, name, text, keyword, URI, urischeme, charset, 
    naturallanguage & mime type as is
  * Integer, enum, bool, -> numeric string
  * range of -> structure with <from> & <to>
  * resolution -> structure with <x> & <y>
  * Some naming issues
    - Why don't all job attributes start "job" ?

12 - Example Request

  <?XML version=.1.0.>
  <Request>
   <Operation>Print Job</Operation>
   <Version>1.0</version>
   <Job>
    <Name>My Print Job</name>
    <copies>1</copies>
    <Content>CID:content-label</content>
   </job>
  </request>

13 - Example "Get Jobs"

  <Request>
   <Operation>Get-Jobs</Operation>
   <Version>1.0</Version>
   <RequestedAttributes>
    <attribute>jobCopies</attribute>
    <attribute>jobName</attribute>
   </RequestedAttributes>
  </Request>

14 - "Get-Jobs" Response

  <Response>
   <status>200</status>
   <Operation>GetJobs</Operation>
   <Version>1.0</version>
   <job>
    <copies>1</copies>
    <name>Mom's Apple Pie recipe</name>
   </job>
   <job>
     <copies>2</copies>
     <name>Paul's guide to horseback riding</name>
   </job>
  </response>

15 - Miscellaneous
  * No typing
    - typing adds no real value
    - simpler
    - IPP application must still validate its data
  * XML Schema to be in UTF-8
  * Case Insensitive

16 - Conclusion
  * XML has gained momentum and is now a good choice for IPP
  * Using PRINT instead of POST allows a finer grain of control 
    and expression in ACLs
  * "after session" BarBof whiteboard session to discuss minor 
     issues of expression

				  # # # # #