Zend Framework 1.9 released

Last Friday Zend Framework team released new version of the framework, 1.9. It brings few new features and round 700 bugfixes. Since you can read official release note on devzone.zend.com, I will only comment things that are most interesting for me.

Most usefull and awaited by me is new component Zend_Test_PHPUnit_DB. I am big testing and quality assurance in general evangelist, so having another tool to simplify working with tests is what I like most. Since today I can drop my own classes adding database testing support to Zend_Test_PHPUnit_ControllerTestCase. No more hackery. With new database testing component you can setup database connection and state before each test in simple and clean manner. Actually in some cases you don’t have to even connect to database . You can instantiate DB Adapter that requires no database (Zend_Test_DbAdapter) and acts as SQL and result stack. Pretty handy.

Working with test data sets is much simplified comparing to original database test case form PHPUnit. You can use xml fixture files as initial data set as well, as expected results data set. The only thing I am missing is using multiple files to define initial data. I am used to having one fixture file per one table plus some special cases fixtures, like data for specific bug. It gives me greater control over data I use in tests, flexibility I need for complex applications. But it would not be Zend Framewok if you couldn’t do anything about it. Using PHPUnit I had to 3 new classes to do that and it was not so straight forward solution. Here I have simple to extend API. Looks like I’ll spend next few days on migrating tests I have in project I just begun.

Many people, including me, are very happy to see new component in Zend Framework, Zend_Queue. It’s name should stand for itself. It is common API for interacting with queues. Whether you are using some industry standard queues, like ActiveMQ or MemcacheQ, or you were always implementing your own (most people use database to queue some operations and data), Zend_Queue will be huge improvement in your work. If you don’t know how you could use it, image a situation where you have more task to perform than available resources at the moment. You can queue tasks and perform them one by one. Zend_Queue gives you such opportunity, and it can use different backend to store actual tasks (or rather messages).

Last but not least is support for plurals in Zend_Translate. I could not believe that initial version of Zend_Translate does not support plurals. It’s annoying enough that very popular internationalization and localization library, gettext, does not support gender inflection. In previous Zend Framework releases it did not support plurals too. Now it does. For me it means less trickery with translations.

There are much more changes in Zend Framework 1.9. Some of them might be more useful for some people, but these three give me immediate benefits. In each project I was involved in past few years we had some queues, tests using database and data sets and queues. And each time we were re-inventing the wheel. Thanks to new Zend Framework these features are simpler to implement now, flexible and we have common API.

Zend_Test_DbAdapter

Hot summer

I could even say that I have subtropical “weather” here, but not outside the window. I had accumulation of three releases in June, including one big one.

At the beginning of June I have managed to release my start-up, Krewni.pl. This is family tree building social network similar to Geni.com. You might ask why to create a copy of some well made website? Well, I have few good reasons and it is not exactly a copy.

I had this idea since 2006 and didn’t know any website of this kind back then. Once I have discovered Geni I found it very entertaining, educative and addicting, proving that my idea was right. Unfortunately Geni does not support Polish language and has some flaw. Like in my opinion it is too complicated. And it is not exactly my idea. Anyway, seeing that generally what I was thinking about works, people like it and not finding any Polish language alternative I have decided to create similar website.

And here it is. After several months of work I have finally released it. It works, people do register and get back, there are some heavy users, some are concerned about the site and send their ideas and discovered bugs. What I am proud of that I have managed to attract matured users, including age 50+ group, just as I wanted. I was even surprised today by receiving and e-mail from 78 year old user. I think this is something everyone can be proud of – to create product that is attractive and simple to use for all age groups. Even if my start-up will fail (strong, well financed competitors have appeared recently) I will know that I had unique, solid product designed and made by me and that I can make another one.

So, this was first release. And the first one when I was crossing fingers. Algorithms I had to use were not easy and obvious, there were some stupid bugs right after release, late coding, pressure but finally site stabilized and I am working on adding features that will distinguish it from competitors. Basically, I am moving to original idea. But meanwhile I had some time to “rest” by doing two more small releases.

I own two small dancing community websites. First one is about ballroom dancing in Poland and is quite popular. Only few hundreds visitors per day but taking into account how much people really do ballroom dancing and comparing to popularity of “competitors” I am on top. Unfortunately I was not taking care about the site since long time mostly because of time it required. It was not only about copy/paste content from e-mails I receive from dancing schools, dancers etc. CMS I was using, Joomla, was simply not working. It’s a crap. Don’t use it. Posting new copy/paste article could take up to 2 hours including correcting data consistency and data itself (in database), manually fixing or adding some things, regular crashes… Pleasure of running community website quickly became a nightmare.

Finally I made decision to switch to another platform. I have decided to give a try to WordPress MU with BuddyPress and some smaller plugins. After about two weeks of new site running I must say it was good decision. It took me only two days to create decent design for such small website (thanks to easy to learn WordPress templating engine), migrate all data and install and configure all plugins (almost 15 including gallery, forum, events calendar…). More people registers, I have received positive feedback about new look and functionality, in only last week two shops asked me about possibility of putting their banners on page. Looks good, isn’t it? So, goodbye Joomle, I will stay away from you, welcome WordPress.

Having my ballroom dancing website migrate and running smooth I did the same with my second dancing community website. Argentine tango focused. It is similar story to ballroom dancing, but this time source CMS was different and whole process took me less time.

Argentine tango was the third release and I almost did one more in a month. I am sharing now my experience with WordPress + BuddyPress to help someone building gaming community. The only thing that takes a lot time in this project is bought template. It looks great, but is coded horribly. Almost each day we discover some CSS flaws in one of major browsers. Too bad, would be 4 release, but 3 is still something.

As you can see this summer is really hot for me. Since spring I was working 24h on my start-up, then I have decided to do something about my two small community websites, and recently I got involved into another start-up. But this is a story for another post or maybe even a series of posts.