FR-CAT-14 — Migration import. Reading ratings, labels, keywords and collections out of a Lightroom .lrcat or a darktable library.db. Unbuilt.
Why this one is worth more than its size
The destination is already built. Keywords, collections, ratings and the cross-device merge rules are all implemented and tested, and keywords.rs already anticipates the arrival in its own documentation ("an import from Lightroom can bring in…").
What is missing is only two source adapters — a comparatively contained piece of work for a requirement that decides whether somebody can try this software on a library they already have. That is the difference between an evaluation that takes an evening and one that takes a weekend nobody will spend.
Acceptance
Read a Lightroom .lrcat (SQLite): ratings, colour labels, keywords, collections.
Read a darktable library.db: the same four.
Match rows to catalogued files without trusting absolute paths.
Report what could not be matched, rather than silently importing a subset.
Import is non-destructive and repeatable — running it twice does not double keywords.
Related
#40 — XMP is the other half of "interoperate with the editors people are coming from", and the two share the question of what a keyword or a label means across applications.
See docs/outstanding.md §7.
**FR-CAT-14 — Migration import.** Reading ratings, labels, keywords and collections out of a Lightroom `.lrcat` or a darktable `library.db`. Unbuilt.
## Why this one is worth more than its size
**The destination is already built.** Keywords, collections, ratings and the cross-device merge rules are all implemented and tested, and `keywords.rs` already anticipates the arrival in its own documentation ("an import from Lightroom can bring in…").
What is missing is only **two source adapters** — a comparatively contained piece of work for a requirement that decides whether somebody can try this software **on a library they already have**. That is the difference between an evaluation that takes an evening and one that takes a weekend nobody will spend.
## Acceptance
- [ ] Read a Lightroom `.lrcat` (SQLite): ratings, colour labels, keywords, collections.
- [ ] Read a darktable `library.db`: the same four.
- [ ] Match rows to catalogued files without trusting absolute paths.
- [ ] Report what could not be matched, rather than silently importing a subset.
- [ ] Import is non-destructive and repeatable — running it twice does not double keywords.
## Related
#40 — XMP is the other half of "interoperate with the editors people are coming from", and the two share the question of what a keyword or a label *means* across applications.
See `docs/outstanding.md` §7.
Related#40 — XMP is the other half of interoperating with the editors this imports from. A migration that cannot round-trip back out is a one-way door.
**Related** #40 — XMP is the other half of interoperating with the editors this imports from. A migration that cannot round-trip back out is a one-way door.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
FR-CAT-14 — Migration import. Reading ratings, labels, keywords and collections out of a Lightroom
.lrcator a darktablelibrary.db. Unbuilt.Why this one is worth more than its size
The destination is already built. Keywords, collections, ratings and the cross-device merge rules are all implemented and tested, and
keywords.rsalready anticipates the arrival in its own documentation ("an import from Lightroom can bring in…").What is missing is only two source adapters — a comparatively contained piece of work for a requirement that decides whether somebody can try this software on a library they already have. That is the difference between an evaluation that takes an evening and one that takes a weekend nobody will spend.
Acceptance
.lrcat(SQLite): ratings, colour labels, keywords, collections.library.db: the same four.Related
#40 — XMP is the other half of "interoperate with the editors people are coming from", and the two share the question of what a keyword or a label means across applications.
See
docs/outstanding.md§7.Related #40 — XMP is the other half of interoperating with the editors this imports from. A migration that cannot round-trip back out is a one-way door.