Skip to main content

JMAP for Contacts
draft-ietf-jmap-contacts-10

Revision differences

Document history

Date Rev. By Action
2024-12-18
(System)
Received changes through RFC Editor sync (changed state to RFC, created became rfc relationship between draft-ietf-jmap-contacts and RFC 9610, changed IESG state to RFC …
Received changes through RFC Editor sync (changed state to RFC, created became rfc relationship between draft-ietf-jmap-contacts and RFC 9610, changed IESG state to RFC Published)
2024-12-16
10 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2024-12-02
10 (System) RFC Editor state changed to AUTH48
2024-11-11
10 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2024-11-04
10 Bron Gondwana Added to session: IETF-121: jmap  Tue-1500
2024-06-24
10 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2024-06-24
10 (System) IANA Action state changed to Waiting on RFC Editor from In Progress
2024-06-24
10 (System) IANA Action state changed to In Progress from Waiting on Authors
2024-06-21
10 (System) IANA Action state changed to Waiting on Authors from In Progress
2024-06-14
10 (System) RFC Editor state changed to EDIT
2024-06-14
10 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2024-06-14
10 (System) Announcement was received by RFC Editor
2024-06-13
10 (System) IANA Action state changed to In Progress
2024-06-13
10 Jenny Bui IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2024-06-13
10 Jenny Bui IESG has approved the document
2024-06-13
10 Jenny Bui Closed "Approve" ballot
2024-06-13
10 Jenny Bui Ballot approval text was generated
2024-06-13
10 (System) Removed all action holders (IESG state changed)
2024-06-13
10 Murray Kucherawy IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup
2024-06-07
10 Mahesh Jethanandani [Ballot comment]
Thanks for addressing my comments.
2024-06-07
10 Mahesh Jethanandani [Ballot Position Update] Position for Mahesh Jethanandani has been changed to No Objection from Discuss
2024-06-07
10 Orie Steele [Ballot comment]
Thanks for addressing my comments.
2024-06-07
10 Orie Steele [Ballot Position Update] Position for Orie Steele has been changed to No Objection from Discuss
2024-06-06
10 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2024-06-06
10 Neil Jenkins New version available: draft-ietf-jmap-contacts-10.txt
2024-06-06
10 (System) New version approved
2024-06-06
10 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2024-06-06
10 Neil Jenkins Uploaded new revision
2024-05-30
09 Jenny Bui IESG state changed to IESG Evaluation::AD Followup from IESG Evaluation
2024-05-29
09 John Scudder [Ballot Position Update] New position, No Objection, has been recorded for John Scudder
2024-05-29
09 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2024-05-29
09 Zaheduzzaman Sarker
[Ballot comment]
Thanks for working on this specification. I have no issues here from transport protocol point of view.

I have one observation, why does …
[Ballot comment]
Thanks for working on this specification. I have no issues here from transport protocol point of view.

I have one observation, why does the mayAdmin has one modify right for "shareWith" property?
2024-05-29
09 Zaheduzzaman Sarker [Ballot Position Update] New position, No Objection, has been recorded for Zaheduzzaman Sarker
2024-05-28
09 Paul Wouters
[Ballot comment]
I'm a bit confused why mayAdmin is not called mayShare, since that is what it is. To me, mayAdmin would include mayDelete, but …
[Ballot comment]
I'm a bit confused why mayAdmin is not called mayShare, since that is what it is. To me, mayAdmin would include mayDelete, but here that is not the case.
2024-05-28
09 Paul Wouters [Ballot Position Update] New position, No Objection, has been recorded for Paul Wouters
2024-05-28
09 Roman Danyliw
[Ballot comment]
Thank you to Meral Shirazipour for the GENART review.

** Section 7.  Section 7.1, 7.2 and 7.3 don’t explicitly name the registry.  However, …
[Ballot comment]
Thank you to Meral Shirazipour for the GENART review.

** Section 7.  Section 7.1, 7.2 and 7.3 don’t explicitly name the registry.  However, Section 7.4, does.  For clarity, I would recommend:

OLD #1
  IANA will register the "contacts" JMAP Capability as follows:
NEW
IANA will register "contacts" in the “JMAP Capabilities” registry as follows:

OLD #2
  IANA will register the "AddressBook" JMAP Data Type as follows:
NEW
IANA will register "AddressBook" in the “JMAP Data Types” registry as follows:


OLD #3
  IANA will register the "ContactCard" JMAP Data Type as follows:
NEW
IANA will register “ContactCard" in the “JMAP Data Types” registry as follows:
2024-05-28
09 Roman Danyliw [Ballot Position Update] New position, No Objection, has been recorded for Roman Danyliw
2024-05-28
09 Francesca Palombini [Ballot Position Update] New position, No Objection, has been recorded for Francesca Palombini
2024-05-27
09 Orie Steele
[Ballot discuss]
# Orie Steele, ART AD, comments for draft-ietf-jmap-contacts-09
CC @OR13

https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-jmap-contacts-09.txt&submitcheck=True

Thanks to Tim Bray for the ARTART review.

## Discuss

### UID …
[Ballot discuss]
# Orie Steele, ART AD, comments for draft-ietf-jmap-contacts-09
CC @OR13

https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-jmap-contacts-09.txt&submitcheck=True

Thanks to Tim Bray for the ARTART review.

## Discuss

### UID vs UUID

I suggest the following clarifications:

Add "UID" to your terminology since it is not defined in RFC8620.

Something like:

```
UID:
: A unique identifier. UUID as defined RFC9562 is RECOMMENDED, but for backward compatibility it MAY be a free-text value, see RFC9553 Section 2.1.9 for details.
```

Then instead of:

```
309   *  *id*: Id (immutable; server-set)
310       The id of the ContactCard.  The id uniquely identifies a
311       ContactCard with a particular "uid" within a particular account.
```

Consider this alternative text:

"""
The id of the ContactCard. The id MUST be a UID as defined in Section 1.2 of this document.
"""

Later:

```
371   *  *uid*: String
372       A card must have this string exactly as its uid to match.
```

"id" or "uid" ?

### Whats a "data: URI"

```
326   When returning ContactCards, any Media with a data: URI SHOULD return
```

Please add a reference to RFC2397.

### Intended Use: Reserved

```
748 7.5.3.  blobId

750   Property Name: blobId

752   Property Type: Not applicable

754   Property Context: Media

756   Intended Use: Reserved

758   Since Version: 1.0
759   Change Controller: IETF
```

The current registry contains no "Reserved" entries, and RFC8620 does not define "reserved".

What does "Reserved" mean?
2024-05-27
09 Orie Steele
[Ballot comment]
## Comments

### AddressBook description string length

```
173   *  *description*: String|null (default: null)

175       An optional longer-form description …
[Ballot comment]
## Comments

### AddressBook description string length

```
173   *  *description*: String|null (default: null)

175       An optional longer-form description of the AddressBook, to provide
176       context in shared environments where users need more than just the
177       name.
```

Is there an octet limit for this field (and all other string fields), or a least a max length recommendation?

### Enumerations vs Booleans

```
229   An *AddressBookRights* object has the following properties:

231   *  *mayRead*: Boolean
232       The user may fetch the ContactCards in this AddressBook.
233   *  *mayWrite*: Boolean
234       The user may create, modify or destroy all ContactCards in this
235       AddressBook, or move them to or from this AddressBook.
236   *  *mayAdmin*: Boolean
237       The user may modify the "shareWith" property for this AddressBook.
238   *  *mayDelete*: Boolean
239       The user may delete the AddressBook itself.
```

Later:

```
564           "addressBookIds": {
565             "062adcfa-105d-455c-bc60-6db68b69c3f3": true
566           },
```

I wonder why these are not modeled as:

```
"Ids": []
```

Perhaps the object syntax is used to anticipate extension?

### Access Control Policy

```
282   The "shareWith" property may only be set by users that have the
283   mayAdmin right.  When modifying the shareWith property, the user
284   cannot give a right to a principal if the principal did not already
285   have that right and the user making the change also does not have
286   that right.  Any attempt to do so MUST be rejected with a forbidden
287   SetError.
```

This is discretionary access control? Consider a citation and an example that is not `"shareWith": null,` in Section 4.1.
2024-05-27
09 Orie Steele [Ballot Position Update] New position, Discuss, has been recorded for Orie Steele
2024-05-25
09 Éric Vyncke
[Ballot comment]

# Éric Vyncke, INT AD, comments for draft-ietf-jmap-contacts-09

Thank you for the work put into this document.

Please find below some non-blocking COMMENT …
[Ballot comment]

# Éric Vyncke, INT AD, comments for draft-ietf-jmap-contacts-09

Thank you for the work put into this document.

Please find below some non-blocking COMMENT points (but replies would be appreciated even if only for my own education).

Special thanks to Jim Fenton for the shepherd's detailed write-up including the WG consensus and the justification of the intended status.

I hope that this review helps to improve the document,

Regards,

-éric



# COMMENTS (non-blocking)


## Section 1.4.1

In `This MUST be an integer >= 1, or null for no limit` does null represent the integer 0 or NULL (lile in SQL) ? Suggest adding text to clarify, perhaps only double quotes around null.

In `If true, the user may create an AddressBook in this account` suggest to use 'if and only if' construct.

## Section 2

Which type is 'id' ? Integer ? String ? Also applies to sections 3. If well-known by the JMAP community, suggest a reminder in the terminology.


'isDefault' text could be clearer when no AddressBook has isdefault=true.

In the `mayRead`and others, should the following text be a normative MAY ?

## Section 3.3.1

Use of `UTCDate` seems to refer to UTC date and time. It is perhaps well-know in the JMAP community but could benefit from some explanations.

Can all `String` be UTF-8 encoded ?
2024-05-25
09 Éric Vyncke [Ballot Position Update] New position, No Objection, has been recorded for Éric Vyncke
2024-05-25
09 Erik Kline [Ballot Position Update] New position, No Objection, has been recorded for Erik Kline
2024-05-24
09 (System) IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2024-05-24
09 Deb Cooley [Ballot Position Update] New position, No Objection, has been recorded for Deb Cooley
2024-05-24
09 Jim Guichard [Ballot Position Update] New position, No Objection, has been recorded for Jim Guichard
2024-05-23
09 Gunter Van de Velde
[Ballot comment]
# Gunter Van de Velde, RTG AD, comments for draft-ietf-jmap-contacts-09

Please find https://www.ietf.org/blog/handling-iesg-ballot-positions/ documenting the handling of ballots.


#GENERIC COMMENTS
#================

191   …
[Ballot comment]
# Gunter Van de Velde, RTG AD, comments for draft-ietf-jmap-contacts-09

Please find https://www.ietf.org/blog/handling-iesg-ballot-positions/ documenting the handling of ballots.


#GENERIC COMMENTS
#================

191   *  *isDefault*: Boolean (server-set)
192       This SHOULD be true for exactly one AddressBook in any account,
193       and MUST NOT be true for more than one AddressBook within an
194       account.  The default AddressBook should be used by clients
195       whenever they need to choose an AddressBook for the user within
196       this account, and they do not have any other information on which
197       to make a choice.  For example, if the user creates a new contact
198       card, the client may automatically set the card as belonging to
199       the default AddressBook from the user's primary account.

What if none is set true? will there then be a random selected at default?
is there a mechanism or desire to make such selection deterministic?

201   *  *isSubscribed*: Boolean

203       True if the user has indicated they wish to see this AddressBook
204       in their client.  This should default to false for AddressBooks in
205       shared accounts the user has access to and true for any new
206       AddressBooks created by the user themself.

208       If false, the AddressBook and its contents should only be
209       displayed when the user explicitly requests it or to offer it for
210       the user to subscribe to.

is there a reason why this section does not use [RFC2119] [RFC8174] language?
2024-05-23
09 Gunter Van de Velde [Ballot Position Update] New position, No Objection, has been recorded for Gunter Van de Velde
2024-05-20
09 Mahesh Jethanandani
[Ballot comment]
The IANA review of this document seems to not have concluded yet.

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about very minor potential …
[Ballot comment]
The IANA review of this document seems to not have concluded yet.

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

Section 2, paragraph 12
> w AddressBooks created by the user themself. If false, the AddressBook and it
>                                    ^^^^^^^^
Generally speaking, "themself" is only acceptable when referring to a singular
entity (such as the singular usage of "they", which is the preferred pronoun
for many non-binary people). If "themself" refers to a plural entity (such as
"everybody", or the standard usage of "they"), you should use "themselves".

Section 2.3, paragraph 3
> s, it MUST be ignored and the currently default AddressBook (if any) will rem
>                              ^^^^^^^^^^^^^^^^^
You used an adverb ("currently") instead of an adjective, or a noun ("default")
instead of another adjective.
2024-05-20
09 Mahesh Jethanandani Ballot comment text updated for Mahesh Jethanandani
2024-05-20
09 Mahesh Jethanandani
[Ballot discuss]
Thanks for the document. It was short and easy to read. The following two DISCUSS should be easy to resolve with some additional …
[Ballot discuss]
Thanks for the document. It was short and easy to read. The following two DISCUSS should be easy to resolve with some additional text, or they could be my lack of understanding of how JMAP works, in which case I would not mind being educated.

Section 2.3, paragraph 3
>      If false, any attempt to destroy an AddressBook that still has
>      ContactCard in it will be rejected with an addressBookHasContents
>      SetError.  If true, any ContactCards that were in the AddressBook
>      will be removed from it, and if in no other AddressBooks they will
>      be destroyed.

The "if true" condition is not clear to me, especially if other AddressBooks exist. There is a distinction that is being drawn between removing a ContactCard and destroying it, which is not apparent. Can that distinction be explained?

Related to that, it appears the ContactCards that were part of an AddressBook that is being deleted, will be moved if another AddressBook exists. Which AddressBook would that be? The default AddressBook? What happens if the default AddressBook is being removed?

Section 3, paragraph 2
>    *  *addressBookIds*: Id[Boolean]
>      The set of AddressBook ids this ContactCard belongs to.  A card
>      MUST belong to at least one AddressBook at all times (until it is
>      destroyed).  The set is represented as an object, with each key
>      being an AddressBook id.  The value for each key in the object
>      MUST be true.

What happens if a ContactCard is removed from an AddressBook that is present in multiple AddressBooks? Is it removed from all AddressBooks, or just one? If it is removed from all AddressBooks, how does a user who wants to trim the AddressBook to certain contacts remove a ContactCard?
2024-05-20
09 Mahesh Jethanandani Ballot discuss text updated for Mahesh Jethanandani
2024-05-20
09 Mahesh Jethanandani
[Ballot discuss]
Thanks for the document. It was short and easy to read. The following two DISCUSS should be easy to resolve with some additional …
[Ballot discuss]
Thanks for the document. It was short and easy to read. The following two DISCUSS should be easy to resolve with some additional text, or they could be my lack of understanding of how JMAP works, in which case I would not mind being educated.

Section 2.3, paragraph 3
>      If false, any attempt to destroy an AddressBook that still has
>      ContactCard in it will be rejected with an addressBookHasContents
>      SetError.  If true, any ContactCards that were in the AddressBook
>      will be removed from it, and if in no other AddressBooks they will
>      be destroyed.

The "if true" condition is not clear to me, especially if other AddressBooks exist. There is a distinction between removing a ContactCard and destroying it, which is not apparent. That distinction should be drawn out.

Related to that, it appears the ContactCards that were part of an AddressBook that is being deleted, will be moved if another AddressBook exists. Which AddressBook would that be? The default AddressBook? What happens if the default AddressBook is being removed?

Section 3, paragraph 2
>    *  *addressBookIds*: Id[Boolean]
>      The set of AddressBook ids this ContactCard belongs to.  A card
>      MUST belong to at least one AddressBook at all times (until it is
>      destroyed).  The set is represented as an object, with each key
>      being an AddressBook id.  The value for each key in the object
>      MUST be true.

What happens if a ContactCard is removed from an AddressBook that is present in multiple AddressBooks? Is it removed from all AddressBooks, or just one? If it is removed from all AddressBooks, how does a user who wants to trim the AddressBook to certain contacts remove a ContactCard?
2024-05-20
09 Mahesh Jethanandani Ballot discuss text updated for Mahesh Jethanandani
2024-05-20
09 Mahesh Jethanandani
[Ballot discuss]
Thanks for the document. It was short and easy to read. The following two DISCUSS should be easy to resolve with some additional …
[Ballot discuss]
Thanks for the document. It was short and easy to read. The following two DISCUSS should be easy to resolve with some additional text, as they could be my lack of understanding of how JMAP works.

Section 2.3, paragraph 3
>      If false, any attempt to destroy an AddressBook that still has
>      ContactCard in it will be rejected with an addressBookHasContents
>      SetError.  If true, any ContactCards that were in the AddressBook
>      will be removed from it, and if in no other AddressBooks they will
>      be destroyed.


The "if true" condition is not clear to me, especially if other AddressBooks exist. There is a distinction between removing a ContactCard and destroying it, which is not apparent. That distinction should be drawn out.

Related to that, it appears the ContactCards that were part of an AddressBook that is being deleted, will be moved if another AddressBook exists. Which AddressBook would that be? The default AddressBook? What happens if the default AddressBook is being removed?

Section 3, paragraph 2
>    *  *addressBookIds*: Id[Boolean]
>      The set of AddressBook ids this ContactCard belongs to.  A card
>      MUST belong to at least one AddressBook at all times (until it is
>      destroyed).  The set is represented as an object, with each key
>      being an AddressBook id.  The value for each key in the object
>      MUST be true.

What happens if a ContactCard is removed from an AddressBook that is present in multiple AddressBooks? Is it removed from all AddressBooks, or just one? If it is removed from all AddressBooks, how does a user who wants to trim the AddressBook to certain contacts remove a ContactCard?
2024-05-20
09 Mahesh Jethanandani
[Ballot comment]
-------------------------------------------------------------------------------
COMMENT
-------------------------------------------------------------------------------

The IANA review of this document seems to not have concluded yet.

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about …
[Ballot comment]
-------------------------------------------------------------------------------
COMMENT
-------------------------------------------------------------------------------

The IANA review of this document seems to not have concluded yet.

-------------------------------------------------------------------------------
NIT
-------------------------------------------------------------------------------

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

Section 2, paragraph 12
> w AddressBooks created by the user themself. If false, the AddressBook and it
>                                    ^^^^^^^^
Generally speaking, "themself" is only acceptable when referring to a singular
entity (such as the singular usage of "they", which is the preferred pronoun
for many non-binary people). If "themself" refers to a plural entity (such as
"everybody", or the standard usage of "they"), you should use "themselves".

Section 2.3, paragraph 3
> s, it MUST be ignored and the currently default AddressBook (if any) will rem
>                              ^^^^^^^^^^^^^^^^^
You used an adverb ("currently") instead of an adjective, or a noun ("default")
instead of another adjective.
2024-05-20
09 Mahesh Jethanandani [Ballot Position Update] New position, Discuss, has been recorded for Mahesh Jethanandani
2024-05-18
09 Tim Bray Request for Telechat review by ARTART Completed: Ready with Issues. Reviewer: Tim Bray. Sent review to list.
2024-05-16
09 Barry Leiba Request for Telechat review by ARTART is assigned to Tim Bray
2024-05-16
09 Liz Flynn Placed on agenda for telechat - 2024-05-30
2024-05-16
09 Murray Kucherawy Ballot has been issued
2024-05-16
09 Murray Kucherawy [Ballot Position Update] New position, Yes, has been recorded for Murray Kucherawy
2024-05-16
09 Murray Kucherawy Created "Approve" ballot
2024-05-16
09 Murray Kucherawy IESG state changed to IESG Evaluation from Waiting for AD Go-Ahead::AD Followup
2024-05-16
09 Murray Kucherawy Ballot writeup was changed
2024-05-12
09 Neil Jenkins New version available: draft-ietf-jmap-contacts-09.txt
2024-05-12
09 (System) New version approved
2024-05-12
09 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2024-05-12
09 Neil Jenkins Uploaded new revision
2024-05-09
08 (System) Changed action holders to Murray Kucherawy (IESG state changed)
2024-05-09
08 (System) Sub state has been changed to AD Followup from Revised I-D Needed
2024-05-09
08 Neil Jenkins New version available: draft-ietf-jmap-contacts-08.txt
2024-05-09
08 (System) New version approved
2024-05-09
08 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2024-05-09
08 Neil Jenkins Uploaded new revision
2024-04-16
07 David Dong IANA Experts State changed to Expert Reviews OK from Need IANA Expert(s)
2024-04-16
07 (System) Changed action holders to Neil Jenkins (IESG state changed)
2024-04-16
07 Murray Kucherawy IESG state changed to Waiting for AD Go-Ahead::Revised I-D Needed from Waiting for AD Go-Ahead::AD Followup
2024-04-14
07 Murray Kucherawy ARTART review is under discussion.  Waiting for that issue(s) to resolve.
2024-04-11
07 (System) IANA Review state changed to Version Changed - Review Needed from IANA - Not OK
2024-04-11
07 Neil Jenkins New version available: draft-ietf-jmap-contacts-07.txt
2024-04-11
07 Neil Jenkins New version accepted (logged-in submitter: Neil Jenkins)
2024-04-11
07 Neil Jenkins Uploaded new revision
2024-04-10
06 Linda Dunbar Request for Last Call review by OPSDIR Completed: Has Nits. Reviewer: Linda Dunbar. Sent review to list.
2024-04-04
06 Murray Kucherawy IESG state changed to Waiting for AD Go-Ahead::AD Followup from Waiting for AD Go-Ahead
2024-04-04
06 (System) IESG state changed to Waiting for AD Go-Ahead from In Last Call
2024-04-03
06 Shivan Sahib Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: Shivan Sahib. Sent review to list. Submission of review completed at an earlier date.
2024-04-03
06 Shivan Sahib Request for Last Call review by SECDIR Completed: Has Issues. Reviewer: Shivan Sahib.
2024-04-02
06 (System) IANA Review state changed to IANA - Not OK from IANA - Review Needed
2024-04-02
06 David Dong
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

IANA has completed its review of draft-ietf-jmap-contacts-06. If any part of this review is inaccurate, please let us know.

IANA …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

IANA has completed its review of draft-ietf-jmap-contacts-06. If any part of this review is inaccurate, please let us know.

IANA understands that, upon approval of this document, there are four actions which we must complete.

First, in the JMAP Capabilities registry in the JSON Meta Application Protocol (JMAP) registry group located at:

https://www.iana.org/assignments/jmap/

a single new registration will be made as follows:

Capability Name: urn:ietf:params:jmap:contacts
Intended Use: common
Change Controller: IETF
Security and Privacy Considerations: [ RFC-to-be; Section 5 ]
Reference: [ RFC-to-be ]

Second, in the JMAP Data Types registry also in the JSON Meta Application Protocol (JMAP) registry group located at:

https://www.iana.org/assignments/jmap/

two new registrations will be made as follows:

Type Name: AddressBook
Can Reference Blobs: no
Can Use for State Change: yes
Capability: urn:ietf:params:jmap:contacts
Reference: [ RFC-to-be ]

Type Name: ContactCard
Can Reference Blobs: yes
Can Use for State Change: yes
Capability: urn:ietf:params:jmap:contacts
Reference: [ RFC-to-be ]

As this also requests registrations in an Expert Review or Specification Required (see RFC 8126) registry, we will initiate the required Expert Review via a separate request. This review must be completed before the document's IANA state can be changed to "IANA OK."

Third, in the JMAP Error Codes registry in the JSON Meta Application Protocol (JMAP) registry group located at:

https://www.iana.org/assignments/jmap/

a single new registration will be made as follows:

JMPA Error Code: addressBookHasContents
Intended Use: common
Change Controller: IETF
Description: The AddressBook has at least one ContactCard assigned to it, and the "onDestroyRemoveContents" argument was false.
Reference: [ RFC-to-be ]

As this also requests a registration in an Expert Review or Specification Required (see RFC 8126) registry, we will initiate the required Expert Review via a separate request. This review must be completed before the document's IANA state can be changed to "IANA OK."

Fourth, in the JSContact Properties registry in the JSContact registry group located at:

https://www.iana.org/assignments/jscontact/

three new registrations will be made as follows:

Property Name: id
Property Type: not applicable
Property Context: Card
Intended Usage: Reserved
Since Version: 1.0
Until Version:
Change Controller: IETF
Reference/Description: [ RFC-to-be ]

Property Name: addressBookIds
Property Type: not applicable
Property Context: Card
Intended Usage: Reserved
Since Version: 1.0
Until Version:
Change Controller: IETF
Reference/Description: [ RFC-to-be ]

Property Name: blobId
Property Type: not applicable
Property Context: Media
Intended Usage: Reserved
Since Version: 1.0
Until Version:
Change Controller: IETF
Reference/Description: [ RFC-to-be ]

Registrations in the JSContact Properties registry require notice be sent to the Calext mailing list for review as per Section 3.3.1 of [RFC-ietf-calext-jscontact-16].

As this also requests registrations in an Expert Review or Specification Required (see RFC 8126) registry, we will initiate the required Expert Review via a separate request. This review must be completed before the document's IANA state can be changed to "IANA OK."

We understand that these are the only actions required to be completed upon approval of this document.

NOTE: The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is meant only to confirm the list of actions that will be performed.

For definitions of IANA review states, please see:

https://datatracker.ietf.org/help/state/draft/iana-review

Thank you,

David Dong
IANA Services Sr. Specialist
2024-04-01
06 Meral Shirazipour Request for Last Call review by GENART Completed: Ready. Reviewer: Meral Shirazipour. Sent review to list. Submission of review completed at an earlier date.
2024-04-01
06 Meral Shirazipour Request for Last Call review by GENART Completed: Ready. Reviewer: Meral Shirazipour.
2024-03-30
06 Tero Kivinen Request for Last Call review by SECDIR is assigned to Shivan Sahib
2024-03-25
06 Jean Mahoney Request for Last Call review by GENART is assigned to Meral Shirazipour
2024-03-22
06 Tim Bray Request for Last Call review by ARTART Completed: Ready with Issues. Reviewer: Tim Bray. Sent review to list.
2024-03-22
06 Barry Leiba Request for Last Call review by ARTART is assigned to Tim Bray
2024-03-21
06 David Dong IANA Experts State changed to Need IANA Expert(s)
2024-03-21
06 Carlos Pignataro Request for Last Call review by OPSDIR is assigned to Linda Dunbar
2024-03-20
06 Neil Jenkins New version available: draft-ietf-jmap-contacts-06.txt
2024-03-20
06 Neil Jenkins New version accepted (logged-in submitter: Neil Jenkins)
2024-03-20
06 Neil Jenkins Uploaded new revision
2024-03-20
05 Cindy Morgan IANA Review state changed to IANA - Review Needed
2024-03-20
05 Cindy Morgan
The following Last Call announcement was sent out (ends 2024-04-04):

From: The IESG
To: IETF-Announce
CC: draft-ietf-jmap-contacts@ietf.org, fenton@bluepopcorn.net, jmap-chairs@ietf.org, jmap@ietf.org, superuser@gmail.com …
The following Last Call announcement was sent out (ends 2024-04-04):

From: The IESG
To: IETF-Announce
CC: draft-ietf-jmap-contacts@ietf.org, fenton@bluepopcorn.net, jmap-chairs@ietf.org, jmap@ietf.org, superuser@gmail.com
Reply-To: last-call@ietf.org
Sender:
Subject: Last Call:  (JMAP for Contacts) to Proposed Standard


The IESG has received a request from the JSON Mail Access Protocol WG (jmap)
to consider the following document: - 'JMAP for Contacts'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
last-call@ietf.org mailing lists by 2024-04-04. Exceptionally, comments may
be sent to iesg@ietf.org instead. In either case, please retain the beginning
of the Subject line to allow automated sorting.

Abstract


  This document specifies a data model for synchronising contacts data
  with a server using JMAP.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-jmap-contacts/



No IPR declarations have been submitted directly on this I-D.




2024-03-20
05 Cindy Morgan IESG state changed to In Last Call from Last Call Requested
2024-03-20
05 Cindy Morgan Last call announcement was changed
2024-03-20
05 Murray Kucherawy Last call was requested
2024-03-20
05 Murray Kucherawy Ballot approval text was generated
2024-03-20
05 Murray Kucherawy Ballot writeup was generated
2024-03-20
05 Murray Kucherawy IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2024-03-20
05 Murray Kucherawy Last call announcement was generated
2024-03-19
05 (System) Changed action holders to Murray Kucherawy (IESG state changed)
2024-03-19
05 (System) Sub state has been changed to AD Followup from Revised I-D Needed
2024-03-19
05 Neil Jenkins New version available: draft-ietf-jmap-contacts-05.txt
2024-03-19
05 Neil Jenkins New version accepted (logged-in submitter: Neil Jenkins)
2024-03-19
05 Neil Jenkins Uploaded new revision
2024-03-18
04 (System) Changed action holders to Neil Jenkins (IESG state changed)
2024-03-18
04 Murray Kucherawy IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation::AD Followup
2024-03-07
04 Murray Kucherawy IESG state changed to AD Evaluation::AD Followup from AD Evaluation
2024-02-25
04 Murray Kucherawy IESG state changed to AD Evaluation from Publication Requested
2024-02-20
04 Jim Fenton
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the …
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this write-up to give helpful context to Last Call
and Internet Engineering Steering Group ([IESG][1]) reviewers, and your
diligence in completing it is appreciated. The full role of the shepherd is
further described in [RFC 4858][2]. You will need the cooperation of the authors
and editors to complete these checks.

Note that some numbered items contain multiple related questions; please be sure
to answer all of them.

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
  few individuals, with others being silent, or did it reach broad agreement?

This is a fairly straightforward documentm with little controversy. Two sets of
issues were brought up in WGLC, and satisfactorily addressed with document updates.

2. Was there controversy about particular points, or were there decisions where
  the consensus was particularly rough?

There was no controversy about this document.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
  so, please summarize the areas of conflict in separate email messages to the
  responsible Area Director. (It should be in a separate email because this
  questionnaire is publicly available.)

No

4. For protocol documents, are there existing implementations of the contents of
  the document? Have a significant number of potential implementers indicated
  plans to implement? Are any existing implementations reported somewhere,
  either in the document itself (as [RFC 7942][3] recommends) or elsewhere
  (where)?

This is believed to have been implemented in Cyrus JMAP, and others have expressed
interest.

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
  IETF working groups or external organizations, and would it therefore benefit
  from their review? Have those reviews occurred? If yes, describe which
  reviews took place.

Primary interaction is with calext, which has considerable membership overlap
with jmap in addition to having been notified on the mailing list about this
document.

6. Describe how the document meets any required formal expert review criteria,
  such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

This document does not meet any formal expert review criteria.

7. If the document contains a YANG module, has the final version of the module
  been checked with any of the [recommended validation tools][4] for syntax and
  formatting validation? If there are any resulting errors or warnings, what is
  the justification for not fixing them at this time? Does the YANG module
  comply with the Network Management Datastore Architecture (NMDA) as specified
  in [RFC 8342][5]?

No YANG module is involved.

8. Describe reviews and automated checks performed to validate sections of the
  final version of the document written in a formal language, such as XML code,
  BNF rules, MIB definitions, CBOR's CDDL, etc.

Checked json content against https://jsonchecker.com. No other formal languages were used.

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
  document is needed, clearly written, complete, correctly designed, and ready
  to be handed off to the responsible Area Director?

Yes

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?

Only for ART: calendar/contacts, being addressed through coordination with calext
(which has considerable membership overlap with jmap)

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?

Proposed Standard. This is a classic extension to a standards-track protocol.
Datatracker correctly reflects this.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][7]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.

Authors have been reminded and assured the shepherd that there is no relevant IPR.

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.

Yes: 1 author/editor.

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15]. (Also note that the current idnits tool generates
    some incorrect warnings; a rewrite is underway.)

In one place the text "[Boolean]" is being interpreted by idnits as an unresolved
reference.

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].

References are believed by the shepherd to be correctly categorized.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?

All references are freely available.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97
][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.

No.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?

Document references draft-ietf-jmap-sharing, and draft-ietf-calext-jscontact, both
of which have been submitted to IESG for publication.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.

No status changes.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).

IANA considerations are relatively minor, and consistent with the document.
Reservations have not yet been made for new registry entries.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.

No new IANA registries.

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://wiki.ietf.org/group/ops/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://wiki.ietf.org/group/iesg/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]: https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/

2024-02-20
04 Jim Fenton IETF WG state changed to Submitted to IESG for Publication from In WG Last Call
2024-02-20
04 Jim Fenton IESG state changed to Publication Requested from I-D Exists
2024-02-20
04 (System) Changed action holders to Murray Kucherawy (IESG state changed)
2024-02-20
04 Jim Fenton Responsible AD changed to Murray Kucherawy
2024-02-20
04 Jim Fenton Document is now in IESG state Publication Requested
2024-02-20
04 Jim Fenton
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the …
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this write-up to give helpful context to Last Call
and Internet Engineering Steering Group ([IESG][1]) reviewers, and your
diligence in completing it is appreciated. The full role of the shepherd is
further described in [RFC 4858][2]. You will need the cooperation of the authors
and editors to complete these checks.

Note that some numbered items contain multiple related questions; please be sure
to answer all of them.

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
  few individuals, with others being silent, or did it reach broad agreement?

This is a fairly straightforward documentm with little controversy. Two sets of
issues were brought up in WGLC, and satisfactorily addressed with document updates.

2. Was there controversy about particular points, or were there decisions where
  the consensus was particularly rough?

There was no controversy about this document.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
  so, please summarize the areas of conflict in separate email messages to the
  responsible Area Director. (It should be in a separate email because this
  questionnaire is publicly available.)

No

4. For protocol documents, are there existing implementations of the contents of
  the document? Have a significant number of potential implementers indicated
  plans to implement? Are any existing implementations reported somewhere,
  either in the document itself (as [RFC 7942][3] recommends) or elsewhere
  (where)?

This is believed to have been implemented in Cyrus JMAP, and others have expressed
interest.

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
  IETF working groups or external organizations, and would it therefore benefit
  from their review? Have those reviews occurred? If yes, describe which
  reviews took place.

Primary interaction is with calext, which has considerable membership overlap
with jmap in addition to having been notified on the mailing list about this
document.

6. Describe how the document meets any required formal expert review criteria,
  such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.

This document does not meet any formal expert review criteria.

7. If the document contains a YANG module, has the final version of the module
  been checked with any of the [recommended validation tools][4] for syntax and
  formatting validation? If there are any resulting errors or warnings, what is
  the justification for not fixing them at this time? Does the YANG module
  comply with the Network Management Datastore Architecture (NMDA) as specified
  in [RFC 8342][5]?

No YANG module is involved.

8. Describe reviews and automated checks performed to validate sections of the
  final version of the document written in a formal language, such as XML code,
  BNF rules, MIB definitions, CBOR's CDDL, etc.

Checked json content against https://jsonchecker.com. No other formal languages were used.

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
  document is needed, clearly written, complete, correctly designed, and ready
  to be handed off to the responsible Area Director?

Yes

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?

Only for ART: calendar/contacts, being addressed through coordination with calext
(which has considerable membership overlap with jmap)

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?

Proposed Standard. This is a classic extension to a standards-track protocol.
Datatracker correctly reflects this.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][7]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.

Authors have been reminded and assured the shepherd that there is no relevant IPR.

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.

Yes: 1 author/editor.

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15]. (Also note that the current idnits tool generates
    some incorrect warnings; a rewrite is underway.)

In one place the text "[Boolean]" is being interpreted by idnits as an unresolved
reference.

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].

References are believed by the shepherd to be correctly categorized.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?

All references are freely available.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97
][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.

No.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?

Document references draft-ietf-jmap-sharing, and draft-ietf-calext-jscontact, both
of which have been submitted to IESG for publication.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.

No status changes.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).

IANA considerations are relatively minor, and consistent with the document.
Reservations have not yet been made for new registry entries.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.

No new IANA registries.

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://wiki.ietf.org/group/ops/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://wiki.ietf.org/group/iesg/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]: https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/

2024-02-19
04 Neil Jenkins New version available: draft-ietf-jmap-contacts-04.txt
2024-02-19
04 (System) New version approved
2024-02-19
04 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2024-02-19
04 Neil Jenkins Uploaded new revision
2024-02-06
03 Neil Jenkins New version available: draft-ietf-jmap-contacts-03.txt
2024-02-06
03 (System) New version approved
2024-02-06
03 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2024-02-06
03 Neil Jenkins Uploaded new revision
2024-01-03
02 Bron Gondwana Notification list changed to fenton@bluepopcorn.net because the document shepherd was set
2024-01-03
02 Bron Gondwana Document shepherd changed to Jim Fenton
2023-11-09
02 Bron Gondwana IETF WG state changed to In WG Last Call from WG Document
2023-11-09
02 Bron Gondwana Changed consensus to Yes from Unknown
2023-11-09
02 Bron Gondwana Intended Status changed to Proposed Standard from None
2023-11-06
02 Neil Jenkins New version available: draft-ietf-jmap-contacts-02.txt
2023-11-06
02 (System) New version approved
2023-11-06
02 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2023-11-06
02 Neil Jenkins Uploaded new revision
2023-07-23
01 Neil Jenkins New version available: draft-ietf-jmap-contacts-01.txt
2023-07-23
01 (System) New version approved
2023-07-23
01 (System) Request for posting confirmation emailed to previous authors: Neil Jenkins
2023-07-23
01 Neil Jenkins Uploaded new revision
2023-04-20
00 (System) Document has expired
2022-10-17
00 Neil Jenkins New version available: draft-ietf-jmap-contacts-00.txt
2022-10-17
00 Bron Gondwana WG -00 approved
2022-10-16
00 Neil Jenkins Set submitter to "Neil Jenkins ", replaces to (none) and sent approval email to group chairs: jmap-chairs@ietf.org
2022-10-16
00 Neil Jenkins Uploaded new revision