From Symfony to Grails!

Few weeks ago I started learning Grails framework.

For me this is new world but it smells like Symfony sometimes – almost the same approaches with domain (Symfony: model) management, CRUD generator (Symfony: Admin generator) here excites as much as in Symfony.

“Leaving” PHP world for Groovy-Grails-Java was quite hard on start and I still stuck in researches. But I have smart enough guru in the stretched hand distance, please let me introduce Alex, The Grails Guru.

If you are Symfony developer you’d love this framework. You’ll see there similar things you’ve used to use in Symfony:

  • mvc: domain classes + controller classes + view in GSP pages
  • routing: you can define any route rule in a special routing construction
  • configuration: there no any YAML configuration files but .properties files instead
  • partials: are also present in Grails like includes
  • and so on, I can’t remember on a spot. I’ll be adding this list with new features.

BUT started developing Grails applications you’ll get all Java development advantages:

  • Continuous integration development
  • Maven 2, dependencies management (management of so many libraries becomes easiest task)
  • Reliable, useful  and fast IDE IntelliJ IDEA (you can try it for 30 days)
  • Professional TDD (saying the truth, not all PHP developers using it, but in Java world things become better)

On other hand you can try work with Grails on Ubuntu Linux, it is faster then Windows machines.

I’ll be posting my achievements and research results here while learning this amazing tool.

OpenGEO – yet another startup with Symfony

Name is: OpenGeo

Last Saturday 07/26/08 me and my friend decided to create simple online service for Ukrainian market.

Idea was in the follwoing – create free of charge open source database of geographical locations of all IP addresses of Ukraine.
Every visitor has possibility to see his IP address and set his Ukrainial location with help of drop downs.

Possible stakeholders of this service are:

– e-commerce services like auctions, online malls
it would be easy to find goods near to you with it, for example find motorbike in 50km radius.

– social services (social networks)
Also find people near to your location and get in contact

– and so on, connected to location definition

So we decided to start development of this project with Symfony (actually I enforced him to do that 🙂 ).

Two days ago we finished first stage and now project in “locations-collection” stage.

Please take a look on www.opengeo.org.ua

The next step will be development of analysis module and user interface improvements, for example make location tag-cloud instead of select-boxes.

Feel free to say your opinion in comments to this post – it will be very useful!

Migration to Symfony 1.1: Step Two

In my previous Symfony 1.1 migration step 1 I descirbed how to upgrade your old Symfony 1.0 project into Symfony 1.1 version. This is works and this is OK.

After that I upgraded project I opened it in my browser and got errors (of course, in development environment you can see it). My Symfony was dissatisfied of presence ‘web_debug: ~’ and ‘flash:     ~’ lines in my ‘frontend/config/filters.yml’. I deleted these lines and everything became OK.

There are too many small issues I’ve discovered while migration process and seems like there will be more.
And another reason – I’m using many plugins from different vendors in my project so these plugins must be custom edited to work well with 1.1 – It’s a lot of work.

I made a final decision – rollback to Symfony 1.0.17 with my project and wait while almost all plugins vendors migrate to 1.2 🙂 Because 1.1 is the transition release and for one year only.

So, I’ve got good experience with migration and have seen powerfull features of 1.1 like forms, events for example – this is right way of development, Fabien! 🙂

We’re looking forward for the 1.2.