January 20, 2012

ZenMagick url scheme – routing

Tags: ,
Filed under: ZenMagick — DerManoMann @ 1:25 am

One of the things I’d like to get started on is to set up (and start using) the symfony2 routing. For this I think it would be a good time to rethink the current urls and come up with some improvements.

I’d like to get some ideas for urls, so if you have an opinion on what urls should be looking like, please check theĀ  tracker issue and leave a comment.

January 13, 2012

change ZM_ENVIRONMENT in storefront

Filed under: ZenMagick — DerManoMann @ 2:14 am

ZenMagick does support the concept of environments. For example, there are different config files for ‘dev’ and ‘prod’.

One of the ways to switch to a different environment is to change index.php to index_[environment].php.

So far this was limited to admin, but no more! The only issue is that yo will need to change the storefront url (for testing, mind) to something similar to the ZenMagick admin url:

zenmagick/apps/storefront/web/index_dev.php?main_page=index

This can be helpful toggling logging settings, or even the db used.

The other reason is that there is (and will be more) code that is conditional to the environment. One example that I added today is that in dev mode a new event is fired for each fetched template. This allows to see (roughly) how much time each template takes to render…

January 12, 2012

ZenMagick speed

Tags: , ,
Filed under: ZenMagick — DerManoMann @ 11:27 pm

The current ZenMagick release does suffer a bit from performance issues. Progress on this is tracked in issue 353.

There are a number of improvements that have already gone into the code that is going to be ZenMagick 0.9.14.

  • Conversion of code into namespaces
    This is a biggie, as using namespaces means we can slowly switch off folder scanning to find global classes. The biggest remaining block of code is the shared folder. I am reluctant to rush that bit, though, because the plan is to take the time to improve/refactor code at the same time.
  • The view component has seen a major refactoring.
    The main reason for this was that most of the Savant features had already been re-implemented in the view classes, so it seemed easier to port the last bit (the fetch() method) as well and drop Savant (and two levels in the stack traces) completely.
  • Conversion of system config/container files to XML
    All container config files that are shipped with ZenMagick are now in XML. According to the symfony docs this is the fastest alternative.

In addition to the above I managed last night to fix a regression that created excessive SQL updates against the configuration table. This has improved the SQL stats quite a bit.
Looking at the current (outdated) demo site I can see that in 0.9.11.1 the homepage used about 300 queries. The most recent code for 0.9.14 gets away with ~100.

Despite all this progress there is more to do. In particular the time spend in the view is not acceptable. Another potential issue are the zencart wrapper classes during checkout. Right now they take up just too much time.

Lots to do…

suhosin url parameter restriction

Tags: ,
Filed under: PHP — DerManoMann @ 7:52 am

Last week I helped analyze a case where moving a zencart installation to a new server caused the dps payment module to break.

It didn’t take too long to find out that the redirect from the pxpay payment page back to the store was quite long. After some more digging it was then found (not by me) that suhosin has a restriction on get parameters of 512 characters. The urll in question was more than 3000 chars long, though!

Changing that in the PHP configuration easily solved this problem. Looks like suhosin is gaining popularity, IMO. The second time lately that I had to deal with this.

Might be worth adding a check to the installation script to issue a warning or check those parameters in order to avoid having to debug every time…

December 20, 2011

ZenMagick 0.9.13 released

Tags: , ,
Filed under: ZenMagick — DerManoMann @ 2:31 am

I am happy to announce the availability of ZenMagick 0.9.13.

It’s been a long time coming and it does include a number of good things.

One thin is definitely the extended use of the sfymfony2 dependency injection container.

A lot more framework code changes are centred around streamlining configuration and customization and having a clean system to change the default behaviour will hopefully pay of in the near future.

Finally, the groundwork is in place to tackle a proper checkout API.

December 8, 2011

release preparations

Filed under: ZenMagick — DerManoMann @ 5:05 am

I’ve started preparing for the next release. Part of that is going through the remaining issues for 0.9.13 and deciding what to do.

Right now the last open issue (apart from the tracker issue for changes) is to create a UI for blocks. While the infrastructure is almost in place there is still too much to do to realistically get that finished and halfway tested before Christmas. Therefore I have sadly had to decide to move that issue to 0.9.14 as well as a few others that I already moved last week.

Nevertheless, 0.9.13 is going to be a great release with lots of stuff and there is still a chance that the ZC Admin Integration will make it, to add even more.

Other than that I have used part of the testing to use ZenMagick against the german (.at) version of zencart. While things looked rosy for me I’ve had reports of other people struggling. Since most of those issues were file permission related I can’t really tell if there is anything in ZenMagick that would need to be improved (apart from having a separate installer with lots of error detection upfront!).

December 5, 2011

0.9.13 release candiate

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

Today the first ZenMagick 0.9.13 release candidate has been published.

Right now only the mod version is available. Themes, plugins and the full-release version might be added later this week.

This version is labelled release candidateĀ  despite the fact that there are still a few issues open that might include further code changes. The rationale behind this is that the code is quite stable and the remaining issues won’t affect this. There is also a chance that some or all will be moved over to 0.9.14 should they not be ready for the final release.

The build has been tested on top of the current german zencart version.

Right now there aren’t any release/update notes available. People interested in trying the new code are encouraged to check out the issue documenting required changes.

December 1, 2011

ZenMagick showcases

Tags: , , , ,
Filed under: ZenMagick — DerManoMann @ 11:56 pm

If you happen to come across ZenMagick and wonder if there are sites out there using it, there is a (non comprehensible) list of sites. (Might need some checkout again, though)

weekly update

Filed under: ZenMagick — DerManoMann @ 1:52 am

Things are progressing fine and we are heading towards a nice release before the end of the year. Right now the plan is to wait for the zencart admin integration as the cutting point.

All non complete issues left will be moved to 0.9.14. Some might have noticed that a lot of the issues not yet started have already changed target :)

The admin integration will hopefully mean that people won’t need to use the zencart UI any more, except perhaps in a few edge cases we are currently not covering well – I am really looking forward to feedback from this feature.

There have been a number of regression fixes lately, so using the current trunk code should be reasonably safe. A snapshot should be available soon…

November 25, 2011

christmas release

Tags: , , , ,
Filed under: ZenMagick — DerManoMann @ 12:31 am

Christmas is approaching fast and it is time to prepare for the (traditional) ZenMagick Christmas release. We’ haven’t always managed, but always aimed for having one.
This year is no difference and things are looking promising.

I am sure we will have to push a few tasks into the next release, but that is more a matter of organizing issues. Some surely should be ‘meta’ issues and have subtasks. Alternatively, we could probably have an ‘ongoing’ target that never expires.

Regression fixing is well under way and there is even a store online that uses a RC version of 0.9.13. All good signs that the code is ready to be released.

« Previous PageNext Page »