Closed (fixed)
Project:
Drupal.org security advisory coverage applications
Component:
module
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
29 Nov 2011 at 15:31 UTC
Updated:
18 Sep 2012 at 11:30 UTC
Jump to comment: Most recent file
Comments
Comment #1
patrickd commentedReview of the 7.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
Source: http://ventral.org/pareview - PAReview.sh online service
Comment #2
kristiaanvandeneyndeFixed all of the above
Comment #3
patrickd commentedSee http://ventral.org/pareview/httpgitdrupalorgsandboxkristiaanvandeneynde1...
Comment #4
kristiaanvandeneyndeCompletely cleaned up now.
http://ventral.org/pareview/httpgitdrupalorgsandboxkristiaanvandeneynde1...
Comment #5
klausiThere are still files other than README.txt in the master branch, make sure to remove them. See also step 5 in http://drupal.org/node/1127732
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. Go and review some other project applications, so we can get back to yours sooner.
manual review:
<script>alert('XSS');</script>will that trigger a nasty javascript popup on that form? If so, make sure to sanitize the contents of the $options array before using it on #checkboxes form elements. See also http://drupal.org/node/28984Comment #6
kristiaanvandeneyndeAbout the branch
The master branch is to be deleted as soon as I get full project rights. (Can't do that now it seems)
Which is why I haven't emptied it for now.
About the coding standards
They have all been fixed except for:
The Drupal Docs page about Doxygen doesn't mention anything about having to specify data types.
PAReview only recently started to complain about that...
About the other issues
They have been fixed, check the latest alpha4 release.
Comment #7
kristiaanvandeneyndeComment #8
kristiaanvandeneyndeStill actively working on this project whilst adhering to coding standards.
I feel being able to release an alpha version could generate some very useful community feedback.
Comment #9
chrisroane commentedMANUAL REVIEW
--------------
1. Why would someone want to use your module, instead of the Mime Mail module? http://drupal.org/project/mimemail
2. After installing the module, when I went to /admin/config/, it displayed this error:
Fatal error: Call to undefined function libraries_detect() in /Users/chrisroane/Sites/acquia-drupal/sites/default/modules/manymail/manymail.install on line 21
However, I can access this page: /admin/config/manymail
3. The README.txt file is still not populated with information. It doesn't need to be 100% complete, but what you have there is not enough: http://drupal.org/node/447604
A few things that are not clear to me that should be cleared up on the project page and the readme file:
* How is this module intended to be used? I've installed the module, but there is not any information where I need to go from there.
* Information on the maximum amount of emails that we can expect this module to be able to send. If this information is not known, than what is the most emails this module has been tested to send out?
4. I tested the config area and it appears to save the settings. Are there options for sending plain text or html emails? I think this is a pretty important feature.
AUTO REVIEW
-----------
There are a few issues that PAReview brought that are not in the changelog file.
Comment #10
kristiaanvandeneyndeThanks for doing a manual review.
Below are some answers to your above points:
Why would someone want to use your module, instead of the Mime Mail module?
We're comparing apples to oranges here. Mime Mail is intended to allow other modules to send HTML mail. As stated on the project page, I intend to implement Mime Mail support in ManyMail.
However: ManyMail's primary goal is to allow a user to send mass email from within a website. Something you cannot do by just clicking "send to 10.000 people" in any module so-to-speak.
ManyMail implements a batch sending system, almost identical to the Sendblaster software. Only, this module allows you to bypass the need for such software and allows you to directly query your Drupal user database (amongst others).
After installing the module, when I went to /admin/config/, it displayed this error...
Are you using the latest version of both ManyMail and Libraries?
I have a doxygen block on line 21 of manymail.install...
The README.txt file is still not populated with information...
I'll work on this, but to answer your questions:
How is this module intended to be used? I've installed the module, but there is not any information where I need to go from there.
You should go to base_path/manymail (it gets added to your site's menu after module activation). I do agree this could be more clear, though.
Information on the maximum amount of emails that we can expect this module to be able to send. If this information is not known, than what is the most emails this module has been tested to send out?
It can send as much email as you intend to leave your browser open for. Because of the throttling, any receiving mail server will handle it as separate small batches of mails and thus not treat it as spam. I intend to implement a "pause" feature in a later version so you can close your browser and come back later.
Are there options for sending plain text or html emails?
As implied by the "will implement MimeMail support": this module currently only allows the sending of plaintext email.
Because of the high priority I give to spam prevention, implementing HTML support is something that should not be taken lightly. Sending out a lot of HTML type mails can, if done incorrectly, easily lead to your site's ip address being blacklisted.
PAReview.sh shows nothing but CHANGELOG.txt now
Please check if you're running it on the latest branch (7.x-1.x)
Comment #11
kristiaanvandeneyndeUpdated the README in branch 7.x-1.x
Comment #12
chrisroane commentedThanks for clarifying the purpose of the module.
--------------
MANUAL REVIEW
--------------
1. I figured out why the error was appearing on the config page. It was because I had libraries 7.x-1.0 installed...which was the only version. I missed that you specified this on your project page. I would recommend you specify the version number of the libraries module that is required in your .info file. I think you can do this by making it look like this: dependencies[] = libraries (2.x) .
2. For the SMTP settings, is there a way in validating the settings that are saved? Maybe send one test email using the settings, once the form is submitted? I can't seem to get the send function to work, and I'm not sure if it is because of my SMTP settings or if it is a local server issue. The watchdog log doesn't give any specific details in why the send function didn't work.
3. Can you specify on the admin/config/manymail/config/defaults for the reply to name/email, that they can leave it blank for it to use the from name/email options? I noticed that it specified this on the manymail/all but not on the main config page.
4. Also on the SMTP settings page. After I enter the information and go back to the form...it is not clear to me that the password is being stored (the field is blank). Usually they only need to re-enter a password if they are changing the password. It would be great to see that functionality here.
5. The system doesn't seem to require the phpMailer library properly? I know it mentions this in the INSTALL.txt file...but when I didn't install the library and attempted to send an email I got this error: An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /batch?id=4&op=do StatusText: OK ResponseText: Fatal error: require_once() [function.require]: Failed opening required '/Users/chrisroane/Sites/acquia-drupal//class.phpmailer.php' . It would probably help people in getting this working if it displayed an error if it can't find this before they attempt to send an email.
6. The .module seems to do a lot. Could you break it up a bit to make things easier to maintain? Maybe separate the admin functions from the sending functions in separate files outside of the .module file.
------------
AUTO REVIEW
------------
I only see one warning, outside of files in the master branch and the changelog file with the online code review utility: http://ventral.org/pareview/httpgitdrupalorgsandboxkristiaanvandeneynde1... . You are close!
However, I ran the coder module code review. Attached are the drupal coding standards issues I found in a PDF file. I suggest running this module from your end and resolving these issues.
I do like what I see, and I think this module will be useful!
Comment #13
chrisroane commentedUpdated status to needs work.
Comment #14
kristiaanvandeneyndeThanks Chris, here are some answers to your concerns.
1.: check out #1013302-50: Composer metadata on dev versions doesn't work in update.php and the rest of that issue. This is why I couldn't specify a dependency version earlier.
2. I fixed watchdog logging after klausi's post in #1355894-5: ManyMail. Could you try the very latest build of the 7.x-1.x tree and see if you get any watchdog errors then?
3. Done.
4. Please see #67519: #default_value doesn't work with password fields, this is working as intended. I just ran a test, however, and can assure you that your password is stored :)
5. With the latest version of the 7.x-1.x branch, check admin/reports/status. It should give a big nasty red error across the entire range of admin pages as long as you didn't install phpmailer correctly.
6. Again, are you sure you're using the very latest build in the 7.x-1.x tree? I've already had this comment by klausi in #1355894-5: ManyMail and fixed it.
7. I've run the Coder module "Code review" against the latest code and I get no errors except 44 minor ones about the use of @see (exactly the amount of @see occurrences...). I assume this has to do with #832694: @see false positives
Comment #15
chrisroane commentedOkay, I see what was going on. You're right....I wasn't using the 7.x-1.x branch. I was just using the checkout code from your project page. It is a pretty big issue to have old files under the master branch...but I know you are going to fix that when you can.
1. I checked out the latest code for 7.x-1.x . But when I don't have the phpmailer module installed, it doesn't display an error until I try to send, and the error isn't very pretty.
2. In the recipeint list section, I know the format specified email@email.com|Name....which works great. But I don't think the name should be required (maybe they just have a list of email addresses). Can you make the name optional?
3. I got the "Mail All Users" option and the "Mail user roles" option to work. However, when I tried to test the recipient list send option, I received this error:
I'm new to reviewing drupal projects, but I think you are close!
Comment #16
kristiaanvandeneynde1. It should give you the message "One or more problems were detected with your Drupal installation. Check the status report for more information."
I have, however addressed this issue in commit 20fb7805ae
2. This was intended behavior: If you want to mail a lot of people you should at least be able to address them by name. I do see this as a valid concern though, so I'll figure out the best way to allow it. Will add this to the issue queue.
3. This was actually a bug, thanks for finding it :)
See commit 5fe0cd920e for the fix.
Comment #17
kristiaanvandeneyndeSetting this to 'needs review'.
By the way, thanks for the reviews Chris.
For someone who's new to the whole process, you're being a great help in streamlining this module.
Comment #18
chrisroane commentedKristiaan:
1. I verified that the warning does show up in the Status area when phpmymailer library is not installed.
3. I verified that this bug was fixed on the 7.x-1.x branch.
I'm confused at why you are not able to clear out all of the files from the master branch? This is a pretty big deal, as it makes it confusing for those who want to contribute when there are files in that directory. Once that is fixed, I will mark it as "reviewed & tested by the community".
Comment #19
kristiaanvandeneyndeChris,
I will empty the master branch tomorrow until I get full git access so I can delete it altogether.
Comment #20
chrisroane commentedThat's what I meant. I don't think you can delete the master branch in git (it is there by default). I think it is just drupal standards not to put anything in the master banch, since you don't know which version it is.
Comment #21
kristiaanvandeneyndeI've emptied the master branch.
You should be able to delete it as soon as you get full access and set a different branch as the default.
Comment #22
chrisroane commentedLooks good from my end. Changed it to "reviewed & tested by the community".
Comment #23
kristiaanvandeneyndeCheers Chris, thanks for all the reviewing work.
Comment #24
klausiReview 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. Get a review bonus and we will come back to your application sooner.
manual review:
t('Are you sure you want to delete the following list:') . ' <strong>' . check_plain($data->display_name) . '</strong>'": Again, do not concatenate translatable strings, use placeholders instead.Anyway, those issues should be fixed but are no blockers, so ...
Thanks for your contribution, kristiaanvandeneynde! Welcome to the community of project contributors on drupal.org.
I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.
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.
As you continue to work on your module, keep in mind: Commit messages - providing history and credit and Release naming conventions.
Thanks to the dedicated reviewer(s) as well.
Comment #25
kristiaanvandeneyndeThanks klausi and chrisroane!
I've fixed all the issues above and will make sure to keep an eye on the Project Applications Queue to review modules within my field of expertise.
Comment #29
kristiaanvandeneyndeEdit: Fixed after webmaster removed a spammer as per #1787548: Spam problem