[55 total ]
Agavi 0.11.3 RC 2 released!

Agavi 0.11.3 RC 2 is now out!

There’s not many changes over RC 1, so I’ll simply quote from the CHANGELOG here:

ADD: Allow runtime configuration of Smarty via parameters in AgaviSmartyRenderer (#846) (David, TANAKA ... [More] Koichi)
ADD: Caching group element with array value support (#809) (David)
ADD: Allow convenience array index access in AgaviAttributeHolder (#843) (David)

CHG: AgaviSmartyRenderer should not set a Smarty plugins dir (#848) (David)

FIX: Empty redirect in response may cause uninitialized string offset notice (#847) (David)
FIX: AgaviParameterHolder::removeParameter() does not try literal key lookup first (#842) (David)
FIX: module.xml must not be per-context (#839) (David)

Grab it now and let us know if you come across anything that doesn’t feel quite right. [Less]

Agavi 1.0.0 beta 2 released!

1.0.0 beta 2 is now out!

We’ve fixed some minor issues that were in the beta 1 release, and added some changes and enhancements, I’ll just list the big ones:

Action-style dot-notation for models (Foo.Bar.Baz)
Per-module ... [More] config_handlers.xml
Ability to use models and views from other modules, even if those require per-module autoloads

As of 1.0.0 beta 2, Agavi only allows fully qualified Action, View and Model names, i.e. including Module name, and with all dot-parts in the class name. So app/modules/Default/actions/Foo/BarAction.class.php must have a class called Default_Foo_BarAction.

Please test this release a lot and let us know if you experience any odd behavior!

The next beta release will follow in two or three weeks; we’re aiming for the first RC release in early October. [Less]

Agavi 0.11.3 RC 1 released!

Agavi 0.11.3 RC 1 is now out!

This maintenance release fixes a couple of minor problems like PEAR package generation, gettext plural form expression handling etc, and introduces some new features:

Database handlers now can send ... [More] arbitrary SQL statements after connecting; useful for SET NAMES utf8 in MySQL etc.

AgaviDoctrineDatabase improvements

AgaviMysqliDatabase adapter added
New timezone database version
Sample app cleanup
FPF has the option to ignore errors during document parsing and skip population (good for production environments)
Assigning of “inner” content to $slots template array can be disabled

A full list of changes can be found in the CHANGELOG file. [Less]

Agavi performance in Rasmus Lerdorf's FrOSCon "Simple is Hard" talk

Some of you may be following FrOSCon, where Rasmus Lerdorf, PHP’s “BDFL”, gave a keynote today on (optimizing) PHP performance and how frameworks compare.

Agavi also had its own slide and, initially, the numbers were quite bad, causing ... [More] the crowd to wow at the utterly devastating number of 8.24 transactions per second (compared to, say, symfony, which achieves 100.63).

Fellow Agavi user Jordi Boggiano quickly pointed out to him that the demo application was running in development mode (thanks mate!), but it wasn’t until after the talk that Rasmus saw the message.

He was, however, quick to announce his mistake and updated the slides accordingly.

The new number, 126.91 transations per second, is much more like it, and underscores Agavi’s supreme relation between performance and feature completeness.

I just figured I’d let you all know so you can continue to sleep well, knowing that your framework of choice has no difficulties living up to your expectations and remains highly competitive in comparison with rivaling projects.

I’ve written about this, too, so feel free to reblog it, but in any case, now that you know what happened, when someone now tells you Agavi was slow, you can correct them. :) [Less]

The video of the Agavi talk I gave last week. (Mind the bug in...

The video of the Agavi talk I gave last week.

(Mind the bug in the video player - it’s 1:12:51, not 12:51!)

wombert: The video of the Agavi talk I gave last week.

wombert:

The video of the Agavi talk I gave last week.

Agavi 1.0.0 beta 1 released!

After more than three years of development, Agavi has finally reached the first 1.0 milestone: 1.0.0 beta 1 is out! Grab it now at http://agavi.org/

As you might already know, it’s fairly identical to the stable Agavi 0.11 series, which ... [More] has been ready for production use for a long time now and enjoys widespread use across many sites already.

This new release introduces a new build system for projects, and features a new XML configuration subsystem that is even more flexible and ready for the future while maintaining full backwards compatibility. Several other minor enhancements are also listed below, but as usual, the RELEASE_NOTES and CHANGELOG files know it all. Please also pay special attention to the UPGRADING document which explains the changes to the configuration file formats (old configs will continue to work, however).

There will likely be another beta release before we enter the release candidates cycle as a couple of refactorings remain to be done, just like the new unit testing subsystem for applications. Note that use in production environments is not recommended at this time.

Also, I’m very happy to announce that a preview version of our new tutorial manual is up at http://agavi.org/docs/tutorial/. It covers the first couple of what’s going to be quite a number of chapters that explain the creation and improvement of the new official Agavi example application, which will also be used by other manuals, presentations and in trainings. Please have a look at it and let us know what you think; any sort of feedback is greatly appreciated!

But let’s talk about three important new features in 1.0:

XML config subsystem with improved, namespace-aware handlers, support for multiple XML Schema (also using XML Schema Instance declarations), RELAX NG and Schematron validation runs in various stages of config parsing, support for XSL provided through external instructions and by processing instructions and convenient support for namespace versioning, which means we’ll have nice backwards-compatible configuration files in the future. Envelope and actual content of files are now separate, as described in the UPGRADING document.
A completely new build system for creating and managing your projects. It features several wizards, as well as raw targets that work without interactive input. This allows extension and customization of build operations in your custom build.xml files. There’s also an event listener system you can hook into for even more flexibility.
Execution containers now have a request method. This means you can embed, for example, a slot with a login form, with the request method forced to “read”, so that this Action would never run the login operation even if another form on the page was submitted through a POST request. This should reduce a lot of request method related pains people have experienced when building heavily componentized web sites.

The rest is mostly refactorings and minor enhancements as explained by RELEASE_NOTES, CHANGELOG and UPGRADING.

Please test this first release thoroughly with your projects and report any issues you find on the mailing lists or the bug tracker!

Thank you all for using Agavi, it’s an absolute pleasure to work with such a great user base! [Less]

Finally: Agavi 1.0.0 beta 1 released! Tutorial manual now online!

After more than three years of development, Agavi has finally reached the first 1.0 milestone: 1.0.0 beta 1 is out! Grab it now! Now, we say!

As you might already know, it’s fairly identical to the stable Agavi 0.11 series, which has been ... [More] ready for production use for a long time now and enjoys widespread use across many sites already.

This new release introduces a new build system for projects, and features a new XML configuration subsystem that is even more flexible and ready for the future while maintaining full backwards compatibility. Several other minor enhancements are also listed below, but as usual, the RELEASE_NOTES and CHANGELOG files know it all.
Please also pay special attention to the UPGRADING document which explains the changes to the configuration file formats (old configs will continue to work, however).

There will likely be another beta release before we enter the release candidates cycle as a couple of refactorings remain to be done, just like the new unit testing subsystem for applications. Note that use in production environments is not recommended at this time.

Also, I’m very happy to announce that a preview version of our new tutorial manual is up. It covers the first couple of what’s going to be quite a number of chapters that explain the creation and improvement of the new official Agavi example application, which will also be used by other manuals, presentations and in trainings. Please have a look at it and let us know what you think; any sort of feedback is greatly appreciated!

But let’s talk about three important new features in 1.0:

XML config subsystem with improved, namespace-aware handlers, support for multiple XML Schema (also using XML Schema Instance declarations), RELAX NG and Schematron validation runs in various stages of config parsing, support for XSL provided through external instructions and by processing instructions and
convenient support for namespace versioning, which means we’ll have nice backwards-compatible configuration files in the future. Envelope and actual content of files are now separate, as described in the UPGRADING document.
A completely new build system for creating and managing your projects. It features several wizards, as well as raw targets that work without interactive input. This allows extension and customization of build operations in your custom build.xml files. There’s also an event listener system you can hook into for even more flexibility.
Execution containers now have a request method. This means you can embed, for example, a slot with a login form, with the request method forced to “read”, so that this Action would never run the login operation even if another form on the page was submitted through a POST request. This should reduce a lot of request method related pains people have experienced when building heavily componentized web sites.

The rest is mostly refactorings and minor enhancements as explained by RELEASE_NOTES, CHANGELOG and UPGRADING.

Please test this first release thoroughly with your projects and report any issues you find on the mailing lists or the bug tracker!

Thank you all for using Agavi, it’s an absolute pleasure to work with such a great user base! [Less]

My talk on Agavi at PHPLondon

Yesterday, I presented Agavi at the PHPLondon user group’s August meetup. At slightly over an hour, it was a bit long, but people asked a lot of questions afterwards, which I guess is always a good sign.

There is an audio recording of it ... [More] , which I will combine with the slides to create a nice movie to watch. In the meantime, the slides can be found here (you can also download the original PDF there). [Less]

PHPLondon Agavi talk slides now online

wombert:

Yesterday, I presented Agavi at the PHPLondon user group’s August meetup. At slightly over an hour, it was a bit long, but people asked a lot of questions afterwards, which I guess is always a good sign.

There is an audio ... [More] recording of it, which I will combine with the slides to create a nice movie to watch. In the meantime, the slides can be found here (you can also download the original PDF there).

Update: video now available! [Less]