Nixxis 2.4.x eScript Setup

Nixxis 2.4.x eScript Setup

Introduction 
This article provides information on the required steps to setup eScript for Nixxis 2.4x 

1.    Deploy API dependencies 
Extract the 2.4 API dependencies DLLs in CrAppserver folder 
 
Extract API Test tool to Nixxis\Tools folder 
 
2.    Modify http.config 
In http header "host" in the domain, both local & public IPs need to be defined without the ports. 

Hosts defined in prerequisites must be present in host values 


"data" needs to be added to the "data" application' "serviceId" 
      Note : No space after the comma. The value should be like this "reporting,data"



 Add API application section



  <application id="api" name="Api" type="ApiProcessor" debug="2" sessionLess="true"                                 
preload="true"> <add key="directDataKey" value="MyKeyHere" /> 
  <add key="ServerEndpoint" value="http://*:9090/" /> 
<add key="workflowsPath" value="C:\Nixxis\CrAppServer\Workflows\" /> 
  </application

Create a folder name Workflows in CrAppServer folder if not present 

3.    Modify CrAppServer.exe.config 
Add <addon name="ApiAddon" type="Nixxis.Api.ApiAddOn, ApiProcessor"  settings="ApiProcessor.dll.config"/> in the addons section. 



Add the missing dependentAssembly in the runtime section and update the versions for Newtonsoft.Json, Microsoft.Owin and System.Web. Cors 



<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
  <dependentAssembly> 
        <assemblyIdentity name="UscNetTools" publicKeyToken="C44E421C9B9BBA4B" culture="neutral"/> 
        <bindingRedirect oldVersion="0.0.0.0-5.1.7033.1" newVersion="5.1.7033.2"/> 
      </dependentAssembly> 
      <dependentAssembly> 
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
        <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
        <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
        <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> 
      </dependentAssembly> 
      <dependentAssembly> 
        <assemblyIdentity name="System.Web.Cors" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
        <bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" /> 
      </dependentAssembly> 
    </assemblyBinding> 
  </runtime

4.    After modifying http.config and CrAppServer.exe.config restart CrAppServer service 
DRIVE:\Nixxis\CrAppServer
net stop crappserver
net start crappserver

5.    Test if API is working 
In the browser go to http://[appserver_ip]:9090/ 

 

You should see "Nixxis Platform Server" 

Run API test:
C:\Nixxis\Tools\apitest.exe
http://[appserver_ip]:9090/directdata 



6.    IIS Setup 
Install the IIS roles as shown below



And the .Net Framework in the features



In IIS console : 
Default Site Web / Category IIS > icone MIME Type 
add (if not present)
         Extension : .woff  
  Mime Type : font/x-woff 
        Type mime : font/x-woff 



7.    Local eScript Run installation 
Download the eScriptRun pakage below: eScript Package: 

Extract the eScript package in the IIS directory wwwRoot (the structure should be as below) 



** The package contains the current version that was saved on the Nixxis repository. To download the latest version package on the seeasoftware site.

Update Nixxis_eScript.js

Create a new application under default website in IIS



Name the new application eScriptRun and use Default application pool.



Setup the Default application pool to restart at 00:30.



Add read/write rights to the IIS_USER user and Users group for directories: 
MyObjects
MyScripts
Logs
Styles



Nixxis JS
Adapt : C:\inetpub\wwwroot\eScriptRun\Script as follows :

KEY_PLUGIN : null,
appURI : "appserver-ip:8088",
host : "appserver-ip",

8.    IP autorisation 

There is only the escript editor platform that is autorise to publish script.  Below is the list of IPs used to communicate with eScript Runner that traffic needs to be allowed (Port 80)
52.143.137.144
52.143.137.145
52.143.137.146
52.143.137.147
52.143.137.148
52.143.137.149
52.143.137.150

9.    Editor Configuration and Nixxis Plugin 
Connect to the escript editor cloud platform (with the username as a prerequisite) 


If not script present, we need to so as to access the configurations options.



Once in the script click on the user on the top right then choose info and setup. 



