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
- Download the Application Transcript Extension from the Matador Jobs’ website.
- Unzip and upload the files to your sites
/wp-content/pluginsdirectory or install the ZIP file from your WordPress Admin plugins page. - 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.
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.
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 );
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
flexandgrid - 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.