El objeto Squishdot
Introducción
Después de presentar en anteriores números la arquitectura de Zope y
entender como todo en él son objetos, hemos visto como se construye un
sitio Zope a partir de los objetos estándar de Zope. Ahora vamos a
analizar como se usa un objeto externo a la distribución de Zope
tanto a la hora de instalarlo como de utilizarlo. Con ello veremos que
una de los puntos más fuertes de Zope es su extensión a través
de los cientos de objetos que ya están disponibles para él.
La mayoría de estos objetos están cubiertos por la misma licencia que
el propio Zope, la ZPL, por lo que su uso no lleva asociado ningún coste
por licencias de los mismos. Recordemos que la licencia ZPL es
considerada software libre, aunque es incompatible con la GPL y la FSF
no recomienda el uso de esta licencia a la hora de publicar tu
software.
La facilidad del uso de os objetos Zope, sobretodo aquellos que son de
más alto nivel y proporcionan una funcionalidad sin necesidad de
programación, hace muy aconsejable el conocer la variedad de objetos
Zope que existen con el objetivo de ahorrar el mayor tiempo posible
a la hora construir nuestro sitio en la red.
A lo largo de este artículo nos vamos a centrar en el objeto Squishdot
el cual nos va a permitir construir "weblogs" para nuestro sitio a
golpe de ratón. Un weblog es un lugar donde aparece información ordenada
por fechas. Ya iremos viendo más detalles sobre los weblog del que sitios
como Slashdot.org o Barrapunto.com constituyen un excelente ejemplo.
Localización de objetos Zope
Estamos construyendo nuestro sitio en la red, Rayo de Luz, y el departamento
de comunicación de la empresa ha solicitado que incluyamos un weblog
en su zona del sitio para poder ir haciendo anuncios de las nuevas
noticias que suceden dentro de la empresa. Ante esta petición
evaluamos el coste de un desarrollo desde cero de esta funcionalidad
pero, el coste del desarrollo sería demasiado elevado en tiempo y personal
para cubrir las necesidades de un sólo departamento. Ante esta situación
decidimos buscar algún objeto ya desarrollado que nos pudiera facilitar
la labor (sí, ya sabemos que Squishdot nos vale pero hay que dar realismo a
la situación ;-)).
Nos vamos de visita al web de Zope a ver si encontramos todos los objetos
disponibles para Zope desarrolladores por otras personas y compañías ya
que los objetos que vienen con el propio Zope no cubren esta funcionalidad.
Realmente lo que estamos buscando son algo más que objetos. Son Productos
Zope, conjuntos de objetos que proporcionan una funcionalidad y que son
fácilmente instalables dentro de Zope. Si accedemos al portal de Zope y
a su zona de descargas, tenemos una sección dedicada a los Productos.
Como podemos ver en la figura anterior, ya ha disponibles 263 productos Zope
que nos proporcionan una funcionalidad muy grande. En nuestro caso estamos
intentando localizar un weblog para nuestro departamento de comunicación.
De entre todas las categorías parece que la de "Realimentación" (Feedback) es
donde podremos encontrar los Productos que más se ajusten a la necesidad
de nuestro departamento, que lo que buscan es poder comunicar a los clientes
de la compañía noticias y poder recibir realimentación por parte de los
clientes a través de comentarios a las propias noticias, tal y como funcionan
los weblog. Dentro de esta categoría nos encontramos con varios productos.

