diff --git a/app/main/views/index.py b/app/main/views/index.py index a910963e6..944650e57 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -16,7 +16,11 @@ from app import email_branding_client, letter_branding_client, status_api_client from app.main import main from app.main.forms import FieldWithNoneOption, SearchByNameForm from app.main.views.feedback import QUESTION_TICKET_TYPE -from app.main.views.sub_navigation_dictionaries import features_nav, pricing_nav +from app.main.views.sub_navigation_dictionaries import ( + features_nav, + pricing_nav, + using_notify_nav, +) from app.utils import get_logo_cdn_domain, user_is_logged_in @@ -90,6 +94,7 @@ def how_to_pay(): @main.route('/delivery-and-failure') +@main.route('/features/messages-status') def delivery_and_failure(): return redirect(url_for('.message_status'), 301) @@ -218,7 +223,10 @@ def letter_template(): @main.route('/documentation') def documentation(): - return render_template('views/documentation.html') + return render_template( + 'views/documentation.html', + navigation_links=using_notify_nav(), + ) @main.route('/integration-testing') @@ -297,31 +305,86 @@ def using_notify(): ), 410 -@main.route('/features/messages-status') +@main.route('/using-notify/delivery-status') def message_status(): return render_template( 'views/message-status.html', - navigation_links=features_nav() + navigation_links=using_notify_nav(), ) @main.route('/features/get-started') +def get_started_old(): + return redirect(url_for('.get_started'), 301) + + +@main.route('/using-notify/get-started') def get_started(): return render_template( - 'views/get-started.html' + 'views/get-started.html', + navigation_links=using_notify_nav(), ) @main.route('/trial-mode') +@main.route('/features/trial-mode') def trial_mode(): return redirect(url_for('.trial_mode_new'), 301) -@main.route('/features/trial-mode') +@main.route('/using-notify/trial-mode') def trial_mode_new(): return render_template( 'views/trial-mode.html', - navigation_links=features_nav() + navigation_links=using_notify_nav(), + ) + + +@main.route('/using-notify/guidance') +def guidance_index(): + return render_template( + 'views/guidance/index.html', + navigation_links=using_notify_nav(), + ) + + +@main.route('/using-notify/guidance/branding-and-customisation') +def branding_and_customisation(): + return render_template( + 'views/guidance/branding-and-customisation.html', + navigation_links=using_notify_nav(), + ) + + +@main.route('/using-notify/guidance/create-and-send-messages') +def create_and_send_messages(): + return render_template( + 'views/guidance/create-and-send-messages.html', + navigation_links=using_notify_nav(), + ) + + +@main.route('/using-notify/guidance/edit-and-format-messages') +def edit_and_format_messages(): + return render_template( + 'views/guidance/edit-and-format-messages.html', + navigation_links=using_notify_nav(), + ) + + +@main.route('/using-notify/guidance/send-files-by-email') +def send_files_by_email(): + return render_template( + 'views/guidance/send-files-by-email.html', + navigation_links=using_notify_nav(), + ) + + +@main.route('/using-notify/guidance/upload-a-letter') +def upload_a_letter(): + return render_template( + 'views/guidance/upload-a-letter.html', + navigation_links=using_notify_nav(), ) diff --git a/app/main/views/sub_navigation_dictionaries.py b/app/main/views/sub_navigation_dictionaries.py index f9683e22b..2316fd083 100644 --- a/app/main/views/sub_navigation_dictionaries.py +++ b/app/main/views/sub_navigation_dictionaries.py @@ -22,14 +22,6 @@ def features_nav(): "name": "Roadmap", "link": "main.roadmap", }, - { - "name": "Trial mode", - "link": "main.trial_mode_new", - }, - { - "name": "Message status", - "link": "main.message_status", - }, { "name": "Security", "link": "main.security", @@ -52,3 +44,42 @@ def pricing_nav(): "link": "main.how_to_pay", }, ] + + +def using_notify_nav(): + return [ + { + "name": "Get started", + "link": "main.get_started", + }, + { + "name": "Trial mode", + "link": "main.trial_mode_new", + }, + { + "name": "Delivery status", + "link": "main.message_status", + }, + { + "name": "Guidance", + "link": "main.guidance_index", + "sub_navigation_items": [ + { + "name": "Formatting", + "link": "main.edit_and_format_messages", + }, + { + "name": "Branding", + "link": "main.branding_and_customisation", + }, + { + "name": "Send files by email", + "link": "main.send_files_by_email", + }, + ] + }, + { + "name": "API documentation", + "link": "main.documentation", + }, + ] diff --git a/app/navigation.py b/app/navigation.py index 3c4c21661..20f724266 100644 --- a/app/navigation.py +++ b/app/navigation.py @@ -196,7 +196,14 @@ class HeaderNavigation(Navigation): 'get_example_csv', 'get_notifications_as_json', 'get_started', + 'get_started_old', 'go_to_dashboard_after_tour', + 'guidance_index', + 'branding_and_customisation', + 'create_and_send_messages', + 'edit_and_format_messages', + 'send_files_by_email', + 'upload_a_letter', 'history', 'inbound_sms_admin', 'inbox', @@ -517,7 +524,14 @@ class MainNavigation(Navigation): 'get_example_csv', 'get_notifications_as_json', 'get_started', + 'get_started_old', 'go_to_dashboard_after_tour', + 'guidance_index', + 'branding_and_customisation', + 'create_and_send_messages', + 'edit_and_format_messages', + 'send_files_by_email', + 'upload_a_letter', 'history', 'how_to_pay', 'inbound_sms_admin', @@ -748,7 +762,14 @@ class CaseworkNavigation(Navigation): 'get_example_csv', 'get_notifications_as_json', 'get_started', + 'get_started_old', 'go_to_dashboard_after_tour', + 'guidance_index', + 'branding_and_customisation', + 'create_and_send_messages', + 'edit_and_format_messages', + 'send_files_by_email', + 'upload_a_letter', 'history', 'how_to_pay', 'inbound_sms_admin', @@ -1035,7 +1056,14 @@ class OrgNavigation(Navigation): 'get_example_csv', 'get_notifications_as_json', 'get_started', + 'get_started_old', 'go_to_dashboard_after_tour', + 'guidance_index', + 'branding_and_customisation', + 'create_and_send_messages', + 'edit_and_format_messages', + 'send_files_by_email', + 'upload_a_letter', 'history', 'how_to_pay', 'inbound_sms_admin', diff --git a/app/templates/admin_template.html b/app/templates/admin_template.html index d0837ea51..91eec3123 100644 --- a/app/templates/admin_template.html +++ b/app/templates/admin_template.html @@ -223,7 +223,11 @@ }, { "href": url_for("main.message_status"), - "text": "Message status" + "text": "Delivery status" + }, + { + "href": url_for("main.guidance_index"), + "text": "Guidance" }, { "href": url_for("main.documentation"), diff --git a/app/templates/views/features.html b/app/templates/views/features.html index 1ff8bf309..a0cdf2be3 100644 --- a/app/templates/views/features.html +++ b/app/templates/views/features.html @@ -27,7 +27,7 @@

Personalised content

Notify makes it easy to send personalised messages from a single template.

-

If you want to include personalised content in your message, you can add a placeholder. Placeholders are filled in with details, like a name or reference number, each time you send a message. You can do this manually or upload a list of personal details and let Notify do it for you.

+

See how to personalise your content.

Bulk sending

To send a batch of messages at once, upload a list of contact details to Notify. If you’re sending emails and text messages, you can also schedule the date and time you want them to be sent.

@@ -38,7 +38,7 @@

Reporting

Notify’s real-time dashboard lets you see the number of messages sent. You can also check the current status of any message to see when it was delivered.

-

Read more about how message status works.

+

Read more about the delivery status of your messages.

Permissions

Control which members of your team can see, create, edit and send messages.

diff --git a/app/templates/views/features/emails.html b/app/templates/views/features/emails.html index 62a9317a5..f9ddc5693 100644 --- a/app/templates/views/features/emails.html +++ b/app/templates/views/features/emails.html @@ -24,7 +24,7 @@

Email branding

Add your organisation’s logo and brand colour to email templates.

-

You can change your branding in your service settings.

+

See how to change your email branding.

Send files by email

Notify offers a safe and reliable way to send files by email.

@@ -41,7 +41,7 @@

Add a reply-to address

Notify lets you choose the email address that users reply to.

Emails with a reply-to address seem more trustworthy and are less likely to be labelled as spam.

-

You can add reply-to addresses in your service settings.

+

See how to add a reply-to address.

Pricing

It’s free to send emails through Notify.

diff --git a/app/templates/views/features/letters.html b/app/templates/views/features/letters.html index 1b498a05b..4b092e055 100644 --- a/app/templates/views/features/letters.html +++ b/app/templates/views/features/letters.html @@ -29,12 +29,11 @@

Branding

Add your organisation’s logo to your letter templates.

-

You can change your branding in your service settings.

+

See how to change your letter branding.

Upload your own letters

You can create reusable letter templates in Notify, or upload and send your own letters with the Notify API.

-

Use the letter specification document to help you set up your letter, save it as a PDF, then upload it to Notify.

-

Read our API documentation for more information.

+

Read our documentation.

Pricing

It costs between 30p and 76p (plus VAT) to send a letter. Prices include:

diff --git a/app/templates/views/features/text-messages.html b/app/templates/views/features/text-messages.html index 530e95305..270e192f5 100644 --- a/app/templates/views/features/text-messages.html +++ b/app/templates/views/features/text-messages.html @@ -28,7 +28,7 @@

Show people who your texts are from

When you send a text message with Notify, the sender name tells people who it's from.

-

You can change the text message sender name from the default of ‘GOVUK’ in your service settings.

+

See how to change the text message sender.

Pricing

Each service you add has a free annual allowance. After that it costs 1.58 pence (plus VAT) to send a text to a UK number.

diff --git a/app/templates/views/get-started.html b/app/templates/views/get-started.html index 415fdb700..67056a69b 100644 --- a/app/templates/views/get-started.html +++ b/app/templates/views/get-started.html @@ -43,12 +43,7 @@
  • Write some messages

    -

    Add message templates with examples of the content you plan to send.

    -

    The GOV.UK Service Manual has advice on:

    - +

    Add message templates with examples of the content you plan to send. You can use our guidance to help you.

  • @@ -71,11 +66,11 @@
  • Start sending messages

    {% if not current_user.is_authenticated or not current_service %} -

    When you’re ready to send messages to people outside your team, go to the Settings page and request to go live. We’ll approve your request within one working day.

    +

    When you’re ready to send messages to people outside your team, go to the Settings page and select Request to go live. We’ll approve your request within one working day.

    {% else %}

    You should request to go live when you’re ready to send messages to people outside your team. We’ll approve your request within one working day.

    {% endif %} -

    Check how to pay if you're planning to send letters or exceed the free text message allowance.

    +

    Check how to pay if you’re planning to send letters or exceed the free text message allowance.

  • diff --git a/app/templates/views/guidance/branding-and-customisation.html b/app/templates/views/guidance/branding-and-customisation.html new file mode 100644 index 000000000..1f22ce366 --- /dev/null +++ b/app/templates/views/guidance/branding-and-customisation.html @@ -0,0 +1,72 @@ +{% extends "content_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Branding and customisation +{% endblock %} + +{% block content_column_content %} + +

    Branding and customisation

    + +

    This page explains how to:

    + + + +

    Change your email branding

    + +

    The default branding for email templates is the GOV.UK logo.

    + +

    To change your email branding:

    + +
      +
    1. Sign in to Notify.
    2. +
    3. Go to the Settings page.
    4. +
    5. In the Email settings section, select Change on the Email branding row.
    6. +
    + +

    Add a reply-to email address

    + +

    You can choose the email address that your users reply to. You must add at least one reply-to address for your service before you can request to go live.

    + +

    To add a reply-to email address:

    + +
      +
    1. Sign in to Notify.
    2. +
    3. Go to the Settings page.
    4. +
    5. In the Email settings section, select Manage on the Reply-to email addresses row.
    6. +
    7. Select Add reply-to address.
    8. +
    + +

    Change the text message sender

    + +

    The text message sender tells your users who the message is from.

    + +

    To change the text message sender from the default of ‘GOVUK’:

    + +
      +
    1. Sign in to Notify.
    2. +
    3. Go to the Settings page.
    4. +
    5. In the Text message settings section, select Manage on the Text message senders row.
    6. +
    7. Select Change or Add text message sender.
    8. +
    + +

    Change your letter branding

    + +

    Letter templates do not have default branding.

    + +

    To add a logo to your letters:

    + +
      +
    1. Sign in to Notify.
    2. +
    3. Go to the Settings page.
    4. +
    5. In the Letter settings section, select Change on the Letter branding row.
    6. +
    + +{% endblock %} diff --git a/app/templates/views/guidance/create-and-send-messages.html b/app/templates/views/guidance/create-and-send-messages.html new file mode 100644 index 000000000..2fc567a6d --- /dev/null +++ b/app/templates/views/guidance/create-and-send-messages.html @@ -0,0 +1,24 @@ +{% extends "content_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Send messages +{% endblock %} + +{% block content_column_content %} + +

    Send messages

    + +

    Create an account to see a short tutorial explaining how to create and send messages.

    + +

    Bulk sending

    + +

    To send a batch of messages at once:

    +
      +
    1. Sign in to Notify.
    2. +
    3. Go to the Templates page and choose an existing template.
    4. +
    5. Select Send.
    6. +
    7. If you’re sending emails, select Upload a list of email addresses. If you’re sending text messages, select Upload a list of phone numbers. If you’re sending letters, select Upload a list of addresses.
    8. + + {% endblock %} diff --git a/app/templates/views/guidance/edit-and-format-messages.html b/app/templates/views/guidance/edit-and-format-messages.html new file mode 100644 index 000000000..96e22b191 --- /dev/null +++ b/app/templates/views/guidance/edit-and-format-messages.html @@ -0,0 +1,105 @@ +{% extends "content_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Edit and format messages +{% endblock %} + +{% block content_column_content %} + +

      Edit and format messages

      + +

      This page explains how to:

      + + +

      Format your content

      + +

      You can see a list of formatting instructions on the edit template page:

      + +
        +
      1. Sign in to Notify.
      2. +
      3. Go to the Templates page.
      4. +
      5. Add a new template or choose an existing template and select Edit.
      6. +
      + +

      Email templates can include:

      + + +

      Letter templates can include headings and bullets.

      + +

      Notify does not allow bold, italics, subheadings, underlined text or different fonts. This is because they can make it harder for users to read what you’ve written.

      + + + +

      When composing an email or text message, write URLs in full and Notify will convert them into links for you.

      + +

      You cannot convert text into a link. Research shows that people like to check a URL looks genuine before clicking the link in an email. This is hard to do if the URL is hidden behind clickable link text.

      + +

      We do not recommend using a third-party link shortening service because:

      + + + +

      Personalise your content

      + +

      To personalise the content of your messages, add a placeholder to the template.

      + +

      Placeholders are filled in with details, like a name or reference number, each time you send a message.

      + +

      To add a placeholder to the template:

      + +
        +
      1. Sign in to Notify.
      2. +
      3. Go to the Templates page.
      4. +
      5. Add a new template or choose an existing template and select Edit.
      6. +
      7. Add a placeholder using double brackets. For example: Hello ((first name)), your reference is ((ref number)).
      8. +
      9. Select Save.
      10. +
      + +

      When you send a message you can either:

      + + + +

      If you upload a list, the column names need to match the placeholders in your template.

      + +

      Add optional content

      + +

      To add optional content to your emails and text messages:

      + +
        +
      1. Sign in to Notify.
      2. +
      3. Go to the Templates page.
      4. +
      5. Add a new template or choose an existing template and select Edit.
      6. +
      7. Use double brackets and ?? to define optional content. For example, if you only want to show something to people who are under 18: ((under18??Please get your application signed by a parent or guardian.))
      8. +
      9. Select Save.
      10. +
      + +

      For each person you send this message to, specify ‘yes’ or ‘no’ to show or hide this content. You can either:

      + + + +

      If you upload a list, the column names need to match the optional content in your template.

      + +

      You cannot add optional content to a letter.

      + +{% endblock %} diff --git a/app/templates/views/guidance/index.html b/app/templates/views/guidance/index.html new file mode 100644 index 000000000..14ba6abe4 --- /dev/null +++ b/app/templates/views/guidance/index.html @@ -0,0 +1,34 @@ +{% extends "content_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Guidance +{% endblock %} + +{% block content_column_content %} + +

      Guidance

      + +

      This guidance is for teams using GOV.UK Notify to send emails, text messages and letters.

      + +

      It explains how to:

      + + + +

      More information

      + +

      The GOV.UK Service Manual has advice on:

      + + + +{% endblock %} diff --git a/app/templates/views/guidance/send-files-by-email.html b/app/templates/views/guidance/send-files-by-email.html new file mode 100644 index 000000000..329eb24b9 --- /dev/null +++ b/app/templates/views/guidance/send-files-by-email.html @@ -0,0 +1,18 @@ +{% extends "content_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Send files by email +{% endblock %} + +{% block content_column_content %} + +

      Send files by email

      + +

      Contact us if you want to send files by email.

      + +

      Then follow the instructions to send a file by email in our API documentation.

      + +{% endblock %} + diff --git a/app/templates/views/guidance/upload-a-letter.html b/app/templates/views/guidance/upload-a-letter.html new file mode 100644 index 000000000..1e7921fd7 --- /dev/null +++ b/app/templates/views/guidance/upload-a-letter.html @@ -0,0 +1,28 @@ +{% extends "content_template.html" %} +{% from "components/table.html" import mapping_table, row, text_field, edit_field, field with context %} +{% from "components/sub-navigation.html" import sub_navigation %} + +{% block per_page_title %} + Upload a letter +{% endblock %} + +{% block content_column_content %} + +

      Upload a letter

      + +

      You can upload and send your own letters instead of creating a reusable letter template.

      + +

      To upload and send a letter from a PDF file:

      + +
        +
      1. Sign in to Notify.
      2. +
      3. Go to the Uploads page.
      4. +
      5. Select Upload a letter.
      6. +
      7. Select Choose file.
      8. +
      + +

      Use the letter specification document to help you set up your letter.

      + + + +{% endblock %} diff --git a/app/templates/views/message-status.html b/app/templates/views/message-status.html index a04171210..fc322b3fd 100644 --- a/app/templates/views/message-status.html +++ b/app/templates/views/message-status.html @@ -2,29 +2,18 @@ {% from "components/table.html" import mapping_table, row, text_field %} {% block per_page_title %} - Message status + Delivery status {% endblock %} {% block content_column_content %} -

      Message status

      +

      Delivery status

      -

      When you send a message using GOV.UK Notify, it moves through different states.

      -

      Notify’s real-time dashboard lets you check the status of any message, to see when it was delivered. You can also use our API to check the status of your messages.

      +

      Notify’s real-time dashboard lets you check the status of any message, to see when it was delivered. This page describes the statuses you’ll see when you’re signed in to Notify.

      For security, this information is only available for 7 days after a message has been sent. You can download a report, including a list of sent messages, for your own records.

      +

      If you're using the Notify API, read our documentation for a list of API statuses.

      - A picture of the sending flow of messages in Notify, showing the three states of Sending, Delivered and Failed. Also shows the next
-           steps when messages fail, deleting data and trying a new channel for permanent failures, and trying again or trying a new channel for
-           temporary failures -

      Types of message status

      -

      These are the types of message status you’ll see when you’re signed in to Notify.

      -

      If you’re using our API, some of the statuses you’ll see will be different. Read our documentation for a detailed list of API message statuses.

      - -

      Emails

      +

      Emails

      {% call mapping_table( caption='Message statuses – emails', @@ -46,8 +35,14 @@ {% endfor %} {% endcall %}
      + +

      Spam

      +

      If an email is marked as spam, Notify receives a ‘complaint’ from the email provider. We’ll contact you if we receive a complaint about any of your emails. When this happens you should remove the recipient’s email address from your list.

      -

      Text messages

      +

      Open rates and click-throughs

      +

      Notify cannot tell you if your users open an email or click on the links you send them. We do not track open rates and click-throughs because there are privacy issues. Tracking emails without asking permission from users could breach General Data Protection Regulations (GDPR).

      + +

      Text messages

      {% call mapping_table( caption='Message statuses – text messages', @@ -71,7 +66,7 @@ {% endcall %}
      -

      Letters

      +

      Letters

      {% call mapping_table( caption='Message statuses – letters', @@ -93,4 +88,10 @@ {% endcall %}
      +

      Undelivered letters and returned mail

      + +

      Every letter we send includes our printer’s address on the back of the envelope. It’s not possible to customise the return address.

      +

      Returned mail is destroyed by our printer.

      +

      Each letter has a unique ID. Our printer sends us the ID of every letter they destroy. We’ll contact you if the IDs match any of your letters. This is a partly manual process, so it can take a few weeks.

      + {% endblock %} diff --git a/app/templates/views/trial-mode.html b/app/templates/views/trial-mode.html index fcd75e453..52166a0fb 100644 --- a/app/templates/views/trial-mode.html +++ b/app/templates/views/trial-mode.html @@ -16,15 +16,20 @@
    9. create letter templates, but not send them
    10. -

      - To remove these restrictions, {% if current_service and current_service.trial_mode %} - you can request to go live. +

      + To remove these restrictions, you can request to go live.

      {% else %} - go to the Settings page and request to go live. - {% endif %} +

      + To remove these restrictions:

      - +
        +
      1. Sign in to Notify.
      2. +
      3. Go to the Settings page.
      4. +
      5. Select Request to go live.
      6. +
      + {% endif %} +

      Before you request to go live, you must: