Expand subscription options: hourly, daily, weekly, monthly

Created on 15 January 2024, 12 months ago
Updated 16 January 2024, 12 months ago

Problem/Motivation

Depending on the amount of activity in a given group, users may benefit from additional subscription granularity options. This issue relates to https://www.drupal.org/project/group_subscription/issues/3414536 Daily Subscription Enhancements Active (updating how daily subscriptions work)

This will require some new state variables:

Hourly Processing

- When did hourly processing last complete?
- Are we currently processing hourly subscriptions?

Weekly Processing

- When did weekly processing last complete?
- Are we currently processing weekly subscriptions?

Monthly Processing

- When did monthly processing last complete?
- Are we currently processing monthly subscriptions?

This will also require some new module settings:

Immediate Subscriptions

- Enable immediate subscriptions

Hourly Subscriptions

- Enable hourly subscriptions
- At which 5 minute marker should hourly subs be processed: 00, 05, 10, 15, ... 55

Daily Subscriptions

- Enable daily subscriptions
- At which 5 minute marker should daily subs be processed: 00, 05, 10, 15, ... 55

Weekly Subscriptions

- Enable weekly subscriptions
- What day of the week should weekly subscriptions be processed?
- What hour of the day should weekly subscriptions be processed? (Disallow selection of hour matching daily/monthly subscriptions)
- At which 5 minute marker should weekly subs be processed: 00, 05, 10, 15, ... 55

Monthly Subscriptions

- Enable monthly subscriptions
- What day of the month should monthly subscriptions be processed?
- What hour of the day should monthly subscriptions be processed? (Disallow selection of hour matching daily/weekly subscriptions)
- At which 5 minute marker should monthly subs be processed: 00, 05, 10, 15, ... 55

This will also require some database and code changes:

- Rename the group_subscription_activity_daily table to group_subscription_activity
- Add a new column to this table called granularity and store the selected setting for each record.
- If a user changes their subscription settings for a given group (from say monthly to hourly, update all the database rows with the new granularity - if they change their subscription from any setting stored in the activity table to immediate, immediately process those items.

Feature request
Status

Active

Version

3.0

Component

Code

Created by

🇨🇦Canada JayDarnell Guelph, Ontario

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024