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
Primero decida qué tipo de archivo y atributos cubrirá nuestras necesidades. Originariamente, yo quise utilizar un archivo de marcadores con un enlace a la página de la película en IMdB, pero Haiku no dispone de un navegador "marcable" como el NetPositive de BeOS en este momento, así que se me ocurrió esto: el archivo en sí mismo sería una imagen JPEG para la carátula de la película.
A eso añadimos unos poco atributos. Aquí tendremos que decidir si queremos consultarlo más tarde (entonces tendremos que añadirlo al índice) y además, 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:
- 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 (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.
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. | ||
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
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á.
- para texto normal
- para información binaria: 0 ó 1
- : ± 255
- : ± 65,535
- : ± 4,294,967,295
- : ± 18,446,744,073,709,551,615
para números enteros con rangos diferentes:
- para números con punto flotante, de precisión sencilla
- para números con punto flotante, de precisión doble
- 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:
- (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.
- - Determina si el atributo podrá editarse en Tracker.
- (ancho) - El ancho predeterminado de esa columna de atributos en una ventana de Tracker.
- (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ú
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
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ú .
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
. ¡Listo!: