viernes, 20 de julio de 2012

Votación Pública de Propuestas

Ya esta habilitado el período de votación pública de las propuestas de actividades para la conferencia (hasta el viernes 27 de Julio).
Pueden elegir su preferencia de charlas ingresando al sitio web:

http://ar.pycon.org/2012/activity/vote

Es necesario estar registrado para poder votar, pueden inscribirse en:

http://ar.pycon.org/2012/user/register

Las propuestas con más votos tienen más posibilidades de ser seleccionadas para la conferencia.
Dado que el proceso de selección no ha finalizado, varias charlas no estarán disponibles en el cronograma final. Las actividades pueden variar sin previo aviso. Listado en orden aleatorio.

Se agradece difusión,

jueves, 19 de julio de 2012

Sitio web de PyCon Argentina: historia y como colaborar

Introducción: ¿que software usamos para el sitio?


El sitio está hecho con web2py y usa la aplicación web web2conf, en la cual han trabajado más de 6 desarrolladores y 4 traductores desde 2009, totalmente de forma voluntaria desde la comunidad sin retribución económica alguna (a diferencia de otras herramientas más complejas que tienen financiamiento de fundaciones y/o son desarrollados comercialmente por empresas privadas).

Implementado originalmente para el sistema de registración de PyCon US 2009 / 2010 (inscripción, pagos, ayuda financiera, etc.), se ha usado en diversos eventos como ser:


Para mayor información pueden ver: http://ar.pycon.org/2012/default/about

All-Inclusive: 


El software en si es muy fácil de usar, de hecho no se necesitan conocimientos de Python o programación, ya que es completamente dinámico (con características de CMS):

  • Paginas HTML editables online (WYSWYG)
  • Soporte WIKI: reST y markmin (similar a markdown)
  • Barra de navegación totalmente configurable con múltiples niveles (navbar)
  • Administración web (totalmente independiente del admin de web2py): 
    • Opciones generales (settings mensajes, fechas, etc.)
    • Altas - Bajas - Modificaciones y consultas de todas las tablas
    • Exportación de datos 
    • Mailing por correo electrónico
  • Permisos de Acceso (grupos: revisores, colaboradores y administradores)
  • "Impersonalización" (para acceder como un usuario específico)
  • Soporte para internacionalización completo por default (español, inglés, etc.)
  • Publicación automática de Tweets y Blogs (RSS)
La aplicación usa la mayoría de las características incorporadas de web2py, por lo que no se necesitan dependencias externas ni otros paquetes o blibliotecas, lo que facilita el mantenimiento y mejoras al tener un código compacto y sencillo.

Con el correr de los años se han agregado varias características opcionales:

  • Login por redes sociales y captcha
  • Envío, revisión y publicación de charlas y disertantes
  • Notificaciones vía email  
  • Confirmación de Asistencia/Ponencia
  • Manejo de sponsors, propuestas, becas, gastos, pagos, etc.
  • Generación de credenciales / identificadores y certificados (PDF)
  • Reportes y estadísticas de (asistencia y propuestas)
  • Mapa con ubicación de los asistentes
  • Cronograma de Actividades
  • Calendario de Eventos
  • Manejo de pagos por DineroMail (u otros)
Cabe aclarar que el diseño (layout) es totalmente modificable (cambiando 1 solo archivo html), pudiéndose adaptar a los diferentes eventos y necesidades visuales.

Compatibilidad hacia atrás:


También se ha agregado funcionalidad de importar datos desde aplicaciones PyCon-Tech, usado en el sitio anterior de la conferencia (PyCon Argentina 2009 y 2010). El proyecto dejo de funcionar y de tener soporte hace varios años, por lo que las páginas de dichos eventos fueron recuperadas con este sistema actual para poder tener un histórico (en un PyCamp se intento mejorar/modernizar el proyecto anterior sin éxito). Para más info ver: http://listas.python.org.ar/pipermail/pyar/2012-April/017387.html

Este es un punto importante, ya que desde 2009 ni web2py ni web2conf ha roto la compatibilidad hacia atrás, por lo que sitios antiguos pueden seguir en funcionamiento y los servidores actualizados, o el sitio movido en diferentes empresas de hosting.
Esto es importante para mantener un registro histórico de los eventos que realizan los grupos de usuarios y realizar las actualizaciones menores, sin tener que volver a diseñar (o hacer grandes modificaciones) cada año al software de manejo de conferencias, o peor aún, perder todos los contenidos si no se hizo o no fue posible un respaldo estático (al menos de la parte pública).

Facilidades para eventos más pequeños:


Todos estas características pueden ser simplificadas para armar sitios de conferencias o jornadas más pequeñas, próximamente se publicaran paquetes listos para bajar y usar de los eventos más frecuentes (PyDays, PgDays, etc.). Como ejemplo pueden ver el sitio de PgDay Argentina 2012: http://www.pgday.com.ar/ 
El software puede ser alojado en cualquier hosting que soporte python, y posiblemente en GoogleAppEngine (con ajustes menores). Aquellos que quieran organizar eventos comunitarios, solo tienen que contactarnos para subirles una instancia ya configurada (en el servidor de la comunidad argentina de web2py) y asi puedan empezar a trabajar inmediatamente.

Incidencias y colaboración:


Todo esto no ha sido sin esfuerzo e inconvenientes, de hecho hemos tenido algunas dificultades técnicas relacionadas con el alojamiento (servidor), servicios de terceros (envío de email, redes sociales, captcha), base de datos (sqlite no es recomendable para alta concurrencia, usar postgresql!) y cache (performance de algunas páginas en momentos críticos como la votación, registración o día del evento).
De todos ellos seguimos aprendiendo y mejorando el código, lamentablemente en algunos casos no hemos tenido colaboradores o recursos suficientes para solucionar los problemas de manera más rápida.
Por el momento estamos en tratativas para conseguir un mejor alojamiento web y migrar los datos a un PostgreSQL actualizado y optimizado.

Por ello, si alguien tiene algún problema, pueden ayudarnos reportandolo como issue y asi poder darle el seguimiento adecuado: https://code.google.com/p/web2conf/issues/entry

La mayoría de los inconvenientes son temas menores, como ajustes al CSS, traducción o actualización de contenidos. Para todo ello no es necesario conocer web2py, simplemente pueden enviarnos por mail los ajustes y los aplicaremos con mucho gusto.

Aquellos que esten interesados en descargar el código y enviarnos mejoras o actualizaciones, son bienvenidos a participar en el sitio del proyecto: https://code.google.com/p/web2conf/

En el futuro, podemos crear un grupo de correo específico, por el momento pueden enviarnos sus consultas; comentarios o sugerencias a pybaires@googlegroups.com o por web en http://groups.google.com/group/pybaires