This new module facilitates business gathering customer feedback in multimedia formats: text, photo, audio, and video. The module makes it easy for business to appreciate customer's time and effort instantly, safely, and simply. It is a both PC and mobile friendly out-of-the-box solution, offering feedback campaign setup, customer experience capture, digital content protection, online money payment, and social media sharing. With only a few clicks, business has the powerful comment box ready. It dramatically increases customer engagement. Customers never ignore request to leave a comment or suggestion.

project page: https://drupal.org/sandbox/grabimo/2164941

git repo: http://git.drupal.org/sandbox/grabimo/2164941.git

demo page: http://demo.grabimo.com/drupal7/

Reviews of other projects

https://drupal.org/comment/8342101#comment-8342101
https://drupal.org/comment/8322751#comment-8322751
https://drupal.org/comment/8323635#comment-8323635

Comments

grabimo’s picture

Issue summary: View changes
andystone78’s picture

Hi Grabimo,

I have taken a look at the module and noticed several issues:

You should delete any variables created by the module in hook_uninstall (eg: multimedia_feedback_subject, multimedia_feedback_alias etc).

There are also many errors reported by the automated checker: http://pareview.sh/pareview/httpgitdrupalorgsandboxgrabimo2164941git. Mostly because you are using tabs rather than 2 space indentation.

Adding JS & CSS in multimedia_feedback_init() will add to every single page (which appears to not be required, and will add to page sizes and server load). These really need to only be added when needed (page callbacks etc).

The settings page is locked to the 'administer multimedia_feedback settings' permission, however there is no hook_permission defining this permission so no user can be granted it.

Good luck with your module

Andy

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.

grabimo’s picture

StatusFileSize
new20.73 KB
grabimo’s picture

Thanks Andy, the new code has fixed call coding standard errors and warnings, added hook_uninstall and hook_permission.

grabimo’s picture

Issue summary: View changes
grabimo’s picture

Issue summary: View changes
grabimo’s picture

StatusFileSize
new21.09 KB
devd’s picture

Hi grabimo,

You have put the git repo path to download your module that is correct but if you put it like

Link to the sandbox project: git clone http://git.drupal.org/sandbox/grabimo/2164941.git multimedia_feedback

then it will be good for novice user.

andystone78’s picture

RE, your emailed me asking: Do you have any suggestion on loading CS and JS more efficiently? Hope there is a callback function.

It appears that the CSS & JS are only required when the block is viewed, so can you not place the drupal_add_js and drupal_add_css here too? these functions allow you to place the js in the header, footer or inline so i dont see why this could not work.

Also, in the hook_permissions added, the permission index is 'administer multimedia_feedback', but the permission in hook menu is 'administer multimedia_feedback settings'. These need to match.

I also noticed that the configure line in your .info file is missing:
configure = admin/config/multimedia_feedback.
This places a link on the modules page to your settings form (There is a different path between D6/7, I have not encountered a dual D6/D7 module before so i'll let you figure out how to solve this).

Something else you may wish to check, you have added copyright notices to your code. I may be wrong but i believe this isn't allowed for contribution modules as they have to be available on the same terms of Drupal itself.

All the best

Andy

ram4nd’s picture

Status: Needs review » Needs work

Just some basics that you have to know about contributing modules.

  • Don't upload your module code as zip everywhere. The code should be in git and only in git. You just clutter drupal.org.
  • Follow this guide to fix your branches: https://drupal.org/empty-git-master
  • Make sure your git commit messages are full sentences with capital letter and dot in the end.
  • Remove your copyright sentences. You can write credits to your project page. Drupal has its own licences. https://drupal.org/licensing/faq
  • Don't create your own module package, if every module would be in separate package then what would the point of that kind of categorisation.
  • I would put links in translations in arguments.
grabimo’s picture

grabimo’s picture

Issue summary: View changes
grabimo’s picture

Thanks everyone for reviewing this module. We are addressing the comments.

grabimo’s picture

Issue summary: View changes
grabimo’s picture

Issue summary: View changes
grabimo’s picture

Issue summary: View changes
Status: Needs work » Needs review
grabimo’s picture

Issue summary: View changes
Issue tags: +PAreview: review bonus
klausi’s picture

Status: Needs review » Needs work
Issue tags: -PAreview: review bonus +PAreview: security

manual review:

  1. the project page is full of marketing speak, but I have no idea what this module does in combination with drupal? Please follow the tips for a great project page: https://drupal.org/node/997024
  2. multimedia_feedback_menu(): you should not have Drupal 6 compatibility code in there. If you want to provide a Drupal 6 version of this module you should do that in a separate 6.x-1.x git branch. Same for other places - please remove all Drupal 6 hooks in the 7.x-1.x branch.
  3. multimedia_feedback_admin_settings_validate(): you could use element_validate_integer_positive in multimedia_feedback_admin_settings() as #element_validate callback, then you don't need that validation function. See https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.h...
  4. multimedia_feedback_block_view(): this is vulnerable to XSS exploits. If I enter x')"><script>alert('XSS');</script> as Business alias I will get a nasty javascript popup when block is displayed. You need to sanitize user provided text before printing into HTML, please read https://drupal.org/node/28984 again. Same for $block["subject"]. And please don't remove the security tag, we keep that for statistics and to show examples of security problems.

Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.

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.