Easy-digital-downloads: Add integration with SendWP

Created on 17 May 2019  Â·  22Comments  Â·  Source: easydigitaldownloads/easy-digital-downloads

We are introducing an integration with SendWP for improved email deliverability.

Implementation is ready for testing: #7266

To test:

  • Checkout sendwp
  • Navigate to Downloads > Settings > Emails
  • Click Connect SendWP
  • Signup for a SendWP account (requires real credit card but can be cancelled / refunded)
  • Do things that trigger email notifications (purchase receipts, expired licenses, etc)

One note: after successfully signing up for SendWP, you will be redirected to Tools > SendWP. The SendWP team is working on an improvement that will allow us to specify a custom redirect URL so we can send them back to the Emails tab in our own settings to avoid context switching.

component-administration type-feature

Most helpful comment

I would like to implement UI tweaks. Here's my inspiration:

Opera Snapshot_2019-05-23_140221_seandavis co

  • I'd like for for SendWP to have its own section (not subsection, just heading with settings below) titled SendWP Settings
  • The first (and only, for now) setting would be labeled (the text in the left column) Connection Status.
  • The button would be styled less like a secondary button, and be above its description text.
  • The description text would be shortened and tweaked to offer a solution to a possible problem, instead of offering a solution to a problem we _assume_ already exists.
  • While connected, the button style will change to the secondary style and make clear that it's a Disconnect button (already done). The setting description would be adjusted (if needed, based on original text). At a minimum, we need to clearly state that you are connected to SendWP, and also the status of the Tools -> SendWP setting for enabling/disabling sending. Or, perhaps, we only show a status of that setting if sending is disabled. We'd want to link to the setting if it is disabled.
  • The remaining settings should now live under their own title called Email Configuration, or similar.

All 22 comments

Ok I've tested the signup flow, and all seems to work fine. When I tried to disconnect, i got these in my error logs:

[23-May-2019 18:23:11 UTC] PHP Deprecated:  Non-static method SendWP\Assets::image_url() should not be called statically in /app/wp-content/plugins/sendwp/includes/admin/views/menu.html.php on line 8
[23-May-2019 18:23:11 UTC] PHP Stack trace:
[23-May-2019 18:23:11 UTC] PHP   1. {main}() /app/wp-admin/tools.php:0
[23-May-2019 18:23:11 UTC] PHP   2. require_once() /app/wp-admin/tools.php:10
[23-May-2019 18:23:11 UTC] PHP   3. do_action() /app/wp-admin/admin.php:253
[23-May-2019 18:23:11 UTC] PHP   4. WP_Hook->do_action() /app/wp-includes/plugin.php:465
[23-May-2019 18:23:11 UTC] PHP   5. WP_Hook->apply_filters() /app/wp-includes/class-wp-hook.php:310
[23-May-2019 18:23:11 UTC] PHP   6. {closure:/app/wp-content/plugins/sendwp/includes/admin/load.php:7-19}() /app/wp-includes/class-wp-hook.php:286
[23-May-2019 18:23:11 UTC] PHP   7. include() /app/wp-content/plugins/sendwp/includes/admin/load.php:15
[23-May-2019 18:23:12 UTC] PHP Deprecated:  Non-static method SendWP\Assets::image_url() should not be called statically in /app/wp-content/plugins/sendwp/includes/admin/views/menu.html.php on line 8
[23-May-2019 18:23:12 UTC] PHP Stack trace:
[23-May-2019 18:23:12 UTC] PHP   1. {main}() /app/wp-admin/tools.php:0
[23-May-2019 18:23:12 UTC] PHP   2. require_once() /app/wp-admin/tools.php:10
[23-May-2019 18:23:12 UTC] PHP   3. do_action() /app/wp-admin/admin.php:253
[23-May-2019 18:23:12 UTC] PHP   4. WP_Hook->do_action() /app/wp-includes/plugin.php:465
[23-May-2019 18:23:12 UTC] PHP   5. WP_Hook->apply_filters() /app/wp-includes/class-wp-hook.php:310
[23-May-2019 18:23:12 UTC] PHP   6. {closure:/app/wp-content/plugins/sendwp/includes/admin/load.php:7-19}() /app/wp-includes/class-wp-hook.php:286
[23-May-2019 18:23:12 UTC] PHP   7. include() /app/wp-content/plugins/sendwp/includes/admin/load.php:15

Also, there is a strange 'flow' here.

When I Connect I'm redirected to the sign up/log in process, and then back to EDD's settings for Email.

