Added by Matthew Turland, last edited by Matthew Turland on Dec 20, 2007  (view change)

Labels

 
(None)

Zend Framework: Zend_Service_RememberTheMilk Component Proposal

Proposed Component Name Zend_Service_RememberTheMilk
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_RememberTheMilk
Proposers Matthew Turland
Darby Felton, Zend liaison
Revision 1.0 - 25 March 2007
  • Initial draft

1.1 - 20 December 2007

  • Added missing return types for convertTime() and parseTime() in the main class
  • Added missing IteratorAggregate implementation declarations for the TaskList and TimezoneList classes
  • Updated addTags(), setTags(), and removeTags() in the TaskSeries class to take a string as well as an array
(wiki revision: 7)

Table of Contents

1. Overview

Zend_Service_RememberTheMilk is a lightweight wrapper for the free REST API
available for the Remember The Milk to-do list management service.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • Accepts an API key and automatically includes it as a parameter in subsequent
    method calls.
  • Supports all API methods excluding those listed under rtm.test (for which
    support is not planned) and rtm.timelines (which will be handled internally).
    Naming conventions will differ from those in the API itself, but will be
    similar enough that they should prove intuitive to users.
  • Returns server responses as lightweight data objects.

4. Dependencies on Other Framework Components

  • Zend_Rest_Client
  • Zend_Service_Exception

5. Theory of Operation

Performs the requested API call and returns the server response in the form of a
data object. Authentication is handled internally using a user-specified API
key. Timelines (essentially user session identifiers to allow for reversal of
previous transactions) are also handled internally without any user
intervention.

6. Milestones / Tasks

  • Milestone 1: [DONE] Design notes will be published here
  • Milestone 2: Working prototype will be checked into the incubator
  • Milestone 3: Working unit tests will be checked into the incubator
  • Milestone 4: Documentation will be checked into the incubator

7. Class Index

  • Zend_Service_RememberTheMilk
  • Zend_Service_RememberTheMilk_Token
  • Zend_Service_RememberTheMilk_Contact
  • Zend_Service_RememberTheMilk_ContactList
  • Zend_Service_RememberTheMilk_Group
  • Zend_Service_RememberTheMilk_GroupList
  • Zend_Service_RememberTheMilk_List
  • Zend_Service_RememberTheMilk_ListList
  • Zend_Service_RememberTheMilk_Method
  • Zend_Service_RememberTheMilk_Argument
  • Zend_Service_RememberTheMilk_ArgumentList
  • Zend_Service_RememberTheMilk_Error
  • Zend_Service_RememberTheMilk_ErrorList
  • Zend_Service_RememberTheMilk_Settings
  • Zend_Service_RememberTheMilk_Task
  • Zend_Service_RememberTheMilk_TaskList
  • Zend_Service_RememberTheMilk_TaskSeries
  • Zend_Service_RememberTheMilk_Timezone
  • Zend_Service_RememberTheMilk_TimezoneList

8. Use Cases

9. Class Skeletons

What are the returned types for convertTime() and parseTime()?

Zend_Service_RememberTheMilk_TaskList and Zend_Service_RememberTheMilk_TimezoneList should also implement IteratorAggregate.

Zend_Service_RememberTheMilk_TaskSeries - addTags(), setTags(), and removeTags() should use an array typehint unless a single tag string is also allowed. It is probably best to accept either or a string tag or an array of string tags.

Zend Comments

This component is approved for incubator development, during which the items I provided earlier through proposal comment may be addressed.