# 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 - [x] 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 ``` ``` ## ☑ 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