plone

You are currently browsing articles tagged plone.

I got bored of having to write “site:plone.org/documentation blabla” in the Firefox search box to use Google to look for documentation in Plone.org so I created a plugin following these instructions and using this generator.

Check it out!

Some tips:

  • Use Ctrl+K to get to the searchbar.
  • With the focus in the searchbar Alt+Up/Down lets you select what search engine you want to use.
  • While selecting an engine, typing a character makes you jump to the first search engine starting with this character. In our case, use ‘p’.

Related articles

Tags: , ,

What started as an utopic idea has now become real! Over the last Plone releases, the documentation had become sadly outdated, because the people writing code for the new features of the product were faster than the people writing the documentation for them.

During the last Plone Conference the Plone Documentation Team was revived. It was time to start doing things The Right Way (TM). Our idea was to bind the development to the documentation, studying PLIPs after being approved by the Framework Team and updating and extending the documentation base accordingly before the new product version is released.

And finally, we did it for 3.3! So congrats to everybody who’s participated! I hope that in the future more people will chime in and we will improve our workflow for updating and testing changes in the documentation. Some ideas:

  • We can’t publish (make visible to everybody) the documentation for the new version before the new version is released, because it will confuse people. Next PHC version will likely provide us Working Copy Support so we will be able to edit documentation “privately” while keeping the old (stable) version of a page public.
  • We have to coordinate better with the PLIP implementors to write, review and verify the documentation. Proposed workflow:
    1. Make a list of affected docs. This list will likely include only documents in the official documentation area.
    2. Make a copy of them and find someone to document the changes. With Working Copy Support, thiw will no longer be neccessary.
    3. Ask the implementer of each PLIP to review the introduced documentation changes. Test them against a beta or release candidate release.
    4. After the final release, copy the contents of the copied articles back to the live ones, and delete the copies. With Working Copy Support, promote the changes to the public page.

Happy ploning to everybody!

Related articles

Tags: ,

This list is not intended as a in-depth tutorial to learn how to create new content-types in Plone (if you are looking for that, please check the Archetypes Developer Manual), but as a checklist to ensure you’ve not forgot any step.

  1. Create the skeleton of the package using paster -t plone.
  2. Add the package to your buildout.cfg, including the eggs, develop and zcml sections.
  3. Define your type interfaces using zope.schema.
  4. Implement the interface using Archetypes.
    1. Define the content-type fields using Archetypes.atapi.Schema.
    2. Bridge the getters and setters to attributes using atapi.ATFieldProperty.
  5. Define the security policies for the class attributes throught <require /> directives into your configure.zcml.
  6. Register the neccessary resources (images, css, javascript) into your browser/configure.zcml file, throught <browser:resource /> directives.
  7. Implement the main view of the object.
    1. Register a <browser:page /> into the browser/configure.zcml file, referencing the view class and the content-type interface.
    2. Write the implementation of the referenced class above, using Products.Five.browser.pagetemplatefile.ViewPageTemplateFile and defining any internal methods that you’ll need into the rendered templates later.
    3. Write the associated template, using ZPT.
  8. Write the GenericSetup install code for the new content-type:
    1. Register a extension profile into your configure.zcml, using a <genericsetup:registerProfile /> directive.
    2. Register the type into the portal_types tool throught a types.xml file.
    3. Specify the details for each type into the types/your-type-name.xml file.
    4. Write the __init__.py package’s boilerplate code to initialize the content-type and create the factory functions.
    5. Write down your configuration data into a config.py file.
    6. Assign add permissions to desired roles throught rolemap.xml.
    7. Register the type factory in the factorytool.xml file.

Thanks to Martin Aspeli for such a great book!

Related articles

Tags: ,

Me comentan que el servidor del grupo de software libre de la UCM está pachucho y puede que caiga enfermo en breve, así que traspaso esta información aquí (usemos el blog para algo útil).

Motivación

  • La inmensa mayoría de las delegaciones de alumnos y asociaciones no tienen página web y permanecen parcial o totalmente ocultas en la Web. Los mecanismos que se suelen usar para dar a conocer las asociaciones y sus actividades suelen ser bastante rudimentarios: pegar carteles por toda la facultad, o por varias si se organiza algún evento importante, gastando un montón de papel y saturando aún más las sufridas paredes.
  • A pesar de tener una página web, incluso si está bien diseñada, existe el problema de que la información está descentralizada, es decir, que la gente de otras facultades no conoce la existencia de esa página o no les apetece estar entrando cada semana a ver si publican actividades nuevas.
  • Por otra parte, existe muchísima gente interesada en actividades de las que no se enteran debido a que los medios publicitarios utilizados para anunciarlos no son efectivos.

