Move existing User List accounts into member collection entries without breaking login or the P76 social graph.
Requires User Management 1.0.53+.
The migration is additive and idempotent:
- Legacy
UserStorageusers are not deleted - Member entries get
account.member_idandaccount.legacy_user_id member_legacy_mapmetadata linksuser_id↔member_id- Dual-read auth lets existing users sign in with the same email and password
- P76
user_relationshipresolves anchors fromlegacy_user_idor the legacy map
Before you start
- Backup
content/anddata/plugins/user_management/. - Deploy User 1.0.53+ from the Hub.
- Confirm the target collection schema includes an account field (for example
accountwith typeuser_account_club). - Verify User → Fieldtypes and Members tabs load in admin.
Migration script
Path: plugins/user_management/scripts/migrate-p77-members.php
# Preview
php plugins/user_management/scripts/migrate-p77-members.php --dry-run --collection=club-profiles
# Execute
php plugins/user_management/scripts/migrate-p77-members.php --collection=club-profiles
| Flag | Purpose |
|---|---|
--dry-run | Report counts without writing |
--collection=slug | Target member collection (required) |
On success:
- Creates or updates entries with populated
accountfield - Writes
member_legacy_mapentries - Sets
member_entry_auth=trueautomatically
Verify
| Check | Expected |
|---|---|
| Admin → Members | Lists migrated rows; links open collection entries |
| Legacy login | Same email/password works (auth_source: member_entry in session) |
user_relationship panel | Loads on profile entries (anchor from legacy_user_id / owner) |
| New signup | Uses user_member_signup or {entry for} — not legacy user_registration when cutover enabled |
Cutover (optional)
When all active users have member entries:
- User → Settings → enable Member entry signup only
- Legacy
user_registrationreturnsmember_entry_signup_onlywith redirect touser_member_signup
Keep Member entry authentication enabled for dual-read login.
Rollback
- Disable
member_entry_authin plugin settings to turn off member-entry login fallback - Restore from backup if entry writes need reverting
- Migration does not remove User List rows
birkly.io reference
Platform runbook (maintainers): internal/planning/reviews/P77-birkly-io-migration-runbook.md in Birkly-Marketplace.
Phase A targets club-profiles with existing club tiers and Commerce membership products.