A week of symfony #142 (14->20 September 2009)

As symfony 1.3 release slowly approaches, lots of fixes, changes and tweaks are committed to its branch. This week, symfony 1.3 gained YAML 1.2 compatibility and a new experimental optimization layer.

Development mailing list

Development highlights

  • r22013: [1.3] enhanced YAML upgrade task to attempt an upgrade of booleans to 1.2 spec and attempt to force 1.1 spec if upgrade fails
  • r22018: [1.2, 1.3] fixed number validators default min/max error messages
  • r22019: [1.2] disabled the routing cache in the default factories.yml as this is the best option for most projects
  • r22036: [1.3] fixed sfDatabaseSessionStorage does not allow sf*Database class to be extends (reverted)
  • r22048: [1.3] fixed moving target issue in form upgrade task
  • r22066: [1.3] updated view.configure_format event to always fire (despite if request defines format)
  • r22067: [1.3] added default_format option to the request (maintains bc)
  • r22080: [1.3] changed the default rsync options for the project:deploy task
  • r22116, r22123: [1.3] added more log in the YAML upgrade class to allow for better debugging in case of YAML parsing errors and made upgrading YAML files more robust
  • r22118: [1.3] added status information in the response debug information
  • r22119: [1.3] added the web debug toolbar on exception pages in the dev env
  • r22120: [1.3] converted i18n widgets to use the choice base widget instead of the select one
  • r22140: [1.3] moved min/max options to sfValidatorChoice
  • r22149: [1.3] added a check for sfCallable in regex validator, added protocols option to url validator, moved email pattern to class constant
  • r22170: [1.3] removed sf_module_dirs usage in the application configuration as it was never documented (can be simulated by overriding the class)
  • r22173: [1.3] disabled view panel if no actions or partials have been processed
  • r22180: [1.2, 1.3] fixed possible notices when cache or cache parameters are not set (for example for sfNoCache)
  • r22202: [1.3] added an experimental optimization layer
  • r22208: [1.3] fixed username and password not sent to mailer transport
  • sfDoctrinePlugin:
    • r22025: [1.2, 1.3] fixed missing div in admin generator used in css styles
    • r22073: [1.3] updated doctrine form generator's inheritance detection to recognize custom base model classes
    • r22083: [1.3] added application of default attributes to doctrine plugin initialization
    • r22086: [1.3] updated doctrine form generator inheritance detection to work with models defined via Doctrine_Record_Generator
  • sfPropelPlugin:
    • r22025: [1.2, 1.3] fixed missing div in admin generator used in css styles
  • ...and many other changes

Symfony components

  • dependency injection:
    • r22015: fixed static constructor without argument PHP dumper
    • r22115: added the ability to pass several resources in the ::load() method of loader classes
    • r22127: replaced is_null() usage by null ===

Development digest: 218 changesets, 19 bugs reported, 46 bugs fixed, 6 enhancements suggested, 12 enhancements closed, 3 documentation defects reported, and 23 documentation edits.


