Re: [xdi] XDI TC Notes Unofficial Telecon Monday 2016-01-25

From
Markus Sabadello <>
Date
2016-01-26T16:23:48+00:00
ID
Thread
Re: [xdi] XDI TC Notes Unofficial Telecon Monday 2016-01-25
Thanks Kapil,

      

      We have approved this WD06 (working draft) as CD01 (committee
      draft).

      Now any further work would continue under WD07.

      

      Since Drummond is the main editor of XDI Core, I created a pull
      request that starts WD07 and fixes your typo:

https://github.com/OASIS-XDI-Technical-Committee/xdi-spec-docbook/pull/12

      

      Thanks for reporting, please continue to report any more
      mistakes/issues you find!

      

      Markus

      

      On 01/26/2016 03:43 PM, Kapil Vats wrote:

    

    
      
Hi Markus,
        

        

        
I was going through XDI core sepecs (http://xdi.org/xdi-spec-docbook/xdi/xdi-core-1.0/xdi-core-v1.0-wd06.xml)
          and found this typo.

        
Please have look at word mark with * and I replaced it with
          (in).

        

        

        

          
section 1.1 point number #2 

          
Addressability :  It also imposes the constraint that the
            XDI identifier of every XDI contextual arc must be unique it*(in) the scope of its parent node.

        

        

        

        
Thanks,

        
Kapil

        

        

      

      

        
On Tue, Jan 26, 2016 at 11:40 AM,
          Markus Sabadello <>
          wrote:

          
            

              

                XDI
                    TC Notes
                

                
Following
                    are the notes of the unofficial telecon of the XDI
                    TC held on:

                
Date:
                    Monday, 25 January 2016 USA

                  Time:
                    10:00AM - 11:30AM Pacific Time (17:00-18:30 UTC)

                

                
The
                    TC operates under a
                      standing rule approved 17 July 2008
                    under which the TC does not hold regular official
                    meetings and conducts all business by electronic
                    ballot only. Unofficial weekly meetings are held to
                    enable discussion among members but no business is
                    conducted nor actions taken.

                ATTENDING
                
Drummond
                    Reed

                  Les
                    Chasen

                  Markus
                    Sabadello

                  Joseph
                    Boyle

                  Kapil
                    Vats

                  Phil
                    Windley

                

                Update
                    on Publishing XDI Core 1.0 Committee Specification
                    Draft 01
                
We
                    invited Chet to join the call but he responded to an
                    email this morning that he had reviewed the revised
                    XML document and he was satisifed that everything
                    had been dealt with, so he was going to proceed to
                    publish.

                
https://lists.oasis-open.org/archives/xdi/201511/msg00011.html

                

                
Joseph
                    noted that in the final version he sent Chet, the
                    SVG images did not render properly, so he is fixing
                    that.

                

                
#
                    ACTION ITEM: Joseph will send updated SVGs to Chet.

                XDI
                    Messaging and XDI Link Contracts
                
Markus
                    is working on updated versions of both of those. For
                    Messaging, it will be Working Draft 05. He is doing
                    the work in a branch of our Github repository.

                

                
https://github.com/OASIS-XDI-Technical-Committee/xdi-spec-docbook/tree/markussabadello
                  

                

                Update
                    on XDI Messaging Use Case Implementation
                
Markus
                    will update the TC on XDI2 documentation of the
                    messaging scenarios that have been implemented:

                

                
https://github.com/projectdanube/XDINinja-swing

                

                
This
                    covers four flows:

                
                  

                    
Request
                          Connection to Profile

                  

                  

                    
Invite
                          Connection to Profile (Manual)

                  

                  

                    
Invite
                          Connection to Profile (Auto)

                  

                  

                    
Request
                          Bi-Directional Chat

                  

                
                

              

              For each one of these flows, an architecture diagram,
              sequence diagram, and walkthrough are provided, as well as
              the implementation.

              

                

                  

                
Markus
                    raised the question of whether the terms
                    “uni-directional” and “bi-directional” should be in
                    the link contract spec.

                

                
He
                    also suggested that one or more of these scenarios
                    should be added to the Messaging spec as examples.

                

                
He
                    also pointed out that while these examples currently
                    use signatures, that is a dependency on the
                    Cryptographic Profiles spec.

                Link
                    Contract Expiration
                
Markus
                    has seen frequent use cases for one-time-use
                    contracts, for example for deferred push contracts,
                    invitations, etc.

                

                
One
                    specific use case is for link contracts that only
                    work once, for example, to authorize a message that
                    can only be received once. One example is an
                    connection invitation that is effectively a one-time
                    use contract. It will only authorize a single
                    message that will create the link contract.

                

                
Les
                    brought up a use case when the owner should be
                    notified that a link contract is about to expire.
                    Drummond said that link contract expiration and
                    notification policy should be part of the link
                    contract vocabulary.

                

                
Markus
                    agreed that we should be using XDI policy statements
                    to govern link contract expiration. This implies an
                    additional policy branch.

                

                
Markus
                    pointed out that we already have three policy
                    branches in link contract processing:

                

                
(=bob/=alice)$do$if

                
(=bob/=alice)$do$defer$if

                
(=bob/=alice)$do$defer$push$if

                

                
Link
                    contract expiration could be governed by a fourth
                    branch. Here is an example of what this vocabulary
                    could look like, using $del as the branch for link
                    contract expiration.

                

                
(=bob/=alice)($do$del$if/$true){$do}[$msg]<$n>/&/1

                

                
Drummond
                    wondered if the verb for the expiration branch
                    should be $expire.

                Link
                    Contracts and Storing Copies of Messages
                
This
                    is also a use case we are seeing frequently—storing
                    sent/received messages (much like email). We need to
                    discuss link contract vocabulary for this.

                

                
Markus
                    suggested that there are three options for where
                    policy could govern this:

                
                  

                    
The
                        link contract being referenced by the message.

                  

                  

                    
The
                        message policy.

                  

                  

                    
Global
                        policy for an endpoint.

                  

                
                

                
Drummond
                    suggested that #1 is where we should concentrate
                    initially, since that’s already the control point.

                

                
Markus
                    thinks that we have two mechanisms that can
                    potentially be re-used for storing copies of
                    messages:

                
                  

                    
Messages
                        that are deferred and stored in a graph due to
                        link contract policy decision

                  

                  

                    
Push
                        link contracts

                  

                
                

                
Basic
                    structure of a push link contract:

                
(<--publisher-->/<--subscriber-->)$do/$push/<--target-address-->

                  (<--publisher-->/<--subscriber-->)$do/$is()/<--subscriber-->

                  (<--publisher-->/<--subscriber-->)($do/$push)<$xdi><$uri>/&/"<--subscriber
                    endpoint-->"

                  (<--publisher-->/<--subscriber-->)($do/$push)<$content>/&/<--light-or-content-push-->

                    

                  

                
Example
                    deferred message by =drummond in =markus’ graph with
                    an index statement:

                

                
$get{$do}[$msg]/$has/=drummond[$msg]*!:uuid:m-1

                
=drummond[$msg]*!:uuid:m-1/$is()/(=markus)

                
=drummond[$msg]*!:uuid:m-1$do/$connect/$get{$do}

                
=drummond[$msg]*!:uuid:m-1$connect{$get}/$is/=markus<#email>

                

                
Markus
                    suggested that the indexes of messages—message
                    logs—should be configurable so that the logs could
                    be organized the way the endpoint authority wants
                    them.

                
(<--AA-->/<--RA-->)$do/$has()/[$msg]

                

                
The
                    behaviour could be as follows:

                
                  

                    
If
                        a link contract has a $do/$has()
                      statement
                        with an object node, the message is kept and
                        indexed under that object node.

                  

                  

                    
If
                        a link contract has a $do/$has()
                        statement with an empty object node, the message
                        is kept but not indexed.

                  

                  

                    
If
                        a link contract does not have a $do/$has()
                        statement with an object node, the message is
                        deleted after processing.

                  

                
                
We
                    agreed this simple rule covers the cases and leaves
                    message log indexing easily configurable for each
                    endpoint.

                NEXT
                    REGULAR CALL
                
The
                    next call will be the following week at the usual
                    time (Monday 10AM PT). The link to where agenda
                    items can be posted for the next meeting is:
                    https://docs.google.com/document/d/19oDl0lbb56Grehx2a5flZnhrgnua5l8cVvC_dJ8fTXk/edit?usp=sharing