What's New Digest

What's New Digest 5.0.6

No permission to download
It would be really nice if you could add in the XMG as an option to include new media posted.
 
Suggestion to overcome a problem that not many people will receive the digest email even if they choose to via the Thread update emails widget.
If (and this is the most common scenario)
  1. people actively select to receive the digest (either in their preferences or in the widget), and
  2. the Receive news and updates emails preference is unchecked (which it should be by default for GDPR) and
  3. the Only send to users opting to receive news and update emails preference is checked (as it should be for GDPR)
something needs to happen. Because if people actively select to receive the digest, they will expect to then receive them, but won't if the Receive news and updates emails checkbox is unchecked. This is more of an issue with the widget because they don't even get to see the checkbox like you do in the preferences page.
I suggest one of two solutions:
  1. turn on Receive news and updates emails if the user actively selects to receive the digest
  2. (a better solution) open a modal informing them that their preference is to not receive news and update emails with the option to change that
Would it be possible to consider this change, please?
 
Last edited:
Suggestion to overcome a problem that not many people will receive the digest email even if they choose to via the Thread update emails widget.
If (and this is the most common scenario)
  1. people actively select to receive the digest (either in their preferences or in the widget), and
  2. the Receive news and updates emails preference is unchecked (which it should be by default for GDPR) and
  3. the Only send to users opting to receive news and update emails preference is checked (as it should be for GDPR)
something needs to happen. Because if people actively select to receive the digest, they will expect to then receive them, but won't if the Receive news and updates emails checkbox is unchecked. This is more of an issue with the widget because they don't even get to see the checkbox like you do in the preferences page.
I suggest one of two solutions:
  1. turn on Receive news and updates emails if the user actively selects to receive the digest
  2. (a better solution) open a modal informing them that their preference is to not receive news and update emails with the option to change that
Would it be possible to consider this change, please?

As an alternative, can I suggest the following setup:
  1. set the Default Frequency to "None" so that emails don't go out unless people explicitly opt in
  2. deselect Only send to users opting to receive news and update emails - this setting is redundant if the Default Frequency is set to none
This will still be GDPR compliant, since users will only receive the digest emails if they have explicitly opted in by turning on the digest in their preferences or via the widget. It shouldn't matter if they have Receive news and updates emails turned off if they have explicitly opted to receive the digest emails.

I think this is the better choice - since it does not change the behaviour of Receive news and updates emails - which could be important if you have other systems or addons which also send emails to users (or you send bulk emails manually).
 
As an alternative, can I suggest the following setup:
  1. set the Default Frequency to "None" so that emails don't go out unless people explicitly opt in
  2. deselect Only send to users opting to receive news and update emails - this setting is redundant if the Default Frequency is set to none
This will still be GDPR compliant, since users will only receive the digest emails if they have explicitly opted in by turning on the digest in their preferences or via the widget. It shouldn't matter if they have Receive news and updates emails turned off if they have explicitly opted to receive the digest emails.

I think this is the better choice - since it does not change the behaviour of Receive news and updates emails - which could be important if you have other systems or addons which also send emails to users (or you send bulk emails manually).
I understand where you are coming from, but you will then have a situation where Receive news and updates emails is off, yet they are receiving update emails, which is confusing at the very least, right? I can imagine a scenario where people will complain because they have that setting off, but (having forgotten that they selected to receive the digest) they are receiving emails.

Maybe an alternative solution would be to change that Receive news and updates emails checkbox into your drop-down selection with a slight change of wording to encompass more types of emails?
 
Last edited:
I understand where you are coming from, but you will then have a situation where Receive news and updates emails is off, yet they are receiving update emails, which is confusing at the very least, right? I can imagine a scenario where people will complain because they have that setting off, but (having forgotten that they selected to receive the digest) they are receiving emails.

The behaviour of the core Activity Summary emails is exactly the same - there is a separate option for them in the preferences and the "Receive news and update emails" preference has no impact on which (opted in) users get the activity summary emails.

1612123137260.webp

