November 22, 2010

random update

Tags: , , , ,
Filed under: ZenMagick — DerManoMann @ 3:20 am

Another “unscheduled” update since it seems I can’t manage a weekly update right now. Things are ticking along nicely, although there haven’t been any major developments.

Main focus (again) was on improving the existing code to make live easier for plugins. Also, a few gaps in the API have been filled, most notably the new ZMTaxClass.

Main code changes:

  • Templates now have a new widget() method at their disposal to display/render widgets or widget definitions. This is mostly aimed at making custom plugin pages easier, but templates can use this too.
  • Upgraded jquery to 1.4.3 and 1.8.6 (UI)
  • all email content generation code is now using the new ZMEMails service – this makes a lot of email related code obsolete and a lot cleaner
  • all bean definitions can now be customized via individual settings; for example this line of code would tell ZenMagick to use a custom FooBarclass to be used (with caching disabled) as product service instance: ZMSettings::set('zenmagick.core.beans.definitions.Products', 'FooBar#cache=false');
  • address checking for guest checkout (and checkouts generally) has been improved and does not rely on a zencart event any more
  • The checkout_payment page controller is now capable to handle basic payment types; this is still disabled since some logic and checks are still missing – still some major progress
  • streamlined some ZMShoppingCart methods and further removed dependencies on zencart
  • url encoded payment module error messages are now handled by the messages service, so no custom code needed any more (payment_error/error)
  • more progress on making $languageId mandatory for all API code
  • the product finder ZMProductFinder now supports a new flag to search active only / all products – this is disabled for storefront searches, bu means the searcher code is really useful for new admin functions

There has also been some more testing (and fixes) to integrate the current zencart admin pages seamlessly in the ZenMagick admin UI.

As far as a new release is concerned: there hasn’t been done any planning yet, but I am aiming for a new release for middle of December, so not a lot more work will be added. On the one hand that is a shame as the next release will contain less genuine admin improvements than I was hoping for. OTOH, the zencart admin integration is certainly a big step forward to making ZenMagick admin the place to go to to manage your store :)

November 3, 2010

almost weekly update

Filed under: ZenMagick — DerManoMann @ 2:14 am

It’s been a while since my last update and it really is time for some news about what is happening with ZenMagick.

With more people trying in earnest to use ZenMagick for professional plugin development there has been lots of discussion and small changes to the infrastructure to make it easier for people to do what they want to do.

Here is a list of the more interesting things:

  • Ability to configure the processing method used in a controller. That means that in addition to the HTTP method (GET, POST, etc.) based controller method name selection you can now configure the method to be used.
    One consequence is that a single controller may be used with different methods for more than one page. However, it is not possible to  specify different methods for GET/POST at this time.
  • The group level folder under the plugins folder has been removed. That means all plugins sit right in the plugins folder. Furthermore, the default loader policy is now to look for plugin code in a lib subdirectory inside the plugin folder. This means it is now possible to organize code with subdirectories inside the lib folder without having to worry about view templates being loaded too…
  • There is a new plugin illustrating the new method mapping for controller and generally explaining a few things about url mappings.
  • A new widget() method has been added, to be used by templates do display – uhm – widgets.
  • sfYaml is now available for those that do not like spyc. The ZMRuntime::loadYaml method right now still uses spyc as there are some differences in the output that make it hard to switch.

Apart from the above things which are taken from the changelog, there are also quite a few other organizational things that have been, and still are, happening. It looks like ZenMagick will be getting a new site based on redmine. Not sure when this will happen – this is not that trivial and will require quite a bit of work behind the scenes.

There is also more design work to extend the new admin UI. In particular the admin page(s) for the new block system and a UI for the user/role based permission code that is already in place will be tackled next.

And, finally, there is of course the integration of the existing zencart admin into ZenMagick. This is working surprisingly well, although I haven’t done any extensive testing yet. One nice side effect is that after a session timeout the user is redirected back to the last requested page  – just as you would expect it!