Una semana con Symfony #29 (21->27 enero 2008)

Domingo, 3 de febrero de 2008

Durante esta semana, se publicó la versión 1.0.11 de Symfony, que soluciona 21 errores conocidos y supone otro hito completado en la rama 1.0.X. Por su parte, Symfony 1.1 ha introducido una novedad importante para poder marcar las variables como seguras para ser mostradas en las plantillas. Además, también se ha presentado el plugin sfFormExtraPlugin, que incluirá validadores, widgets y formularios que no se van a incluir en la distribución estándar de Symfony porque son muy específicos o porque tienen dependencias externas.

Cambios significativos en el código fuente

  • r7120: [1.1] añadida una opción para marcar las variables como seguras para ser mostradas en las plantillas
    • añadida una nueva clase para decorar variables llamada sfOutputEscaperSafe
    • añadidos los métodos sfOutputEscaper::markClassesAsSafe() y sfOutputEscaper::markClassAsSafe() para marcar las clases como seguras para ser mostradas
    • la clase sfForm es segura por defecto
    • actualizadas las plantillas del generador de la parte de administración de las aplicaciones
    • añadido un tercer argumento al método sfComponent::setVar() para añadir valores seguros
  • r7123: [1.1] eliminado el directorio data/model que ya no se utiliza
  • r7124: [1.1] solucionado un error de setDefaults() cuando la protección contra CSRF está activada
  • r7127: [1.1] eliminadas las tareas generate:batch y generate:plugin (generate:batch está obsoleta porque es mejor crear tareas y generate:plugin no tiene sentido)
  • r7131: [trunk] añadidos los cambios de la rama 1.1
  • r7140: [1.1] solucionado el error que hacía que se cargara dos veces la configuración de la base de datos
  • Completada la versión 1.0.11
  • r7147: [1.1] solucionado un problema de rendimiento con las claves externas en los formularios generados mediante Propel, añadidos 2 validadores (sfValidatorPropelChoice, sfValidatorPropelChoiceMany), añadidos 2 widgets (sfWidgetFormPropelSelect, sfWidgetFormPropelSelectMany)
  • r7151: [1.1] ahora es posible que una clave externa valga 0 en el generador de la parte de administración
  • r7152: [1.1] corregida la gestión de errores globales de formulario
    • añadido el método sfWidgetFormSchema::getGlobalErrors()
    • añadido el método sfForm::renderGlobalErrors()
    • mejorado sfFormField::renderError() para que incluya todos los errores globales
    • corregida la plantilla editSuccess.php
  • r7153: [1.1] solucionados los errores del validador por defecto de las claves primarias de los formularios generados mediante Propel
  • r7180, r7181: [1.1] el mensaje mostrado por una excepción no pasaba por el mecanismo de escape
  • r7182: [1.1] convertido el código de salida de Phing en una excepción
  • r7183: [1.1] eliminados los archivos de datos de map/om/sql/forms
  • Updated dwhittle branch: removed module layout in view.yml, added options for charset/queries/pdo options for sfPropelDatabase (1.3) + updated test + changed default databases.yml, merged propel 1.3 changes, fixed i18n handling for propel 1.3, tweaked writeCacheFile to use file locking (fixes potential race condition), enabled default options for checking symfony version/cache lock, tweaked tests
  • …y muchos otros cambios

Resumen de la actividad de desarrollo: 83 changesets, 24 nuevos defectos, 6 defectos corregidos, 8 nuevas mejoras solicitadas, 1 mejora incorporada, 5 nuevos defectos en la documentación, corregido 1 error en la documentación.

Lee el resto de este artículo »

Comenta este artículo »

Una semana con Symfony #28 (12-20 enero 2008)

Lunes, 28 de enero de 2008

El revolucionario mecanismo de formularios de Symfony 1.1 continúa su mejora con nuevas características, corrección de errores y otros ajustes. Crear un sistema de formularios modélico, incorporar algunas de las mejores ideas de otros frameworks y asegurar su calidad y flexibilidad es una tarea muy costosa pero que definitivamente merecerá la pena.

