A week of symfony #188 (2->8 August 2010)

Despite being mid-summer, symfony development never stops. This week, Symfony2 fixed several DoctrineBundle bugs, updated/simplified all of its PHPdoc and renamed annotation to tag in the DependencyInjection Container.

Development mailing list

Development highlights

Symfony 1.X branch:

  • r30527: [1.3, 1.4] fixed usage of sleep
  • r30530: [1.3, 1.4] fixed path when a project is created on Windows and used on Linux
  • r30563: [1.3, 1.4] fixed sfWebController::redirect method does not respect HTTP specification

Symfony 2.X branch:

  • 86b5538: [DoctrineBundle] removed old and unused services defined in xml. The services are defined in PHP extension now
  • 88c7427: [FrameworkBundle] removed Controller::getMailer() method (just use ->container['mailer'
  • 1a9f2ca: updated PHPDoc as the API tool knows about the current use statements
  • e931825, a113c2b: [HttpFoundation] populate $_SERVER with HTTP headers when calling Request::overrideGlobals()
  • 8275034: [DependencyInjection] fixed class load order. Fixed a bug that caused a 'Cannot redeclare class Symfony\Components\Routing\RouterInterface' fatal error when booting the Symfony kernel with a populated class cache
  • 84229f0: [HttpKernel] removed SQLite3 read-only flag
  • ee2ff39: removed @package and @subpackage annotations
  • b9199cb: [FrameworkBundle] added validation in XSD
  • a3fc1be, c9001f3: [DoctrineBundle] updated to only load default settings once. Fixed a bug that caused DoctrineBundle to load default settings for every parsed config file rather than just the first. This caused imported files to be override by default values
  • 3b1c7e5: [DoctrineBundle, DoctrineMongoDBBundle] updated tests to work when both bundles are enabled. When running Symfony2 unit tests with DoctrineBundle and DoctrineMongoDBBundle enabled, tests failed with class redeclaration errors for YamlBundle, XmlBundle, and AnnotationBundle. Fixed these test bundles to use fully qualified namespaces
  • 51ae607: [DoctrineMongoDBBundle] added default cache service to xml
  • d876ea0, eb8b764: [HttpKernel] fixed wrong usage of sleep()
  • 82e440c: [DoctrineMongoDBBundle] added "default_database" attribute to DI extension
  • 8f21e5d: allowed default_database to be configured per document manager
  • 355ed9b: renamed annotation to tag in the DIC


  • r30526: [1.3, 1.4] updated russian and ukrainian translation for the admin gen
  • r30529: [1.3, 1.4] fixed Swift_PropelSpool when the message is stored in a GLOB column

...and many other changes

Development digest: 102 changesets, 14 bugs reported, 15 bugs fixed, 3 enhancements suggested, 1 enhancement closed, 4 documentation defects reported, 1 documentation defect fixed, and 14 documentation edits.


New Job Postings

New developers for hire

  • David Morales: is a developer based in Barcelona (Spain) with 10+ years of web development experience. Working with Symfony since the 0.6 version, he has lately developed two big portals of classified ads (one of them multi-country and multi-language) and one social network with blogs and e-shop. He is always learning the latest tendencies, like HTML5, mobile javascript, and iOS/Android development.
  • Idael Software: is one of the few swiss Symfony specialist. Working on Symfony/JQuery project since 2008 for small and medium companies but also for bigger accounts. We also integrate document management system based on Alfresco with Symfony frontend and we provide Symfony consultancy and education.

New symfony bloggers


  • New plugins
    • sfMondongoPlugin: Plugin for using Mondongo with Symfony. Mondongo is the simple, powerful and ultrafast Object Document Mapper for PHP and MongoDB.
    • pmDoctrineGeneratorPlugin: decouples the admin generator and the forms framework by delegating the module behavior to the form. Also, adds to the admin module the show action.
    • ddOnlineStorePlugin: provide models, modules, and other features to manage a real online store.
  • Updated plugins
    • lyMediaManagerPlugin: added a file to configure TinyMCE with an external Javascript, updated README with instructions on how to configure the plugin to act as TinyMCE file browser, fixed redirection urls for file upload and folder creation actions in file browser popup
    • cleverFilesystemPlugin: fixed several loop errors in the media adapters
    • sfErrorNotifier2Plugin: fixed critical bug, improvements and code refactoring, refactored message conception, added message helper, decorators and phpunit tests, ability to ignore some errors and exceptions, backported to symfony 1.0
    • pmPropelGeneratorPlugin: bugfix on the helper
    • axCronPlugin: added a new configuration
    • sfRedisPlugin: sfPager implementation for lists, sfPager implementation for sorted sets (with min/max filter support), rewrote sfPager + Doctrine + Redis pager, added tests, sfRedisZsetDoctrinePager constructor takes model as first argument, updated README for pager, fixed bug in sfRedisZsetDoctrinePager::findObject
    • sfErrorNotifierPlugin: the alert now contains also info about the client, taken into account the case when there is not a user object, improved the documentation
    • xtDojoPlugin: new plugin release with new features and fixes
    • sfPropel15Plugin: fixed issue with filters for boolean columns in Oracle
    • ahDoctrineEasyEmbeddedRelationsPlugin: let it work with multiple dimensions and remove the todo for it
    • sfJqueryTreeDoctrineManagerPlugin: created a main class for the plugin to add static methods, refactor in the main helper file, added a new configuration param to specify the route to "back to root", fixed a bug in the _nested_set_list.php partial, now the edit url in the context menu is more customizable
    • sfAlyssaJqGridPlugin: fixed sorting of data when clicking on column header, added a parameter to handle rows to be showed, added new widget for boolean values in a grid
    • sfPhpunitPlugin: better work with plugin tests. and plugin tests to AllTest.php, init version of the plugin for symfony 1.0
    • sfDoctrineGuardPlugin: fixed login with email address
    • dvbNewsletterPlugin: small schema change, small configuration bug in generator, completed user story B01 (create a newsletter), no more subscriber model, using sfGuardUser instead
    • fpFilePlugin: added fixtures
    • sfDoctrineActAsTaggablePlugin: documented the new tag widget renderer, filter tags array for empty tags, fixed schema in order to get a vaid yml syntax, fixed ActAs documentation for schema.yml, documented "link_function" option to tag_cloud(), created a renderer for tag widgets that provides user friendly tag editing features, added tag-input classname to the input for the new tag widget so that it is compatible with pkTagahead if necessary, found a bug in some logic in the component.class, fixed a bug with the new tag widget
    • sfDoctrineTreePlugin: removed callback calls to tree models functions: customizeTreeSelectForDeleteQuery(), customizeTreeUpdateQuery(), customizeChildToAdd(), all database operations are now made using only model, merged _tree.php partial with _nested_set_list.php partial, links to "Expand All" and "Collapse All" moved to root's node context menu, drags now will be saved to server automatically after every drag by ajax, removed useless code on user side Java Script and on server side PHP sources, improved PHP and JavaScript source code quality too, dramatically improved error handling on user and server side scripts quality, updated REAME file to include latest version features and deprecated things in upcoming version, fixed issue with tree CRUD when it have only root node (no children yet) is drag-drop-folder-tree.js, improved error handling in components.class.php, added dots to messages of exceptions
    • sfGridPlugin: added parameter to handle the amount of rows
    • apostrophePlugin:
      • fixed aFeed slot the posts limit option is a number but it has quotes around it in the baseComponents class
      • new app_a_search_hard_limit option prevents out of memory errors when searching very large sites
      • PDF dimension checks (aImageConverter::getInfo()) now have a 5-second hard time limit via a wrapper script that watches ghostscript
      • alphabetized the categories in the multiple select drop down so that it's easier to scan when a larger number of categories are present
      • removed twoColumnTemplate from app.yml sample
      • fixed empty domReady functions were being output for no good reason
      • fixed the widget param for the crop image in the crop workspace
      • aDoctrineRoute now supports passing engine-slug as a parameter
      • fixed single image cropping in cropping branch
      • made file extension list overridable for Media Library
      • apostrophePlugin is now compatible with sf_escaping_strategy: true
      • cropping is now available in the media repository

New symfony powered websites

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.


So much for the spam filter

Comments are closed.

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