​​

Simflofy offers a platform to connect multiple systems together via one simple interface. This federated approach allows organizations to connect data and content from line of business systems such as Salesforce and SAP, from Office productivity tools such as Microsoft Outlook and Google Drive, and from enterprise content management (ECM) systems such as IBM FileNet, Nuxeo, Alfresco, and OpenText Documentum. 

In order to gain access to these systems, Simflofy requires a content connector, and when developing a new content connector, it’s essential to set up a test environment.

This blog uses the Microsoft Dataverse connector from Simflofy as an example for users looking to build custom business apps without the need for additional integration.

Creating a Microsoft Dynamics Connector

While developing the Microsoft Dataverse connector, we needed to identify an application that leveraged the Dataverse web API and was accessible enough to provide a practical use case. We selected Microsoft Dynamics, which is part of the MS Office 365 cloud suite but has a local instance to offer greater flexibility when testing. While Microsoft Dynamics 365 has its own on-premise versions, these versions leverage the same web API as most Microsoft Dataverse applications.   

Pre-requisites to Host Microsoft Dynamics

Before you can configure your local test version, you need to make sure you or your team of developers have the following prerequisites: 

Getting Started with Microsoft Dynamics 365

Performing a full setup for a Microsoft Dynamics 365 on-premise instance can be time-consuming and complicated if done manually. Thankfully there are a plethora of tools available that can make provisioning Virtual Machines (VMs) for VirtualBox and setting everything up a lot easier.

To get started, make sure you have all the tools mentioned above in the prerequisites section. To save significant time, Malaker has created a set of scripts and Vagrantfile to simplify the initial set-up phase. At this point, you can sign in to Github and download their repository, then move the ISO and MSI file into the directory with all of the scripts.

Note: Some download links may have changed — if so, you will need to first edit a few scripts in order to ensure a successful implementation.

Familiarize Yourself with the Files

Here is a brief overview of the different files you will have to work with:

  • ConfigurationFile2016.ini - This is the configuration file for the SQL Server installation and provides all the default values required for an install without going through a UI.
  • Vagrantfile - This is the file that vagrant uses in order to partition the VMs. It provides configuration for VirtualBox and does some basic setup for you. The controller node being the AD and Domain Service, and node1 being the node where Dynamics and SQL are installed.
  • crmconfig.xml - This is one of the configuration files for the Dynamics 365 installation.
  • crmssrsconfig.xml - This is another of the configuration files for the Dynamics 365 installation.
  • ctrl_prov_ADDomainServiceInstallation.ps1 - This powershell script installs and sets up AD Domain Services.
  • ctrl_prov_ad_config.ps1 - This powershell script provisions the AD users and groups within the service.
  • node1_joiningToDomain.ps1 - This powershell script joins the node1 node to the domain set up in the controller node.
  • install-iis-features.ps1 - This powershell script installs the IIS features required by Dynamics 365.
  • install-sql-tools-and-choco.ps1 - This powershell script installs Chocolatey, a powershell package manager, that’s used to install other SQL tools, as well as triggers the sqlInstallation.ps1 script and installs the SMO MSI file.
  • sqlInstallation.ps1 - This powershell script installs the SQL Server ISO file.
  • ssrs-auto-configuration.ps1 - This powershell script configures the SSRS for Dynamics 365.
  • extract-crm-setup.ps1 - This powershell script performs the extraction/execution of the Dynamics 365 installer that extracts the Dynamics 365 setup files.
  • install-crm.ps1 - This powershell script performs the installation and setup of Dynamics 365.

Initial Modifications

First, as the readme of the repository suggests, you’ll need to rename the SQL Server ISO file to just sql.iso.

Vagrantfile - under the line:

controller.vm.box = “jacqinthebox/windowsserver2016”

we’ll add

controller.vm.hostname = "vagrant-2016"
controller.vm.provider "virtualbox" do |vb|
vb.name = "controller"
End

These changes are for convenience, more than anything, and don’t necessarily execute any fixes.

install-sql-tools-and-choco.ps1 - In this file it’s easier to say we’ll do a replace of everything between

# Your script here
and
Exit 0
We’ll replace it with this:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation
choco feature enable -n=useRememberedArgumentsForUpgrades
New-Item C:\office\ -ItemType Directory
Copy-Item C:\vagrant\*.iso C:\office\
Copy-Item C:\vagrant\*.ini C:\office\
Mount-DiskImage -ImagePath C:\office\sql.iso
Write-Host "Images mounted"
& C:\vagrant\sqlInstallation.ps1
choco install sql-server-management-studio --version=13.0.16106.4
choco install sql2016-clrtypes
Write-Host "Now installing SMO"
New-Item -ItemType File -Path C:\Logs\smoinstalllog.txt
Copy-Item C:\vagrant\*.msi C:\office\
C:\office\SharedManagementObjects.msi /qn /norestart /L*v C:\Logs\smoinstalllog.txt
Write-Host "Done installing SMO"

The changes here include an adjustment to how Chocolatey gets installed, specifying a specific 2016 version of the management studio, and installing the Shared Management Objects manually. This is an important detail, as the SMO file version that the chocolatey package automatically attempts to download no longer exists.

extract-crm-setup.ps1 - In this file we’ll add:

$logExists = test-path C:\Logs\log1.txt
if($logExists -eq $false){
New-Item -ItemType file -Path C:\Logs\log1.txt
}

Above the line:

New-Item -ItemType directory -Path C:\crmsetup -Force

This change ensures the log file/directory actually exists before any attempts are made to write to it, and prevents an error message from popping up while the VM is provisioning.

Running MS Dynamics for the First Time

Once you’ve made the changes, you’re ready to activate the instance. 

Simply run the command:

vagrant up controller

Once that returns, follow it up with:

vagrant up node1

That will start the process of creating the VMs and installing everything for you. As mentioned in the readme, if you run into any issues or want to start over after making some of your own customizations, you can simply use the command:

vagrant destroy

If everything worked you should be able to login to node1 with the credentials you may have already spotted in the files:

Username: kb
Password: zaq1@WSX

Now, if you go to http://localhost:5555, you should see the Dynamics 365 Dashboard appear

If you’d like to be able to access the platform outside of the VirtualBox VM, you may want to consider shutting down node1 through VirtualBox and adding a new network adapter.

Your Microsoft Dynamics Content Connector is Ready For Action

Congratulations — you’ve officially configured a local instance of Microsoft Dynamics 365, part of the Microsoft Office 365 cloud suite. Your platform is primed for action and you are now ready to begin building intelligent, custom business applications that can offer data integration, data migration, discovery, powerful search, and comprehensive document management and ECM capabilities using Simflofy. 

Thanks for reading, and we hope this tutorial helps you Simflofy your day.


MS Dynamics is just the start. 

Simflofy provides over 40 pre-built content and data connectors for a range of systems including Dropbox, Salesforce, Google Drive, iManage, SharePoint, and more.

 

Learn More