Cambios significativos en el código fuente

  • r7044: [1.1] solucionado un problema de sfValidatorErrorSchema::addErrors() cuando el nombre del error es un número entero
  • r7045: [1.1] corregidos los métodos sfFormField::render*() para los widgets que heredan de otros widgets
  • r7046: [1.1] terminados todos los métodos intermedios de sfWidgetFormSchemaDecorator
  • r7047: [1.1] dividido sfFormField en sfFormField y sfFormFieldSchema
  • r7049: [1.1] añadidas pruebas unitarias para sfWidgetFormSchemaDecorator::clone()
  • r7051: [1.1] solucionado un error al clonar los objetos sfWidgetFormSchema, sfValidatorSchema y sfForm
  • r7052: [1.1] corregido sfValidatorSchema::clone() para los pre-validadores y los post-validadores
  • r7053: refactorizada la forma en la que se incluyen los formularios, validadores y widgets
    • sfWidgetFormSchema ahora clona a los widgets que se incluyen
    • sfValidatorSchema ahora clona a los validadores que se incluyen
    • sfForm::embedForm() y sfForm::embedForEach() han eliminado el argumento que hacía referencia al formato del nombre
    • Eliminado el primer argumento del constructor de sfWidgetFormSchemaForEach
  • r7055: [1.1] solucionado un error en los formularios Propel generados con relaciones muchos a muchos
  • r7071: [1.0] modificada la descripción errónea de la opción check_lock
  • r7081: [1.1] solucionados los errores de sfValidatorDate con los arrays vacíos
  • r7105: [1.1] refactorizado sfBasicSecurityFilter para que tenga más flexibilidad al extender la clase
  • r7106: [1.1] comentadas algunas reglas de reescritura de URL en el archivo .htaccess por defecto para que sea posible tener puntos (.) en las reglas de enrutamiento
  • r7107: [1.1] añadidas las pruebas unitarias en sfEscapedViewParameterHolder y sfViewParameterHolder
  • r7109: [1.1] añadidas más pruebas unitarias en sfOutputEscaper
  • Actualizada la branch de dwhittle: solucionados algunos problemas con las factorías, añadidos los cambios de Propel 1.3 y mejoras en las excepciones
  • …y muchos otros cambios

Resumen de la actividad de desarrollo: 84 changesets, 17 nuevos defectos, 4 defectos corregidos, 7 nuevas mejoras solicitadas, 5 nuevos defectos en la documentación, corregido 1 error en la documentación y 22 modificaciones en la documentación.

Documentación

Wiki

  • Nuevas ofertas de trabajo Symfony:
    • Programador Symfony en YiGG GmbH – jornada completa en Munich, Alemania – Contacto: jobs [at] yigg [dot] de
    • Programador Symfony en Nexio Technologies – jornada completa en Montreal, Canada – Contacto: ddube [at] nexio [dot] com
    • Programador Symfony en umdiewelt.de – prácticas en Würzburg, Alemania – Contacto: martin.gaedeke [at] umdiewelt [dot] de
    • Programador Symfony y programador de Flash Action Script – Contacto: ashley.dawson [at] niddocks [dot] co.uk
    • Programadores PHP en ZeroBubble – jornada completa en Rotterdam, Holanda – Contacto: joost [at] zerobubble [dot] nl
  • Nuevo programador Symfony disponible para contratar:
    • Sameer Arora: “I have been developing symfony based projects for more than a year now. I have over 3 years of experience working as a Web Developer. My skill sets are PHP, Mysql, HTML, Data Modelling etc. I Would be interested in freelancing projects. Based in Melbourne, Australia.”

