Zend Framework: Zend_Image_Deepzoom Component Proposal
| Proposed Component Name | Zend_Image_Deepzoom |
|---|---|
| Developer Notes | http://framework.zend.com/wiki/display/ZFDEV/Zend_Image_Deepzoom |
| Proposers | Nicolas Fabre |
| Zend Liaison | TBD |
| Revision | 1.0 - 1 January 2008: Initial Draft. (wiki revision: 8) |
Table of Contents
1. Overview
Deep Zoom is an implementation of the Seadragon technology for use in Microsoft Silverlight or Seadragon viewing library. It allows users to pan around and zoom in a large, high resolution image or a large collection of images. It reduces the time required for initial load by downloading only the region being viewed and/or only at the resolution it is displayed at. Subsequent regions are downloaded as the user pans to (or zooms into them); animations are used to hide any jerkiness in the transition.
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- The component must be simple to use.
- This component will catch errors and exceptions and report them
- PHP editor code completion should be supported as much as possible under the proposed design.
- Overloading with magic functions (e.g., __get(), __call()) should be avoided where possible, and all such usage must be documented well for ease of use.
4. Dependencies on Other Framework Components
- Zend_Exception
- Zend_Image ?
- GD | ImageMagick
5. Theory of Operation
An instance of Zend_Image_Deepzoom_Image will have one image engine by default for
manipulating image(Zend_Image ?)
The component creates a pyramid and one descriptor compatible with the DeepZoom technology.
6. Milestones / Tasks
- Milestone 1: Publish design notes
- Milestone 2: Publish proposal based on design notes
- Milestone 3: Arrive on proposal approvable for incubator development
- Milestone 4: Commit working prototype to incubator
- Milestone 5: Commit passing unit tests
- Milestone 6: Write initial documentation
- Milestone 7: Revise code, tests, and docs based on feedback
- Milestone 8: Merge changes with trunk for core release
7. Class Index
- Zend_Image_Deepzoom_CollectionCreator
- Zend_Image_Deepzoom_Exception
- Zend_Image_Deepzoom_ImageCreator
- Zend_Image_Deepzoom_ImageDescriptor
8. Use Cases
Use cases are currently being drafted.
| UC-01 |
|---|
Create images and descriptor
| UC-02 |
|---|
Open descriptor and show image size:
| UC-03 |
|---|
Create Collection:
3 Comments
comments.show.hideJan 19, 2010
Thomas Weidner
As this is a image-processing component shouldn't it resist within the Zend_Image path?
Zend_Image_Deepzoom for example instead of Zend_Deepzoom ???
It would not make sense to have in future 5 different image-processing components in the base path.
This makes it just more complicated for users. And anyone who wants to use Deepzoom must also have Zend_Image as it is dependend on this component. (or should at last to be independend from the used adapter and to prevent code duplication)
Jan 20, 2010
Nicolas Fabre
Is right!
I'll rename the class.
Feb 08, 2011
Dolf Schimmel (Freeaqingme)
Archiving this proposal, feel free to recover it when you want to work on it again. For more details see this email.