Description

This module provides integration to SMS Framework for the RouteSMS gateway. It allows the users of SMS Framework module to send SMS using RouteSMS as a gateway.

Dependencies

Differences to Other Projects

There is no other SMS RouteSMS module.

Sandbox Project Page

https://www.drupal.org/sandbox/almaudoh/2556167

Git Instructions

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/almaudoh/2556167.git sms_routesms
cd sms_routesms

Automated Review

http://pareview.sh/pareview/httpgitdrupalorgsandboxalmaudoh2556167git

Manual reviews of other projects

https://www.drupal.org/node/2612498#comment-10700974
https://www.drupal.org/node/2629388#comment-10701020
https://www.drupal.org/node/2604348#comment-10701122
https://www.drupal.org/node/2649064#comment-10807834
https://www.drupal.org/node/2651096#comment-10831212
https://www.drupal.org/node/2644596#comment-10831284

Comments

almaudoh created an issue. See original summary.

PA robot’s picture

Issue summary: View changes

Fixed the git clone URL in the issue summary for non-maintainer users.

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.

almaudoh’s picture

Issue summary: View changes

Added links to manual review of other projects.

almaudoh’s picture

Status: Active » Needs review
Issue tags: +PAreview: review bonus

Now ready for reviews

almaudoh’s picture

Priority: Normal » Major

Bumping up priority...

sdstyles’s picture

Hi, I did a manually code review on your project, I tested only admin interface, I didn't find how to register a developer account for http://www.routesms.com/ and fill credentials to send requests to Routesms API. Maybe @almaudoh can help with some info or credentials for testing it. Thanks.

Automated Review

Not found any issues reported by Pareview

Manual Review

Individual user account
Yes: Follows the guidelines for individual user accounts.
No duplication
Yes: Does not cause module duplication and/or fragmentation.
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements.
3rd party assets/code
Yes: Follows the guidelines for 3rd party assets/code.
README.txt/README.md
Yes: Follows the guidelines for in-project documentation and/or the README Template.
Code long/complex enough for review
Yes: Follows the guidelines for project length and complexity.
Secure code
Yes: Meets the security requirements. / No: List of security issues identified.
Coding style & Drupal API usage
List of identified issues in no particular order. Use (*) and (+) to indicate an issue importance. Replace the text below by the issues themselves:
  1. (*) Major finding, needs work
  2. (+) Release blocker
  3. Just a recommendation: Sending and appending $query parameters concatenated at the end of url in drupal_http_request() I see as a bad practice and security weakness, try to send your $query data in drupal_http_request($url, array('data' => $query)), also use drupal_http_build_query() to build your queries parameters.
  4. ...

The starred items (*) are fairly big issues and warrant going back to Needs Work. Items marked with a plus sign (+) are important and should be addressed before a stable project release. The rest of the comments in the code walkthrough are recommendations.

If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.

This review uses the Project Application Review Template.

almaudoh’s picture

Thanks for the review @sdstyles. Your recommendation is great and I have incorporated it. Makes the code neater.

Unfortunately, I don't have a test account with routesms right now for testing the functionality. The only account I have is for production which I am not allowed to divulge.
However, you can contact them via email for a test account.

ayesh’s picture

Issue tags: -PAreview: review bonus

Hi Aniebiet,
I had the opportunity to review you module, and after the review, I could not find any serious issues that blocks this from going further. I could not personally test this with the RouteSMS service in particular, but I can see you have several commits in SMS Framework module, so I'm sure you have tested this well yourself.

A few suggestions though:
- There are some minor types: "Encyption" for example.
- Duplicate keys in the country list function (34, 269, ...). In form API, this will make the former country name to be replaced with the latter ones. These are countries with same code (Spain and Canary Islands share same code), so consider combining the country name like how you have done already for some countries.
- SMS credit balance and sms_routesms_dlr_url functionality: I'm not sure if these parts are complete or not. If you plan to add some sort of callback URL to push delivery reports, please make sure you add necessary validation with to prevent CSRF and forged requests.
- In the configuration form, I think it would be better if there were some introduction to each fields and additional validation handlers could make things a lot easy to use. element_validate_integer_positive for the port number field to mention one.

I'll mark this RTBC for another review administrators (I'm still new, so) to take a look if they have some time. I'll approve this myself by January 28 otherwise.

Thank you.

ayesh’s picture

Status: Needs review » Reviewed & tested by the community
almaudoh’s picture

Thanks for the review, @Ayesh. Your suggestions will be incorporated, especially on the CSRF validation for delivery reports.

almaudoh’s picture

Issue summary: View changes
Issue tags: +PAreview: review bonus

Added three more code reviews:
https://www.drupal.org/node/2649064#comment-10807834
https://www.drupal.org/node/2651096#comment-10831212
https://www.drupal.org/node/2644596#comment-10831284

@Ayesh, you did promise you'd approve my application by 28th January :)

klausi’s picture

Status: Reviewed & tested by the community » Fixed

Review of the 7.x-1.x branch (commit 935cea7):

  • Coder Sniffer has found some issues with your code (please check the Drupal coding standards).
    
    FILE: /home/klausi/pareview_temp/sms_routesms.module
    ---------------------------------------------------------------------------
    FOUND 3 ERRORS AFFECTING 3 LINES
    ---------------------------------------------------------------------------
     189 | ERROR | [x] Array indentation error, expected 4 spaces but found 6
     190 | ERROR | [x] Array indentation error, expected 4 spaces but found 6
     191 | ERROR | [x] Array closing indentation error, expected 2 spaces but
         |       |     found 4
    ---------------------------------------------------------------------------
    PHPCBF CAN FIX THE 3 MARKED SNIFF VIOLATIONS AUTOMATICALLY
    ---------------------------------------------------------------------------
    
  • No automated test cases were found, did you consider writing Simpletests or PHPUnit tests? This is not a requirement but encouraged for professional software development.

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.

manual review:

  • "Drupal's built-in HTTP client only supports SSL on PHP 4.3 compiled with OpenSSL.": PHP 4.3? That has been long unsupported and Drupal t requires at least PHP 5.2?

Otherwise looks good to me.

Thanks for your contribution, Aniebiet!

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.

almaudoh’s picture

Thanks @klausi, I'll fix the remaining issues shortly.

"Drupal's built-in HTTP client only supports SSL on PHP 4.3 compiled with OpenSSL.": PHP 4.3? That has been long unsupported and Drupal t requires at least PHP 5.2?

Ha, :o, that was a leftover from the D6 version when I ported over to D7, will fix.

Thanks again!!

Status: Fixed » Closed (fixed)

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