## Overview

The SyncMetadataTable widget is part of the Enterprise Connectivity Framework (ECF) and serves as the primary interface for monitoring synchronization status between cplace and external systems. It displays synchronization metadata entries that track entity relationships, synchronization states, sync history, and error information.

The widget automatically adapts its displayed columns based on the sync configuration's mode:
- **OUTBOUND**: Shows Internal State, Last Outbound Error
- **INBOUND**: Shows External State, Last Inbound Error
- **BIDIRECTIONAL**: Shows both Internal/External States and both error columns

Key columns include Internal Entity, External Entity, synchronization states, timestamps for last sync attempts and successful syncs, and error messages from failed synchronization attempts.

## Use Cases

### Monitoring Synchronization Status
Administrators use this widget to monitor the overall health of synchronizations between cplace and external systems. They can quickly identify entities pending synchronization (NEW or MODIFIED), successfully synchronized entities (SYNCED), problematic entities with sync failures, and orphaned entities no longer in sync scope.

### Troubleshooting Sync Failures
When synchronization issues occur, this widget provides detailed error messages and timestamps to help diagnose problems. Each row shows which specific entity failed, when the failure occurred, and the error message explaining the failure reason.

### Managing Entity Assignments
The widget includes an action to remove pages from synchronization ("Unassign pages"), allowing administrators to remove entities that should no longer be synchronized, clean up orphaned metadata entries, and manage the scope of synchronization configurations.

### Validating Sync Configuration
Before enabling a sync configuration, administrators can verify which entities will be synchronized, the expected sync direction, and the initial state of entities.

## Design Considerations

This widget can **only** be embedded on ECF Sync Configuration pages. Attempting to add it to other page types will result in an error. The ECF plugin must be installed, a Connector App must be deployed in the workspace, and the widget must be placed on a page of type `cf.cplace.ecf.syncConfiguration` or its subtypes.

The widget is typically part of a tabbed interface on sync configuration pages:
- **Configuration Tab**: Attributes widget + Attribute Mapping Table
- **Synchronization Tab**: SyncMetadataTable widget

## Alternatives

The SyncMetadataTable is part of a suite of ECF widgets:

- **AttributeMappingTableWidgetDefinition** (`cf.cplace.ecf.configuration.widget.attributeMappingTable`): Shows attribute mappings between internal and external types
- **ConnectorSyncConfigsTableWidgetDefinition** (`cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable`): Lists all sync configurations for a connector
- **CleanupConfigTableWidgetDefinition** (`cf.cplace.ecf.connector.extension.widget.cleanupConfigTable`): Manages cleanup job configurations