The company GUID can be found in the company information part you will need this for the preprocessor configuration below.

Under virtual path to the eScript run, we configure the access to the local runner installed earlier. This access is done through the public IP.
The slash("/") at the end of the Virtual path is very important. The editor will not be able to connect to the runner if this URL is not correctly formatted.



You also need to connect the API so that we can retrieve fields info in the editor

Click on the Plugins to access the API configuration section



The following fields to configured:

Designation:   Name of the connection  (exemple OVH_117-Nixxis)
Plugin Provider: Nixxis - (Important here that Nixxis is written with a capital N)
Server: IP address of the NCS api  (application server)
oAuth User: aaa
oAuth Password: bbb



After logout then login again and check if the runner version in the company info is correct. If not, you will need to check if the connection is allowed between the appserver and seeasoftware (see section 8) 



10. Preprocessor and SQL Configuration 

The defination of the differents column are as follows:

The Id is should be "22fd036c27ba4a1288cce5861e5c8i37"
Description should be "eScript"
MediaType should be 0 (this specifies that is a script engine)
Resource defines the URL used for the agent popup
EditorUrl specifies the assembly type of the eScript plugin: "Nixxis.Client.Admin.EScriptPlugin
NixxisAdminControls"
EditorParams specifies the URL used to retrieve the list of scripts
Other fields can use their default value

Adapt this SQL template before running it to insert the line the preprocessor table

use [AdminDatabase] 


go 


INSERT INTO dbo.Preprocessors ([id], [Description], [MediaType], [Resource], [EditorUrl], [EditorParams]) 


VALUES 


             ('22fd036c27ba4a1288cce5861e5c8i37', 'eScript', 0, 

'[URL]/production.aspx?Guid_Company=[GUID]&Guid_Script={13}&KEY_INDEX=1&KEY_PLUGIN={6}',

'Nixxis.Client.Admin.EScriptPlugin, NixxisAdminControls',

'http://escript1.azurewebsites.net/escript/service.api?op=ListScript&Guid_Company=[GUID]') 


      go 

IMPORTANT
[AdminDatabase] = name of the admin database
[URL} = local ip of the runner 
[GUID] = company guid in the escript account

11.    Reload admin once all done: 
http://[APP_SERVER_IP]:8088/admin?action=reload 

12.    Multi-instance config: 
It is possible to deploy several instances of local runner on a single server as multi instance environment.
The steps are the same as described; each runner is configured as application of its own
Example:
where IP is the IP of the server and the name of the tenant indicated in the variable 

Each local runner instance will have its own account on the cloud editor platform.
 
13.    Viewing your script in Nixixis

Select "eScript" in the dropdown list at the "Script" section of the activity



Select the script by clicking on the right pointing arrow




    • Related Articles

    • NCS v2.x - Installation and configuration procedure

      Introduction The purpose of this document is to guide you through the installation and the configuration process of Nixxis Contact Suite V2.x Application Server. 1. Prerequisites General prerequisites: The related documentation is available online ...
    • NCS v3.x - Installation and configuration procedure

      Introduction The purpose of this document is to guide you through the installation and the configuration process of Nixxis Contact Suite V3.x Application Server. 1. Prerequisites General prerequisites: Important to make sure prerequisites are ...
    • NCS v3.x - Installation and configuration procedure (EN)

      Introduction The purpose of this document is to guide you through the installation and the configuration process of Nixxis Contact Suite V3.x Application Server. 1. Prerequisites General prerequisites: Important to make sure prerequisites are ...
    • Synergy Installation Guide

      1.    Introduction  CallScripter Synergy is an intuitive Agent Scripting application designed by contact centre specialists. The application guides your agents through complex interactions using a mechanism of conversational prompts and peripheral ...
    • eScript - Nixxis_eScript.js

      Description Compatible with eScript 4.X and 10.X Works with Webview2 only. Be sure that the key is in http.config Go to ..\eScriptRun\Script\Nixxis Make a backup of existing Nixxis_eScript.js file. Download latest js: Github Repository : GitHub - ...