Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timed Push Notification #2186

Closed
ulliholtgrave opened this issue Mar 30, 2023 · 2 comments · Fixed by #2351
Closed

Timed Push Notification #2186

ulliholtgrave opened this issue Mar 30, 2023 · 2 comments · Fixed by #2351
Assignees
Labels
💡 feature New feature or request ❗ prio: medium Should be scheduled in the forseeable future. 🌈 ui-ux Issues that requires an UI/UX perspective. 😱 effort: high Big change, which requires >12h
Milestone

Comments

@ulliholtgrave
Copy link
Member

ulliholtgrave commented Mar 30, 2023

Motivation

Users want to write push notifications in advance, but not send them directly. Instead, a time should be defined at which the notification should be sent.

Proposed Solution

Add a timing box to the content form for Push Notifications where a time can be defined at which the notification should be send to the user. We can probably copy a lot from the event form and use some kind of in-built job to send the Push Notifications at the desired time.

As a initial step we won't a recurring feature and stick with a simple time step.

User Story

  • As a CMS-User I want to define a time for a push notification so that I don't have be at the computer when a notification is supposed to be send to the user.

Additional Context

Possible timing component: https://django-extensions.readthedocs.io/en/latest/jobs_scheduling.html

Design Requirements

@ulliholtgrave ulliholtgrave added 💡 feature New feature or request ❗ prio: medium Should be scheduled in the forseeable future. 😅 effort: medium Should be doable in <12h labels Mar 30, 2023
@ulliholtgrave ulliholtgrave added this to the 23Q2 milestone Mar 30, 2023
@ulliholtgrave ulliholtgrave added the 🌈 ui-ux Issues that requires an UI/UX perspective. label May 8, 2023
@PeterNerlich
Copy link
Contributor

This sounds like effort: high to me, as well as requiring some designs. As soon as I as a user can schedule content to be published/sent at a later time, I also want to have a clear overview of any currently scheduled messages, repeatedly change content, schedule time etc. and also get feedback about whether scheduled messages were actually sent on time and with what content because I tried to change something again last minute so did I make it or not???
So, I'd expect this to require a whole new section in the CMS frontend along with the backend machinery to efficiently manage all these scheduled notifications.

@timobrembeck
Copy link
Member

This sounds like effort: high to me,

Agreed.

Possible timing component: https://django-extensions.readthedocs.io/en/latest/jobs_scheduling.html

This doesn't help us very much, since it only runs jobs at a given schedule, not at a given point in time. So this extension essentially provides cron jobs, which we can also run on the server natively. We could e.g. define a management command that sends out all timed push notification of the current time window and execute this all 5 minutes or so (depending on how fine graded we allow them to sent the notifications... probably hourly or half-hourly would also be ok)

If we want to go with a python-only solution, we could also have a look at https://apscheduler.readthedocs.io/, but this definitely adds quite a lot of dependency code... and I'm not sure if running a permanent scheduler in the background is really justified for the (probably very limited) usage of timed push notifications...

@timobrembeck timobrembeck added 😱 effort: high Big change, which requires >12h and removed 😅 effort: medium Should be doable in <12h labels May 15, 2023
@timobrembeck timobrembeck modified the milestones: 23Q2, 23Q3 Jul 2, 2023
@david-venhoff david-venhoff self-assigned this Jul 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 feature New feature or request ❗ prio: medium Should be scheduled in the forseeable future. 🌈 ui-ux Issues that requires an UI/UX perspective. 😱 effort: high Big change, which requires >12h
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants