Note: To take advantage of the features mentioned in this documentation, your Org needs to be using (Undefined variable: bh4SFVersions.Latest Package Version) or newer. See Release Notes for more details about which features were introduced in each release. If you would like to upgrade to the current release, contact Bullhorn for Salesforce Support.
The
enables the core package to integrate with the search provider . The following functionalities are supported:- TK An abbreviation for Textkernel Portal in Salesforce). (via
- Syncing / Indexing data from Job A job (vacancy, position, role) is an opening for which a customer's client needs a placement. sync are supported. into . Currently, only Contact and
Sync / Indexing Process
This is how the current architecture of syncing data via the
works:- A User In Salesforce terminology, this is anybody that has login access to an instance. In BH4SF instances, usually the staff of recruiting companies modifies a Contact record and it causes ContactTrigger to fire.
- ContactTrigger invokes the queueable apex job BHTK_IndexingStarter.
- BHTK_IndexingStarter in turn does the following:
- It invokes another queueable job (BHTK_IndexerRequest) and passes in N number of BHTK Status records for syncing. The number of records (N) is controlled by the groupSize parameter from Custom Metadata Types. (Setup >Custom Metadata Types > Textkernel configuration > Group Size field).
- The BHTK_IndexerRequest self-reschedules the BHTK_IndexingStarter - so from here it goes to Step 3 again and tries to grab the next N records. This happens until gives the error about the maximum number of queueables you can chain. Once logic hits the limit, the catches that and creates a BHTK_IndexingThreadStarter scheduled job to repeat the process from step 3.
- It invokes the BHTK_IndexingThreadStarter.scheduleBenchThread method which schedules BHTK_IndexingThreadStarter (scheduled job).
- Scheduled job BHTK_IndexingThreadStarter tries to check the BHTK threadCount and if conditions are met it tries to increase the threadCount number and invokes another loop of the BHTK_IndexingStarter queueable job which works in parallel and repeats everything from step 3.
- This is the multi-thread logic which should invoke multiple self-rescheduling BHTK_IndexingStarter queueable jobs A job (vacancy, position, role) is an opening for which a customer's client needs a placement. and no more than Maximum_threads__c. (Setup >Custom Metadata Types > Textkernel configuration > Maximum threads field).
Visual Overview of Contact Data Sync
Was this helpful?
No