Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

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

Zend Framework: Zend_Service_Instagram Component Proposal

Proposed Component Name Zend_Service_Instagram
Developer Notes
Proposers Mauricio Cuenca
Zend Liaison TBD
Revision 1.0 - 06 March 2011: Initial Draft. (wiki revision: 14)

Table of Contents

1. Overview

Zend_Service_Instagram is a full implementation of the official Instagram API. It provides an object oriented interface to the API and returns data in JSON format or PHP data objects.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

Most requirements take the form of "foo will do ...." or "foo will not support ...", although different words and sentence structure might be used. Adding functionality to your proposal is requirements creep (bad), unless listed below. Discuss major changes with your team first, and then open a "feature improvement" issue against this component.

  • This component will fully implement Instagram official API.
  • This component should namespace the API methods as they are stated in Instagram's API documentation.
  • This component will not support real-time photo updates.

4. Dependencies on Other Framework Components

  • Zend_Oauth
  • Zend_Service_Exception
  • Zend_Http_Client
  • Zend_Http_Client_Adapter_Curl
  • Zend_Http_Client_Exception

5. Theory of Operation

Zend_Service_Instagram will allow a developer an easy interaction with the Instagram API in a object oriented manner, supporting such actions as getting users' information, browse through popular media, manage users' relationships, comments, likes, tags and locations. All data returned can be represented whether in JSON format or as php data objects. Zend_Service_Instagram creates a php client for the Instagram API.

6. Milestones / Tasks

  • Milestone 1: Proposal, Community Review and Acceptance.
  • Milestone 2: Unit tests exist, work, and are checked into versioning system.
  • Milestone 4: Initial documentation exists.
    #If a milestone is already done, begin the description with "[DONE]", like this:
    • Milestone #: [DONE] Unit tests ...

7. Class Index

  • Zend_Instagram_Exception
  • Zend_Instagram

8. Use Cases

UC-01 Users

Get basic information about a user.

See the authenticated user's feed.

Get the most recent media published by a user.

Search for a user by name.

UC-02 Relationships

Get the list of users this user follows.

Get the list of users this user is followed by.

List the users who have requested this user's permission to follow.

Get information about the current user's relationship (follow/following/etc) to another user.

UC-03 Media

Get information about a media object.

Search for media in a given area.

Get a list of what media is most popular at the moment.

UC-04 Comments

Get a full list of comments on a media.

Create a comment on a media.

Remove a comment either on the authenticated user's media or authored by the authenticated user.

UC-05 Likes

Get a list of users who have liked this media.

Set a like on this media by the currently authenticated user.

Remove a like on this media by the currently authenticated user.

UC-06 Tags

Get information about a tag object.

Get a list of recently tagged media.

Search for tags by name.

UC-07 Locations

Get information about a location.

Get a list of recent media objects from a given location.

Search for a location by name and geographic coordinate.

9. Class Skeletons


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.