Settings for all three are right there in their preferences - if they have opted in to activity summary emails and/or digest emails - then they have no grounds for complaint. Their poor memory is not your fault - you simply disable the option for them and move on.
 
The behaviour of the core Activity Summary emails is exactly the same - there is a separate option for them in the preferences and the "Receive news and update emails" preference has no impact on which (opted in) users get the activity summary emails.

View attachment 245228

Settings for all three are right there in their preferences - if they have opted in to activity summary emails and/or digest emails - then they have no grounds for complaint. Their poor memory is not your fault - you simply disable the option for them and move on.
Ok, fair enough, thanks.
 
v5.0.3a
/admin.php?tools/whatsnewdigest-test doesn't appear to be adhering to Exclude Forums?
When I choose Test Type: List Threads, I still get threads from excluded nodes.
 
I get this error with v5.0.3a and xF 2.2.4 ...

Code:
InvalidArgumentException: Job XF:EmailUnsubscribe: Column 'whatnewdigest_email' is unknown src/XF/Mvc/Entity/Entity.php:601
Generated by: Unknown account Mar 29, 2021 at 12:43
Stack trace
#0 src/XF/Mvc/Entity/Entity.php(567): XF\Mvc\Entity\Entity->set('whatnewdigest_e...', 'none')
#1 src/addons/Hampel/WhatsNewDigest/XF/EmailUnsubscribe/Processor.php(10): XF\Mvc\Entity\Entity->__set('whatnewdigest_e...', 'none')
#2 src/XF/EmailUnsubscribe/Processor.php(120): Hampel\WhatsNewDigest\XF\EmailUnsubscribe\Processor->applyUserUnsubscribeAction(Object(SV\ContactUsThread\XF\Entity\User))
#3 src/XF/EmailUnsubscribe/Processor.php(68): XF\EmailUnsubscribe\Processor->processMessage(Object(Laminas\Mail\Storage\Message))
#4 src/XF/Job/EmailUnsubscribe.php(27): XF\EmailUnsubscribe\Processor->processFromStorage(Object(XF\Mail\Storage\Imap), 8)
#5 src/XF/Job/Manager.php(258): XF\Job\EmailUnsubscribe->run(8)
#6 src/XF/Job/Manager.php(200): XF\Job\Manager->runJobInternal(Array, 8)
#7 src/XF/Job/Manager.php(84): XF\Job\Manager->runJobEntry(Array, 8)
#8 src/XF/Cli/Command/RunJobs.php(59): XF\Job\Manager->runQueue(false, 8)
#9 src/vendor/symfony/console/Command/Command.php(255): XF\Cli\Command\RunJobs->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 src/vendor/symfony/console/Application.php(992): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 src/vendor/symfony/console/Application.php(255): Symfony\Component\Console\Application->doRunCommand(Object(XF\Cli\Command\RunJobs), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 src/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 src/XF/Cli/Runner.php(109): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 cmd.php(15): XF\Cli\Runner->run()
#15 {main}
Request state
array(1) {
  ["cli"] => string(45) "cmd.php --quiet xf:run-jobs"
}
 
I get this error with v5.0.3a and xF 2.2.4 ...

