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
- Discussions about using mail address from properties.ini for the single address delivery strategy and moving plugins to independent system
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
- yaml:
- r23743: added more tests
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
- Updated Japanese translation of Jobeet tutorial
- Updated 1 day 1 ticket, Symfony 2.0, and Symfony YAML MySQL Workbench Plugin pages
- Updated symfony 1.3 reference:
- Updated French, Italian, and Japanese translations of symfony 1.3 reference
- Updated Jobeet 1.3 / Practical symfony 1.3 book:
- chapter 13: made some changes to the plugin installation as the default configuration changed in 1.3
- Updated Italian, and Japanese translations of Jobeet 1.3 / Practical symfony 1.3 book
- Updated Deprecations and removals in symfony 1.3 (added more information about replacing deprecated methods)
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
- Andy's symfony blog (feed) (English)
- JournaWeb.info (feed) (French)
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.
- 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
- http://dpu.pmsipilot.com: (French) free application to fully operate a (french) hospital emergency service
- Zobozdravstvena ordinacija Škrbinc: (Slovenian) the website of a private dentist in Ljubljana, Slovenia
- Leprodupari: (French) learn the basics, tips and advice on online sports
They talked about us
- sfLexikDoctrineActAsCommentablePlugin ou comment rendre des objets commentables via un behavior / plugin
- Review of the new Symfony book
- Symfony versus The Law Of Demeter: does Symfony promote bad habits?
- what's up on sfAdminThemejRollerPlugin?
- propel 1.4 stable release
- SfGuardUser sync with Google Apps
- Embedded forms using Javascript with sfForm
- sfGoogleClosureCompilerPlugin – Мой первый плагин для Symfony
- Symfony 2.0 supportera PHP 5.3
- ORM – зло или Как я пытался кэшировать Propel в Symfony
- Как я подружил «memcache» и Propel в Symfony
- Advanced filters with numbers for Doctrine
- Using app.yml options in your tasks
- Uploader proprement des images avec Symfony
- Running Symfony scheduled tasks on an EC2 farm
- ABERIC lanza al mercado una nueva versión de los sistemas de gestión web Lynx Cms
- Using Symfony dependency injection Container with Zend_Bootstrap
- symfony 1.2で携帯用にSJISで出力する際の注意点
- symfony – Validador de RUT
- PHP SensioLabs, Symfony 2.0 supportera PHP 5.3
- أسئلة حول Symfony
- Solution for Sympal installation problem