Uploaded image for project: 'CiviVolunteer'
  1. CiviVolunteer
  2. VOL-203

Allow specification of which Campaigns are visible in Volunteer forms

    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

            Activity

              People

              • Assignee:
                tobiaslounsbury Tobias Lounsbury
                Reporter:
                pittstains Frank J. Gómez
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 4 hours
                  4h
                  Remaining:
                  Remaining Estimate - 4 hours
                  4h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified