The SnapEngage module lets you the SnapEngage widget to your site.

The code is heavily inspired by the Google Analytics module.

The maintainers are not affiliated with SnapEngage.

New development will mainly be on the 7.x-1.x branch. Bugs and security problems will still be addressed on the 6.x-1.x and patches are also welcome for that branch.

Project page: http://drupal.org/sandbox/arnested/1418742

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/arnested/1418742.git

git clone --branch 6.x-1.x http://git.drupal.org/sandbox/arnested/1418742.git

CommentFileSizeAuthor
#3 phpcs-snapengage.txt1.41 KBkongoji

Comments

eugene.ilyin’s picture

Hello
I spent a Review of your module.
ventral.org/pareview showed no deficiencies.

There is only one comment:
function snapengage_admin_settings_form
Why do you use a blank description, if so, why should the function t: '# description' => t (''),

arnested’s picture

Probably left the description blank by mistake.

Fixed in 2ac66cbe9fb6f2e1406073e957aeade385c8f51c (6.x-1.x) and 673888f2b7f36933c8b6622f297cec8e97c6842b (7.x-1.x).

Thank you.

kongoji’s picture

Status: Needs review » Needs work
StatusFileSize
new1.41 KB

Hi arnested,
Module works very well, I didn't noticed any major problem during a 6.x-1.x branch manual review. The only thing I can suggest is to consider creating a .install file to delete all module's variables during module uninstall (snapengage_widget_id, snapengage_roles, etc..).

From a phpcs scanning I noticed there are some little code cleaning to do, I attach the scanning results.

Greetz

arnested’s picture

Status: Needs work » Needs review

Fixed in both 6.x-1.x and 7.x-1x.

Thank you!

musikpirat’s picture

Hi arnested,

your Readme.txt should contain some more information about how to configure your module. You should also add that to your project page.

Why do you add a separate permission for the configuration? I think this is a case where the default roles should be sufficient. Maybe you can explain this.

Rest of the code looks clean to me.

arnested’s picture

README.txt improved with installation/configuration instructions in commits 6c3abe5 (7.x-1.x branch) and 769afe6 (6.x-1.x branch). Same information added to the project page.

The reason we added a permission for configuring the module is so that you would be able to delegate setup if the module to a role of your choice (and not have to be uid 1 to do that). At least for some projects where we have deployed this the module is part of an installation profile where the customer would not have direct access to uid 1 but should be able to configure snapengage (and other stuff) anyway.

Thank you for the feedback!

Arne

arnested’s picture

I also added a short description of what the SnapEngage service is all about.

Added in b91727e (6.x-1.x branch) and 6055eb2 (7.x-1.x branch) and on the project page.

lucascaro’s picture

Status: Needs review » Reviewed & tested by the community

Hi @arnested, I've manually reviewed the module for 7.x and It looks really good. I'd maybe add a link to https://secure.snapengage.com/widget in the description for the widget id field at admin/config/system/snapengage but that's not a blocker at all.

The module worked without problems and the code and the UI seem to comply with Drupal coding and documentation standards to the best of my knowledge.

This does seem ready for full project status IMO so marking as RTBC.

klausi’s picture

Status: Reviewed & tested by the community » Fixed

Sorry for the delay, but you have not listed any reviews of other project applications in your issue summary as strongly recommended in the application documentation.

manual review:

  1. snapengage_init(): why can't you add the external javascript directly with drupal_add_js()? See http://drupal.org/node/756722
  2. snapengage_init(): why do you need sprintf() and can't use the "." string concat operator?
  3. "user_access('use PHP for tracking visibility');": that permission is not defined?

But that are not blockers, so ...

Thanks for your contribution, arnested! Welcome to the community of project contributors on drupal.org.

I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.

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.

As you continue to work on your module, keep in mind: Commit messages - providing history and credit and Release naming conventions.

Thanks to the dedicated reviewer(s) as well.

lucascaro’s picture

congrats @arnested!

arnested’s picture

lucascaro: good idea in #8 to add a link to https://secure.snapengage.com/widget. Done in c2258b5 (7.x-1.x-dev), 0ba31b7 (8.x-1.x-dev), and 997e970 (6.x-1.x-dev).

klausi:

Regarding #9, 1) SnapEngage guides their users to use the document.write way of inserting the link to the external JavaScript. I figured it would be best to follow that. I have experienced that other companies have rejected to give support for JavaScript-snippets if they where not added exactly as they advised (no matter how stupid) and I think I'll spare people for those worries.

I cleaned it up a bit and added a comment in 7017167 (7.x-1x-dev) and d399893 (8.x-1.x-dev).

Regarding #9, 2) Readability (although it doesn't make much of a difference in this case). Is sprintf considered bad practice?

Regarding #9, 3) Good catch. Fixed in 9472ffc (7.x-1.x-dev), ed98a6e (8.x-1.x-dev), and 8588ba3 (6.x-1.x-dev).

Thank you for the feedback and thank you all for the review. I will promote the module to a full project shortly.

Arne

Status: Fixed » Closed (fixed)

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