ATENCION: esta version es la 1, todavia no he actualizado a la 2
Algunas preguntas frecuentes sobre PlanetIgniter. Si tienes mas dudas, sugerencias o quieres reportar un error me puedes contactar desde mi web: josezanni.com.
Esta documentación está incompleta, ni tampoco está tan bien explicada como me gustaría, pero "menos da una piedra" ;)
Esta aplicación nació para cubrir una necesidad personal de tener todos los blogs de retro informática que me interesaban en un sólo lugar y a la vez compartirlo con las personas cercanas con la misma aficción. El planeta de blogs retro se llama RetroInvaders.
Es un planeta (o agregador) de blogs de código libre programado en PHP usando el framework PHP CodeIgniter y la librería SimplePie (librería para leer semillas RSS.). También hace uso de Kses (librería PHP para filtrar código HTML) y JQuery.
Planeta (agregador): En informática, se emplea el término planeta para referirse a un sitio web cuyo contenido está exclusivamente compuesto por los mensajes de un conjunto de bitácoras o blogs que normalmente comparten una temática común. Los blogs agregados en un planeta pueden pertenecer a una comunidad de usuarios que comparten algún interés, pertenecer a un mismo ámbito regional, etc.
Se genera un nuevo feed RSS que agrupa todos los articulos del planeta. La URL del RSS es "http://midominio/index.php/feed", pero la URL que se publicará en el planeta depende del valor de "planetRSSLink" en la tabla "Settings", lo que permite que la dirección pública sea de FeedBurner.
Administración: No existe un panel de gestión *. Para gestionar los blogs y opciones de configuración es necesario modificar las tablas de datos directamente (por ejemplo usando phpMyAdmin) y en menor medida el código fuente PHP.
* Sería más cómodo si lo tuviera, pero las mínimas tareas de administración se pueden hacer sin problemas desde un phpMyAdmin.
Los artículos del planeta se actualizan llamando la URL "index.php/planets/update/planet.auth", que se encarga de leer todos los RSS de los blogs suscriptos (almacenados en la tabla "Seeds"), comprobar si alguno es nuevo y agregarlo al planeta.
Como medida de seguridad para evitar el acceso a esta URL sin autorización, se debe agregar como parámetro un valor que debe coincidir con el valor especificado en "planetUpdateAuth" de la tabla "Settings", por defecto este valor es "planet.auth" y es imprescindible modificarlo.
La actualización se puede automatizar usando un cron job.
Para agregar nuevos blogs al planeta es necesario acceder a la tabla "Seeds" y agregar directamente el nuevo registro a la base de datos.
Sólo es necesario agregar la dirección del feed RSS en el campo "url", el resto de la información será obtenida al actualizar el planeta.
Forzar el título del blog: cuando es necesario que el título del blog se muestre de manera distinta al que viene en el RSS, hay que asignar "1" a "force_title" y luego modificar "title". Cuando "force_title" está activo, el campo "title" no es actualizados desde el RSS.
Desactivar un blog: campo "active" igual a "0". De esta manera no se mostrará el blog en el listado lateral ni sus artículos correspondientes y tampoco se actualizará desde el RSS.
No actualizar un blog: campo "update" igual a "0". En el caso de que deseemos mantener el blog y sus artículos, pero que no sea incluído en el proceso de actualizació del RSS.
la tabla de datos Settings contiene valores de configuración del planeta que son cargados apenas iniciarse la aplicación y que son accesibles usando el sistema de config de CodeIgniter: $this->config->item('Setting.X'), donde X es el campo de la tabla Settings.
Algunos valores de la tabla:
- adminEmail: email del administrador del sitio.
- statsCode: código para generar estadisticas en el sitio.
- metaAuthor: nombre del autor del sitio web, se usa en la meta etiqueta del header.
- metaAuthorEmail: email del autor del sitio web, , se usa en la meta etiqueta del header.
- planetLastUpdate: fecha y hora de la última actualización del planeta (se modifica al ejecutar planets/update)
- planetEmailSuscription: al rellenar el formulario de suscripción de blogs se genera un email que es enviado al email especificado en este campo.
- planetPageItems: cantidad de articulos que se muestran por pantalla, se usa para el sistema de paginación.
- planetRSSLink: enlace del RSS que se publicará en el header. No necesariamente tiene que ser el RSS interno del planeta, ya que puede apuntar a una dirección de FeedBurner.
- siteName: nombre del sitio web.
- siteDescription: descripción del sitio web.
- siteTheme: plantilla activa, alojada en la carpeta "/themes". Por defecto es "default". En esta carpeta se encuentra la hoja de estilo y los gráficos de la web.
- planetUpdateAuth: Este valor se usa para prevenir el acceso sin autorizacion al proceso de actualizacion. Debe ser agregado a la URL de la siguiente manera: "index.php/planets/update/%1".
ATENCION: este valor se toma desde la URL, por lo tanto deben ser caracteres válidos para una url (no usar espacios, acentos, etc)
- planetSeedUnpublish: Listado de las ID de los blogs (seeds) que no deben ser mostrados, poner los numeros separados por coma (,).
- planetRSSItems: Cantidad de articulos que se mostraran en el nuevo RSS generado por el planeta
En un par de ocasiones he tenido errores durante la actualización, en principio generados por caracteres inválidos en las fuentes RSS, la solución fue modificar en la tabla "Planets" el último registro creado, pero todavía no he dedicado tiempo a resolver el problema de base.
"fetch: transfer timed out": no tengo idea porqué sale, pero al actualizar nuevamente todo va bien.