Prepárate para el segundo DX Hackday de Symfony

Hace dos meses el proyecto Symfony presentó la iniciativa DX (Developer Experience) para mejorar todos la experiencia de usar Symfony, desde la instalación hasta el paso a producción.

Unas semanas después se organizaba con éxito el primer DX Hackday, que consiguió dar un gran empujón a esta iniciativa. Por eso recientemente se anunció el segundo DX Hackday que se celebrará el sábado 23 de agosto.

Por primera vez, además del core de Symfony este hackday va a tratar de mejorar algunos de los 30 bundles más útiles de Symfony. Como ya comentamos en este artículo el software libre no vive su mejor momento debido a la escasez de voluntarios que sufren la mayoría de proyectos. Así que para que te sea más fácil echar una mano a Symfony, aquí tienes una lista de cosas que puedes hacer según tu nivel de Symfony:

Si eres experto/a en Symfony

  • Busca issues con la etiqueta DX en los repositorios symfony/symfony o symfony/symfony-docs y asígnate aquellos que crees que puedes resolver.
  • Comenta o revisa los pull requests de los issues DX de Symfony o de cualquiera de sus bundles.
  • Entra el sábado en el canal #symfony-dev del IRC de freenode para discutir sobre los issues o echar una mano a quien lo necesite.
  • Crea nuevos issues con el prefijo [DX] si crees que hay que mejorar alguna cosa de Symfony o de sus bundles.

Si eres un usuario normal de Symfony

  • Si nunca lo has hecho, entra el sábado en el canal #symfony-dev del IRC de freenode para conocer a la comunidad y meterte poco a poco en sus conversaciones.
  • ¿Conoces bien algún bundle porque lo utilizas a diario en tu trabajo? Escribe un artículo en tu blog o en el de tu empresa sobre el. Recuerda que la mayoría de usuarios son principiantes, así que cualquier post de cualquier nivel es bienvenido.
  • Crea nuevos issues con el prefijo [DX] en los repositorios de alguno de esos bundles que conoces bien. Crear un nuevo issue de este tipo es muy fácil. Si quieres, puedes utilizar la plantilla tan básica que utilizo yo mismo: ejemplo 1, ejemplo 2.
  • Entra en los repositorios symfony/symfony o symfony/symfony-docs y echa un vistazo a los issues DX que se han creado. ¿Te ha pasado lo mismo alguna vez? ¿Crees que puedes aportar algún punto de vista nuevo? No dudes en comentar en los issues. Y si te preocupa tu nivel de inglés, deberías saber que el 90% de los programadores Symfony no somos nativos en Inglés.
  • Promociona este hackday en tu propio blog o mediante las redes sociales.

Si acabas de empezar con Symfony

  • ¿Tuviste algún problema al instalar Symfony? ¿Qué cosas no te gustan? ¿Hay algo que te parezca demasiado incómodo o difícil? Comenta todos tus problemas en tu blog, en twitter, o en los comentarios de este artículo y háznoslo llegar.
  • Promociona este hackday en tu propio blog o mediante las redes sociales.

Durante el primer hackday, tres miembros de la comunidad hispana hicieron al menos un pull request: Ariel Ferrandini, Christian López y yo mismo.

El caso de Christian es el más significativo. Aunque es un gran experto de Drupal, acaba de aterrizar en la comunidad Symfony, por lo que estaría todavía en la categoría de "aprendices". Aún así, completó un issue de tipo DX, hizo su primer pull request al core de Symfony y ahora en su perfil tiene la medalla Symfony Code Contributor, algo de lo que muy pocos pueden presumir.

