-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
The Run Profiles tab shows File Path and Page Size columns/fields regardless of whether the connector supports them. Additionally, the Create Run Profile dialog shows the File Path field for all connectors when the run type is an import or export.
- File Path is only relevant for file-based connectors (e.g. CSV/File Connector). Call-based connectors (e.g. LDAP) ignore it entirely.
- Page Size is only meaningful for call-based connectors that support pagination. File-based connectors always import/export everything in a single batch.
Current Behaviour
Run Profiles table: File Path and Page Size columns are always shown, even when they're not relevant to the connector type. This adds visual clutter (File Path shows "-" for all LDAP run profiles, Page Size is meaningless for CSV connectors).
Create Run Profile dialog: File Path field visibility is based purely on run type, not connector type:
@if (_newRunProfile.RunType == ConnectedSystemRunType.FullImport ||
_newRunProfile.RunType == ConnectedSystemRunType.DeltaImport ||
_newRunProfile.RunType == ConnectedSystemRunType.Export)Proposed Solution
Add capability flags to IConnectorCapabilities and ConnectorDefinition:
SupportsFilePath(orIsFileBased) —truefor file-based connectors,falsefor call-based- Consider whether
PageSizeneeds its own flag, or if it's simply the inverse ofSupportsFilePath
Changes required:
- Model/interface — Add new property to
IConnectorCapabilitiesandConnectorDefinition - DB migration — Add column to
ConnectorDefinitionstable - Seed data — Set flag appropriately for built-in connectors (File:
true, LDAP:false) - All connector implementations — Implement new capability property
- Run Profiles table — Conditionally show/hide File Path and Page Size columns (same pattern as the Partition column, which already uses
ConnectedSystem.ConnectorDefinition.SupportsPartitions) - Create Run Profile dialog — Check both run type and capability flag before showing File Path/Page Size fields
Note on Partition column
The Partition column has already been updated to conditionally show/hide based on ConnectorDefinition.SupportsPartitions — this issue extends the same pattern to File Path and Page Size.
Locations
src/JIM.Web/Pages/Admin/Components/ConnectedSystemRunProfilesTab.razorsrc/JIM.Models/Interfaces/IConnectorCapabilities.cssrc/JIM.Models/Staging/ConnectorDefinition.cssrc/JIM.Connectors/File/FileConnector.cssrc/JIM.Connectors/LDAP/LdapConnector.cssrc/JIM.PostgresData/(migration)src/JIM.Application/Servers/SeedingServer.cs