CVS edit link for Ryan Palmer

I have been an active Drupal user and contributor for over 5 years and have written countless custom modules for my clients since becoming a professional Drupal developer 3 years ago. I've attended DrupalCons in Washington, Paris, San Francisco, and I've acted as DrupalCamp Montreal treasurer for the past 2 years. I was the technical reviewer for a recent Drupal publication by Packt Publishing (Drupal 6 Panels Cookbook).

I wish to further my code contributions past existing core and contrib patches (6 patches contributed to Drupal 7), and contribute some of my own custom modules for further reuse and community adoption and support.

The to-be-attached amazon_ses module enables Drupal to send email using the new Amazon Simple Email Service. There is no existing project for this since it was released on January 25. I believe this functionality deserves its own module, in a similar way that SMTP module does the exact same. This module does leverage the existing "creeper" module for Amazon SDK support, which I have upgraded to Drupal 7 (patch forthcoming, currently testing here: https://github.com/rypalmer/creeper).

I have written this module party due to an interest in Amazon AWS and partly for Parliamentary Monitoring Group in South Africa (PMG.org.za) as they send a lot of email using their Drupal site and have simply outgrown their existing solutions. I am storing this module temporarily on Github while we test internally (and the CVS application is still pending):

https://github.com/rypalmer/amazon_ses

There is a working demo in place here, but I'm not sure how best to demonstrate this without opening myself up for being a target for spam:

http://ses1.resonancedev.net/

Thank you for your consideration.

Comments

Ryan Palmer’s picture

Component: Miscellaneous » miscellaneous
StatusFileSize
new4.28 KB

amazon_ses module attached.

Ryan Palmer’s picture

Status: Postponed (maintainer needs more info) » Needs review
Ryan Palmer’s picture

Issue tags: +Module review
ldweeks’s picture

Sweet! Will this module be D7 only, then?

Warmly,

Lucas

Ryan Palmer’s picture

No, in fact the PMG site is D6 so I'll post a backported version sooner rather than later. I thought it would be best to start cleanly with D7.

If anyone wants to create an account on the test site to test the back-end (someone already did), I'm all for that, although I will have to scrub out my AWS credentials first :(

jtbayly’s picture

That was me, Ryan. I figured I could pseudo-test it just by requesting an account and getting the confirmation email. I don't really want an account. I put in an sbcglobal.net address, which is notorious for emails not getting through the spam filter. I got the email, so that's a real positive indication in my book. I guess it says more about Amazon SES, than about your module, but I can't wait to get this running on our sites. Thanks for the work.

Ryan Palmer’s picture

Yeah its really great eh! Except that it looks like AmazonSES wasn't actually turned on when you registered haha. It was turned off while I was testing the .install file.

User registration emails don't actually work right now because my Amazon SES account is still "sandboxed", and as such I can only send mail to email addresses I've "verified":

http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/InitialSetup...

When the switch is "On", I do get the admin emails from the site, from Amazon SES, notifying me of a new user registration. So it works great (really really fast), but if you register right now you won't actually get a confirmation email, or at least until my Sandbox-to-Production request is granted.

If anyone wants me to pre-verify their email address and thus get the confirmation email while Sandboxed, I'd be more than happy to do that. Thanks for the feedback!

Ryan Palmer’s picture

Minor update: Amazon has moved me into production, you can now register here and get a test email message:

http://ses1.resonancedev.net/user/register

SeanBannister’s picture

Just noticed another user applying for CVS access with a similar module, maybe you could both work together http://drupal.org/node/1042456

zugaldia’s picture

Hi Ryan, it seems we submitted the same thing with only a 24 hours difference :) Are you up to merge the two things?

Ryan Palmer’s picture

Hi! Yep it seems we are on very similar tracks eh. I am 100% open to having a co-maintainer for this module.

May I suggest we proceed with what I have in Github? Based on the feedback I've seen I think mine is a bit closer to being ready for prime time. What do you think?

zugaldia’s picture

I'd rather work in Drupal's CVS as I'd prefer to follow the community's recommendation. In any case, absolutely, I'd be more than happy to work together on this, and in github if the CVS thing takes time.

Ryan Palmer’s picture

Oh absolutely it would be hosted on Drupal.org. What I meant was using mine as a starting point.

halstead’s picture

Status: Needs review » Needs work
StatusFileSize
new65.41 KB

I finally found time to test today.
First I installed a fresh copy of Drupal 7 using the standard profile.
I then followed these steps,

cd sites/all/modules
git clone https://github.com/rypalmer/amazon_ses.git
git clone https://github.com/rypalmer/creeper.git
cd creeper
git clone git://github.com/cloudfusion/cloudfusion.git sdk
mv config.inc.php sdk/

