Closed (fixed)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
1 Dec 2011 at 16:57 UTC
Updated:
7 Mar 2013 at 01:30 UTC
This module is for Drupal 7. It provides Canada Post shipping quotes for the Drupal Commerce module.
It sends an xml request (containing shipping/order data) to the Canada Post Sell Online api server and uses the results to build shipping rate options.
It requires Commerce Shipping 2.x and Commerce Physical Product.
project page: http://drupal.org/node/1356090
git: git clone http://git.drupal.org/sandbox/iswilson/1356090.git commerce_canada_post
Comments
Comment #1
patrickd commentedReview of the 7.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
Source: http://ventral.org/pareview - PAReview.sh online service
Comment #2
iswilson commentedFixed everything in this list.
Comment #3
rade commentedReview of the 7.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
Source: http://ventral.org/pareview - PAReview.sh online service
Comment #4
patrickd commentedthese are really small code formatting issues, so we wont block further reviews by this
Comment #5
klausiOtherwise this looks nearly ready.
Comment #6
tr commentedI'm the author of the Canada Post Shipping Quotes module uc_canadapost. I've expressed on the project page my intent to make that module work with Commerce as well as Ubercart. I would appreciate *help* with that project, rather than opening up a brand-new project for Commerce which starts from scratch and lacks some of the features of my module. I feel the community would be better served through one module used by twice as many users and developed by twice as many developers, rather than going forward with separate projects. I think it's a little silly to have all the payment methods and shipping methods duplicated between Ubercart and Commerce, with just uc_ changed to commerce_. Many years of experience have gone into the current Ubercart modules; starting from scratch and trying to rebuild the same thing in Commerce does not help anyone. Supporting both packages is a little harder than a simple port, because it requires the web service functionality to be abstracted from the source of the data, but in the end it make for a much more robust and flexible module that can even be used outside the context of Ubercart or Commerce (e.g. from a webform or a view). I think that's where the effort should go. I have started this process and I hope you will join me and help out. I am using Canada Post as the testbed because it is a very simple web service - the real benefit will show when more complex web services like FedEx are needed. The architectural changes developed for Canada Post will directly apply to all shipping quote web services.
It would be a different story if there were any significant architectural differences in shipping with Ubercart v. Commerce, but that's not the case. While Commerce has re-architected the core cart functions, things like shipping are entirely in the contribution sphere and have been simply ported from their Ubercart versions.
Comment #7
iswilson commentedTR, you make a valid case and I'd like to help you with adding drupal commerce support to the uc_canadapost project. Please message me on irc (iswilson) to discuss.
Comment #8
klausiAlright, so I'm closing this application. If you need to promote another project at some point feel free to come back to us.
Comment #9
Horroshow commentedHi, any progress? Is the project still alive?
Comment #10
storytellerjeff commentedHi Iswilson,
It seems that TR doesn't have the time to release a 7.x-3.x release of Canada Post Shipping Quotes which would allow it to work with Commerce. (as per his comment 2 months ago - http://drupal.org/node/1757348 )
As it's been almost a year since this discussion began, and you seemed to have done the lion's share of the work to get this up and running, is it possible for this module to be completed and submitted? Or is there an update on your work with TR?
It would be great to have a functioning Canada Post module. On behalf of those of us that don't know how to code - Thanks for your help with this!
Comment #11
tr commentedI'd like to point out that I wasn't the one who set this to "won't fix". My main point is that I'd like HELP from the community rather than having this project replicated with minimal changes so it would work with Drupal Commerce. I think the points that I laid out above adequately express my concerns. I do have an enormous amount of code already written in a private sandbox, but at the present I don't have free time to provide the necessary support if I make this public. If anyone is interested, please contact me directly and I'll give you my phone number so we can discuss what needs to be done.
Comment #12
storytellerjeff commentedTR - I think you make a very reasonable point and hopefully you'll have the help you need soon.
I think this is just a case where those of us on the sidelines that don't have the skills to provide that help are trying to figure out how we can get things back on track. This module is an important part of the Commerce package for many of us and it's a little disheartening to have gone from having two modules nearing completion a year ago, to not having one at least in a dev release by now. It seems that until we can get a few more Drupal Commerce users with coding expertise who need this, many of us will be stuck using a ton of custom rules to try and compensate.
Again, I wasn't trying to criticize the lack of progress, just trying to spread the word that a Canada Post module for Commerce needs to get back to the level of attention and enthusiasm that it had a year ago.
Comment #13
rszrama commentedfwiw, I've chatted w/ iswilson about this in IRC and via e-mail. I think it's worthwhile to have a Commerce Canada Post that sits alongside the existing UPS, USPS, FedEx, etc. modules to offer calculated shipping rates to Drupal Commerce users. The Commerce Shipping 2.x branch is not part of Drupal Commerce core, but it does in fact share a very similar re-architecture to the core modules - I wrote it based on the strengths and weaknesses of what we have in core. : )
The architecture is actually quite different from what Ubercart offered on D6 at least, defining shipping methods separate from shipping services, supporting conditional availability at the method or service level for each order via Rules, and using Rules to support additional shipping rate manipulations (e.g. handling charges, weight or quantity based shipping, discounts, etc.)
iswilson appears responsive and interested in fixing up and publishing his code, and as anyone can attest, finishing up a project with your own code that tries to do one specific task (Commerce integration for Canada Post) is easier than trying to take over someone else's code that is more abstract and targets two very different systems. I'm more than happy to help iswilson get the release out, as I've worked with andyg5000 and others to get the shipping modules out for UPS, USPS, and FedEx, and if we get a better solution in the future I'm happy to champion that as well. My hunch is that iswilson himself would support such a move, especially if it were to bring additional features to the table like package sorting.
Comment #14
storytellerjeff commentedThis is great news. Thanks for staying on top of this Ryan! Looking forward to testing a dev release in the future.
P.S. THIS kind of dedication is why I'm a Drupal Commerce user :)
Comment #15
iswilson commentedI'd like to reopen this project application.
I've already put a good chunk of work into this module and I think it is fairly close to release-ready. I plan on supporting it and adding new features such as support for the new Canada Post API.
@klausi
I've made the changes you suggested in #5 and run the module through the latest coder/pareviewsh.
@horroshow, storytellerjeff
Thanks for your interest in the module. There's actually been code available for testing since November 30th of last year. It is located in my sandbox here and can be downloaded through git with "git clone --branch 7.x-1.x http://git.drupal.org/sandbox/iswilson/1356090.git commerce_canadapost". There is an issue queue on that page as well if you want to report any problems / suggest features.
Comment #16
Horroshow commented@iswilson I used your sandboxed module in my development environment (MAMP) and it worked great for my needs (getting shipping quotes for expedited parcels). For some reasons it did not communicate with CP server when I moved it to the production server (Windows Server 2008 R2). I did not had time to investigate because I had to launch the website quickly but my guess is there's a security configuration on the server (firewall or SSL certificate maybe) that causes the problem. Is your module using a particular port or protocol to communicate with Canada Post server?
Support for the new Canada Post API would be great since they want to shut down the old CPC.
Thanks for your work, the only way I can help is by testing and suggesting as I'm not a programmer but let me know if I can do anything.
Comment #17
storytellerjeff commented@iswilson - any update?
As above, I have a MAMP set up and don't have a dev site up on a production server that I can use to test the security/SSL issue with.
I'm unfamiliar with the release requirements for new modules, but perhaps we could get a dev version up, which would help get a few more eyes on this? I see that the module is now listed on the Commerce Shipping page, so I imagine there would be at least a few developers ready to pitch in and test if there was a dev version.
Comment #18
iswilson commentedApologies for the lag on replies, the update notifications for this thread were going into my spam folder.
@horroshow
It's most likely a firewall issue; http is used and an exception has to be made for sellonline.canadapost.ca port 30000. I will add a note to the documentation about this thanks.
@storytellerjeff
I believe it's ready for a version 1.x but the module approval process takes time. Again it can be checked out via git for testing in the meantime (links are at the top of the page).
Comment #19
aendra commented✗ Automated Review
There is still a master branch, make sure to set the correct default branch: http://drupal.org/node/1659588 . Then remove the master branch, see also step 6 and 7 in http://drupal.org/node/1127732
Review of the 7.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.
Source: http://ventral.org/pareview - PAReview.sh online service
✓ Manual Review
Congrats, this is one of the cleanest modules I've had the pleasure of reviewing during my short tenure in this queue. :)
You fixed all of Klausi's issues and there don't appear to be any new ones introduced. The three "use bool instead of boolean"-type messages from PAReview.sh shouldn't hold up this module, which seems both necessary and in demand at this point. Marking as RTBC.
Comment #20
storytellerjeff commented@iswilson - Well done! :)
Comment #21
jthorson commentedQuick scan looks good. There may be an opportunity to leverage system_settings_form() on the settings form, instead of manually setting each of the variables.
Thanks for your contribution, iswilson!
I updated your account to let you promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and get involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
Comment #22
aendra commentedCongrats, iswilson!
Comment #23
rszrama commentedYeah, congratulations. : )
Comment #24
iswilson commentedThanks everybody for the support, feedback, and code reviews.