Synergize Driver Recruitment
Managing drivers often presents many human resource hiring and personnel staffing challenges. Stringent regulations combined with a high turnover rate mean that a great deal of information about drivers needs to be processed in a relatively short period of time. Also consider the following:
-
Any time a truck is idle means lost revenue.
-
Getting drivers vetted and hired is a priority.
The Synergize Driver Recruitment Solution consists of an Online Driver Application System and a Synergize Driver Recruitment Portal client. Combined, these are configured to accept and validate applicant data in online application forms and store the applicant data in the Driver Recruitment database.
-
Supporting documents are indexed and stored in a Synergize repository, called DRIVERDOCS by default.
-
Application data is managed and verified by the recruiter using the Synergize Driver Recruitment Portal client.
-
Each applicant is guided through a configured workflow to meet the hiring policies and needs of your organization.
-
After each applicant has been successfully recruited, the Driver Recruitment solution publishes new driver information to your Transportation Management Software (TMS) for Driver Management.

Only recruiters with authorized usernames and passwords can access the Driver Recruitment system.
-
Access the Synergize Driver Recruitment portal application locally on your PC, by launching the Synergize Portal shortcut file.
-
Log in with your Synergize ServerUsername and Password.
-
In the series of square icons that represent the portlets you are authorized to access, click Driver Recruitment to launch the application.

Operating under the U.S. Department of Transportation, the Federal Motor Carrier Safety Administration (FMCSA) provides a wide range of services and resources designed to improve truck safety across the continent. The primary mission of the FMCSA is to prevent commercial motor vehicle-related fatalities and injuries.
The FMCSA contributes to improved safety in motor carrier operations through the following activities:
-
strong enforcement of safety regulations
-
targeting high-risk carriers and commercial motor vehicle drivers
-
improving safety information systems and commercial motor vehicle technologies
-
strengthening commercial motor vehicle equipment and operating standards
-
promoting safety awareness.
To accomplish these activities, the FMCSA works with federal, state, and local enforcement agencies, the motor carrier industry, labor unions, and other safety groups.
As a primary example, the Pre-Employment Screening Program (PSP) helps carriers make more informed hiring decisions by providing secure, electronic access to commercial driver five-year crash and three-year inspection history from the FMCSA Motor Carrier Management Information System (MCMIS). PSP records are available for commercial drivers and companies conducting pre-employment screening for the carrier industry.

Logs for Driver Recruitment are available at the following client and server locations:
-
Driver Recruitment Server: On the server box: C:\ProgramData\Microdea\DriverRecruitmentServer\Logs
-
HireRight Logs: On the server box: C:\ProgramData\Microdea\DriverRecruitmentServer\Logs
-
Online Driver Application: On the server box: C:\ProgramData\Microdea\Driver Application
-
Driver Recruitment Client: On the client's machine: C:\Users\USERNAME\AppData\Roaming
\Microdea\DriverRecruitmentClient\Logs

Forms and reports are created in the same way in the Report Designer. The distinguishing feature of a form is that it has one key parameter: the DriverID. In the Driver Recruitment application, when you select a driver, you can also display their forms. Each form uses the DriverID to display information about that driver from the database.
-
Forms are specific to a driver.
-
Reports are aggregations of data in the driver recruitment database.
To use forms or reports, follow these steps:
-
Ensure that you have installed the Report Viewer portlet.
-
Upload at least one .repx file to serve as a form or report. The REPX files are report designs created in the Report Designer. For a report design to be used as a form, it must accept the DriverID parameter.
-
In the Portal Server interface, configure the Driver Recruitment portlet to deploy report providers. This is a boolean setting. When set to true, this setting deploys the providers when you save the Driver Recruitment settings.
Note that deploying the report providers should be done each time the Driver Recruitment application is upgraded. The providers make the Driver Recruitment data model available to the report module.

