Zend Framework: Zend_Service_SlideShare Component Proposal
| Proposed Component Name | Zend_Service_SlideShare |
|---|---|
| Developer Notes | http://framework.zend.com/wiki/display/ZFDEV/Zend_Service_SlideShare |
| Proposers | John Coggeshall Darby Felton, Zend liaison |
| Revision | 1.0 - 1 November 11 2007: Initial Proposal (wiki revision: 9) |
Table of Contents
1. Overview
Zend_Service_SlideShare is a component which encapsulates the SlideShare web services in an easy to use PHP API. SlideShare provides
a web site to manage slide show documents, including embedding them within web pages, etc. It has been called "The YouTube of Powerpoint"
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This component will implement the complete SlideShare web service API for working with and adding silde shows to the service
- This component will provide an easy to use API which encapsulates the XML communication with the non-standards-based services
- This component will use Zend Framework HTTP and Caching facilities as part of its function
4. Dependencies on Other Framework Components
- Zend_Exception
- Zend_Http_Client
- Zend_Cache
5. Theory of Operation
The component will provide a service object which allows you to retrieve slide show metadata from the SlideShare service through
the means exposed by the SlideShare API. This includes querying the existing slide shows by username, tag, group and slide show ID.
The component will also provide the ability to upload new slide shows into the slideshare database through the same API.
6. Milestones / Tasks
- Milestone 1: [DONE] Development of Prototype Component
- Milestone 2: [DONE] Development of Zend Framework Proposal
- Milestone 3: [DONE] Interaction with Community
- Milestone 4: Review of proposal
- Milestone 5: Formalization of Component to ZF coding standards
7. Class Index
- Zend_Service_SlideShare
- Zend_Service_SlideShare_SlideShow
- ZEnd_Service_SlideShare_Exception
8. Use Cases
| UC-01 |
|---|
| UC-02 |
|---|
| UC-03 |
|---|
9. Class Skeletons
The caching mechanism is basically entirely customizable. You can do caching however you choose on whatever lifetime you choose by calling the SlideShare::setCacheObject(Zend_Cache_Core $e) method. If you do no provide a caching mechanism, one is provided for you as follows:
Looks good. One small point- you have '/tmp' hardcoded in the getCacheObject() method. Not sure how this would work under Windows, but in any case we should be able to set a temp directory globally and use it here by default. This global setting may be made available under the Zend_Build proposal, if it's not already available from an exist component.
ZF Home Page
Code Browser
Wiki Dashboard
This is a really cool service; I look forward to this consumer component being a part of the Zend Framework!
One question I have at this point is what impact does the caching have on the operation of this component? Is caching automatic and/or on by default? What are these cache settings? What will users need to be aware of, in terms of differences between this component and consuming the web service with no built-in caching?