Guía del usuario
La traducción de esta página no está completa aún. Hasta que esté, las partes sin terminar vienen en su inglés original.

Índice
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.

## Preparativos

Let's first decide what filetype and attributes would serve our needs. Originally, I planned to use a bookmark file with a link to the movie's IMdB page, but since Haiku didn't have a "bookmarkable" browser like BeOS' NetPositive at that time, I came up with this: The file itself will be a JPEG image for the movie cover.
With WebPositive, Haiku now has a browser using bookmark files again, so you could as well use a bookmark file instead of an image as basic filetype for our database files.
In any case, to these files we add a couple of attributes. Here we have to decide if we want to query it later (then we have to add it to the index) and if so, what type of attribute it should be. Numbers (int, float) can be evaluated differently than text (</=/> vs. is/contains/starts with).

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

- Título de la película
- Género
- URL a, por ejemplo, IMdB
- Director/Personal
- Argumento
- Mi puntuación del 1 al 10
- Coordenadas en mi estantería, por ejemplo, A2, B3, así también puedo encontrar el DVD en la vida real :)
- Si es así, a quién he prestado el disco...

## 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").

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

### 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.

### 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.

### Descripción

- Nombre de tipo - Aparece por ejemplo en el menú de atributos de las ventanas de Tracker, y en la clase de atributo de archivo.
- Descripción - Una descripción un poco más detallada.

### 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.

### Atributos adicionales

Aquí ingresamos todos los atributos personalizados que decidimos en nuestras preparaciones. Dando clic en el botón Add... se abre un cuadro de diálogo:

- Attribute Name (nombre del atributo) - Aparece, p. ej., como la columna de encabezado en las ventanas de Tracker.

- Internal Name (nombre interno) - Se usa para indexar y consultar al atributo.

- Type (tipo) - Define el valor que el atributo puede manejar y por lo tanto cómo se consultará.
  - String para texto normal
  - Boolean para información binaria: 0 ó 1
  - Integer para números enteros con rangos diferentes:
    - 8 bit: ± 255
    - 16 bit: ± 65,535
    - 32 bit: ± 4,294,967,295
    - 64 bit: ± 18,446,744,073,709,551,615
  - Float para números con punto flotante, de precisión sencilla
  - Double para números con punto flotante, de precisión doble
  - Time para formato de día y hora

- Visible - Esta casilla de verificación determina si el atributo puede estar visible en una ventana de Tracker. Ya que Tracker será la interfaz de nuestra base de datos DVD, la comprobamos y definimos su visualización con:
  - Display As (desplegar como) - Déjela en "Default" (predeterminado). En el futuro estarán disponibles más opciones, p. ej., una barra o estrellas para calificar, etc.
  - Editable - Determina si el atributo podrá editarse en Tracker.
  - Width (ancho) - El ancho predeterminado de esa columna de atributos en una ventana de Tracker.
  - Alignment (alineación) - El atributo se puede desplegar alineado a la izquierda, centrado o a la derecha.

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

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

## 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 interno | Tipo de atributo
--- | ---
DVDdb:title | text
DVDdb:genre | text
DVDdb:cast | text
DVDdb:rating | int-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.

## 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:

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).

## 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!: