Skip to content

feat: support for data pkg import --batch-mode - #181

Merged
TomProkop merged 5 commits into
TALXIS:masterfrom
honzakostejn:feat/cmt-batch-mode
Aug 3, 2026
Merged

feat: support for data pkg import --batch-mode#181
TomProkop merged 5 commits into
TALXIS:masterfrom
honzakostejn:feat/cmt-batch-mode

Conversation

@honzakostejn

Copy link
Copy Markdown
Member

This pull request introduces important improvements and refactoring to the data package import functionality, with a focus on improving documentation clarity and refactoring the CrmServiceClient to use modern extension methods for CRUD operations.

Refactoring and Modernization of CrmServiceClient:

  • Refactored CRUD methods (CreateNewRecord, UpdateEntity, DeleteEntity, DeleteEntityAssociation) to delegate to the corresponding methods in Microsoft.PowerPlatform.Dataverse.Client.Extensions.CRUDExtentions, reducing custom code and improving maintainability. [1] [2] [3]
  • Added a utility method to convert between legacy CrmDataTypeWrapper and modern DataverseDataTypeWrapper types, ensuring compatibility with the new CRUD extension methods.

Batch Operation Handling:

  • Modified close/cancel operation methods (e.g., CloseOpportunity, CloseIncident, etc.) and their helper to support batch queuing by accepting a batchId parameter and using a new TryQueueRequest method. This enables these operations to participate in batch requests when appropriate. [1] [2] [3]

Documentation and CLI Usability Improvements:

  • Updated the --connection-count option documentation and CLI description to clarify that the effective parallelism is N-1 (one management connection plus N-1 worker connections), matching pac data import behavior. Examples and recommendations were updated to reflect this. [1] [2] [3]
  • Clarified in both documentation and CLI help that enabling --batch-mode skips M2M relationship records, and provided guidance for users who need to import M2M data. [1] [2] [3]

Connection Timeout Handling:

  • Ensured that the ServiceClient.MaxConnectionTimeout is set before instantiating a new client, preventing indefinite hangs during token acquisition. [1] [2].

Comment thread src/TALXIS.CLI.Features.Data/DataPackageImportCliCommand.cs Outdated
Comment thread src/TALXIS.CLI.Platform.XrmShim/CrmServiceClient.cs Outdated
Comment thread src/TALXIS.CLI.Platform.XrmShim/CrmServiceClient.cs
@TomProkop
TomProkop merged commit a0b3b59 into TALXIS:master Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants