A week of symfony #171 (5->11 April 2010)

A week of symfony #171 (5->11 April 2010)

Symfony 1.X branch fixed some bugs this week before releasing two new maintainance versions (1.3.4 and 1.4.4). Meanwhile, Symfony 2 added a new component called CssSelector, which allows to parse XML documents with CSS selectors.

Development mailing list

Development highlights

Symfony 1.X branch:

  • r28988: [1.3] fixed upgrade of yaml booleans followed by inline comments
  • r28994: [1.3, 1.4] fixed merging of values from form to field schema
  • r28996: [1.3, 1.4] fixed merge of numeric field defaults
  • r29000: [1.3, 1.4] fixed sfController::actionExists does not work if module is generated with admin-generator
  • r29005: [yaml] released sfYaml 1.0.3
  • Milestone 1.3.4 completed
  • Milestone 1.4.4 completed
  • r29053: [lime] backported error and exception handling from Lime 2. lime now displays warnings, notices and catchable exceptions both when running single tests and when running test suites

Symfony 2.X branch:

  • 14ea..a213: [CssSelector] added the component
  • 5b94..f758: [CssSelector] refactored some tests to use @dataProvider
  • 77f5..40a9: [Foundation] made the Kernel serializable (to avoid weird error messages when used with PHPUnit)
  • dd78..b283: [RequestHandler] fixed assertion in getFormat when format is associated with only one mime-type + phpunit tests
  • 1269..14b6: fixed @throws phpdoc tag


  • r28974: [1.3, 1.4] fixed merging of short syntax model definitions
  • r28976: [1.3, 1.4] added expansion of short listeners syntax when merging schemas
  • r28992: [1.3, 1.4] updated doctrine form filter to check for NULL or an empty string on text and number fields for parity with the propel form filter
  • r28999: [1.3, 1.4] fixed fatal error in WDT when use_database is false but doctrine plugin is enabled


  • r29001: [1.3, 1.4] fixed sfPropelBaseTask should add propel include path by using sf_propel_runtime_path

...and many other changes

Development digest: 108 changesets, 17 bugs reported, 19 bugs fixed, 3 enhancements suggested, 1 enhancement closed, 8 documentation defects reported, 2 documentation defects fixed, and 10 documentation edits.


New Job Postings

  • Symfony developer at Barton Studio, s.r.o. - full-time based in Pilsen, Czech Republic - Contact: info [at] bartonstudio [dot] cz

