Page MenuHomePhabricator

Make unsubscribe work in EmailPreferences, delete Unsub extension
Open, Needs TriagePublic2 Estimated Story Points

Description

DonationInterface's Special:EmailPreferences form should handle unsubscribe links from thank you letters

We will be removing the email address from the links and making donors manually write their email address.

  • Move over i18n messages
  • handle old-style links?

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Hi @AKanji-WMF , this isn't directly related to the current Recurring Upgrade work, but it would be great to do while the email preference center is fresh in everyone's minds. There is an old MediaWiki extension that we haven't touched in years but is still responsible for handling the unsubscribe links that are included with every automatic Thank You letter.

It would be better to move it to the newer code so it works the same way as other email preference updates, and so we can ditch the overhead associated with maintaining a separate MediaWiki extension. That overhead includes a separate set of default settings and internationalization files, plus updating the basic boilerplate files that MediaWiki uses to load the extension so it works with current MW versions.

Thanks @Ejegg - have added to Sprint +2

Update from T317929 that they want to have auto-populated email address / click submit instead of making donors manually write their email address, and ask us to pause this work for now until Legal team sign off

Since we do not have epc on production, remove the unsubscribe extension will lead broken unsubscribe function for current donor, so it blocked until we have that epc works on production.

Ejegg added a subscriber: XenoRyet.

@AKanji-WMF @XenoRyet Since we're doing work on the unsubscribe code to handle one-click unsubscribes, it would be great to tackle this at the same time.

The one-click unsubscribe would not have any UI (it seems to be POSTed to from the Google servers), but this form would have a UI. We just need to know whether the email address should be pre-populated and get whatever legal sign-off was mentioned in https://phabricator.wikimedia.org/T223330#8951468 .

Since we do not have epc on production, remove the unsubscribe extension will lead broken unsubscribe function for current donor, so it blocked until we have that epc works on production.

https://donorpreferences.wikimedia.org/index.php?title=Special:EmailPreferences/emailPreferences&contact_id=54243389&checksum=863c3c3ec2370330049846d71d74ceb0_1705523717_168 we have it on prod now

Natalie Ngu from Email team updated the template, and Danny Bu is aware of it, move to done

Change 994366 had a related patch set uploaded (by Wfan; author: Wfan):

[mediawiki/extensions/DonationInterface@master] Set up unsubscribe for DonationInterface for remove FundraisingEmailUnsubscribe

https://gerrit.wikimedia.org/r/994366

Change 995269 had a related patch set uploaded (by Wfan; author: Wfan):

[wikimedia/fundraising/crm@master] remove contribution check from email unsubscribe

https://gerrit.wikimedia.org/r/995269

@AKanji-WMF, @XenoRyet , @DBu-WMF Can you help us determine the current requirements for an unsubscribe page? The patch in review uses a link with a contact ID and a checksum like those for the email prefs pages, then has the donor fill in their email and click to confirm the unsubscribe.

Since @DBu-WMF has confirmed we can take off the unsubscribe link in the footer of the transactional emails for the US, this will be used for whatever remaining markets we need to include it in the transactional emails.

  • What should we have on the link? The contact ID / checksum combo will prevent people from unsubscribing other contact's emails - but do we need to allow people to unsubscribe arbitrary email addresses even if they don't match the contact?
  • Should the email address be pre-populated? Someone from the email team a few years ago said we could leave it blank, but requirements may have changed.
  • Should we require the click to confirm?

@AnnWF once we have the replacement up, and maybe wait a year for ppl to stop clicking old links, we can delete the whole extension, deactivate the git repo, and mark that page as obsolete.

Screenshot 2024-02-12 at 12.22.54 PM.png (1×2 px, 209 KB)
Here is the updated email pref center unsubscribe ui if we want them to confirm email address and click for unsubscribe @AKanji-WMF, @XenoRyet , @DBu-WMF please advise if any change is needed. thanks

Screenshot 2024-02-12 at 12.22.54 PM.png (1×2 px, 209 KB)
Here is the updated email pref center unsubscribe ui if we want them to confirm email address and click for unsubscribe @AKanji-WMF, @XenoRyet , @DBu-WMF please advise if any change is needed. thanks

Got the response from @DBu-WMF that we would use the existing email preference center link instead of this unsubscribe page as image above to make it consistent, so next step is:
1: replacing the old unsubscribe link from email templates, update getUnsubscribeUrl to use new epc link
2: wait until next year of our new template's effective date, then uninstall the extension.

Change #1057929 had a related patch set uploaded (by Wfan; author: Wfan):

[wikimedia/fundraising/crm@master] Use epc as unsubscribe url for thank you email

https://gerrit.wikimedia.org/r/1057929

Change #995269 abandoned by Wfan:

[wikimedia/fundraising/crm@master] remove contribution check from email unsubscribe

Reason:

This requirement is no longer needed, we are using the epc for all unsubscribe

https://gerrit.wikimedia.org/r/995269

Change #1057929 merged by jenkins-bot:

[wikimedia/fundraising/crm@master] Use epc as unsubscribe url for thank you email

https://gerrit.wikimedia.org/r/1057929

Change #1073512 had a related patch set uploaded (by Ejegg; author: Ejegg):

[wikimedia/fundraising/crm@master] Simplify unsubscribe token using prefs crt link

https://gerrit.wikimedia.org/r/1073512

We need to consider at least 2 edge cases if switch to epc: 1: if civi down, we can not go to the unsubscribe 2: if checksum expired, we can not unsubscribe, so need to figure out a better way to handle that, revert the switch to epc patch, since we will have civi maintenance and need to see either we want to remove checksum or extent to a longer period do not depends on civi

After talked with @Ejegg, we think it's better to make a valid for 1 year checksum for email unsubscribe link, since the original checksum for civi might used by agent only valid for default 7 days, while for email we want to have the checksum valid longer like 365 days, the reason for still using checksum if to make sure people will able to get their unique link to only update their own preference, without reconfirm their email address, nor expose their email in the link which have risk to get preference update by non-owner. https://gerrit.wikimedia.org/r/c/wikimedia/fundraising/crm/+/1073512

Change #994366 merged by jenkins-bot:

[mediawiki/extensions/DonationInterface@master] Set up unsubscribe for DonationInterface for remove FundraisingEmailUnsubscribe

https://gerrit.wikimedia.org/r/994366

Blocked due to translation: related with T359445 for ty email unsubscribe link and T376514 for the overall cpc translation, and here is the docs email team made: https://docs.google.com/document/d/19-07kj4bAfG4WndSoC-jFitFyOH8jFgmS216p2yNtY8/edit?tab=t.0 will get email once they unblocked us, then we can have this one move back