42 lines
2.4 KiB
Text
42 lines
2.4 KiB
Text
This repo holds a UPS shipping driver for WebGUI, developed against
|
|
WebGUI 7.7.8. To install it, you only need to run the install script
|
|
in the sbin directory, or, manually add "WebGUI::Shop::ShipDriver::UPS"
|
|
to the shippingDrivers entry in your WebGUI config file.
|
|
|
|
Instructions for registering with the UPS are in the Shipping driver
|
|
edit screen.
|
|
|
|
The driver is currently limited to shipping originating in the United
|
|
States only. Here is what is required to make it handle all available UPS
|
|
shipping services internationally.
|
|
|
|
* The Product needs to be modified to have units for weight. Currently,
|
|
they are unitless, and likewise, this driver assumes that all weights are in pounds
|
|
(the current default weight unit in the United States). The chosen unit is added
|
|
to the PackageWeight XML tag, in buildXML.
|
|
|
|
* The driver code itself needs to be extended to add the shipping services.
|
|
1) Add i18n for the names of the new services, and a shipping type. See
|
|
the code in the defintion subroutine.
|
|
2) Add a new key/value pair to the %shippingTypes hash.
|
|
3) The %shippingServices hash has a unique list of shipping services by code. If you
|
|
introduce new codes, add the appropriate key/value pairs to the hash. This is
|
|
required to get the selected code into the generated HTML, regardless of the
|
|
shippingType chosen.
|
|
4) There is javascript inside of www/extras/yui-webgui/ShipDriver/UPS.js that will
|
|
alter the set of shipping services displayed to the user, based on which shipping
|
|
type they have chosen. It in internationalized.
|
|
* Inside WebGUI.ShipDriver.UPS.initServiceTables, add a new object to hold codes
|
|
and i18n labels to describe the services.
|
|
* Add a new service to the switch (newService) statement. Make sure the new case
|
|
matches the keys you added to the shippingTypes hash in the definition subroutine.
|
|
5) Add a new definition property that allows the user to choose the type of currency
|
|
to use for their shipping rate quote.
|
|
|
|
Country names and codes, and currency codes are ISO standards. Country codes are provided
|
|
by the Locales module, ISO 3166. This module already has translations for 13 languages.
|
|
For additional languages, they should be added as modules and sent to the Locales module
|
|
maintainer.
|
|
|
|
Currency codes are not currently supported by this driver, nor is there an existing internationalized
|
|
currency module. This should be a simple extension to Locales.
|