2) Application Installation

This section will explain how to acquire the installation package and copy the application into the proper directories. The link for installation package download will be provided by the eRecruiter consultant or support upon request as it will ensure that the correct version is available including any customizations for the installation.

Applications

Windows Security

If the download is performed through Microsoft Internet Explorer, the browser will mark the ZIP package as downloaded from the internet. This will require to unblock the file to ensure the application will work properly after unzipping the package.

The installation package should include the following folders and files - there may be a base folder called eRecruiter in the package.

ApplicationPackage FolderTarget FolderTypeDescription
APIAPI<ERECRUITER_INSTALL_DIR>\bin\APIIIS/ASP.NET applicationeRecruiter API for integrations and applicant portals.
Applicant PortalApplicantPortal<ERECRUITER_INSTALL_DIR>\bin\ApplicantPortalIIS/ASP.NET applicationApplicant portal for job listings and applicant self-service zone.
Core APICore<ERECRUITER_INSTALL_DIR>\bin\CoreASP.NET Core applicationeRecruiter Core API for integration and eRecruiter applications.
Cron WorkerCronWorker<ERECRUITER_INSTALL_DIR>\bin\CronWorkerWindows Scheduler TaskBackground worker that is executed every 15 minutes to perform maintenance tasks.
Customer PortalCustomerPortal<ERECRUITER_INSTALL_DIR>\bin\CustomerPortalIIS/ASP.NET applicationPortal for internal customers that use the recruiting department as internal service.
Document Analysis ServiceDocumentAnalysis<ERECRUITER_INSTALL_DIR>\bin\DocumentAnalysisIIS/ASP.NET applicationCvParsing API for extraction of applicant data of Cv's
eRecruitereRecruiter<ERECRUITER_INSTALL_DIR>\bin\eRecruiterIIS/ASP.NET applicationeRecruiter application for recruiting department
Media ServiceFileServer<ERECRUITER_INSTALL_DIR>\bin\MediaServiceWindows ServiceService to convert between different media types.
PortalPortal<ERECRUITER_INSTALL_DIR>\bin\PortalIIS/ASP.NET application(deprecated) The previous version of the applicant portal that has been deprecated.
Recruiting Agency PortalRecruitingAgencyPortal<ERECRUITER_INSTALL_DIR>\bin\RecruitingAgencyPortalJavaScript web applicationThe recruiting agency portal for interaction with recruiting agencies.
version-X.Y.Z.BC---This files indicates the application version for the package.

Configuration

In order for the application to be executed properly it is required to create configurations for the database connection and the application settings.

The applications APIeRecruiter and Customer Portal require an application configuration, which should be configured through the AppSettings.config that will be placed in the application root directory.

Applications AppSettings.config
<!-- *1* ... required -->
<!-- *2* ... optional -->
 