Propuesta de solución

  • Es necesario un portal web donde las asociaciones, delegaciones y cualquier estudiante (también los profesores, por qué no) puedan mostrar que existen y anunciar sus actividades fácilmente.
  • El portal tiene que tener un diseño atractivo y ser sencillo de utilizar, con editores WYSIWYG o sintaxis wiki.
  • Tiene que permitir leer la información en el navegador, por RSS o por email.
  • Lo más importante es que los usuarios puedan encontrar en el portal la información que les interesa, ni más, ni menos. Algunas ideas:
    • Sistema de etiquetas que permita al usuario suscribirse a unas determinadas etiquetas y punto.
    • Sistema de etiquetas y selector por medio de filtros. Esto sería mucho más granular, pero tiene problemas de rendimiento y puede ser más lioso. Por ejemplo, un usuario se podría suscribir a todos los eventos que se organicen en su facultad sobre política, pero sin contar los que sean los de otras facultades, es decir, filtros del tipo “etiqueta1 OR (etiqueta2 AND etiqueta3 NOT etiqueta4)”. ¡Se necesitan hackers!
  • Una vez que estuviese listo el portal para empezar a utilizarse, se le debería dar una publicidad considerable desde la Delegación Central y desde todas las asociaciones interesadas. Cuantas más asociaciones participen, más vendrán (la gente llama a la gente).

El verano pasado quedé con Federico García Mon Trotti (se escribe así, ¿no?) y le convencí de que Plone era el sistema que debíamos usar para una tarea de esta magnitud.

El programa de la nueva Delegación Central de la Complutense hace mucho incapié en tener una página web donde publicar información, así que supongo que este proyecto tiene que salir adelante tarde o temprano. Mi idea es que lo mejor es que empecemos con algo sencillo y simple (un wiki) y migremos a algo más pesado como Plone cuando veamos que lo necesitamos. ¿Opiniones?

Sí Álvaro, el joven padawan aprende de los maestros. ;-)

Related articles

Tags: , ,

El pasado martes 2 de diciembre tuvimos una reunión del grupo de editores de documentación de Plone (el llamado Editorial Board) en la que discutimos una serie de cambios propuestos para la documentación.

JoAnna publicará un resumen del encuentro próximamente ha publicado un resumen de las decisiones que se tomaron aquí, y también una serie de anotaciones y la transcripción de la charleta aquí. Mientras tanto Yo me he tomado la libertad de publicar el mío propio aquí, para el gusto de los motores de búsqueda.

En primer lugar, la documentación se dividirá en parte dos partes:

  • Una oficial, en la que se seguirán procesos de revisión, actualización y control de calidad dirigidos por los editores, pero que puede ser escrita por cualquier miembro de la comunidad de Plone.
  • Una abierta de estilo wiki, con páginas que cualquiera podrá editar sin pasar por el proceso de revisión de la documentación oficial. Se diferenciará claramente de la oficial y se encontrará en un subdominio del tipo algo.plone.org.

Por otra parte, se tiene la intención de usar Sphinx para la documentación de referencia de los módulos que componen Plone. Se llevará a cabo una experiencia piloto con algún módulo para ver qué tal funciona.

La documentación oficial se intentará organizar en manuales sobre cada tema (uso básico, theming, formularios, etc.), cada uno con una introducción rápida primero y luego una guía comprensiva sobre el tema. Se intentará encontrar un lugar en los manuales para toda documentación nueva que se escriba.

Se eliminará la división del Plone Help Center actual por tipo de contenido en la parte oficial, es decir, adiós a las URLs tipo plone.org/documentation/tutorial, plone.org/documentation/howto, etc.

Se intentará que los PLIPs incluyan información para facilitar la tarea de documentar los cambios que introducen. Estamos en contacto con el Framework Team para conseguirlo.

Se eliminarán los comentarios de los artículos oficiales de documentación. Los errores y mejoras de un artículo se registrarán y se administraran con el sistema Trac general de Plone, como bugs en la documentación.

Se eligieron tres cargos especiales en el equipo de documentación:

  • Veda Williamson, responsable de asuntos políticos y de presentación (theming principalmente).
  • Steve McMahon, responsable técnico y enlace con la Plone Foundation.
  • JoAnna Springsteen, pastora de nuestro rebaño de editores.

Esto es todo por el momento.

Por cierto, el plazo de presentación al puesto de editores de documentación de Plone aún está abierto. Quien esté interesada en colaborar, que me avise y nos ponemos en marcha.

Related articles

Tags: ,

Today is the World Plone Day and JoAnna suggested us to post about why do we love Plone, so here I go.

I became interested in Zope when I spotted a printed copy of The Zope Book in the Students’ Council premises of my faculty. I learned the basics of acquisition, object hierarcy and… DTML! Yes, that version of The Zope Book was so old it didn’t cover ZPT, and I build the whole website of my student’s association, Hypatia, using DTML and the ZMI.

Some months later I started contributing to the Alqua project, whose founders (Álvaro Tejero and Pablo Ruiz) were big fans of Zope and Plone and I helped migrating an plain-html site to a Plone one a year ago. That summer Álvaro attended to The Plone Conference 2007 at Naples, Italy and recommended two books to me: “Proffessional Plone Development”, by Martin Aspeli, and “Web Component Development with Zope 3″, by Philipp von Weiterhausen.

