A week of symfony #90 (15->21 september 2008)

Very busy week for symfony: completed the integration of Doctrine in symfony 1.2 (including a new symfony + doctrine book), symfony 1.1.2 bugfix version released, new filtering system based on the form framework and lots of new plugins released.

Development mailing list

Development highlights

  • r11558: [1.2] Added sfDoctrinePlugin to svn externals
  • r11567: [1.2] forced GET method for sfRequestPropel if no sf_method requirements is provided
  • r11575: [1.2] sfRequestRoute sf_method defaults to get or head
  • r11591: [1.2] added group support to select checkbox and select radio widgets
  • r11593: [1.1, 1.2] fixed widget charset when charset is changed in settings.yml
  • r11599: [1.2] added sfComponent::generateUrl()
  • r11600: [1.2] added allow_empty for object route
  • r11612, r11613: [1.1, 1.2] fixed sfValidatorChoice and sfValidatorChoiceMany can evaluate strings as int using PHP in_array() function
  • r11616, r11617: [1.1, 1.2] fixed Criteria alteration problem in sfValidatorPropelChoice and sfValidatorPropelChoiceMany
  • r11618, r11619: [1.1, 1.2] fixed sfPropelData::loadDataFrom doesn't behave correctly with composite primary key
  • r11621, r11622: [1.1, 1.2] fixed sfForm::mergeForm() doesn't merge widget schema labels
  • r11629: [1.2] Lots of phpDoc updates
  • Milestone 1.1.2 completed
  • r11644: [1.2] added a way to enable/disable plugins
  • r11667: [1.2] improved the way to enable/disable plugins
  • r11668: [1.2] added a multiple option to sfValidatorChoice
  • r11671: [1.2] added sfValidatorDateRange and sfWidgetFormDateRange
  • r11674: [1.2] added the new filtering system based on the new form framework
  • r11679: [1.2] changed some sfFormFilterPropel method signatures
  • r11683: [1.2] deprecated the culture option for the sfValidatorI18nChoiceCountry and sfValidatorI18nChoiceLanguage validators
  • r11686: [1.2] added an add_empty option to i18n widgets country and language
  • r11689: [1.2] fixed widgets so that they always render the value attribute
  • r11691: [1.2] added some randomness when generating a file name in the sfValidatedFile class
  • r11694: [1.2] added user.change_authentication event to sfBasicSecurityUser
  • r11697: [1.2] added sfRouting::getCache
  • r11700: [1.1, 1.2] changed internal classes to always use the sfCultureInfo singleton
  • r11701: [1.2] added sfForm::hasErrors()
  • Updated dwhittle branch
  • ...and many other changes

Development digest: 160 changesets, 51 defects created, 38 defects closed, 10 enhancements created, 9 enhancements closed, 12 documentation defects created, 5 documentation defects closed and 46 documentation edits.

Book and documentation


  • New Job Postings:
    • Symfony Developer @ Kodekin - freelancer or part-time contract based in Vitoria-Gasteiz, Spain (flexible working hours and remote working possible) - Contact: rrhh [at] kodekin [dot] com
    • Senior Developers @ Dailymotion - full-time based in Paris, France - Contact: jobs [at] dailymotion [dot] com
  • New symfony blogger:


  • New plugins
    • sfWmdPlugin: integrates the WMD markdown editor in Symfony as another rich text editor
    • sfPayflowProPlugin: interfaces with the Payflow Pro payment system. Easily create a connection to the Payflow servers, and process credit card payments.
    • sfInPlaceImageUploaderPlugin: a helper for uploading images and automatically see the thumbnail of the uploaded image without refreshing the page
    • sfMySQLDumpPlugin: acts as a wrapper for mysqldump (umps, gzip's and emails database contents)
    • sfSearchEnginePlugin: allows you to provide search tasks such as from creation, data validation, criteria modification, result displaying, pagination etc. in easy and flexible way
    • sfEasyGMapPlugin: provides helpers and an object-oriented PHP abstraction to the Google Maps API to ease the process of adding a Google Map and customising it in your symfony projects
    • Upcoming plugins: sfDoctrineActAsTaggablePlugin, sfSimpleTestPlugin
  • Updated plugins
    • sfDoctrinePlugin: created 1.1 branch, changed getCulture() and setCulture() to getCurrentCulture() and setCurrentCulture(), removed autoload.yml as it is not needed, updated README and minor change to default doctrine.yml, added new doctrine:enable task for enabling Doctrine as the orm for an application, removed schemas config handler, fixed sfValidatorDoctrineUnique doesn't work for single fields, fixed error message parameter %value% is lost in the sfValidatorDoctrineUnique.class.php, re-added autoload.yml as it appears it is at least needed for Doctrine lib classes, fixed issue with sfDoctrineException, implemented I18n support to sfDoctrineRecord similar to how sfPropel integrates with sfUser for current culture, removed deprecated code from sfDoctrineDatabase, backported web debug, routing, crud and widget 1.2 sfPropelPlugin changes, fixed issue with toString() and I18n fields, adding condition around config.php contents so it is only executed if doctrine is set as the default orm, allowing setting of Doctrine connection attributes from config/databases.yml, removed doctrine.yml, adding method for configuring Doctrine via the configuration classes, add sf_orm setting in sfDoctrinePlugin, initial models and actions for new CMS system, fixed foreign keys don't appear as dropdown if the column name is ised instead of the field name
    • sfExtjsThemePlugin: split up top toolbar similar to the other classes, fixed credentials for toolbar buttons, added generation of action button handler_function partials, fixed a bug with using built in actions, fixed bug where button partials were being created for _spacer and _text actions, added param.ClassName?.params options for param.gridpanel, param.tabpanel, param.filterpanel, param.datastore and param.toolbar_top, implemented chained combobox's in the filterpanel, implemented twin trigger combos in the filterpanel, added Ext.statemanager to filterpanel combo's and checkbox's
    • DbFinderPlugin: fixed true condition with PostgreSQL, fixed generated admin column setters for Doctrine
    • sfPropelPlugin:
      • [migration]: added more documentation, began column modification API, removed unnecessary methods from base class
      • [trunk]: changed Propel initialization to occur only if the user ORM is Propel, add sf_orm setting in sfPropelPlugin, added a multiple option to sfValidatorPropelChoice, allow to update a non 'real' column with a customized method in sfFormPropel + removed dependency on sfToolkit, added the new filtering system based on the new form framework
    • sfExtjs2Plugin: added ComboBox
    • sfDoctrineGuardPlugin: created 1.1 branch, fixed method case typo in sfSecurityGuardUser::signIn(), fixed signin_form configuration in app.yml is not used
    • sfMogileFSPlugin: created branches, added mogilefs:add task
    • sfSimpleBlogPlugin: added Doctrine schema, advances in Doctrine compatibility, removed custom admin theme, fixed missing posts in admin, calling a non-existing method throws a fatal error in PHP, not an exception
    • sfSearchPlugin: created i18n branch
    • sfStatsPlugin: turned README into Markdown
    • sfFeed2Plugin: fixed response content-type encoding

Some new symfony powered websites

  • Numismaticon.com: (multilanguage) numismatic catalog and portal
  • LocVideos: (english) web 2.0 YouTube mashup application providing location specific videos

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.


Comments are closed.

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