In an ideal world, everyone logging into Rock for the first time should have signed a Technology Usage Agreement that outlines confidentiality policy, appropriate use of access and some other legalese that our attorneys say is important. In the past, we collected hard copies and stuffed them unceremoniously in 1 big file having no idea if we had one for all users. With Rock, we were able to create a process that auto-prompts a new user that is signing on for the first time  to a page with the form. Once they agree, the workflow saves their agreement as a pdf in a person attribute on their record and redirects them to the home page.   Here is how to do it:

Requirements:

PDF ToolKit Plugin

(This plugin is an investment, but it has allowed us to save technology agreements, volunteer applications, child medical waivers, Safety Team and Group Leader Commitments to the person profile ,which is a huge win!) 

Step One:  Create a Person Attribute to store your Agreement.

Under General Settings - Person Attributes,

  • Add a Technology Usage Agreement Attribute with the field type of :File" and a File Type of "Unsecured"
  • Be sure to add it to an Attribute Category that is viewable on the person profile.

Step Two:  Create the Tech Agreement Workflow Form:

This is a 5 action workflow. Here is a closer look at the set up: 

  • Set up your Workflow Attributes

Screen_Shot_2021-08-31_at_9.30.10_AM.png

Notes:

  • The 'I agree" workflow attribute is a multi-select field with only one option. 
  • The entire agreement is contained in the Agreement Workflow Attribute. (see image below)

Screen_Shot_2021-08-31_at_9.44.00_AM.png

*If you would like to modify our copy for your church, here is a link to it's contents.

  • Set Up Your Workflow Actions

1. Set Your person as initiator.

Screen_Shot_2021-08-31_at_9.52.25_AM.png

2. Create your Agreement Form

Screen_Shot_2021-08-31_at_9.54.23_AM.png

3. Create your PDF

Screen_Shot_2021-08-31_at_9.56.04_AM.png

Save PDF to Person Attribute:

Screen_Shot_2021-08-31_at_9.57.15_AM.png

Redirect to Homepage

Screen_Shot_2021-08-31_at_9.58.17_AM.png


Step Three: Put the Workflow Form on an accessible page.

Go to CMS Configuration - Pages (Internal Homepage - Support Pages is where we added ours.)

  • Create a new page with a workflow entry block on it. 
  • Add your workflow
  • Optional - Add a page route: we used:  /technology-use-agreement

Step Four: Add your HTML block onto your Homepage.

  • In your footer, add an html block.
  • Here is the lava to add: (You will need to update the Person Attribute Keys to what you made yours match your attribute key from Step One in the corresponding highlighted color below. You will need to update the page route to whatever you used from Step Three in the corresponding color below.

In the Code Editor Mode </>: Add this Lava to the html block:

{% assign agreement = CurrentPerson | Attribute:'TechnologyUsageAgreement' %}

{% assign URL = 'Global' | Attribute:'InternalApplicationRoot' | Append:'technology-use-agreement' %}

    {% if CurrentPersonCanAdministrate %}

        <p class="alert alert-warning">Block viewable by admins only - redirects user to: <a href="{{ URL }}">{{ URL }}</a> if they do not have a technology agreement on file.</p>

    {% else %}

        {% unless agreement and agreement != '' %}

        {{ URL | PageRedirect }}

        {% endunless %}

    {% endif %}

You did it! Now time to test it out! 

Suggestion: For current Staff or Leadership, that have previously signed an agreement, you may want to consider bulk updating this attribute to allow them to bypass this process. That is up to you. It is part of our Staff Guidebook which they read and sign in the hiring process so we were comfortable creating a document that says, "Technology Usage Agreement signed on file when hired."  and bulk updated it on all staff profiles that have access to Rock. That way they didn't all have to resign it. We did leave it in place and let our current volunteers go through the process of "electronically" signing it so that we have it on file.