Files
rustical/docs/developers/rfcs/rfc6352.md

4.0 KiB

RFC 6352 (CardDAV)

☑ 1. Introduction and Overview

☑ 2. Conventions

☐ 3. Requirements Overview

☑ 4. Address Book Data Model

☑ 4.1 Address Book Server

☐ 5. Address Book Resources

☐ 5.1 Address Object Resources

  • vCard objects MUST have a unique UID
    • Right now the uniqueness is not enforced in store_sqlite :(

☐ 5.1.1 Data Type Conversion

Again, the client can use content negotiation to request that data be returned in a specific media type by specifying appropriate attributes on the CARDDAV:address-data XML element used in the request body (see Section 10.4).

  • Accept address-data attributes

☐ 5.1.1.1 Additional Precondition for GET

  • Make sure that Accept header matches content type

☐ 5.2 Address Book Collections

☑ 6. Address Book Feature

☑ 6.1 Address Book Support

☑ 6.1.1 Example: Using OPTIONS for the Discovery of Support for CardDAV

☐ 6.2 Address Book Properties

☑ 6.2.1 CARDDAV:addressbook-description Property

☑ 6.2.2 CARDDAV:supported-address-data Property

☑ 6.2.3 CARDDAV:max-resource-size Property

☐ 6.3 Creating Resources

☑ 6.3.1 Extended MKCOL Method

☑ 6.3.1.1 Example - Successful MKCOL Request

☐ 6.3.2 Creating Address Object Resources

  • If-None-Match support
☐ 6.3.2.1 Additional Preconditions for PUT, COPY, and MOVE
  • Make sure UID is unique
☑ 6.3.2.2 Non-Standard vCard Properties and Parameters
☑ 6.3.2.3 Address Object Resource Entity Tag

☑ 7. Address Book Access Control

☑ 7.1 Additional Principal Properties

☑ 7.1.1 CARDDAV:addressbook-home-set Property

☑ 7.1.2 CARDDAV:principal-address Property

☐ 8. Address Book Reports

☐ 8.1 REPORT Method

  • DAV:expand-property REPORT

☑ 8.2 Ordinary Collections

☑ 8.3 Searching Text: Collations

☑ 8.3.1 CARDDAV:supported-collation-set Property

☐ 8.4 Partial Retrieval (Optional)

☑ 8.5 Non-Standard Properties and Parameters

☑ 8.6 CARDDAV:addressbook-query Report

☐ 8.6.1 Limiting Results

☑ 8.6.2 Truncation of Results (does not apply)

☐ 8.6.3 Example: Partial Retrieval of vCards Matching NICKNAME

☐ 8.6.4 Example: Partial Retrieval of vCards Matching a Full Name or Email Address

☐ 8.6.5 Example: Truncated Results

☐ 8.7 CARDDAV:addressbook-multiget Report

☑ 8.7.1 Example: CARDDAV:addressbook-multiget Report

☐ 8.7.2 Example: CARDDAV:addressbook-multiget Report

  • Check for content-type of requested data

    <C:address-data content-type='text/vcard' version='4.0'/>
    

☑ 9. Client Guidelines

☑ 9.1 Restrict the Properties Returned

☑ 9.2 Avoiding Lost Updates

☑ 9.3 Client Configuration

☐ 9.4 Finding Other Users' Address Books

  • Implement DAV:principal-property-search REPORT [RFC3744]

☑ 10. XML Element Definitions

☑ 10.1 CARDDAV:addressbook XML Element

☑ 10.2 CARDDAV:supported-collation XML Element

☑ 10.3 CARDDAV:addressbook-query XML Element

☑ 10.4 CARDDAV:address-data XML Element

  • Support content-type and version

☐ 10.4.1 CARDDAV:allprop XML Element (does not apply, is for vCard props)

☐ 10.4.2 CARDDAV:prop XML Element (does not apply, is for vCard props)

☑ 10.5 CARDDAV:filter XML Element

☑ 10.5.1 CARDDAV:prop-filter XML Element

☑ 10.5.2 CARDDAV:param-filter XML Element

☑ 10.5.3 CARDDAV:is-not-defined XML Element

☑ 10.5.4 CARDDAV:text-match XML Element

☑ 10.6 CARDDAV:limit XML Element

☑ 10.6.1 CARDDAV:nresults XML Element

☑ 10.7 CARDDAV:addressbook-multiget XML Element

☑ 11. Service Discovery via SRV Records

☑ 12. Internationalization Considerations

☑ 13. Security Considerations

☑ 14. IANA Consideration

☑ 14.1 Namespace Registration

☑ 15. Acknowledgments

☑ 16. References

☑ 16.1 Normative References

☑ 16.2 Informative References