Read this section to set up the Driver Application Form (part of the Driver Recruitment solution).
In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the proxy server itself. A typical use for a reverse proxy is to provide internet users access to a server behind a firewall. Reverse proxies can also be used to balance load among several back-end servers, or to provide caching for a slower back-end server.
If you set up a web server outside your corporate firewall (in what is typically called the "DMZ"), you should be able to configure this application to run successfully. The following diagram assumes that you're using a standard firewall and a Microsoft IIS server in the DMZ.
-
Ensure that you have the following installed on your internal IIS Web Server:
ASP .Net Core Module (link is a direct download)
-
Install the following modules on your external IIS Web Server to create a reverse proxy configuration:
Application Request Routing Module
Note: The IIS module called Application Request Routing also installs the URL Rewrite module.
-
Select Enable Proxy on the external IIS server.
-
On the IIS server outside the firewall (in the DMZ), we recommend that you use a website for Synergize applications. You can create a new website or use your own existing website. Alternatively, you can use individual virtual directories for each Synergize application that needs to be redirected through the firewall.
-
Use this web.config file as a starting point (copy it into the website or the virtual directory):
1
<?xmlversion="1.0" encoding="UTF-8"?>
2
<configuration>
3
<system.webServer>
4
<rewrite>
5
<outboundRules>
6
<rulename="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1" enabled="true">
7
<matchfilterByTags="A, Form, Img" pattern="^http(s)?://internalconnector.microdea.com/(.*)" />
8
<actiontype="Rewrite" value="http{R:1}://connector.microdea.com/{R:2}" />
9
</rule>
10
<rulename="Restore" preCondition="Precondition"enabled="true">
11
<matchserverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)" />
12
<actiontype="Rewrite" value="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" />
13
</rule>
14
<preConditions>
15
<preConditionname="ResponseIsHtml1">
16
<addinput="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
17
</preCondition>
18
<preConditionname="Precondition">
19
<addinput="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}"pattern=".*" />
20
</preCondition>
21
</preConditions>
22
</outboundRules>
23
<rules>
24
<rulename="ReverseProxyInboundRule1" enabled="true" stopProcessing="true">
25
<matchurl="(.*)" />
26
<actiontype="Rewrite" url="http://internalconnector.microdea.com/{R:1}" />
27
<serverVariables>
28
<setname="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
29
<setname="HTTP_ACCEPT_ENCODING" value="" />
30
</serverVariables>
31
</rule>
32
</rules>
33
</rewrite>
34
<defaultDocument>
35
<files>
36
<clear />
37
<addvalue="index.html" />
38
<addvalue="Default.htm" />
39
<addvalue="Default.asp" />
40
<addvalue="index.htm" />
41
<addvalue="iisstart.htm" />
42
<addvalue="default.aspx" />
43
</files>
44
</defaultDocument>
45
</system.webServer>
46
</configuration>
See the following example:
- https://gist.github.com/djmmuir/81980c3c797361d11094741a14741c2c/raw/9895049d59c5291f69355e0f71ea1c557743aa5d/example-web.config.xml
- https://gist.github.com/djmmuir/81980c3c797361d11094741a14741c2c#file-example-web-config-xml
-
Use IIS Manager to edit the placeholder values in the web.config file.
-
Select URL Rewrite from the collection of IIS modules for the website or virtual directory.
In this example, the starting web.config has been installed in a virtual directory called ExternalProxy:
-
Edit the inbound rules, which is just labeled with the <rules> tag in the web.config file. The main change is to enter the correct internal URL for this redirected request, in the Rewrite URL field.
-
Edit the outbound rules. Change the match Pattern and the Action Properties Value to match your deployment.
-
As an advanced user, if you understand regular expressions and want to do something out of the ordinary with the URL rewrite, you can use any expression you want. Click the Test button under the pattern and enter the expected external URL to see if it matches.