Plugins

  • Nuevos plugins
    • sfPropelActAsCountableBehaviorPlugin: permite añadir contadores a los objetos Propel, y es útil sobre todo para mostrar las veces que se ha visualizado un contenido
    • sfMenuGeneratorPlugin: generador de estructuras de menús sencillos. Se puede configurar tanto a nivel de aplicación como de módulo
  • Plugins actualizados
    • sfExtjsThemePlugin: mejorado el editor, añadidas nuevas funcionalidades de ExtJs, mejorada la carga de las páginas de edición en diferentes paneles
    • nahoWikiPlugin: primeras pruebas para la internacionalización, optimizadas algunas consultas de Propel, añadida la gestión básica de permisos, los namespaces, la navegación basada en migas de pan (breadcrumbs), los slots y el soporte de enlaces entre diferentes wikis, publicadas las versiones 0.1 y 0.1.1
    • cvUrlMoverPlugin: la redirección ahora lanza la excepción cvUrlMoverRedirectException
    • sfI18nExtractPlugin: publicada la versión 1.0.5 (corregidos 2 pequeños errores)
    • sfDoctrinePlugin: actualización para ser compatible con Symfony 1.1, ahora svn:external apunta a la versión 0.9 de Doctrine
    • sfLucenePlugin: la versión ahora es una constante de la clase sfLucene, se han reorganizado algunas variables (sfLucene::$parameters ahora sólo contiene parámetros y no objetos), mejoradas las categorías (menos escrituras en disco, ya no se muestra una notificación sobre los índices no definidos), sfLuceneCriteria->addField() convierte números enteros en cadenas
    • sfPropelActAsPolymorphicBehaviorPlugin: corregido un error en la tarea propel-load-pm-data
    • sfHamlViewPlugin: añadidas algunas estructuras switch/case para los casos en los que el parseador de Haml debe tener especial cuidado
    • sfMarkdownPlugin: mejorado el archivo README para añadir más explicaciones sobre su uso
    • sfCssTabsPlugin: añadidas carpetas para Symfony 1.0 y 1.1, añadido el soporte para i18n, publicada la versión 0.1.7

Nuevos sitios web creados con Symfony

Artículos sobre Symfony publicados en blogs de todo el mundo

2 comentarios »

Una semana con Symfony #27 (7->13 enero 2008)

Lunes, 14 de enero de 2008

Esta semana ha sido una de las más tranquilas que se recuerdan en lo que respecta al desarrollo del framework. No obstante, se ha registrado una actividad importante en los plugins y las ofertas de trabajo relacionadas con Symfony también crecen de forma considerable.

Cambios significativos en el código fuente

  • r6987, r6988: [1.0, 1.1] solucionado un error con la caché en el entorno de producción
  • r6990: [1.1] ahora los valores y archivos erróneos de los formularios se guardan en arrays
  • r6991: [1.1] solucionado un problema en el validador de esquemas cuando un campo se llama 0
  • r7010: [1.1] solucionado un error de la tarea configure:database cuando el archivo databases.yml está vacío
  • r7011: [1.1] mejorado el mensaje que muestra la excepción de sfCallable
  • Actualizada la branch dwhittle: mejoras en las excepciones, modificadas las factorías para utilizar la cache APC por defecto y otros cambios menores
  • …y muchos otros cambios

Resumen de la actividad de desarrollo: 53 changesets, 18 nuevos defectos, 4 defectos corregidos, 2 nuevas mejoras solicitadas, 1 mejora incorporada, 4 nuevos defectos en la documentación, corregidos 2 errores en la documentación y 24 modificaciones en la documentación.

Documentación

Wiki

  • Nuevas ofertas de trabajo Symfony:
    • Programador Web en WorldWeb Interactive – jornada completa en Kolding, Dinamarca – Contacto: job [at] wwi [dot] dk
    • Programador Symfony en Abansys & Hostytec S.L. – jornada completa en Valencia, España – Contacto: rrhh [at] tusprofesionales [dot] es
    • Programador Symfony en una empresa de nueva creación en el Silicon Valley – teletrabajo – Contacto: tliadsiobb [at] farifluset.mailexpire.com
    • Programador PHP en The NetCircle – jornada completa en Shanghai, China – Contacto: claude [at] thenetcircle [dot] com
    • Programadores PHP en Ibuildings – jornada completa en Amsterdam, Vlissingen y Sittard, Holanda – Contacto: saskia [at] ibuildings [dot] nl
  • Nuevos programadores Symfony disponibles para contratar:
    • John Grimsey (john [at] johngrimsey.co.uk): “London (UK) based PHP developer, 6+ years experience. Four Symfony projects deployed to date.”
    • MoCo, Inc.: “a full service marketing company dedicated to agile web development and the open source movement, based in Minneapolis, MN.”
    • Ibuildings: The PHP Professionals: “The Netherlands and UK-based company. We provide web application development, consultancy and education. Official partner of Zend.”
    • Stefan Koopmanschap (stefan [at] ibuildings.nl): “developing in symfony since 2005, developing in PHP since 1997. Experienced Zend certified developer who is also available as consultant or for projects.”
  • Nuevos blogs sobre Symfony:

Plugins

  • Nuevos plugins
    • sfForms11Plugin: permite utilizar el mecanismo de formularios de Symfony 1.1 en las aplicaciones desarrolladas con Symfony 1.0.
    • sfPropelSqlDiffPlugin: genera un archivo de tipo diff.sql, que contiene las diferencias entre la estructura definida en el archivo schema.yml y la estructura actual de la base de datos
  • Plugins actualizados
    • ddAccessibleFormPlugin: ahora utiliza SF_JQUERY_WEB_DIR si está definido en vez de su propio jQuery
    • sfExtjsThemePlugin: deshabilitados los mensajes de los eventos, mejorado el nombrado de las variables de tipo JavaScript, solucionados algunos problemas con los valores no cargados en las listas desplegables y solucionados muchos otros errores menores
    • dkAntispamPlugin: las expresiones regulares que se utilizan para detectar el spam se han trasladado al archivo de configuración
    • sfDoctrinePlugin: actualización para utilizar la branch 0.9 de Doctrine, ahora se puede enviar una instrucción de tipo DQL como opción del helper object_admin_xxx
    • sfMDB2RestPlugin: añadido un método en el cliente para obtener la URL del servidor que se está utilizando en cada momento
    • sfJobQueuePlugin: añadida información de log en sfJobHandler
    • sfPropelActAsRatableBehaviorPlugin: añadida la traducción al francés de todos los mensajes, añadido un archivo de prueba llamado app.yml-sample, añadida la opción de configuración cookie_prefix
    • sfAuthorizeNetPlugin: actualizada la clase para poder utilizar el id y la clave de la API, añadidos métodos getter y setter para añadir atributos propios en las transacciones
    • sfPropelActAsCommentableBehaviorPlugin: añadida la traducción de los mensajes al francés, mejorado el rendimiento mediante la cache del nombre del autor
    • sfPropelActAsPolymorphicBehaviorPlugin: añadida un tarea llamada propel-load-pm-data para cargar la información de los archivos de datos manteniendo la información de las claves polimórficas
    • sfGeocoderPlugin: solucionado un error en la forma que Google Maps maneja las ciudades
    • sfLucenePlugin: añadida la opción de bloquear el comportamiento de Propel
    • sfJqueryPlugin: ahora se carga el archivo jquery.js antes que el resto de archivos de JavaScript
    • sfGuardDoctrinePlugin: añadido un archivo de seguridad en cada módulo, añadido un archivo de datos para asignar todos los permisos
    • nahoWikiPlugin: corregidos algunos errores menores
    • Actualizada la documentación de sfExtjs2Plugin, sfAdvancedAdminGeneratorPlugin

Nuevos sitios web creados con Symfony

  • ALL-TLD GmbH: (german) webhosting & DomainNameServices company located in Mannheim (BW)
  • www.hma-info.de: (german) site of a reenactment group portraing medieval life in the 13th century

Artículos sobre Symfony publicados en blogs de todo el mundo

Comenta este artículo »

Una semana con Symfony #26 (31->6 enero 2007)

Martes, 8 de enero de 2008

El nuevo año ha traído consigo el mismo ritmo frenético de desarrollo de Symfony y sus plugins. La futura versión Symfony 1.1 continúa mejorando el nuevo mecanismo de los formularios y también ha refactorizado por completo el generador de la parte de administración. Además, durante esta semana Symfony ha alcanzado otro increíble hito: la calidad de su código fuente está garantizada por más de 7000 pruebas unitarias.

