After the great success of the first Symfony2 online conference, this week the development activity has been focused on its code refactorization. Dependency Injection has been completely refactored, and unit tests, the routing resources and some Foundation files have been reorganized.

Development mailing list

Development highlights

Symfony 1.X branch:

  • r30008: [1.3, 1.4] fixed usage of shell_exec when the function is disabled
  • r30031: [1.3, 1.4] added prevention of injected directory traversal in view cache

Symfony 2.X branch:

  • 220f8ce: moved getProfile() from the WebTestCase to the Client
  • 28c1fb2: [Foundation] reorganized files
  • 898adc6: created a new collectors.xml file for a better separation
  • a26bdb7, 2722da2: [DomCrawler] removed redundant methods
  • d8efe7e: [Yaml] fixed UTF-8 bug
  • 95769bc: [FoundationBundle] removed the request.base_path parameter (the DIC can now be immutable)
  • 59c1ebe: [FoundationBundle] moved Helper to Templating
  • c98c733: [Tests] removed the inclusion of bootstrap.php as this is not needed
  • 9895eaf: refactored DependencyInjection Container
  • e578dfd: [DomCrawler] added some tests
  • aa697d8: added Bundles and Extensions in the list of resources to monitor in dev environment
  • 87ae06c: [Routing] refactored resources
  • 244c202: reorganized unit tests
  • 53847ca: [DoctrineBundle] fixed interface to reflect a change upstream
  • 04e621a: [Yaml] added support for the end of document marker

...and many other changes

Development digest: 87 changesets, 20 bugs reported, 5 bugs fixed, 3 enhancements suggested, 1 enhancement closed, 4 documentation defects reported, and 1 documentation edit.

Documentation

Plugins

  • New plugins
    • axCronPlugin: This plugin aims to create a scheduler to start cron tasks.
    • hnApePlugin: Helpers to connect to the Ajax Push Engine ape-server from your symfony application.
    • sfWidgetFormJqueryRatingPlugin: Provides a jQuery rating widget with stars - based on jQuery Raty Plugin.
  • Updated plugins
    • lyMediaManagerPlugin: added some functional tests, made asset list (icons view) sortable by asset name or date, fixed error in thumbnail selection from TinyMCE image browser, added paging to assets list (icons view), added functional tests for sorting and paging of assets list
    • sfProjectAnalyserPlugin:
      • added alert "Maximum number of actions that should contain a module"
      • added alert "Maximum allowed code length for an action"
      • applied the html style of the symfony2 check script
      • refactoring to keep analysis coherent for all objects
      • added a config key check with a "howto" if it can't be found
      • added a report summary with the numbers of errors by severity
      • modified getAlerts() to take care of alert status (same for countAlert)
      • fixed an issue when same modules in multiple applications
      • now the parsing of same named modules into different applications is possible
      • added an alert for functions without docblock
      • corrected docblock length calculation
      • added internal codes for each alerts
      • added an alert for functions with "sfContext::getInstance" calls
      • check_context_get_instance var missing
      • added alerts for too big modules templates or partials
      • added count of modules templates and partials
      • refactored the way alerts are processed
      • added alerts for modules empty templates or partials
      • a demo module is now provided, it includes an example of each kind of alert
      • added a Javascript folding system to have a cascade display
      • now a "false" parameter can be use to desactivate an alert (instead of putting a treshhold)
      • fixed missing module generic alerts call
      • display module line in red if actions or modules have alerts
      • added count of code and templates length by project, application, module
    • spyMenuPlugin: rewrite code with configCache and handler, configHandler optimisation
    • sfExtjsThemePlugin: added fix for columns with sort_method defined in the generator, added boolean_is_yesno to export
    • sfImageTransformPlugin: fix for png transparency
    • sfEasyGMapPlugin: added possibility to use country code biasing, added UTF-8 decoding of city name (which suffers of double-encoding)
    • ahDoctrineEasyEmbeddedRelationsPlugin: fixed is_a() warning
    • sfAmfPlugin: changed the way stylesheets and javascripts are included in the amf browser's template
    • sfPropel15Plugin: added max_additions options to mergeRelation() and embedRelation(), made it possible to define mysql-specific table attributes for SQL generation, using remove_fields options in optional form when embedding/merging a form
    • fpBuildPlugin: removed createTimer method in build task, added support for any path
    • ExtjsGeneratorPlugin: added FormInputFile and support for multipart forms, added Ext.ux.TwinFileUploadField.js, moved ComobListAutosizer plugin to it's own file
    • sfDoctrineRestGeneratorPlugin: added some events, added a default_format parameter, added PUT support, switched to json as default serializer (faster and less verbose), improved the documentation
    • sfTrafficCMSPlugin: bug fix for date format of date widgets in forms, added support to set all filter date formats to a default (which can be specified in app.yml)
    • sfTaskLoggerPlugin: added new field to store the id of the last fully processed record
    • sfDoctrineJCroppablePlugin: changed debugging to use log instead of printing on the screen
    • sfDoctrineApplyPlugin: relies on extension of the sfGuardUser table rather than a profile class, forwards and backwards compatible with sfDoctrineGuardPlugin's current stable release and its new trunk, uses Symfony's built-in SwiftMailer support removing the Zend requirement, all forms are now empty extensions of Base versions so you can do the usual Symfony thing to override them at the project level
    • ncPropelChangeLogBehaviorPlugin: added getChangeLogByPkClassName method
    • apostrophePlugin:
      • the gd backend of aImageConverter now recognizes simple cases where the image is being scaled to its current size or not scaled at all and just copies the source file
      • fixed a bug in getRealPage which caused it to return the global page if there was no real page
      • improved privilege cache
      • checkUserPrivileges is now responsible for converting edit to edit|manage
      • fixed error with slideshows in global and virtual pages
      • use of the engine-slug parameter with aRoutes resulted in aRouteTools::popTargetEnginePage being called with a slug rather than an engine name
      • removed some orphaned code from isPotentialEditor before borrowing it for a backport
      • added Base class for aMediaPdfForm for extensibility
      • fixed missing parent::configure() calls in the media subtype forms
      • new require_leading_slash option to aValidatorSlug
      • app_a_default_published added as a more intuitive alternative to app_a_default_on
      • category names now trigger search matches in the media repository
    • apostropheBlogPlugin:
      • don't make Blog actions dependent on the routing
      • routing no longer needs to specify what filters are applied for each route
      • merged fixes for seperating routing from actions
      • two column slot template was outdated
      • added robot blocking back for multiple filtering
      • when viewing events in an engine index events are shown whenever their date range overlaps the filtered date range
      • fixed bug where filtering could break admin view when a selected filter value was deleted
      • using unset to clear filters instead of setting them to null
      • allow no value to be set when deselecting filters

New symfony powered websites

They talked about us