Learning Objectives :-
After completing this unit, you’ll be able to:
- Explain CDC feature.
- Comfortably use CDC control board.
This tutorial will exhibit how can we utilize Change Data Control (CDC) for handling data vicissitudes in Salesforce. We can customize the data changes of any sObject and sent out The client. It fortifies an asynchronous mode to accumulate transmuted data which we call the change pointer and sent out to the client. The main difference to the streaming API of Salesforce is that data can be bulk as astronomically immense data. Furthermore customer can liberatingly schedule when the data will be sent e.g. every 5 minutes, 30 minutes etc… With this feature customer don’t require to develop such an app to amass data change and sent out to the client. Just use SKYVVA CDC.
What is CDC Control Board?
CDC Control Board is a dashboard where we can monitor Change Pointer, Interfaces and Scheduler. Each tab holds different functionality. Change Pointer is a table that store change pointer records. So we can facilely monitor them on Change Pointer table in CDC Control Board rather than on Integration Admin tab. This withal applies for Interfaces and Schedulers tab.
How to use CDC Control Board
CDC Control Board monitor the CDC processing result. It located in Integration page detail and exist in Custom links section. Follow the given steps to use CDC control board.
Step1: Create Adapter.
Step2: Create Integration.
Step3: Create Outbound Interface
Step4: Configure CDC.
Refer to this tutorial to configure CDC. ->
Step5: Go to CDC Control Board by CDC Control board custom link.
Click on Link. It will navigate to following screen.
Step6: Monitoring CDC Control Board
When you open the CDC Control board you will find three tabs available which are Change Pointer, Interfaces and Scheduler. Each tabs have different functions and display things relatable with CDC. The following steps will show you how to monitor each tab:
Change Pointer is a table which store change pointer records.It written every time a transaction modifies of certain fields.. The records are created by CDD. The records will store here until you set the scheduler (CDT) to transfer them to external system. To monitor Change Pointer, just simply:
- Go to Change Pointer tab
- Filter the Integration Name, Interface Name and the status of record you want to display
- Click on “Search” button. Result will display according to the status you set
We can Apply filters :
|Interface Name||Outbound Interface on which CDC configured.|
|Status||Two type status. New and|
|Max Number of Record||Filter on number of records.|
|Application Id||Application Id is the Sobject Id.|
|Date||Filter on created or modified date|
|Sort by & Order by||Sort by creation date. Filter on Ascending or descending.|
This tab display the interfaces that store in an Integration. You can easily check or monitor them. If you land on CDC Control board, just simply click on interface tab then you will see all the interfaces. However this tab is not editable like Interface tab in Integration detail page.
Interface group is a unit to group where logical interfaces comes together. For example you can group interfaces which is cognate to each other e.g. Account and Contact to one interface group.
There are two kind of interface group:
=>Business related logical group
We can apply this filter to probe data referring to concrete interface group.
Queue inherit the priority from their interface group and thus a Queue will be a Prio-High, Prio-Medium or Prio-Low Queue.
This status is a temperarory status set by the scheduler. Customarily most of the status is set by the worker because the worker is the one who do the job of processing the data package / queue passed from the scheduler.
This status is a helpful to ken that the scheduler has pass the data package / queue to the worker. When the worker start to process the data package / queue it will transmute the status from “Worker” to “Running”.
This status is set from the worker. When a data package / queue is pass from the scheduler to the worker the status of this queue is “Worker”. Then the worker transmute the status from “Worker” to “Running”.
Following change from status “Running” can be transpired.
If the queue is processed prosperously then the status will set to “Ready”. This is valid for both queue type e.g. for EO- and EOIO-Queue.
If an error occurred for whatever reason then the status is set to “Failed” for an EO-Queue and to “Hold” for an EOIO-Queue.
This status is set when processing a data package / queue got failed. This status is only utilized for the EO-Queue. For the EOIO-Queue the status can be used is “Hold” and not failed. If the processing of the EO-Queue is not ceased plenarily this status reflect an ephemerally status and can be set for example to “Ready” when next time the processing of is prosperous.
Processing an EO-Queue is not blocked if error encountered for EOIO-Queue. Because the nature of EO-Queue is overtaken of data which can be transpired and that we already understood when defining interface group / queue with the type EO.
This status is set when processing a data package / queue got failed. This status is only utilized for the EOIO-Queue. For the EO-Queue the status can be used is “Failed” not hold. If the status is set to “Hold” then the processing of this queue is ceased because we can create an overtaken of data.
There is a reprocess mechanism of the affixment by the affixment reprocess scheduler. Refer to chapter “10 Variant of scheduler” for understanding the variant of scheduler.
For some error the reprocess can resolve the error and ergo will reset the status of the queue to “Ready”. Then the blocking of the queue will be relinquished. In some circumstance because the error cannot be resolved automatically we will require the administrator to resolve the error situation and reset the queue status manually.
Stop by Admin
This status results from an admin action. An admin may want to stop the queue because of maintenance work. Other reason could be that we don’t opt that the queue X should be processed and ergo we intentionally stop this queue. This is for example because we opt to have more resource for processing other queues than the queue X.
This alert tab is used for monitoring CDC table. If the threshold from the alert tab is smaller than the CDC table value, a notify email will be sent to the assigned alert channels.
We have different type of alerting rules on the integration & interface level
- Send Email SFDC User
- CreateTask for User
- Send Email External Mails
- Chatter group Name
There are some schedulers available in Scheduler tab which are Change Data Detection (CDD) for Integration, Change Data Transfer (CDT) for Integration and Change Data Transfer SKYWWA DefaultIG Outbound for Interface Group. You can set the time and start the schedule or refresh it.
Note: If you manually create more Interface Group then they will display in the Scheduler tab.