Los tres primeros productos que aparecen son de los más importantes dentro
de Zope: Squishdot es el weblog de Zope, ZWiki, el producto para montar
Wikis en Zope y PTK (Toolkit de Portales), un entorno para la creación de
portales en el que todos los productos trabajan de forma integrada compartiendo
información de usuarios, noticias, documentos y demás elementos que constituyen
los fundamentos de un portal. Nosotros nos vamos a centrar en Squishdot pero
el lector interesado puede aprender mucho con las instalación y uso de los
otros dos productos y, especialmente con PTK, que pretende sentar las bases
para el desarrollo con Zope de portales de una forma tan sencilla como se crean
sitios en la actualidad.
Parece que Squishdot es lo que estábamos buscando. Aunque ya lo sabíamos, vemos
que es sencillo de localizar los productos a través del portal de Zope y
que con un a rápida búsqueda, podemos encontrar lo que necesitamos.
En la página de información de Squishdot en el portal de Zope encontramos
la referencia hacia la URL de su página principal, que podemos ver
en la siguiente figura.
La página de Squishdot es el propio producto en funcionamiento, la mejor prueba
de que es justo lo que estábamos buscando. Analizando el contenido de la
página, vemos que sitios como Technocrat.net de Bruce Perens, o las noticias de
GNOME lo usan, y aquí más cerca en España la ACP del grupo de Sin Dominio que agrupa a muchas
organizaciones de culturas alternativas, aunque actualmente tienen en
revisión el servicio.
Por lo que parece que es un producto estable y utilizable en
entornos de producción, excelentes noticias. Es muy importante saber analizar
hasta que punto podemos apostar por un determinado software, y más dentro
del software libre que suele estar en constante evolución y que muchas veces
se liberan versiones "alpha" para poder recibir apoyo de la comunidad. Squishdot
parece un producto probado y utilizable por lo que podemos seguir con él y
pasar a probarlo.
Lo primero es lograr una versión que sea compatible con la versión de
nuestro servidor Zope. En Zope ha habido un cambio fuerte entre las versiones
2.1 y 2.2 y los productos que funcionan para una versión, no suelen
hacerlo en muchos casos para la otra. En concreto, yo tengo instalada la
versión de Debian Potato, un pelín antigua ya: la 2.1.6. Recordamos al
lector que esta información la puede obtener del panel de control de Zope.
Por este motivo me veo obligado a bajarme la versión 0.6 de Squishdot,
aunque la actual es la 0.7.3. Si el lector están trabajando con Zope 2.2
debe bajarse esta última versión. Tras una descarga de 250 KB ya tengo en
mi poder Squishdot-0-6-0.tar.gz, que veremos es muy muy sencillo de
instalar.
Instalación de un Producto Zope
En el apartado anterior obtuvimos Squishdot-0-6-0.tar.gz, el lector con
Zope 2.2 Squishdot-0-7-3.tar.gz, y ahora ha llegado el momento de instalarlo.
Para ello basta con copiar este paquete al directorio del que cuelgan los
demás productos Zope, en mi caso /usr/lib/zope/, y descomprimirlo en él.
faro:/shared/acs/src# cp Squishdot-0-6-0.tar.gz /usr/lib/zope/
faro:/usr/lib/zope# cd /usr/lib/zope/
faro:/usr/lib/zope# tar xfz Squishdot-0-6-0.tar.gz
faro:/usr/lib/zope# zopectl restart
Restarting Zope............. done.
Reiniciamos Zope para asegurarnos de que tiene en cuenta el nuevo producto
y pasamos a ver si dentro de la lista de productos disponibles, ya tenemos
a Squishdot.
Podemos ver que efectivamente, Squishdot ya aparece como un producto más
de Zope. Dentro de la documentación de Zope se nos recomienda que instalemos
el producto TinyTable que permite construir de forma sencilla tablas, y
que es utilizado dentro de las pantallas de configuración de Squishdot.
Un buen ejercicio para le lector es obtener este producto e instalarlo de
forma idéntica a como se ha hecho con Squishdot.
En el caso de que el lector esté trabajando con la versión de Zope 2.2, y
por lo tanto haya utilizado la versión 0.7.3 de Squishdot, la instalación
es idéntica salvo que debe de descomprimir el paquete dentro del
directorio con los productos de Zope. La documentación de instalación
de Squishdot, disponible en el propio web de Squishdot, cubre este caso.
Uso del Producto Squishdot
Bueno, ha llegado el gran momento. Ya tenemos todo instalado y queremos
ahora utilizar el producto Squishdot para crear un weblog dentro del
departamento de contabilidad. ¿Cuánto de fácil será? El primer paso
es irnos por la interfaz de gestión hasta el directorio, el objeto folder,
donde tenemos las páginas del departamento de comunicación.
Bueno. ahora que ya estamos allí, vamos a seleccionar el objeto
Squishdot y vamos a decirle que lo añada. Tras ellos nos encontramos
con una primera pantalla con los datos básicos para configurar Squishdot.
Dejamos las opciones que aparecen por defecto y le demos un identificador
al objeto (Noticias) y un título para la página (Noticias de Rayo de Luz).
Vemos lo sencillo que ha sido crear el weblog pero, ¿qué es lo que realmente
tenemos? Nada mejor que acceder a las páginas del departamento de comunicación
e irnos al directorio "Noticias" a ver que tenemos allí.
Sí, ya tenemos nuestro Squishdot montado y preparado para poder utilizarlo.
Tal y como cuentan los primeros artículos que se incluyen por defecto dentro
de Squishdot, hemos logrado ya un 90% de la instalación. Pero aún queda
un proceso importante: personalizar Squishdot para adecuarlo al aspecto
de todo el sitio de Rayo de Luz y analizar la funcionalidad que nos proporciona
el sitio. Pero a nivel de instalación del producto ya tenemos todo hecho y
pasamos a configurar el producto para adaptarlo a nuestras necesidades.
Para configurar Squishdot lo primero que tenemos que hacer es volver
de nuevo a la interfaz de gestión del departamento de comunicación y
acceder a la carpeta "Noticias" donde está el contenido de Squishdot
tal y como podemos observar en la siguiente figura.
De momento vemos que hay muchos elementos que forman el weblog. Cada
uno de ellos es responsable de una parte de la visualización. Normalmente
los nombres son bastante significativos y nos pueden guiar a que parte
corresponde cada uno de los ficheros. Por ejemplo, hemos visto que en
la página principal de entrada aparece un "banner" que no queremos que
siga ahí. Para poderlo eliminar acudimos al objeto "site_header" y vemos que
efectivamente, este método DTML es el encargado de construir la cabecera
de la página del sitio.
Bastará con eliminar la línea que aparece seleccionada en la captura para
que no nos aparezca más este banner en la parta superior de la pantalla
de nuestro weblog. El lector puede eliminar esta línea, guardar los cambios
y utilizar la solapa de "View" para comprobar que efectivamente, ha
desaparecido.
Pero en general, vemos que parámetros como los colores
se obtiene a través de variables que están definidas en el propio Squishdot
y que se pueden modificar desde la solapa de "Properties" donde se pueden
cambiar muchos aspectos del aspecto de nuestro weblog.
Por ejemplo, vamos a intentar cambiar el logo que aparece en la
parte superior del weblog, que por defecto es el de Squishdot.
Veamos todas las propiedades configurables a ver si alguna controla esta
imagen.

