A week of symfony #150 (9->15 November 2009)

Symfony project development got a boost this week with the release of the second beta of symfony 1.3, the first alpha of Lime 2 testing framework and the creation of symfony 1.4 branch.

Development mailing list

Development highlights

  • r23714: [lime 2.0] fixed regression: is(), like() etc did not return the result of the test anymore
  • r23720: [1.3] preventing sendHttpHeaders to run multiple times. Once send the method will silently do nothing
  • r23724: [1.3] sfCacheSessionStorage will set session_id() to $this->id
  • r23725: [1.0] stimulating autoloading in sfFunctionCache by calling class_exists before calling static methods
  • r23727: [1.2, 1.3] added timestamps for the releases to the changelog
  • Milestone 1.3.0 beta2 completed
  • r23738: [1.3] added errormessage when tests passed to sfTestFunctionalTask or sfTestUnitTask are not found
  • r23740: [1.3] added errormessage when none of the tests passed to sfTestFunctionalTask or sfTestUnitTask are not found
  • r23744: [1.3] refactored match_names in sfFinder so that it is more readable and perhaps even faster
  • r23762: [1.3] updated Swift Mailer to the latest 4.1 version
  • r23763: [1.3] added some configuration to the project:send-emails task (number of messages and time limit)
  • r23799: [1.3] removed need for runtime insertion of lowercase module name into *_module_config.yml.php files. The module name is already inserted correctly by the sfDefineEnvironmentConfigHandler
  • r23810: [1.3] set svn:eol-style property to native and svn:keywords property to Id on all .php files
  • r23822: [1.3] fixed loading of application-less plugin autoloader when multiple plugins are enabled
  • r23852: [1.3] fixed assumption in propel upgrade
  • r23864: [lime 2.0] improved mock error message when multiple methods could have matched an invocation
  • r23880: [lime 2.0] added methods LimeTest::extendStub() and LimeTest::extendMock()
  • r23881: [1.4] created the 1.4 branch
  • r23882: [1.3] sfI18N now correctly rejects invalid dates when using a culture that has the dot as separator, and correctly respects am/pm markers
  • r23886: [1.0] fixed notice on undefined uri in sfCacheFilter
  • r23888: [1.3] reporting error on empty url for sfWebController#redirect
  • r23889, r23890: [1.3, 1.4] changed sfDomCssSelector to not use a deprecated method
  • r23892: [1.3, 1.4] added Countable and Iterator interface to DOM CSS selector
  • r23897: [1.3] updated sfProtoculous javascript externals
  • r23898, r23899, r23900: [1.2, 1.3, 1.4] default fields are created for %%variables%% in the title of the edit, list and new action, if possible
  • r23901: [1.2, 1.3, 1.4] The last exception is reset on every new page call in functional tests
  • r23902, r23903, r23916, r23918, r23920, r23921: [1.3, 1.4] updated some tests to use the new API
  • r23907, r23911: [1.3] improved sfApplicationConfiguration getXYZDir caching when not using the project optimize task by lazy caching
  • r23910: [1.3, 1.4] changed CLI tests to use the new admin generator instead of the old one
  • r23917: [1.2, 1.3, 1.4] added sfFormField and sfFormFieldSchema to the safe classes in sfView. Widgets are always expected to be escaped by the developers
  • r23922, r23932, r23937, r23939, r23940: [1.4] removed deprecated stuff
  • r23923: [1.3, 1.4] changed the routing handler cache file so that it consumes less memory
  • r23925: [1.2, 1.3, 1.4] fixed sfMemcacheCache delete() operation
  • r23942: [1.4] removed internal methods that were used by the parameter holder
  • r23948, r23949: [1.2, 1.3, 1.4] improved searching for symfony script file on windows
  • r23951: [1.2, 1.3, 1.4] fixed file validator on certain mac os configurations
  • r23953: [1.3, 1.4] made empty redirect check faster and type tolerant
  • r23970: [1.3, 1.4] improved sfPager so that it doesn't need to recount when resultsCounter exists (reverted)
  • r23973: [1.2, 1.3, 1.4] replaced last reference of $sf_symfony_lib_dir with sfConfig::get('sf_symfony_lib_dir')
  • sfDoctrinePlugin:
    • r23745: [1.3] fixed issues in pagers, switched from IteratorAggregate to Iterator, simplified prevention of unnecessary queries, removed some whitespace
    • r23912, r23914: [1.3, 1.4] updated some Doctrine test to use the new test API
    • r23919: [1.3] made crud generator respect singular and plural name
    • r23924, r23930, r23931: [1.3] fixed defaults for singular and plural name for generate crud tasks in case none are specified
    • r23927: [1.3, 1.4] added a new option to change the generator class for forms and filters
    • r23950: [1.2, 1.3, 1.4] fixed doctrine modules when dealing with multiple primary keys
    • r23967: [1.3, 1.4] corrected problem with validation when i18n is used
    • r23977: [1.2, 1.3, 1.4] fixed image saving for Doctrine
  • sfPropelPlugin:
    • r23709: [1.3] added debug information for Propel in dev environment by default
    • r23737: [1.3] refactored propel initialization to sfPropelPluginConfiguration, cleaned up sfPropelDatabase to avoid creating multiple PropelConfiguration objects, removed Propel runtime classes from sfAutoload since Propel has its own autoloader, deprecated sfPropel::import() since Propel::importClass() allows autoloading
    • r23739: [1.3] added hooks for specifying custom propel runtime and generator paths
    • r23909: [1.2, 1.3] updated SfObjectBuilder so that Propel objects do not query the I18N table when they are new
    • r23919: [1.3] made crud generator respect singular and plural name
    • r23924, r23930, r23931: [1.3] fixed defaults for singular and plural name for generate crud tasks in case none are specified
    • r23927: [1.3, 1.4] added a new option to change the generator class for forms and filters
    • r23967: [1.3, 1.4] corrected problem with validation when i18n is used
  • ...and many other changes

