On, Monday, November 1, 2021, Matador Jobs 3.7.7 was released to all subscribers. You are strongly encouraged to update your websites as soon as possible, as it contains a critical work-around for a recently discovered bug in the Bullhorn API.

Along with a few other enhancements and bugfixes, this update contains a temporary work-around solution for a bug the team at Matador Software identified in the Bullhorn API. This bug, which appears to have emerged or was introduced in late September, was confirmed by Bullhorn engineers, but, at this time, may take several weeks or more to be fixed. As we are more agile and able to quickly distribute updates, Bullhorn asked us to provide a work-around, and this update includes that work-around. Any site on 3.7.6 or earlier is subject to failure due to this bug until it is fixed by Bullhorn, so to ensure your jobs website works as intended, you need to update as soon as possible.

About the emergent Bullhorn API Bug & Matador Job’s work-around

In late September, we began receiving reports from users that their sites were not working well. The issues ranged from:

  • operating slowly
  • disconnecting from Bullhorn regularly
  • abnormally large log files, including ones that caused sites to exceed disk space limits
  • and, most critically, several applications that failed to process into Bullhorn, meaning recruiting staff did not receive data about applicants causing possible loss of revenue from placements

Following the initial discovery, Paul and Jeremy dedicated nearly 100 total hours over three weeks dissecting, exploring, and figuring out what was going on. We identified what we believed was a new bug in the Bullhorn API. After working with Bullhorn support and engineers to report it, recreate it, and finally understand it, the bug was confirmed by Bullhorn.

This bug occurs when a very specific set of circumstances are in place. We will explain those circumstances in our deep dive explanation into the topic coming later this week. At this point, please be aware the circumstances are more likely to occur with users who allow optional resume submission or are in fields where highly formatted, and therefore, not processable, resumes are submitted (like creative fields).

While Bullhorn has confirmed the bug, they provided the timeline for resolution to be at least several weeks, and recommended we provide our users a work-around in the interim.

The work-around allows Matador to completely avoid the bug, alleviating all its direct and indirect impacts, but it prevents candidate descriptions from being updated on existing candidates when a resume was either not provided or not processable. Users who modify descriptions with custom modifications will see some interruption of that feature in the short term. When Bullhorn notifies us that the bug is fixed, we will remove the work-around.

We developed this work-around 10/20 and tested it widely between 10/25 and 10/29 with users who notified us that they were seeing “the bug.” Depending on how many applications were impacted, it has helped their sites recover within a few minutes to a few hours.

It is critically important to update to version 3.7.7 as soon as possible to ensure your business is not impacted by interruptions caused by this Bullhorn API bug.

All Submissions Will Now Process “In the Background”

Up to and including version 3.7.6, users could change a setting in Matador Jobs Pro to “Submit Applications to Bullhorn” either “immediately” or “in the background.”

This setting was offered initially when Matador used to communicate with Bullhorn hourly, but since 3.7.0 the frequency of communication was increased to every 10 minutes. Back in the day, in-between the hourly communications with Bullhorn, it was safe for Matador Jobs to create these on-demand separate application syncs, but as we added more and more regular syncing, the on-demand syncs started to clash with the scheduled ones.

The combination of the greater frequency since 3.7.0 and the impact of the “clashing” behavior described above, we planned to remove this setting with 3.8.0, causing Matador Jobs Pro to sync all applications “in the background.” We are implementing this change earlier than planned. Doing so will help users impacted by “the bug” to recover more quickly once the update is applied.

Some notes on this:

  • With 3.7.7, the setting will remain an option in settings, but users who modify it will not see a change in behavior. All applications will be synced “in the background” in batches every 10 minutes.
  • In 3.8.0, the setting will be removed from settings, removing confusion about its now obsolete purpose.
  • In 4.0.0, due mid next year, a planned update will upgrade application processing into a single, uniform process that is both “in the background” and “immediate.”

