This module is a full implementation of the Google Vision API, that also provides a hook to grab the returned information and feed any search form or anything like that. It is coded using the Google PHP Client Library, through the functionalities provided by Libraries API and another module that i've created, the Google PHP Client Library(check it's project page), which will go live as soon as this module goes. The generic integration is provided through 2 blocks, one with the upload field and a select list of the API functions, and another one with the upload field and no function choosing available for end-users, as this one is configured through the block configuration page. The main purposal of this module is the functionality and easy way of implementation that it brings together with the Google PHP Client Library.
The project page contains more detailed information about the library.
You can clone the project by using the command git clone --branch 7.x-1.x https://git.drupal.org/sandbox/davic/2760509.git gvision
Manual Reviews of other projects:
https://www.drupal.org/node/2761385#comment-11476027
https://www.drupal.org/node/2633498#comment-11476245
https://www.drupal.org/node/2775533#comment-11476397
https://www.drupal.org/node/2498097#comment-11553131
Post-approval checklist:
- Update readme file with the official Google PHP Client Library project page link as soon as it's not a sandbox anymore
- Update the Project page links with the official Google PHP Client Library project page link as soon as it's not a sandbox anymore
- Review any other documentation or help pages/hooks that may contain the old links
| Comment | File | Size | Author |
|---|---|---|---|
| #12 | readme examples.png | 32.06 KB | davic |
| #12 | hook_uninstall remove files.png | 28.27 KB | davic |
Comments
Comment #2
PA robot commentedProject 1: https://www.drupal.org/node/2807381
Project 2: https://www.drupal.org/node/2779113
As successful completion of the project application process results in the applicant being granted the 'Create Full Projects' permission, there is no need to take multiple applications through the process. Once the first application has been successfully approved, then the applicant can promote other projects without review. Because of this, posting multiple applications is not necessary, and results in additional workload for reviewers ... which in turn results in longer wait times for everyone in the queue. With this in mind, your secondary applications have been marked as 'closed(duplicate)', with only one application left open (chosen at random).
If you prefer that we proceed through this review process with a different application than the one which was left open, then feel free to close the 'open' application as a duplicate, and re-open one of the project applications which had been closed.
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #3
PA robot commentedWe 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.
Comment #4
davic commentedComment #5
3ssom commentedHello davic,
I have a problem starting a review for your project which is Google PHP Client Library module as a dependence!
I tried to find it! the project link in your page gives a 404 ,, tried to google it also its not there! so how can we use your module to start reviewing it!
can you help us here start this :)
Thank you
Comment #6
davic commentedHello @3ssom,
First of all, thank you for taking your time trying to review the module!
I'm not sure of what happened with the links, but they are working normally for me, still i'll leave the raw link to the Google php client library module here: https://www.drupal.org/sandbox/davic/2779027, please try using it.
And just as a reminder, the Google php client library module is also a sandbox of mine, as i intend to bring up both modules, but i realized that the library functionality could be more useful for the community as a module itself.
Please Tell me if you still have any kind of problema trying to review it! Thanks!
Comment #7
davic commentedComment #8
3ssom commentedHello davic,
You are welcome buddy ,
So if Google PHP Client Library still a sandbox ,, why not start with it! I mean once you have the library as full project you won't have to go through all of this process because its one time thing!
I'd suggest that if you are planning on bring the both of them .. but what I don't understand is in your module page you have the link for Google PHP Client Library as a full project which confusing because it will give you a 404 page .. you should mention that and fix the link also there.
if you intent to complete this one I'd be happy to complete this one and give it a try as you said for the sandbox dependence there ..
Thank you
Comment #9
davic commented3ssom,
Indeed it would be great to start with it, but i wanted to ensure that this code is clean, because it uses a lot of hooks and Drupal stuff, and it is way larger than that one, that is a simple implementation of the libraries module's hook. This way i ensure i'm more used to the Drupal Standards of coding, and i was also wondering about one of the items from the approval checklist that relates to the complexity of the code, so i just said "why not take a shot?" to this one.
And about the project page i'll fix it right now, thank you for the help!
If you don't mind, i would appreciate if you take a try to this one!
Thanks.
Comment #10
3ssom commentedOk as you wish ,, will do the review right now ,, but please don't change the priority ..
Comment #11
3ssom commentedHere we go :)
Automated Review
found some minor errors @
http://pareview.sh/pareview/httpsgitdrupalorgsandboxdavic2760509git
Note that perfect adherence to Drupal Coding Standard is NOT a reason to block an application, except for total disregard of them. However, modules should follow them as closely as possible.
Manual Review
I'd like to mention that one of the module dependencies[] = google_php_client_library is still in sandbox which made me cloned it before I was able to enable the module .. I guess this would be up to the Git admins to decide what to do about this..
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.
Comment #12
davic commentedThank you very much for the review!
I made the necessary changes to the code, README, and added an install.php file. According to some research that i did, because i'm using managed files i can't bulk remove them with file_unmanaged_delete_recursive(), so i did another kind of implementation in the hook_uninstall() (I attached an Image to highlight this code). I'm not sure if it's coded in the best way, so i'd like to hear your opinion about it :).
About the README file, i updated it to follow the Table of Contents the closest, but in the page related to README files guidelines, there are some links related to examples that are accepted too(also attached the image showing these links), i also looked at them while created mine, thats why there are some additional content in the README file.
Alright, thanks for all the help! I'll be waiting for the next review ;)
Comment #13
davic commentedComment #14
davic commentedJust adding a checklist to the issue summary of what needs to be done if the project gets approved, such as :
Comment #15
3ssom commentedHello davic,
Great work ,, will follow the points mentioned in my review above.
I'd like to mention here to the git admin again .. this module use google_php_client_library which is a dependencies for this module is still a sandbox for now.
otherwise I see no blocker here and this is a RTBC!
Comment #16
davic commentedAlright, all the the adjustments were made!
Thank you very much for your time 3ssom, i learned some nice stuff while following your advices, and now the code seems great!
Just mentioning one more time to the git admin, as 3ssom already mentioned before, this module uses the google_php_client_library one that is another sandbox of mine, and that will be released together with this one. They are separated because i realized that the library functionality could be more useful for the community as a module itself.
Thanks!!
Comment #17
3ssom commentedHello davic,
You are welcome :)
I can confirm all points are cover and fixed .. I'm unassigning this from me for now so the git admins can publish this project .. also I totally agree with you on separating the 2 module .. API's always need to be separated because anyone can use the API for any other idea or project .. but probably you should have started with the API module first which is very OK giving this the priority as the main idea for the project :)
Good luck .. and keep up the good work!
Comment #18
imyaro commentedHello,
Seems this module is duplication of the https://www.drupal.org/project/google_vision
Or not? I didn't compared modules functional
Comment #19
davic commentedHello @zvse,
I wouldn't say so. In a functional view, i'd say they are pretty different, even though we are talking about the Google Vision API in both cases. The Google Vision Module provides a great functionality related to entities, so that includes categorization integrated with taxonomies for example, and much more. In my case i'm providing a different and simpler use, while i provide some blocks for direct connection with the API, so that it's simple to use and not related to categorization, and more than that, the main purpose on my module resides on the hook it provides, which is very useful for situations where you want to use an image as a source of information for search fields or integrations with other APIs. And more than that, i'm not doing the requests manually, i'm using the official Google PHP Client Library for it and also providing a module that uses the Libraries API Module to implement that Lib in order to make it available for anyone to use.
So, in my opinion it doesn't seems that the functionality is the same, but feel free to share your opinion too if you can compare them, so we can discuss further!
Thank you :)
Comment #20
klausimanual review:
Otherwise looks good to me!
Thanks for your contribution, Davi!
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.