Visitors Voice analyzes anonymized search- and click behavior and can provide editors with actionable data about how to help more visitors find what they are looking for on their web or intranet.

Visitors Voice API which gives access to all data and the module for Drupal makes it easy for developers to use this data inside their Drupal application.

Currently Visitors Voice is used by about 30 clients, dominated by public organisations.

Link to project page:
http://en.visitorsvoice.com

Direct Link to github clone:
https://github.com/iamrasec/visitorsvoice_api

Sandbox URL:
https://drupal.org/sandbox/iamrasec/2080155

Drupal repository URL:
http://drupalcode.org/sandbox/iamrasec/2080155.git

Other projects reviewed:
- https://drupal.org/node/2039489#comment-7888495
- https://drupal.org/node/2085833#comment-7891775
- https://drupal.org/node/2097475#comment-7950033 (Pontus Rosin)

TAG: PAReview: reviewbonus

CommentFileSizeAuthor
#37 coder-results.txt5.93 KBklausi

Comments

bappa.sarkar’s picture

Please add your sandbox URL and drupal repository URL

iamrasec’s picture

bappa.sarkar’s picture

Status: Needs review » Needs work
  1. No README.txt file found
  2. Found commented code in module file in function visitorsvoice_api_settings() and in function visitorsvoice_api_retrieve_results(). please remove that.
  3. Function visitors_voice_api_keywords_to_url(), visitors_voice_api_search_terms_from_url(), visitors_voice_api_search_terms_to_url() and more which is never used.
bappa.sarkar’s picture

Please check above

iamrasec’s picture

Ok, will apply the following changes.

The functions you mentioned are there for use to connect to Visitors Voice API. This module is kinda like a base module for Devs that are using Visitors Voice. Currently, working on a module that is dependent on this one. Thanks!

bappa.sarkar’s picture

An Example module should be good.

bappa.sarkar’s picture

The comment #5 is a SPAM!

iamrasec’s picture

Added a README.txt and Removed the comments.

iamrasec’s picture

What do you mean by Example module? A demonstration of the usage?

bappa.sarkar’s picture

Yes. That would be nicer!

Pontus Rosin’s picture

Hi, Im the one who has initiated the development of this plugin. You can read more about our product at http://en.visitorsvoice.com and you can check out the API at http://api.visitorsvoice.com/.

We have many ideas of how to use our API for Drupal - for example to present internal search terms of a page/group of pages in order to help users navigate (quite common feature). Another idea is to present incoming/outgoing internal search terms in the edit mode for a page.

But we are not really sure how to do this in "the Drupal way" and would love to get some feedback on that from you guys or other Drupalists.

Therefore we would like to just as a start get this module published and in this way attract ideas and brains to our project/product. Whats your take on that?

Pontus Rosin’s picture

More details on the ideas:

For the first idea this call would be used: http://api.visitorsvoice.com/Help/Api/GET-api-v1-SearchTermsFromUrl-Get_...

As url one can send in a full url or part of url and get all search terms made from pages matching that url. For example:
http://www.....com/category/specificpage.html => get outgoing search terms from that url
http://www.....com/category/ => get outgoing search terms from all subpages

For the second idea this call would be used: http://api.visitorsvoice.com/Help/Api/GET-api-v1-UrlContext-Get_start_da...

This gives valuable insights for editors when they work with their pages.

Pontus Rosin’s picture

Perhaps we should change the name of this plugin to "Visitors Voice Site Search Analytics API" and the other modules we plan to do we could call "Visitors Voice Site Search from pages" and "Visitors Voice Site Search Analytics" etc

What's your take on that?

Best,
Pontus

iamrasec’s picture

Status: Needs work » Needs review

Any update on this? I think @Pontus Rosin has clearly explained the purpose/function of our module. Thanks!

iamrasec’s picture

You can see a demo of the module here: http://iamrasec.kd.io/samples/visitorsvoice6/

API calls and their responses.

PA robot’s picture

Status: Needs review » Needs work

Link to the project page and git clone command are missing in the issue summary, please add them.

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.

Pontus Rosin’s picture

Link to project page and git clone command added.

Thanks,
Pontus

Pontus Rosin’s picture

Status: Needs work » Needs review

Updated status as well to need review.

iamrasec’s picture

Issue summary: View changes

added link to other projects reviewed

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/httpgitdrupalorgsandboxiamrasec2080155git

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

iamrasec’s picture

Status: Needs work » Needs review
kscheirer’s picture

Status: Needs review » Needs work
Master Branch
It appears you are working in the "master" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.

Aside from that, this would be RTBC from me.

----
Top Shelf Modules - Crafted, Curated, Contributed.

kscheirer’s picture

Issue summary: View changes