While We Are at It… Here Are a Few More Improvements in 3.7.7 that Makes Matador Jobs Better

While we typically focus hot fixes around bug fixes, from time to time, we sneak in some backward-compatible enhancements. Given that the development cycle for release 3.8.0 and 4.0.0 is still ongoing, we wanted to give you some of these new improvements now, instead of making you wait for them.

  • Better error handling for errors associated with application processing where Consent Management permissions errors are encountered has been added. Primarily, to not block the processing of application data into Bullhorn, when encountering a permissions error for Consent Management, a 24-hour “time out” will begin that will allow applications to resume processing but without consents data. When a time out begins, an email will be sent to the administrators explaining that Consent Management permissions are missing and explaining how to fix it.
  • Matador Source Tracking can now successfully load when given deferred loading instructions by various WordPress optimization plugins.
  • Related to the prior note, when developers want to completely override the Matador Source Tracking instantiation, they can use the new filter matador_campaign_tracking_inline_script. There are several use cases for this, including custom instantiation following asynchronous loading and/or JavaScript compression/optimization.
  • Added filters matador_bullhorn_candidate_find_candidate_request_params and matador_bullhorn_candidate_find_candidate_request_query to allow for modifications to the candidate duplicate prevention find routine. A use case would be to add or remove a search condition to the duplicate candidate prevention check.
  • Added developer filter matador_application_validator_errors to streamline the process of changing multiple form validation error strings at a time. (Previously, you could only change error strings one at a time via matador_application_validator_error_{$key}.)
  • When parts of candidate source data are unavailable or not provided, most commonly ‘campaign’, Matador will now print “NA” places where this value is added to the source string saved on the Candidate or Submission record. Prior behavior was to leave that blank, and could result in confusing source strings like (Direct//). That string will now display (Direct/NA/NA).

Bug Fixes to Make Matador Jobs Work as Intended

In this hotfix, we fixed 10 bugs that have been discovered since the last release. Most of these bugs are extremely isolated to specific use cases, including another bug fix for a 3.0.0 launch feature approaching four years old that somehow had never been discovered! I won’t list all the bug fixes, but here are the highlights:

  • True/False values for the JSON+LD directApply value are now strings, fixing issues caused by them being boolean and generating warnings during validation by Google Search Console.
  • Added error handling for when a description or publicDescription is returned as an array. A best practice is to keep the “allow multiple values” unchecked on your field mappings for description fields in Bullhorn; Matador will not accept “multiple values” for description/publicDescription.
  • Added an alternate method to encode email subject lines into UTF-8, no longer requiring the ext_mbstring core PHP library. Installation of ext_mbstring is still highly recommended.
  • Fixed a bug causing the “Recount Terms” button on the Matador Categories admin page to trigger a visual/UI error. The feature still worked, but now it is clear that it did!
  • Fixed a bug where one of the job sorting/filter options was being applied improperly in some rare, specific circumstances. This bug, which dates back to version 3.0.0 (almost 4 years ago), clearly hasn’t bothered many people, but it is now fixed.
  • Added error handling for occurrences of a job with stale ClientCorporation data values, ie: ClientCorporation is deleted in Bullhorn but a job is still assigned to the deleted ClientCorporation, resulting in an error when the job is synced into Matador Jobs.

Internationalization Updates

Matador continues to work towards being a valid solution for our international users. The following updates/fixes for internationalization are included in 3.7.7:

  • Added first drafts of German (Germany) and French (France) translations, joining Dutch (Netherlands), French (Canada), and English (US).
  • Fixed a bug causing three translatable strings in the client-side form validation feature to not show the translated strings even though valid translations were provided.

Update Now!

Matador Jobs 3.7.7 is released for the automatic update to all subscribers as of Monday, November 1, 2021. Go to your WordPress site admin area, Plugins, and find Matador Jobs Pro to update. We highly recommend you do your update in a staging environment first. If your support and updates subscription is expired, renew it on your account page. If you find any issues, please send a support request.