This changelog is a record of all changes made to this website, including bug fixes, new features, etc.
Membership System Migration & Data Preparation (Pre-Import)
Overview
A new membership data structure has been designed and prepared for migration from Ultimate Member (UM) to Paid Memberships Pro (PMPro).
This release focuses on data integrity, household structure, and future-proofing, ensuring a reliable and maintainable membership system before import.
Key Improvements
Household Membership Model (Redesigned)
Introduced a true household structure based on property (ESN)
Household members are now:
Linked via household_primary_email
Treated as a single membership unit
Eliminates previous reliance on discount codes
Intelligent Data Reconstruction
Rebuilt membership records using:
Master member list
ESN (property identifier)
Payment history
Automatically determined:
Household vs single memberships
Membership duration (1 year vs 2 year)
Membership status (active)
🏷 Membership Assignment Logic
Membership levels are now inferred consistently:
Household Memberships
1 Year → membership_id = 5
2 Year → membership_id = 6
Single Memberships
1 Year → membership_id = 3
2 Year → membership_id = 4
Membership Status & Expiry
Membership status set to active for all members paid through 2026
Membership end dates calculated using payment records:
Latest payment year determines expiry
Standardised to YYYY/12/31
Email Normalisation & Recovery
Resolved duplicate and missing email issues:
Shared emails split using ESN-based aliases
Missing emails generated using:
[ESN]@berowrawaters.org
[ESN].1 / .2 for multiple unknowns
Ensures all members have unique, valid identifiers
Payment Data Interpretation
Parsed mixed-format payment data (EFT, Stripe, Cash)
Derived:
Membership duration
Payment method (membership_gateway)
Standardised inconsistent historical records
Data Integrity Safeguards
Only members from the original master list were included
Any unmatched payment records were:
excluded from import
logged in a review report for validation
PMPro Compatibility Cleanup
Removed unsupported or unnecessary fields:
membership_billing_amount
membership_cycle_period
membership_initial_payment
Ensures full compatibility with PMPro’s level-based configuration
Deliverables
Import-ready PMPro CSV file
Separate review/report file for:
unmatched emails
data anomalies
Status
Data prepared but NOT yet imported
Final validation pending before production import
Next Steps
Review generated CSV and flagged records
Confirm household pairings where required
Perform test import (staging recommended)
Proceed with full production import
Summary
This work replaces a workaround-based membership system with a structured, scalable, and auditable model, significantly reducing risk of:
data inconsistency
household misalignment
manual errors