Content Channel Push

Plugin Documentation
 

Usage

The Content Channel Push plugin allows new channel items to be emailed to the group members of a specified group through a new Rock job.

Job Configuration

The job that will send the email is called ‘Send Push’. This job has the following settings:

  • Communication Template: The System Communication to use for the push.
  • Content Channel: The content channel to monitor for new items to push.
  • Communication Medium Determined From – This setting helps determine which medium an individual should be sent. The options are:
    • Person Preference – This will use the person’s system wide communication medium preference.
    • Group Member Preference – This will use the preference the person has configured specific to the group that is configured as the recipient list.
  • Recipient Group: The group to send the email to.
  • Save Communication: Whether the communication should be saved to be displayed on the person’s communication history.
  • Only Send New Items: When enabled only items that have not yet been sent since the last send will be considered. Otherwise, all active requests will be sent.

The job expects that the Channel will have an Item Boolean attribute with the key ‘Sent’ to help it determine which content items have already been sent. When the job first runs it will add this attribute if it does not exist.

Caution

Warning: If your content channel already has items in it you will want to manually add this attribute and set its value to ‘True’ for those previous content items you don’t want to send. Otherwise, all the previous items will be sent in individual emails. One way to add true to the existing items easily is to run the job once to a group with one person in it. This will mark all the existing items as having been sent.

Notes on Medium Preference

As noted in the configuration above the medium used (SMS or Email) can be configured by looking at a person’s system preference or their preference within the group. If you select group member preference, you’ll need to be sure that you provide a way for them to set this preference when they add themselves to the group.

When creating the System Communication for use with the plugin you’ll also want to ensure you provide templates for all the mediums you want to support. If you do not provide a template for the SMS medium, then all individuals will receive the update as an email. The logic of the plugin is set to attempt to give everyone a communication even if it doesn’t match their preference vs not sending them anything.

It should also be noted that if the person has a SMS number that is not enabled for SMS they will instead be sent an email if they have a valid email address.

System Communication

An example system email has been provided to help you craft the design of the email. This is just a starting point so by all means feel free to adjust it to your heart’s content. The template provided was designed around the ‘Website Blog’ content channel.

The following merge objects are available for your use in this email.

Items- The properties of the Content Channel Items that are new. You will access these items with lava like:

{% for item in Items %}     {{ item.Title }} {% endfor %}

Common properties for the item include:

  1. Title
  2. ContentChannel
  3. StartDAteTime
  4. Content
  5. Attributes {{ item | Attribute:’key’ }}
  • ContentChannel – This contains information about the content channel that the items belong to. Common properties include:
    • Name
    • Description
    • IconCssClass
    • ChannelUrl
    • ItemUrl
  • Person – This is the full person object with all the normal properties (see merge fields on a new communication for a listing).

Sample Recipe

Since the recipient list operates as a group you have a few options on how you get people into and out of the group.

Subscribe - Adding To A Group

The best way to get someone into a group is to place a ‘Group Simple Register’ or ‘Group Registration’ block on an external page. These blocks allow you to quickly and easily add someone to a group. Alternatively, there is a block ‘Group Member Add From URL’ that allows you to add someone to a group simply by passing in a Group ID and Person Guid.

You can also use a Workflow entry form to add a person to a group. This is a great option if you’d also like to immediately send a welcome email.

Unsubscribe - Removing From A Group

To unsubscribe (read remove them from the group) you could launch a workflow from an unsubscribe link in the email (Rock v5+ required). When you add a ‘Workflow Entry’ block to a page you can specify it to launch a specific type of workflow. You can also pass in Workflow Attributes through the link’s query string. For instance, you could pass in a PersonId through the query string.

Rock also has a ‘Group Member Remove from URL’ block that takes a Group ID and Person Guid. If you use this block, you’ll need to add an unsubscribe link at the bottom of your email. Below is a sample of some lava for you to use:

<a href="{{ GlobalAttribute.PublicApplicationRoot }}page/6810?PersonGuid={{ Person.Guid }}">Unsubscribe</a>

Be sure to update the page id.

Auto-Subscribe

If you’d rather keep your subscription list dynamic, you can always use Rock’s group Syncing features to keep your recipient list up to date.

Release Notes

v2.4

  • Fixed the issue related to SMS messages not being sent and also the issue where group members with Person records marked "Do Not Email" were still being sent email communications. Requires v15.0 or higher.