Mejora G-Forge 5: Incluir la posibilidad de leer de foros mediante clientes RSS
De MorfeoWiki
Tabla de contenidos |
Introducción
Para esta mejora se ha incluido la posibilidad de suscribirse a canales de noticias de contenidos tanto general como específicos, de manera que tanto los usuarios registrados como los no registrados podran consultar las noticias que puedan resultarles interesantes sin necesidad de acceder a los distintos foros.
Para ello se han creado canales de contenido general como son las noticias más importantes de la forja (highlights de la forja) en el que se pueden leer las noticias seleccionadas por el administrador de la forja para ser presentadas en portada; o los nuevos proyectos creados, un canal en el que se incluye una noticia cada vez que se crea un nuevo proyecto.
Por otro lado, para los usuarios registrados se han creado canales específicos. Así se crea un canal con las noticias de todos los proyectos en los que participa el usuario además de un canal por cada uno de los proyectos del usuario.
La selección de canales se puede localizar desde la pestaña Resumen de cualquiera de los proyectos y según se acceda como usuario registrado o no, aparecerán los distintos canales.
Estructura
Todos los archivos que gestionan los canales RSS se encuentran en el directorio /www/export. Dentro de este directorio se encuentra por tanto el fichero php principal llamado rss_project.php en el que se gestionan los diferentes tipos de canales.
En caso de que el usuario no se haya registrado se mostrarán únicamente los canales de contenidos generales:
- Noticias más importantes de la forja que redireccionará al fichero rss20_news.php
- Nuevos proyectos creados que redireccionará al fichero rss20_projects.php
y en la frase de bienvenida se utilizará el nombre invitado en lugar del usuario.
En caso de que el usuario se haya registrado además de los anteriores se incluirán los canales de contenido específico:
- Noticias de todos los proyectos del usuario que redireccionará al fichero rss20_userprojects.php
- Un canal para cada uno de los proyectos del usuario que redireccionará al fichero rss20_proyecto.php pasandole como parámetro el identificador del proyecto (group_id)
Acceso a tablas
Para obtener las noticias correspondientes a cada usuario y canal es necesario consultar las siguientes tablas:
- users -> es la tabla de los usuarios que se utilizará para obtener el nombre real y el nombre unix
- groups -> es la tabla de los proyectos que se consultará para obtener múltilples datos, entre otros si el proyecto es público o no, el estado, la descripción corta para el canal de nuevos proyectos creados,...
- user_group -> es la tabla de la relación entre usuarios y proyectos
- news_bytes -> es la tabla de las noticias de los foros que se consultará para obtener el autor de la noticia, si ha sido aprobada o no, la fecha de publicación, el contenido,...
Usando estas tablas se consigue filtrar las noticias para cada uno de los canales. Para más información consultar los ficheros anteriormente mencionados.
Mejoras
Como posibles mejoras se podrían incluir nuevos canales para versiones anteriores a la RSS 2.0 como RSS 0.91 así como otros canales que puedan resultar de interés.
Planificación
- Prioridad: Baja
- Responsable: UPM
Resultados
Se ha conseguido crear canales RSS para la distribuución de noticias usando el formato RSS 2.0.
Temas pendientes
- Se ha realizado estudio sobre posibilidades RSS (varias de ellas ya en GForge), hay que estudiar su aplicación práctica a la forja
