Subject: [Jmap] I-D Action: draft-ietf-jmap-tasks-03.txt

From: [email-masked]
Date: Mon, 07 Mar 2022 08:22:43 -0800

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the JSON Mail Access Protocol WG of the IETF.

        Title           : JMAP for Tasks
        Authors         : Joris Baum
                          Hans-Joerg
	Filename        : draft-ietf-jmap-tasks-03.txt
	Pages           : 19
	Date            : 2022-03-07

Abstract:
   This document specifies a data model for synchronizing task data with
   a server using JMAP.

The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-jmap-tasks/

There is also an HTML version available at:
https://www.ietf.org/archive/id/draft-ietf-jmap-tasks-03.html

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-jmap-tasks-03

Internet-Drafts are also available by rsync at rsync.ietf.org::internet-drafts

---

From: Joris Baum <[email-masked]>
Date: Mon, 7 Mar 2022 17:33:52 +0100

Hi,

I just pushed a new version. I mainly changed a few properties of the 
Task object as a first result of the JMAP Tasks Survey [1]. I tried to 
focus on obvious extensions for now:

  * Adds a source property - a String with values like "Email" or "Web App"
  * Adds an estimatedWork property - similar to estimatedDuration
  * Adds an impact property - a String with values like "major" or "block"
  * Extends the progress property with more values (deferred, resolved,
    needs-feedback and confirmed) and adds some mapping recommendations.

Regards,

Joris

[1] https://gist.github.com/jaudriga/cd323fa75397c76b1dd30861ef590302

On 07.03.22 17:22, [email-masked] wrote:
> _______________________________________________
> Jmap mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/jmap

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

http://www.audriga.com  |http://www.twitter.com/audriga

--------------------------------------------------------------------------
audriga GmbH | Durlacher Allee 47 | 76131 Karlsruhe
Sitz der Gesellschaft: Karlsruhe - Amtsgericht Mannheim - HRB 713034
Geschäftsführer: Dr. Frank Dengler, Dr.-Ing. Hans-Jörg Happel
--------------------------------------------------------------------------

---

From: Joris Baum <[email-masked]>
Date: Sun, 20 Mar 2022 20:16:38 +0100

Hi,

there are some property extensions that probably deserve some further 
discussion. I just wanted to share them on this mailing list before 
presenting them at the IETF:

  * Some systems have a property that displays when an attachment was
    uploaded. AFAIK, there is no such a property for binary data within
    JMAP. We could add something like "created" to the JMAP Blob
    Management Extension?
  * Keywords are sometimes connected to a color. JMAP is currently
    unable to expose that information, and simply supports "String[]"
    for keywords. A new "coloredKeywords" property could be added with
    an own object with "color" and "word" in JMAP for Tasks.

Regards,

Joris

On 07.03.22 17:33, Joris Baum wrote:

>   * Extends the progress property with more values (deferred,
>     resolved, needs-feedback and confirmed) and adds some mapping
>     recommendations.
>
> Regards,
>
> Joris
>
>

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

--------------------------------------------------------------------------
audriga GmbH | Alter Schlachthof 57 | 76137 Karlsruhe
Sitz der Gesellschaft: Karlsruhe - Amtsgericht Mannheim - HRB 713034
Geschäftsführer: Dr. Frank Dengler, Dr.-Ing. Hans-Jörg Happel
--------------------------------------------------------------------------

---

From: "Bron Gondwana" <[email-masked]>
Date: Mon, 21 Mar 2022 08:58:36 +0100

On Sun, Mar 20, 2022, at 20:16, Joris Baum wrote:
> Hi,
> 
> there are some property extensions that probably deserve some further discussion. I just wanted to share them on this mailing list before presenting them at the IETF:
> 
> 
>  * Some systems have a property that displays when an attachment was uploaded. AFAIK, there is no such a property for binary data within JMAP. We could add something like "created" to the JMAP Blob Management Extension?

I would assign the created time to the referencing object rather than the blob itself - the blob is more like an inode in unix filesystem terms, which can be referenced by more than one file (with hardlinks) - and each file has its own creation time.

>  * Keywords are sometimes connected to a color. JMAP is currently unable to expose that information, and simply supports "String[]" for keywords. A new "coloredKeywords" property could be added with an own object with "color" and "word" in JMAP for Tasks.

That seems reasonable.  Is this per task, or per collection (whatever they're called for Tasks).

So you'd have something like:

TaskList:
  keywordColors: { "$urgent": "red", "$pending": "yellow", "$done": "green" }

Tasks:
  "task1":
     keywords: { "$pending" => true }
  "task2":
     keywords: { "$urgent" => true }

Obviously nicer syntax required.  But basically the keywords are per task, and the colour map is on the container object.

Bron.

--
  Bron Gondwana, CEO, Fastmail Pty Ltd
  [email-masked]

---

From: Joris Baum <[email-masked]>
Date: Mon, 21 Mar 2022 14:04:46 +0100

Hi,

On 21.03.22 08:58, Bron Gondwana wrote:
>>     uploaded. AFAIK, there is no such a property for binary data
>>     within JMAP. We could add something like "created" to the JMAP
>>     Blob Management Extension?
>>
>
> I would assign the created time to the referencing object rather than 
> the blob itself - the blob is more like an inode in unix filesystem 
> terms, which can be referenced by more than one file (with hardlinks) 
> - and each file has its own creation time.
>
So to be more specific: for the JMAP Tasks (JSCalendar) case you would 
recommend to add a "created" property to the Links object?

>>     for keywords. A new "coloredKeywords" property could be added
>>     with an own object with "color" and "word" in JMAP for Tasks.
>>
>
> Obviously nicer syntax required. But basically the keywords are per 
> task, and the colour map is on the container object.

Yes! That looks good and is a common pattern. I will look at it a little 
bit closer, though.

Regards,

Joris

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

---

From: "Robert Stepanek" <[email-masked]>
Date: Mon, 21 Mar 2022 14:42:02 +0100

On Mon, Mar 21, 2022, at 2:04 PM, Joris Baum wrote:
> So to be more specific: for the JMAP Tasks (JSCalendar) case you would recommend to add a "created" property to the Links object?
> 

Would the time when a Link object is added to the Task have the same semantics as the time "when an attachment was uploaded"?

If that's the case, I would rather not just add a "created" timestamp to Link, it should be allowed on any object type. Or preferably, I already have promised to write a RFC draft that tracks property changes for any JMAP object type, I just didn't take the time to write it.