Added sandbox URL and Drupal repository URL to description

iamrasec’s picture

Status: Needs work » Needs review

Thanks @kscheirer! I have removed the master branch now.

kscheirer’s picture

Status: Needs review » Reviewed & tested by the community

Thanks!

----
Top Shelf Modules - Crafted, Curated, Contributed.

nick_vh’s picture

Status: Reviewed & tested by the community » Needs work

I don't think the docblocks/doxygen written in the sandbox is completely in line with how Drupal expects documentation to be written.

For example :

**
 * Detect sudden changes users are searching for.
 *
 * @date_zero (integer) - required
 *   End date of the period where the search term trend should be detected 
 *   (yyyymmdd).
 *
 * @duration (integer) - required
 *   How many days back from date zero should be used for tracking the 
 *   search term trend (1-10).
 * 
 * @offset (integer) - required
 *   How many days previous to search term trend should be used for 
 *   comparison (1-30).
 * 
 * @min_user (integer) - required
 *   Minimum user count per day during trend period (>1).
 * 
 * @min_increase (integer) - required
 *   Min increase in user count during trend period compared to 
 *   previous period (>1).
 *
 * @ctr (string) - required
 *   Min (GT) /max (LT) click through rate ("GT-61" search terms 
 *   with max CTR of 60 during the trend period. "LT-59" means the opposite).
 * 
 * @return (object)
 *   The Drupal result object, or FALSE if the API key is not set.
 */

However, it should be like the following example :

/**
 * Sanitizes the 'value' or 'summary' data of a text value.
 *
 * Depending on whether the field instance uses text processing, data is run
 * through check_plain() or check_markup().
 *
 * @param $instance
 *   The instance definition.
 * @param $langcode
 *  The language associated to $item.
 * @param $item
 *   The field value to sanitize.
 * @param $column
 *   The column to sanitize (either 'value' or 'summary').
 *
 * @return
 *  The sanitized string.
 */

So the word after the @ needs to be a known word, not the argument.

Pontus Rosin’s picture

Status: Needs work » Reviewed & tested by the community

Thank you, now this is fixed.

Pontus Rosin’s picture

Issue summary: View changes

Added another project reviewed

Pontus Rosin’s picture

Issue summary: View changes

I have added one more project reviewed.

Pontus Rosin’s picture

I cant add tags to this page, but we claim the reviewbonus (PAReview: reviewbonus).

klausi’s picture

Status: Reviewed & tested by the community » Needs work

Did you forget to push your changes? http://drupalcode.org/sandbox/iamrasec/2080155.git

You can add tags to issues like this:

issue tags

Pontus Rosin’s picture

I have a major issue - the developer that helped us with this module doesnt respond any longer and I dont know how to push the changes to http://drupalcode.org/sandbox/iamrasec/2080155.git? If you check here I have made the changes

https://github.com/iamrasec/visitorsvoice_api

and I thought this was enough.

Any suggestions how I should proceed with this?

kscheirer’s picture

Assigned: Unassigned » klausi

I would say to do the following:

  1. Copy the sandbox code into your own sandbox.
  2. Close this application.
  3. Open a new application under your name, linking to your sandbox.

Unfortunately, we can only review drupal projects and sandboxes, not github. Sending to klausi as he would know better.

----
Top Shelf Modules - Crafted, Curated, Contributed.

klausi’s picture

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

Yep, exactly. Since we are vetting users here in this process you should open your own sandbox and your own project application issue.

Closing this one.

iamrasec’s picture

Status: Closed (won't fix) » Active

Hi klausi,

Sorry wasn't able to check back here as I was having connection problems these past few days. Will make the necessary fixes.

Opening back this project.

Thanks,
Cesar

iamrasec’s picture

Assigned: klausi » iamrasec
iamrasec’s picture

@Nick_vh,

Thanks for that. Rewriting the docblocks.

iamrasec’s picture

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

Docblocks rewritten.

klausi’s picture

Assigned: iamrasec » Unassigned
Status: Needs review » Fixed

Review of the 6.x-1.x branch:

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:
Your doc blocks are stil formatted wrong, check the standards: https://drupal.org/node/1354#param
It might be nice to have an example module included that actuallly does something with the received data, like displaying it in a block or similar.

But otherwise looks good to me. Since this was RTBC already and further fixing the doc blocks is not a critical application blocker ...

Thanks for your contribution, iamrasec!

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.

klausi’s picture

StatusFileSize
new5.93 KB

Forgot coder sniffer attachment.

iamrasec’s picture

Thanks klausi!

iamrasec’s picture

Issue summary: View changes

Added into description:
TAG: PAReview: reviewbonus

Status: Fixed » Closed (fixed)

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