You are here

README.txt in Commerce UPS 7.2

Same filename and directory in other branches
  1. 7 README.txt
- - - - - About this module

Commerce UPS module provides real-time shipping cost estimates for 
United Parcel Service (UPS).


- - - - - Dependencies

Obviously, this module depends on the Commerce module 
(http://www.drupal.org/project/commerce). In addition, the following modules 
are required:

* Commerce Physical - http://www.drupal.org/project/commerce_physical
This module is used to define the physical properties (weight and dimensions) 
of each product. This information is necessary to determine a shipping estimate.

* Commerce Shipping - http://www.drupal.org/project/commerce_shipping
This provides the infrastructure for Commerce UPS to fully integrate with the 
Commerce module.
You must use the commerce_shipping 2.x!


- - - - - Optional modules

* Real AES - http://www.drupal.org/project/real_aes
This module is strongly suggested in order to securely store the site's 
UPS credentials.
* DO NOT use the AES Encryption (https://www.drupal.org/project/aes) module -
it is not secure. The Real AES module includes a drop-in replacement
"AES" module that provides the necessary API compatibility.

- - - - - Installation

1. Install and enable the module and all dependencies (be sure to use the 
latest versions of everything). Add dimensions and weight fields (new field 
types via the Commerce Physical module) to all shippable product types. 
Populate dimensions AND weight fields for all products. IF YOUR PRODUCTS 
DON'T HAVE BOTH PHYSICAL WEIGHT AND DIMENSIONS, A SHIPPING QUOTE WILL NOT BE 
RETURNED - YOU HAVE BEEN WARNED, IF TEXT FILES HAD A <BLINK> TAG, I'D BE 
USING IT HERE TO MAKE SURE THAT THIS IS CRYSTAL CLEAR ;)

2. Configure the "Shipping service" checkout pane so that it is on the 
"Shipping" page. The "Shipping service" checkout pane MUST be on a later page 
than the "Shipping information" pane. (admin/commerce/config/checkout)

3. Configure the UPS settings (admin/commerce/config/shipping/methods/ups/edit). 
You'll need to create UPS account and obtain an access key 
via https://www.ups.com/upsdeveloperkit. 

4. Optionally install and configure the Real AES module
(http://www.drupal.org/project/real_aes) and its included "AES" submodule - as
well as the php-encryption library (see the Real AES module README file).
This will help keep your UPS credentials secure. Be sure to add a $conf variable
to your settings.php pointing to your AES keyfile:
$conf['real_aes_key_file'] = '/path/to/aes.key';

- - - - - Upgrading from AES to Real AES

1. Make sure you have your UPS credentials before you being, as you'll need
to re-enter them at the end of this process.

2. Disable, uninstall, and remove from the codebase for the AES module.

3. Install the "Real AES" module. Be sure to read the Real AES module README
file, as it contains instructions on installing the necessary php-encryption
library.

4. Update your AES key (again, see the Real AES module README).

5. Re-enter your UPS credentials on the UPS settings page.

- - - - - Limitations

Eventually, all of these limitations may be addressed. For now, be warned.

1. Single "Ship from" address for all products.

2. "Customer supplied packaging" is the only allowed packaging type.

3. Doesn't ensure product dimensions are less than default package size 
dimensions. In other words, if you have a product that is 1x1x20 (volume=20) 
and your default package size is 5x5x5 (volume=125), even though the product 
won't physically fit in the box, these values will be used to calculate the 
shipping estimate.

4. Doesn't play Tetris. For example, if you have an order with 14 products with 
a combined volume of 50 and your default package size has a volume of 60, the 
shipping estimate will be for a single box regardless of if due to the 
packaging shape they don't actually fit in the box.

5. Doesn't limit the weight of packages. If you're trying to ship a box full of 
lead that weighs 600lbs, this module will let you (instead of breaking the 
order into more packages).

6. Doesn't account for packing material. If you need to account for packing 
material, then you may want to adjust product dimensions accordingly.  

7. Doesn't include support for shipping markups. If you'd like to add a shipping 
markup, use Rules Components.


- - - - - Methodology

Calculating estimated shipping costs is a tricky business, and it can get 
really complicated really quickly. Knowing this, we purposely designed this 
module with simplicity in mind. Here's how it works:

1. Every order must contain at least one package.

2. The number of packages is determined by calculating the total volume of all 
products in the order, dividing by the volume of the default package size, 
and rounding up.

3. The weight of each package is determined by dividing the total weight of all 
products in the order by the number of packages.

If you need custom functionality, you have several options:

1. Determine if it is something that can be generalized to suit a number of 
users and submit it via the issue queue as a suggestion for inclusion in 
this module.

2. Hire one of the maintainers to create a custom module that interfaces with 
Commerce UPS to add your custom functionality.

3. Break open a text editor and start coding your own custom module.


- - - - - Authors/Maintainers/Contributors

Frank Lakatos - http://drupal.org/user/834502
Chris Calip - http://drupal.org/user/210499
Ryan Szrama - http://drupal.org/user/49344
Andrew Riley - http://drupal.org/user/98079
Michael Anello - http://drupal.org/user/51132

A good portion of this module was originally written during the 
DrupalCamp Atlanta 2011 code sprint. Thanks to all who participated 
including Brent Ratliff and Tom Geller. 

File

README.txt
View source
  1. - - - - - About this module
  2. Commerce UPS module provides real-time shipping cost estimates for
  3. United Parcel Service (UPS).
  4. - - - - - Dependencies
  5. Obviously, this module depends on the Commerce module
  6. (http://www.drupal.org/project/commerce). In addition, the following modules
  7. are required:
  8. * Commerce Physical - http://www.drupal.org/project/commerce_physical
  9. This module is used to define the physical properties (weight and dimensions)
  10. of each product. This information is necessary to determine a shipping estimate.
  11. * Commerce Shipping - http://www.drupal.org/project/commerce_shipping
  12. This provides the infrastructure for Commerce UPS to fully integrate with the
  13. Commerce module.
  14. You must use the commerce_shipping 2.x!
  15. - - - - - Optional modules
  16. * Real AES - http://www.drupal.org/project/real_aes
  17. This module is strongly suggested in order to securely store the site's
  18. UPS credentials.
  19. * DO NOT use the AES Encryption (https://www.drupal.org/project/aes) module -
  20. it is not secure. The Real AES module includes a drop-in replacement
  21. "AES" module that provides the necessary API compatibility.
  22. - - - - - Installation
  23. 1. Install and enable the module and all dependencies (be sure to use the
  24. latest versions of everything). Add dimensions and weight fields (new field
  25. types via the Commerce Physical module) to all shippable product types.
  26. Populate dimensions AND weight fields for all products. IF YOUR PRODUCTS
  27. DON'T HAVE BOTH PHYSICAL WEIGHT AND DIMENSIONS, A SHIPPING QUOTE WILL NOT BE
  28. RETURNED - YOU HAVE BEEN WARNED, IF TEXT FILES HAD A TAG, I'D BE
  29. USING IT HERE TO MAKE SURE THAT THIS IS CRYSTAL CLEAR ;)
  30. 2. Configure the "Shipping service" checkout pane so that it is on the
  31. "Shipping" page. The "Shipping service" checkout pane MUST be on a later page
  32. than the "Shipping information" pane. (admin/commerce/config/checkout)
  33. 3. Configure the UPS settings (admin/commerce/config/shipping/methods/ups/edit).
  34. You'll need to create UPS account and obtain an access key
  35. via https://www.ups.com/upsdeveloperkit.
  36. 4. Optionally install and configure the Real AES module
  37. (http://www.drupal.org/project/real_aes) and its included "AES" submodule - as
  38. well as the php-encryption library (see the Real AES module README file).
  39. This will help keep your UPS credentials secure. Be sure to add a $conf variable
  40. to your settings.php pointing to your AES keyfile:
  41. $conf['real_aes_key_file'] = '/path/to/aes.key';
  42. - - - - - Upgrading from AES to Real AES
  43. 1. Make sure you have your UPS credentials before you being, as you'll need
  44. to re-enter them at the end of this process.
  45. 2. Disable, uninstall, and remove from the codebase for the AES module.
  46. 3. Install the "Real AES" module. Be sure to read the Real AES module README
  47. file, as it contains instructions on installing the necessary php-encryption
  48. library.
  49. 4. Update your AES key (again, see the Real AES module README).
  50. 5. Re-enter your UPS credentials on the UPS settings page.
  51. - - - - - Limitations
  52. Eventually, all of these limitations may be addressed. For now, be warned.
  53. 1. Single "Ship from" address for all products.
  54. 2. "Customer supplied packaging" is the only allowed packaging type.
  55. 3. Doesn't ensure product dimensions are less than default package size
  56. dimensions. In other words, if you have a product that is 1x1x20 (volume=20)
  57. and your default package size is 5x5x5 (volume=125), even though the product
  58. won't physically fit in the box, these values will be used to calculate the
  59. shipping estimate.
  60. 4. Doesn't play Tetris. For example, if you have an order with 14 products with
  61. a combined volume of 50 and your default package size has a volume of 60, the
  62. shipping estimate will be for a single box regardless of if due to the
  63. packaging shape they don't actually fit in the box.
  64. 5. Doesn't limit the weight of packages. If you're trying to ship a box full of
  65. lead that weighs 600lbs, this module will let you (instead of breaking the
  66. order into more packages).
  67. 6. Doesn't account for packing material. If you need to account for packing
  68. material, then you may want to adjust product dimensions accordingly.
  69. 7. Doesn't include support for shipping markups. If you'd like to add a shipping
  70. markup, use Rules Components.
  71. - - - - - Methodology
  72. Calculating estimated shipping costs is a tricky business, and it can get
  73. really complicated really quickly. Knowing this, we purposely designed this
  74. module with simplicity in mind. Here's how it works:
  75. 1. Every order must contain at least one package.
  76. 2. The number of packages is determined by calculating the total volume of all
  77. products in the order, dividing by the volume of the default package size,
  78. and rounding up.
  79. 3. The weight of each package is determined by dividing the total weight of all
  80. products in the order by the number of packages.
  81. If you need custom functionality, you have several options:
  82. 1. Determine if it is something that can be generalized to suit a number of
  83. users and submit it via the issue queue as a suggestion for inclusion in
  84. this module.
  85. 2. Hire one of the maintainers to create a custom module that interfaces with
  86. Commerce UPS to add your custom functionality.
  87. 3. Break open a text editor and start coding your own custom module.
  88. - - - - - Authors/Maintainers/Contributors
  89. Frank Lakatos - http://drupal.org/user/834502
  90. Chris Calip - http://drupal.org/user/210499
  91. Ryan Szrama - http://drupal.org/user/49344
  92. Andrew Riley - http://drupal.org/user/98079
  93. Michael Anello - http://drupal.org/user/51132
  94. A good portion of this module was originally written during the
  95. DrupalCamp Atlanta 2011 code sprint. Thanks to all who participated
  96. including Brent Ratliff and Tom Geller.