Contenido
Preparativos
Crear un tipo de archivo personalizado
Icono
Reconocimiento de archivos
Descripción
Aplicación preferida
Atributos adicionales
Indexado
Completar la información
Consultar la base de datos

Taller: Tipos de archivo, atributos, índices, y consultas

Este es un taller de trabajo para mostrar el uso de los Atributos, Consultas, el Indexado y Tipos de archivo personalizados. Como ejemplo, construiremos una base de datos para llevar un registro de nuestra colección de DVDs.

index Preparativos

Primero decida qué tipo de archivo y atributos cubrirá nuestras necesidades. Originalmente, yo quise utilizar un archivo de marcadores con un enlace a la página de la película en IMDB, pero Haiku no disponía en ese momento de un navegador con marcadores como el NetPositive de BeOS, así que se me ocurrió esto: el archivo mismo sería una imagen JPEG para la portada de la película.
Con WebPositive, Haiku ahora tiene otra vez un navegador que usa marcadores, así que igual podría usar un archivo marcador en lugar de una imagen como su tipo de archivo base para nuestros archivos de base de datos.
De cualquier forma, a estos archivos añadimos algunos atributos. Aquí tendremos que decidir si vamos a querer hacer una consulta sobre ellos más adelante (y tendríamos que añadirle al índice) y si es así, qué tipo de atributo deberá ser. Los números (int, float) pueden ser evaluados de forma diferente al texto (</=/> en lugar de es/contiene/comienza por).

Aquí están los atributos que me gustaría ver para mis DVDs:

index Crear un tipo de archivo personalizado

Inicie las preferencias de Filetypes (Tipos de archivo) y haga clic en el botón Add... (añadir) debajo de la lista jerárquica de la izquierda. Al hacerlo, se abre una pequeña ventana de diálogo donde se especifica en qué grupo MIME residirá el nuevo tipo de archivo; se puede crear también un grupo completamente nuevo. Pongámoslo en "applications" (aplicaciones) y démosle DVDdb como el nombre interno (en "Internal Name").

filetypes-new-file-type.png

Ahora, un panel para su nuevo tipo de archivo DVDdb se abre:

filetypes-dvddb.png

index Icono

Haga doble clic en el pozo de icono para abrir a Icon-O-Matic y diseñar un icono para su tipo de archivo. También puede arrastrar y soltar un icono desde el pozo de iconos de otro tipo, quizás como punto de referencia para una versión modificada.

index Reconocimiento de archivos

Puede añadir sufijos tales como .txt, .jpg, .mp3 para reconocer archivos por extensión. Resulta útil cuando se trabaja con archivos de sistemas que no tienen tipos MIME. No lo necesitaremos para nuestro ejemplo.

index Descripción

index Aplicación preferida

Este menú muestra una lista de todos los aplicaciónes que pueden usar este tipa de file. Puede definir la programa que abre este file especifico cuando lo da clic doble.

Select... abre una ventana de archivo donde se elige la aplicación a abrir para este tipo de archivo. Aquí configuramos ShowImage para mostrar la carátula del DVD.
Same as... abre una ventana de archivo donde se elige un archivo que ya tenga la aplicación preferida por la que estás buscando.

index Atributos adicionales

Aquí ingresamos todos los atributos personalizados que decidimos en nuestras preparaciones. Dando clic en el botón Add... (Añadir) abre un panel para ingresar todos los datos para el nuevo atributo. Puede editar un atributo existente con un doble clic.

filetype-extra-attribute.png

Ahora, ingrese toda la información para nuestros atributos:

Nombre internoTipo de atributo¿Indexado?Descripción
DVDdb:title text Título de la película
DVDdb:genre text Género
DVDdb:url text No URL
DVDdb:cast text Director/Personal
DVDdb:plot text No Argumento
DVDdb:rating int-32 Calificación de 1 a 10
DVDdb:coord text No Anaquel/Ubicación
DVDdb:lent text Prestado a

index Indexado

Antes que empecemos a ingresar información en nuestra pequeña base de datos de DVD, deberíamos agregar ciertos atributos al índice. Únicamente los atributos indexados pueden usar las consultas rápidas de Haiku.
Asi que, ¿qué estaremos buscando en el futuro? Probablemente no preguntemos "¿Qué está en la coordenada B4 en mi estante?" o "¿El URL de IMdB o la trama de la película contienen la palabra 'pope-shenooda'?"

Lo anterior deja estos atributos:

Nombre internoTipo de atributo
DVDdb:titletext
DVDdb:genretext
DVDdb:casttext
DVDdb:ratingint-32

Para indexarlos, abrimos una Terminal y simplemente agregamos un atributo después del otro:

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

La opción -t define el tipo de atributo, el cual es "string" para todos excepto la calificación, que es un número entero.

index Completar la información

Ahora, todo está listo y podemos comenzar a poner información en nuestra base.
ya que nuestro archivo básico es una imagen de portada, vamos a algún recurso en línea como IMdB, buscamos nuestra primera película y guardamos la portada o el afiche (poster) de la película en una carpeta nueva donde queramos mantener nuestros archivos DVDdb.

Al abrir esa carpeta vemos una ventana típica de Tracker con un JPEG en ella. Al darle clic derecho, cambiamos su tipo de archivo a application/DVDdb con el agregado Filetype Addon. Hay más información sobre esto en el documento Tipos de archivo.

Enseguida, activamos todos nuestros atributos DVDdb desde el menú Attributes de la ventana de Tracker y reacomodamos las columnas a nuestro gusto:

filetypes-dvddb-empty.png

Dando clic en un atributo todavía vacío (o presionando ALT E) ingresamos al modo de edición y llenamos cada atributo. Con TAB y MAYÚSUCULAS TAB se puede navegar entre atributos.

En nuestro ejemplo, usualmente comenzamos con una portada JPEG descargada y cambiamos su tipo a applications/DVDdb. Hay otra manera elegante de producir un archivo para trabajarlo. Sólo copie un archivo vacío de nuestro tipo de archivo a /boot/home/config/settings/Tracker/Tracker New Templates y renómbrelo a DVDdb.

Dando clic derecho dentro de una ventana de Tracker, encontrará una nueva entrada debado de New... además de la predeterminada "New folder" (carpeta nueva).

index Consultar la base de datos

Bastantes horas de trabajo a regañadientes después, tenemos una agradable pequeña base de datos que podemos consultar para encontrar todas las películas de Christina Ricci en nuestro poder que tengan calificación de 7+ :)

Se puede asignar una vista de atributos sensible para los resultados de búsqueda de un tipo de archivos específico.
Para ello abra una carpeta con archivos DVDdb y reacomode los atributos como le gustaría que se presentaran los resultados de la consulta. Copie esta vista con el menú Attributes | Copy Layout.

Abra /boot/home/config/settings/Tracker/DefaultQueryTemplates, cree una nueva carpeta y cámbiele el nombre a group/filetype, remplazando las diagonales con guiones bajos: en nuestro caso "applications_DVDdb".

Abra la carpeta nueva y pegue la vista con Attributes | Paste Layout. ¡Listo!:

query-dvddb.png