La traduzione di questa pagina non è stata ancora completata. Finché non lo sarà, le parti non tradotte saranno visualizzate in inglese.
Indice
Preparativi
Creare un tipo file personalizzato
Icona
Riconoscimento dei file
Descrizione
Applicazione preferita
Attributi Extra
Indicizzazione
Inserire i dati
Interrogare il database

Workshop: filetype, attributi, indici e query

Questo è un workshop, una sezione in cui verrà mostrato l'uso degli Attributi, delle Query, dell'Indice del filesystem e dei Filetype. Si costruirà a titolo di esempio un database per tenere traccia di una collezione di DVD.

index Preparativi

Innanzi tutto, devi decidere di che attributi e tipo di file hai necessità. All'inizio, l'idea era di usare un file di segnalibri con i collegamenti al sito IMdB, ma all'epoca il browser di Haiku non aveva il supporto per i bookmark a differenza di NetPositive, il browser del BeOS. La soluzione (più ragionevole) che è stata scelta è allora la seguente: il file sarà un'immagine JPEG che rappresenta la copertina del film.
WebPositive adesso supporta i file di segnalibri, così l'idea iniziale può ora, se preferisci, essere realizzata.
In ogni caso, andremo ad aggiungere al file un paio di attributi. È in questa fase in cui dovremo decidere se vogliamo riservarci la possibilità di interrogare il file successivamente (e in questo caso dovremo aggiungerlo all'indice) e, in caso affermativo, stabilire di che tipo saranno i nuovi attributi. Ricorda che i numeri (int, float) possono essere valutati differentemente dal testo (</=/> oppure is/contains/starts with).

Ecco alcuni attributi utili per classificare i DVD:

index Creare un tipo file personalizzato

Prima di tutto, apri il pannello delle preferenze Tipi di File cliccando sul pulsante Aggiungi... sotto la lista gerarchica a sinistra. Si aprirà una piccola finestra di dialogo dove verrà richiesto tra quali MIME Group verrà collocato il filetype, è sufficiente scegliere "applicazioni" impostando il nome interno come DVDdb. Ricorda che è anche possibile creare un gruppo completamente nuovo.

filetypes-new-file-type.png

A questo punto si aprirà un pannello per il nuovo tipo file DVDdb:

filetypes-dvddb.png

index Icona

Facendo doppio clic sull'icona si aprirà Icon-O-Matic che permette di disegnare un'icona per il proprio tipo file. È anche possibile trascinare sopra un'icona da un altro tipo, da usare magari come punto di partenza per crearne una versione modificata.

index Riconoscimento dei file

È possibile specificare dei suffissi come .txt, .jpg, .mp3 in modo da permettere l'identificazione dei file a partire dalla loro estensione. Questo può risultare utile quando si ha a che fare con file di sistemi che non prevedono il MIME Type. Non è necessario fare uso dei suffissi ai fini dell'esempio.

index Descrizione

index Applicazione preferita

Questo menù pop-up mostra una lista di tutte le applicazioni che supportano questo particolare tipo file. Da qui è possibile selezionare quale programma dovrà aprire il file specifico quando ci si effettuerà un doppio click.

Seleziona... apre una finestra di dialogo dove è possibile selezionare un'applicazione per aprire il tipo di file. Nel nostro esempio è stato impostato ShowImage per visualizzare la copertina del DVD.
Uguale a... apre una finestra di dialogo dove è possibile selezionare qualsiasi file che abbia già come applicazione preferita quella che si sta cercando.

index Attributi Extra

Questo è il luogo dove verranno inseriti tutti gli attributi personalizzati stabiliti durante la preparazione. Cliccando sul pulsante Aggiungi... si aprirà il pannello per l'inserimento di tutti i dati relativi al nuovo attributo. Puoi modificare un attributo esistente con un doppio click.

filetype-extra-attribute.png

Ora, bisogna inserire tutte le informazioni sugli attributi:

Nome internoTipo attributoIndicizzato?Descrizione
DVDdb:titolo testo si Titolo del film
DVDdb:genere testo si Genere
DVDdb:url testo no URL
DVDdb:cast testo si Direttore e Regia
DVDdb:trama testo no Trama
DVDdb:voto intero - 32 bit si Voto da 1 a 10
DVDdb:coordinate testo no Scaffale
DVDdb:prestato testo si Prestato a

index Indicizzazione

Prima di iniziare con l'immissione dei dati nel piccolo database dei DVD, è necessario aggiungere gli attributi all'Indice, solo gli attributi indicizzati potranno essere raggiunti da Haiku tramite una Query.
Allora, cosa si dovrà cercare in futuro? Probabilmente non ci si chiederà "Cosa c'è nella coordinata B4 dello scaffale?" o "In quale film la parola 'pope-shenooda' è contenuta nell'url di IMdB o nella trama?".

Questa scelta porta a usare solo questi attributi:

Nome internoTipo attributo
DVDdb:titolotesto
DVDdb:generetesto
DVDdb:casttesto
DVDdb:votointero - 32 bit

Per indicizzarli, si deve aprire un terminale aggiungendo semplicemente un attributo dopo l'altro:

mkindex -t string DVDdb:title
mkindex -t string DVDdb:genre
mkindex -t string DVDdb:cast
mkindex -t int DVDdb:rating

L'opzione -t specifica il tipo dell'attributo, in questo caso "string" per tutti, fa eccezione il voto che è un numero intero.

index Inserire i dati

Ora che tutto è sistemato, è possibile cominciare ad inserire alcuni dati all'interno del database.
Dal momento che il file di base è l'immagine della copertina, ci si collegherà a qualche risorsa online come IMdB per reperire la copertina o la locandina del primo film salvandola in una nuova cartella dove si vuole posizionare il database dei file DVDdb.

Aprendo questa cartella ci si troverà davanti la solita finestra di Tracker contenente un file JPEG. Cliccandoci su col tasto destro, è possibile impostare il suo filetype come application/DVDdb con l' Addon Filetype. Maggiori informazioni sull'argomento sono reperibili nel capitolo sui Tipi di File.

A questo punto è necessario attivare tutti gli attributi di DVDdb dal menù Attributes della finestra di Tracker e risistemare a piacere le colonne:

filetypes-dvddb-empty.png

Cliccando su un attributo ancora vuoto (o premendo ALT E) si passa alla modalità per la modifica nella quale è possibile inserire ciascun attributo. E' possibile spostarsi tra gli attributi con la scorciatoia TAB e SHIFT TAB.

Nell'esempio visto, solitamente si cominciava scaricando un file JPG e cambiando il suo filetype in applications/DVDdb. Esiste un altro metodo elegante per produrre analoghi risultati. Basta copiare un file vuoto che abbia il filetype desiderato in /boot/home/config/settings/Tracker/Tracker New Templates e rinominarlo come DVDdb.

Cliccando col tasto destro all'interno della finestra di Tracker ci sarà una nuova voce sotto New... accanto alla voce predefinita "New folder".

index Effettuare interrogazioni al database

Dopo un paio d'ore di duro lavoro, si avrà un piccolo database nel quale è possibile ricercare tutti i film di Christina Ricci che hanno un bel 7+...

È possibile determinare il layout dei risultati di uno specifico filetype.
Per fare questo aprire la cartella contenente i file DVDdb e sistemare a piacere i risultati come dovrebbero essere presentati. In fine copiare questo layout con Attributi | Copia Layout.

Continuando, aprire la cartella /boot/home/config/settings/Tracker/DefaultQueryTemplates, creandone una nuova e rinominandola group/filetype, rimpiazzando il carattere slash con degli underscore; nel nostro caso sarà "applications_DVDdb".

Per finire si apra una nuova cartella e ci si incolli il layout con Attributi | Incolla Layout. Ed ecco il risultato:

query-dvddb.png