EngageCX Pre-Installation Checklist
Overview
Thank you for choosing EngageCX Solutions.
This document is intended to provide requirements and recommendations you must consider prior to the EngageCX Platform installation. To ensure a successful Production deployment, please check and fulfill the items described below. Also, please keep in mind that each organization is unique and additional edits must be done to meet your company's needs. We encourage you to contact our EngageCX Professional Services Team for any inquiry you might have. We'd love to hear from you!
Basic Installation Requirements
This section provides the hardware, software, database, storage, and other requirements that must be met before installing the EngageCX Platform.
EngageCX Database
The EngageCX Database component stores all the metadata created by the EngageCX Platform. This component is directly accessed by multiple EngageCX components (e.g.: Enterprise Website, System Administration Website, Customer Portal Website, Storage Engine, Workflow Engine).
Database Requirements
The following lines identifies the minimum database requirements you need to fulfill for an EngageCX Platform deployment.
Microsoft SQL Server
- Microsoft SQL Server 2016 or later version is recommended;
- Microsoft SQL Enterprise Edition is recommended;
- Use a separate physical or virtual machine for the SQL Database, in addition to the other EngageCX Platform components;
- Make sure the connection between all depended EngageCX Platform components and database is reliable;
- In High Availability environments, an SQL Server clustering solution is required.
Permission to write in the Database
After creating the database, you need to ensure that the user under which the database authentication will be made has at least Database Admin rights (i.e. db_owner).
Procedure:
Please follow the steps below to provide user access to the database.
- In SQL Server Management Studio, open the Object Explorer and navigate to Security\Logins;
- Right-click on the user you want to configure, and select
Properties. - Within the Login Properties window, access the
User Mappingtab. - Select the EngageCX Database, then verify the user and add a default schema (e.g. dbo).
- Check out the needed permissions in the Database role membership section (at least, db_owner needs to be selected).
Permission Types
In case of Production Upgrade, the user must have db_owner rights.
On runtime, the following privileges are enough:
db_datareader
db_datawriter
db_backupoperator
GRANT EXECUTE ON TYPE::[dbo].[DateFilterArray]
GRANT EXECUTE ON TYPE::[dbo].[FileArray]
GRANT EXECUTE ON TYPE::[dbo].[FilePropertyArray]
GRANT EXECUTE ON TYPE::[dbo].[PrincipalsArray]
GRANT EXECUTE ON [dbo].[CheckConnectionDuplicate]
GRANT EXECUTE ON [dbo].[GetEnvironmentPagesRendered]
If using Windows Authentication, the Network Service account must have permissions to log on as a service. Follow the steps below to set to the windows user the "Logon as a service" permission.
- Logon to the computer with administrative privileges.
- Access the
Administrative Toolsand open theLocal Security Policy. - Expand
Local Policyand double-click onUser Rights Assignment. - In the right pane, right-click
Log on as a serviceand selectPropertiesfrom the contextual menu. - Click on the
Add User or Group…button to add the new user. - In the Select Users or Groups dialog, find the user you wish to enter and click
OK. - Select
Apply, thenOKin the Log on as a service Properties window to save the changes.
For more details, please follow this link.
Collation in EngageCX Database
After configuring the database for your server, you should set also the Collation parameter for both Microsoft SQL Server and the EngageCX databases (EOSDB4, EOSDB4Search). Collation manages the queries syntax that depends on your database management system; therefore, it is recommended to set the collation to case-insensitive.
Follow the query below to verify the collation at the database level:
SELECT name, collation_name
FROM sys.databases
WHERE name = 'MyEngageCXDatabase';
GO
Note
MyEngageCXDatabse must be replaced with the name of the EngageCX Database used while running the EngageCX setup.
Follow the steps below to check the collation parameter from Microsoft SQL Server.
- Open Microsoft SQL Server Management Studio.
- Identify the database for which you intend to set the collation and right-click on it.
- Access its properties from the contextual menu.
- Select the
Generalpage in the left pane and verify theCollationparameter under the Maintenance section.
Follow the query below to verify the collation at the server level:
SELECT SERVERPROPERTY('collation');
If you are using a case insensitive collation, follow the query below to update the type to case insensitive:
ALTER DATABASE ‘MyEngageCXDatabase’
COLLATE Latin1_General_CI_AS
EngageCX Storage
When you create or add files through the EngageCX Platform, their content will be saved in a storage folder. The storage location is accessed by the Storage Engine component.
Storage Requirements
The following lines identifies the minimum storage requirements you need to fulfill for a successful EngageCX Platform installation.
Storage Location
The EngageCX Storage can reside:
- Locally, on the same machine as the Storage Engine services.
Note
We highly recommend SSD hard disks when the storage is installed locally.
- On a shared network location (which may or may not reside on a Network Attached Storage device).
Note
Make sure the connection between the Document Repository services and the Storage folder is high speed and reliable (we recommend at least 1Gbps).
- In HA Deployments, the EngageCX Platform will require two storage locations.
Note
If network attached locations are provided, we highly recommend placing this location on two separate physical instances to avoid single points of failure. An important thing to consider is that the EngageCX Platform will keep the two storage locations synchronized. Therefore, other file redundancy mechanisms are not required.
Permissions on the storage folder
Since the EngageCX service runs under a user account, you need to make sure that the user account has permissions to read/write/list to the storage folder.
Web Server
The EngageCX Websites (i.e.: System Administrator, Enterprise and Customer Portal) are hosted at the Microsoft Internet Information Services (IIS) Site.
Website Requirements
Find below the requirements for hosting the EngageCX websites and other essential components required by EngageCX Platform.
| IIS Manager | URL Rewrite | .NET Framework 4.7.2 | ASP.NET | SSL Certificate* |
IIS Manager
IIS 7.0 or later for Windows® Server is a flexible, secure and manageable Web server for hosting anything on the Web. You can read more on installing IIS 7 here.
URL Rewrite
The URL Rewrite module is also a requirement. It is a free extension provided by Microsoft for IIS 7 or later. For overview and installation steps, please access this link.
NET Framework
The .NET Framework 4.7.2 can be downloaded from the Microsoft website, using this download link. To learn more important information about this release, access the .NET Framework 4.7.2 Readme File.
Note
This is also required by all the EngageCX Platform components, not necessarily the websites.
ASP
The setup also requires ASP.NET to be installed on the IIS Components. Follow the steps below to install the ASP.NET in IIS.
- Open the Windows Features;
- Expand Internet Information Services\World Wide Web Services\Application Development Features;
- Check the
ASP.NET 4.7and.NET Extensibility 4.7; - Select
Okto apply the changes.
SSL Certificate - Optional
If you need to handle sensitive communications and protect your files with the HTTPS Protocol, you will need to install an SSL Certificate in IIS.
Note
We recommend using SSL Certificates when the EngageCX Platform is included on the Internet, not to an intranet.
Hardware Requirements
Find below the minimum and recommended hardware specifications that must be addressed prior to the EngageCX Platform installation.
CPU
1 CPU/4 Cores i5 @ 2 GHZ
Note
Intel Xeon E5 (8 cores) is recommended.
In HA Deployments, the value must be doubled.
Memory
4 GB of RAM
Note
16GB of RAM is recommended, 2GB per core.
In HA Deployments, the value must be doubled.
Disk Space
10 GB
Note
1TB disk space is recommended. The size of the disk is dependent on customer load.
In HA Deployments, the value must be doubled.
Operating System Requirements
Find in this section, the minimum and recommended operating system specifications for installing the EngageCX Platform.
Minimum: Windows Server 2016
Recommended: Windows Server 2019
Note
For EngageCX Studio Windows 10 is recommended.
Ports Available
Before installing the EngageCX Platform, we recommend to ensure that some ports are not in use on your server.
EngageCX Services Default Ports
Find in the table below the default ports used by the EngageCX Services. These ports can be configured from the configuration files (EOS4.config, DASSvc.config, BISvc.config, PublisherSvc.config). For distributed configurations, these ports need to be opened in Windows Firewall.
| Default Port | Parameter | Description |
|---|---|---|
| 1433 | SQLPort | SQL Server Port |
| 40014 | ESSPort | EngageCX Storage Port |
| 40015 | WorkPort | Workflow Engine |
| 40016 | RepositoryPort | Repository Port |
| 40017 | XFEOSServerPort | Publishing Engine |
| 40018 | LogPort | Log Port |
| 40019 | BillingPort | Billing Port |
| 40020 | TriggerPort | Trigger Port |
| 40021 | DASEOSServerPort | Data Engine |
| 40022 | SchedulerPort | Scheduler Port |
| 40023 | BIEOSServerPort | Analytics Engine Port |
| 40024 | DistributionPort | Distribution Port |
| 40025 | AlertPort | Alerts Port |
| 40026 | BackgroundServerPort | Background Services Port |
| 40027 | ProcessReporterServerPort | Process Reporter Port |
| 40028 | SearchServerPort | Search Server Port |
| 40029 | NotificationsServerPort | Notification Server Port |
| 40030 | BackupServerPort | Backup Port |
| 40031 | RepositorySynchronizationPort | Repository Synchronization Port |
| 40038 | LockPort | Lock Service Port |
EngageCX Websites Default Ports
Find in the table below the default ports used by IIS for the EngageCX Websites. You can change them during the installation of each component.
| Default Port | Parameter | Description |
|---|---|---|
| 8094 | EnterpriseWebsiteURLPort | Enterprise Website |
| 8095 | AdministrationWebsiteURLPort | Administrator Website |
| 8096 | PortalWebsiteURLPort | Customer Portal Website |
HA Deployments Default Ports
Find in the table below the default ports that need to be accessible for HA Deployments. The same port numbers need to be free and accessible on both firewalls configured as HA peers.
| Default Port | Parameter | Description |
|---|---|---|
| 40014 | ESSPeerPort | Storage Port |
| 40022 | SchedulerPeerPort | Scheduler Port |
| 40026 | BackgroundPeerPort | Background Services Port |
| 40027 | ProcessReporterPeerPort | Process Reporter Port |
| 40030 | BackupPeerPort | Backup Port |
| 40020 | TriggerPeerPort | Trigger Port |
| 40038 | LockPeerPort | Lock Service Port |
Authentication
Authentication to the EngageCX Websites (Enterprise and Customer Portal) can be accomplished in different ways, depending on your organization environment. EngageCX provides three types of authentication: Internal Authentication, consisting of built-in users created directly in EngageCX Platform, Authentication using Active Directory or Single Sign-On (SSO) Authentication, which split in SSO using Windows Authentication and SSO using SAML or WS-Fed.
Please access from the table below the authentication type to find the requirements you need to ensure based on it:
| Active Directory Authentication | SSO - Windows Authentication |
Active Directory Authentication
To use Active Directory users, you need to ensure the following items:
- Each user needs to be included in a group domain;
- Each group domain should be part of an Active Directory.
Note
When mapping active directory users to the EngageCX Platform, you need to make sure that the AD group is a Security Group. If you use Distribution Groups, users cannot be synchronized across EngageCX environments.
Verifying the Group Type
Follow the steps below to verify the group type in Active Directory.
- Access the server that contains the Domain Controller;
- Open the Active Directory Users and Computers tool;
- Go to
Users; - Right-click on the group domain and select
Properties; - Under the General section, identify the Group Type section and verify if the AD group is
Security.
SSO - Windows Authentication
Windows SSO uses the AD user that is currently logged into the computer to access the EngageCX Platform. Windows Authentication requires the following configurations:
- Enable Windows Authentication in IIS;
- Enable Anonymous Authentication in IIS;
- Configure Service Principal Name (SPN) for Kerberos authentication for IIS Server.
Enabling Windows Authentication
Follow the steps below to enable the Windows Authentication in IIS.
- From the Connection Tree View, navigate to the EngageCX Website on which you want to enable Windows Authentication;
- Double click on the
Configuration Editorbutton, under the Management section; - From the Configuration Editor dialog, go to system.Webserver\security\authentication\windowsAuthentication.
- Unlock the configuration by selecting the
Unlock Sectionbutton; - Change the value of the enabled property to
True.
Enabling Anonymous Authentication
Follow the steps below to enable the Anonymous Authentication in IIS.
- From the Connection Tree View, navigate to the EngageCX Website on which you want to enable Windows Authentication;
- Double click on the
Configuration Editorbutton, under the Management section; - From the Configuration Editor dialog, go to System.Webserver\security\authentication\anonymousAuthentication.
- Unlock the configuration by selecting the
Unlock Sectionbutton; - Change the value of the enabled property to
True.
Enabling Kerberos Authentication
Kerberos authentication requires having set a Service Principal Name for IIS Server. To check what SPN is registered, you can run the following command on the AD machine:
SetSpn -L
If you need to set a new SPN, you can read more information here.
Additional Requirements
Make sure you review the following requirements before the software installation.
Product Keys
EngageCX Platform functionalities are closely related to the product keys you purchased. Before installing the EngageCX Platform, it might be necessary to discuss with your Account Manager about the license upgrade.
Please note that for Nido Upgrades, the old licenses will no longer be available. You will have to contact our Operations Team to upgrade your licenses. More information on how to install the new product keys are described within the Licensing section of the Sysadmin Guide.
Available Product Keys
The table below lineup the minimum product keys required for full EngageCX functionalities.
| Product Key | Description |
|---|---|
| Engage\Converse LCPU\Volume Based | A server-based product key that enables multiple EngageCX Engage\Converse features and functionalities, such as communications, forms, customer portal, channels, etc. |
| Publishing Engine LCPU\Volume Based | A server-based product key that enables the Publishing Engine functionalities. |
| Data Engine LCPU\Volume Based | A server-based product key that enables the Data Engine functionalities. |
| Analytics Engine LCPU\Volume Based | A server-based product key that enables the Analytics Engine functionalities. |
| EngageCX Studio | An environment-based product key that allows you to use any EngageCX Studio tool or feature. |
Search Database
The Search module is an ideal way to quickly find your files and folders in real time. The table below lists the specifications you need to ensure before deployment the Search component. For more details, access the specification you are interested in.
| Standard EngageCX Requirements |
| A connection to the Microsoft SQL Server |
| Permission to write in the Database |
| Microsoft SQL Server with Full Text enabled* |
| Search Module with Elastic Search* |
Standard EngageCX Requirements
Please ensure your technical environment meets all the requirements described in the Basic Requirements section.
A connection to the Microsoft SQL Server
You can either use the same SQL Server as for the main EngageCX database, or a separate one. Note that you need to create an additional database for the Search component. By default, the name used in the installer is EOSDBSearch.
Permission to write in the Database
After creating the Search database, you need to ensure that the user under which the database authentication will be made has at least Database Admin rights (i.e. db_owner).
Microsoft SQL Server with Full Text enabled - Optional
This is an optional feature. It is required only if you want to search inside documents content. In order to have the Full Text feature enabled, you need to ensure that the feature is enabled in MS SQL Server setup.
Note
This option may slow down the search engine and it will consume more of the server’s resources.
Search Module with Elastic Search – Optional
If you want to use the Search module with Elastic Search, Elastic Search 5 is recommended.
Installation Directory
By default, EngageCX Platform will be installed on the system drive, at C:\Program Files\EngageCX\ProductName.
Rather than installing onto the default location, EngageCX allows you to specify a different installation location during the setup, at the Destination Folder Step.
Stakeholders
Before the EngageCX solutions deployment, it might be necessary to determine what persons do you need for installing EngageCX Platform, as well as the ones needed to fulfill the pre-installation requirements.
Administrative Privileges
The server(s) where the EngageCX Platform will be deployed needs to be configured by the system administrator, to allow the person assigned to install, test and troubleshoot.
Browser Availability
EngageCX Websites can be accessed from the browser versions listed below:
- Google Chrome 69 or later;
- Microsoft Edge 42 or later;
- Opera 56 or later;
- Apple Safari 5 or later;
- Mozilla Firefox 62 or later.
We highly recommend using the Google Chrome browser to have the best EngageCX experience.
If you are using an older browser version, you might encounter difficulties, so we encourage you to keep things up to date.
Distributed Installations
EngageCX solutions provide a scalable platform that can accommodate both small and large deployments. Distributed installation consists of deploying one or more components over multiple servers within your business environment. A distributed configuration will allow your business to ensure a performance, scalability or redundancy over the EngageCX system, but it can also bring undesirable costs for your company. As a best practice, when deciding what EngageCX components to spread across multiple servers, you must consider the ones that consume most of the system resources and be aware that separating an EngageCX component on a remote server is highly dependent on your workload and EngageCX pattern usage. Please contact our EngageCX Professional Services Team to discuss what distributed scenario suits more your organization needs.
Minimum Requirements
The table below provides the minimum requirements you must review these items in addition to the requirements and recommendations described in the Basic Requirements section. For more details, select from the table the requirement you are interested in.
| Port Requirements |
| Reliable Network Connection |
| Physical Servers |
| Access to the EngageCX Database |
Port Requirements
In distributed deployments, the servers or VMs you use need to be able to communicate with one another. For more information on how EngageCX Platform handles port mapping, please go to the Ports Available section.
Reliable Network Connection
In distributed deployments, make sure that the servers on which you plan to install EngageCX Components can communicate with each other over the network.
Note
For faster transfers of large quantities of data, 1Gbps is a recommended connection. Please access this link for more details.
Physical Servers
Use at least two physical servers to install EngageCX components in a distributed environment. Using only virtual machines on the same physical server does not eliminate single points of failure.
Access to the EngageCX Database
Please make sure that all the EngageCX components can access the EngageCX Database.
High Availability
High Availability (HA) is a special type of distributed installation recommended in Production environments. It describes the ability of a system to continue working and provide resources to its users when a failure occurs.
The table below provides the requirements you need to consider when deploying EngageCX Platform in HA mode, in addition to the requirements described above, in the Minimum Requirements section.
| Load Balancer |
| Solution for the Database |
| Equal Storage Size |
Load Balancer
Use load balancers to automatically balance traffic to your EngageCX instances. If you integrate our platform into your third-party application, load-balancers will remove the need for writing failover code. According to your company requirements, you can decide if you want to use software-based or hardware-based load balancers.
Note
A common choice for load balancing is using the High Availability Proxy (HA Proxy) solution.
Create a HA Solution Setup for your Database
A HA system should try to eliminate single points of failure as much as possible and database is an important component of EngageCX architectures. You can find more about SQL Server HA solutions here.
Equal Storage Size for all EngageCX Instances
In a HA deployment, EngageCX Storages are synchronized automatically, so the same size on both storages is highly recommended.