Adds Maxymiser JavaScript to each page to allow A/B and multivariate testing.

Configuration options are available to disable tracking for specified exclude paths and roles (see README.txt for more details).

More information about Maxymiser can be found at http://www.maxymiser.com/

Project page: https://drupal.org/sandbox/davidgrayston/2053883

git clone --branch 7.x-1.x http://git.drupal.org/sandbox/davidgrayston/2053883.git maxymiser

Manual reviews of other projects
https://www.drupal.org/node/2443865#comment-9884509
https://www.drupal.org/node/2429983#comment-9937603
https://www.drupal.org/node/2479197#comment-9939255
https://www.drupal.org/node/2227883#comment-9938823

Comments

marcelovani’s picture

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:
see http://pareview.sh/pareview/httpgitdrupalorgsandboxdavidgrayston2053883git

davidgrayston’s picture

The master branch has now been removed

marcelovani’s picture

The module works.

PA robot’s picture

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.

evanmwillhite’s picture

Status: Needs review » Needs work

Good work on this module and thanks for contributing.

Pareview came back clean: http://pareview.sh/pareview/httpgitdrupalorgsandboxdavidgrayston2053883git

Only comment on code I see is that I believe it is best practice to put javascript libraries as such in the JS_LIBRARY group, which means adding something like this to your drupal_add_js() function in maxymiser.module line 70: 'group' => JS_LIBRARY, 'weight' => 1,

Manual testing went great and I like the ability to exclude based on url and role.

Project page could use some more details per https://drupal.org/node/997024, particularly at least a small blurb about Maxymiser and at least a link to documentation (the README.txt is great).

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application (see also the project application workflow).

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

davidgrayston’s picture

Issue summary: View changes
Status: Closed (won't fix) » Needs review
davidgrayston’s picture

Issue summary: View changes
davidgrayston’s picture

I've now added the group option to drupal_add_js() – also added a few words to help explain what Maxymiser is used for and mentioned the README.txt in the description.

theapi’s picture

Status: Needs review » Reviewed & tested by the community

Thanks for this. Looking forward to it not being a sandbox.

extremal’s picture

The module looks good and works as expected.

kscheirer’s picture

Status: Reviewed & tested by the community » Needs work

Blocking issues

  1. All variables should be deleted in hook_uninstall()

Non-blocking issues:

  • The project page could use more description
  • Instead of functions that exist to return a variable (like maxymiser_get_url), why not just call variable_get() directly?
  • Generally in Drupal we check for permissions instead of roles directly. You might consider defining a permission for your module, and then allowing admins to assign it to whichever roles they would like tracked/untracked.
  • Minor code style issues found at http://pareview.sh/pareview/httpgitdrupalorgsandboxdavidgrayston2053883git
  • In maxymiser_page_alter() you should probably check that $url has a good value before calling drupal_add_js on it

Setting to needs work for the blocking issue, otherwise this looks good to me. Checked for security, drupal api, licensing, and individual account.

davidgrayston’s picture

Status: Needs work » Needs review

Thanks, made the following changes:

  • Added uninstall hook that deletes variables
  • Fixed code formatting
  • Added validation to admin form using valid_url()

Regarding other points:

  • Using get functions allows me to set the default value in one place
  • Created an issue to use permissions that can be addressed in the future: https://www.drupal.org/node/2429865
Anonymous’s picture

Nice, looks good to me. It almost tempted me to change the status to RTBC, someone more experienced could shade some light here. As it'll help you in long run as a module maintainer to have some automated test as also suggested by Pareview: http://pareview.sh/pareview/httpgitdrupalorgsandboxdavidgrayston2053883git

kscheirer’s picture

Status: Needs review » Reviewed & tested by the community

Based on #14, unless there's a reason to block the application try and keep them moving :)

davidgrayston’s picture

Thanks, I'll create an issue to add a test

davidgrayston’s picture

Issue summary: View changes
davidgrayston’s picture

Issue summary: View changes
davidgrayston’s picture

Issue summary: View changes
davidgrayston’s picture

Issue tags: +PAreview: review bonus
pingwin4eg’s picture

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

Removing Review Bonus and 2 links. Those are not manual reviews, you just pasted the automated review summary. Please do a manual walkthrough. See https://www.drupal.org/node/1975228 for a reference.

P.S.: fixed your git clone command as the previous one contained maintainer credentials, which are not suitable for others.

davidgrayston’s picture

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

Thank you for the git clone fix.

I couldn't check the module functionality without fixing the module, which I mentioned when referring to the automated review. I have elaborated on this this with a suggested fix and also scanned to code for any obvious mistakes – I will review another working module if this isn't sufficient.

davidgrayston’s picture

Issue summary: View changes
naveenvalecha’s picture

Assigned: Unassigned » naveenvalecha

Assinging to myself for review that will be tonight

naveenvalecha’s picture

Automated Review

Best practices are followed

Manual Review : Review of the 7.x-1.x branch (commit b7db897):

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.
Coding style & Drupal API usage
  1. Project page needs update.See the tips for a good project page https://www.drupal.org/node/997024
  2. Readme.txt is nice.
  3. hook_help is missing in module.It would be nice to add it at the top of .module file

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.

naveenvalecha’s picture

Assigned: naveenvalecha » Unassigned
Status: Reviewed & tested by the community » Fixed

Thanks for your contribution, @davidgrayston!

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.

davidgrayston’s picture

Many thanks to you and all the other reviewers!

Status: Fixed » Closed (fixed)

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