New developers for hire

  • Jacek Zelasko: I am а web developer with 11+ years of experience in website development. My qualification is confirmed by numerous certificates. I have done many projects in the Symfony Framework. Don't hesitate to contact me, I speak Polish and English.


  • New plugins
    • epifonyCrawlerPlugin: the aim of epifonyCrawler is to imitate a web search engine to spider your site and add the pages to a Lucene index using the excellent Zend Lucene library.
    • sfAlyssaSmsPlugin: allows to send sms through different service providers. The current provider implemented is a web service from TextMagic.
    • sfAlyssaDoctrineObjectPathPlugin: adds ObjectPath support to Doctrine. This syntax makes it very easy to do sorting and filtering on foreign fields. ObjectPaths are dot-seperated relation-names that relate from one object to another and this behavior translates the objectPaths to table-aliasses.
    • jmsGoogleClosurePlugin: provides some tools to ease development with Google's Closure Tools (http://code.google.com/closure/).
    • WebPurifyPlugin: wraps the WebPurify web service in a symfony validator so it is easy to prevent profanity from being entered your system.
  • Updated plugins
    • csDoctrineActAsGeolocatablePlugin: added expansion of decimal places for latitude/longitude
    • sfImageTransformPlugin: support for relative paths using realpath, added check to make sure image is readable, updated roundedCorners and alphaMask transforms
    • sfImageTransformExtraPlugin: removed sfImageAlphaMaskGD and sfImageRoundedCornersGD and related tests as they are now part of sfImageTransformPlugin, symlinks will now be followed in removePattern, implemented removal task for generated images, added propel mock classes, moved doctrine mock classes to correct structure, implemented all but one test for propel
    • sfDoctrineRestGeneratorPlugin: fixed bug in validation of required parameters in GET request
    • sfAssetsLibraryPlugin: almost finished functional tests, added integration with admin events
    • sfDataSourcePlugin: added support for sfAlyssaDoctrineObjectPath, implemented required method by interface
    • swBaseApplicationPlugin: removed mgI18nPlugin calls
    • sfSphinxPlugin: fixed wrong internal reference, fixed wrong function call
    • sfReCaptchaPlugin: improved README, refactored main form, added form for Propel and Doctrine
    • sfPhpunitPlugin: added helper method getStub, simplified stubs creation, AllTests.php in test/phpunit allow us to run all tests using standart phpunit command, removed phpunit's native cli arguments (instead of it use phpunit test/phpunit/AllTests.php)
    • sfEasyAuthPlugin: updated the README
    • sfForkedDoctrineApplyPlugin: added missing string (23) to italian sfForkedApply catalogue, added possibility to override ApplyForms with their customised instances, updated README, custom apply form can now use custom names
    • sfRediskaPlugin: merged changes from Ivans updates, updated documentation
    • sfUnobstrusiveWidgetPlugin: fixed image path in ddsmoothmenu javascript
    • sfFormI18nNumberPlugin: fixed a problem in the widget, added functional tests for the widget
    • sfRedisPlugin: implemented Doctrine_Cache_Driver::_getCacheKeys, made Doctrine result cache work
    • sfLightboxPlugin: update for 1.0.12 version
    • sfTCPDFPlugin: updated README and examples, modified return sfView::NONE to throw sfStopExecution, tested plugin with TCPDF 4_9_011 (2010-04-07), modifications to fit symfony cs, extended with callbacks for header and footer functions added magic functions
    • sfBBCodeParserPlugin: updated package for sf 1.3 and 1.4, updated README
    • sfErrorNotifierPlugin: adding check for __toString method on objects in user attributes
    • apostrophePlugin: apostrophe:deploy now triggers apostrophe:migrate on the remote host after doctrine:migrate, removed redundant getGlobalButtons call, Rename page, fixed double-escaping in rename page form, activeInfo in aNavigation components is now more flexible and will handle false values, fixed browse history revisions bug, media routes are now UTF-8 compatible, updated the aOverrides call in aUI so that it checks for the function and calls it if it exists, fixed flagging button js from double-triple injecting its wrapper after an ajax update, fixed sortable tabbed navigation
    • apostropheBlogPlugin:
      • renamed theme aAdminAlt to aBlogAdmin
      • refactored module specific code for dropdowns into aBlogAdmin theme
      • added code for module aEventAdmin
      • fixed routing issue for new posts and events
      • ported aBlog code to aEvent
      • added aEventSingleSlot
      • added autosave to aEventAdmin
      • created aEventSlot
      • fixed routing error with blog_categories
      • list actions now pulled from generator.yml using routes
      • changed parameters in categoryAdmin generator.yml
      • schema changes for separate post and event categories
      • separation in forms between blog and event categories
      • new events and posts are now are created with a rich text slot
      • started working on the editSuccess sidebar functionality
      • moved cufon call to site.js
      • working through the Publish/Unpublish button
      • don't show template options if only one template is available
      • removed author field from form
      • BlogEvents were not properly being filtered by tag
      • Slug needs to be unique for aBlogCategory
      • removed author field from aBlogItemForm
      • cleaned up optionsForm cruft
      • search indexing works now
    • sfSympalPlugin: added cache priming, given the ability to specify false for the recaptcha form value, changed the identification of content type models in the config from their slug to their name, simplified the sfSympalConfig::writeSetting() method, removed deprecated functionality from the create-site task, removed code in cache manager that was reimplemented in the configuration class, removed the helper autoloader capability, moved all of the content type config under the key content_types, removed comments and blog from test project, added blog and comments in the test project as submodules
    • sfSympalAdminPlugin: removed bad calls to setCurrentMenuItem(), fixed the wrong value being passed to getFullTypeQuery()
    • sfSympalPagesPlugin: moved the page type config into sfSympalPagesPlugin and made the body inline edit, added edit_mode into the app.yml
    • sfSympalUpgradePlugin: added upgrade script
    • sfSympalCMFPlugin: fixed reference to content template's slug, removed plugin_name from sfSympalContentType, fixed getContentTemplates() for new location of content_type config
    • sfSympalAssetsPlugin: fixed an error thrown in the admin in certain cases realated to the original for assets
    • sfSympalPluginManager: passed the configuration to the uninstall task (this will make logging consistent if it needs to be called), reworked some tests, added a very basic unit test for the plugin toolkit

New symfony powered websites

  • VilePeLitoral.ro: (Russian) A website about the Black Sea coast accommodation
  • Nachhilfe gesucht? Nachhilfe geben?: (Deutsch) find and and post tutoring offers
  • Diet2Go iPhone App: (English) one of its kind iPhone weight-loss application
  • Javascript Questions: (English) A site for urgent questions about Javascript. Developers can offer cash prizes in exchange for getting fast answers.
  • PHP Emergency: (English) A site for urgent questions about PHP. Developers can offer cash prizes in exchange for getting fast answers.
  • Symfony Experts: (English) A site for urgent questions about Symfony. Developers can offer cash prizes in exchange for getting fast answers.

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.