This is a bear to test, because you have to carefully set it up, take notes, wait for various intervals to expire, and finally document successful or failed test cases (especially make the later ones reproducible). BETA7 is the first one where it can actually work, so don't bother with stories from previous versions.

It'd be a great relief, if someone would take this on...

TIA!

Comments

salvis’s picture

I have just added the following text to README.txt:

Send Intervals
--------------

Choose (and possibly adapt the strings) for the Send Intervals at 
admin/settings/subscriptions/intervals to your site! 
Specifically, "As soon as possible" means at the next cron run,
which of course primarily depends on how often you run cron...

Notifications are governed by the following rules:
1. They are only sent out when cron runs. 
2. Each user's first notification is sent at the very next cron run.
3. Whenever a notification is sent, the current timestamp is stored 
   as that user's last_sent entry in the {subscriptions_user} table.
4. Whenever a new notification is queued, the queue entry gets the
   last_sent timestamp and the send_interval for the subscription
   stored along with other information.
5. When cron runs, it considers only queue entries for which
   last_sent+send_interval is in the past.
6. When a notification is sent, possible duplicates for the same
   node are removed, so that no duplicate notifications are sent,
   even if multiple notifications are queued, e.g. because the user
   entered overlapping subscriptions or the node was updated or
   commented. 
   Obviously, in the case of overlapping subscriptions, the one with 
   the lowest Send Interval wins.
7. If digests are enabled, then a digest is sent whenever at least
   one notification is ready to be sent, and it includes all the
   notifications that are ready.

This is how I understand the algorithm that chx has implemented.

Now, does it really work that way?
Does it have the desired effect?
What exactly is the desired effect?

salvis’s picture

Version: 6.x-1.x-dev » 5.x-2.0-beta12

I'm still interested in getting feedback on this topic...

salvis’s picture

Status: Active » Closed (fixed)

Well, 2.0 is out and that's what we have.