## Overview

The Attribute Mapping Table widget displays all attribute mappings associated with a synchronization configuration in the Enterprise Connect Foundation (ECF) plugin. It provides a table view of how cplace attributes are mapped to external system attributes for data synchronization purposes.

This widget automatically queries and displays all `Attribute Mapping` entities that reference the current synchronization configuration page, excluding the redundant "Configuration" column since the widget is embedded within the configuration page itself.

## Use Cases

### Primary Use Case: Configuring Data Synchronization

When administrators set up data synchronization between cplace and an external system (like Jira, SAP, or other enterprise systems), they need to define which attributes should be synchronized and how. The Attribute Mapping Table widget provides a central view of all these mappings within a configuration.

**Scenario**: An administrator is configuring a Jira integration to synchronize task data. They use this widget to:
- View all existing attribute mappings at a glance
- Understand which cplace fields map to which Jira fields
- See the synchronization direction for each mapping
- Identify which mappings have custom conversions applied

### Supporting Use Cases

1. **Configuration Review**: Review all attribute mappings for a synchronization configuration before enabling it
2. **Troubleshooting**: When data isn't synchronizing correctly, use the table to verify mappings are configured as expected
3. **Documentation**: Serves as a quick reference for what data flows between systems
4. **Auditing**: Administrators can audit the complete attribute mapping setup for compliance

## Design Considerations

### Context Requirements

**Embedding Constraint**: This widget can ONLY be embedded in pages of type `cf.cplace.ecf.syncConfiguration` (ECF Synchronization Configuration). Attempting to embed it in other page types will fail with a `NotEmbeddableException`.

### Default Layout Integration

The widget is automatically included in the **Configuration tab** of synchronization configuration pages:
- The Configuration tab contains: Attributes widget + Attribute Mappings Table widget
- The Synchronization tab contains: Sync Metadata Table widget

This provides a logical separation between configuration elements and operational synchronization data.

### Data Model

The widget displays entities of type `cf.cplace.ecf.attributeMapping` which include:
- **cplace Attribute**: The cplace attribute being mapped
- **External Attribute**: The external system attribute being mapped
- **Sync Direction**: INBOUND (external→cplace) or OUTBOUND (cplace→external)
- **Conversion Parameters**: Optional conversion configuration for data transformation

## Related Patterns

### Related Widgets

- **Sync Metadata Table Widget** (`cf.cplace.ecf.configuration.widget.syncMetadataTable`): Companion widget that displays synchronization metadata entities in the Synchronization tab
- **Layout Tabs Widget** (`cf.cplace.layoutTabsWidget`): Used to organize the Configuration and Synchronization tabs

### Dependencies

- Requires the ECF plugin (`cf.cplace.ecf`) to be installed
- Requires a connector app to provide the synchronization configuration types
- Works with ECF synchronization framework components (SyncConfiguration, AttributeMapping, Conversion interfaces)

## Common Pitfalls

- **Incorrect Embedding**: Attempting to use this widget outside of ECF Synchronization Configuration pages will fail. This widget is specifically designed for ECF configurations and cannot be used as a general-purpose table widget.
- **Missing Connector**: The widget requires an active ECF connector app to be installed. Without a connector, the synchronization configuration types won't be available.
