.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

  1. Install SQL Server 2014 (Developer Edition optional)

  2. install the "Database Engine Services" and "Management Tools - Basic" features

  3. use "NT AUTHORITY\SYSTEM" account for all services

  4. use "Mixed Mode" authentication

  5. choose a strong password for sa

  6. use "Add Current User" for SQL Server administrators

  7. 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

  8. 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

  1. Select the Default Web Site in the IIS Manager

  2. Select Bindings under the Edit Site section

  3. Click Add

    1. Type is https

    2. Port is 443 (should be automatically set)

    3. SSL Certificate: IIS Express Development Certificate

    4. 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.