Sistemas de Recuperación de Información y Gestión de Contenidos con WordPress

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 12,94 KB

Sistemas de Recuperación de Información

Indexación

No en tiempo real. Offline para búsquedas eficientes.

Tipos de Índices

  • Directos: No intervienen en el proceso de búsquedas de documentos. Para gestión y visualización.
  • Invertidos: Se emplea durante la búsqueda de documentos. Permite encontrar qué documentos contienen qué términos. Optimizan el espacio necesario.

Técnicas para la construcción de índices invertidos:

  • Palabras (raíz):
    • V: unidad mínima, tratamiento casi directo del origen.
    • I: trata sinónimos como palabras diferentes.
  • Por sentido:
    • V: no trata sinónimos como palabras diferentes.
    • I: necesidad de un sistema de desambiguación del sentido muy efectivo.

Relevancia

Criterios de ordenación:

Internos (dependientes del documento)

  • Booleano: el término aparece o no en el documento.
  • Frecuencia: número de veces que aparece en el documento.
  • TF-IDF: frecuencia del término x la inversa de frecuencia en el documento.

Externos (dependientes de factores externos al documento)

Se dan en páginas web, enlaces que entran y salen de las páginas.

Modelos de Recuperación

  • Modelo Booleano: representación de documentos y preguntas como vectores de 0 y 1. Solo se tiene en cuenta si el término aparece o no. Todos los términos tienen la misma importancia.
    • I: demasiados resultados o demasiado pocos.
    • Imposible ordenar resultados.
  • Coeficiente Jaccard: mide el grado de solapamiento entre 2 conjuntos. Permite establecer una ordenación de resultados en una búsqueda booleana.
  • Vectorial: Representación de documentos y preguntas como vectores con pesos reales que determinan el valor de cada término en cada documento. La similitud entre un documento y una consulta se calcula como el coseno de sus vectores.
  • Recuperación de Pasajes: Los sistemas de RI basados en documentos los analizan de forma global para calcular la similitud de este con la consulta. Analizan fragmentos de texto contiguo de los documentos.
    • V: valoración de la proximidad de aparición de los términos.
    • Valoración de fragmentos relevantes en documentos poco relevantes.
    • Localización de las partes relevantes del documento.
    • Comparación adecuada de documentos de tamaño diferente.

Gestión de Contenidos con WordPress

Ciclo de Vida del Software

Plan, desarrollo, gestión, despliegue, evaluación.

Tipos de Sistemas de Gestión de Contenidos (CMS)

  • Estructurados (ERP)
  • No estructurados (CMS)
  • Internos (ECM)
  • Externos (WCM)

Tipos de CMS (tamaño)

  • Complex P
  • Upper-range P
  • Mid-r P
  • Simpler P

WCM

Seguridad, organización, flujo, interactividad, plantillas, modularidad.

Ventajas:

  • Flexibilidad
  • Gestión del flujo de trabajo
  • Reutilizar contenido
  • Bajo coste
  • Fácil de personalizar

Desventajas:

  • Mantener esquema de diseño básico
  • Coste de mantenimiento e implementación a gran escala

Arquitectura:

Modelo-vista-controlador, dirigida por eventos.

WordPress (WP)

CMS de código abierto, para blogs, PHP y SQL, más simple y utilizado, arquitectura de plugins, plantillas y dirigida por eventos.

Roles:

  • Admin
  • Editor
  • Autor
  • Contribuidor
  • Suscriptor

Flujo de trabajo:

  • Post revisión history
  • Post control

Tipos de Posts:

  • Page
  • Attachment
  • Revisión
  • Nav_menu_item

Taxonomías para clasificar contenido:

  • Categoría-jerárquica
  • Etiqueta-no jerárquica
  • Categoría del link, no jerárquica

Estructura web:

  • Homepage
  • Añadir un blog

Generación de Contenido en WordPress