<?xml version="1.0"?>
<appSettings>
	<!-- Application Base Path -->
	<add key="WebBasePath" value="%ERECRUITER_INSTALL_DIR%\bin\<APPLICATION>" /> <!-- *1* -->

	<!-- File Storage -->
	<add key="WindowsFileManager_FilesPath" value="%ERECRUITER_INSTALL_DIR%\data\files" /> <!-- *1* -->
  	<add key="WindowsFileManager_TemplatesPath" value="%ERECRUITER_INSTALL_DIR%\data\templates" /> <!-- *1* -->
  	<add key="TemporaryFileManager_Path" value="%ERECRUITER_INSTALL_DIR%\temp" /> <!-- *1* -->
	
	<!-- eRecruiter Services -->
	<add key="FileServerHost" value="localhost" />	<!-- *2*  # if not set default value: localhost -->
	<add key="FileServerPort" value="35791" />	<!-- *2*  # if not set default value: 35791 -->

	<!-- LDAP / SSO -->
    <add key="LdapPaths" value="" /> <!-- *2*  # if not set default value: "" -->
    <add key="LdapUsername" value=""/> <!-- *2*  # if not set default value: "" -->
    <add key="LdapPassword" value="" /> <!-- *2*  # if not set default value: "" -->
    <add key="LdapNtlmSso" value="false" /> <!-- *2*  # if not set default value: false -->
  
	<!-- SMTP Configuration -->
	<add key="SmtpHost" value="" /> <!-- *1* -->
	<add key="SmtpPort" value="25" /> <!-- *1* -->
	<add key="SmtpUserName" value="" /> <!-- *2*  # if not set default value: "" -->
	<add key="SmtpPassword" value="" /> <!-- *2*  # if not set default value: "" -->
	<add key="SmtpUseSsl" value="false" /> <!-- *2*  # if not set default value: false -->
	<add key="SmtpSender" value="support@erecruiter.net" /> <!-- *2*  # if not set default value: support@erecruiter.net -->
	
	<!-- SSL -->
	<add key="RequireSsl" value="false" /> <!-- *2*  # if not set default value: false -->

	<!-- External API keys -->
	<add key="GoogleMapsApiKey" value="" /> <!-- *2*  # if not set default value: ""-->

	<!-- Error Reporting -->
    <add key="EnableIssueTracker" value="false" /> <!-- *2*  # if not set default value: true -->
    <add key="EnableEmailOnError" value="false" /> <!-- *2*  # if not set default value: false -->

	<!-- Proxy Server -->
	<add key="ProxyAddress" value="" /> <!-- *2*  # if not set default value: "" -->
	<add key="ProxyPort" value="" /> <!-- *2*  # if not set default value: "" -->
	<add key="ProxyUser" value="" /> <!-- *2*  # if not set default value: "" -->
	<add key="ProxyPassword" value="" /> <!-- *2*  # if not set default value: "" -->

    <!-- Document Analysis Service -->
    <add key="DocumentAnalysisServiceBaseUrl" value=""/> <!-- *1* Endpoint URL of document analysis service like http://<URL_TO_SERVICE>:<PORT> -->
</appSettings>

The applications API, eRecruiter and Customer Portal require a connection to the database, which should be configured through the ConnectionStrings.config that will be placed in the application root directory.

ConnectionStrings.config
<?xml version="1.0"?>
<connectionStrings>
  <add name="ePunkt.Properties.Settings.ConnectionString" connectionString="Data Source=ServerHost\SqlServerName;Initial Catalog=DatabaseName;Persist Security Info=True;User ID=SqlUserName;Password=SqlUserPassword" />

  <!-- Example if integrated security is used:
	<add name="ePunkt.Properties.Settings.ConnectionString" connectionString="Data Source=SqlServerName,41433;Initial Catalog=DatabaseName;Integrated Security=True;" />
  -->
</connectionStrings>

In addition the file CVParser-Definitions.xml that has been placed in <ERECUITER_INSTALL_DIR>\data\templates need to be updated with the path to the dictionary definitions (configuration at the end of the file).

CVParser-Definitions.xml
<dictionaries>
  <dictionary id="firstNames" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\firstnames.txt" />
  <dictionary id="lastNames" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\lastnames.txt" />
  <dictionary id="cities" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\cities.txt" />
  <dictionary id="zips" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\zips.txt" />
  <dictionary id="streets" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\streets.txt" />
  <dictionary id="personalDataHeaders" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\personaldataheaders.txt"/>
  <dictionary id="titles" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\titles.txt" />
  <dictionary id="nonowords" filename="%ERECUITER_INSTALL_DIR%\data\templates\dictionaries\NoNoWords.txt" />
</dictionaries>

There is a configuration for the Applicant Portal application that needs to be done ad-hoc with an operations engineer as it requires more information about the actual system setup - the configuration below shows the possible configuration options.