New developers for hire

  • Acilia: software development company based on Madrid (Spain). We cover all aspects of the web projects if needed, including Design, SEO and Usability. For our developmets we use Symfony combined with Open Source tools.


  • New plugins
    • sfSQLToolsPlugin: Task to execute SQL files with triggers, procedures and events in order. Compatible with any kind of database engines.
    • sfDynEnvPlugin: (no description)
    • szSelectCulturePlugin: advanced user culture selector.
    • sfYQLPlugin: this plugin tries to make easier the access to Yahoo! Query Language web services.
    • sfImagesOnDatabasePlugin: intends to bring a solution for storing images on database using the symfony framework. These images can be subsequently retrieved as normal files stored on file system.
  • Updated plugins
    • pkToolkitPlugin: tweaked suggested fixtures, pkUrl::addParamsNoDelete() variant does not delete fields with empty values from the URL
    • pkContextCMSPlugin: Login, layout.php is once again a serious candidate to be a sitewide layout, home and default templates correctly override Symfony slots rather than including subnav directly when wanted, cmstest now has suitable groups and permissions as a starting point for a site with many editors, added basic Punk theme to jsTree
    • pkMediaCMSSlotsPlugin: default image behaves more like a real selected image would for purposes of the link feature
    • pkImageConverterPlugin: added short, nonstandard, but occasionally useful test program for pkImageConverter which was used to validate the GD support, built-in type sniffing to work around limitations of some versions of anytopnm
    • swCrossLinkApplication: fixed cache issue, added note on format
    • cleverFilesystemPlugin: initial commit
    • diemPlugin:
      • dmStylesheetCompressor & dmJavascript Compressor are now decoupled and extensible
      • removed deprecated classes dmStaticHelper, dmFrontRoutingConfigHandler
      • improved performance on dmAdminPluginConfiguration & dmFrontPluginConfiguration
      • improved performance loading sfService classes manually
      • fixed some dependencies in many parts, replace singleton static instance request by sfService request
      • moved front routing to dmFrontPlugin routing.yml file
      • improved global decoupling using sfServiceContainer and sfEventDispatcher
      • added dmThemeManager and dmTheme to sfServiceContainer
      • improved theming capabilities
      • improved dmAssetConfigHandler performances
      • removed references to Symfony 1.3 deprecated stuff
      • fixed admin list foreign records widget
      • added more precise timer to dmWebDebugPanel (Symfony timer does not measure all request time)
      • fixed admin table referers automatic sorting interface generation
      • fixed admin table referers widget default sorting
      • moved asset configuration to classes managed by sfServiceContainer
      • removed deprecated dmAssetFilter classes
      • improved global performance by disabling timers on prod environment
      • fixed markdown editor on admin
      • improved markdown javascript compression
      • fixed zone rendering bug on dmFrontPageEditHelper
      • removed all sfContext::getInstance() and related in dmMediaResource
      • added unit-tests for dmMediaTag classes
      • huge code refactoring (decoupling, extensibility, testability and performance improvements)
      • added link subframework to service container
      • fixed admin module space page show modules without routing configuration
      • added getBaseFromUrl and getDataFromUrl static methods to dmString class
      • made dmDoctrineRecord->getDmMediaByColumnName more robust
      • made service container available in dmForm instances and dmHtml instances
      • added clearStylesheets and clearJavacripts methods to dmWebResponse
      • added action log managed by service container and event dispatcher
      • added log abstract classes and refactored user log and action log to use them
      • removed admin generator dependency to page tree watcher using event dispatcher
      • added connectService method to service containers
      • fixed admin form checkbox javascript controller
      • removed service container dependency from widget view classes
      • improved performances in dmFrontLayoutHelper class
      • added ajaxified action log on admin homepage
      • edited admin routing to make edit routes shorter
      • modified join alias names on dmDoctrineQuery and dmDoctrineTable automatic joins
      • improved performances and fixed dependencies in page model and widget model
      • added late enabled check in asset compressors to allow user to disable them programatically in a controller
      • added script name resolver to service container
    • sfJqueryFormValidationPlugin: prepared sfJqueryFormValidation plugin for YAML spec 1.2, added dmSearchEngine and dmSearchIndex to sfServiceContainer, removed deprecated dmLogger classes, added method dumpServiceContainer() to dmContext, allowed to delete a page in front edition, added page_add, page_edit and page_delete permissions, implemented automatic sorting with foreign's table identifier column in admin, removed fancy ajax autologin for security reasons, applied Symfony 1.3 and Doctrine 1.2 evolutions
    • sfShibbolethPlugin: don't spew warnings if REMOTE_USER is undefined
    • swToolboxPlugin: updated master/slave mysql options, updated README
    • ncPropelChangeLogBehaviorPlugin: added missing Javascript helper on ncchangelog/showSuccess template, ncPropelChangeLogBehavior::getNNRelatedChangeLog() no longer returns an empty array in case the related object doesn't have any changes
    • sfDomPDFPlugin: fixed sfDomPlugin to some extend
    • sfPropelActAsRatableBehavior: fixed missing group by clauses for database compatibility
    • sfJqueryReloadedPlugin: added csrf protection
    • sfDoctrineGuardPlugin: created some new admin pages to help manage the system, sfGuardSecurityUser:: properties are now declared protected to ease extensibility, updated yaml for boolean strictness
    • iaBotControlPlugin: complete rewrite for sf 1.2, added garbage collection task
    • sfCryptoCaptchaPlugin: removed 'fonts' dir from web/dir
    • sfGuardPlugin: created branch for symfony 1.3
    • pkMediaPlugin: use addParamsNoDelete to make it possible to remove every item from a slideshow
    • sfImageTransformPlugin: fixed loadString method for ImageMagic adapter, added grayscale transform for imagemagick
    • ysfOpenPlugin: updated opensocial libraries, added opensocial unit tests, imported the latest yahoo social sdk for php5, added ysfApplicationWebRequest that makes it easier to manage yahoo app platform requests, refactored plugin configuration + added autoload, added debug panel for YQL
    • sfEasyAuthPlugin: updated documentation, the base easy auth action now doesn't clear the sf_easy_auth.restricted_url attribute, users are redirected to the right place on logging out
    • sfFilebasePlugin: removed error when identifying absolute pathnames with backslashes
    • sfDynamicsPlugin: updated jQuery UI library, added more error check and exceptions if supercache directory does not exist, fixed supercache problem under windows platform
    • mgI18nPlugin: massive refactoring
    • ysfYUIPlugin: refactored yui web debug panel (for yui3 console + filters)

New symfony powered websites

  • CrossPrice: (Russian) ukrainian shops catalog
  • internOwl: (English) a website for students to create and research reviews of different internships as well as find internships

They talked about us

Help the Symfony project!

As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.

A week of symfony #142 (14->20 September 2009) symfony.com/blog/a-week-of-symfony-142-14-20-september-2009

Tweet this


@Javier Eguiluz: Thank you for (always) very good summary of latest development!
Is the admin generator going to get a any new features for 1.3?
@Fabian, thanks for your comment...and for reading it :)

Comments are closed.

To ensure that comments stay relevant, they are closed for old posts.