Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="info"><ac:rich-text-body>
<p>This page is currently in draft form. At a later date, it will be marked as <ac:link><ri:page ri:content-title="Ready for Review" /></ac:link>.</p></ac:rich-text-body></ac:macro>

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Gdata_Contacts Component Proposal

Proposed Component Name Zend_Gdata_Contacts
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Gdata_Contacts
Proposers Darien Hager
Zend Liaison TBD
Revision 1.0 - 7 July 2008: Initial Draft. (wiki revision: 11)

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

  • Zend_Gdata

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
Zend_Gdata_Contacts_ListEntry
Zend_Gdata_Contacts_Query
Zend_Gdata_Contacts_Extension_PhoneNumber

]]></ac:plain-text-body></ac:macro>

]]></ac:plain-text-body></ac:macro>

Labels:
zend_gdata zend_gdata Delete
google google Delete
contacts contacts Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Feb 05, 2011

    <p>Archiving this proposal, feel free to recover it when you want to work on it again. For more details see <a href="http://framework.zend.com/wiki/display/ZFDEV/Archiving+of+abandoned+proposals+(Feb+5+2011)">this email</a>.</p>