0.9.7 releases
I’ve finally released ZenMagick 0.9.7 tonight (German time). There is more testing being done, in particular there are still a couple plugins missing, but overall the code is ready and considering the amount of structural changes it seems about time to get the release out in the wild.
There are several things of interest in this release:
$request
As of this release, there is a new object available to all template files:$request. It replaces the static use ofZMRequest::xxx()[although this is currently still possible, albeit slightly changed asZMRequest::instance()->xxx()]. My hope is that with this change it will be a lot easier to test controller code since it is now easy to provide a custom request object without any side effects.- lib is the new core
So far all ZenMagick core code was located in zenmagick/core. ZenMagick 0.9.7 introduces a new layout with currently three main folders:- lib/core
This is the generic core code that doesn’t even know about web applications and can be used in any PHP application - lib/mvc
This, of course, is the generic part of the ZenMagick MVC code. It should be noted that this is the incomplete part as there is still a lot of MVC code (store specific) in the third folder: - lib/store
This contains the store specific code of what is still called ZenMagick. Eventually I hope to morph ZenMagick into a generic MVC framework with the zen-cart storefront being just one application of many using the framework. The admin interface would obviously be a good second candidate…
- lib/core
- plugins
There has been a lot of changes in a number of plugins and also a few new ones. Among the more interesting news there is:- zm_vbulletin
In the style of the phpBB plugins it allows to automatically create vBulleting accounts for all new registered users - zm_token
Moved into core (lib/store) as a regular service - zm_settings
A new view was added that gives an overview over all lib/core and lib/mvc settings used. With the move to using widgets there are also a lot more data types and form elements available to choose from. - zm_subscriptions
A (not so) new plugin that allows to offer automatic orders in regular intervals. This plugin requires the corn plugin [zm_cron]. - zm_smarty
Not yet available.
- zm_vbulletin
- widgets
All plugins have been converted to using widgets for all configuration options. Again, this is a move to using classes rather than functions. As with a lot of other ZenMagick code this is not just for the sake of having more classes but to allow to share code and reuse it.
There are still a few things missing in the grand scheme of things. Some of the plugins need more documentation, the demo site really needs to be upgraded and more. I’ll be back to that ASAP, but right now I do have some private things to sort that will take up most of my spare time.
Either way, I know there are people that have been waiting for this release and it feels good to have this finally out of the way. Getting used to the new sourceforge UI was also not that much fun (why isn’t there an option in the file manager to select multiple files?????)
There is a good chance that there will be a few 0.9.7.x releases soon and also a couple more plugins in the near future, however that shouldn’t stop anyone from giving this release the chance it deserves. Enoy.
