A collection of libraries for common and extended operations in Dynamics CRM development that gives power to the developer and saves time.
- Massive JS and CS libraries of common and generic functions and classes
- An extension to the out-of-the-box IOrganizationService
- Automatic service pool/queue handling
- Connection warmup to improve caching performance
- Caching of operation results
- Load balancer algorithms for multi-node environments
- Automatic retry of failed operations
- Deferred operations to run in a transaction
- Accumulate operations from across the application to be executed in one go
- Planned execution to be sent to CRM for execution
- Return values from mid-execution operations can be used in later operations within the same transaction
- Dynamics-CRM-specific code analysis rules
- Download
- Common library (either packages)
- Assembly: Yagasoft.Libraries.Common
- Single CS file: Yagasoft.Libraries.Common.File
- Enhanced Organisation Service library
- Common library (either packages)
- Added: [EnhancedOrgService] node load balancer
- Added: [EnhancedOrgService] self-balancing service
- Added: [EnhancedOrgService] auto-retry mechanism
- Added: [EnhancedOrgService] auto-retry failure events
- Added: [EnhancedOrgService] operation-specific options
- Added: [EnhancedOrgService] operation status events
- Added: [EnhancedOrgService] operation statistics on all levels: service, pool, and factory
- Added: [EnhancedOrgService] operation history to the service
- Added: [EnhancedOrgService] deferred support for SDK methods (in addition to the custom ones that return a 'token')
- Added: [EnhancedOrgService] custom cache factory parameter
- Added: [EnhancedOrgService] exposed AutoSetMaxPerformanceParams through the pool 'helper' class
- Improved: [EnhancedOrgService] optimised the interfaces and refactored
- Improved: [EnhancedOrgService] internal calls by switching them to pass through service features
- Changed: [EnhancedOrgService] tighten the service validity check to avoid internal operations triggering after Dispose; user must wait for all operations to finish
- Fixed: [Common] RequireFormat helper
- Fixed: [EnhancedOrgService] params default values
- Removed: [EnhancedOrgService] async operations (use Task.Run or similar methods from .NET instead)
- Added: [EnhancedOrgService] CacheItemPriority to cache settings
- Improved: [EnhancedOrgService] pool helpers
- Improved: [EnhancedOrgService] generics and refactored
- Fixed: [EnhancedOrgService] absolute expiration returns an absolute fixed date in the cache factory, now returns an absolute date from the time of call to the factory's 'get'
- Fixed: [EnhancedOrgService] connection errors causing deadlocks
- Fixed: [Common] caching issues
- Added: execution planning, where a plan is executed in CRM itself for performance and atomicity reasons
- Added: more convenience methods
- Changed: refactoring
- Added: use CrmServiceClient's Clone method internally for faster pooling of connections if available (SDK limits it for CRM Online only for now)
- Added: DotNet optimisation options
- Fixed: issues
- Added: Pools accept a function to define custom logic for IOrganizationService creation
- Added: warmup logic for CRM connections to improve caching performance
- Changed: downgraded required CRM SDK version
- Fixed: issues
- Added: deferred execution feature of organisation requests
- Added: pool dequeue timeout option
- Added: a few helpers (CRM, error ... etc.)
- Added: CRM Plugin Tracing service log feature
- Added: timeout to Blocking Queue
- Improved: connection error handling and message details
- Improved: service parameters definition
- Changed: supported SDK to v9.1.0.26 for .NET Framework 4.6.2
- Fixed: ensure token is auto-refreshed internally as well
- Fixed: BPF helper issues
- Fixed: issues
- Fixed: missing SecurityToken should bypass reauthentication
- Added: token auto-refresh
- Added: methods to remove entity from cache
- Fixed: string modifier 'sub' throwing exception
- Fixed: moved exception tracing for steps outside of a condition
- Fixed: library references
- Changed: moved to a new namespace
Copyright © by Ahmed Elsawalhy (Yagasoft) -- GPL v3 Licence