Comentarios

  1. Yo mejoraría la subida de múltiples archivos, el Type File no tiene eso considerado y tienes que hacer alguna cosa como añadir tu mismo en la plantilla los dos corchetes [] al nombre. Como no se mucho intenté hacerme algo genérico para no repetir el código de subida de archivos pero pierdo la comprobación por Assert, ya que en verdad estas imágenes no guardo nada en la base de datos, solo guardo la carpeta donde están, en total, perdí un par de semanas intentando hacer esto (seguramente por mi poca sabiduría jaja) algo que por ejemplo en codeigniter lo hice más rápido.

    También mejoraría las traducciones con la base de datos, logre hacer algo pero lo mismo, perdí dos o tres semanas intentando hacerlo, ya no digo con la base de datos en si ya que depende de que estés usando, pero si el generar el formulario, algún ->add('titulo', 'translate', array('languajes' => array('es', 'en',...), 'type' => 'ckeditor')); Yo tengo el mío pero uno hecho por los gurus de symfony no vendría mal, ya que de seguro estara 100000 veces mejor hecho.

    Alberto Vioque Muñoz el 21 de agosto de 2014, 11:57:28

  2. Hola Alberto, no soy un experto en symfony2 pero para el tema de la subida de ficheros y poder reutilizar codigos en entidades podrias hacer un trait que tb acepta anotaciones. Respecto al tema de traducciones en base de datos, esta el bundle https://github.com/lexik/LexikTranslationBundle

    Salu2

    Miguel Garcia el 21 de agosto de 2014, 22:18:35

  3. Hola Miguel, ese Bundle lo que hace es pasar las traducciones de textos estaticos a base de datos para que el usuario pueda traducirlo, yo de lo que hablo es de traducir entidades, si bien he visto algún que otro bundle, estos por lo menos yo fui incapaz de hacerlo funcionar.

    Sobre el traitveo en la documentación que es para PHP 5.4, en mi caso dispongo de la versión 5.3 y no puedo cambiarlo por ahora. De todas formas en symfony declaras en la entidad un atributo para la foto donde le añades un assert que le puedes decir el tamaño, tipo de archivo (si no recuerdo mal), en mi caso no necesitaba exactamente eso, yo tengo una entidad con multiples imágenes, no necesito guardar esa imágenes en la base de datos, solo el directorio donde están, por lo que no se puede usar el assert para asegurarte del tipo de archivo, en la función que me creé es donde debo comprobar por cada imágen todo, tipo de archivo, tamaño... y cada vez que vaya a subir las imágenes o lo que sea, debo decir esos datos como puedes imaginar, al final no me ahorra symfony trabajo.

    Aclaro que no soy muy avanzado en symfony, y no controlo apenas todo esto, puede que exista la manera, pero yo no la he encontrado.

    Alberto Vioque Muñoz el 23 de agosto de 2014, 12:09:16

  4. hello!, Para traducciones también esta el bundle de doctrine extensions, el transtable que automaticamente te devuelve la traduccion segun el lenguaje que estes y te facilita mucho la vida.

    Si para lo de las imagenes es verdad que es un coñazo hacer eso en todas las entidades, yo por ejemplo uso sonataAdminBundle y tiene un bundle que es MediaBundle que te gestiona todo el tema de subidas y te crea thumnails y demas, pero sin sonata nose como se utilizaría. Haber si algun ProSymfony 2 nos comenta alguna buena solucion.

    Miguel Garcia el 24 de agosto de 2014, 0:08:36

  5. Hola, si evidentemente uso doctrine extensions, pero a la hora de hacer tu el formulario se vuelve un poco lío ya que mientras usas la tabla que genera el bundle todo es sencillo, pero si quieres que cada entidad se guarde en su propia tabla translate se vuelve un poco caotico (por lo menos para mi) y ya si le metes que genere un slug único para cada idioma..., no sé, creo que debería existir algo menos complejo.

    Sobre las imágenes, no he utilizado ese bundle, he utilizado el de elFinderBundle, que te genera un ventana para subir archivos y esas cosas, pero esto lo he enlazado a ckeditor, no como un input tipo file, no sé si se podrá hacer algo así, es probable, pero no he tenido tiempo de mirar, como las cosas las quieren para ayer pues... vas matando moscas a cañonazos

    Alberto Vioque Muñoz el 24 de agosto de 2014, 21:48:25

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

21 de agosto de 2014

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.