A week of symfony #156 (21->27 December 2009)

This is the last weekly summary of 2009, the greatest year ever for symfony project. Presumably, 2010 will be even a better year, due to the release of Symfony 2.0 and the maturity of symfony components.

Development mailing list

Development highlights

  • r25809: [2.0] [Foundation] added support for multiple everything
  • r25932: [lime] the summary output and the TAP output now share the same class for determining whether the test has failed
  • r25934: [lime] the annotation-aware lexer is now able to deal with PHP 5.3 closures
  • ...and many other changes

Symfony components

  • dependency injection:
    • r25710: [2.0] added more accessors in BuilderConfiguration
    • r25711: [2.0] fixed convertDomElementToArray when a tag is empty
    • r25722: [2.0] fixed a bug when there is a comment in an XML extension configuration file
    • r25769: [2.0] removed usage of array_map() as when an exception occurs the error message is cryptic

Development digest: 232 changesets, 32 bugs reported, 7 bugs fixed, 5 enhancements suggested, 2 enhancements closed, 10 documentation defects reported, 18 documentation defects fixed, and 49 documentation edits.


New symfony bloggers


  • New plugins
    • sfLinkedinProfilePlugin: displays LinkedIn profile in popup or as inline widget.
    • ybRunTaskPlugin: allows you to run a task within an action, just like you'd be doing in a task.
    • sfWurflPlugin: bridges the symfony Web PHP Framework and the WURFL PHP API.
    • tdVisitorCounterPlugin: provides funcionalities for easy visitor counting feature, including schema, libs, interface and a flash panel to display latest visiting stats.
    • sfMenuPlugin: (no description)
    • tdVisualFactoryPlugin: provides funcionalities for uploading pictures into separate albums using additional features, such as configurable multiple sizes, watermarks, etc.
    • sfChristmasSnowPlugin: adds a Christmas Snow effect to your site.
    • dmFlowPlayerPlugin: allows to read video, sound and flash medias. It packages a Diem front widget, and extends the £media capabilities.
    • tdCorePlugin: provides basic functionalities enabling TD CMS, such as common configuration or random data generation.
  • Updated plugins
    • diemPlugin:
      • implified and cleaned media embedding
      • added 50 unit tests
      • fixed DmAdminNewMediaFolderForm when creating a media on the root folder
      • improved dmDatabaseLoremizer compatibility with sqlite
      • removed cache on DmMedia relative path
      • added 120 unit tests for media library and more than 400 general unit tests
      • refactored and fixed DmMediaFolder model
      • made dmModule->getAssociations more robust
      • made the test project more complex
      • removed history link from new record form
      • made admin links more robust when given a bad source
      • fixed database dsn generation
      • fixed installer for windows servers
      • enhanced diem plugins creation
      • fixed config files order
      • improved admin generator
      • removed deprecated tasks
      • added a test plugin in the test project
      • removed direct_actions cache
      • fixed sortable behavior for activable records and added unit tests
      • removed migration detection from dmSetupTask
      • added Diem infos in config web debug panel
      • added search engine inner documentation about cron updates
      • improved search engine event logging
      • created dmSitemapUpdateTask
      • added seo synchronization tests
      • added DmAutoSeoTable->findOneByModuleAndAction method
      • refactored loremizer services (now way better, faster and safer)
      • disabled jquery cdn by default
      • improved dmModuleManagerConfigHandler performances
      • removed dmDoctrineRecord static dependencies
      • fixed bugs and improved performances in dmDoctrineRecord
      • fixed bug in javascript configuration
      • fixed bug in synchronization threads
      • added shortcut methods in all action and components according to the Law of Demeter
      • made dmMicroCache cache attribute protected instead of private
      • fixed warning in dmInlineAssetConfigHandler
      • added dmContext->filterTemplateParameters method to add a dm_page variable in all templates
    • npAssetsOptimizerPlugin: enhanced documentation, fixed custom service class configuration, refactored architercture to ease extendability, fixed bugs in the optimization task, refactored drivers system, added more unit tests
    • sfDoctrineGraphvizPlugin: added support for inheritance
    • sfPaymentPlugin: reorganized browser class files, reorganized gateway classes and interfaces and updated the implementations, added basic interface for a basket, fixed interface names in the both routing class and the transaction interface, fixed interface names related to the form base class sfPaymentFormAbstract, sfPaymentTransactionGatewayAbstract now implements the browser handling and generic configurations
    • sfDoxygenPlugin: fixed doxygn version task for >= 1.3
    • sfSocialPlugin: refactored UI to use jQuery instead of YUI
    • sfDoctrineApplyPlugin: fixed the plaintext version of reset password emails didn't have the username, less ambiguous formatting, documentation acknowledges 1.3/1.4 compatibility
    • mgI18nPlugin: fix is_translated detection
    • sfExcelReaderPlugin: preparing relase for symfony 1.4
    • sfSympalPlugin:
      • ripped out YUI and started to replace everything with jQuery
      • removed old jquery version and admin menu code
      • enhanced interface of admin generator with jQuery
      • fixed configuration form
      • removed old and useless events
      • added a few significant performance improvements
      • made sfSympalCache use sfApcCache by default if apc is enabled
      • removed use of components when un-necessary for big performance increase
      • added back event for configuration form
      • disabled check for upgrades on dashboard by default
      • removed use of array access as it causes issues when output escaping is on
      • removed concept of content templates as they are overkill and not necessary
      • added help for template fields and fixed help padding to line up with the fields
      • optimized the select of menu query to be more specific about the data it retrieves
      • more work on tests
      • re-implementing custom admin generator theme to tweak things as needed
      • added several fixes for i18n
      • fixed issue with inline editing when i18n is enabled
      • initial entry of simpler admin gen search feature
      • enhanced inline editing and sympal admin menu
      • added ability to configure page caching through Sympal and web interface
      • cleanup and moved code from sfSympalPlugin to appropriate plugins
      • fixed issue with inline editing js errors and invalid arguments for setFlash
      • simplified some things without losing functionality to improve performance
      • added id to sorting urls to allow multiple data grids per page
      • fixed sfSympalDataGrid paging to allow multiple data grids per page
      • added change language dropdown to inline edit bar
    • sfTaskLoggerPlugin: updated README
    • csSettingsPlugin: addressed fixes for symfony 1.4
    • sfSympalBlogPlugin: updated blog plugin for 0.7 after removing content templates
    • zsToolboxPlugin: removed integer size option to make compatible with sf 1.3/1.4
    • sfAdminDashPlugin: fixed pl translation
    • sfPhpunitPlugin: added some usability improvements, several interfaces\methods renamed, add Doctrine fixture support, updated init proccess, added task for generatin simple stub class, changes in model\functional test creation, all testcases and suite must have extension .php not .class.php
    • sfPropelMigrationsLightPlugin: preparing release that supports symfony 1.2
    • pkContextCMSPlugin: reorganize tool backend now refuses to move a page such that it becomes a child or peer of one of its descendants, pkContextCMS:repair-tree task is now a viable way to recover if the Doctrine nested set hierarchy is somehow damaged
    • dsExtDirectPlugin: verified support for symfony 1.3/4, added JSON format generation for Ext Direct API spec 1.0.1
    • sfImageTransformPlugin: fix for alpha transparency with GD and gif files, refactored the transforms to make them more DRY and removing sf prefix, added callback transform
    • cleverFilesystemPlugin: added the possibility to clear the local cache
    • sfFormYamlEnhancementsPlugin: initial import
    • dmWidgetGalleryPlugin: updated README

