SymfonyBricks Blog

news related to symfonybricks.com platform

SymfonyBricks upgraded to Symfony 2.5

The whole platform has been recently upgraded to Symfony v2.5. It was previously based on Sf 2.3, so the process involved two major releases.

What I’d like to point out is that it was absolutely painless, and the time spent was less than 2 hours, comprehensive of the deployment. This has been possible for the amazing work of the Symfony core developers and of those of the involved bundles, who always hugely care about backward compatibility.

Once again this demonstrates one of the most attractive aspect of this framework: stability. This is a very interesting point for example for companies relying on this tool, which is a kind of rare thing in open source projects.

Technical issues

The upgrade can be resumed in these short steps:

  1. update of composer.json with the specs of the one contained in the Symfony Standard Version
  2. replacement of the deprecated handle() function belonging to the Symfony\Component\Form\Form class with handleRequest()
  3. let configuration files in app/config be coherent with the ones of the Standard Version

The last step was the one I spent most time on (~30 min), because there were some minor changes. Everything worked also without this step, but I wanted the configuration be coherent with the same use of variables.

Github

You can find the whole commit here: ff605c

Twitter and SensioLabsConnect OAuth now available

I just added Twitter and SensioLabsConnect OAuth providers to symfonybricks.com,

You can now register/login through one of these providers:

  • Github
  • Twitter
  • SensioLabsConnect

It was a long time that I wanted to implement the registration/logging in through OAuth providers, because I think it’s very useful for users, and also because I wanted to study the OAuth protocol and to be able to develop this feature in may day to day work.

One again thanks to the developers of HWIOAuthBundle for making this possible in such easy way for me.

Technical specs

You can see the full commit here: [oauth] add SensiolabsConnector [oauth] add Twitter

Notes

In case you didn’t read the first post about this topic, here it is: OAuth providers are now available through HWIOAuthBundle

OAuth providers are now available through HWIOAuthBundle

A little after upgrading the core of SymfonyBricks to Symfony v2.3, another big news: HWIOAuthBundle has been integrated, to provide authentication through OAuth providers.

It was a long time I wanted to provide this feature, I think this will ease the user experience and allow more people to join this project.

As SymfonyBricks is totally open source, you can see how I did by reviewing the commit d36e04a3a747f07f56ff8be6774a0a266b4a95c1.

Technical specs

Some time ago I tried to use this bundle but I didn’t succeeded; so I decided to wait for Symfony 2.3 and a better documentation of the bundle. I finally chose HWIOAuthBundle version 0.3.

The work is good and the documentation is sufficient, but it’s lacking when I had to integrate OAuth providers with the existing FOSUserbundle.

So these docs where very useful:

Following these infos I succeeded in letting users to registrate/log in with OAuth providers.

Implemented features

As now, it’s possible to register/sign in with your Github account.

More OAuth connectors will come: surely Twitter and SensioLabsConnect. Graphical interface is to be improved, there are come templates I didn’t customize and some behaviors I didn’t implement.

 Notes

As always, feedback are more than welcome: it’s the first time I manage to use HWIOAuthBundle proficiently and I learnt a lot from this.

You can find all the code involved in introducing HWIOAuthBundle in commit d36e04a3a747f07f56ff8be6774a0a266b4a95c1.

 

Cheers!

Source code upgraded to Symfony v2.3

Symfonybricks.com has recently moved to Symfony 2.3.

Vendors have been upgraded and the whole process took only a few problems, but generally it went very straight. The upgrade has been so easy thanks to the constant huge work of Symfony developers: documentation and compatibility are great.

At the same time, we moved from Bootstrap2 to Bootstrap3: the design is a little more fresh, and the site is responsive with a little effort.

 

As usual, feel free to contribute and open issue on possible bugs at the github repository.

“SymfonyBricks, un nuevo recurso”: a blog post by Javier Eguiluz

Yesterday Javier Eguiluz (@javiereguiluz) published on his blog  a post regarding SymfonyBricks: SymfonyBricks, un nuevo recurso para aprender Symfony2.

This has been great, because it contributed a lot to spread the voice about this project.

“Gimme some numbers!” Ok I like seeing numbers too, so: usually https://symfonybricks.com receives 20-40 unique visitors per day and 30-60 pageviews; and this is quite good, because almost all the visitors come from google by searching something they need about solving a problem in Symfony.
But yesterday… it received 221 unique visitors and 853 page views! And this is amazing, because this project now is more known and hopefully someone will join the development, will comment on github, will post a guide, will learn by inspecting the ode, and so on.

This is to say that this model can work: you hear about SymfonyBricks or google tells it; you inspect the code, learn or contribute; then you tell other people this exists like Javier did. And this helps everyone because it’s collaborative and open. For me it’s incredible, and it’s not just about coding, but also making a community.

Want a hint about wehere to begin from? Check easypick tagged issues on github, and follow @SymfonyBricks on twitter.

 

Cheers, inmarelibero.

RSS now available on symfonybricks.com

rssReferencing issue #46, an RSS feed for symfonybricks.com has been implemented.

You can keep in touch with the published bricks by subscribing to the feed:

https://symfonybricks.com/rss.xml

In this very moment, feeds are about new bricks published on symfonybricks.com

Technically EkoFeedBundle has been chosen, and you can have a look at commit 80be841ca1bbb16bdb7a215bc97e807d5a799fb7 to know how it has been integrated.

 

inmarelibero

“Bricks of Symfony” posts: abstract

lego“Bricks of Symfony” is a new category of posts published on this blog.

 

SymfonyBricks has a double nature: a working platform for exchanging experiences and knowledge about Symfony, and a good source code to be studied and to learn from.

The purpose of the category “Brick of Symfony” is to collect posts showing in details how a specific relevant feature has been implemented in symfonybricks.com, referencing the code in the github repository.

For example, one post will show how assetic has been used in a smart way: applying compression and filters, loading javascript in the header and in the footer for best practice, and so on.

This would replace/be complementary with the changelog page, which in my idea should help to keep track of relevant issues realized in SymfonyBricks.

 

Stay tuned!

Time for a renovated user interface

post_imageI think it’s time to give symfonybricks.com a new user interface. Nice and functional.

Current statistics report of an average of 20~30 unique visitors per day, 12 created bricks, 17 star and 7 forks on the github repository. I think a better interface would help a lot for SymfonyBricks to be known and appreciated, as well as improving the user experience. The current graphics is made almost entirely by me and, if in the beginning this has been god for avoiding “premature optimization”, now could be that moment.

For this, I’m thinking about asking a collaborator of mine (web designer) to create a new graphics. This would be produced in a relative short time and, before applying it to the website, would be put on github to be commented. More, also the copy will be renovated, for the right impression comes from the right words.

About SymfonyBricks

SymfonyBricks can be a great opportunity to build something amazing: a place where developers exchange their experience about Symfony and where you can learn a lot.

SymfonyBricks is an open source project, based on Symfony2 (v. 2.1.x). It was published on https://symfonybricks.com on the 1st of October, 2012.

Purpose

Build a social platform where developers can share their experience about Symfony

Everyone can create a brick (guide), talking about a problem he solved or a smart method to implement something. This is shared with the whole community through a dedicated page on symfonybricks.com, with correct meta tags, well formatted, info about the author etc.. You can also share a guide you alread put on your blog: by specifying a canonical url your post will not be penalized in search results.

Develop the code of symfonybricks.com in a open source way

The whole code is hosted on github: this means that you can study the code of the entire website! Being open to user reviews and contributions, the code of symfonybricks.com itself aims to be a collection of best practices.