Skip to content

Photo Metadata Picker

Choose Media library, with nearby photographs as the widget for a media reference field. Below the usual media library it lists photographs within a radius of the content being edited, nearest first, each with a "Use this photo" button that adds it through the media library's own selection, so cardinality, access and validation all still apply.

The nearby list under a media field on a node form, ordered by distance from the node's location, each row with a "Use this photo" button.

Where content is

Worked out by origin sources, asked in priority order:

Priority Source
300 A geofield on the entity being edited: the unsaved value in the form, then the saved one
100 A geofield on an entity it references (media references excluded)

The editor is always told which source answered. Add a source for content that is located some other way by implementing Drupal\photo_metadata_picker\Origin\OriginSourceInterface and tagging the service photo_metadata_origin with a priority.

Views

View Path For
Photo library /admin/content/media/photos Filter by name, keyword and whether a photo has coordinates; sort by date taken or credit. Its proximity display is what the widget embeds.
Photo map /admin/content/media/map Where photographs were taken. Installed only with Leaflet Views.
Photo metadata gaps /admin/content/media/photo-gaps Photographs missing coordinates, a date taken, a caption or keywords, as a worklist.

The widget's view is a setting, so a site can point it at its own. All three views are removed when the module is uninstalled.

The photo library view, filterable by name, keyword and whether a photo has coordinates.

The photo map, with a marker for each photograph that has coordinates.

The photo metadata gaps view, listing photographs with no caption or keywords.

The photographs in these screenshots are sample images from the SpatiaLite project, taken in Arezzo, as distributed with the test resources of exif-py.