Skip to end of metadata
Go to start of metadata

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:

9. Class Skeletons

Labels:
deepzoom deepzoom Delete
seadragon seadragon Delete
proposal proposal Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jan 19, 2010

    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)

    1. Jan 20, 2010

      Is right!
      I'll rename the class.

  2. Feb 08, 2011

    Archiving this proposal, feel free to recover it when you want to work on it again. For more details see this email.