Esta página se está traducido el 2014-12-08.
Es posible que la versión inglés se actualizaba desde luego.

Información para desarrolladores

Alaveteli es un proyecto de código abierto. Los desarrolladores a tiempo completo de mySociety junto con desarrolladores de todo el mundo contribuyen de forma activa en la base del código. Estos enlaces y notas le ayudarán si también desea ayudar.

  • El software está escrito en Ruby on Rails 3.x. Soportamos postgresql como sistema gestor de base de datos. Se necesita un agente de transferencia de correo (MTA) configurado, como exim, para analizar los correos recibidos. Disponemos de servidores de producción implementados en Debian (Wheezy) y en Ubuntu (12.04 LTS). Por motivos de rendimiento, recomendamos el uso de Varnish.

  • Para ayudarle a entender qué hace el código, le recomendamos que lea esta vista general de alto nivel, que incluye un esquema de los modelos y las relaciones entre ellos.

  • Consulte la documentación del API para averiguar cómo extraer e introducir datos en Alaveteli.

  • Si necesita modificar o añadir cadenas de texto en la interfaz, consulte nuestras guías de internacionalización, donde encontrará notas sobre nuestro uso de gettext.

  • Utilizamos el modelo de ramas de flujo de git la última versión de desarrollo siempre se halla en la rama develop. La última versión estable se encuentra siempre en la rama maestra. Si tiene previsto colaborar en la elaboración del software, es posible que las extensiones de flujo de git le resultes prácticas.

  • La instalación del software es un tanto compleja, pero poco a poco se vuelve más sencilla. Si utiliza Debian o Ubuntu, debería poder poner en funcionamiento una versión en varias horas. Si dispone de su propio servidor, ejecute el script de instalación o siga las indicaciones de instalación manual. Alternativamente existe una AMI EC2 de Alaveteli que puede ayudarle a ponerlo en marcha rápidamente. Póngase en contacto a través de la lista de correo del proyecto o mediante IRC para obtener ayuda.

  • Un paso inicial estándar en la personalización de su implementación es la escritura de un tema. Si solo va a leer un apartado, ¡que sea este!

  • Al igual que numerosos sitios construidos con Ruby on Rails, el software no proporciona un rendimiento muy elevado (consulte estas notas sobre los problemas de rendimiento recopiladas a través del tiempo con WhatDoTheyKnow). El sitio funcionará sobre un servidor con 512 MB de memoria RAM, pero se recomienda un mínimo de 2 GB. La implementación detrás de Varnish también resulta esencial. Consulte las buenas prácticas en el servidor de producción para obtener más información.

  • Existe un conjunto de proposiciones de mejora, tales como un mayor número de funcionalidades centradas en el usuario, pero consulte también…

  • …las publicaciones de github. Marcamos las publicaciones con la etiqueta suitable for volunteers (adecuada para voluntarios) cuando creemos que son especialmente adecuadas para quien busca una tarea relativamente pequeña a la que dedicarse.

  • Intentamos garantizar que cada modificación confirmada cuente con su publicación correspondiente en el gestor. Así los registros de modificaciones se vuelven más sencillos, pues podemos reunir todos los cambios propios de una actualización concreta respecto a un objetivo intermedio en el gestor de publicaciones, como esta actualización 0.4.

  • Si experimenta problemas de memoria, consulte esta publicación del blog sobre estrategias utilizadas anteriormente.

  • Si edita el código en un Mac, consulte estas notas de instalación en MacOS X.

  • Intentamos seguir unas buenas prácticas similares en todos nuestros proyectos: visite mysociety.github.io para obtener información sobre temas tales como nuestros estándares de código.