-
Notifications
You must be signed in to change notification settings - Fork 77
Document Schedule Send for Segment Text Messages #968
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
base: 7.3
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,7 +31,7 @@ | |
|
|
||
| .. vale on | ||
|
|
||
| A Segment Text Message can be manually sent to Contact lists - Segments - in Mautic. Once sent, you can't edit the Text Message, however you can send it to new Contacts as they join the associated Segment. | ||
| A Segment Text Message can be manually sent to Contact lists - Segments - in Mautic. Once sent, you can't edit the Text Message. The **Continue sending** option you set when scheduling the send controls whether it continues to Contacts who join the associated Segment later - see :ref:`Scheduling a Segment Text Message <Schedule Segment Text Message>`. | ||
|
|
||
| Note that these are marketing Text Messages by default, and each Contact can only receive the Text Message once - it's the same principle as a mailing list. | ||
|
|
||
|
|
@@ -108,11 +108,44 @@ | |
|
|
||
| **Contact Segment** - This allows you to define the Segment/s who should receive the Text Message. | ||
|
|
||
| .. note:: | ||
|
|
||
| For a Segment Text Message, you set the sending times with the **Schedule** button on the Text Message detail view, not from the editor. See :ref:`Scheduling a Segment Text Message <Schedule Segment Text Message>`. | ||
|
|
||
| .. vale off | ||
|
|
||
| **Publish at (date/time)** - This allows you to define the date and time at which this Text Message is available for sending to Contacts | ||
| .. _schedule segment text message: | ||
|
|
||
| Scheduling a Segment Text Message | ||
| ================================= | ||
|
|
||
| .. vale on | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation Schedule button only rendered when not isEmbedded, scheduleSms.getSmsType() == 'list' (segment SMS), and the User has sms:smses:publishown/publishother entity access; label switches between 'mautic.sms.send.schedule' (Schedule) and 'mautic.sms.send.schedule.update' (Update schedule) based on whether getPublishUp() is set. Source: details.html.twig:32 · aea9f82 |
||
|
|
||
| For a Segment Text Message, you control when the message goes out from its detail view rather than from the message editor. | ||
|
|
||
| The **Schedule** button appears on the detail view of a Segment Text Message only - not on template or triggered Text Messages - and only for a User who has permission to publish the Text Message. If you don't see the button, ask an administrator for permission to publish Text Messages. It doesn't appear in embedded views. Once a schedule exists, the button label changes to **Update schedule**. | ||
|
Check warning on line 126 in docs/channels/sms.rst
|
||
|
|
||
| To schedule the send: | ||
|
|
||
| #. Open the detail view of the Segment Text Message by selecting its name from the Channels > Text Messages list. | ||
| #. Click **Schedule** to open the scheduling modal. | ||
| #. Set the following controls: | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation continueSending is a YesNoButtonGroupType field, 'required' => false, defaulting to false ('data' => $options['data']['continueSending'] ?? false) when no prior value exists, i.e. No is the default. |
||
|
|
||
| * **Start sending date and time** - Required. The date and time when sending begins. | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation publishDown field is only revealed in the UI when continueSending is checked ('data-show-on' => '{"schedule_send_continueSending_1":"checked"}') and is not itself required; Sms::getPublishDown() (Entity/Sms.php L405-412) also forces null for one-time (list, continueSending=false) sends. |
||
| * **Continue sending** - Shown as a Yes/No question, this controls whether the send continues to include Contacts added to the Segment after sending starts. | ||
| * **Stop sending** - Appears only when **Continue sending** is Yes. The optional latest date and time to keep sending. | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation getBasicQuery() adds Source: BroadcastQuery.php:93 · aea9f82
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation unpublishCompletedOneTimeSchedule(): once a background-sending, non-continuing SMS has 0 pending Contacts left, it calls $sms->setIsPublished(false) and saves the entity, i.e. auto-unpublishes when the one-time send finishes. |
||
|
|
||
| When **Continue sending** is No - the default - Mautic performs a one-time send to the Contacts who are members of the Segment as of the start time. Contacts added to the Segment after the start time aren't included. After Mautic finishes sending to all pending Contacts, Mautic marks the Text Message as unpublished. | ||
|
Check warning on line 138 in docs/channels/sms.rst
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation getPublishDown() returns the actual stop date when continueSending is true (list type); BroadcastQuery omits the date_added upper-bound filter entirely when isContinueSending() is true, so new Segment members keep being picked up until the optional stop time. Source: Sms.php:405 · aea9f82 |
||
|
|
||
| When **Continue sending** is Yes, Mautic sends to the Contacts who are Segment members at the start time and continues to include Contacts added to the Segment afterward, until the optional **Stop sending** time. | ||
|
|
||
| To change the scheduled times, reopen the modal with **Update schedule**. To clear the schedule, click **Cancel schedule** - cancelling clears the schedule so the Text Message won't send on that schedule. To dismiss the modal without saving changes, click **Close**. | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation SmsController::scheduleSendAction — when the schedule form's 'apply' (Cancel schedule) button is clicked, the controller calls $entity->setPublishUp(null), setPublishDown(null), setContinueSending(false) and saves the entity, i.e. cancelling fully clears the schedule so the Text Message won't send on that schedule. Button labels (Update schedule / Cancel schedule / Close) come from SmsBundle/Form/Type/ScheduleSendType.php buttonOptions when is_scheduled=true. |
||
|
|
||
| The status badge on the detail view reflects progress: it shows a sending state while Contacts are still pending, and a sent state once a one-time schedule has finished. A continuing send - where **Continue sending** is Yes - keeps showing the sending state until it reaches the optional **Stop sending** time, so a long-running sending state on a continuing send is normal, not a fault. | ||
|
|
||
| Cloning a scheduled Segment Text Message produces an unpublished copy with the schedule cleared. | ||
|
Check warning on line 146 in docs/channels/sms.rst
|
||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Citation The existing generic 'mautic:broadcasts:send' console command (in ChannelBundle, not added by PR #17310) dispatches a ChannelBroadcastEvent that SmsBundle's BroadcastExecutioner::execute() listens for; SmsBundle has no new Command class of its own, confirming Segment SMS scheduling reuses the pre-existing Send Scheduled Broadcast cron mechanism rather than adding a new command. |
||
|
|
||
| **Unpublish at (date/time)** - This allows you to define the date and time at which this Text Message ceases to be available for sending to Contacts. | ||
| Scheduled sends run through the same ``Send Scheduled Broadcast`` Cron job that already sends Segment Text Messages. See :doc:`Cron jobs documentation </configuration/cron_jobs>` for more information. As with any Text Message send, you must first set up an SMS transport. | ||
|
|
||
| .. vale off | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Citation
Segment (list) SMS editor hides the publishUp/publishDown date fields (#smsScheduleDates div is hidden when type == 'list') and shows a notice pointing to the Schedule button instead; toggled dynamically in Assets/js/sms.js Mautic.updateSmsScheduleOptions.
Source: form.html.twig:92 · aea9f82