Details
-
Type: Improvement
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Fixed/Completed
-
Affects Version/s: 2.0.2
-
Fix Version/s: 2.1.0
-
Labels:
-
Documentation Required?:User and Admin Doc
Description
Problem
A client is hesitant to use the Campaigns integration because they are currently using Campaigns for internal/sensitive projects such as fundraising appeals.
Background
Currently, the CiviVolunteer front-end is retrieving the list of campaigns using the API call VolunteerUtil.getcampaigns(), which is a simple wrapper around Campaign.get.
Technical Approach
The proposed approach is to:
- Create a new Volunteer Setting to dictate list as being either whitelist or blacklist
- Create a new Volunteer Setting to whitelist/blacklist Campaign types.
- Update VolunteerUtil.getcampaigns() to filter by Campaign Type per the new settings.
- Default action to blacklist, and list to empty. This will keep campaign list from being depopulated on upgrade.
Rejected Approaches
- Creating a setting that allows the specification of a whitelist or blacklist of campaigns. Reason: the upgrade problem is at least as difficult to solve as the chosen approach, and we'd have to build a UI for making the selections.
- Tagging campaigns. Same problems as above.
We decided that reusing existing data structures as much as possible, provided we weren't changing the intention of said structures, was the most desirable approach. We couldn't see that Core was making significant use of the Campaign types, so we determined it was safe for users to edit existing Campaigns and change the types if they needed to do so.
Attachments
Issue Links
- is supplemented by
-
VOL-204 Connect Settings metadata to Defaults form
- Done/Fixed
- links to