Skip to end of metadata
Go to start of metadata

<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_Service_RememberTheMilk Component Proposal

Proposed Component Name Zend_Service_RememberTheMilk
Developer Notes
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: 10)

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

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



Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Aug 07, 2007

    <p>What are the returned types for <code>convertTime()</code> and <code>parseTime()</code>?</p>

    <p><code>Zend_Service_RememberTheMilk_TaskList</code> and <code>Zend_Service_RememberTheMilk_TimezoneList</code> should also implement <code>IteratorAggregate</code>.</p>

    <p><code>Zend_Service_RememberTheMilk_TaskSeries</code> - <code>addTags()</code>, <code>setTags()</code>, and <code>removeTags()</code> should use an <code>array</code> 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.</p>

  2. Aug 14, 2007

    <ac:macro ac:name="note"><ac:parameter ac:name="title">Zend Comments</ac:parameter><ac:rich-text-body>
    <p>This component is approved for incubator development, during which the <a href="">items I provided earlier through proposal comment</a> may be addressed.</p></ac:rich-text-body></ac:macro>

  3. Mar 18, 2009

    <p>This proposal hasn't been updated in the past 6 months. Archiving for now.</p>