Magento Australia Post shipping module
I have completed the first part of a new module for the open source ecommerce software Magento which aims to add in a bunch of additional functionality specific for Australia. You can find the module, along with installation instructions at [the Fontis Magento project page].
It actually took quite a while to create this, rather simple, first part of the module. This was mostly due to my lack of understanding of the way Magento modules work as well as the Zend Framework upon which Magento is built. At first I only wanted Australia Post shipping (rather than the more ambitious "all Australian functionality") and, after failing to create a working module based on
the outdated tutorial, I was able to get something working by simply adding in the module to the core distribution files, which I achieved by copying things from the existing shipping modules. Unfortunately this isn't really viable as the module should be separated from the core to avoid conflicts on updates and the like. And it's not good practice.
So, I then discovered that the shipping methods for the USA carriers (eg. DHL, UPS) were actually contained in a separate module in the core and this inspired me to want to create a similar module for Australia which could include various shipping carriers, payment gateways and GST.
Attempting to extract out the Australia Post shipping didn't go so well at first and took much trial-and-error and searching of the Magento forums before I managed to get something that actually worked. But work it now does and it should be useful for most cases where you'd want to use Australia Post as a shipping method. It supports all methods available for domestic and international shpping, allows you to set a handling fee and, naturally, uses the Australia Post DRC to work out cost and shipping time.
There are a few things left to do on Australia Post before I'm 100% happy with it: I'd like to add insurance options, give the admin the ability to restrict shipping to certain methods (although I can't think of why you'd want to do this) and clean up the code a bit. I have also discovered a few things that I'd like to add to the module if Magento actually allows the ability to do so: for instance, giving the user information about the shipping time without having to place it in the method title would be very handy as it means the invoice remains free of superfluous information but the user can make informed decisions during the checkout process.
After this the next thing I want to get working is GST and, following that, move on to getting bank payment gateways running. It will be good when Magento hits version 1.0 and some more developer documentation hits the streets – I may even start writing some up myself based on my experience with this module.
I would very much like to hear back from others about how well the module works on their setup, as well as any feature suggestions for the Australia Post shipping or the Australia module in general.