If you are creating recruitment reports using Report Designer, use the following information to locate the right fields in each data source that you want to use.
Table Name |
Column Name |
Data Type |
Maximum Length |
Can Be Empty? |
---|---|---|---|---|
RecruitmentWorkflows (Not the same as regular Synergize workflows.) |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
YES |
|
default |
bit |
null |
NO |
WorkflowStageProcessAutomatedActions (If true, this is the default workflow and will be used if a workflow is not specified.) |
id |
int |
null |
NO |
|
type |
varchar |
"255" |
NO |
|
configuration |
varchar |
"-1" |
YES |
Recruiters |
id |
int |
null |
NO |
|
|
varchar |
"50" |
YES |
|
login |
varchar |
"50" |
YES |
News |
id |
int |
null |
NO |
|
title |
varchar |
"50" |
NO |
WorkHistories |
id |
int |
null |
NO |
|
position |
varchar |
"255" |
YES |
|
source |
int |
null |
NO |
|
state |
int |
null |
NO |
Drivers |
id |
int |
null |
NO |
|
token |
varchar |
"100" |
YES |
|
|
varchar |
"50" |
YES |
|
gender |
varchar |
"1" |
YES |
|
password |
varchar |
"50" |
YES |
WorkflowStage |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
|
sequence |
int |
null |
NO |
DriverPastAddresses |
id |
int |
null |
NO |
ApplicationStatus |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
DriverLicenses |
id |
int |
null |
NO |
|
state |
varchar |
"50" |
YES |
|
class |
varchar |
"50" |
YES |
|
endorsements |
varchar |
"50" |
YES |
WorkExperiences |
id |
int |
null |
NO |
|
miles |
int |
null |
NO |
ApplicationStatusHistory |
id |
int |
null |
NO |
|
date |
datetime |
null |
NO |
ApplicationTypes |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
DashboardGraphs |
id |
int |
null |
NO |
|
name |
varchar |
"255" |
NO |
|
source |
varchar |
"100" |
NO |
HireRightApplicants |
id |
int |
null |
NO |
HireRightDocumentTypes |
id |
int |
null |
NO |
WorkflowStageProcess |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
|
description |
varchar |
"-1" |
YES |
|
requires |
varchar |
"50" |
YES |
|
sequence |
int |
null |
NO |
HireRightRequestDetails |
id |
int |
null |
NO |
|
value |
varchar |
"-1" |
YES |
HireRightDocuments |
id |
int |
null |
NO |
|
screening |
varchar |
"-1" |
YES |
|
processed |
bit |
null |
NO |
Employers |
id |
int |
null |
NO |
|
name |
varchar |
"100" |
NO |
|
scac |
varchar |
"4" |
YES |
|
via |
varchar |
"10" |
YES |
UnverifiedEmploymentHistories |
id |
int |
null |
NO |
|
title |
varchar |
"50" |
YES |
|
source |
int |
null |
NO |
EmploymentTypes |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
ChartDefinitions |
id |
int |
null |
NO |
|
title |
varchar |
"50" |
YES |
|
source |
varchar |
"50" |
YES |
RecruiterChartSettings |
id |
int |
null |
NO |
WorkflowStateNames |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
HireRightRequests |
id |
int |
null |
NO |
|
package |
varchar |
"50" |
NO |
|
response |
varchar |
"-1" |
YES |
DriverLinks |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
|
type |
varchar |
"50" |
NO |
|
uri |
varchar |
"400" |
YES |
WorkflowStageProcessActions |
id |
int |
null |
NO |
|
type |
varchar |
"255" |
NO |
|
parameter |
varchar |
"255" |
YES |
SynergizeDocumentTypes |
id |
int |
null |
NO |
|
name |
varchar |
"100" |
YES |
WorkflowStageProcessRequirements |
id |
int |
null |
NO |
|
type |
varchar |
"255" |
NO |
|
parameter |
varchar |
"255" |
YES |
Accidents |
id |
int |
null |
NO |
|
date |
datetime |
null |
NO |
|
fatalities |
int |
null |
NO |
|
injuries |
int |
null |
NO |
|
recordable |
bit |
null |
NO |
Forms |
id |
int |
null |
NO |
|
title |
varchar |
"50" |
NO |
|
filename |
varchar |
"255" |
NO |
|
type |
int |
null |
NO |
Settings |
id |
int |
null |
NO |
|
category |
varchar |
"50" |
NO |
|
name |
varchar |
"50" |
NO |
|
value |
varchar |
"-1" |
YES |
DriverWorkflowStateItems |
id |
int |
null |
NO |
|
message |
varchar |
"-1" |
YES |
Activities |
id |
int |
null |
NO |
|
name |
varchar |
"255" |
YES |
|
description |
varchar |
"-1" |
YES |
|
closed |
bit |
null |
NO |
ApplicationSources |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
SynergizeDocuments |
id |
varchar |
"15" |
NO |
|
extension |
varchar |
"20" |
YES |
Addresses |
id |
int |
null |
NO |
|
address |
varchar |
"100" |
YES |
|
city |
varchar |
"50" |
YES |
|
state |
varchar |
"50" |
YES |
|
country |
varchar |
"50" |
YES |
Referrers |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
Divisions |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
Terminals |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
Attachments |
id |
int |
null |
NO |
|
name |
varchar |
"255" |
NO |
|
extension |
varchar |
"10" |
YES |
|
length |
int |
null |
NO |
Fleets |
id |
int |
null |
NO |
|
name |
varchar |
"50" |
NO |
CustomQuestionAnswers |
id |
int |
null |
NO |
|
value |
varchar |
"-1" |
YES |
AddressStates |
id |
int |
null |
NO |
|
code |
varchar |
"4" |
NO |
|
name |
varchar |
"100" |
NO |
CustomQuestions |
id |
int |
null |
NO |
|
section |
varchar |
"50" |
YES |
|
sequence |
int |
null |
NO |
|
active |
bit |
null |
NO |
|
required |
bit |
null |
NO |
DocumentPackages |
id |
int |
null |
NO |
|
name |
varchar |
"100" |
NO |
DocumentPackageItems |
id |
int |
null |
NO |
|
details |
varchar |
"255" |
NO |
Violations |
id |
int |
null |
NO |
|
location |
varchar |
"255" |
YES |
|
charge |
varchar |
"255" |
YES |
|
penalty |
varchar |
"255" |
YES |
Notifications |
id |
int |
null |
NO |
|
status |
int |
null |
NO |
DriverWorkflow |
id |
int |
null |
NO |
|
status |
int |
null |
NO |
|
message |
varchar |
"-1" |
YES |
|
timestamp |
datetime |
null |
NO |