Added by Armando Padilla, last edited by Armando Padilla on Nov 22, 2008  (view change)

Labels

 
(None)

Zend Framework: Zend_Service_Netflix Component Proposal

Proposed Component Name Zend_Service_Netflix
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_Netflix
Proposers Armando Padilla
Zend Liaison TBD
Revision 1.0 - 1 January 2008: Initial Draft. (wiki revision: 34)

Table of Contents

1. Overview

The Zend Service Netflix library abstracts the Netflix Open-API allowing developers to access titles, directors, actors, user specific ratings, recommendations for a specific user, search for titles, and manage specific user's queues on Netflix. It also allows the developer to dynamically create "User Request Access" URL's.

While using the service the application developer must simple provide an application id and secret key provided by Netflix and use the appropriate function call.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • The component will wrap the Netflix REST API.
  • The component will not register the application to use the Netflix API.
  • The component will allow access to the Catalog functionality of the Netflix API.
  • The component will allow access to the User functionality of the Netflix API.
  • The component will provide responses as Objects.

4. Dependencies on Other Framework Components

  • Zend_Service_Exception
  • Zend_Rest_Client

5. Theory of Operation

  • The Service is installed.
  • The Application Developer registers app with Netflix.
  • The Application Developer instantiates Zend_Service_Netflix object passing in application id and secret key.
  • The Application Developer uses Catalog functionality.
  • The Application Developer creates URL for user to grant access to restricted user data.
  • The User Allows App to access restricted data.
  • The Application Developer uses User functionality.

6. Milestones / Tasks

  • Mile Stone 1: DONE Supporting Documentation, Use Cases, Class Skeletons, uploaded.
  • Mile Stone 2: Check in working Code to support catalog calls.
  • Mile Stone 3: Check in working code to support Request Token and Access Token Retrieval.
  • Mile Stone 4: Check in working code to support retrieval of accesstoken, accesstoken, and user id.
  • Mile Stone 5: Check in working code to support User Calls.
  • Mile Stone 6: PHPUnit Test exist.
  • Mile Stone 7. Redesign and update code based off community feedback.

7. Class Index

  • Zend_Service_Netflix
  • Zend_Service_Netflix_AtHomeItem
  • Zend_Service_Netflix_Person
  • Zend_Service_Netflix_QueueItem
  • Zend_Service_Netflix_Rating
  • Zend_Service_Netflix_RecommendationItem
  • Zend_Service_Netflix_RentalHistoryItem
  • Zend_Service_Netflix_Review
  • Zend_Service_Netflix_Title
  • Zend_Service_Netflix_User
  • Zend_Service_Netflix_Utils

8. Use Cases

UC-01

  • Search for Title
UC-02
  • Get Titles
UC-03
  • Get Title information (Movie)
UC-04
  • Get Series information (Series)
UC-04
  • Get Similar Titles
UC-05
  • Get Actor or Director Matching Partial Name
UC-06
  • Get Person By Id
UC-07
  • Get Request Access URL
UC-08
  • Get User's Profile
UC-09
  • Get User's Queues
UC-10
  • Add Title to Queue for specific user.
UC-11
  • Update Title Position on Queue for specific user.
UC-12
  • Remove Title from Queue for specific user.
UC-13
  • Get Reviews for specific user
UC-14
  • Get Recommendations for specific user.
UC-15
  • Get Ratings for specific user.
UC-16
  • Add rating to title by specific user.
UC-17
  • Update Rating on title by specific user.

9. Class Skeletons