Folder Session Mode — proposta per migliorare Darktable senza stravolgere la sua modalità operativa.
Ciao a tutti,
mi chiamo Lorenzo Fontanella, fotografo e utente di Darktable ormai da diversi anni.
Negli ultimi mesi ho lavorato su un’idea per rendere Darktable più flessibile e vicino ai flussi di lavoro di altri software, ovviamente senza cambiarne la filosofia originale.
Ritengo personalmente che date le ottime caratteristiche che lo contraddistinugoano anche rispetto ad altri software “Professionali” sarebbe una valida scelta per “sostituire” molti altri software.
Tuttavia ci sono alcuni aspetti che, a mio avviso, ne limitano l’adozione.
Questa proposta nasce da un problema pratico che molti di noi conoscono bene:
oggi, per poter lavorare su delle immagini, bisogna importarle prima nel catalogo.
Solo dopo l’importazione, si possono visualizzare, modificare e gestire.
Questo approccio funziona bene per grandi archivi, ma può diventare pesante o limitante in altre situazioni.
Situazione attuale
- Ogni file RAW deve essere importato nel catalogo.
- Le modifiche possono essere salvate nel database o nei file sidecar
.xmpaccanto ai RAW. - Se il catalogo si danneggia, è un problema.
- Se si salvano i sidecar, le cartelle diventano caotiche (piene di file
.xmp). - Se si aggiungono nuovi file a una cartella già importata, bisogna ricordarsi di rifare l’import.
- Se si spostano cartelle, il rischio è che il database centrale non le riconosca più, in quel caso, si incorrerebbe anche nella problematica di avere delle ramificazioni e delle anteprima già generate, ma con percorsi nulli.
- In generale, con grandi volumi di immagini, il database cresce rapidamente e rallenta il software.
In breve, il sistema funziona, ma per molti utenti è troppo legato alla logica del “catalogo unico”, e tutto ciò che esso comporta, quindi alcuno, molti, evitano o di cambiare applicativo, poiché si trovano già con questo problema (vedi lightroom) oppure semplicemente non vogliono dover rifare tutto da zero.
Situazione futura (proposta)
L’idea è di introdurre una modalità alternativa e opzionale, chiamata Folder Session Mode.
In questa modalità:
- Darktable può aprire direttamente una cartella del sistema, senza importazione preventiva.
- Nella cartella, il programma creerà automaticamente una sottocartella dedicata (
PREVIEWS/) dove salverà:- le anteprime in JPEG, selezionabili per dimensione, in modo da stabilire quanto devono essere “pesanti” da gestire.
- i file sidecar relativi alle lavorazioni eseguite,
- un piccolo file
session_info.yamlche contiene tutte le informazioni relative a quella cartella.
Esempio:
/Servizio_Matrimonio/
├── RAW/
├── PREVIEWS/
│ ├── IMG_001_preview.jpg
│ ├── settings/
│ │ ├── IMG_001.xmp
│ └── session_info.yaml
Questo piccolo file YAML sostituisce, in modo leggero, una parte del database per quella cartella:
contiene le impostazioni, i riferimenti e le miniature, rendendo quella sessione portabile e indipendente.
Come si potrebbe integrare
- Il catalogo principale rimane invariato.
- Ogni cartella lavorata, e quindi già mappata, diviene una mini-sessione autonoma.
- Il database principale può eventualmente tenere solo un indice di puntamento alle sessioni presenti, e con una funzione di aggiornamento automatico o manuale, verificare che nulla sia cambiato oppure sincronizzare i cambiamenti.
- Se si apre una cartella, da DarkTable, il software in automatico aggiornerà automaticamente le anteprime e le informazioni YAML di quella sola cartella, in modo che terrà subito traccia di eventuali modifiche.
Inoltre, alcuni software già funzionano con questa logica, (vedi Capture One) , questo offrirebbe tra i vantaggi, il fatto che gli utilizzatori utilizzano già quel metodo di lavoro, quindi la migrazione diverrebbe più veloce, inoltre si potrebbe valutare una procedura di import da altri software di editing (Lightroom, Capture One, Exposure, ACDSee), in che sarebbe solo un bene per tutta la community e per DarkTAble in generale.
Vantaggi pratici post integrazione
- Nessun obbligo di importazione. Si può aprire e lavorare direttamente da una cartella.
- Niente sidecar sparsi. Tutti i
.xmpsono ordinati inPREVIEWS/settings/. - Backup facilissimo. Basta copiare la cartella.
- Scansione automatica e riassegnazione percorsi logici, in caso di spostamento cartelle fisiche, senza dover rigenerare le anteprime interne, poiché già contenute nelle sottocartelle dedicate.
- Indicizzazione automatica e generazione nuove anteprime per tutti i file creati ex-novo (ad esempio in fase di esportazione da altri software di editing, che generalmente esportano a fianco del file di riferimento)
- Database più leggero e veloce.
- Compatibilità con altri software.
- Adozione immediata da parte di molti più utilizzatori
- Crescita della Community
Struttura molto simile a quella usata da Capture One (Sessions) o RawTherapee. - Facile da condividere. Si può spostare o archiviare una sessione senza rischiare di rompere il catalogo.
Compatibilità e filosofia
La cosa importante è che questa sarebbe una modalità opzionale.
Chi preferisce il flusso classico con catalogo può continuare a usarlo esattamente come ora.
Non cambia nulla per chi non attiva la funzione.
L’obiettivo è di proporre l’aggiunta di una seconda possibilità di utilizzo per chi lavora per progetti, servizi o sessioni singole, mantenendo Darktable sempre coerente con la sua filosofia:
libero, flessibile e modulare.
Stato del progetto
Ho già preparato una bozza tecnica (RFC) con codice sorgente dimostrativo, diagramma e documentazione, disponibile qui:
Io non sono un programmatore, ma Fotografo e fruitore, non lo so fare, quindi NON è un codice pronto per il merge, ma una proposta concettuale concreta, che mostra come la funzione potrebbe essere integrata nel core di Darktable senza rompere nulla del sistema attuale.
Invito alla community
Questa proposta non vuole cambiare Darktable, ma ampliare le possibilità di un software che personalmente ritengo eccezionale, ma, e per questo, complesso.
Credo che rendere il programma più aperto anche ai flussi “session-based” possa aiutare molti utenti, anche nuovi, ad avvicinarsi a Darktable, quindi nel complesso aiutare tutti.
Mi piacerebbe sapere cosa ne pensate, soprattutto dal punto di vista tecnico e dell’integrazione con il database e la gestione delle anteprime.
Grazie a tutti per l’attenzione e per l’enorme lavoro che fate ogni giorno su Darktable ![]()
Lorenzoeffe
