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:
- URL se compara con fichero. Si está en el navegador, sino a WordPress.
- 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:
- Hoja de estilos: tiene una cabecera que proporciona información a WordPress.
- 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.
- 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:
- Encontrar un tema que funcione como tema padre.
- Crear una carpeta para el tema hijo.
- Crear style.css.
- Importar el CSS.
- 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.