The UserBallot module is very simple: it helps users add UserBallot user feedback to a Drupal site. There isn't that much code involved in the module itself, but would be necessary for those who don't want to pollute template code with embed code directly (or are not comfortable adding the raw markup). Most settings are within each Userballot account/dashboard, so you'll see that the code within this module is quite minimal.

UserBallot itself ( http://www.userballot.com/ ) is a new, very bootstrapped startup (originating from a startup weekend hackathon). Our product is a simple decision support tool that allows businesses to collect directional feedback from their site visitors in a way that differs from standard surveys and polls in that it uses single, one-touch/click responses that are only show to a user once. It is intentionally very simple and as unobtrusive as possible.

This would be the first/only module built to implement this 3rd party integration.

Here is the link to the project page:
https://drupal.org/node/2234213

To clone the repo:
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/userballot/2234213.git

Reviews of other projects:
https://drupal.org/node/1075274#comment-8733689
https://drupal.org/node/1775964#comment-8747317

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://pareview.sh/pareview/httpgitdrupalorgsandboxuserballot2234213git

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.

userballot’s picture

I had used the code review module to verify my code, but hadn't been alerted of any of those "issues" (documentation syntax primarily).
Anyhow I have now gone through and updated to remove all of the warnings: http://pareview.sh/pareview/httpgitdrupalorgsandboxuserballot2234213git-...

userballot’s picture

Status: Needs work » Needs review

I think this can safely be changed back to "needs review" status.

userballot’s picture

Issue summary: View changes
userballot’s picture

Issue summary: View changes
userballot’s picture

Issue summary: View changes
jschoen1’s picture

This is actually pretty neat!

It definitely seems to work and *I don't see any issues with the php

After a few questions popped up and I responded, the popups stopped showing up!

It is unclear to me whether this has to do with my userballot account settings, or the javascript...

znaeff’s picture

Status: Needs review » Needs work

Hi.

It's better to move userballot_admin_settings_form() to separate userballot.admin.inc file.
So module code will be:

  $items['admin/config/content/userballot'] = array(
    'title' => 'UserBallot config',
    'description' => 'Configuration for the UserBallot module',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('userballot_admin_settings_form'),
    'access arguments' => array('administer site configuration'),
    'file' => 'userballot.admin.inc',
    'type' => MENU_NORMAL_ITEM,
  );
klausi’s picture

Status: Needs work » Needs review

That point alone is surely not an application blocker, any other problems you found during your review? If not then the correct status should be RTBC.

gisle’s picture

Status: Needs review » Needs work

Automated Review

The automated review of your project by PAReview has found some issues with your code. As coding standards make sure projects are coded in a consistent style we ask you to please have a look at the report and try to fix them. (They all look trivial to fix.)

Manual Review

Individual user account
No: It seems you are using a non-individual account.
All user accounts are for individuals. Accounts created for more than one user or those using anonymous mail services will be blocked when discovered (see Get a Drupal.org account).
Please note that organization accounts cannot be approved for git commit access. See Infrastructure to support organization accounts and Create Basis for ToS to allow organizations to share accounts for details on what is/isn't allowed. Please update your user profile so that we don't have to assume that this is a group account.
No duplication
Yes
Master Branch
Yes: Follows the guidelines for master branch.
Licensing
Yes: Follows the licensing requirements
3rd party code/content
Yes: Follows the guidelines for 3rd party code.
README.txt
No: For instance there is a setting "Show on admin pages". It is not explained in README.txt what this does. It also looks like a Troubleshooting section could be useful. Also see #7, which looks like a FAQ.

Please take a moment to make your README.txt follow the guidelines for in-project documentation and the README.txt Template.

Code long/complex enough for review
No: The project is only 69 lines of PHP code (after stripping comments and blanks).
It is basically a front end facing a very basic web service (Yes/no questions only - no multiple choice or test answers).
In its current shape, is also very brittle. I rapidly ended up in a state where the webservice did not work, with no diagnostics and no controls that could fix things.
Unless its UX can be significantly improved, it does not deserve to be hosted on Drupal.org as a full project, but belongs in a sandbox.
IMHO it does not follow the guidelines for project length and complexity.
A larger and more complex project should have been submitted for review to apply for the "Create Full Projects" permission. (But I shall leave it to a more senior reviewer to make a final call on this.).
Secure code
Yes: Follows guidelines for writing secure code. (There isn't much to review, but I didn't find anything wrong with the code submitted.)
Coding style & Drupal API usage
  • (*) All variables defined by your module need to be removed in hook_uninstall(). Please check all your variables.
  • When entering the Site ID an invalid key is silently accepted (but this obviously stops the module from working). It had been better if there was an error message when an invalid Site ID is entered.
  • Almost all configuration is supposed to take place at https://app.userballot.com/#/admin. For me, this URL just leads to a page where all settings strings where empty and nothing works.
  • (*) Currently it is too brittle to become a full project. AFAIK, I didn't do any extraordinary actions before I ended up in limbo with no access to the remote settings. I just poked around to get the "feel" of the project.
  • The starred items (*) are fairly big issues and warrant going back to Needs Work. The rest of the comments in the code walkthrough are recommendations.

    PA robot’s picture

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

    Closing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).

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