 |
This page is currently in draft form. At a later date, it will be marked as Ready for Review. |
Zend Framework: Zend_Gdata_Contacts Component Proposal
Table of Contents
1. Overview
Zend_Gdata_Contacts is an extension to Zend_Gdata to allow interaction with Google's Contacts Data API. This allows to access to resources such as contacts in GMail. This extension does not encompass any major changes in the overall operation of Zend_Gdata components.
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
This extension must...
- Authenticate to the Google Contacts service ("cp")
- Query and list contacts owned by the authenticated user
- Retrieve pieces of information (phone, address, etc.) about a contact
- Retrieve items based on category ("Work", "Personal", "Other")
- Determine the "primary" item in a group (e.g. primary email, primary mailing address)
- Set or alter the primary item in a group
- Change the category of an item (e.g. change an e-mail from "work" to "personal")
- Get/Set notes and extended properties from a contact
The chunks of information that must be handled are:
- Contact Name
- Contact Notes
- Email addresses
- IM addresses
- Postal addresses
- Phone numbers (incl. Fax/Mobile designations)
- Organization Name
- Title in organization
- Extended properties
Features which are NOT part of this proposal at this time:
- Photo retrieval/setting
- Bulk updates (relies on core Zend_Gdata changes)
- Group or Membership data and queries
4. Dependencies on Other Framework Components
5. Theory of Operation
Instantiation and use should follow the same patterns that similar extensions do, such as Zend_Gdata_Calendar and Zend_Gdata_Docs.
6. Milestones / Tasks
- Milestone 1: Publish proposal (In ProgresS)
- Milestone 2: [DONE] Code working prototype
- Milestone 3: Check working prototype in to Incubator (Incomplete pending legal authorization)
- Milestone 4: Create Unit tests
- Milestone 5: Create Documentation
7. Class Index
- Zend_Gdata_Contacts_ListEntry
- Zend_Gdata_Contacts_ListFeed
- Zend_Gdata_Contacts_Query
- Zend_Gdata_Contacts
- Zend_Gdata_Contacts_Extension_Categorized (abstract superclass)
- Zend_Gdata_Contacts_Extension_Email
- Zend_Gdata_Contacts_Extension_Im
- Zend_Gdata_Contacts_Extension_Name
- Zend_Gdata_Contacts_Extension_Notes
- Zend_Gdata_Contacts_Extension_Organization
- Zend_Gdata_Contacts_Extension_OrgName
- Zend_Gdata_Contacts_Extension_OrgTitle
- Zend_Gdata_Contacts_Extension_PhoneNumber
- Zend_Gdata_Contacts_Extension_PostalAddress
- Zend_Gdata_Contacts_Extension_Primary (interface)
8. Use Cases
| UC-01: Log on and retrieve a list of contacts, displaying name, notes, and e-mail addresses |
9. Class Skeletons
 |
Most classes are complete and working. The following skeletons are just some interesting function signatures and comments for them. |
| Zend_Gdata_Contacts_ListEntry |
| Zend_Gdata_Contacts_Query |
| Zend_Gdata_Contacts_Extension_PhoneNumber |