Configure time of the Daily Summary


(Happy Lee) #1

Does anyone know if it is possible, in v1.6.0.beta11 +89, to configure a time the Daily Summary is sent out?

I’ve read some replies from @jomaxro and @codinghorror considering setting a default time for the Daily Summary, but see that discussion closed on May 31st. I haven’t seen any more thought about this, but think this feature would be very useful to admins wishing to transition a Mailman news-list style service to Discourse.

I’ve spent a few weeks modifying Discourse to make it more like our current Mailman service. It comes pretty close - but knowing when the Daily Summary goes out (giving the end-user a deadline for new topics to be submitted) would enhance our ability to use it as a news-list.

(Jeff Atwood) #2

Sure I support adding this but it would need to be a community PR.

(Joshua Rosenfeld) #3

Thanks for the mention @pelcami! Like @codinghorror I support this addition, but unfortunately don’t have the coding skills in Ruby to make this happen. Hopefully someone else in the community can.

(Ryan) #4

Couldn’t find any recent threads with updates on this. Should I assume this is still on the “nice to have but not a current priority” list?

(Happy Lee) #5

Thank you all for considering this for a community PR. In the meantime, we hired @mbcahyono to write a plugin with some scripting that allows us to send our digest at a specific time each day. His software resides on our git server, and we pull it into the build by adding some lines to our app.yml file. We implemented this at v1.7, but his work has not required any updates. All our servers are currently running the latest v2.0.0.beta4 +61. [Thank you @mbcahyono - you are a rock star!]

(Erlend Sogge Heggen) #6

Would you be willing to release this code as open source so @mbcahyono can submit a PR for this feature?

(Muhlis C) #7

Actually, it’s just a rake task + cron. I personally don’t think it’s suitable for a PR.

(Sam Saffron) #8

I wonder why you opted against using scheduled tasks here? Perhaps we need to extend it so you can opt for a “preferred start time” for daily/monthly tasks.

(Muhlis C) #9

The only thing they cared about was they receive the digest email at their inbox at specific time (09:00AM). With that approach (rake task + cron), their email provider is the only thing I can imagine will fail them.

(Sam Saffron) #10

I follow, but:

What I wonder API wise is if core could:

class EnqueueDigestEmails < Jobs::Scheduled
   every, at: 600

That feels like a far more natural way of solving this problem.

Ofcourse the tricky thing is that we schedule digest emails throughout the day now. So this all has to be very optional.

(Kane York) #11

??? Isn’t that just… the answer to this problem?

Look up the desired digest time of day from the user record (after storing their timezone somehow) and only send if the job is in that timeslot.

Preferred Email Digest Time:
[X] No Preference
[ ] Low Forum Activity
    Digests will be sent during the night, based on past frequency throughout the day.
[ ] Time of Day
  Timezone: [ Europe/France ]
  Local time: [ 09:00 AM ]

(Rafael dos Santos Silva) #12

My understanding is that currently, every 30 minutes, we check if the user completed 7 days of inactivity and if true, we send a digest. So if I browse from 9h~5h, and take a week off, my digest will be sent after 5PM from the 7th day.

So I think the setting we really need is delay_digests_until, which will delay the digests for all users until, in my example, 9AM from the next day they became eligible for a digest.