Metadata

Da Caos per caso.
Jump to navigation Jump to search

Formato del file metadata

Il file del metadata deve essere informato csv (comma separated values), con il punto e vergola ';' come separatore tra i campi, i campi di testo devono essere racchiusi tra virgolette '"'

Colonne del metadata

Il nuovo sistema di importazione acquisisce i campi del database in cui i dati devono essere inseriti direttamente dal metadata; di seguito riportiamo i campi che possono essere presenti nel metadata, in grassetto i campi obbligatori, in corsivo i campi del database, ovviamente in grassetto corsivo i campi del database obbligatori e in grassetto e basta i campi obbligatori, ma che non hanno dei corrispettivi nel database:

  • code: è il codice della foto, il sistema controlla che il valore immesso inizi con "SIS-"
  • keywords: elenco delle parole chiave che descrivono la foto
  • description: breve descrizione della foto
  • copyright: credit della foto, la convenzione per la SIS è (C) SIS Images/<agenzia>/<fotografo>
  • orientation: orientamento della foto il sistema se lo calcola a partire dalle dimensioni delle immagini, viene inserito automaticamente
  • inDate: data di inserimetno dell'immegine, viene inserito automaticamente
  • modDate: data dell'utlima modifica dell'immagine, viene inserito automaticamente
  • notes: eventuali note legate all'immagine
  • availability: tipo di disponibilità dell'immagine: può essere "Tradizionale" o "RoyaltyFree"
  • availNotes: note legate alla disponibilità, per esempio se una foto è disponibile solo per uso editoriale o non è disponibile per alcuni paesi
  • availDays: numero di giorni entro cui la foto può essere disponibile
  • model_release: il modello ha rilasciato il permesso di utilizzo
  • property_Release: la proprietà ha rilasciato il permesso di utilizzo
  • price_ID: identificativo del prezzo nella tabella dei prezzi
  • price_txt: (obsoleto, non utilizzare) descrizione del prezzo, adesso la descrizione si mette nella tabella dei prezzi
  • photographer: fotografo
  • agency: agenzia
  • collection: collezione, si usa solo per le collezioni di CD (es. Royalty Free)
  • category: categoria, la cartella in cui l'immagine è memorizzata
  • resolutions: risoluzioni disponibili per un'immagine in alta vale "a:A4,c:A5,b:A6,w:A6"
  • old_filename: nome del file del fornitore, serve per recuperare il file dalla cartella di origine

Le colonne possono essere in ordine sparso e il sistema mette i dati al posto giusto lo stesso. In alcuni casi sono possibili il nome delle colonne non sia troppo rigido.

Controlli sui campi

Il sistema fa un buon numero di controlli e correzioni sui campi, eccone alcuni.

A tutti i campi vengono tolti gli spazi iniziali e finali (trim).

I campi che hanno un underscore "_" nel nome possono avere anche uno spazio al suo posto (es. "model_release" è equivalente a "model release").

code

Deve iniziare per SIS-.

category

Se c'è una barra "/" iniziale o finale viene rimossa.

Eventuali spazi tra la barra "/" e la categoria vengono rimossi.

La categoria viene resa tutta maiuscola.

keywords

Questo campo può chiamarsi così oppure anche tags.

Separa le parole chiave con virgola e spazio.

ATTENZIONE: le parole chiave DEVONO essere separate da virgola, il sistema NON fa questo controllo

description

Questo campo può chiamarsi così oppure anche caption.

copyright

Controlla che inizi con (c) SIS.

availability

Controlla che sia Tradizionale o RoyaltyFree

availNotes

Questo campo può chiamarsi così oppure anche restrictions.

model_release e property_release

Questo campo può essere vuoto, se non si hanno informazioni sui release.

Il sistema controlla se è "N/A" o "NA", in questo caso viene considerato un campo vuoto.

Poi se il campo inizia con "N" viene impostato a "N" per "no".

In tutti gli altri casi viene impostato a "Y" per "Yes".

resolutions

Se non è presente se lo calcola in base ai file che trova; restituisce qualcosa del tipo "d:A3,a:A4,c:A5,b:A6,w:A6" a seconda delle dimensioni dell'immagine in archivio.

La codifica della risoluzione è definita in base alla dimensione del lato maggiore:

  • d: >3500px
  • a: 3500px
  • c: 1024px
  • b: 650px
  • w: 650px
  • t: 170px

Posizione e nome del file metadata

Il metadata si deve trovare nella cartella in cui si trovano le foto da importare e deve chiamarsi preferibilmente metadata.csv. Può chiamarsi anche in altro modo ma in questo caso il suo nome deve essere passato come parametro nello Statement di avvio.

Statement di avvio

php-cgi <site_root>/mod/imageArchive/classes/metadata_import.php -- path=<percorso della cartella da indicizzare> [metadata=<nome del file con il metadata>]

<percorso della cartella da indicizzare> è la cartella in cui si trovano le immagini da inserire nel Database, è obbligatorio

<nome del file con il metadata> è il nome del file del metadata, è opzionale: se non viene passato il sistema cerca "metadata.csv"

Roll Back e gestione delle righe con errori

Ha un sistema di roll back veramente buono: registra tutte le operazioni che fa e prepara un file per annullarle, nel caso di errore con quel file è possibile cancellare tutto quello che si è fatto. I files di rollback sono

  • rollback_DB_YYYYmmddHHiiss.sql.log : contiene i comandi per cancellare i record dal database
  • rollback_FS_YYYYmmddHHiiss.sh.log : contiene i comandi per cancellare i files dal filesiystem
  • bugged_YYYYmmddHHiiss.csv.log : è un file simile al metadata, contiene le righe che per qualche ragione non sono state caricate, se tutte le righe sono state caricate, non viene creato, è possibile passarlo come metadata dopo aver corretto gli errori che ne hanno impedito il caricamento, tale motivo è inserito nell'ultima colonna del file

YYYYmmddHHiiss è il datetime dell'istante in cui viene creato il file