This module extends the Drupal Commerce Shipping methods, and implements the shipping method from La Poste called So Colissimo Flexibility.

Basically it allows the merchant to configure their shipping rates grid based on order weight for each So Colissimo service.
Then when the customer places an order, he may choose between different shipping services. For Cityssimo, Local store and Post office there's a Google Map integration to select the delivery point.

Install

see INSTALL.txt

Links

Sandbox : https://drupal.org/sandbox/theo/2026819
Repository : git clone --branch 7.x-1.x http://git.drupal.org/sandbox/theo/2026819.git

Manual reviews of other projects

https://drupal.org/node/1995382#comment-7610503
https://drupal.org/node/2030647#comment-7610685
https://drupal.org/node/2035557#comment-7622591

Comments

PA robot’s picture

Status: Needs review » Needs work

There are some errors reported by automated review tools, did you already check them? See http://ventral.org/pareview/httpgitdrupalorgsandboxtheo2026819git

We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)

Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).

I'm a robot and this is an automated message from Project Applications Scraper.

theo_’s picture

I am aware of errors on ventral but most of them are related to Views handlers. Since Views has it's own "standards" for classes, I am not able to fix that.

theo_’s picture

Issue summary: View changes

Add INSTALL.txt link
Add Commerce Mobilpay review

asplamagnifique’s picture

I have test this module, and it works fine for me.
I can add prices on shipping services with a nice javascript tool !
I can see all services if available on checkout.
Good module for me, with nice features on back-office.

You could clean and complete your project page (with HTML tags in place of *).

asplamagnifique’s picture

You include an external librarie in your module : infobox.js

The good practice will be to :

  • to not import automaticaly this librarie on your module
  • to make sure your module is fonctionnal without this lib
  • to complete on install.txt file with the possibility to add an external librarie with a short manual (how install an external lib)
asplamagnifique’s picture

Issue summary: View changes

Add Scald Commerce Product review

theo_’s picture

Status: Needs work » Needs review

Points mentioned in #3 & #4 are fixed:

  • Did some refactoring on the project page.
  • Removed the external library Infobox and make it optional. Provide some documentation for that.

Thanks for the review asplamagnifique

jkuma’s picture

Issue tags: +PAReview

The module is working fine and from my perspective, ready to be promoted.

theo_’s picture

Issue tags: -PAReview +PAreview: review bonus

Correct PAReview tag to PAReview: review bonus :)

theo_’s picture

review bonus, didnt applied

klausi’s picture

Assigned: Unassigned » dman
Status: Needs review » Reviewed & tested by the community
Issue tags: -PAreview: review bonus

manual review:

  1. "variable_del('socolissimo_api');": all variables defined by your module need to be prefixed with your module's name to avoid name collisions.
  2. Suggestion: the module name is a bit long, shorten it to commerce_socolissimo?
  3. "Fail to load google map": all user facing text must run through t() for translation.
  4. theme_commerce_socolissimo_pane_review(): empty function, please add a comment why it is empty.
  5. "@new SoapClient($socolissimo_api['url']);": why do suppress errors with "@" here? Please add a commment. That should be avoided whenever possible.
  6. commerce_socolissimo_flexibility_rate_new(): why not simply entity_create()?
  7. commerce_socolissimo_flexibility_rate_save(): why not simply entity_save()? Also elsewhere whenever you use entity_get_controller().
  8. "module_invoke_all('commerce_socolissimo_flexibility_service_status_insert', $shipping_service);": Hooks that are provided by a module should be documented in MODULENAME.api.php, see http://drupal.org/node/161085#api_php

Haven't reviewed everything, but found no critical application blockers, so this looks RTBC. Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.

Assigning to dman as he might have time to take a final look at this.

theo_’s picture

  1. Prefixed all variables with module's name. commit
  2. Good idea. Shortened module's name to commerce_socolissimo. commit
  3. Wrapped "Fail to load google map" in t(). commit
  4. Oops this is an oversight. Remove theme_commerce_socolissimo_pane_review() function. commit
  5. We used that in the early development stage, actually we handle exceptions so we no longer need it. Remove error control operator @ on SoapClient creation. commit
  6. Replace entity_get_controller with appropriate entity API functions. commit
  7. see 6 :)
  8. Add commerce_socolissimo.api.php. commit

I may also have a better integration for Google Map API, even if it is a remote library.
What do you think about using a hook_library_info() using the library path key ?

Thanks a lot for your review klausi, it was really helpful.

dman’s picture

Status: Reviewed & tested by the community » Fixed

Code is good, well structured (and huge), and the activity here in the queue has been positive, so I agree we can say there are no blockers to a full project.
I can't run-test it because it's quite a set-up

Some notes however.
* I notice a few places in the theme files where you have coded actual user-facing text. eg commerce-socolissimo-point-details.tpl.php

 print t("Shipping under !day days", array('!day' => $element['#delivery_delay'])); 

... Now, although it's good that you've used t() there, so there is still a mechanism to override it, seeing text in a tpl file often means that that should be admin-configurable. Because believe me, clients will want to change it!
It's not a big deal for this project, as I'm pretty sure that anyone who uses it will want to be doing their own theming etc anyway - just a thing I noticed.
Heck, the fact you are using theme tpls at all (and documented them!) is more than we can expect usually!

Just a suggestion. In my experience, remote services are a weak point in any testing, as I've often seen sites go up and then fail on these because either the live host is firewalled or the remote service is unavailable for unpredicted reasons.
see that you have already put that in a try{} so I think you are good there.
What *I'd* do is add
* a watchdog log just before you go out to the world in commerce_socolissimo_api()
* a timeout parameter to your SOAP call
... but that's just because I learned to be paranoid. That's what I always insist the guys put in so we can at least see WHY the site suddenly stopped responding one day.

Bravo for even catching filter_xss on the return message!

Documentation throughout is great, clear README etc.
Good use of Drupalisms for JS and CSS inclusions etc.
It looks like you've got solid eror handling and things built in to appropriate places.

Like I say, I can't do a line-by-line, but I can say this code is of the highest quality (as we must expect from a commerce gateway) and looks like a great addition.

-----------------

Thanks for your contribution, theo_ !

I updated your account so you can 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 stay 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.

theo_’s picture

i'll provide some more improvements to suit your recommendations about:

  • configurable user-facing text
  • log around api
  • timeout for api

I learned to be paranoid too, but apparently not enough, thanks for sharing yours :)

Thanks a lot for the time spent on my project application and for all your wise advices. I am really happy to have it promoted.

theo_’s picture

Issue summary: View changes

Add Commerce CyberSource SASOP review

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

shannon made some gramatical error corrections and remove the sentence about review :)