Applicant Portal ApplicationSettings.config
<?xml version="1.0" encoding="utf-8"?>
<appSettings>
  <add key="webpages:Version" value="2.0.0.0" />
  <add key="webpages:Enabled" value="false" />
  <add key="PreserveLoginUrl" value="true" />
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />

  <add key="CustomFolder_localhost" value="localhost" />
  <add key="CustomFolder_demo.erecruiter.net" value="demo" />

  <add key="MandatorId" value="YOUR_MANDATOR_ID" />
  <add key="ApiEndpoint" value="YOUR_API_ENDPOINT" />
  <add key="ApiKey" value="YOUR_API_KEY" />

  <add key="TagManagerId" value="YOUR_TAG_MANAGER_ID"/>

  <add key="ReverseProxyHost" value=""/>
  <add key="ReverseProxyPort" value="0" />
  <add key="ReverseProxyScheme" value="" />

  <!-- These are document picker specific API keys. -->
  <add key="DropboxAppKey" value="" />
  <add key="OneDriveAppKey" value="" />
  <add key="GoogleDeveloperKey" value="" />
  <add key="GoogleClientId" value="" />
 
  <!-- reCAPTCHA API keys -->
  <add key="ReCaptchaSiteKey" value="" />
  <add key="ReCaptchaSecret" value="" />   
</appSettings>

For the configuration of the recruiting agency portal the following file needs to be created inside the application directory.

Recruiting Agency Portal settings.json
{
    "clientId": "ERECRUITER_CORE_API_CLIENT_ID",
    "apiEndpoint": "ERECRUITER_CORE_API_ENDPOINT",
    "communication": false
}

For the configuration of the eRecruiter core API the following file needs to be created inside the application directory.

eRecruiter Core settings.json
{
    "Logging": {
        "Level": "Warning",
        "Console": {
            "Enabled": false
        },
        "File": {
            "Enabled": false,
            "Path": "./logs/application-{Date}.log"
        },
        "SysLog": {
            "Enabled": false,
            "Server": ""
        },
        "Seq": {
            "Enabled": false,
            "Url": "",
            "ApiKey": ""
        }
    },
    "Security": {
        "TokenSecretKey": "SECURITY_TOKEN_TO_BE_GENERATED",
        "TokenLifeTime": 86400
    },
    "Paths": {
        "FilesPath": "PATH_TO_FILE_STORAGE",
        "TemplatesPath": "PATH_TO_TEMPLATE_STORAGE",
        "TemporaryPath": "PATH_TO_TEMPORARY_FILES"
    },
    "Data": {
        "ConnectionString": "DATABASE_CONNECTION_STRING"
    }
	"DocumentAnalysis": {
    	"ServiceUrl": "URL_TO_DOCUMENT_ANALYSIS_SERVICE"
	},
	"Textkernel": {
    	"ParsingUrl": "URL_TO_TEXTKERNEL_PARSING_SERVICE"
	},
	"CvLizer": {
    	"ProxyAddress": "",
    	"ProxyUser": "",
    	"ProxyPassword": ""
	}
}

Please add the following file (AppSettings.config) to the application root directory of DocumentAnalysis.

Document Analysis AppSettings.config
<?xml version="1.0"?>
<appSettings>
 
  <!-- Usually equal to TemporaryFileManager_Path from AppSettings.config of ePunkt.eRecruiter.Web. -->
  <add key="TemporaryFileDirectory" value="PATH_TO_TEMPORARY_FILES"/>
 
  <!-- Path to "CVParser-Definitions.xml" which holds the required information for the ePunkt CvParser configuration. -->
  <add key="DefinitionsXmlFilePath" value="PATH_TO_DEFINITIONS.XML"/>
   
</appSettings>


Customization

The eRecruiter requires an initial set of customizations that need to be installed into the {{<ERECRUITER_INSTALL_DIR>\data\templates}} directory or onto the SAN/SMB share. These customization include standard reports and the data structures for the integrated CV parsing infrastructure.