Cambios significativos en el código fuente

  • r6857: [1.1] corregido un error al ejecutar una tarea con opciones
  • r6859: [1.1] corregidas las pruebas unitarias de cache:clear
  • r6867: [1.1] corregida la información phpdoc y algunos errores en el código fuente
  • r6870: [1.1] corregidos algunos problemas relacionados con los entornos de ejecución dentro de las pruebas unitarias
  • r6873: [1.1] corregido un error con las claves externas cuando una columna no es obligatoria
  • r6875: [1.1] corregidos algunos casos especiales de sfValidatorDate
  • r6882: [1.1] refactorizado el generador de la parte de administración de las aplicaciones para que sea compatible con el nuevo mecanismo de formularios
  • r6933: [1.1] añadida la tarea configure:database
  • r6937: [1.1] renombrado sfValidatorAll a sfValidatorAnd y sfValidatorAny a sfValidatorOr
  • r6938, r6939, r6940, r6941: [1.1] refactorizado el archivo prove.php
  • r6942: [1.1] reemplazados _pre_validator y _post_validator por los métodos setPreValidator() y setPostValidator()
  • r6944: [1.1] añadidos los métodos sfForm::setValidators() y sfForm::setWidgets()
  • r6945: [1.1] añadidas pruebas unitarias para todos los validadores
  • r6946: [1.1] solucionado un problema con el relleno automático de datos para los widgets de fecha y hora
  • r6965: [1.1] solucionado un problema con los formularios generados mediante Propel cuando una tabla tiene varias claves externas que hacen referencia a la misma tabla externa
  • r6968: [1.1] añadida la opción “arguments” en sfValidatorCallback
  • r6973: [1.1] añadida una nueva sintaxis abreviada para los archivos de datos (fixtures)
  • r6975: [1.1] ahora, cuando se produce un error de tipo 404, se lanza una excepción en el entorno de desarrollo y se muestra una página en el entorno de producción
  • r6978: [1.1] añadida la tarea configure:author
  • Actualizada la branch dwhittle
  • …y muchos otros cambios

Resumen de la actividad de desarrollo: 136 changesets, 10 nuevos defectos, 12 defectos corregidos, 7 nuevas mejoras solicitadas, 1 mejora incorporada, 1 nuevo defecto en la documentación, corregido 1 error en la documentación y 29 modificaciones en la documentación.

Documentación

Wiki

  • Nuevas ofertas de trabajo Symfony:
    • Programador Symfony en Streamsys – jornada completa en Bruselas, Bélgica – Contacto: info [at] streamsys [dot] com
    • Programador Symfony en Game Asset Trading – teletrabajo o presencial en Vancouver, Canadá – Contacto: jobs [at] gameassettrading [dot] com
  • Nuevos programadores Symfony disponibles para contratar:
    • WaleUp: “is a Manhattan based web development and interactive design firm specializing in complex Information Systems based on Symfony framework”
    • Yelloweb: “is a Midlands (UK) based company with wide experience using the wonderful symfony php framework”
    • Forma-Pro: “web Development Company based in Ukraine that have been working in outsourcing for 7 years already”
  • Nuevo blog sobre Symfony:

Plugins

Nuevos sitios web creados con Symfony

Artículos sobre Symfony publicados en blogs de todo el mundo

Comenta este artículo »

Una semana con Symfony #25 (24->30 diciembre 2007)

Martes, 1 de enero de 2008

Este es el último resumen semanal del año 2007, un año increíble para Symfony. El próximo año 2008 será incluso mejor gracias al lanzamiento de varias nuevas versiones de Symfony, la creación de cientos de plugins y la publicación de miles de sitios web creados con nuestro framework favorito.