Then I enabled Amazon_SES on the modules page and visited http://localhost/d7/admin/config/system/amazon_ses to be greeted by "Fatal error: Class 'AmazonSES' not found in /var/www/d7/sites/all/modules/amazon_ses/amazon_ses.admin.inc on line 126" (Backtrace screen cap attached.)
So I figured maybe creeper needed to be configured and visited http://localhost/d7/admin/config/creeper which displayed "Warning: Parameter 1 to creeper_admin_settings() expected to be a reference, value given in drupal_retrieve_form() (line 771 of /var/www/d7/includes/form.inc)."

After this I re-read both the amazon_ses and creeper READMEs but I didn't see any steps I had missed.

What shall I do next to continue testing?

Ryan Palmer’s picture

Status: Needs work » Needs review

Thanks for taking a look.

The SDK needs to be fetched from a different location -- the github repo is way out of date, and I forgot to fix this in the creeper README when I upgraded it. I've committed the change to Github.

https://github.com/rypalmer/creeper/commit/b31f6f7479be5e4edef44e3028b4c...

halstead’s picture

I've pulled the changes to creeper and followed the new README directions.

http://localhost/d7/admin/config/system/amazon_ses
Now prints two errors,

    * Notice: Trying to get property of non-object in amazon_ses_admin_info() (line 131 of /var/www/d7/sites/all/modules/amazon_ses/amazon_ses.admin.inc).
    * Warning: Invalid argument supplied for foreach() in amazon_ses_admin_info() (line 131 of /var/www/d7/sites/all/modules/amazon_ses/amazon_ses.admin.inc).

http://localhost/d7/admin/config/creeper
Still displays an empty page with this error
Warning: Parameter 1 to creeper_admin_settings() expected to be a reference, value given in drupal_retrieve_form() (line 771 of /var/www/d7/includes/form.inc).

Do you get these errors on a test install? What next?

caugmar’s picture

Hi! Really nice module. What would be needed to make it work with D6?

Ryan Palmer’s picture

Halstead, the first error was due to the request object returning an error, likely because you weren't fully configured at that point. I'm now checking its status before diving into the object. The pass-by-reference warning for Creeper should be fixed now, too. Both have been committed to Github.

Ryan Palmer’s picture

A new project application has been created here: #1072608: [D7] Amazon SES

arianek’s picture

Status: Needs review » Postponed

Hi. Please read all the following and the links provided as this is very important information about your CVS Application:

Drupal.org has moved from CVS to Git! This is a very significant change for the Drupal community and for your application. Please read the following documentation on how this affects and benefits you and the application process:
Migrating from CVS Applications to (Git) Full Project Applications

  • The status of this application will be put to "postponed" and by following the instructions in the above link, you will be able to reopen it.
  • Or if your application has been "needs work" for more than 5 weeks, your application will be marked as "closed (won't fix)". You can still reopen it, by reading the instructions above.
Ryan Palmer’s picture

Project: Drupal.org CVS applications » Drupal.org security advisory coverage applications
Status: Postponed » Needs review

The new sandbox project is available here: Amazon SES

berdir’s picture

I think either this or #1072608: [D7] Amazon SES should be marked as duplicate of the other one. I'd suggest keeping this open because of the comment history.

zugaldia’s picture

I also have an open CVS application for a similar module (#1042456: Amazon SES - co-maintainership request). As discussed with Ryan in this thread, we are happy to be co-maintainers of the module.

The git sandbox project has already been created so I don't see necessary to create another one. Can we go ahead with this project and both be set up as maintainers?

zzolo’s picture

Status: Needs review » Fixed

I have commented on @zugaldia's application about how to apply as a co-maintainer. If it's slow

I have reviewed this project and all the code looks good, sticks to most coding standards, includes documentation, use of t(). Also, it's nice to see collaboration in the application process itself.

Please read the following pages (and sub-pages) about Git usage and Drupal best practices:
http://drupal.org/documentation/git
http://drupal.org/node/360052

zugaldia’s picture

Hi Ryan, can you add the issue to set me up as co-maintainer? Thanks.

Status: Fixed » Closed (fixed)
Issue tags: -Module review

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

Ryan Palmer’s picture

Issue summary: View changes

Redacted

avpaderno’s picture

Title: Ryan Palmer [rypalmer] » [D7] AMazon SES
Component: miscellaneous » module
Status: Closed (fixed) » Fixed

I am giving credits to the users who participated in this issue.

avpaderno’s picture

Issue tags: -Module review

Status: Fixed » Closed (fixed)

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