Symfony components

  • yaml:

Development digest: 284 changesets, 33 bugs reported, 55 bugs fixed, 8 enhancements suggested, 19 enhancements closed, 2 documentation defects reported, 12 documentation defects fixed, and 16 documentation edits.

Documentation

New Job Postings

  • Symfony/CSS/Javascript Developer at clickcontact.com - remote or full-time based in Quebec, Canada - Contact: m [dot] bittner [at] clickcontact [dot] com
  • Symfony Developer at Bysoft China - full-time based in Guangzhou, China - Contact: hr [at] bysoftchina [dot] com

New symfony bloggers

Plugins

  • New plugins
    • sfPropelMooDooPlugin: Propel administration generator.
    • sfGoogleClosureCompilerPlugin: gets all javascript urls in a head tag on a HTML page and replace them with compiled version scripts.
    • sfRandomImagesPlugin: provides a helper to show random imagens from a folder.
    • sfFormatSizePlugin: provides a helper to transform any value in bytes into something readable like kB, MB, GB, TB.
    • sfJSLibJQueryPlugin: convenience package containing the jQuery library version 1.3.2 and settings for use with the sfJSLibManagerPlugin.
    • sfJSLibManagerPlugin: a simple plugin to manage the inclusion of a javascript library's js & css assets via a single call to a static method - sfJSLibManager::addLib('my_js_lib')
    • sfJSLibJQueryUIPlugin: convenience package containing the jQueryUI library version 1.7.2 and settings for use with the sfJSLibManagerPlugin.
    • sfJSLibJCropPlugin: convenience package containing the Jcrop library version 0.9.8 and settings for use with the sfJSLibManagerPlugin.
    • dhSimpleSmsPlugin: allows sending of SMS messages via the http://www.clickatell.com SMS gateway.
  • Updated plugins
    • sfEasyAuthPlugin: updated README
    • ncPropelChangeLogBehaviorPlugin: the plugin now tries to get the values of the foreign keys in the related table
    • lcOpenInviterPlugin: restored openinviter class deleted the old plugins from the svn, fixed the checkLoginCredentials() bugs caused by the integration of the new version of open inviter
    • pkToolkitPlugin: sfWiddgetFormJQueryDate now allows you to clear the date and go back to null pkArray::removeValue removes a value from a flat array, object retrieval refactorization, introduced a pkTaskTools class, pkWidgetFormStaticText is handy for interleaving detailed instructions with widgets without being forced to template out the entire form
    • sfDoctrineApplyPlugin: corrected min_length message for the second password field and for the reset form
    • sfImageTransformPlugin: preserved transparency when cropping and resizing using the GD adapter, adding alpha support to colorizing using the GD adapter, disabled alpha handling to enable font rendering
    • sfI18NTranslatorPlugin: deleted logger, no more dynamic js, updated README
    • sfTaskLoggerPlugin: added $options and $arguments to the doProcess method, make sfTaskLoggerPurge compatible with the new method signature
    • swFormExtraPlugin: fixed some bugs
    • pkBlogPlugin: fixed a bug with permalink generation on events, added simple upcoming events component
    • sfSimplePagePlugin: separate route prefix from data dir, new configuration from app.yml, more precise 404 error, added i18n (optional) support
    • sfXstandardEditorPlugin: fixed html encoding issue, fixed typo in README
    • sfPhpunitPlugin: now works with sfPropelData class directly, added option connection so it can be changed
    • sfFilebasePlugin: improved Doctrine Behaviour and configuration handling
    • sfDoctrineJCroppablePlugin: using the widgetschema's name format instead of the model's table name for the id stub in order to play nicely with inheritance, added detection and use of sfJSLibManager::addLib('jcrop') if found, updated README
    • sfAdminDashPlugin: added French translation
    • sfDoctrineGuardPlugin: cleaned up model files, added missing action method parameters
    • sfExtjsThemePlugin: added support for tooltip configuration to rowactions to maintain consistancy with other actions
    • sfDoctrineUserPlugin: made a branch for symfony 1.3
    • sfDoctrineSettingsPlugin: made a branch for symfony 1.3
    • sfSyncContentPlugin: removed reference to sfPropelSyncContentPlugin
    • pkContextCMSPlugin: changed footer links, templates at the project level override the plugin, added recursive navigation partial, modified navigation
    • csDoctrineActAsAttachablePlugin: cleaned code up, updated for symfony 1.3, updated query efficiency
    • diemPlugin:
      • switched to symfony 1.4
      • added gallery javascript admin controller
      • added dmMailTemplate module
      • removed deprecated dmModelGeneratorConfiguration and dmModelGeneratorConfigurationField classes
      • fixed admin export and form class generation
      • fixed dmAdminBreadcrumb and made it more flexible
      • removed deprecated admin modules dmArea, dmPage, dmPageView, dmZone and dmWidget
      • fixed admin chart showSuccess template when no image is available
      • improved google webmaster tools interface
      • added duplicate functionality to admin layout module
      • fixed default admin passsword if database has no password
      • added tree javascripts to core assets configuration
      • added mail service
      • added DmMailTemplate to cache_cleaner safe models configuration
      • fixed DmPageView and DmLayout table declaration
      • added french translations
      • improved project skeleton
      • fixed and improved dmBaseActions->download method
      • added doctrine extension DmGallery
      • added removeCsrfProtection, changeToEmail, submit and renderCsrfProtection methods to dmForm
      • made many improvements in dmAdminGeneratorBuilder
      • improved performances in PluginDmMediaFolderTable
      • fixed automatic page view attribution to page model when its module or action has been changed
      • created a new DmArea when a DmPageView is saved
      • improved performances in PluginDmWidget getValues and setValues methods
      • added service container dependency to dmWebResponse
      • refactored dmWebResponse->getAssetAliases and dmWebResponse->getCdnConfig methods to lazy load them
      • made dmAssetCompressor abstract class extend dmConfigurable
      • refactor dmBaseServiceContainer to improve performances by loading only required services for the current request
      • fixed dmAdminDoctrineGenerateModuleTask, dmAdminGenerateTask and dmSetupTask
      • added getStylesheetWebPath, getStylesheetFullPath, getJavascriptWebPath and getJavascriptFullPath methods to helper service
      • refactored asynchronous loading of stylesheets and javascripts on dmCoreEditCtrl.js
      • replaced deprecated sfWidgetFormDoctrineSelect by sfWidgetFormDoctrineChoice in dmWidgetListForm and dmWidgetShowForm classes
      • added checkBackground callback validator in dmWidgetContentMediaForm
      • fixed dmWidgetContentMediaView->doRenderForIndex declaration and implementation
      • added a search page check in dmWidgetAdvancedSearchFormForm->configure method
      • removed csrf protection from dmSearchForm
      • fixed dmWidgetContentTextView->doRenderForIndex method
      • fixed dmFrontActionGenerator to make action classes extend dmFrontModuleActions and not dmFrontModuleComponents
      • added front.base stylesheet to all front pages
      • modified dmFrontUser to store the current theme key in the user attributes, instead of using directly its storage
      • made front codeEditor actions use helper service to find related javascripts to load asynchronously
      • improved performances on front page module actions and made the messages more polite
      • made front page actions use helper service to find related javascripts to load asynchronously
      • removed form csrf protection for front forms wich need admin credentials
      • improved the default search form
      • made possible to skip the cssClass field in the dmWidgetContentMedia form template, and fixed coding standards
      • fixed dmWidgetContentMediaForm jQuery selectors
      • added postSave methods to user model classes according to sfDoctrineGuardPlugin evolution
      • wrote some pieces of documentation and started building the diem website

New symfony powered websites

They talked about us

Comments

Comments are closed.

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