Cambios significativos en el código fuente

  • r6690: [1.1] añadido el método sfWebRequest::getPreferredCulture()
  • r6713: [1.1] simplificada la configuración de sfCompat10Plugin
  • r6721: [1.1] eliminado el archivo de configuración i18n.yml (la configuración de i18n se ha trasladado al archivo factories.yml y la cultura por defecto se establece en settings.yml)
  • r6723: [1.1] creadas pruebas funcionales para el mecanismo de escape de la vista
  • r6727, r6728: [trunk, 1.1] ahora en el archivo de log se guarda el nombre del módulo y de la acción cuando una acción no existe
  • r6740, r6741: [1.0, 1.1] solucionado un error con las secuencias en postgresql
  • r6748: [1.1] añadido el archivo sfValidatorFile (añadido el soporte de archivos en los formularios creados con sfForm, eliminados todos los métodos relacionados con los archivos en sfWebRequest, trasladados los mime_types a sfCompat10Plugin)
  • r6761, 6762: [1.0, 1.1] solucionado un error con el charset en los contenidos que no son de texto
  • r6763, r6764: [1.0, 1.1] solucionado un error de la clase sfPager que afecta al método haveToPaginate()
  • r6768, r6769: [1.0, 1.1] ahora se guardan en la cache los tipos MIME en sfWebRequest
  • r6805: [1.1] añadido un parámetro al método sfPropelDatabase::initialize()
  • r6822: [1.1] la configuración de mailer.yml se ha trasladado a la configuración de sfCompat10Plugin
  • r6824: [1.1] eliminado el archivo php.yml, reemplazado por check_configuration.php
  • r6825: [1.1] eliminada la comprobación date_default_timezone_get
  • r6834: [1.0, 1.1] (provisional) añadido un repositorio de pruebas de rendimiento para realizar pruebas de rendimiento a cada lanzamiento de Symfony
  • Actualizada la branch dwhittle: refactorizada la integración de propel 1.3, añadido un log de las conexiones de sfPDODatabase, modificado el método sfCore::callBootstrap
  • …y muchos otros cambios

Resumen de la actividad de desarrollo: 152 changesets, 14 nuevos defectos, 34 defectos corregidos, 11 nuevas mejoras solicitadas, 21 mejoras incorporadas, 4 nuevos defectos en la documentación, corregidos 18 errores en la documentación y 3 modificaciones en la documentación.

Documentación

Wiki

  • Nuevas ofertas de trabajo Symfony:
    • Programador Symfony – teletrabajo – Contacto: dennyd [at] triple-d [dot] us
    • Programadores Symfony/PHP en GNETWORKS(M) – jornada completa en Kuala Lumpur, Malasia – Contacto: ganesan [at] gnetworks [dot] co [dot] jp
  • Nuevos programadores Symfony disponibles para contratar:
    • Pieter Vogelaar (ps.vogelaar [at] platinadesigns.nl): “freelance PHP5 developer (also XHTML/CSS/XML/AJAX) with about 5 years of experience. I live in Zoetermeer, Netherlands (Europe). I know all about the Symfony framework and have some knowledge about other PHP frameworks to.”
  • Nuevos blogs sobre Symfony:

Plugins

  • Nuevos plugins
  • Plugins actualizados
    • sfLucenePlugin: reformateado el código fuente del sistema de indexación, añadidas nuevas pruenas unitarias, mejorados los parámetros de sfLuceneHighlighterFilter, nuevo sistema interno de eventos (cada instancia de sfLucene tiene un dispatcher de eventos para realizar las tareas de log y los mixins)
    • sfExtjs2Plugin: actualizado a la versión Extjs 2.0-final,  añadido el método _build_datas, reemplazadas todas las llamadas a call_user_func y todas las llamadas sfExtjs2Plugin:: por self::, añadidas nuevas clases (Ext.Template, Ext.XTemplate, Ext.grid.GridView, Ext.grid.GroupingView, Ext.grid.EditorGridPanel, Ext.grid.RowSelectionModel y Ext.PagingToolbar), añadido el manejo de los valores de tipo null
    • sfPropelActAsCommentableBehaviorPlugin: ahora se incluye el helper de i18n
    • sfJqueryPlugin: añadido el soporte de dataType de JSON
    • sfExtjsThemePlugin: trasladados algunos parámetros de la aplicación a app.yml, modificado el parámetro object_action del listado en generator.yml por el parámetro object_context_menu, ahora se utilizan algunos métodos de sfExtjs2Plugin para generar código de Extjs, mejoradas las acciones de tipo listado
    • sfPropelFileStoragePlugin: corregido el archivo README para que haga referencia a enabled_modules en vez de activated_modules
    • sfDoctrinePlugin: ahora se pueden manejar datos de tipo ENUM en los filtros de la parte de administración
    • sfGeshiPlugin ha cambiado de nombre por dkGeshiPlugin
    • Actualizada la documentación de sfDoctrinePlugin 1.1

Nuevos sitios web creados con Symfony

Artículos sobre Symfony publicados en blogs de todo el mundo

Comenta este artículo »