Caution: You are browsing the legacy symfony 1.x part of this website.

Día veinticuatro del calendario de symfony: Qué es lo siguiente?

1.0
Language

Anteriormente en symfony

Durante veintitrés días, hemos estado construyendo una aplicación web 2.0 en PHP5 con el framework symfony. Ayer fue el último paso del desarrollo de askeet, y es completamente compatible con i18n. Si vas a www.askeet.com, lo que verás es 3 días (24 horas) de duro trabajo con symfony. Como puedes ver, la aplicación está lista para responder a tus preguntas sobre chocolate, sexo, astronomía, o programación en PHP.

Pero más allá de esto, askeet es un proyecto open source, y lo que venga después es, espero, una larga historia.

Úsalo

El sitio web de askeet está abierto al público. Puedes anunciarlo y hablar sobre él a tus amigos y parientes. Algunas de las contribuciones de prueba se borrarán, pero la mayoría de las preguntas y cuentas de usuario existentes permanecerán. Askeet es una gran herramienta para encontrar respuestas - provistas para que muchos usuarios las visiten. Así que difunde la palabra.

Abrir una cuenta es rápido y fácil, y tan solo requiere un nombre de usuario, una clave, y un email. Esto te permite declarar interés en las preguntas, hacer nuevas preguntas, y votas las respuestas. La dirección de email no será usada para ningún tipo de publicidad, nunca.

Subscribirse a los feeds RSS te mantiene informado sobre las últimas preguntas, o sobre las respuestas a las preguntas que hagas.

Askeet también puede ser una forma de ganar dinero, ya que los perfiles de los usuarios se pueden enlazar a una cuenta Paypal. Si un usuario encuentra tus contribuciones útiles, él/ella puede agradecértelo haciéndote una pequeña donación.

Con todo, no hay una buena razón para no usar askeet cada día. Sería un gran placer para nosotros si añades el sitio a tus favoritos, lo visitas regularmente, y contribuyes con preguntas y respuestas.

Instálalo

Askeet es algo más que un sitio web, es un proyecto open source. A día de hoy, askeet ya puede ser descargado e instalado en cualquier sitio. La versión de hoy está etiquetada como 1.0, es libre para ser usada, adaptada, personalizada e integrada en aplicaciones de terceros.

Esto es técnicamente posible porque askeet está basado en PHP5 y symfony, y es legalmente posible porque askeet es un proyecto open source en sí mismo, publicado bajo licencia MIT.

Descargar

Para instalar askeet, tienes dos opciones:

  • Descargar la versión 1.0 en un archivo .tgz desde el sitio web del proyecto symfony
  • Hacer un checkout de la versión 1.0 desde el repositorio SVN a tu directorio askeet.

Tendrás un proyecto symfony, listo para funcionar tan pronto como lo configures en tu servidor web.

Nota: se puede navegar online por el código completo en el trac de askeet.

Documentación

Los 24 tutoriales del calendario de symfony estarán disponibles online en la web del proyecto symfony.

Si quieres traducirlos a otro idioma, puedes descargar la versión Markdown de los tutoriales. Estaremos encantados de alojar cualquier traducción de los tutoriales de askeet en nuestra web. El sitio de symfony usa el conversor Markdown que se encarga del formateo, la inclusión de medios y el coloreado de la sintaxis. Así que tan solo envíanos una versión traducida del Markdown, llamado a los mismos medios, codificada en utf-8, y la publicaremos.

note

Antes de comenzar una traducción, por favor escribe un post en el foro de askeet para que dos personas no empiecen una misma traducción al mismo tiempo. Y por favor envíanos los capítulos de uno en uno tal como los traduces, así el contenido podrá estar disponible lo antes posible.

Estructura de ficheros

Tras descomprimir el archivo del proyecto askeet, obtendrás una lista de directorios que es el típico árbol de directorios de un proyecto symfony. Esto se explica en detalle en el capítulo de estructura de ficheros del libro de symfony.

En el momento de la versión 1.0, el proyecto askeet contiene una aplicación (llamada 'frontend') y 11 módulos:

modules/
  administrator
  answer
  api
  content
  feed
  mail
  moderator
  question
  sidebar
  tag
  user

Modelo de datos

Askeet es compatible con MySQL, PostgreSQL, Oracle, MSSQL, y todas las bases de datos para las que exista un driver Creole. Aquí está el modelo de datos de la aplicación askeet en la versión 1.0:

ERD

Puedes encontrar una consulta SQL que añadirá estas tablas a cualquier base de datos en askeet/data/sql/schema/sql.

Hay un conjunto de datos de prueba en askeet/data/fixtures/. Si quieres usarlo para rellenar tu base de datos, llama a:

$ php batch/load_data.php

...desde el directorio raíz del proyecto.

Contribuye

La aplicación askeet es un proyecto open source vivo. Así pues, esperamos que continúe mejorando, pero necesitamos ayuda para ello.

Askeet ha sido desarrollado por Fabien Potencier, que además es el desarrollador jefe del proyecto symfony. Ya que el framework ya representa una cantidad importante de trabajo, las contribuciones de los entusiastas de askeet son necesarias para mantener el proyecto vivo. Y hay mucho que hacer! Si eres un desarrollador interesado en contribuir a askeet, echa un vistazo a la siguiente lista de tareas:

  • Características adicionales:
    • Diseños alternativos para proponer más de una presentación. Esto es principalmente un trabajo de diseño gráfico y de CSS.
    • Captchas contribuidos por usuarios, bajo una sencilla pregunta (como "¿cuántos dedos ves?"), para evitar spam automático en las preguntas.
    • Vista previa de las preguntas antes de la publicación para evitar grandes faltas de ortografía.
    • Confirmación del registro de usuarios por email (opcional)
    • Auto-identificación (con una cookie)
    • Feed RSS de reportes para los Moderadores
    • Paginación Ajax de las contribuciones/intereses en la página del perfil del Usuario
    • Algoritmo popular para que las preguntas de la página principal puedan cambiar en el tiempo
    • ...
  • Consolidación del proyecto:
    • Pruebas unitarias
    • Documentación del código en formato PHP doc
    • Instalación manual

Además, hay o debería haber errores por detectar, seguir y corregir.

Para mejoras y errores, por favor usa el sistema de tickets de askeet. Puedes seguir la pista a todos los cambios de askeet consultando la línea de tiempo del proyecto regularmente.

Todas las contribuciones son bienvenidas. A los contribuidores habituales con un buen entendimiento del proyecto se les otorgará rápidamente permiso para hacer commit al repositorio SVN.

Finalmente, si quieres discutir sobre askeet, puedes elegir entre la sección del foro de askeet en la web del proyecto symfony, o el wiki dedicado en trac.askeet.com/trac/wiki.

Reconocimientos

Fabien Potencier (desarrollador jefe de askeet y symfony)

François Zaninotto (escritor de los tutoriales) quisiera dar las gracias a John Christopher por su gran ayuda al releer cada uno de los tutoriales para mantener un buen inglés, a Bruno Klein por su trabajo en el diseño de askeet, y a su esposa por la increíble paciencia y tolerancia mostrada durante 24 días...

Nos veremos pronto

Eso es todo. Ha sido un placer desarrollar y escribir esto para vosotros, esperamos que askeet viva mucho tiempo y que muchos de vosotros comiencen a usar symfony para sus proyectos web.

Feliz Navidad a todos.