Gallery2:Modules:imagenotes - Gallery Codex
Personal tools


From Gallery Codex

Revision as of 18:05, 20 January 2008 by Barkbarkuk (Talk | contribs)

Imagenotes Module

Select regions of your images and apply annotations, tags, etc.


Design and manufacture (Only client side region selection currently implemented, no annotation)


This module is intended to allow the selection of regions within your images for the purposes of annotation and tagging.




- Selection of multiple regions on an image.

- AJAX communication with the server so page reloads are not required.

- Associate tags (from the [Tags] module) with one of more regions.

- Associate some arbitrary text with an area of the image and display it either in a separate block or over the top of the image (potentially stylised as a speech or thought bubble).

- Integration with external systems. Tags, images and objects exist in other systems. We may want to export information about our image regions or import/link to additional data in other systems. E.g. If we tag a person in an image, we may want to pull contact details from a CMS when we hover over or click on that person in the image.

- Search for tagged image regions and potentially display just the selected portion of the image in the search results.

Planned, but may never happen

- Contextual search about the location or size of a region. E.g. Where a person is tagged, we want them to take up a certain percentage of the image, or be a certain distance from another person in the image.

- Hook in open source image recognition software for automatically suggestion image regions to tag. E.g. It searches through all your pictures, finds similarities in faces, lets you tell it who they are and then magically all your photos are tagged. :-)

Known bugs

Frequently Asked Questions

Dev stuff

Current status

- Module needs renaming to match forum topic

Client side

- Created utility methods for creating instances of templates. That is, cloning a DOM node and applying IDs to the new node and it's children.

- Created TemplatedRubberBandRegion which allows a rubber band to be dragged over a specified region of the document and on mouseup a custom event is fired with the selected region

- Created TemplatedResizeOverlay which extends the YUI Overlay widget and adds YUI DragDrop functionailty and the ability to resize the region. The code searches a template passed in client side for certain classes to turn into resize and drag handles. Custom events are fired at the start and end of drag and resize operations.

- Created an initial image region manager that sets up a TemplatedRubberBandRegion and listens for area selected events, then creates a TemplatedResizeOverlay. Multiple regions can be selected with one focused item at a time.

Server side

- Block created for addition to item view page - No database structure created yet - No server endpoint for AJAX communication created yet

Design decisions

Hacks, needing improvement

- TemplatedResizeOverlay doesn't take into account CSS border sizes or padding when determining position and constraints. To make sure the content area is always highlighted independent of template used, this may need to be reworked a little.

- The method for attaching to the image for markup is theme specific so will break easily until other methods are developed. The safest way to attach would be to create a specific view for image region markup and viewing, but it's nicer to see the markup on the regular item view page.

Related feature requests

Imagemap notes


Labelling areas of images

Related forum/codex topics

Facebook like image tagging

Image Notes

Because image tagging is one of the goals, general tag discussions are also of interest:


TagsSearch For putting tags into categories

Because within an image, not only do you have a viewing location, you can see various places: