draft-ietf-vcarddav-carddav-01.txt   draft-ietf-vcarddav-carddav-02.txt 
Network Working Group C. Daboo Network Working Group C. Daboo
Internet-Draft Apple Internet-Draft Apple
Intended status: Standards Track July 12, 2008 Intended status: Standards Track November 24, 2008
Expires: January 13, 2009 Expires: May 28, 2009
vCard Extensions to WebDAV (CardDAV) vCard Extensions to WebDAV (CardDAV)
draft-ietf-vcarddav-carddav-01 draft-ietf-vcarddav-carddav-02
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 13, 2009. This Internet-Draft will expire on May 28, 2009.
Abstract Abstract
This document defines extensions to the Web Distributed Authoring and This document defines extensions to the Web Distributed Authoring and
Versioning (WebDAV) protocol to specify a standard way of accessing, Versioning (WebDAV) protocol to specify a standard way of accessing,
managing, and sharing contact information based on the vCard format. managing, and sharing contact information based on the vCard format.
Discussion of this Internet-Draft is taking place on the mailing list Discussion of this Internet-Draft is taking place on the mailing list
<http://lists.osafoundation.org/mailman/listinfo/ietf-carddav>. <http://lists.osafoundation.org/mailman/listinfo/ietf-carddav>.
skipping to change at page 3, line 17 skipping to change at page 3, line 17
10.2. CARDDAV:supported-collation XML Element . . . . . . . . . 34 10.2. CARDDAV:supported-collation XML Element . . . . . . . . . 34
10.3. CARDDAV:addressbook-query XML Element . . . . . . . . . . 34 10.3. CARDDAV:addressbook-query XML Element . . . . . . . . . . 34
10.4. CARDDAV:address-data XML Element . . . . . . . . . . . . . 35 10.4. CARDDAV:address-data XML Element . . . . . . . . . . . . . 35
10.4.1. CARDDAV:allprop XML Element . . . . . . . . . . . . . 36 10.4.1. CARDDAV:allprop XML Element . . . . . . . . . . . . . 36
10.4.2. CARDDAV:prop XML Element . . . . . . . . . . . . . . . 37 10.4.2. CARDDAV:prop XML Element . . . . . . . . . . . . . . . 37
10.5. CARDDAV:filter XML Element . . . . . . . . . . . . . . . . 38 10.5. CARDDAV:filter XML Element . . . . . . . . . . . . . . . . 38
10.5.1. CARDDAV:prop-filter XML Element . . . . . . . . . . . 38 10.5.1. CARDDAV:prop-filter XML Element . . . . . . . . . . . 38
10.5.2. CARDDAV:param-filter XML Element . . . . . . . . . . . 39 10.5.2. CARDDAV:param-filter XML Element . . . . . . . . . . . 39
10.5.3. CARDDAV:is-not-defined XML Element . . . . . . . . . . 40 10.5.3. CARDDAV:is-not-defined XML Element . . . . . . . . . . 40
10.5.4. CARDDAV:text-match XML Element . . . . . . . . . . . . 40 10.5.4. CARDDAV:text-match XML Element . . . . . . . . . . . . 40
10.6. CARDDAV:addressbook-multiget XML Element . . . . . . . . . 41 10.6. CARDDAV:addressbook-multiget XML Element . . . . . . . . . 42
11. Service Discovery via SRV records . . . . . . . . . . . . . . 41 11. Service Discovery via SRV records . . . . . . . . . . . . . . 42
12. Internationalization Considerations . . . . . . . . . . . . . 42 12. Internationalization Considerations . . . . . . . . . . . . . 42
13. Security Considerations . . . . . . . . . . . . . . . . . . . 42 13. Security Considerations . . . . . . . . . . . . . . . . . . . 43
14. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 43 14. IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 43
14.1. Namespace Registration . . . . . . . . . . . . . . . . . . 43 14.1. Namespace Registration . . . . . . . . . . . . . . . . . . 43
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 43 15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 44
16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 43 16. References . . . . . . . . . . . . . . . . . . . . . . . . . . 44
16.1. Normative References . . . . . . . . . . . . . . . . . . . 43 16.1. Normative References . . . . . . . . . . . . . . . . . . . 44
16.2. Informative References . . . . . . . . . . . . . . . . . . 45 16.2. Informative References . . . . . . . . . . . . . . . . . . 45
Appendix A. Change History (to be removed prior to Appendix A. Change History (to be removed prior to
publication as an RFC) . . . . . . . . . . . . . . . 45 publication as an RFC) . . . . . . . . . . . . . . . 46
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 47 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 48
Intellectual Property and Copyright Statements . . . . . . . . . . 48 Intellectual Property and Copyright Statements . . . . . . . . . . 49
1. Introduction and Overview 1. Introduction and Overview
Address books containing contact information are a key component of Address books containing contact information are a key component of
personal information management tools, such as email, calendaring and personal information management tools, such as email, calendaring and
scheduling, and instant messaging clients. To date several protocols scheduling, and instant messaging clients. To date several protocols
have been used for remote access to contact data, including have been used for remote access to contact data, including
Lightweight Directory Access Protocol LDAP [RFC4511], Internet Lightweight Directory Access Protocol LDAP [RFC4511], Internet
Message Support Protocol IMSP [IMSP] and Application Configuration Message Support Protocol IMSP [IMSP] and Application Configuration
Access Protocol ACAP [RFC2244], together with SyncML used for Access Protocol ACAP [RFC2244], together with SyncML used for
skipping to change at page 18, line 37 skipping to change at page 18, line 37
descendant address book collections owned by the principal. descendant address book collections owned by the principal.
Definition: Definition:
<!ELEMENT addressbook-home-set (DAV:href*)> <!ELEMENT addressbook-home-set (DAV:href*)>
Example: Example:
<C:addressbook-home-set xmlns:D="DAV:" <C:addressbook-home-set xmlns:D="DAV:"
xmlns:C="urn:ietf:params:xml:ns:carddav"> xmlns:C="urn:ietf:params:xml:ns:carddav">
<D:href>http://addressbook.example.com/bernard/addresses/</D:href> <D:href>http://addressbook.example.com/bernard/addresses/<
/D:href>
</C:addressbook-home-set> </C:addressbook-home-set>
7.1.2. CARDDAV:principal-address Property 7.1.2. CARDDAV:principal-address Property
Name: principal-address Name: principal-address
Namespace: urn:ietf:params:xml:ns:carddav Namespace: urn:ietf:params:xml:ns:carddav
Purpose: Identifies the URL of an address object resource that Purpose: Identifies the URL of an address object resource that
corresponds to the user represented by the principal. corresponds to the user represented by the principal.
skipping to change at page 19, line 28 skipping to change at page 19, line 28
corresponding contact information. corresponding contact information.
Definition: Definition:
<!ELEMENT principal-address (DAV:href)> <!ELEMENT principal-address (DAV:href)>
Example: Example:
<C:principal-address xmlns:D="DAV:" <C:principal-address xmlns:D="DAV:"
xmlns:C="urn:ietf:params:xml:ns:carddav"> xmlns:C="urn:ietf:params:xml:ns:carddav">
<D:href>http://addressbook.example.com/system/cyrus.vcf</D:href> <D:href>http://addressbook.example.com/system/cyrus.vcf<
/D:href>
</C:principal-address> </C:principal-address>
8. Address Book Reports 8. Address Book Reports
This section defines the reports that CardDAV servers MUST support on This section defines the reports that CardDAV servers MUST support on
address book collections and address object resources. address book collections and address object resources.
CardDAV servers MUST advertise support for these REPORTs on all CardDAV servers MUST advertise support for these REPORTs on all
address book collections and address object resources with the DAV: address book collections and address object resources with the DAV:
supported-report-set property defined in Section 3.1.5 of [RFC3253]. supported-report-set property defined in Section 3.1.5 of [RFC3253].
skipping to change at page 37, line 31 skipping to change at page 37, line 31
namespace used for the DAV:allprop element defined in WebDAV. namespace used for the DAV:allprop element defined in WebDAV.
10.4.2. CARDDAV:prop XML Element 10.4.2. CARDDAV:prop XML Element
Name: prop Name: prop
Namespace: urn:ietf:params:xml:ns:carddav Namespace: urn:ietf:params:xml:ns:carddav
Purpose: Defines which properties to return in the response. Purpose: Defines which properties to return in the response.
Description: The "name" attribute specifies the name of the Description: The "name" attribute specifies the name of the vCard
addressbook property to return (e.g., "NICKNAME"). The "novalue" property to return (e.g., "NICKNAME"). The "novalue" attribute
attribute can be used by clients to request that the actual value can be used by clients to request that the actual value of the
of the property not be returned (if the "novalue" attribute is set property not be returned (if the "novalue" attribute is set to
to "yes"). In that case the server will return just the vCard "yes"). In that case the server will return just the vCard
property name and any vCard parameters and a trailing ":" without property name and any vCard parameters and a trailing ":" without
the subsequent value data. the subsequent value data.
vCard allows a "group" prefix to appear before a property name in
the vCard data. When the "name" attribute does not specify a
group prefix, it MUST match properties in the vCard data without a
group prefix or with any group prefix. When the "name" attribute
includes a group prefix, it MUST match properties that have
exactly the same group prefix and name. e.g.: a "name" set to
"TEL" will match "TEL", "X-ABC.TEL", "X-ABC-1.TEL" vCard
properties. A "name" set to "X-ABC.TEL" will match an "X-ABC.TEL"
vCard property only, it will not match "TEL" or "X-ABC-1.TEL".
Definition: Definition:
<!ELEMENT prop EMPTY> <!ELEMENT prop EMPTY>
<!ATTLIST prop name CDATA #REQUIRED <!ATTLIST prop name CDATA #REQUIRED
novalue (yes | no) "no"> novalue (yes | no) "no">
<!-- name value: a vCard property name --> <!-- name value: a vCard property name -->
<!-- novalue value: "yes" or "no" --> <!-- novalue value: "yes" or "no" -->
NOTE: The CARDDAV:prop element defined here has the same name as the NOTE: The CARDDAV:prop element defined here has the same name as the
skipping to change at page 39, line 10 skipping to change at page 39, line 22
param-filter child elements also match. The "test" attribute param-filter child elements also match. The "test" attribute
specifies whether any (logical OR) or all (logical AND) of the specifies whether any (logical OR) or all (logical AND) of the
text-filter and param-filter tests needs to match in order for text-filter and param-filter tests needs to match in order for
the overall filter to match. the overall filter to match.
or: or:
* A property of the type specified by the "name" attribute does * A property of the type specified by the "name" attribute does
not exist, and the CARDAV:is-not-defined element is specified. not exist, and the CARDAV:is-not-defined element is specified.
vCard allows a "group" prefix to appear before a property name in
the vCard data. When the "name" attribute does not specify a
group prefix, it MUST match properties in the vCard data without a
group prefix or with any group prefix. When the "name" attribute
includes a group prefix, it MUST match properties that have
exactly the same group prefix and name. e.g.: a "name" set to
"TEL" will match "TEL", "X-ABC.TEL", "X-ABC-1.TEL" vCard
properties. A "name" set to "X-ABC.TEL" will match an "X-ABC.TEL"
vCard property only, it will not match "TEL" or "X-ABC-1.TEL".
Definition: Definition:
<!ELEMENT prop-filter (is-not-defined | <!ELEMENT prop-filter (is-not-defined |
(text-match?, param-filter*))> (text-match?, param-filter*))>
<!ATTLIST prop-filter name CDATA #REQUIRED <!ATTLIST prop-filter name CDATA #REQUIRED
test (anyof | allof) "anyof"> test (anyof | allof) "anyof">
<!-- name value: a vCard property name (e.g., "NICKNAME") <!-- name value: a vCard property name (e.g., "NICKNAME")
test value: test value:
anyof logical OR for text-match/param-filter matches anyof logical OR for text-match/param-filter matches
skipping to change at page 43, line 43 skipping to change at page 44, line 22
on CalDAV, on which CardDAV is heavily based. The following on CalDAV, on which CardDAV is heavily based. The following
individuals contributed their ideas and support for writing this individuals contributed their ideas and support for writing this
specification: Stefan Eissing, Arnaud Quillaud, Julian Reschke, Elias specification: Stefan Eissing, Arnaud Quillaud, Julian Reschke, Elias
Sinderson, Greg Stein, Wilfredo Sanchez. Sinderson, Greg Stein, Wilfredo Sanchez.
16. References 16. References
16.1. Normative References 16.1. Normative References
[I-D.ietf-vcarddav-vcardrev] [I-D.ietf-vcarddav-vcardrev]
Resnick, P. and S. Perreault, "vCard Format Perreault, S. and P. Resnick, "vCard Format
Specification", draft-ietf-vcarddav-vcardrev-01 (work in Specification", draft-ietf-vcarddav-vcardrev-05 (work in
progress), April 2008. progress), November 2008.
[I-D.ietf-vcarddav-webdav-mkcol] [I-D.ietf-vcarddav-webdav-mkcol]
Daboo, C., "Extended MKCOL for WebDAV", May 2008. Daboo, C., "Extended MKCOL for WebDAV",
draft-ietf-vcarddav-webdav-mkcol-00 (work in progress),
May 2008.
[I-D.sanchez-webdav-current-principal] [I-D.sanchez-webdav-current-principal]
Sanchez, W. and C. Daboo, "WebDAV Current Principal Sanchez, W. and C. Daboo, "WebDAV Current Principal
Extension", draft-sanchez-webdav-current-principal-00 Extension", draft-sanchez-webdav-current-principal-02
(work in progress), May 2008. (work in progress), October 2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", [RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
RFC 2246, January 1999. RFC 2246, January 1999.
[RFC2426] Dawson, F. and T. Howes, "vCard MIME Directory Profile", [RFC2426] Dawson, F. and T. Howes, "vCard MIME Directory Profile",
RFC 2426, September 1998. RFC 2426, September 1998.
skipping to change at page 44, line 52 skipping to change at page 45, line 32
Application Protocol Collation Registry", RFC 4790, Application Protocol Collation Registry", RFC 4790,
March 2007. March 2007.
[RFC4918] Dusseault, L., "HTTP Extensions for Web Distributed [RFC4918] Dusseault, L., "HTTP Extensions for Web Distributed
Authoring and Versioning (WebDAV)", RFC 4918, June 2007. Authoring and Versioning (WebDAV)", RFC 4918, June 2007.
[RFC5051] Crispin, M., "i;unicode-casemap - Simple Unicode Collation [RFC5051] Crispin, M., "i;unicode-casemap - Simple Unicode Collation
Algorithm", RFC 5051, October 2007. Algorithm", RFC 5051, October 2007.
[W3C.REC-xml-20060816] [W3C.REC-xml-20060816]
Bray, T., Paoli, J., Sperberg-McQueen, C., Yergeau, F., Paoli, J., Yergeau, F., Bray, T., Sperberg-McQueen, C.,
and E. Maler, "Extensible Markup Language (XML) 1.0 and E. Maler, "Extensible Markup Language (XML) 1.0
(Fourth Edition)", World Wide Web Consortium (Fourth Edition)", World Wide Web Consortium
Recommendation REC-xml-20060816, August 2006, Recommendation REC-xml-20060816, August 2006,
<http://www.w3.org/TR/2006/REC-xml-20060816>. <http://www.w3.org/TR/2006/REC-xml-20060816>.
16.2. Informative References 16.2. Informative References
[IMSP] Myers, J., "IMSP - Internet Message Support Protocol", [IMSP] Myers, J., "IMSP - Internet Message Support Protocol",
June 1995. June 1995.
skipping to change at page 45, line 25 skipping to change at page 46, line 10
Configuration Access Protocol", RFC 2244, November 1997. Configuration Access Protocol", RFC 2244, November 1997.
[RFC4511] Sermersheim, J., "Lightweight Directory Access Protocol [RFC4511] Sermersheim, J., "Lightweight Directory Access Protocol
(LDAP): The Protocol", RFC 4511, June 2006. (LDAP): The Protocol", RFC 4511, June 2006.
Appendix A. Change History (to be removed prior to publication as an Appendix A. Change History (to be removed prior to publication as an
RFC) RFC)
Changes from -01 Changes from -01
1. Added text to CARDDAV:prop and CARDDAV:prop-filter elements to
explain how vCard "group" prefix on property names is handled.
Changes from -00
1. Added section on SRV records. 1. Added section on SRV records.
Changes from draft-daboo-carddav-04 Changes from draft-daboo-carddav-04
1. Removed text describing other protocols. 1. Removed text describing other protocols.
2. Added comment about a new vcard spec being developed. 2. Added comment about a new vcard spec being developed.
3. Added SHOULD support for the DAV:current-user-principal-URL 3. Added SHOULD support for the DAV:current-user-principal-URL
property. property.
 End of changes. 17 change blocks. 
27 lines changed or deleted 56 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/