- Issue created by @JayDarnell
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.
Active
3.0
Code