New symfony powered websites

  • MyBuilder.com: (English) is an online marketplace that brings builders and homeowners together, offering an sophisticated platform that promotes and supports high-quality work
  • Tom's Gutscheine: (Deutsch) coupons and voucher portal
  • WP Questions: (English) a site for urgent questions about WordPress. 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.

A week of symfony #156 (21->27 December 2009) symfony.com/blog/a-week-of-symfony-156-21-27-december-2009

Tweet this


sfMenuPlugin: (no description)

What's the use of such a plugin entry? Some quality standards should apply to every plugin listed in the directory. How should we use a plugin with no description at all? It's not the only entry with no description.
Speaking of components, what's going on with the "Request Handler"? Will there be a PHP 5.2 version of it?
In this blog, news about some plugins is presented in a "bulleted list" format. News about other plugins is presented in paragraph form, with commas between items, even if there were line breaks, asterisks, etc. for each item in the original svn commit from which the news items were taken.

How can we ensure that entries about our plugins (such as pkContextCMSPlugin) use the bulleted list format?

@Zuzanna, I totally agree with you and I think that it should be mandatory to give at least some description for the new plugins.

@Tom, let me explain how we show plugin activity:

1) The new/updated plugins are listed chronologically (not alphabetically and not ordered by popularity)

2) Minor updates are usually ignored (typos, CSS tweaks, etc.)

3) If the plugin has 15 or less updates, they are shown as a paragraph. If the changelog of the plugin has more than 15 updates, it’s shown as a list.

We took this decision because it’s very hard to read changelogs of plugins such as diemPlugin and sfSympalPlugin as paragraphs.

Anyway, 15 is just an arbitrary figure, so please feel free to suggest any improvement in the format of “week of symfony” posts.

Comments are closed.

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