- 5 minutes to read

Do BPM changes cause data loss or require message replay?

No. Nodinite enables schema-free changes without data loss. This page explains:

  • Why BPM changes never lose historical data or require message replay
  • Comparison matrix showing what happens with each type of change
  • How reindexing reconstructs views over existing log data
  • Real-world scenarios demonstrating schema-free flexibility
  • What competing solutions require (and why it's painful)

Add new steps, reorganize domains, refine correlation logic, or restructure processes—all while preserving historical data and maintaining continuity.

Quick Answer

Nodinite BPM is schema-free—log data exists independently of BPM definitions. When you modify a BPM, you're changing the lens through which you view the data, not the data itself. Historical log events remain intact, and you can even create new BPM views over old data through reindexing.

What Happens When I Change My BPM

Change Type Historical Data Visibility Action Required Reindexing Supported
Add new process step Preserved Old data won't show in new step (logged before step existed) None—new events populate automatically Yes—can retroactively map old events to new step
Reorganize domains Preserved All data visible in new domain structure None—view reflects new organization Yes—reconstruct with new swimlanes
Refine Search Field correlation Preserved Old correlations remain; new logic applies going forward None—dual visibility during transition Yes—reapply new correlation to historical data
Restructure processes Preserved Data accessible via original BPM and new BPMs None—create parallel BPMs if needed Yes—split/merge views over same data
Rename services Preserved Display name changes; underlying service unchanged Use artifact renaming in BPM designer N/A—cosmetic change only
Change step order Preserved Same data, different column arrangement None—visual reordering only N/A—presentation change only
Remove service from cell Preserved Service events no longer visible in that BPM step None—data still in logs, just not in this BPM view Yes—re-add service later, old events reappear
❌ Delete entire BPM Preserved BPM view gone; log data untouched None—log data remains searchable Yes—recreate BPM, historical data populates

Schema-Free Architecture Explained

graph TB subgraph "Log Database - Immutable Foundation" LogData[fa:fa-database Log Events
Permanent Storage] end subgraph "BPM Layer - Flexible Views" BPM1[fa:fa-project-diagram BPM v1
Original Design] BPM2[fa:fa-project-diagram BPM v2
After Changes] BPM3[fa:fa-project-diagram BPM v3
Reindexed View] end LogData -->|"Query & Filter"| BPM1 LogData -->|"Query & Filter"| BPM2 LogData -->|"Query & Filter"| BPM3 style LogData fill:#e8f5e9,stroke:#4caf50,stroke-width:3px style BPM1 fill:#e3f2fd,stroke:#2196f3 style BPM2 fill:#fff3e0,stroke:#ff9800 style BPM3 fill:#f3e5f5,stroke:#9c27b0

BPM definitions are flexible lenses over permanent log data—change the lens, data remains intact.

Real-World Scenarios

Scenario 1: Company Reorganizes Departments

Business Context: Finance department splits into Accounts Payable and Treasury.

With Nodinite BPM:

  1. Edit BPM → Add new "Treasury" domain
  2. Move relevant services from "Finance" swimlane to "Treasury" swimlane
  3. Done - Historical data remains accessible, BPM reflects new org structure going forward

Historical data impact:

  • Old events: Still visible, services remain in their original locations
  • New events: Automatically populate correct domain based on service assignment
  • No data loss, no migration, no downtime, no reindexing needed

Scenario 2: Adding Missing Process Step

Business Context: You realize order fulfillment has a "Quality Check" step you forgot to model.

With Nodinite BPM:

  1. Add new column "Quality Check" between "Picking" and "Shipping"
  2. Assign Quality Check service to new cell
  3. Done - Service events now appear in the new column

Historical data impact:

  • Events logged before: Already visible where the service was previously assigned
  • Events logged after: Automatically appear in Quality Check column
  • Services remain in their locations; only the visualization (column structure) changed

Business Context: You initially correlated by Order ID, but need to add Invoice ID tracking.

With Nodinite BPM:

  1. Add new Search Field for Invoice ID extraction
  2. Update BPM correlation to include Invoice ID
  3. Optional: Reindex to apply new correlation to historical data

Historical data impact:

  • Old correlations: Still work (Order ID tracking continues)
  • New correlations: Invoice ID tracking starts for new events
  • With reindexing: Historical events gain Invoice ID correlation retroactively

What Competing Solutions Require

Scenario Nodinite BPM Competing Solutions
Org Restructure Move services between domains, done Often require data migration or lose historical visibility
Add Process Step Add column, assign services, done May require message replay or lose historical process visibility
Change Correlation Update Search Fields, reindex for historical data Often require data re-processing or breaking existing correlations
Split/Merge Processes Create new BPM views over same data May require duplicate log storage or complex migration scripts
Rename Services Artifact renaming in designer Often breaks historical references or requires database updates

Understanding Reindexing

Reindexing = Retroactive BPM modeling over historical log data.

When to use reindexing:

  • You modified BPM structure and want historical data to reflect changes
  • You discovered a missing process step and want to see past occurrences
  • Compliance audit requires process reconstruction with new view
  • Forensic analysis needs different process perspective over old data

How it works:

  1. Historical log events remain in database (unchanged)
  2. BPM engine re-queries log data using new BPM definition
  3. Events populate new/modified BPM structure based on updated rules
  4. Original log timestamps and payloads preserved exactly

Key benefit: Create unlimited BPM views over the same log data without duplication or message replay.

Important Considerations

What you CAN'T do:

  • ❌ Change historical log event content (log data is immutable)
  • ❌ Retroactively add log events that were never logged
  • ❌ Modify timestamps or payloads of existing log events

What you CAN do:

  • ✅ Change how you view and organize existing log data
  • ✅ Create new correlations over historical events
  • ✅ Reorganize process structure without losing data
  • ✅ Build multiple BPM perspectives over same log data

Next Step

Ready to implement schema-free BPM workflows? Learn how to Add or manage BPM definitions safely, or explore Retroactive modeling and reindexing for forensic analysis.