Upgrade from 1.2.5 to 2.0.0 

This upgrade introduces breaking changes to the data model of ext:clubmanager. The main architectural change is the introduction of the Member Journal, which replaces direct manipulation of membership status and level fields.

Breaking Changes 

The following fields are no longer editable directly:

  • starttime
  • endtime
  • state
  • level

These values are now exclusively derived from Member Journal Entries. The database field cancellation_wish has been removed.

Architectural Change: Member Journal 

Version 2.0.0 introduces the Member Journal as the single source of truth for all membership status and level changes.

Instead of directly modifying the fields state, level, starttime and endtime inside the member record, all changes are now created as journal entries. The system derives the effective membership state from these entries.

This architectural change ensures:

  • Complete historical tracking of status changes
  • Complete historical tracking of level changes
  • Statistically correct member development over time
  • Persistence of historical data even if a member record is deleted

The Member Journal forms the foundation for advanced features such as statistics, billing and frontend self-service functionality.

Field Behaviour Changes 

The following member fields are no longer editable directly in version 2.0.0. Their values are exclusively derived from Member Journal entries.

starttime 

The field starttime is set automatically when a member receives the status active for the first time. Once set, this value is never modified again, even if the member later changes status (e.g. becomes resting or cancelled).

endtime 

The field endtime is set automatically when a status change to cancelled becomes effective. If the effective date lies in the future, the value is stored but the final status transition is processed by the scheduler task.

state 

The field state is no longer editable. It always reflects the latest processed status change from the Member Journal.

level 

The field level is no longer editable. Level changes must be performed via Member Journal entries of type Level Change.

Upgrade Procedure 

Step 1: Update Extension 

Update ext:clubmanager to version 2.0.0 via Composer or the TYPO3 Extension Repository.

Step 2: Create Missing Tables and Fields 

Run the TYPO3 upgrade wizard Create Missing Tables and Fields to create the new table:

tx_clubmanager_domain_model_memberjournalentry

This table stores all future status and level changes independently from the member record itself.

Step 3: Configure Member Journal Storage Page 

Before running the migration wizard, you must define where Member Journal entries will be stored.

  1. Go to Site Management > Settings
  2. Select your site configuration
  3. Open section Clubmanager > Member Journal
  4. Set the field Member Journal Storage Page to a dedicated sysfolder UID

If this value is set to 0, journal entries will be stored in the same folder as the corresponding member record.

Step 4: Run Upgrade Wizard 

Execute the following upgrade wizard:

Clubmanager: Initiale Member-Journal Einträge

This wizard creates initial journal entries for all existing members based on their current state, starttime and endtime. Existing cancellation wishes are migrated into journal entries before the old field is removed.

The wizard should only be executed once.

Step 5: Database Compare 

After the wizard has completed successfully, you may run "Analyze Database" and "Database Compare".