Code:
InvalidArgumentException: Job XF:EmailUnsubscribe: Column 'whatnewdigest_email' is unknown src/XF/Mvc/Entity/Entity.php:601
Generated by: Unknown account Mar 29, 2021 at 12:43
Stack trace
#0 src/XF/Mvc/Entity/Entity.php(567): XF\Mvc\Entity\Entity->set('whatnewdigest_e...', 'none')
#1 src/addons/Hampel/WhatsNewDigest/XF/EmailUnsubscribe/Processor.php(10): XF\Mvc\Entity\Entity->__set('whatnewdigest_e...', 'none')
#2 src/XF/EmailUnsubscribe/Processor.php(120): Hampel\WhatsNewDigest\XF\EmailUnsubscribe\Processor->applyUserUnsubscribeAction(Object(SV\ContactUsThread\XF\Entity\User))
#3 src/XF/EmailUnsubscribe/Processor.php(68): XF\EmailUnsubscribe\Processor->processMessage(Object(Laminas\Mail\Storage\Message))
#4 src/XF/Job/EmailUnsubscribe.php(27): XF\EmailUnsubscribe\Processor->processFromStorage(Object(XF\Mail\Storage\Imap), 8)
#5 src/XF/Job/Manager.php(258): XF\Job\EmailUnsubscribe->run(8)
#6 src/XF/Job/Manager.php(200): XF\Job\Manager->runJobInternal(Array, 8)
#7 src/XF/Job/Manager.php(84): XF\Job\Manager->runJobEntry(Array, 8)
#8 src/XF/Cli/Command/RunJobs.php(59): XF\Job\Manager->runQueue(false, 8)
#9 src/vendor/symfony/console/Command/Command.php(255): XF\Cli\Command\RunJobs->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 src/vendor/symfony/console/Application.php(992): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 src/vendor/symfony/console/Application.php(255): Symfony\Component\Console\Application->doRunCommand(Object(XF\Cli\Command\RunJobs), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 src/vendor/symfony/console/Application.php(148): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 src/XF/Cli/Runner.php(109): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 cmd.php(15): XF\Cli\Runner->run()
#15 {main}
Request state
array(1) {
  ["cli"] => string(45) "cmd.php --quiet xf:run-jobs"
}

Is this a new install or has anything else changed before the error occurred?

There should be a column whatnewdigest_email in the xf_user_option table and it seems to be missing for some reason.
 
Is this a new install or has anything else changed before the error occurred?

There should be a column whatnewdigest_email in the xf_user_option table and it seems to be missing for some reason.
Yes, new install with v5.0.3a. The table column exists ...
Code:
mysql> describe xf_user_option;
+----------------------------------+-----------------------------------------+------+-----+---------+-------+
| Field                            | Type                                    | Null | Key | Default | Extra |
+----------------------------------+-----------------------------------------+------+-----+---------+-------+
| user_id                          | int(10) unsigned                        | NO   | PRI | NULL    |       |
| show_dob_year                    | tinyint(3) unsigned                     | NO   |     | 1       |       |
| show_dob_date                    | tinyint(3) unsigned                     | NO   |     | 1       |       |
| content_show_signature           | tinyint(3) unsigned                     | NO   |     | 1       |       |
| receive_admin_email              | tinyint(3) unsigned                     | NO   |     | 1       |       |
| email_on_conversation            | tinyint(3) unsigned                     | NO   |     | 1       |       |
| whatsnewdigest_email             | enum('none','daily','weekly','monthly') | YES  | MUL | NULL    |       |
| push_on_conversation             | tinyint(3) unsigned                     | NO   |     | 1       |       |
| is_discouraged                   | tinyint(3) unsigned                     | NO   |     | 0       |       |
[...]

InvalidArgumentException: Job XF:EmailUnsubscribe: Column 'whatnewdigest_email' is unknown src/XF/Mvc/Entity/Entity.php:601
There should be a column whatnewdigest_email in the xf_user_option table and it seems to be missing for some reason.
Appears to be a spelling issue in code somewhere.
Job error is wanting 'whatnewdigest_email' ( no s in whatnew ) where table column has an s ( whatsnew )
 
  • Like
Reactions: Sim
Appears to be a spelling issue in code somewhere.
Perhaps Hampel/WhatsNewDigest/XF/EmailUnsubscribe/Processor.php ..
Code:
                // disable What's New Digest emails
                $user->Option->whatnewdigest_email = 'none';
 
Appears to be a spelling issue in code somewhere.
Job error is wanting 'whatnewdigest_email' ( no s in whatnew ) where table column has an s ( whatsnew )

That would do it!

Thanks for picking that up - would have taken me a long time to find that error just by looking at the code!

I've fixed it and released v5.0.4 to resolve the issue.
 
Is there any way to ignore whether or not the user has access to the specific threads that should be showing for New/Updated? For example, my forum has a user group for paid users and non-paid users cannot see most of the threads. However, I would still like those threads to be included in the Digest so they know what kind of topics are being discussed (and hopefully it'll encourage them to become a paid member).

Would love to get this setting added :)
 
Top Bottom