During this week, the second symfony "code sprint" took place, generating very intense development and documenting activity. The result is a whopping 170 changeset list and a great update of symfony 1.1 book.
In addition, 10 new symfony-powered websites have been presented, 6 new plugins have been published and more than 20 plugins have been updated this week. Symfony source code has also established another extraordinary milestone with more than 8000 unit and functional tests.
Development mailing list
- Discussions about errors in sfFinder, escaping mechanism and Propel behaviors with symfony 1.0
Development highlights
- r8172: [1.1] fixed responseAsArray() when sfWebResponse is empty (refs #3211)
- r8176, 8177: [1.0, 1.1] simple quotes are no more escaped by Tag helper escaping function
- r8179: [1.1] improving errors when attempting to write a cache file fails to create directory
- r8180: [1.1] fixed autoloading on windows environment
- Completed Milestone 1.0.13
- r8194: [1.1] fixed fixtures CLI script
- r8195: [1.1] ordered files in sfCoreAutoload
- r8201: [1.1] removed 'bc' escaping strategy (upgrade is needed)
- removed 'bc' escaping strategy as it gave a false sense of security
- added 2 new options to the generate:app task (--escaping-strategy and --csrf-secret) to configure the level of security when creating a new application
- default escaping strategy is now false (was bc before)
- the sf_content variable is not escaped anymore (so the layout can now just echo $sf_content - upgrade task makes the changes for you)
- the form_csrf_secret has been renamed to csrf_secret
- updated the unit tests accordingly
- r8225: [1.1] added sfBrowser::setHttpHeader()
- r8227: [1.1] added support for formats/mime types
- added a formats parameter to the request factory (to associate format and mime types)
- added sfWebRequest ->getMimeType(), ->getFormat() interfaces to the formats parameter
- added a special sf_format request parameter to configure the request format from the routing
- added sfWebRequest ->getRequestFormat(), and ->setRequestFormat() to manage the request format
- getRequestFormat() try to guess the format if no format is configured (via the Accept HTTP header)
- the format is supported by templates, layouts, components, and partials
- added a view.configure_format event to override the default behavior
- r8228: [1.1] catching and rethrowing parse errors caused by invalid YAML parsed by syck
- r8241: [1.1] fixed issue with sfDebug
- r8247: [1.1] fixed issues with propel/creole autoloading + tweaked default propel properties
- r8249: [1.1] added options to sfPDODatabase (persistent, nulls, autocommit)
- r8254, 8256: [1.0, 1.1] fixed relative file search with sfFinder (closes #3110)
- r8258: [1.1] updated fixture file to use the new/improved notation for m2m
- r8260: [1.1] removed both escaping strategy
- we now have 2 escaping strategy: on (equivalent to bc) and off (equivalent to both)
- if you still use bc or both, you will have an error in your log but you application will still work as expected
- sf_data is now available when strategy is off (but sf_data contains unescaped data)
- "normal" variables are now available when strategy is on (but the vars are escaped)
- everything is BC
- r8271: [1.1] adding support for customising error 500 pages on a per application basis (symfony will now check for error 500 pages in the following order, including the first one it finds: apps/$app/config/error_500.php, config/error_500.php, web/errors/error500.php)
- r8272: [1.1] adding support for customising unavailable page on a per app basis (symfony will now check for files in the following order: apps/$app/config/unavailable.php, config/unavailable.php, web/errors/unavailable.php)
- r8276: [1.1] Added default parameter values for sfPatternRouting factory configuration
- r8277: [1.1] added default formats in settings.yml skeleton
- r8282: [1.0] fixed autoloading with CVS (closes #2795)
- r8284: [1.1] fixed wrong formatters references returned when calling sfWidgetFormSchema ->getFormFormatter*()
- r8288: [1.0] added ignore_version_control() for every call to a finder (related to #2795)
- r8290: [1.1] added a dispatcher as a constructor argument for configuration classes
- r8296: [1.1] fixed sfI18n and Propel (closes #3261 - it took about 6 hours to fix it)
- r8298: [1.1] added support for scrolling sortables
- r8305: [1.1] added sfTask::addOption() and sfTask::addArgument()
- r8322: [1.1] sfValidatorUrl will accept FTP urls by default as well (closes #3000)
- r8323: [1.1] removed prototype dependency from double_list javascript in ObjectAdmin
- Updated dwhittle branch
- ...and many other changes
Development digest: 170 changesets, 34 defects created, 27 defects closed, 4 enhancements created, 4 enhancements closed, 4 documentation defects created and 3 documentation defects closed.
Book and documentation
- Updated Il mio primo progetto con Symfony, symfony 1.1 events, symfony 1.1 documentation, symfony and PDT, Symfony avec WAMP, Installing Symfony on MacOsX with php5 binary from entropy and Frequently Asked Questions pages
- Great advance in symfony 1.1 book update
Wiki
- New Job Postings:
- Symfony + PHP/HTML Developer @ deepblue networks AG - freelance/full-time/students based in Hamburg, Germany - Job Requirements [PDF] - Contact: anne.scheiba [at] db-n [dot] com
- Developers @ Dreamnex - adult services company (VOD, dating, online store) located near Aix en Provence, France - Job requirements
- New developers for hire:
- Rob Holmes: I'm a Freelance Symfony/PHP Web Developer specialising in Web Applications and simply building great sites that work. Based in Hampshire, UK.
- New symfony blogger:
Plugins
- New plugins
- sfJuploadPlugin: an extendible plugin for uploading files using the JUpload java applet found at http://www.jupload.biz/
- sfMailMimeDecodePlugin: provides a MIME Mails decoding class
- sfObjectRoutingPlugin: extends core routing to allow passing objects to rules
- sfJQueryTabsPlugin: generates a dynamic tab panel based in jQuery tabs
- sfGoogleWebsiteOptimizerPlugin: website optimizer (currently supports only A/B experiments)
- sfDoctrinePollPlugin: easily adds polling to your symfony projects
- Updated plugins
- sfPropelVersionableBehaviorPlugin: made incremental storage rely on a real version comparison, rather than the array of modified columns, fixes modified columns not being saved when using toVersion, released 0.4 version
- sfAjaxUploaderPlugin: updated documentation with some tips
- sfPropelFinderPlugin: de-emphasized the use of magic methods in the unit tests and README, added sfPropelFinder::_and() and sfPropelFinder::_or() methods, fixed error in production mode
- sfExtjsThemePlugin: improved maintainability by using methods to retreive field names, changed related-stores to hold only one field so every combo-box has its own related store, updated edit-pages to new generator-syntax, fixed bug regarding filtering in comboboxes, improved configurability of (user)combobox-type, added extra pjs files (but not enabled yet), added in methods to support multiple comboboxes off one datastore, added 'fields.column.params.renderer: none' option to the generator to remove the renderer for non-foreign columns and non-date columns
- sfFeed2Plugin: changed rss to use RFC822 date format as suggested by the RSS specification
- sfSearchPlugin: added copyright to every file, refactored criteria system to for more flexible rewriting
- dbFusionChartPlugin: added some documentation & first example
- sfPropelMigrationsLightPlugin: added symfony 1.1 tasks
- sfDoctrineUserPlugin: fixed a bug where it was returning to address instead of phone on delete
- sfPokaYokePlugin: re-added the filter from the 1.0 branch, removed lgacy finctions from the filter, added in further rules generation from the factory
- sfLucenePlugin: initial import of sfSearch backend engine, released 0.1.6 version, implemented basic criteria system for sfSearch
- sfPropel13Plugin: updated SfPeerBuilder.php to include a fix for Propel behaviours and also to add behviours support for doCountJoin*() methods, Propel 1.3 does not have doSelectRS() anymore and we needed to update all references of it to doSelectStmt()
- sfGuardPlugin: updated the package.xml file, updated README, released 1.1.14 and 2.0.2 versions
- sfDynamicCMSPlugin: update documentation
- sfJobQueuePlugin: retrieveQueueByName() now accepts an optional propel connection as second parameter, created a new jobqueue:create-queue task, refactoring to symfony new log framework
- sfTinyMCEConfigPlugin: released 0.0.3 version, added misc section in configuration for additional optional configuration
- sfDoctrineCSAdminThemePlugin: fixing a few style issues
- sfGuardDoctrinePlugin: porting changes from sfGuard (you can change the redirect values in app.yml)
- sfDoctrinePlugin: updated the default doctrine.yml as it cases errors under syck
- sfDomPDFPlugin: released 1.0.4 version, fixed installation problems, updated dompdf to its current cvs version with UTF-8 support
Some new symfony powered websites
- Institut jazykového vzdÄ›lávání: (czech) language school in Prague, includes AJAX course reservation and bookmark
- Město Zdice: (czech) official information from the Town Zdice
- MAXcarp: (czech) fish food dependence
- Elsatours: (portuguese) online travel agency
- Schumacher Reisen: (german) online travel agency
- sendmail.org: (english) resource for the open source community of sendmail
- Cell Phones Etc.: (english) enables consumers to research and compare cell phones and plans side-by-side
- Simular: (portuguese) a free web tool to simulate a real estate financing
- L'R du Cormoran: (french) contemporary art gallery fully powered by sfDynamicCMSPlugin
- RobHolmes.net: (english) professional web development freelancer Rob Holmes
- FoodAvenue: (french) portal dedicated to food: find recipes, restaurants, books, knacks, glossary, articles
- Ratecard Online: (french) a dataBase dedicated to online avdertising market
- Mobshare: (english) the first social networking web application created in Symfony
- Stumble Cult: (english) a platform for stumble exchange
- Contact Virus: (english) share / edit / add your contacts here
They talked about us
- TIP: symfony, svn and the cache
- Choice Part 2: A new platform
- Una semana con Symfony #38 (24->30 marzo 2008)
- Se acerca el segundo “code sprint” de Symfony
- Openpolis, Voi siete Qui e Symfony
- No package found for database "" in generated-schema.xml
- symfony 1.0.13 is out
- Mejorando Propel con sfPropelFinder
- Validating Checkboxes and Radiobuttons in Symfony
- symfony tutorial : Extending the admin generator
- Se publica Symfony 1.0.13
- How to customize login action for sfGuardPlugin
- Application Lego: Build a Wiki with Symfony in 20 Minutes
- Symfony: Fix propel-insert-sql error: Can't connect to local MySQL server
- Comienza el segundo sprint de Symfony
- Colons in YAML (view.yml)
- AJAX Auto Complete
- Découverte des formulaires dans symfony 1.1 (2)
- Symfony admin generator и региÑÑ‚Ñ€
- Symfonyæƒå¨æŒ‡å—快出版了
- Instalar Symfony en Ubuntu 7.10
- Symfony development with XAMPP on Windows
- リクエストパラメーター
- Блокировка Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ symfony
- symfonyを使ã†ï¼ˆï¼“)
- A move to Symfony! A PHP MVC Framework Part II
- regex 0.9
- PHP Meetup: Frameworks part II
- San Francisco PHP Meetup April: Symfony
Online backup is becoming common these days. It is estimated that 70-75% of all PC's will be connected to online backup services with in the next decade.
Thousands of online backup companies exist, from one guy operating in his apartment to fortune 500 companies.
Choosing the best online backup company will be very confusing and difficult. One website I find very helpful in making a decision to pick an online backup company is:
http://www.BackupReview.info
Have a look here, too: http://www.backupreview.info/index.php?pid=read_article&article_id=9
This site lists more than 400 online backup companies in its directory and ranks the top 25 on a monthly basis.