When I Disconnect I'm just directed to the SendWP settings page in Tools. However there I don't officially Disconnect. I'm just stopping sending of emails. What happens in the event the user wants to 100% remove the connect from SEndWP to EDD?

Also I think once Connected we should change up the messaging a bit to state that we are connected and if our disconnect doesn't really disconnect, that we should change that button to something that relates that we're going to 'View SendWP Settings'.

@cklosowski that PHP notice is coming from the SendWP plugin itself. Saturday Drive is aware of it and have fixed it for their next version.

I'll look into the Disconnect option to see if I can make that smoother.

@cklosowski pushed updates to:

  • Offer better disconnect process
  • Add PHPDocs
  • Add capability checks
  • Minor cleanups

Went through some testing. Overall, everything seems to be working great.

EDD core emails are properly sending through feedblitz. Extensions like Commissions are also properly sending emails.

The Tools -> SendWP option to disable sending is working as expected, toggling sending and not sending the emails.

Set up was simple, though I did run into a problem initially testing with a local site. I thought I'd be okay with my edd.local site, but I wasn't. That's fine, but I was stranded on the sendwp.com site with nothing more than a notice that my URL was bad, and a button to retry the connection (which would fail, obviously). I had already created my account and provided a credit card, but no status of my account was provided. I only know my information was saved because I tried reconnecting on a _live_ test site, and this time I logged in instead of registering a new account. My info, including the credit card, was there.

Connecting to and disconnecting from SendWP from the EDD Emails settings is working as expected.

I would like to implement UI tweaks. Here's my inspiration:

Opera Snapshot_2019-05-23_140221_seandavis co

  • I'd like for for SendWP to have its own section (not subsection, just heading with settings below) titled SendWP Settings
  • The first (and only, for now) setting would be labeled (the text in the left column) Connection Status.
  • The button would be styled less like a secondary button, and be above its description text.
  • The description text would be shortened and tweaked to offer a solution to a possible problem, instead of offering a solution to a problem we _assume_ already exists.
  • While connected, the button style will change to the secondary style and make clear that it's a Disconnect button (already done). The setting description would be adjusted (if needed, based on original text). At a minimum, we need to clearly state that you are connected to SendWP, and also the status of the Tools -> SendWP setting for enabling/disabling sending. Or, perhaps, we only show a status of that setting if sending is disabled. We'd want to link to the setting if it is disabled.
  • The remaining settings should now live under their own title called Email Configuration, or similar.

Been working on this locally, though I can't _properly_ test since SendWP won't connect to a local site. I'm about to push a commit simply so I can pull it down on my live test site and test there. Don't mind me.

Almost nailed it. Need to fix some logic for when SendWP is connected, but sending is disabled.

Working on it.

Fixed. That's my stab at the UI. Feedback appreciated. @cklosowski @pippinsplugins

@SDavisMedia that is _lovely_. So much better!

Note on local: SendWP doesn't currently support connecting any site that has localhost. It's an issue on the server end and they're aware of it.

I'll get the documentation going!

Following documentation needs updated:

  1. [x] Dedicated SendWP doc https://docs.easydigitaldownloads.com/article/2143-sendwp-email-delivery
  2. [x] Email settings https://docs.easydigitaldownloads.com/article/864-email-settings
  3. [x] Email receipts not being sent https://docs.easydigitaldownloads.com/article/189-email-receipts-are-not-being-sent
  4. [x] Notice on /support page when selecting Email delivery failure under Technical Support

@SDavisMedia new UI looks great!

Only see one minor language thing:

by routing all of the emails sent by WordPress through a dependable email server.

emails for your site will now be automatically processed through SendWP

I think using routing in the second instance as well would be better.

@spencerfinnell updated.

Would it be better to say routed in the second instance, instead?

To address concerns raised about not being clear enough that SendWP is a paid service, I've changed For more information, see the documentation. to For more information on this paid service, see the documentation..

@michaelbeil I changed it to routed.

I believe this is ready for final review and merge. As soon as it's merged and deployed, the final documentation updates will be done and published.

@pippinsplugins

Agreed. Im going to merge tonight and work towards wrapping the release.

Documentation published, edited, and support form updated.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

amdrew picture amdrew  Â·  5Comments

colomet picture colomet  Â·  4Comments

boluda picture boluda  Â·  4Comments

mindctrl picture mindctrl  Â·  4Comments

SDavisMedia picture SDavisMedia  Â·  3Comments