Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-256

Groups and Subscribing - Additional Tasks for CivicSpace MassMailer Integration


    • Type: Improvement
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: None
    • Fix Version/s: 1.1
    • Component/s: None
    • Labels:


      These tasks implement additional functionality needed both for CivicSpace MassMailer integration AND for subsequent CiviCRM MassMailer module....

      Please read the spec/overview of 'Org and Group Subscribing' for background on the processing flow:

      NOTE: Brian M. has implemented most (all?) of the schema changes for this functionality and has modified the BAO to insert the civicrm_subscription_history records as described for each action.

      1. Modify Group class to use is_active model (groups are not deleted, they are set to is_active = false). However, the UI should remain the same (action label = Delete Group), and inactive groups should NOT be displayed in any of the interfaces (Manage Groups, select Group for searching, etc.)

      2. Modify Contact/BAO/GroupContact to support passing in the 'method' parameter (this is used to the business object when inserting the subscription_history records).

      3. Modify existing GroupContact API's to support 'method' parameter
      3.1 crm_add_group_contacts()
      3.2 crm_delete_group_contacts()

      4. Create to new API's to implement the subscribe-request/confirm processes:
      4.1 crm_subscribe_group_contacts()
      – Inserts group_contact record (status = PENDING)
      – Inserts subscription_history record: contact_id = $cid, group_id = $gid, status = PENDING, datetime = now(), method = 'Email'

      4.2 crm_confirm_group_contacts()
      – Check that current group_contact status = PENDING.
      + if true, update group_contact record (status = IN)
      + if false, return error: "Can not confirm subscription. Current group status is NOT Pending."
      – Insert subscription_history record: contact_id = $cid, group_id = $gid, status = IN, datetime = now(), method = 'Email'

      5. Update Public API documentation to reflect new 'method' param and the 2 new API's




            • Assignee:
              anil Anil Kokitkar
              dgg David Greenberg
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: