Friday, October 31, 2008

The Propel ORM - At php|architect

I'm glad to announce that my article about Propel, one of the most known ORM solutions for PHP has been published in the current edition of php|architect. So all of you Propel and symfony lovers take a look at this edition for some insight on the usage of the ORM. 

Wednesday, October 22, 2008

Gmail doesn't support Safari?

Last time my wife had a problem using MSN Live on Safari, but this time is Gmail who refuses to work with Safari asking for a supported browser. Here is the screenshot.

Wednesday, October 15, 2008

FireSymfony featured at

The guys from had published a review of the FiresSymfony plugin/extension. This make us really happy because it shows that the community is showing interest for the project. Just to give some numbers, the Firebug extension has been downloaded more than 400 times already.  So, a big thanks to everyone for the support! :)

Google Chrome has some enemies!!!

I was viewing the source of the Google Chrome "most visited" page and I found this text inside:

Our enemies are the time taken for the backend to generate our data, and the time taken to parse and render the starting HTML/CSS content of the page.

It's seem to be a forgotten comment or one of the google jokes. Either way is funny...

Monday, October 13, 2008

New Version of FireSymfony - New Features & Improvements

The last week has been a good one for the project, along with new cool features arrives also the news that the project will be supported by the company I work for -TheNetCircle-. 
This means that they will provide hosting for the soon to be released  official project web site and blog and that I can pick from time to time some hours to write some docs for the project or work on a specific feature. That doesn't means that I won't keep working on the extension on my free time at home... It means that now I have more reasons to go on and keep improving this project.   

About what's new on this release...

Cache Panel

If you access your website on the dev environment with the new version of the extension you will notice that there is no cache information displayed on the page. That's because I removed all the information divs added by symfony and placed them inside a Cache Panel on FireSymfony. What does this means? In that panel you will see a table displaying on each row all the cache information of a given partial: lifetime, last modification time, and cache key. If you roll over a row then the cached partial will be highlighted on the page just the same way FireBug highlights elements when you are inspecting your web page.  For more information about it check this page: CacheTab.

Database Panel

When you access this panel you will see what looks like a normal symfony web debug toolbar database panel -wow that's a mouth full- but if you click on any of the displayed queries, then it will get copied to the clipboard, so you can go and paste it for debugging on your SQL client of choice.  

New Splash Page with Logo

Thanks to the work of Olaf Horstmann the splash page of the extension has a new and fresh look. You can check by yourself.

Small Improvements

I also added some small improvements to the user interface. Now the panels switching buttons show the state, so you wont get lost guessing in which panel are you. I refactored the code and fixed bugs. 
On the symfony plugin side I added a fsNoJsonException that will be thrown in case there is no json_encode support on the server. Also now the json object is called FireSymfonyDebugData to avoid javascript namespace clashing. So in this version you also need to upgrade the plugin.

As you can read here I was also playing on how to port the extension to the cool WebKit Web Inspector, so soon there will be a version for that browser family too -that includes Google Chrome and Safari-.

Saturday, October 11, 2008

MSN Live advices on browsers

This time I have a nice screenshot of a message that Windows Live ™ showed to my wife:

It seems that the last version of Safari is not enough to use it :)

Thursday, October 9, 2008

FireSymfony to support WebKit

Some nights ago I downloaded the last version of WebKit and discovered inside the really cool new WebInspector, which I also saw came bundled with Google Chrome and is supposed to be included in futures releases of Safari.

I read on the WebKit blog that the inspector is written in Javascript, so I decided to dig inside and see what could be done to extend it... 

I discovered a neat code design that is virtually waiting there to be extended. The structure is easy to follow and is almost plug and play. With almost I mean that at this time there is a little hacking to do to plug something in, but anyway it looks promising. 

To state a proof of concept I ported parts of FireSymfony to Web Inspector as you can see in the screenshot below.

My idea is to continue the improvement of FireSymfony for both browser families because besides the neat interface of Web Inspector I think it will became a key tool for web page debugging since it is included on Chrome and probably on a future release of Safari.

Also after I get more experience on extending Web Inspector I plan to post some tutorials on how to do it.

Tuesday, October 7, 2008

The Firebug Framework - What’s inside?

The Firebug Framework - What’s inside?

After my little experience with Firebug extension development I’ve noticed that there is not much documentation about the Firebug internals except for the following must-read articles:

Jan Odvarko's blog, where you can find his series of tutorials about writing Firebug extensions, Christoph Dorn’s tutorial on extending Firebug and John Barton's introduction to the Firebug source.

When I first started to skim through Firebug code I was surprised with the amount of functionality that resides inside the Firebug code. There are full sets of functions designed to accomplish all those tasks that we will need to perform while we developing with Javascript: dom queries, object iterations, array cloning, etc. What I realized is that if you don't want to dive into the code, then you won't know about this features. Perhaps you will end reinventing the wheel or knocking your head against a wall because some feature seems to be complicated to implement.

My experience with symfony and the project itself is that one of the main reason why I had choose it and why other developers choose symfony is because the good set of documentation it contains. I think that the lack of documentation about the Firebug core make it hard for beginners to start with Firebug extension development.

Instead of complaining at the project google group I decided to start writing some docs around those functions. I plan to create a Classes and Functions catalog along with descriptions on how to use them. So in future posts I will start adding some docs about what I call the Firebug Framework -if I get some complains about this nickname I will call it just library :)-.

Here is my intended "Table of Contents" taken from the actual sections on the Firebug lib.js file:

  • Namespaces
  • Basics
  • Localization
  • Visibility
  • Window iteration
  • CSS classes
  • DOM queries
  • DOM Modification
  • XPath
  • Clipboard
  • Graphics
  • CSS
  • XML Serialization
  • String escaping
  • Menus
  • Stack Traces
  • Event Monitoring
  • Functions
  • Source Files
  • JavaScript Parsing
  • Events
  • DOM Events
  • URLs
  • Network
  • Programs
  • Debug Logging
  • DOM Constants

It's seems to be a lot, I will try my best So stay tuned. 

Friday, October 3, 2008

FireSymfony featured at

I'm more than glad to announce that the FireSymfony extension has been featured at Ajaxian.
A big thanks to them for supporting the project. 

Also I want to report that there is a new version of the extension for download from the mozilla add-ons web page. The reason of the update was to fix an incompatibility bug with Prototype.

The symfony plugin has been updated as well, fixing bugs as reported on the project web page. Also I started the project wiki adding detailed setup instructions for the plugin.

Wednesday, October 1, 2008

FireSymfony - First release is out

I'm happy to announce the release of both the FireSymfony extension for Firebug and the firesymfonyPlugin for symfony.

The extension can be downloaded from the mozilla add ons web site. The symfony plugin is available as a pear package from the framework plugins website.

So those that live on the edge can start testing this plugin.

I also created a google group where you can provide feedback and request new features, as well as have some discussions about it.

In a future post I will provide more details about upcoming features and roadmap.

Some screenshots: