Stable release 4.1 is finally here

Monday, August 22nd, 2011|Core changes, Misc, Version 4|by Romans

For all of you who have tried version 4.0.3 and have been stuck with it for a while, now it’s the right time to upgrade. There are a lot of new features and I’ll try to quickly go over the ones which are most important.

Complete list of changes can be found here:

  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • Mart 2011
  • February 2011
  • Models without Controllers

    Finally models can be used to the full potential without Controllers. Actually, controller is still used, but as developer you don’t need to worry about it. So take your Form or Grid and use setModel(‘User’);

    The older way with controllers should still work fine.

    <?page?> in your templates.

    Agile Toolkit takes care of URL generation in dynamic content, however you might need to know URLs in your static templates. Use <?page?>about<?/?> to generate URL to the specified page.

    Form styles

    Now you can use one of several form styles. try $form->setFormClass(‘vertical’). See documentation for other styles.

    Even Better User Interface

    4.0 branch wasn’t very ugly, but the new UI is much cooler. The jQuery UI theme is slightly enhanced, to give your Agile Toolkit application that refined look. There is however “elephant” theme as well which is designed to look similar to old theme.

    New layout is now using “flexible”  / fullscreen grid system. That means that 10-grids will be expanded automatically to full width. You can also use grids inside other elements, which works nicely for pop-ups and frames.

    New exception system

    There is a new way to throw exceptions now. “throw $obj->exception(’nuff said’);”. This connect exceptions object into the application and allows to have transparent validation, object-specific exception selection and additional information gathering. The syntax is also cooler.

    initLayout() is called automatically

    If you used to call initLayout() from your init() method, you shouldn’t do that anymore. It’s now done automatically after init() is completed. If you do, you will get an exception and therefore should be easy to spot and fix.

    Added dynamic methods

    In short – it’s possible for Controllers to register new functions on any object dynamically. That’s a pattern similar to JavaScript. To avoid confusion it should only be used when it’s impossible to do otherwise. This feature ensures that backward compatibility can be added through optional controller such as:


    If you have been relying on $this->frame() or $this->ajax() function, you should use this controller as those functions are now obsolete.

    1 Comment

    Kirill Gordeev
    Posted August 23, 201110:11 am

    This is very good news, i waited a long time support of hybrid forms.