This project is not covered by Drupal’s security advisory policy.
Provides a common set of algorithms for packaging orders into boxes. A plugin architecture allows other modules to define their own packaging algorithms.
E-commerce applications need figure out how to divide the physical products in an order into containers for shipping. This task is necessary both for determining how much to charge customers for shipping, where the number of packages clearly influences the cost, and for the actual shipping, where the store owner would like to minimize shipping expenses by using as few boxes as possible.
None of the strategies defined by this module determine an optimal fit. True minimization of the number of packages is a computationally hard problem, moreover it is not desirable because in the real world boxes are rarely, if ever, packed in an optimal manner. Instead, the provided strategies use heuristics to approximate a realistic packing.
Because every e-commerce site has unique needs for packaging, it's essential that there are a wide variety of general-purpose packaging strategies available. Likewise, it's essential that the packaging strategies be highly customizable. This module abstracts the packaging process out of the e-commerce application in order to meet these goals. It is not tied to any specific e-commerce application, but is extensible so it can address any site-specific requirements. In particular it is designed and tested to work for both Ubercart and Drupal Commerce, but is not limited to those uses.
Code in the -dev release is currently working and has a full suite of unit tests. I am currently working on modifying the FedEx and Canada Post modules to depend on Packaging, and I expect there will be some architectural changes to Packaging based upon that exercise.
Project information
- Project categories: E-commerce
6 sites report using this module
- Created by tr on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.