CleverReach offers you powerful email marketing software which enables you to create your professional emails online, send them safely, measure the success and manage your email contacts.
This module enables the power of CleverReach in Drupal. It uses the Cleverreach API.
- Import your Cleverreach-Groups & Attributes (Fields)
- Create blocks for each group. A block contains a form for newsletter subscription. Optionally attributes are included as a form field.
- Subscriptions automatically are sent to your CleverReach-Account.
https://drupal.org/sandbox/kasalla/2017855
git clone http://git.drupal.org/sandbox/kasalla/2017855.git cleverreach
Manual project reviews:
https://drupal.org/node/2075353#comment-7801049
https://drupal.org/node/2075237#comment-7801081
https://drupal.org/node/2074175#comment-7801103
| Comment | File | Size | Author |
|---|---|---|---|
| #11 | crdev1.png | 27.34 KB | kasalla |
Comments
Comment #1
PA robot commentedThere are some errors reported by automated review tools, did you already check them? See http://ventral.org/pareview/httpgitdrupalorgsandboxkasalla2017855git
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.
Comment #2
kasalla commentedFixed all Errors from the codesniffer error report.
please check.
Comment #2.0
kasalla commentedChanges git-path to non-maintainer path.
Comment #3
zestagio commented1. It appears you are working in the "master" branch in git. You should really be working in a version specific branch.
2. cleverreach.module
line 175
Functions and variables should be named using lowercase, and words should be separated with an underscore. Rename
_cleverreach_get_groupNameto_cleverreach_get_group_nameline 231
Functions and variables should be named using lowercase, and words should be separated with an underscore. Rename
_cleverreach_build_blockFormto_cleverreach_build_block_form3. cleverreach.admin.inc
line 159
I think it would be correct to move this hook to cleverreach.module file.
Sorry for my english.
Comment #4
kasalla commentedHi, thanks for your review.
I fixxed point 1 - 3 and moved the module to 7.x-1.x-dev branch.
Comment #5
ronfeathers commentedYou should just have the 7.x-1.x branch. I understand why you put dev in it, but that's not exactly the pattern.
On the Overview page, when you click 'Add Block" you lose context with the tabs (no longer active).
- http://localhost:8888/admin/config/services/cleverreach/addblock
All userfacing text should run through t() for translation
Cleverreach admin overview
line 29 in cleverreach.module:
'description' => 'Cleverreach admin overview.',
and many others in cleverreach_menu()
~R~
Comment #6
kasalla commentedHi, thanks for your review.
Changed the default branch from 7.x-1.x-dev to 7.x-1.x branch only, without -dev.
---
The tabs are "overview" and "settings" pages. On the add block page you are not on one of this pages, so it is correct that the tabs are not active, isnt it ?
---
in hook_menu you should not use t() function, look at https://api.drupal.org/api/drupal/modules!system!system.api.php/function...
It's a error in Codersniffer too (ERROR | Do not use t() in hook_menu())
Kind regards
kasalla
Comment #7
sn_idea_engineer commentedHi kasalla,
Here are the few additional comments on your module code.
.module
-------
- _cleverreach_build_block_form() have got html in the code which is not recommended as per standards though its already there in few of existing modules as well however you should think about removing that.
- All control and conditional blocks like, foreach, if etc should have a blank line before and after the block.
- _cleverreach_group_assign_validate() is using a regex to validate the email address. Please use valid_email_address() which is a drupal method to validate it.
- Line#315 have a static query which is using db_select, please use db_query to make the process faster if there is no dynamic database query.
.cleverreach.admin.inc
----------------------
- Line#12 Use db_query as this is also a static query.
- Also this file is also a candidate for few of the changes which were suggested in the above file.
.install
-----------------------
- Need not to provide empty indexes/unique keys/foreign keys.
I think that should be it once you made changes to your code.
Comment #8
kasalla commentedHi sn_idea_engineers,
thanks for your review! I fixxed the points. Can you check and maybe update the status to "reviewed and tested by the community" if no more problems exists?
Kind regards
kasalla
Comment #9
kasalla commentedComment #10
silbermann commentedHi kasalla,
if I have a field of type gender imported from cleverreach, the form field in the subscription box should be rendered as select box instead of a text field. The values of the type gender may contain male, female, mr, mrs, herr,frau, mann, frau, ... as described in the Cleverreach API documentation.
Kind regards
Silbermann
Comment #11
kasalla commentedHi Silbermann,
thanks for your review. I added a new "Display" Column to the Blockfields edit / add page. You are now able to select the "Display-Formatter". You can choose between a textfield and a select box and you are able to set default values on textfields.
I also added a contextual-link to CleverReach-Blocks. Now you can reach the CleverReach blocksettings from the block menu directly.
Please review.
Kind regards
Kasalla
Comment #12
silbermann commentedGreat work! I will use this module in future projects.
Little thing in line 447 in file cleverreach.admin.inc. Sometimes the textarea to determine the select box options disappears if i changed the cleverreach group on the block edit page. To prevent this change the line 447 in:
On my wishlist is an optional opt-in e-mail. Should be possible with the formsSendActivationMail function of the cleverrach api. Only a suggestion, but not necessary.
Kind regards
Comment #13
silbermann commentedChanging status to needs work
Comment #14
kasalla commentedThanks for your review. I'm glad that you like the module.
Line 447 was not the only problem, but fixxed now.
Please review and set status to reviewed & tested by community if no more errors exists.
Kind regards
kasalla
PS: The formsSendActivationMail function looks nice. If this project get a full status I implement this at version 7.x-1.1
Comment #15
kasalla commentedComment #16
silbermann commentedLooks good. No more errors found.
Last remark: to help other developers to understand your code quickly you could provide some inline comments. More details about module documentation here.
But I am not sure if it is really necessary in this module. Most of it should be self-explaining. So I set this project application to reviewed & tested by the community.
Kind regards
Comment #17
kscheirer$form_state['input']Otherwise this looks pretty good to me.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #18
kasalla commentedHi kscheirer, thanks for your review.
Deleted hook_install and added hook_requirements for the SOAPClient Class. Fixed the code style issues. I now use the $form_state['values'] variable.
Kind regards
kasalla
Comment #19
kscheirerThanks for those updates!
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #19.0
kasalla commentedupdated git link
Comment #19.1
kasalla commented- added project review links
Comment #20
kasalla commentedProject reviews:
https://drupal.org/node/2075353#comment-7801049
https://drupal.org/node/2075237#comment-7801081
https://drupal.org/node/2074175#comment-7801103
Comment #21
klausiThe following git branches do not match the release branch pattern, you should remove/rename them. See http://drupal.org/node/1015226
Review of the 7.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:
I'm a bit on the fence whether the potential XSS issue is a blocker, but since I could not exploit it currently ...
Thanks for your contribution, kasalla!
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.
Comment #22.0
(not verified) commented* fixed manual review links
Comment #23
avpaderno