DISH: NPSP has the Role field on the affiliation record, Salesforce has the standard Title field on the contact record. To ensure both values are aligned, you must manually enter and update duplicate information.
WHY THIS MATTERS: Users are confused by having duplicate fields in different places and will lose faith in their data and the amount of effort it takes to maintain.
SOLUTION: When the Role field is updated on a primary affiliation auto-populate the role value to the Title field on the related contact.
- Know exactly how you plan to use affiliations in your org
- Data currently stored in the Affiliation|Role fields and Contact|Title Fields. Export to csv files so you can move it to the correct field when the new model is complete
- Custom Title field on affiliation object
- DLRS or Rollup Helper
- Create a Title field on the affiliation object.
- Navigate to the role field in custom object setup (Setup|Create|Objects|Affiliation)
- Select New
- Select Text
- Select Title as a field label and Name 128 as a field length (To match the contact field’s length) Enter a description and help text to your liking.
- Make visible to all users and allow users to edit
- Save to page layout and save
- Arrange in page layout by opening the layout editor and selecting edit
- Drag and drop to remove role and replace with the new title field
- Do the same for the related list from the contact page layout
- Do the same for the related list from the account page layout
- Disable the NPSP Role field. (You can use the Role field as the Title but you cannot change the name of either so educating users on the difference may not be worth the effort. I suggest you just disable the Role field for now. If it’s been used as a job title value you may want to move that data over to the new field.)
- Navigate to the role field in custom object setup (Setup|Create|Objects|Affiliation
- Select Set Field-Level Security
- Deselect all user profiles and select save.
- Open DLRS by selecting the plus sign and selecting Manage Lookup Rollup Summaries (Note you can do this with Rollup Helper but the field values and process will be slightly different)
- You will be creating a new Rollup so you just need to input data into the available fields
- = Contact
- = npe5__Affiliation__c
- = npe5__Contact__c
- = Title__c
- = Concatenate Distinct
- = Title
- = Realtime
- = System
- Active = False
- Select Save
- Select Manage Child Trigger
- Select Deploy and wait until Deployment Complete message appears
- Select Cancel
- Select Active
- Select Save
- Select Calculate (Please note if you have more than 5000 or so affiliations you want to select Schedule Calculate
- Select Run Calculate Job Please NOTE: Before you calculate the job you will want to move any values currently stored into the Title field on contacts into the new Title field on primary affiliations, calculating this job will remove all Contact Title values from any contacts that have a primary affiliation and replace it with the value on the affiliation even if that value is blank.
- Navigate to the contact field security Setup|Customize|Contacts|Fields|Title|SetFieldLevel Security
- Set all to read only. This will ensure that users only add the title field by using the primary affiliation moving forward.
SERVE: Test your solution and update your user training guides.
Enter your title into an affiliation and be sure “Primary” is checked
Title automatically gets populated on the contact record
Consistent data when looking at org affiliations and contact titles.
RISK LEVEL: Low
TIME: 10 minutes (may take more time if contact title values need to be migrated to primary affiliations)