Enhanced Agent Database Adapter Support with Binary Data #
Previously, users encountered limitations when handling binary data through the Agent Database Adapter. With the recent upgrade, the enhanced functionality now facilitates seamless export and import operations for binary files within the database. The absence of binary file support in earlier versions of the Agent Database Adapter posed challenges for data management. The recent improvements have effectively addressed this issue, enabling efficient handling of binary files during database interactions.
Enhanced Database Message Type Generation Using ‘Import Database Metadata’ with Non-Open Firewall Connection #
Previously, the challenge of generating a Database Message Type Template with a database adapter using a non-open firewall connection has been resolved through recent enhancements on the agent side, enabling seamless database message type template generation.
Enhancements for Inbound Binary File Transfer from New Agent to Salesforce #
In the previous version, upserting Binary file support only required IStructure or Message Type Field Entry: FILE_BODY, FILE_TYPE, FILE_NAME, FILE_EXTENSION, FILE_LENGTH. We have enhanced the Inbound Binary file to also support hybrid mapping, sObject IStructure, and External Mapping.
Enhancements in New Agent Support for ‘Don’t Export Null Value’ in Outbound Processing #
Before, the “Don’t Export Null Value” option interface did not function correctly with the agent file outbound adapter of the New Agent. It would still send all fields and any values, including null field values. However, we have now improved the feature to exclude fields with null values.
Added Timeout to All Agent xxx Adapters #
We have enhanced the Timeout property of Agent xxx Adapter to allow the user to set the timeout, regulating the maximum time that a new Agent can dedicate to a task before it is paused or interrupted.
Enhancements to Package Size for Batch Mode Processing #
In the previous version, we had a feature to specify the package size per batch basket. Currently, this feature only supports settings at the Interface level for the New Agent. We have enhanced support at three levels: Interface, Interface Group, and Integration, to determine the batch basket sizes as outlined below for both V2 and V3:
- If the Transfer Package Size (skyvvasolutions__Package_Size__c) is blank, it will default to the Batch Package Size (skyvvasolutions__Batch_Package_Size__c) set at the Interface level.
- If both the Transfer Package Size and the Batch Package Size are blank on the interface level setting, the system will look at the Interface Group level on Basket Record Collection Size (skyvvasolutions__PackageSize__c). Field.
- If both the Interface and Interface Group are blank and do not have any settings as mentioned above, the system will default to the Integration setting specified in the Transfer Package Size (skyvvasolutions__Packet__c) field.
Enhanced to support Installation with Upgrade Mode #
In the past, there was no upgrade mode available for installing the new Agent. Moving forward, you can utilize the upgrade mode for the new Agent version. This mode will update the JAR file for that version, run Flyway, and create a new shortcut for the Skyvva Integration and Agent EncryptAndDecrypt.
Enhanced Installation with New Installation Mode #
In the previous version, you had to select the Operation Mode. In this version, we have eliminated this choice and set the firewall to non-opening by default. With this mode, you can now utilize both opening and non-opening firewalls based on your selection in the Agent Control Board. Additionally, during installation, you will receive a default Connection Destination that is automatically registered and subscribed for non non-open firewall to this connection. Additionally, we have included support for Proxy during installation.
Enhanced Support Database CDC Event of New Agent Database Adapter #
We have enhanced our New Agent Database Adapter to utilize change data capture (CDC) in SQL Server. In the realm of databases, the New Agent can now capture and stream real-time changes taking place within the database. This functionality encompasses capturing inserts, updates, and deletes executed on tables. After capturing the data, you can conduct inbound processing using the Agent Database Adapter, empowering you to execute various desired operations by configuring them through our interface.
Enhance New Agent Integration Processing to apply to the Proxy #
In this release, we support using a proxy (forward proxy) with the agent. You now have the option to connect to Salesforce with or without a proxy.
Enhanced Stored Procedure to Support Outbound Requests and Inbound Responses in Asynchronous Processing Mode #
In the previous version, when utilizing the outbound interface with responses in Asynchronous Processing Mode and Store Procedure operation, there was no inbound response. We have now enhanced the New Agent to support Stored Procedures with outbound requests and inbound responses in Asynchronous Processing Mode.
Enhanced to support Ext Id for Outbound Interface V3 Design #
In the previous version, within the V3 Interface Outbound Processing for Database Template, users had the flexibility to employ the WHERE clause and WHERE expression to update, query (select), and delete records according to their specified criteria. Alternatively, users could also define the ‘ext id’ in the mapping tool for delete, query (selecting records in the database), and update operations, mirroring the design in the V2 interface. This enhancement simplifies the process for users who prefer not to use complex WHERE clauses.
Unsubscribe/Subscribe immediately after saving the connection destination when switching authentication types between OAuth2 Username-Password and OAuth2 Client-Credential for Non-Open Firewall #
We unsubscribe and subscribe immediately when switching the authentication type between OAuth2 Username-Password and OAuth2 Client-Credential for Non-Open Firewall configurations after saving the connection destination. For instance, if you initially registered with OAuth2 Username-Password and wish to switch to OAuth2 Client-Credential, the system will automatically subscribe with OAuth2 Client-Credential and unsubscribe from OAuth2 Username-Password.
Retry Subscribe Connection with Non-Open Firewall Automatically when you Lose Connection #
In our new agent, losing connection means that you will be unable to connect to Salesforce, requiring a manual subscription. Now, we need to attempt subscription retries for a new agent with a non-open firewall. The default settings for subscription retries are 5 attempts, with a 30-second interval by default. The first retry interval is 30 seconds, and the subsequent retry intervals double the previous one. Alternatively, you can customize the retry limit and interval by modifying the values of ‘pubsub.maxRetry’ and ‘pubsub.retryInterval’ in the ‘skyvva_application.properties’ file.
Enhanced Store Procedure support with Salesforce CDC Event, PushTopic Event, and Platform Event #
In the previous version, Salesforce CDC Events, PushTopic Events, and Platform Events did not support stored procedure processing. We have now enhanced the support.
Enhanced Request Message and Response Message Link Together with Asynchronous Processing Mode Via Agent Database #
In the previous version, request and response messages were not linked together in the Asynchronous Processing Mode. We have improved this version by linking them together via the Agent Database.
Clean Up Code for Session Management and Refactor Code in the Same Class and Method #
- Clean-up session management for calling the Salesforce API entails logging in to Salesforce to obtain the session ID. In older versions (v1, v2), the Agent always logged in to Salesforce to acquire an access token before making API calls for integration (sending payloads). An enhancement involves checking if the session ID exists in the agent property; if the execution fails, indicating that the current session has expired or is invalid, the system should log in again to obtain a new session and retry the integration.
- Refactor the code within the same class and method to address duplicate code related to processing interfaces for API versions v1 (blank) and v2. Since these are older integrations with identical processing steps, the approach involves removing duplicates and consolidating any differences.
Import and Export Binary Data into Database Via Agent Database #
We have implemented the functionality to import binary data from the database into Salesforce ContentVersion and to export binary data from Salesforce ContentVersion back to the database.
Enhanced New Agent Reprocess Event Message #
In the previous version, the event message did not support reprocessing. However, we have enhanced the new agent to include support for the reprocessing feature.
Encrypt the password for the certificate PFX File #
We have improved the security of ‘server.ssl.key-store-password’ by using an encrypted password. For instance, ‘server.ssl.key-store-password=w30yijMWE0c=’. When employing an encrypted password, configurations should be set as follows:
- Set server.ssl.enabled=false when using a decrypted password via a custom SSL configuration class.
- Set server.ssl.enabled=true when using a raw password with Spring Boot’s automatic SSL configuration.
Added New API #
In this version, we have added additional APIs for the New Agent.
- /v3/rest/salesforceCacheTable/getTableColumns
- /v3/rest/salesforceCacheTable/getAll
- /v3/rest/salesforceCacheTable/fileList/{data}
- /v3/rest/salesforceCacheTable/getByClause
- /v3/rest/camelSkyvvaAgent/connection/ping
- /v3/rest/scheduler/start
- /v3/rest/scheduler/nextScheduler
- /v3/rest/scheduler/stop
- /v3/rest/scheduler/delete
- /v3/rest/updateDbConfiguration
Enhanced Retry on Bulk Mode Processing #
In the previous version, Bulk Mode processing did not support the retry function. We have now enhanced it to support settings based on the Interface, Interface Group, and Integration. The priority order for resolution is Interface first, followed by Interface Group, and then Integration