¿Cómo crear la Web de un Museo en WordPress?

En este artículo os voy a contar como monté la Web de un museo/archivo fotográfico y una biblioteca de investigadores con WordPress.

Antes de nada instalé los siguientes plugins:

Ambas instituciones tienen su archivo internamente con FileMaker. Las instituciones tienen las diferentes colecciones como archivos de File Maker. Estos archivos se pueden exportar como XML.

Los archivos XML tenían la siguiente estructura:

    <?xml version="1.0" encoding="UTF-8" ?>
    <FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
        <ERRORCODE>0</ERRORCODE>
        <PRODUCT BUILD="01-25-2011" NAME="FileMaker" VERSION="ProAdvanced 11.0v3"/>
        <DATABASE DATEFORMAT="D/m/yyyy" LAYOUT="" NAME="FICHERO TIMOTEO.fp7" RECORDS="151" TIMEFORMAT="k:mm:ss "/>
        <METADATA>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Clasificación1" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Clasificación2" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Color" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Descriptores" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Estado" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Fecha" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Fondo" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Formato" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Información complementaria" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Nota a la fecha" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Nota al autor" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Registro1" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Soporte" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Tipo" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Título" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="TRA" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Tratamiento" TYPE="TEXT"/>
        </METADATA>
        <RESULTSET FOUND="151">
    <ROW MODID="38" RECORDID="1">
        <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>20-01-1949</DATA></COL>
        <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0001</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>Cumplidoras del Servicio Social en clase de corte y confección</DATA></COL>
        <COL><DATA></DATA></COL>
    <COL><DATA></DATA></COL>
   </ROW>
    <ROW MODID="31" RECORDID="2">
        <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>09-01-1948</DATA></COL>
    <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0002</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>Exposición de canastillas confeccionadas por la SECCIÓN FEMENINA</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
    </ROW>
    <ROW MODID="37" RECORDID="3">
            <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>13-10-1948</DATA></COL>
        <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0003</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>Clase de organización de S.F. explicada por la directora local a las F.A. que han pasado a la S.F.    </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
    </ROW>
    <ROW MODID="35" RECORDID="4">
            <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>17-05-1953</DATA></COL>
        <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0004</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>Campeonato provincial de balonvolea</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
    </ROW>
    <ROW MODID="35" RECORDID="5">
            <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>09-08-1948</DATA></COL>
        <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
         <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0005</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>Exposición de labores realizadas por las flechas en el taller de formación </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
    </ROW>
    <ROW MODID="34" RECORDID="6">
            <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>04-02-1949</DATA></COL>
        <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0006</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>Clase de cultura general dada por la regidora de las juventudes a las flechas</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
    </ROW>
    <ROW MODID="34" RECORDID="7">
            <COL><DATA>Guadalajara </DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>B/N</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>bueno</DATA></COL>
        <COL><DATA>18-07-1953</DATA></COL>
        <COL><DATA>FONDO TIMOTEO</DATA></COL>
        <COL><DATA>17.X 11</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA>TIM-0007</DATA></COL>
        <COL><DATA>PAPEL</DATA></COL>
        <COL><DATA>POSITIVO </DATA></COL>
        <COL><DATA>3º campeonato provincial de gimnasia</DATA></COL>
        <COL><DATA></DATA></COL>
        <COL><DATA></DATA></COL>
    </ROW>
    ...
    ..
    .
    </RESULTSET></FMPXMLRESULT>

He eliminado algunos datos del ejemplo anterior por motivos de privacidad.

Importar las imágenes

Cada entrada del XML anterior representa una imagen del archivo fotográfico. El museo tiene por cada entrada una imagen. El nombre de la imagen coincide parcialmente con el contenido de una columna de datos. Es decir, para la primera entrada mostrada en el ejemplo anterior la imagen se llama TIM-0001.jpg. La cadena de texto TIM-0001 aparece dentro del XML antes mencionado.

El nombre de las imágenes es único entre colecciones y entre entradas dentro de una colección.

Para importar las imágenes basta con abrir la sección de Medios de WordPress y subir las 15000 imágenes. Prepara una taza de café y una buena conexión a Internet y esperar a que la subida acabe.

Preparar los tipos de entrada personalizados

Para alojar las entradas del archivo fotográfico di de alta un tipo de entrada personalizada llamada foto. Con el Plugin Custom Post Types es muy sencillo. A continuación muestro las capturas de como hacerlo.

Custom Post Type

Este sería el detalle del tipo de entrada “Foto” al pulsar el botón editar:

Add_New_‹_Cefihgu_—_WordPress

Preparar las taxonomías

El archivo fotográfico constaba con varias colecciones de fotos. Cada colección con su archivo de FileMaker y su nombre. Incluso algunas de ellas con diferentes campos. Por ello, dí de alta una taxonomía como se muestra a continuación:

Dar de alta una taxonomía

A continuación muestro el detalle de la taxonomía antes mencionada si se pulsa el botón editar. Esta taxonomía esta asociada al tipo de entrada personalizada “Fotos” antes creada.

Detalle Taxonomía

Preparar los campos personalizados

La parte de metadata del XML anterior que vuelvo a escribir más abajo describe la estructura de los datos presentes en el XML.

        <METADATA>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Clasificación1" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Clasificación2" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Color" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Descriptores" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Estado" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Fecha" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Fondo" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Formato" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Información complementaria" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Nota a la fecha" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Nota al autor" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Registro1" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Soporte" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Tipo" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Título" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="TRA" TYPE="TEXT"/>
            <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Tratamiento" TYPE="TEXT"/>
        </METADATA>

Basándonos en el anterior fragmento de XML y con la ayuda del plugin Custom Fields creé un grupo de campos personalizados que contiene los anterior campos así como algunos campos adicionales. En concreto creé un campo llamado Picturefile para alojar la URL de la imagen asociada a la entrada y un campo llamado “Campo Búsqueda” que usé para construir el buscador sobre las “Fotos”. Este es el grupo de campos creado:

Grupo de campos personalizado WordPress

 

Importar el archivo XML con el plugin WP All Import

Gracias al trabajo anterior ahora podemos importar el archivo XML al tipo de entrada personalizada que hemos creado en Wordpress con el plugin WP All Import. Para ello vamos a crear una nueva importación. WP All import nos muestra una las diferentes filas de nuestro archivo y podemos arrastrar y soltar los valores según nos convenga. En el primer paso vamos a elegir un nombre único para no tener colisiones entre fotografías. Vamos a elegir el campo dentro del XML que describe la imagen de manera inequívoca. Esto se muestra a continuación:

WP All Import Template

A continuación se muestran las opciones de importación. He resaltado en cajas rosas todas los opciones utilizadas. Con un poco de atención se aprecia como se usa el tipo de entrada personalizada “Fotografías”, la taxonomía “Colecciones”, el grupo de de campos “Foto” y como se construye el campo imagen usando el campo inequívoco y la estructura de URL para los medios en WordPress.

ImportOptions

 

Una vez tenemos esto sólo queda ejecutar la importación y WP All Import importará cada una de las entradas del XML en WordPress.

Cuando haya acabado tendremos unas entradas en “Fotografías” como la que se muestra a continuación:

ficha

Me queda pendiente otra entrada que describa como usar toda esta Información introducida en WordPress en la parte visible a los usuarios.

Leave a Reply

Your email address will not be published. Required fields are marked *