A simple vista vemos algunas que tenemos que modificar como el correo
del administrador, el nombre del sitio o el nombre del administrador.
El nombre de la imagen que aparece en el título para que es "Images/sitetitle_img"
y podemos comprobarlo si vamos a la carpeta de "Images" y visualizamos esa
imagen. Para sustituirla nos vamos al directorio "img" de "rayodeluz" y
copiamos la imagen "logo.png" seleccionando su checkbox y pulsando sobre
el botón de copiar. Una vez que la tengamos copiada (nos aparecerá un
botón para hacer Paste (pegar)) nos vamos de nuevo a la carpeta con
nuestro weblog (Noticias) y pegamos dicho logo dentro del directorio "Images".
Una vez realizado esta operación, acudimos de nuevo a las propiedades del
weblog "Noticias" y cambiamos la que dice "title_image" al valor "Images/logo.png".
Guardamos los cambios y seleccionamos la solapa de "View" para ver que
tal ha quedado la imagen.
Bien, ahora vamos a cambiar el azul que aparece de forma generalizada por
todo el sitio por un verde, más acorde con la imagen de nuestra compañía.
Para ello de nuevo acudimos a "Properties" y cambiamos la propiedad
"color3" al valor "#00FF00". Este valor tiene el componente de verde
al máximo al ser los valores en hexadecimal de las componentes RGB de los
colores, asi que el color azul pasará a ser un verde demasiado fuerte, pero
que es un buen punto de comienzo para seguir consolidando el diseño.
Por último se pueden configurar más cosas como los temas que forman el
weblog. A la hora de poner una noticia nueva en el weblog, hay que elegir
un tema bajo el que irá clasificado la noticia. Luego las noticias se
podrán visualizar agrupadas por temas, mecanismo que puede ser muy
útil. En la siguiente figura vemos la interfaz para incorporar una nueva
noticia al weblog, a la que se llega tras pulsar el enlace "post article"
dentro de la página principal del weblog.
Para añadir nuevos temas al weblog, como por ejemplo uno dedicado a
noticias de Rayo de Luz, otro para anuncio de eventos o incluso otro
para promociones y ofertas a clientes, podemos ir a través
de la interfaz de gestión del weblog "Noticias" a la solapa
de Topics y desde allí se podrán borrar los temas actuales y añadir
temas nuevos, para los que necesitaremos un icono.
Para terminar veamos como quedaría la página del weblog con los cambios
hechos a los colores y el logo y con la nueva noticia enviada.
Conclusiones
A lo largo de este artículo hemos querido mostrar un producto Zope muy
completo como es Squishdot, el weblog de Zope. Es un producto que
es sencillo de instalar, como todos los demás productos Zope, y que
podremos tener en funcionamiento muy rápido.
Una vez instalado hemos ido viendo como toda la configuración del producto
se realiza a través de la clásica interfaz web de gestión de Zope, algo
que simplifica mucho esta labor y que permite realizar con sencillez
y en poco tiempo las labores de mantenimiento y configuración del
producto.
En general el lector encontrará esta facilidad de uso en casi todos los
productos Zope que, como se ha comentado en el artículo, son a fecha de
Enero de 2001 más de 260. ¿Dispuesto a probar alguno de ellos?
Referencias