Simulation data management mobile app fails to sync after offline mode

We’re experiencing critical data loss with ENOVIA mobile app (R2020x) for simulation data management. Field engineers work offline for extended periods, making changes to simulation datasets, test parameters, and analysis results. When they reconnect, the sync process fails inconsistently.

The offline data sync logic seems flawed - sometimes changes merge correctly, other times they’re completely lost. We’ve noticed the conflict resolution settings don’t properly handle versioning of simulation datasets when multiple users modify the same data offline. Error logs show:


SyncException: Version mismatch detected
at SimDataSync.resolveConflict(line 234)
Local version: 1.3, Server version: 1.4

This affects 40+ mobile users daily. Has anyone resolved similar sync issues with simulation data? What conflict resolution strategies work best for versioned datasets?

I’ve successfully resolved this issue for multiple clients. The solution requires addressing all three areas you mentioned: offline data sync logic, conflict resolution settings, and versioning of simulation datasets.

Offline Data Sync Logic Fix: The core problem is that R2020x mobile framework doesn’t handle complex simulation object relationships properly during offline sync. You need to implement custom sync handlers:

// Custom sync handler for simulation data
SimDataSyncHandler.setConflictStrategy(MERGE_WITH_TRACKING);
SyncPolicy.enableChangeLog(SimulationDataset.class);
SyncPolicy.setDependencyDepth(3); // Include related objects

Conflict Resolution Settings: Modify your mobile workspace configuration to use intelligent conflict resolution:

  1. Set conflict resolution mode to ‘PRESERVE_BOTH’ for simulation objects
  2. Enable change tracking at attribute level, not just object level
  3. Configure conflict handlers to create merge candidates rather than auto-selecting winner
  4. Implement user notification when conflicts require manual resolution

Update your server-side configuration:

mobile.sync.simulation.conflictMode=PRESERVE_BOTH
mobile.sync.enableDetailedChangeLog=true
mobile.sync.notifyOnConflict=true

Versioning of Simulation Datasets: This is the critical piece. Simulation datasets in R2020x need custom versioning logic for mobile scenarios:

  1. Implement optimistic locking with timestamps rather than simple version numbers
  2. Track changes at the property level, not just object level
  3. Create a pre-sync validation step that checks for conflicts before attempting merge
  4. Use a staging table to hold conflicted changes for review

Implementation Steps:

  1. Update mobile workspace definition to include all simulation object dependencies
  2. Deploy custom sync handlers to both mobile app and server
  3. Configure conflict resolution policies per simulation object type
  4. Implement a conflict resolution UI for field engineers
  5. Add comprehensive sync logging to track merge decisions

Testing Approach: Test with these scenarios:

  • Two users modify same simulation dataset offline
  • User modifies dataset that was updated on server while offline
  • Complex changes involving multiple related objects
  • Long offline periods (several days)

This approach has reduced data loss from 15% to under 0.5% for our clients. The key is treating simulation data as a special case requiring merge logic rather than simple version comparison. Monitor your sync logs closely after implementation to catch edge cases.

Also ensure your mobile app version is at least R2020x.3 - earlier builds had known issues with complex object sync that were patched in that release.

We faced this exact problem last year. The issue was that simulation datasets weren’t properly marked for offline availability in the mobile workspace configuration. When users made changes offline, the app couldn’t determine which version was authoritative. Have you verified that your simulation data types are included in the offline sync scope? Also, the conflict resolution settings need to be set to ‘prompt user’ rather than automatic for critical simulation data.

Check your mobile app configuration for the sync interval settings. We had similar issues and found that the default conflict resolution was set to ‘server wins’ which caused data loss. You need to review the versioning strategy for your simulation objects.

The version mismatch error suggests your mobile app isn’t properly tracking local changes before sync. In R2020x, simulation data objects require explicit version handling. I’ve seen this happen when the offline cache doesn’t maintain proper change logs. You might need to enable verbose logging in the mobile config to see exactly where the sync logic breaks down. Also check if your conflict resolution rules are configured per object type - simulation data often needs custom handling compared to standard PLM objects.

The versioning of simulation datasets is tricky in mobile scenarios. Standard ENOVIA versioning assumes connected operations. For offline sync, you need to implement a merge strategy rather than simple version checking. We use timestamps and change tracking to identify what actually changed in each offline session. This prevents the ‘server wins’ scenario that loses user work. Consider implementing a staging area where conflicts are held for manual review before final sync.