Announcement

Collapse
No announcement yet.

Make use of campaign log record

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Make use of campaign log record

    Hi the campaign log is a great feature.

    However it's not possible to filter / export lists of people based on records in the campaign log.

    E.g. list of people who opened. List of people who didn't open.

    Is there plans on supporting anything like this?

  • #2
    Hi

    Not planned yet. Maybe in future.

    Comment


    • #3
      Ok - this probably fits into the bigger discussion about greater filtering. Ideally you could filter based on any property of any related entity.

      Comment


      • #4
        Maybe we could add it to Reports. Will be little bit tricky to configure such a report but useful,

        Comment


        • #5
          Hi yuri

          I just noticed that you can now filter based on the action column of the Campaign Log Record table.

          Eg:

          Campaign Log Record.Action = Clicked, Campaign.Name = "MailChimp Test"

          This is wonderful! Thank you!

          I'm still really desperate to be able to filter on the Status columns of Meetings, Calls etc

          Meeting Attendance.Status = 'Attending', Meeting.Name = "Meeting Test"

          This would allow ANY entity relationship which uses a linkMultiple relationship to be filtered based on properties of its columns property. I know that this is possible I just don't understand the changes to SelectManagers/Base.php to achieve this.

          I'm going to have to hack this as my company needs it, if you could point to a proposed approach to get the *magical* "SELECT contact_id FROM contact_meeting WHERE `status` = 'Attending' AND meeting_id = $id" that would be great. I don't completely follow how the query generation happens.

          Comment


          • #6
            Hi

            PHP Code:
            for contacts

            $selectParams
            ['distinct'] = true;
            $selectParams['joins'][] = 'contacts';

            $selectParams['whereClause'][] = array(
               
            'contacts.status' => 'Accepted'
            );

            for 
            users:

            $selectParams['distinct'] = true;
            $selectParams['joins'][] = 'users';
            $selectParams['whereClause'][] = array(
               
            'users.status' => 'Accepted'
            ); 

            Comment


            • #7
              Does contacts.status automatically translate to the SQL field contact_meeting.status due to the joins ?

              Comment


              • #8
                Oops, sorry My fault. Should be:

                PHP Code:
                $selectParams['whereClause'][] = array(
                   
                'contactsMiddle.status' => 'Accepted'
                ); 
                contacts is alias name that equals no link name. Middle appended as alias for middle table.

                Add join:
                PHP Code:
                $selectParams['joins'][] = 'contacts'

                After 4.0 you can write
                PHP Code:
                $selectManager->addJoin([$link$alias], $result); 


                Last edited by yuri; 01-29-2016, 02:50 PM.

                Comment

                Working...
                X