.NET Development
The following sections detail the necessary setup steps to configure a local Windows 10 based development environment for developing extensibility related solutions using C# and the EngageIP assemblies.
Windows 10
Install Windows 10.
Optional - During installation select the United States for the region. The region can be changed after Windows 10 has been installed if necessary.
Other settings can be customized as desired.
Update Windows 10 installation using Windows Update.
Reboot.
C# Development IDE
For development any C# development IDE can be used. The recommended IDE is Visual Studio. There are various levels from free to paid.
The follow steps outline using Visual Studio.
Install Visual Studio. The Community Edition is located at https://www.visualstudio.com/vs/community/
Select workloads:
.NET desktop development
ASP.NET and web development
Data storage and processing
.NET Installation
Install .Net framework 3.5 with service pack 1
Install .Net framework 4.6.2
MS SQL Server
Install SQL Server 2014 (Developer Edition optional)
install the "Database Engine Services" and "Management Tools - Basic" features
use "NT AUTHORITY\SYSTEM" account for all services
use "Mixed Mode" authentication
choose a strong password for sa
use "Add Current User" for SQL Server administrators
After installation is complete, open SQL Server Configuration Manager and ensure 'Named Pipes' and 'TCP/IP' client protocols are enabled under SQL Native Client 11.0 Configuration and SQL Server Network Configuration
Create a new SQL user called ‘engageip’ with password ‘engageip’ with sysadmin role, uncheck "enforce password policy" (any user name and password can be used here – these are just examples).
IIS
In Windows 10 IIS must be manually enabled and configured.
Go to the Control Panel, then Programs, then Programs and Features.
Click on the link “Turn Windows features on or off”
Select Internet Information Services and some categories useful for development. Under the “World Wide Web Services sub category enable ASP.NET 3.5 and ASP.NET 4.7 sub categories as shown below.
Select OK
Test out the IIS installation: Go to http://localhost in a web browser.
Add SSL support
Select the Default Web Site in the IIS Manager
Select Bindings under the Edit Site section
Click Add
Type is https
Port is 443 (should be automatically set)
SSL Certificate: IIS Express Development Certificate
Click OK
Before any additional site bindings are created there will only be the default port 80 non SSL binding.
Add an SSL binding as shown below.
After the SSL site binding has been added the binding list should contain two entries as follows.
Install EngageIP Build
Execute the EngageIP build .exe file to install EngageIP. Use the defaults in the installation.
Choose the location of the installation if you need something other than the default.
Select both components to install: Web Server and Application Server
Encryption Key: Select “No Encryption key needed”.
During the first install select “Skip database upgrade”. Subsequent installations should select “Run database upgrade”.
Click Install.
Click Finish
After the EngageIP Setup application has completed it will launch a browser to a preconfigured URL to perform the next step of the installation.
Click through any security warnings about the secure website or SSL certificates. This is running against a locally created self signed certificate which causes browsers to block access by default.
Using the SQL Server user that was created above (not the ‘sa’ account) fill in the Username and Password fields in the web page. Use ‘localhost’ if the SQL Server is installed locally. Choose a name for the Database Name. The recommended default name is ‘EngageIP’. See the screen shot below.
Click Next
Click Yes when prompted to create a new database.
After clicking Yes to create a new database the setup process will take about ten minutes to progress to the next UI screen.
The installation of EngageIP is complete. Click on the “Click here” link to log into the AdminPortal. By default the username and password are both ‘admin’.
Configuring EngageIP
EngageIP uses license keys to control access to features of the product. After a new installation and whenever a license key expires a new license key will need to be loaded.
Click on the ‘Configuration’ link on the main page of the AdminPortal. Enter a valid license key in the ‘Product Key’ field and click the ‘Save’ button.
After the key has been saved the Configuration page should show the information about the product key. See the example below which enabled all features with an expiry date of 2017/11/30.
Developing Using EngageIP
Create a New Project in Visual Studio. Use Visual C#-> Windows -> Console Application.
Once the solution has been created add the necessary dll reference files from the installation directory for the AdminPortal. The default location is C:\Program Files (x86)\EngageIP\AdminPortal\bin.
The following is a sample file that can be used to verify the correct setup of a visual studio project that uses the logic.dll assembly.
using System;
using Logisense.Boss.Logic;
namespace Examples
{
class Program : IAction
{
public string Name { get { return "Sample Program"; } }
public string Description { get { return "This is a sample program"; } }
public string EventCode { get { return "User.Create"; } }
public int OwnerID { get; set; }
public void Run(ScriptContext context)
{
//Add business logic here
Console.WriteLine("Hello World!");
}
}
}
Once local solutions are compiling correctly they can be loaded into EngageIP AdminPortal. Select the Setup tab, then Custom Code link in the Extensibility section.
In the Custom Code screen perform the following tasks:
Enter a Name for the custom code being loaded. This is the name that is displayed in the list of all custom code solutions that have been loaded into EngageIP AdminPortal.
Enter a Description. The Description field is used for a longer explanation of what the loaded custom code solution is about. This is viewable in the AdminPortal UI.
Paste in the C# Custom Code from the C# file in the Visual Studio project.
Click ‘Save’.
See the screen shot below for an example.
After the Add Custom Code screen successfully saves it returns to the Custom Code page. This page will show all the previously loaded Custom Code files including the newly loaded one.