Posted
4 months
ago
The Icinga team posted an “Ode to Agavi” yesterday. All I can say is “Thanks, I feel flattered.” and I’m speaking on behalf of all team members here. This is exactly why we do this and we’ll do our very best to code up your high
... [More]
expectations.
For those who have never heard the name: Icinga is a fork of the popular Nagios monitoring application. [Less]
Posted
4 months
ago
The second article in the series on Agavi over at IBM developerWorks has just been published.
It focuses on handling of forms and the integration with Doctrine. Go read it, rate it, blog about it and spread the word!
Posted
4 months
ago
Agavi 0.11.8 is now available for download at www.agavi.org.
This maintenance release fixes three bugs over Agavi 0.11.7:
AgaviArraylengthValidator didn’t work with files
Arrays that failed validation were not purged from
... [More]
request data
Memory leak in AgaviTranslationManager::getLocaleIdentifier()
It also contains minor optimizations in AgaviInarrayValidator and AgaviArraylengthValidator.
The bundled timezone database was also upgraded to version 2009k.
As always, the CHANGELOG has a complete list of changes in this release.
This release marks the end of maintenance for Agavi 0.11.x, as previously announced. [Less]
Posted
5 months
ago
Since some weeks ago, the agavi build system features a set of new nifty features. The build system has always been a great help to me as a developer saving me the tedious, boring work of writing the action, view and model stubs. And now, the build
... [More]
system gets even better:
The agavi build system now supports
Generation of executeRequestMethod() methods for action. That saves another hundred keystrokes when generating an action.
Generation of simple actions. Shaves off even more.
Generation of executeOutputType() methods for views.
Generation of properties and the respective getters and setters for models.
Let’s have a lookt at a short example: Before the change, creation of a view went like this:
> agavi view-create
> Module name: Default
> Action name: Index
> View name: Success
Done. But the view would only support the default executeHtml() method to handle the html output type. It would always contain this method, even if I only wanted to handle text output. Now this changes
> agavi view-create
> Module name: Default
> Action name: Index
> View name: Success
> Space-separated list of output types that should be handled. [html]: text
Done. So now I have one single prompt more, but the view is created with exactly the output type(s) that I want it to have. In this case it only handles text but I could list any number of output types here.
The generated code to handle the various output types can be controlled by supplying a suitable template. The default template generates the standard code, using a setup method that is named like the output type:
public function executeText(AgaviRequestDataHolder $rd)
{
$this->setupText($rd);
$this->setAttribute('_title', 'Index');
}
If I want that changed for all text output types, I just create a suitable template that changes the code the way I want. All other output types will still use the default template.
This feature not only saves the developer from writing all that boilerplate code but has other benefits as well. We can now go and integrate the testing system and the build system even further. Now that we generate the methods for you, we have all the information to generate the relevant testcases as well, reminding you that the best way to keep your code bug-free is to automate the testing.
If you’d like to check this out, have a look at changeset 4155 or see the relevant ticket for further information. [Less]
Posted
5 months
ago
Our dear user Vikram Vaswani has written a series of articles on Agavi for publication on IBM developerWorks.
The first article in this series has now been published. Please check it out, share it, blog it, tweet it, and most importantly, rate it and leave feedback in comments.
We’ll keep you in the loop about further releases.
Posted
7 months
ago
Agavi 1.0.1 is now available for download at www.agavi.org.
This maintenance release fixes a number of issues over Agavi 1.0.0 and brings a couple of minor enhancements.
The following are worth mentioning:
Most notable, a
... [More]
race condition in configuration file compilation was fixed that could lead to corrupt compiled files on disk.
Arrays that failed validation are now always purged correctly from request data.
Exporting values from validators with argument bases is now possible, and it’s possible to control the exact use of keys in the process.
Caching callbacks in the Execution Filter are now passed the current Execution Container as last argument.
It’s now possible to set session_cache_expire(), session_cache_limiter() and session_module_name() through configuration.
Support for document/literal wrapped style SOAP services has been improved.
Two regressions related to AgaviRoutingCallback::onGenerate() have been fixed.
A memory leak in AgaviTranslationManager::getLocaleIdentifier() was fixed.
Handling of slashes and dots in Action, View and Model names has been unified - slashes are now always used internally.
The bundled Timezone database was updated to version 2009g.
Several other minor fixes and enhancements.
As usual, please check the CHANGELOG for a complete list of changes. [Less]
Posted
7 months
ago
Today we’re announcing the end-of-life and end-of-support dates for Agavi 0.11.
We will stop providing any changes and fixes after June 30, 2009. One last 0.11 version is scheduled for release shortly after this date.
Security
... [More]
fixes will be provided until December 31, 2009. Releases will be made when necessary.
We will continue merging timezone database updates from newer branches until December 31, unless the storage format or necessary infrastructure changes. However, no releases will be made just for those updates, so you will have to pull the data from the SVN repository branch if you want to remain on the Agavi 0.11 series.
Commercial support is available through our company, Bitextender GmbH, and we are also offering bugfix ports after the official end-of-life date. Please see the Support section on www.agavi.org for details.
We’d like to thank all of you who used Agavi 0.11.x over the last couple of years and helped make it what it is today with your input and feedback, and encourage everyone to upgrade to Agavi 1.0, which packs the same stability, and an even more impressive set of features. [Less]
Posted
8 months
ago
Agavi 1.0.1 RC2 is now available for download at http://www.agavi.org/
This maintenance release fixes a number of issues over Agavi 1.0.0 and brings a couple of minor enhancements.
The following are worth mentioning:
Most
... [More]
notable, a race condition in configuration file compilation was fixed that could lead to corrupt compiled files on disk.
Arrays that failed validation are now always purged correctly from request data.
Exporting values from validators with argument bases is now possible, and it’s possible to control the exact use of keys in the process.
Caching callbacks in the Execution Filter are now passed the current Execution Container as last argument.
The bundled Timezone database was updated to version 2009f.
It’s now possible to set session_cache_expire(), session_cache_limiter() and session_module_name() through configuration.
Support for document/literal wrapped style SOAP services has been improved.
Two regressions related to AgaviRoutingCallback::onGenerate() have been fixed.
A memory leak in AgaviTranslationManager::getLocaleIdentifier() was fixed.
Handling of slashes and dots in Action, View and Model names has been unified - slashes are now always used internally.
Several other minor fixes and enhancements.
As usual, please check the CHANGELOG for a complete list of changes.
A final release is to follow soon; we’re waiting for a new timezone database release that is scheduled for early next week. [Less]
Posted
8 months
ago
Hello folks,
Agavi 1.0.1 RC1 is now available for download at www.agavi.org
This maintenance release fixes a number of issues over Agavi 1.0.0 and brings a couple of minor enhancements.
The following are worth
... [More]
mentioning:
Most notable, a race condition in configuration file compilation was fixed that could lead to corrupt compiled files on disk.
Exporting values from validators with argument bases is now possible, and it’s possible to control the exact use of keys in the process.
The bundled Timezone database was updated to version 2009d.
Last but not least, it’s now possible to set session_cache_expire(), session_cache_limiter() and session_module_name() through configuration.
Support for document/literal wrapped style SOAP services has been improved.
Two regressions related to AgaviRoutingCallback::onGenerate() have been fixed.
Handling of slashes and dots in Action, View and Model names has been unified - slashes are now always used internally.
Several other minor fixes and enhancements.
As usual, please check the CHANGELOG for a complete list of changes.
Stay strong,
David [Less]
Posted
8 months
ago
Agavi 0.11.7 is now available for download at www.agavi.org
This maintenance release fixes a number of issues over Agavi 0.11.6.
The following are worth mentioning:
Most notable, a race condition in configuration file
... [More]
compilation was fixed that could lead to corrupt compiled files on disk.
Exporting values from validators with argument bases is now possible, and it’s possible to control the exact use of keys in the process.
The bundled Timezone database was updated to version 2009d.
Last but not least, it’s now possible to set session_cache_expire(), session_cache_limiter() and session_module_name() through configuration.
Several other minor fixes.
As usual, please check the CHANGELOG for a complete list of changes.
Greetings,
David [Less]