XF 2.2 Activity summary email

So you've got people to register on your forum and they've made their initial contribution, but once they've done that, how do you keep those members engaged and coming back to your forum? It's an age-old problem. A user registers, they may participate for a while if you're lucky, and then it's really a toss-up as to whether they will stay and become a semi-permanent fixture of your forum, or you never see them again.

Of all the challenges facing forum owners, this one requires the most creative approaches. There are various existing features that are geared towards keeping your members engaged. They can receive alerts, push notifications or emails when content is posted in threads or forums they watch, or you can manually email members periodically to keep them updated with the latest goings-on at your forum. These approaches aren't always effective as they either require explicit action from the user to designate the kind of content in which they are interested, or they require manual intervention from you to create some sort of newsletter.

There must be a better way, right? Well of course there is, or this would be a really short and slightly pointless post.

Activity summary


The "Activity summary" is an email, periodical receipt of which your members can opt into, which will give them an overview of what they have missed since their last visit to your forum.

A look at the configuration...

Firstly, of course you may switch the feature off entirely if you wish. Though we're not quite sure why you'd want to, as it's awesome.


We then have three values with which we can control the timing and frequency of when emails should be sent. The defaults are reasonable for most cases and are for the most part self explanatory. By default, we stop sending the activity summary email if the user has been inactive for 6 months, users fitting those criteria are probably a lost cause, but you can override the default and continue sending email to these users indefinitely by setting the value to 0 days.

Registered forum members may opt themselves in or out of receiving the email from their Privacy or Preferences pages:


Although the "Receive news and update emails" can be toggled independently of the new "Receive activity summary email", we only display the former on registration, but if checked then we will opt the user into the activity summary emails too.

Of course the user can unsubscribe at any time.

You don't know the power of the dark side

Dramatic and irrelevant quote aside, the real power of the system comes from how you can configure the contents of the activity summary email.

In fact, the activity summary isn't just a list of threads but is instead built up using content sections that you can finely configure. Out of the box, these sections are set up to fetch the latest content, but there are several additional filters to allow you to narrow down the content returned in the way you see fit.

For example, you could have a section return the most active threads based on reply count, or the most popular threads based on reaction score. This makes for a much more targeted approach than simply grabbing the latest items, and will be particularly useful for large and busy forums where it will be important to only return the best content from a sea of noise.


From here you can add additional sections, delete existing sections or change the order that sections appear.

Let's look at how you can change the behaviour of "Latest threads" to only show the latest threads from a specific forum.


What we've done now is changed the activity summary so that instead of showing the 5 most recent threads from any forum, instead it will show only 2 of the most recent threads from a specific forum.

We can see those changes reflected in the email, but you can also add additional sections, even if you have previously used that type before. So we can click "Add activity summary section" and add yet another "Latest threads" section.


This time we'll configure it to pull from the HYS forum. And then we can even add another which can pull from the "General" forum.


Initially, we will be providing an "activity summary definition" for "Latest threads" and "Latest posts", but as you would expect from XenForo, the system is built with extensibility in mind, and there is plenty of scope for third party developers to build definitions for their own add-on content, allowing forum owners to expand the reach of their activity summaries. For our part, we will be extending support for other first-party XenForo content types as soon as possible.
Again, that is not what I asked. I want the option turned off in each individual users settings. I still want them to be able to opt back in.
That's not what he's asking for.

He wants to leave the option enabled but disable it for each member in their preferences, so they have to explicitly opt in.

Is there a query we can run to turn this off for everyone?
It ought to be off by default anyway, as implied by the phrase:

Note: Users can decide to opt-in/opt-out of receiving the activity summary email in their account preferences.

Otherwise it should read opt out/opt in
But if you want it changed you should suggest it.
I'm not too bothered as the query will do that if I want. I was really just thinking that from a privacy point of view most people I know seem to expect opt in rather than opt out (GDPR?)

I suppose the ideal for me would be that anyone who has ticked to receive news and updates would have this ticked by default.
No they should be treated independently. If you use the admin contact to send promotional/sponsored emails and they opt out, they should not be opting out from the digest.
Yes I know that's the same logic that should be used for who initially receives it I am not sure of that one but I have problem with a query if I need to. :)
I just wanted to clarify a small point about the default value on upgrade, and I'm not sure if that changes anything about the desire to run queries to set values or not, but I think it's relevant.

The last_summary_email_date option actually has several states.

NULL means the user has opted-out entirely.
Any value greater than zero is the date they opted in, the date they were last active on the site, or the date they last received the email so we know when they next need to be sent an email.

But if the value is set to 0 - which is what we do during upgrade to 2.2 - then this means that the activity summary email is paused for that user.

Users who are paused do not receive the activity summary email.

This is essential because if you consider that over a period of many years many sites have many dormant accounts, upgrading to XF 2.2 would almost immediately mean that you could have hundreds, thousands or in some extreme cases even millions of users who are due to receive the activity summary email.

I'm pretty sure only bad things would happen if that was the case.

However, should any of these dormant users visit your site, they will be unpaused and the next time they are inactive for a while they will receive the activity summary email.

And if after all of that you still need to bulk opt people out (or in, which would technically bypass the pause state) then please don't do it with direct database queries.

You can do it via Batch update users:

Top Bottom