Pasos:

  1. URL se compara con fichero. Si está en el navegador, sino a WordPress.
  2. Si WordPress -> determina qué información cargar, pide información a la base de datos, carga plantilla PHP, ejecuta plantilla -> genera HTML.

WP_Query:

Peticiones a la base de datos. Determina el tipo de consulta, obtiene información y la almacena, conserva mucha información para luego. Si WordPress -> se crea instancia. Parse_query() analiza la URL para ver información. Get_posts() coge parámetros y los convierte a SQL. La información se almacena en WP_Query. Carga PHP.

Bucle:

Antes se ejecuta get_posts y se almacena en WP_Query. Have_posts() comprueba si hay posts para procesarse. The_post(). Establece la variable global $post que contiene toda la información sobre el post actual.

Etiquetas PHP:

Muestran información de la web y contenido. Cómo y dónde se muestra la información. The_author(), tags, category, time, content. Bloginfo(): obtener información del blog. Wp_title. Devuelve el título de la página.

Bucle Personalizado:

Creando una instancia de WP_Query y referenciándola. Se le pasan los parámetros de la SQL. Se pueden crear bucles anidados.

Variables Globales:

Desde cualquier entorno. Almacenan información del bucle, autores, usuarios e instalación de WordPress. $post, $authordata, $currentuser.

Hooks en WordPress

WordPress utiliza una arquitectura orientada a eventos. Ejecuta procesos en respuesta a acciones externas. Los procesos lanzan eventos. Estos eventos se llaman hooks. Distinto nombre en función del evento que los lance. Forma nueva de conectar nuevos desarrollos a WordPress. Podemos vincular funciones a un evento y se ejecutarán cuando se produzca ese evento.

Tipos de Hooks:

  • Acción: cuando se necesita hacer algo en un determinado momento. Add_action(): se usa para vincular la función al evento.
  • Filtro: cuando queremos alterar el valor de algún dato. Database reads, writes. Other uses, add_filter.

Custom Fields:

Campos personalizados a un post. Se conoce como meta. Pares clave/valor. Mostrarlo con the_meta(). Se estiliza con el CSS post_meta.

Gestión de Roles y Capacidades

Capacidades Personalizadas:

Útil cuando se crea un nuevo plugin que permite más cosas. $role_get_role y $role add_cap.

Tipos de Capacidades:

  • WP_Roles: roles en general (crear y eliminar). Cuando se usa en un plugin, no es necesario crear un objeto, con la variable global wp_roles basta. Get_role, add, remove.
  • WP_Role: añadir y eliminar capacidades. Add_cap, remove.
  • WP_User: Gestiona roles y capacidades por usuario. Múltiples roles a un usuario. Capacidades a un usuario independientemente de su rol.

Shortcodes:

Permite a los desarrolladores de plugins crear contenidos especiales que los usuarios puedan añadir a ciertas páginas a través del shortcode correspondiente. Insertados en posts o en páginas y se sustituyen antes de que se muestre el contenido. Add_shortcode.

Intranet:

Eje central para compartir, colaborar información de la empresa y cliente y gestionar proyectos y seguimiento del tiempo. Funcionalidades: directorio, wiki, formularios, calendario, gestión de proyectos. Plugins a usar: absolute privacy, membership, wiki, Google Calendar.

Base de Datos en WordPress

Tablas:

  • WP_users: datos de los usuarios, nicename, activation key y user status.
  • Usermeta
  • Posts: 8 estados del post: publicado, futuro, draft, pending, privado, trash, autodraft, inherit.
  • Postmeta
  • Comments
  • Commentmeta
  • Options: opciones del menú lateral y configuración de WordPress.
  • Links
  • Taxonomías:
    • WP_terms: todos los terms de todas las taxonomías.
    • Term_taxonomy: a qué taxonomía pertenece cada term.
    • Term_relationship: vincula términos de taxonomía con el contenido.

Database Class:

WordPress tiene una clase de objeto $wpdb para trabajar con la base de datos de la forma más segura.

