Admin: Appendix B – External Plugin Services Setup
Overview
The following sections describe how to set up each of RPI’s external plugin services.
dotDigital External Dynamic Content Service
Installation
To install the dotdigital EDC Service:
Copy the entire DeploymentFiles\Plugin Services\DotMailerEdcService folder into the root of the IIS web site where the dotdigital EDC Service will be hosted.
In the App_Config folder, copy the ConnectionStrings.Example.config file and paste it into the same location. Rename the file to ConnectionStrings.config.
In the ConnectionStrings.config file, modify the two entries within the <connectionString> tags to point to the database server where the core RPI operations database is housed by replacing the ‘localhost’ string in the entries below with the name of the operations database server. If the RPI operational database is on the same machine as the RPI application server, then this will not need to be changed:
XML<add name="LoggingDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse_Logging; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> <add name="OperationalDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" />
To modify the dotdigital EDC service’s default folder location for outbound personalized content:
Launch Redpoint Interaction - Server Workbench.
In Configuration tab, replace the DotMailerExternalDynamicContentSharedFolderPath default value with the folder path you want to use.
Save the changes.
In IIS Manager:
Expand the web site you created for the dotdigital EDC service.
Right-click on the ‘DotMailerEdcService’ folder and choose ‘Convert to Application’
Set the Application Pool to the same application pool that RPI runs under (RPIAppPool) or, if hosted on a different server, make sure the application pool runs under a security context that has access to the RPI Operations database referenced in the step above.
You can test that your service is running correctly by right-clicking on the ‘DotMailerEdcService’ application in IIS and choosing ‘Browse’. If the service is running, you will see the content ‘Redpoint Interaction DotMailer’.
Upgrade
To upgrade the dotdigital EDC service at an existing RPI installation, please follow these steps:
Upgrading from v5.x and below
Back up the dotdigital EDC service web.config file.
Stop the dotdigital EDC service in IIS Manager.
Copy the contents of the DeploymentFiles\Plugin Services\DotMailerEdcService into the dotdigital EDC service website’s root folder.
In the App_Config folder, copy the ConnectionStrings.Example.config and paste it in the same location. Rename the file to ConnectionStrings.config.
In the ConnectionStrings.config file, modify the two entries within the <connectionString> tags to point to the database server where the core RPI operations database is housed by replacing the ‘localhost’ string in the entries below with the name of the operations database server. If the RPI operational database is on the same machine as the RPI application server, then this would not need to be changed:
XML<add name="LoggingDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse_Logging; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> <add name="OperationalDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" />
If the dotdigital EDC service has configured custom folder location previously in ‘ExternalDynamicContentSharedFolder’ setting found in web.config file, copy the value of the setting and paste it on Server Workbench under Configurations > ‘DotMailerExternalDynamicContentSharedFolderPath’ setting and save the changes.
Start ‘DotMailerEdcService’ application from IIS manager.
Upgrading from v6.x and up
Back up the dotdigital EDC service App_Config\ ConnectionStrings.config file.
Stop the dotdigital EDC service from the IIS Manager.
Copy the contents of DeploymentFiles\Plugin Services\DotMailerEdcService into the dotdigital EDC service website’s root folder.
Start ‘DotMailerEdcService’ application from IIS manager.
In Server Workbench, any modification made from the DotMailerExternalDynamicContentSharedFolderPath setting requires a restart of dotdigital EDC service from the IIS Manager for the changes to take effect.
Outbound Delivery Callback Service
Installation
To install the Outbound Delivery Callback Service:
Copy the entire DeploymentFiles\Plugin Services\OutboundDeliveryCallbackService folder into the root of the IIS web site where the Outbound Delivery callback service will be hosted.
In the App_Config folder, copy the ConnectionStrings.Example.config file and paste it in the same location. Rename the file to ConnectionStrings.config.
In the ConnectionStrings.config file, modify the two entries within the <connectionString> tags to point to the database server where the core RPI operational database is housed by replacing the ‘localhost’ string in the entries below with the name of the operational database server. If the RPI operational database is on the same machine as the RPI application server, then this does not need to be changed:
XML<connectionStrings> <add name="LoggingDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse_Logging; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> <add name="OperationalDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> </connectionStrings>
To modify Outbound Delivery callback service’s default folder location for inbound events:
Launch Server Workbench.
In the Configuration tab, replace the OutboundDeliveryEventFolderPath default value with the correct folder path.
Save the changes.
In IIS Manager:
Expand the web site you created for the Outbound Delivery callback service.
Right-click the ‘OutboundDeliveryCallbackService’ folder and choose ‘Convert to Application’
Set the Application Pool to the same application pool that RPI runs under (RPIAppPool) or, if hosted on a different server, make sure the application pool runs under a security context that has access to the RPI Operational database referenced in the step above.
You can test that your service is running correctly by right-clicking on the ‘OutboundDeliveryCallbackService’ application in IIS and choosing ‘Browse’. If the service is running, you will see ‘Nuget Dependencies’ content.
Upgrade
To upgrade the Outbound Delivery Callback Service at an existing RPI installation, please follow these steps:
Upgrading from v5.x and below
Back up the Outbound Delivery callback service web.config file.
Stop the Outbound Delivery callback service in IIS Manager.
Copy the contents of DeploymentFiles\Plugin Services\OutboundDeliveryCallbackService into the Outbound Delivery callback service website’s root folder.
In the App_Config folder, copy the ConnectionStrings.Example.config and paste it in the same location. Rename the file to ConnectionStrings.config.
In the ConnectionStrings.config file, modify the two entries within the <connectionString> tags to point to the database server where the core RPI operational database is housed by replacing the ‘localhost’ string in the entries below with the name of the operational database server. If the RPI operational database is on the same machine as the RPI application server, then this does not need to be changed:
XML<connectionStrings> <add name="LoggingDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse_Logging; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> <add name="OperationalDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> </connectionStrings>
If the Outbound Delivery callback service has a custom folder location configured at the web.config file’s ‘eventFolderLocation’ setting, copy the value and paste it into Server Workbench’s ‘OutboundDeliveryEventFolderPath’ configuration setting, and save the changes.
Start the ‘OutboundDeliveryCallbackService’ application in IIS manager.
Upgrading from v6.x and up
Back up the Outbound Delivery callback service App_Config\ ConnectionStrings.config file.
Stop the Outbound Delivery callback service from the IIS Manager.
Copy the contents of DeploymentFiles\Plugin Services\OutboundDeliveryCallbackService into the Outbound Delivery callback service website’s root folder.
Start ‘OutboundDeliveryCallbackService’ application from IIS manager.
Any changes made to the Server Workbench OutboundDeliveryEventFolderPath setting will necessitate a restart of the Outbound Delivery service in IIS Manager for the changes to take effect.
SendGrid Web API Callback Service
Installation
To install the SendGrid Web API Callback Service:
Copy the entire DeploymentFiles\Plugin Services\ SendGridCallbackServiceWebAPI folder into the root of the IIS web site where the SendGrid Web API callback service will be hosted.
In the App_Config folder, copy the ConnectionStrings.Example.config file and paste it in the same location. Rename the file to ConnectionStrings.config.
In the ConnectionStrings.config file, modify the two entries within the <connectionString> tags to point to the database server where the core RPI operational database is housed by replacing the ‘localhost’ string in the entries below with the name of the operational database server. If the RPI operational database is on the same machine as the RPI application server, then this does not need to be changed:
XML<connectionStrings> <add name="LoggingDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse_Logging; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> <add name="OperationalDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> </connectionStrings>
To modify the SendGrid Web API callback service’s default folder location for inbound email events:
Open Server Workbench.
In the Configuration tab, replace the SendGridEmailMetricsFolderPath default value with the folder path you want to use.
Save the changes.
To modify the SendGrid Web API callback service’s external folder for inbound email events:
Open Redpoint Interaction.
Open Configuration > Channels > SendGrid channel.
Click ‘Copy JSON configuration to clipboard’.
Open Server Workbench.
In the Configuration tab’s SendGridWebAPIExternalContentProviderSettings, setting paste the copied JSON configuration from the SendGrid channel.
Save the changes.
In IIS Manager:
Expand the web site you created for the SendGrid callback service
Right-click on the ‘SendGridCallbackServiceWebAPI’ folder and choose ‘Convert to Application’
Set the Application Pool to the same application pool that RPI runs under (RPIAppPool) or, if hosted on a different server, make sure the application pool runs under a security context that has access to the RPI Operational database referenced in the step above.
You can test that your service is running correctly by right-clicking on the ‘SendGridCallbackServiceWebAPI’ application in IIS and choosing ‘Browse’. If the service is running, you will see ‘Nuget Dependencies’ content.
Upgrade
To upgrade the SendGrid callback service at an existing RPI installation, please follow these steps:
Upgrading from v5.x and below
Back up the SendGrid Web API callback service web.config and appsettings.json file.
Stop the SendGrid Web API callback service in IIS Manager.
Copy the contents of DeploymentFiles\Plugin Services\SendGridCallbackServiceWebAPI into the SendGrid callback service website’s root folder.
In the App_Config folder, copy the ConnectionStrings.Example.config and paste it in the same location. Rename the file to ConnectionStrings.config.
In the ConnectionStrings.config file, modify the two entries within the <connectionString> tags to point to the database server where the core RPI operational database is housed by replacing the ‘localhost’ string in the entries below with the name of the operational database server. If the RPI operational database is on the same machine as the RPI application server, this does not need to be changed:
XML<connectionStrings> <add name="LoggingDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse_Logging; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> <add name="OperationalDatabase" connectionString=" Data Source=.; Initial Catalog=Pulse; Integrated Security=True; Connect Timeout=90; ConnectRetryCount=12; ConnectRetryInterval=10" providerName="System.Data.SqlClient" /> </connectionStrings>
If the SendGrid Web API callback service has a previously-configured custom folder location in the ‘emailMetricsFolderLocation’ setting found in the web.config file, copy the value of the setting and paste it into the SendGridEmailMetricsFolderPath configuration setting within Server Workbench.
Save the changes.
Start the ‘SendGridCallbackServiceWebAPI’ application in IIS manager.
Upgrading from v6.x and up
Back up the SendGrid Web API callback service App_Config\ ConnectionStrings.config file and appsettings.json file.
Stop the SendGrid Web API callback service in IIS Manager.
Copy the contents of DeploymentFiles\Plugin Services\SendGridCallbackServiceWebAPI into the SendGrid Web API callback service website’s root folder.
Start the ‘SendGridCallbackServiceWebAPI’ application from IIS manager.
AWS SES Callback Service
Setup of the Amazon Simple Email Service (AWS SES) Callback Service is only required if using the AWS SES email service provider to execute RPI email offers.
The RPI AWS SES callback service is a public facing http://ASP.Net application used by both the AWS SES channel plugin and AWS SES Event Notifications. With this service, AWS SES is able to post any event notifications that occur as emails are processed. The AWS SES channel plugin can then retrieve these event notifications and display them as results in the RPI Results Window.
Deployment Files
The AWS SES Callback service is available in the RPI Deployment Files in the following folder:
DeploymentFiles\Plugins Services\AmazonSESCallbackService
Pre-Requisites
To set up the AWS SES callback service, the following pre-requisites must exist:
A public-facing web server.
An AWS SES callback service web site, hosted in IIS.
Installing the AWS SES Callback Service
To install the AWS SES Callback Service, copy the entire DeploymentFiles\Plugin Services\AmazonSESCallbackService folder into the root of the IIS web site where the AWS SES Callback service will be hosted.
In IIS Manager:
Expand the AWS SES callback service website.
Right-click on the ‘AmazonSESCallbackService’ folder and select ‘Convert to Application’.
Set the Application Pool to Pipeline Mode: Integrated.
You can test that the service is running correctly by browsing to Error! Hyperlink reference not valid., where the following response should be returned:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">OK!</string>
Upgrading the AWS SES Callback Service
To upgrade the AWS SES callback service at an existing RPI installation, please copy the contents of DeploymentFiles\Plugin Services\AmazonSESCallbackService folder into the AWS SES callback service website’s root folder.
AWS SES Channel Plugin Callback Service Configuration
To configure the RPI AWS SES channel plugin to use the AWS SES callback service, ensure that the AWS SES channel’s configuration Callback service URL property is set correctly with the following format: http://<server name>
AWS SES Callback Service Write to External Location
To configure the AWS SES callback service to write to an external Location, please follow these steps:
Stop the AWS SES callback service in IIS.
Set the AWS SES channel configuration’s Events external folder property to an external folder.
In the same context, click Copy JSON configuration to clipboard.
Open Server Workbench > Configuration.
In the Connectors group, select the AmazonSesExternalContentProviderSettings setting and click the Value textbox, then paste the copied JSON configuration.
Start the Amazon SES callback service in IIS.
You can test that your service has access to the External folder by browsing to Error! Hyperlink reference not valid.. Information about the selected folder should be shown in the EmailMetricsLocationStatus section.
AWS SES Callback Service Write to Queue Provider
To configure the AWS SES callback service to write to a queue provider, ensure that the value of the AWS SES channel configuration’s Events external folder property, and the Server Workbench configuration setting AmazonSesExternalContentProviderSettings are empty, and that you have a working default queue provider (in RPI client’s Queue Providers configuration interface). The service uses the CallbackServiceQueuePath client system configuration setting to write email events and the Callback service processor system task to read email events.
You can test that your service is set up to write to the queue provider by browsing to Error! Hyperlink reference not valid.. Queue provider information should be shown in the EmailMetricsLocationStatus section.