1. Home
  2. Matador Extensions
  3. Application Transcript Extension

Application Transcript Extension

Matador Jobs Pro All-Access users may take advantage of the Application Transcript Extension, which generates a PDF file for each application containing information about the application and customizable by a web developer.

How it Works

Upon a successful form validation, Matador Jobs Pro processes form data. As part of the form data processing, when installed and active, the Application Transcript Extension will generate a PDF file with a “transcript” of the form submission. This PDF file will be temporarily saved to the Matador user’s web server for sync. When the application is synced, the transcript will join other files, like cover letters and resumes, and be saved to the created/updated candidate’s files section on Bullhorn.

Requirements

  • Matador Jobs Pro 3.7.6 or later.
  • PHP 7.1
  • For Support and Automatic Updates, an active Matador Jobs Pro All-Access license activated to the site.

Installation & Setup

  1. Download the Application Transcript Extension from the Matador Jobs’ website.
  2. Unzip and upload the files to your sites /wp-content/plugins directory or install the ZIP file from your WordPress Admin plugins page.
  3. Activate the Plugin

That’s it! There are no settings for this plugin. It just starts working!

Customizations

The Application Transcript Extension can be modified by developers in several ways, especially and including customization of the layout of the PDF as well as updating its file name and running additional actions on the Application following the generation of a template.

Templates

The plugin loads one additional filter, called application-transcript.php. Like all Matador Jobs templates, it can be overridden.

Please be aware that the PDF processor does not render modern HTML and CSS reliably, so your override should use CSS 2.1 and HTML 4 tags.

When developing your template, be sure to pass a boolean true value to the matador_extension_application_transcript_test_pdf filter!

The template is passed a number of variables from the application form data. Since forms are highly customizable, each available variable is not documented and you should run a test with var_dump( get_defined_vars() ); to see what is available to your transcript.

Warning: you should test for the presence of each variable before using them! A change to your form could result in a field your template requires be not available and the PDF generation to fail.

Developer Actions & Filters

The extension offers the following developer actions and filters to aid in customization of the behavior.

Template Variables

Filters the array of application data that becomes the accessible files in the PDF template file. Add, remove, or modify values in the array isolated from the application data array’s use for processing the application.

/**
 * Transcript Template Variables
 *
 * Modify the Variables passed to the template.
 *
 * @since 1.0.0
 *
 * @param array Array of values from the processed form.
 *
 * @return array
 */
apply_filters( 'matador_extension_application_transcript_variables', $variables );

File Name

Modify the file name of the generated PDF file.

/**
 * Transcript File Name
 *
 * The transcript will be named the value of this filter followed by a suffix. The default value is
 * `transcript-{$applicant_full_name}-ABCDE.pdf`, where `-ABCDE` is the suffix generated from a hash of the
 * the current date and time. Hash is required, to ensure no two files can be created with the same name, potentially
 * causing an issue, but everything before the suffix can be modified with this filter. Note:  The returned
 * value will be sanitized with sanitize_file_name() at a later time to remove illegal characters.
 *
 * @since 1.1.0
 *
 * @param string $file_name Default 'transcript-$full_name'
 * @param array $variables Array of variables 
 *
 * @return string
 */
apply_filters( 'matador_extension_application_transcript_file_name', $default_file_name, $variables );

New Transcript

Modify the application data array following the generation and saving of a transcript file. Use this filter to either modify the newly updated Application Data object and/or trigger additional actions, like ping to a analytics server, etc.

/**
 * Filter: Application Transcript New Transcript
 *
 * Perform actions on the generation of a new Application Transcript. Essentially an alias of
 * `matador_application_data_processed` after priority 10 but fires only on successful transcript generation.
 * Useful to locate the transcript and do other things, like trigger an email or Slack/Teams notification. Is a
 * filter, so can also modify the $application variable before candidate save so make sure return the
 * $application object.
 *
 * @since 1.0.0
 *
 * @param array $application The application object
 * @return array
 */
apply_filters( 'matador_extension_application_transcript_new_transcript', $application );

Test PDF

This filter is for developers to use to testing modifications to the PDF template. Pass boolean true to the filter to do the following:

  • Trigger a download of the generated PDF to the web browser downloads manager.
  • Interrupt and kill the application processing immediately after the PDF is completed, prevent save to the WordPress database and processing up to Bullhorn.
/**
 * Test PDF Filter
 *
 * If designing a PDF, it can be a pain to test. Call this filter with `__return_true()` to cancel application
 * processing and output PDF. This will break your Matador, and should only be used when actively developing a
 * template for your PDF output.
 *
 * @since 1.0.0
 *
 * @param bool
 *
 * @return bool
 */
apply_filters( 'matador_extension_application_transcript_test_pdf', false );

This filter essentially “breaks” your application processing for the purposes of your testing and development of a PDF template. Only use this on non-production “staging” or “development” servers and make sure you remove it when done.

Troubleshooting

My PDF File Looks Weird

The PDF generator does not perform well with modern HTML or CSS. For these reasons, you should write the most simple code as possible, up to and including writing table-based layouts, to accomplish your PDF presentation needs. Avoid any of the following:

  • CSS 3.0 features including flex and grid
  • HTML5 features including tags like <header>, <main>, <footer>, and <aside>
  • Relative or absolute positioning, where avoidable

PDF Transcripts are Not Saving

In order to prevent damage caused to user experience, PDF transcripts are deemed a non-essential aspect of the application process and if PDF generation or saving fails, Matador will not interrupt the remainder of the application flow and allow the process to complete without the PDF. Ask your developer to review PHP error logs or review your application template for use of variables before validating they are set and present.

Updated on June 20, 2022
Was this article helpful?

Related Articles

Need Support?
Can't find the answer you're looking for?
Contact Support