Outreach Partners - TenthPres/TouchPoint-WP GitHub Wiki

Post a public listing and map of your Outreach partners.

Important Security Implications

Before you turn on this feature, stop and read these instructions all the way through and think through how you're going to protect the information of people who may work in sensitive locations. You absolutely can share some information for some partners, safely, but do consider it carefully.

Setup

To enable, go to Settings > TouchPoint-WP > Basic Settings and select "Enable Global Partner Listings"

Then, create or adjust a Saved Search in TouchPoint. Partners will be selected from this saved search and grouped by Family.

To connect to your website, go to the Settings > TouchPoint-WP > Global Partners. Fill out the blanks and select the saved search. Much of the partner information will come from Family Extra Values. If you have Organizations/Businesses that should be listed as partners, you will want to enable the TouchPoint setting, FamilyExtraValuesForBusinesses and set it to true.

Many of the settings allow you to choose which Family Extra Value field you would like to pull information from. You may need to create and populate these fields.

  • Extra Value: Description - Text or HTML - This is meant to be a long biography-like field to describe the work of the partner. It can be as long as you want.
  • Extra Value: Summary - Text or HTML - If you'd like to have a short description of a partner's work, use this field. If you leave this blank, it will automatically take the first few words from the Description, above. If you want to have a Summary OR a Description, choose to have the Description.
  • Latitude and Longitude Overrides - Text - By default, the partner map will use partner home addresses. If you would like to put their marker somewhere else, you can put in Latitude and Longitude values.
  • Public Location - Text - The location name as you want it to appear online.

You can also optionally select other Family Extra Values to import with each Partner post. In order for these fields to appear on your site, you will need to create or edit a custom template for Partners.

The Primary Taxonomy is the primary means that will be used to organize the Partners. It can be any Extra Value of the Select or Code types. For example, we use "City" and "Cross-Cultural" partner types to distinguish who's in our own city and reaching other cultures.
This will dictate the colors used for the partner map.

Scripting for Security

The Partner module is probably the place where the WebPublicPerson script matters most, as that is where you can control exactly how much of whose information is shared. At Tenth, we use an Int Family Extra Value to indicate how "secure" a partner is, with 1 being not secure at all and 4 meaning that even very few of our church members will know about them.

The WebPublicPerson script allows you to customize the display names (e.g. removing last names), "decouple" the partner from the location, and even completely exclude individuals. See that documentation for more.

See the WebPublicPerson documentation for more.

Filters

tp_partner_actions

Use this filter to change the generated HTML for a Partner. The parameters are:

  1. The existing string after it's generated
  2. The Partner object, which can be used for fetching other details
  3. An optional Context variable which is passed from the Partner::getActionButtons($context)

Example: Let's say you have a Family Extra Value imported for the partner's website. This adds a button for that.

function my_partner_actions_filter($content, $partner, $context) {
    $website = $partner->ExtraValues()->WebsiteURL;
    if ($website !== null && $website !== "") {
        $content = "<a class=\"button btn\" href=\"$website\">Website</a>&nbsp;" . $content;
    }
    return $content;
}
add_filter('tp_partner_actions', 'my_partner_actions_filter', 10, 3);
⚠️ **GitHub.com Fallback** ⚠️