Skip to content

Allow exporting an entire photo site #1009

Description

@jss367

Summary

Add a site-level export feature so users can export all photos from an entire site, preserving meaningful organization and including lifelist data.

Problem

Users currently need a way to take a complete copy of a photo site. The export should be useful outside the app, not just a flat dump of files.

Proposed behavior

  • Provide an export action for an entire site of photos.
  • Allow the exported archive/folder to preserve album structure, with photos grouped by album.
  • Support exporting multiple albums in a clear directory structure.
  • Include a lifelist export for the site, ideally as a machine-readable file such as CSV or JSON.
  • Include enough metadata for each photo to make the export useful after download, such as filename/title, date, album membership, species/taxon where applicable, captions/notes, and photo IDs if available.

Acceptance criteria

  • A user can start an export for a full site.
  • The resulting export contains all eligible site photos.
  • Albums are represented as folders or another documented structure.
  • Photos that appear in multiple albums have deterministic handling, either duplicated per album or referenced from a shared photos folder with album manifests.
  • The export includes the site's lifelist.
  • The export format is documented in the UI or generated archive, so users can understand the folder and metadata layout.
  • Large exports provide clear progress/status and failure messaging.

Open questions

  • Should album exports duplicate files per album, use symlinks where supported, or use manifests pointing to a shared photo directory?
  • Should private/unpublished photos be included by default, excluded, or controlled by an option?
  • Which lifelist format should be considered canonical: CSV, JSON, or both?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions