Added feature flagging to each environment yml

This commit is contained in:
alexjanousekGSA
2024-10-17 14:48:02 -04:00
parent 7e505f7fda
commit 93bc3792be
83 changed files with 698 additions and 2056 deletions
+21 -10
View File
@@ -5,31 +5,42 @@
</h3>
<ul class="usa-card-group">
{% for item in card_contents %}
<li class="usa-card grid-col tablet:grid-col-4">
<li class="usa-card grid-col tablet:grid-col-4 {% if item.link %}linked-card linked-content{% endif %}">
<div class="usa-card__container">
{% if item.card_heading %}
<div class="usa-card__header">{% if condition %}
<div class="usa-card__header">
{% if item.link %}
<a href="{{ item.link }}" class="guidance_link">
{% endif %}
<h4
class="usa-card__heading {% if text_align != 'left' or text_align is not defined %}text-center{% else %}text-left{% endif %} {% if item.link %}linked-card{% endif %}">
{{ item.card_heading }}
</h4>
{% if item.link %}
</a>
{% endif %}
<h4
class="usa-card__heading {% if text_align != 'left' or text_align is not defined %}text-center{% else %}text-left{% endif %}">
{{item.card_heading}}
</h4>
</div>
{% endif %}
{% if item.image_src %}
{% if item.svg_src or item.image_src%}
<div class="usa-card__media usa-card__media--inset">
{% if item.svg_src %}
<svg aria-hidden="true" focusable="false" role="img" class="guidance_card_img">
<use xlink:href="{{asset_url('images/guidance-card-sprite.svg')}}#{{item.svg_src}}"></use>
</svg>
{% endif %}
{% if item.image_src %}
<img class="guidance_card_img" src="{{item.image_src}}" alt="{{item.card_heading}} image" />
{% endif %}
</div>
{% endif %}
{% if item.p_text %}
<div class="usa-card__body">
<p class="{% if text_align != 'left' or text_align is not defined %}text-center{% else %}text-left{% endif %}">
<p
class="{% if text_align != 'left' or text_align is not defined %}text-center{% else %}text-left{% endif %} {% if item.link %}linked-card{% endif %}">
{{item.p_text|safe}}
</p>
</div>
{% endif %}
</div>
</li>
{% endfor %}
+2 -2
View File
@@ -25,7 +25,7 @@
{% if job.scheduled_for %}
<div class="usa-alert usa-alert--info">
<div class="usa-alert__body">
<h4 class="usa-alert__heading">Your text has been scheduled</h4>
<h2 class="usa-alert__heading">Your text has been scheduled</h2>
<p class="usa-alert__text">
{{ job.template_name }} - {{ current_service.name }} was scheduled on {{ job.scheduled_for|format_datetime_normal }} by {{ job.created_by.name }}
</p>
@@ -35,7 +35,7 @@
{% else %}
<div class="usa-alert usa-alert--success">
<div class="usa-alert__body">
<h4 class="usa-alert__heading">Your text has been sent</h4>
<h2 class="usa-alert__heading">Your text has been sent</h2>
<p class="usa-alert__text">
{{ job.template_name }} - {{ current_service.name }} was sent on {% if job.processing_started %}
{{ job.processing_started|format_datetime_table }} {% else %}
@@ -21,58 +21,125 @@
<p>
When the <a
href="https://www.cbpp.org/research/food-assistance/targeted-text-message-outreach-can-increase-wic-enrollment-pilots-show"
target="_blank">Center
on Budget and Policy Priorities</a> studied WIC, they found key learnings about the quantity of messages
delivered, how people engage with messages, and how they take action.
</p>
<h3>Message delivery</h3>
<p class="font-body-lg text-light">Benchmark: <span class="text-bold">80%</span> of texts are successfully delivered
</p>
<p>
You may discover that some numbers are temporarily or permanently unavailable due to service being discontinued,
numbers changing, or being a landline.
target="_blank">Center on Budget and Policy Priorities</a> studied WIC, they found key learnings about the
quantity of messages delivered, how people engage with messages, and how they take action.
</p>
<h3>Engagement</h3>
<p class="font-body-lg text-light">Benchmark: Engagement rates with texts ranged from <span
class="text-bold">17%</span>
to <span class="text-bold">26%</span></p>
<p>
The highest rate of engagement with a text comes within hours of sending. Engagement rates include any kind of
action taken due to a text, including replying “STOP” to prevent future texts.
<h3 class="padding-left-5">Message delivery</h3>
<p class="font-body-lg text-light padding-left-5">Benchmark: <span class="text-bold">80%</span> of texts are
successfully delivered
</p>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>
You may discover that some numbers are temporarily or permanently unavailable due to service being
discontinued,
numbers changing, or being a landline.
</p>
</li>
</ul>
</div>
<h3>Appointment requests</h3>
<p class="font-body-lg text-light">Benchmark: Requesting appointments after receiving texts ranged from <span
class="text-bold">4%</span> to <span class="text-bold">9%</span></p>
<p>
Requesting appointments is a specific type of engagement. Provide a phone number or link to an online appointment
request form.
</p>
<h3 class="padding-left-5">Engagement</h3>
<div class="measure-4 padding-left-5">
<p class="font-body-lg text-light">Benchmark: Engagement rates with texts ranged from <span
class="text-bold">17%</span>
to <span class="text-bold">26%</span></p>
</div>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>
The highest rate of engagement with a text comes within hours of sending. Engagement rates include any kind
of
action taken due to a text, including replying “STOP” to prevent future texts.
</p>
</li>
</ul>
</div>
<h3 class="padding-left-5">Appointment requests</h3>
<div class="measure-4 padding-left-5">
<p class="font-body-lg text-light">Benchmark: Requesting appointments after receiving texts ranged
from <span class="text-bold">4%</span> to <span class="text-bold">9%</span></p>
</div>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>
Requesting appointments is a specific type of engagement. Provide a phone number or link to an online
appointment
request form.
</p>
</li>
</ul>
</div>
<p>
The Code for Americas Texting Playbook reported specific learnings around appointment reminders, completing
The <a href="https://codeforamerica.org/resources/texting-playbook/" target="_blank">Code for Americas Texting
Playbook</a>
reported specific learnings around appointment reminders, completing
document submission, and maintenance reminders.
</p>
<h3>Appointment reminders</h3>
<p class="font-body-lg text-light">Benchmark: Clients were <span class="text-bold">79%</span> more likely to keep
their appointment after receiving a text reminder.</p>
<p>You will likely see more completed appointments.</p>
<h3 class="padding-left-5">Appointment reminders</h3>
<div class="measure-4 padding-left-5">
<p class="font-body-lg text-light">Benchmark: Clients were <span class="text-bold">79%</span> more
likely
to keep
their appointment after receiving a text reminder.</p>
</div>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>You will likely see more completed appointments.</p>
</li>
</ul>
</div>
<p class="font-body-lg text-light">Benchmark: Clients were <span class="text-bold">55%</span> more likely to complete
an interview after receiving an interview reminder</p>
<p>You will likely see more completed interviews.</p>
<div class="measure-4 padding-left-5">
<p class="font-body-lg text-light">Benchmark: Clients were <span class="text-bold">55%</span> more
likely
to complete
an interview after receiving an interview reminder</p>
</div>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>You will likely see more completed interviews.</p>
</li>
</ul>
</div>
<h3>Document submission</h3>
<p class="font-body-lg text-light">
Benchmark: Clients were <span class="text-bold">6%</span> more likely to complete document submission after
receiving a customized list of required documents via text
</p>
<p>To encourage response, provide a custom list of the needed documents and information about how to submit them. </p>
<h3 class="padding-left-5">Document submission</h3>
<div class="measure-4 padding-left-5">
<p class="font-body-lg text-light">
Benchmark: Clients were <span class="text-bold">6%</span> more likely to complete document submission after
receiving a customized list of required documents via text
</p>
</div>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>To encourage response, provide a custom list of the needed documents and information about how to submit
them.
</p>
</li>
</ul>
</div>
<h3>Reminders</h3>
<p class="font-body-lg text-light">Benchmark: Text reminders improved case maintenance rates by <span
class="text-bold">21%</span></p>
<p>You may see less turnover in your case rates.</p>
<h3 class="padding-left-5">Reminders</h3>
<div class="measure-4 padding-left-5">
<p class="font-body-lg text-light">Benchmark: Text reminders improved case maintenance rates by <span
class="text-bold">21%</span></p>
</div>
<div class="padding-left-2 measure-4">
<ul>
<li>
<p>You may see less turnover in your case rates.</p>
</li>
</ul>
</div>
</section>
{% endblock %}
+38 -31
View File
@@ -9,43 +9,50 @@ Guidance
<section class="usa-prose">
<h1>Guidance</h1>
<p class="font-sans-lg text-base">For texting the public</p>
<p>Effectively reaching your audience and supporting your programs goals starts with strategically planning out what text messages can help you achieve and how to approach a thoughtful rollout.
<p>Effectively reaching your audience and supporting your programs goals starts with strategically planning out what
text messages can help you achieve and how to approach a thoughtful rollout.
</p>
<p>This set of best practices will help you get an effective texting initiative up and running.</p>
{% set card_header = "Key elements of a texting campaign" %}
{% set card_contents = [
{
"image_src": asset_url('images/goal.svg'),
"card_heading": "Establish clear goals",
"p_text": "Start with a singular purpose. Make explicit what you want to achieve.",
},
{
"image_src": asset_url('images/compliant.svg'),
"card_heading": "Follow rules & regulations",
"p_text": "Understand what is required when texting the public.",
},
{
"image_src": asset_url('images/trust.svg'),
"card_heading": "Establish trust",
"p_text": "Help your audience anticipate and welcome your texts.",
},
{
"image_src": asset_url('images/runner.svg'),
"card_heading": "Write texts that provoke action",
"p_text": "Help your audience know what to do with the information you send.",
},
{
"image_src": asset_url('images/language.svg'),
"card_heading": "Send texts in multiple languages",
"p_text": "What to know as you plan translated texts.",
},
{
"image_src": asset_url('images/chart.svg'),
"card_heading": "Measure performance with benchmarking",
"p_text": "Learn how effective your texting program can be.",
}
{
"svg_src": "goal",
"card_heading": "Establish clear goals",
"p_text": "Start with a singular purpose. Make explicit what you want to achieve.",
"link": "/guidance/clear-goals"
},
{
"svg_src": "compliant",
"card_heading": "Follow rules & regulations",
"p_text": "Understand what is required when texting the public.",
"link": "/guidance/rules-and-regulations"
},
{
"svg_src": "trust",
"card_heading": "Establish trust",
"p_text": "Help your audience anticipate and welcome your texts.",
"link": "/guidance/establish-trust"
},
{
"svg_src": "runner",
"card_heading": "Write texts that provoke action",
"p_text": "Help your audience know what to do with the information you send.",
"link": "/guidance/write-for-action"
},
{
"svg_src": "language",
"card_heading": "Send texts in multiple languages",
"p_text": "What to know as you plan translated texts.",
"link": "/guidance/multiple-languages"
},
{
"svg_src": "chart",
"card_heading": "Measure performance with benchmarking",
"p_text": "Learn how effective your texting program can be.",
"link": "/guidance/benchmark-performance"
}
] %}
{% with card_header=card_header, card_contents=card_contents %}{% include "components/guidance/cards.html" %}{%
@@ -60,7 +60,7 @@
</ol>
</div>
</li>
<li class="usa-card flex-1 usa-card--media-right width-full">
<li class="flex-1 usa-card--media-right width-full">
<div class="usa-card__container border-0 width-full">
<img class="width-full" src="{{ asset_url('images/phone_grey.svg') }}" role="img" alt="Phone" />
<div class="position-absolute flex text-cener padding-5 padding-top-9">