Peticiones simples:

Declaramos el objeto como variable global. Query() ejecuta los insert, update y delete y Prepare() envía variables en sentencias SQL.

Peticiones complejas:
  • Get_row(): obtiene una fila entera de la tabla. Fila devuelta como un objeto.
  • Get_results(): obtiene varias filas de una tabla con una consulta select.
Errores:
  • Show_errors(): antes de hacer la petición.
  • Print_error(): después de hacer la petición.

Temas en WordPress

Elementos:

  • Tema: colección de archivos, plantillas y CSS.
  • Plantillas: archivos PHP.
  • CSS: define el estilo.
  • Otros archivos: como Adobe Flash.

Estructura:

  1. Hoja de estilos: tiene una cabecera que proporciona información a WordPress.
  2. Archivo de funciones: todo el código específico de un tema. Es opcional y reside en el subdirectorio del tema. Se usa para habilitar menús, barras laterales, etc.
  3. Plantillas: archivos PHP que se utilizan para generar las páginas, formadas por HTML y PHP. Index.php es la plantilla por defecto, no tiene por qué ser un bucle.

Ficheros min:

Style.css y index.php -> plantilla muy flexible, incluye todo el código para generar el HTML o puede ser dividida en módulos de plantillas. Sirve para evitar código duplicado.

Plantillas basadas en consultas:

  • Mediante jerarquía de plantillas: crear nuevas plantillas más específicas que se cargan en lugar de index.php.
  • Utilizando etiquetas condicionales en el bucle: diferentes posibilidades en función de la condición.

Crear un Tema Propio:

  • Partiendo de un tema: descargar el más parecido, cambiar nombre y modificar.
  • Partiendo de un framework: muchas ventajas para equipos de desarrollo. Sirve para hacerse una idea de cómo funciona cada parte del tema. Vocabulario CSS común.

Child Themes:

Crear un tema hijo:
  1. Encontrar un tema que funcione como tema padre.
  2. Crear una carpeta para el tema hijo.
  3. Crear style.css.
  4. Importar el CSS.
  5. Activar el tema hijo.
Cómo funciona:

WordPress primero busca en el directorio del tema hijo. Si no existe, busca en el padre.

Integrar Nuevos Temas a WordPress:

Para una buena integración, usamos action hooks: wp_head(), footer, meta, comment_form. Debemos comunicar a WordPress qué características soportan nuestros temas a través de functions.php.

Estándar de Plantillas:

Header.php, menús de navegación, widgets, footer, index, archive, js.

Plugins en WordPress

Internacionalización (i18n):

Para traducir plugins a otros idiomas mediante funciones __() y _e() que imprimen la cadena traducible al navegador. WordPress utiliza un framework de localización llamado GNU gettext que etiqueta todo el texto y lo extrae en un fichero.

Funciones:

  • Register_activation_hook(): ejecutada cuando se activa el plugin.
  • Register_deactivation_hook(): ejecutada cuando se desactiva el plugin.
  • Register_uninstall_hook(): se ejecuta cuando el administrador desinstala el plugin. Perfecta para eliminar los datos que el plugin ha generado, como tablas en la base de datos.

Widgets:

Para añadir elementos personalizados a las barras laterales. Son scripts ejecutables que simplemente podemos arrastrar a la barra lateral o cualquier otra parte de nuestro tema. El tema dice qué partes pueden usar widgets. No hace falta programar a no ser que se quiera poner en otro lado. Para crearlos, extendemos la clase WP_Widget y alguna de sus funciones.

XML

Metalenguaje de marcado para documentos de texto. Define lenguajes para representar documentos o datos textuales.

Beneficios:

  • Alta portabilidad de datos.
  • Muy expresivo, flexible y personalizable.
  • Fácil de usar, comprensible por humanos.
  • Fácil de convertir.
  • Muchos estándares y ampliamente usado.

Entradas relacionadas: