Skip to content

Conversation

@kuzmany
Copy link
Owner

@kuzmany kuzmany commented Jul 9, 2025

Summary

This PR combines A/B testing functionality with the email schedule sending feature for Mautic 7.x, providing a comprehensive email testing and scheduling solution.

Key Features

A/B Testing Functionality

  • A/B Test Creation: Create A/B test variants for emails with different content
  • Winner Selection: Automatic and manual winner selection based on various criteria
  • Test Statistics: Comprehensive tracking of A/B test performance
  • Variant Management: Easy management of email variants and their settings

Email Schedule Sending

  • Email Schedule Sending: Schedule segment emails to be sent at specific times
  • Schedule Form: New ScheduleSendType form for setting publish dates and continuation settings
  • Continue Sending Option: Control whether emails continue sending to new contacts
  • Background Sending Status: Enhanced status badges showing scheduling states

Changes Made

A/B Testing Changes

  • ABTestController: New controller for managing A/B tests
  • SendWinnerEmailCommand: Command for processing A/B test winners
  • Email Entity: Enhanced with A/B testing capabilities
  • Repository Updates: Support for A/B test queries and statistics
  • UI Components: A/B test management interface

Schedule Sending Changes

  • ScheduleSendAction: New action in EmailController for scheduling modal
  • ScheduleSendType: Form type for scheduling options
  • Email Entity: Added continueSending field for ongoing send control
  • Repository Updates: Support for scheduled sending queries
  • Status Enhancements: UI improvements for scheduling states

Combined Features

  • Enhanced Email Entity: Support for both A/B testing and scheduling
  • Unified UI: Integrated interface for both features
  • Comprehensive Testing: Tests covering both A/B testing and scheduling scenarios
  • Performance Optimizations: Efficient handling of both features

UI/UX Improvements

  • Integrated Button Layout: A/B test and schedule buttons with proper priority ordering
  • Enhanced Status Badges: Show both A/B test and scheduling information
  • Unified Email List: Display both A/B test and scheduling states
  • Improved Forms: Better user experience for both features

Database Changes

  • A/B testing related fields in Email entity
  • continueSending field for schedule sending functionality
  • Enhanced indexes for performance

Test Coverage

A/B Testing Tests

  • A/B test creation and management
  • Winner selection functionality
  • Statistics tracking
  • Variant management

Schedule Sending Tests

  • Schedule email for future sending
  • Continue sending option functionality
  • Schedule cancellation
  • Background sending status

Combined Feature Tests

  • A/B testing with scheduled emails
  • Winner selection on scheduled emails
  • Performance with both features enabled

Breaking Changes

None - this is a feature addition that maintains backward compatibility.

Performance Considerations

  • Optimized queries for both A/B testing and scheduling
  • Efficient caching for email statistics
  • Proper indexing for performance

This PR provides a complete solution for both A/B testing and scheduled email sending, allowing users to create sophisticated email campaigns with proper testing and timing controls.

@kuzmany kuzmany changed the base branch from 7.x to schedule-sending July 9, 2025 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants