- Store all the unmodified original RAFs straight OOC
- Add all necessary metadata as early in the pipeline as possible, so as not to rely on external tools
- Store the working copies in a datestamped directory structure, independent of any external tools
- Only import selects into Lightroom, but store all non-rejected photos as working copies
- Import selects into Lightroom such that Classic uses the local working copy and CC (desktop, iOS, and web) uses the full RAF in the cloud, and changes are synced between them
- Log all automated changes in a lightweight but structured format so that future changes to the workflow can be more easily accommodated
NB: Path context is ~/Pictures/Photographs
. Directory structure overview below, details in ../Notes/directories.md.
- I insert "Untitled" card with X-T5 raw photos
- On mount,
Chronosync
copies all new photos from the card toImporting
- Then runs
finalize-x-t5-card-sync-chronosync-wrapper
- Which runs
finalize-x-t5-card-sync
with timestamped logging toScripts/logs
(which can be viewed usingless-log
ortail-log
)- Which runs
backup-new-imports
which usesexiftool
to- Copy all photos in
Importing/
toOriginals/YYYY/YY-MM-DD/
(using the photo creation date) - Create a structured log of all backed up photos in
Logs/YYYY/YYYYmmddTHHMMSS-imported.csv
(using today's date in ISO 8601-ish format)
- Copy all photos in
- Then runs
update-new-imports-metadata
- Which runs
update-copyright-metadata
which usesexiftool
to update the copyright metadata to standard values - Then runs
update-lens-metadata
to update the lens metadata, iff the lens used (per file) appears to have been a manual lens without exif data (the Laowa 10mm) - Then runs
download-tracks-and-geotag-photos
- Which runs
download-tracks
- Which uses
gaiagps
to download all tracks newly created within the past week and save them as GPF files in~/Documents/GPS/Tracks
- Which uses
- Then runs
geotag-photos
which usesexiftool
to geotag all newly imported photos
- Which runs
- Then runs
create-sidecar
which usesexiftool
to copy all metadat from the RAF photo file to a new xmp sidecar file
- Which runs
- Then runs
move-and-rename-newly-imported-photos
which usesexiftool
to- Move the files to
Reviewing/YYYY-MM-DD-FILENAME.{RAF,xmp}
(using the photo creation date) - Create a structured log of all imported photos in
Logs/YYYY/YYYYmmddTHHMMSS-renamed.csv
(using today's date in ISO 8601-ish format)
- Move the files to
- Then runs
open-new-imports-for-review
- Which quits
FastRawViewer
if it's already running (to reset the date filters) - Which opens
Reviewing/
inFastRawViewer
- In which I review the photos by
- Marking selects with >= 1 star
- Marking rejects with -1 star
- In which I review the photos by
- Which quits
- Then runs
unmount-card
(without waiting for the manual review process)
- Which runs
- Then runs
- After reviewing the photos in
FastRawViewer
, I runfinish-review
- Which runs
trash-rejected-photos
which usesexiftool
to- Find all photos with -1 stars in
Ready to review/
- Pass them to
trash
for soft deletion - Create a structured log of all rejected photo filenames in
Logs/YYYY/YYYYmmddTHHMMSS-rejected.csv
(using today's date)
- Find all photos with -1 stars in
- Then runs
move-and-import-selected-photos
which- Which uses
exiftool
to- Find all photos with ≥ 1 star in
Ready to review/
- Move them (and their sidecars) to
YYYY/
(using the photo creation date) - Create a structured log of all selected photos in
Logs/YYYY/YYYYmmddTHHMMSS-selected.csv
(using today's date)
- Find all photos with ≥ 1 star in
- Opens the selected photos and their sidecars in Adobe Lightroom Classic
- Waits for me to "press any key", which I do after
- I import the photos into the local Lightroom catalog
- Mark them for syncing to the Lightroom cloud, via adding them to a synced collection
- Opens the selected photos and their sidecars in Adobe Lightroom CC
- Then I import the photos into the Lightroom cloud (again), which replaces the Smart Previews generated by Lightroom Classic with the real RAF files
- Waits for me to "press any key", which I do after I confirm the photos have been imported into Lightroom CC successfully
- Then runs
move-reviewed-photos
which usesexiftool
to- Move all remaining files (RAF and xmp) from
Reviewing/
toYYYY/
(using the photo creation date) - Create a structured log of all reviewed (but not selected or rejected) photos in
Logs/YYYY/YYYYmmddTHHMMSS-reviewed.csv
(using today's date)
- Move all remaining files (RAF and xmp) from
- Which uses
- Which runs
Overview of relevant directories, details in ../Notes/directories.md:
- ~/Pictures/
- Photographs/
- YYYY/
- History/
- Importing/
- Logs/
- Originals/
- Reviewing/
- Scripts/
- logs/
- Photographs/
NB: Dates in photo and sidecar filenames are the date of photo creation (DateTimeOriginal
in exiftool
). Dates in log filenames are the current date (the date the script was run).
Logs/YYYY/YYYYmmddTHHMMSS-imported.csv
Original photo filename | Path to backed up original photo |
---|---|
DSCF2859.RAF | Originals/2023/2023-01-24/DSCF2859.RAF |
Logs/YYYY/YYYYmmddTHHMMSS-renamed.csv
Original photo filename | Updated photo filename | Sidecar filename |
---|---|---|
DSCF2859.RAF | 20230124-DSCF2859.RAF | 20230124-DSCF2859.xmp |
Logs/YYYY/YYYYmmddTHHMMSS-rejected.csv
Photo filename | Sidecar filename |
---|---|
20230124-DSCF2859.RAF | 20230124-DSCF2859.xmp |
Logs/YYYY/YYYYmmddTHHMMSS-selected.csv
Path to photo | Path to sidecar |
---|---|
2023/2023-01-24/DSCF2859.RAF | 2023/2023-01-2420230124-DSCF2859.xmp |
Logs/YYYY/YYYYmmddTHHMMSS-reviewed.csv
Path to photo | Path to sidecar |
---|---|
2023/2023-01-24/DSCF2859.RAF | 2023/2023-01-24/DSCF2859.xmp |
I suspect there are still ways for Lightroom Classic / the local catalog and Lightroom CC / the cloud to get out of sync. For example, if I use "Enhance" in Classic, it creates a new file alongside the original and imports it, and presumably syncs it as appropriate with the cloud; but what happens if I use "Enhance" in CC?
Geotagging- Don't import photos that already exist in the catalog
- Store xmp history snapshots
- Automate xmp history snapshots
- Create reconciliation scripts
- Don't back up already datestamped photos
- Don't rename already datestamped photos
Subtract one star before import
- The FastRawViewer approach to flattening / linearizing raw files is described in multiple blog posts and articles; this blog post has the most detailed description of the actual metadata tag changes used to accomplish it: https://www.fastrawviewer.com/blog/red_flowers_photography_to-see-the-real-picture
ChronoSync
: https://www.econtechnologies.com/chronosync/overview.htmlFastRawViewer
: https://www.fastrawviewer.comgaiagps
: https://github.com/kk7ds/gaiagpsclienttrash
: https://hasseg.org/trash/,brew install trash