At first, these two books were too hard for me, specially PPD, and I left them in my shelves more than once thinking I would never understand the “extreme” complexity of Plone. I started learning Django and built my first real-world application: mini-litmus, a web-based QA tool for Mozilla-related products.

On July 2008 I started working for Zassh.com, a startup company, developing a sports-oriented social networking site built on Plone. There I realized that I weren’t a Plone newbie at all! Reading PPD and Philipp’s book turned out to be really helpful, and I hard-learned how to face real world Plone development issues, which were very different from what I expected. Plone is hard to tame!

Now I’ve become a documentation editor and I’m working to improve this well-known weak point of Plone. I’m e-meeting a lot of people from the community and looking forward to meet some of them personally at a sprint or conference.

Plone is a strong and mature CMS with features others have only dreamed with yet. New eggified products and modules are published every day in PyPI, exploring new concepts and design patterns. Paraphrasing Phillip J. Eby, “those who doesn’t study Plone are condemned to reinvent it”.

Happy ploning, community!

Related articles

Tags: ,

Last week I started working (earning money :-P) for Zassh.com, a dot-com company which develops a social networking website with the same name about sports. It looks like my future is bound to the social web… or perhaps the Internet is what is bound to the social web.

The site is powered by Plone, IMHO, the most powerful CMS available in the open source world today. My role inside the company as a Junior Programmer is to develop and code the different parts of the website. There’s a lot of work to do, and when I say a lot, I mean a lot. We’re currently finishing the code of the 2nd stage of the site, which will allow users to surf the site without signing up, rating photos, and much more features I don’t remember right now.

I’m really happy about working with a tool I like, and I feel I’m going to learn a lot from that. Happy ploning!

Related articles

Tags: , ,

Acabo de implementar un nuevo tipo de contenido en Plone para tuspalabros, aquí tienen una captura de pantalla. :)

Related articles

Tags: , ,

Estoy intentando construir tuspalabros sobre Plone, y una de las primeras cosas que tengo que hacer, según Martin Aspeli, es cambiar el estilo de Plone. Evidentemente, no es porque sea importante hacerlo al principio, sino porque es algo fácil de hacer que ayuda a familiarizarse con el sistema de paquetes/productos. Nuestro primer objetivo, fuente de sufrimiento para los iniciados, es cambiar el logo del sitio, para reflejar nuestra imagen amena y juvenil:

Resultado del cambio de logo
¿A que mola mogollón? Creo que es más importante que se entienda el concepto antes que el proceso técnico que hay que seguir.

Estructura de capas de Plone
Plone estructura el aspecto de las páginas que se visualizan en capas ordenadas en una especie de pila, de manera que las capas de la parte superior de la pila tienen precedencia sobre las que están debajo; por supuesto, el orden se puede variar al gusto. De esta manera, si queremos cambiar las propiedades de algún componente del aspecto gráfico manteniendo el resto, lo único que tenemos que hacer es insertar una capa cerca de la parte superior de la pila, por encima de la que contenga el elemento que queremos “sobreescribir”. En realidad no se sobreescribe nada, sólo se utiliza el nuevo elemento en vez del antiguo, por lo que, si no nos gusta el resultado del cambio, siempre podemos retirar la capa que insertamos para que todo vuelva a la normalidad.


Por lo general, un estilo no sólo se limita a superponer elementos, sino que suele definir elementos nuevos, cambiar el orden de los existentes, etc., pero todo esto sigue formando parte del estilo, así que lo que se hace es agrupar todo en lo que se llama un paquete. Plone es extensible mediante paquetes, es decir, permite instalar sobre él complementos que cambian el funcionamiento y aspecto de nuestro sitio, y que se pueden desinstalar fácilmente más tarde si quisiésemos.

Insertando capas mediante un paqueteSabiendo todo esto, nuestra estrategia para cambiar el logo, con vistas a personalizar los colorines y maquetación más adelante, consiste en crear un paquete de los anteriores que contenga una capa en la cual coloquemos nuestro logo e instalarlo. Mediante una herramienta llamada paster podemos generar la estructura básica de un paquete de estilo, el cual trae de serie tres capas, una para hojas de estilo (CSS), otra para imágenes, y otra para plantillas (HTML) que se insertarán cerca de la parte superior de la pila. Mi paquete de estilo se llama «Tuspalabros Theme».

Instalando el estilo TuspalabrosDibujamos con esmero nuestro logo con nuestro programa de dibujo favorito (GIMP, Paint, Photoshop, etc.) y lo guardamos con el nombre «logo.jpg» en la capa de imágenes de nuestro paquete de estilo, que en mi caso se llama «tuspalabros_theme_custom_images».

Para finalizar, tan sólo tenemos que instalar el paquete de estilo a través de la interfaz de configuración del sitio de Plone, dentro de la sección «Productos adicionales». Seleccionamos la casilla «Tuspalabros Theme 0.1» y pulsamos el botón «Instalar». ¡Ya está! ¿A que no ha sido difícil?

Related articles

Tags: , , , ,

Newer entries »