Another funny thing today – a system running PHP 5.3.8, but no phar support! Strange, considering that the docs say phar support is build in since 5.3.0.
Anyway, the solution is to unpack the vendor.phar file included in ZenMagick releases on a system that does support phar, for example your local dev system.
The way to go could be to include temporarily the following lines to your bootstrap.php file.
(Note: As of 0.9.13, the location of the vendor folder changed to zenmagick/vendor)
$vendorDir = dirname(__FILE__).'/vendor';
$phar = new Phar($vendorDir.'/vendor.phar');
$phar->extractTo($vendorDir);
For a new client project I’ve started looking at the php-rules project again. The project has all the ingredients for building a nice promotion system. However, the code has some shortcomings when it comes to PHP 5.3.
To cut a long(-ish) story short, I’ve forked the code (with the blessing of the author) and it now lives on github.
I’ve made some rather bigger changes to learn more about the code and to add some more structure – I hope it doesn’t affect performance too badly.
Feel free to have a look and give it a try. The tests are based on simpletest which is not included.
Comments Off
Checkout
This has been quite a week. The new mock order class has pushed a lot of improvements and fixes – most noticeably cart / checkout numbers are now a lot more accurate and in line with zencart.
I doubt that this has been a big issue so far – typically the devil is in the details and we are talking mostly about rounding differences on displaying the cart during checkout.
The really good thing is that now we have each calculation in pretty much the appropriate place – and only once! That means changes in the future should need to be done in one place only, also!
The remaining differences for the mock order are the tax_groups and tax_description values on each product.I am sure this has worked at some point this week, so it should not be a major issue.
ZenMagick / zencart de-coupling
The other big thing happening right now is in fact related to the checkout code changes insofar that the checkout changes are a precursor to being able to drop more zencart dependencies.
Changes to the Session class now mean that the shortest index.php ever now properly works with sessions. We now also support the SESSION_USE_FQDN option, which should make things also easier for some people.
Misc
Apart from that we now have a common namespace for the ZenMagick store for both settings and classes: apps.store. For each of the included apps (admin, storefront) there are sub-namespaces of apps.store.admin and apps.store.storefront, respectively. Everything else under apps.store is considered shared.
And now, off to a long weekend and some rugby
Comments Off
I’ve spend a lot of time recently working on some mock objects for the checkout process. The main one is a class called ZenCartCheckoutOrder.
The main idea is that an instance of that class can can be created and given a ZenMagick shopping cart instance would look and feel just like the zencart order class. With this (and some other hickery pokery) an evironment can be created that allows to use zencart modules without zencart actually being loaded. To be fair, this is not archived yet, but it is already used by the module wrapper classes in ZenMagick for the regular checkout.
One of the nice things I added was some assert code to compare a freshly instantiated zencart order instance with the mock object. This effectively means we are comparing pretty much all checkout relevant data as seen by zencart and ZenMagick, respectively.
The result is a much improved ZenMagick shopping cart class that now should cope with pretty much all price/tax configurations.
In the medium term these mock classes should allow us to use those legacy modules without having to load the full zencart stack – this is going to be a bit reduction in overhead. However, this is still some time away, but the light at the end of the tunnel is getting bigger
EDIT: For the worried people I should probably add that if numbers were wrong so far this would have been purely presentational, because the actual order process is still 100% zencart so far. That means the actual order will be the same in zencart and ZenMagick.
NOTE2: In actual fact, the exception to the above note is that payment modules that generate a complex order button form (or url) would be affected by this.
Comments Off
I’ve just updated all vendor libraries that ZenMagick uses. This includes pulling the latest upstream changes from symfony2. So far things are still looking good.
To be fair, since the symfony2 release candidates there haven’t been any major issues any more updating and that has been really good
Comments Off
As you might have noticed, the site is still down. I am really not sure what hostingdirect.co.nz – the ISP is doing (or not doing), but this is really developing into a big pain.
I hope to get some more answers tomorrow, but don’t hold your breath…
EDIT: Almost forgot – site is back up again – yay!
Comments Off
After having mostly settled back into my daily routines its time to start writing up what is happening in ZenMagick land.
Right now its a bit tricky with the dev site being down, no chat, no tracker, etc. So I’ll start with a high level overview and will get into more details once the site is back up again.
As can bee seen from the ZenMagick github history, a lot of time and work is spent making ZenMagick less dependant on zencart. There are a number of different things happening at the same time:
- Remove all dependencies on
configure.php
- Improve the wrapper classes around zencart code used under the hood – this concerns mostly the checkout code - shopping cart, etc
- Isolate all zencart related code/fixes/etc in a single place; right now there are two places – a bundle and a plugin. At some point those two will merge, once we know which one it is going to be
In the middle of all this ‘invisible’ work there are a couple new plugins in the mix [Lift Suggest, Order Export (as CSV)], refactoring of code to avoid using deprecated code, bug/regression fixes and more.
As far as a new release is concerned, I would expect that preparations for the next release will start in a couple weeks or so, but this is still pending progress on the items listed above.
Comments Off
<?php //include 'zenmagick/apps/storefront/web/index.php'; return; ?>
Comments Off
As some might have noticed, zenmagick.org is down. For the umteens time there have been issues with payments not being picked up by the ISP and as a result the domain being disabled.
I do not know why this is happening and there is a history, so I think this time I will have to make some more drastic changes. Suggestions for good reliable hosting welcome.
UPDATE: This are under way to restore the site, no ETA atm, though.
Comments Off