Skip to main content
Vixlo 0.1

The index can be rebuilt

A library's index is the one file that makes it open and search quickly, and it is not the only copy of anything you decided. This page says why a lost index can be rebuilt from the folder, what a rebuild keeps, and what it cannot bring back. A library is a folder says which files carry your work; Rebuilding the index walks through the sheet.

Why the index can be rebuilt​

Every decision, rating, colour label, keyword, caption, note and develop setting is written beside the photograph it belongs to as well as into the index. A decision reaches the index the instant the key returns, and the .xmp file a moment later in the background; the keystroke never waits on the file. So the index is an index over the folder, not the only copy of what you decided.

That is what Rebuild the index…, on a library's row on the launch screen, rests on. Its sheet makes two promises before it asks:

Every decision, rating, colour label and adjustment is kept — they live in an XMP file beside each photograph, and the index is rebuilt from them.

Undo history does not survive a rebuild — the journal of what you did is the one thing that lives only in the index. The current index is kept as a backup file beside the new one; nothing is deleted.

The Rebuild the index sheet before it runs, with its two promises

A rebuild never throws the old index away: it is moved aside as library.sqlite3.backup- followed by a timestamp, and two rebuilds leave two backups. When it finishes, the sheet names the backup — The previous index is kept at library.sqlite3.backup-…. — and says Undo history starts empty.

The Rebuild the index sheet when it has finished, naming the backup and the empty undo history

A rebuild also reads in any photograph that is in Originals/ but never reached the index, such as the copies of an import whose sheet you closed before pressing Continue to culling. The card is not safe to format has that case.

A library with no index at all​

A library whose index is missing altogether is rebuilt by itself when you open it, rather than showing you a shoot with no decisions in it. The library does not open at once. The rebuild runs first, reads every photograph in Originals/, and shows no progress while it does, so how long you wait depends on the size of the library. When it has finished the library opens, and the notice waits on the launch screen until you go back to it: “Name” had no index, so it was rebuilt from the folder. and then the sheet's two sentences, until you press Dismiss.

What a rebuild cannot bring back​

  • The undo journal, which the sheet names, so undo starts empty.
  • The pass you had open. The library opens on a new pass rather than the one you left.

Everything in the .xmp files comes back. A rebuild replaces only the index, so the small files of your own in the library folder stay where they are.

In Vixlo 0.1

A rebuild also loses your favourites, and the sheet does not say so: the heart lives only in the index. If they matter, give those frames a colour label first, which does come back from the .xmp file.

A rebuild also changes the id a photograph has in the index. A rebuilt frame's id is its path inside Originals/, so a frame an import filed under its content, as this version does, gets a new one. A library that was rebuilt before and has had no import since keeps its ids, because an import adds frames filed under their content. People/index.json files each face under its photograph's id, so after a rebuild that changes ids Vixlo finds the faces again under new ones. Names usually come back, because the new faces are filed with the people you named by how they look, but nothing carries a name across by id. A face you hid with Not a face — hide comes back as a circle, and a correction made with Not … or This is … was recorded against the old face, so it may no longer hold. After a rebuild, look through People: check each name, give it again where it is missing, hide a face that has come back, and correct a face that is in the wrong place.

A rebuild finds only what is in Originals/. A frame whose photograph was copied outside the library's folder (A library is a folder says how that happens) drops out of the library on a rebuild, though its file stays where it is. If you still have the card or folder, scan it into the library again before you rebuild, and such frames are pointed at copies inside Originals/, wherever Vixlo can tell which photograph each one is (Scanning a card again).