Install Sana Commerce Webshop on Web and Database Server

Open 'Install Sana Commerce Webshop on Web and Database Server' wizard, choose your solution and scenario to see more provider-related information.

Configure the Connection Strings

Now you have to configure the Sana Commerce frontend and backoffice web applications, so they can connect to the data stores:
 
Step 1: Open the 'web.config' file of the Sana Commerce frontend.

Step 2: Locate the <connectionStrings> configuration section:

<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="IndexDirectory" connectionString="IndexDirectoryFolder"/>
<add name="LocalSqlServer" connectionString="Server=ServerName\InstanceName;initial catalog=DatabaseName;User Id=Username;Password=Password;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient"/>
<add name="AxWebService" connectionString=
"EndPointConfigurationName=AX;UserName=UserName;Password=Password;Domain=Domain;"/>
<add name="NavisionStandardService" connectionString="NavisionServiceUrl" providerName="Nav2013"/>
</connectionStrings>

Step 3: Delete the following line:

<add name="AxWebService" connectionString=
"EndPointConfigurationName=AX;UserName=UserName;Password=Password;Domain=Domain;"/>

Step 4: Replace the 'NAVISIONSERVICEURL' value with the a service URL in the following format:

#PROTOCOL#://#SERVERNAME#:#PORT#/#NAVINSTANCENAME#/WS/#COMPANYNAME#/Codeunit/SC_NAV_WebService

where:
#PROTOCOL#: the protocol which is used to connect to the Microsoft Dynamics NAV 2013 service (HTTP or HTTPS).
#SERVERNAME#: the name or IP address of the developer workstation running the NAV 2013 Server service.
#PORT#: the port number to which the Sana Commerce NAV service is listening.
#NAVINSTANCENAME#: Microsoft Dynamics NAV 2013 service instance name.
#COMPANYNAME#: The name of the company in Microsoft Dynamics NAV 2013 database.

If you need to specify the user who will be connected to the NAV Web service do the following:

  • The connectionString attribute in the connectionStrings section can be extended with additional information about UserName, Domain, and Password.
  • Now it is possible to specify Timeout for the connection. If this parameter is not specified, the default value (60 sec) will be used.
  • These additional parameters and their values must be separated by semicolon.
Below you can see an example of the extended connection string for Microsoft Dynamics NAV 2013 Web service:
connectionString="Url=http://domain.com:7047/DynamicsNAV/WS/CompanyName/Codeunit/SC_NAV_WebService; UserName=YourUserName;Password=YourPassword;Domain=YOURDOMAIN;Timeout=100"

The additional parameters are optional. The "classic" version of connection string (without specifying any additional parameters) is also supported:

connectionString="http://domain.com:7047/DynamicsNAV/WS/CompanyName/Codeunit/SC_NAV_WebService"

Step 5: Replace the following values:

#INDEXDIRECTORYFOLDER#: The path to the folder where the index files are stored.
#SERVERNAME\INSTANCENAME#: Database server name or IP address of the SQL database server and optionally the SQL server instance name. 
#DATABASENAME#: Name of the SQL database used in 'Setup the SQL Database'.
#USERNAME#: Database username used in 'Setup the SQL Database'.
#PASSWORD#: Password of the database user.

Step 6: Open the 'web.config' file of the Sana Commerce backoffice.

Step 7: Locate the <appSettings> configuration section:

<appSettings>
     <add key="FrontendUrl" value="ShopUrl"/>
     <add key="FrontendPath" value="PhysicalPathToFrontendFolder"/>
     <add key="FrontendContentPath" value="PhysicalPathToFrontendFolder\content\files"/>
     <add key="FrontendThumbnailPath" value="/content/files/images/ProductImages/Small/"/>
</appSettings>
More detailed information about frontend and frontend content paths can be found here.

Step 8: Replace the #FRONTENDURL# value, which should have the following form:

"#PROTOCOL#://#WEBSITEDOMAINNAME#:#PORT#"

where:
#PROTOCOL#: the protocol which is used for connecting to the SC website (HTTP or HTTPS).
#WEBSITEDOMANINAME#: the website address that is registered in the DNS servers of your network.
#PORT# (optional): the port number when it is not the default HTTP port number (80).

Attribute 'FrontendThumbnailPath' specifies the path to the folder which is used for storing the product images.
Attribute 'FrontendContentPath' specifies the folder which is used for storing the content files.

If your webshop and backoffice have different domains you should create the 'images' virtual directory in the 'BackOffice' website in IIS with the path to the original 'images' directory in the 'StarterSite' website. This is done in order for HTML editor in backoffice to manage the content images correctly.

'Images' Virtual Directory in the 'Backoffice' Website in IIS

Step 9: Locate the <connectionStrings> configuration section:

<connectionStrings>
<clear/>
<add name="IndexDirectory" connectionString="IndexDirectoryFolder"/>
<add name="LocalSqlServer" connectionString="Server=ServerName\InstanceName;initial catalog=DatabaseName;User Id=Username;Password=Password;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient"/>
<add name="AxWebService" connectionString=
"EndPointConfigurationName=AX;UserName=UserName;Password=Password;Domain=Domain;"/>
<add name="NavStandardService" connectionString="NavisionServiceUrl" providerName="Nav2013"/>
</connectionStrings>

Step 10: Delete the following line:

<add name="AxWebService" connectionString=
"EndPointConfigurationName=AX;UserName=UserName;Password=Password;Domain=Domain;"/>

Step 11: Replace the following values:

#INDEXDIRECTORYFOLDER#: The path to the folder where the index files are stored.
#SERVERNAME\INSTANCENAME#: Database server name or IP address of the SQL database server and optionally the SQL server instance name.
#DATABASENAME#: Name of the SQL database used in 'Setup the SQL Database'.
#USERNAME#: Database username used in 'Setup the SQL Database'.
#PASSWORD#: Password of the database user.
#NAVISIONSERVICEURL#: This value has the following form:
#PROTOCOL#://#SERVERNAME#:#PORT#/#NAVINSTANCENAME#/WS/#COMPANYNAME#/Codeunit/SC_NAV_WebService

where:
#PROTOCOL#: the protocol which is used to connect to the Microsoft Dynamics NAV 2013 service (HTTP or HTTPS).
#SERVERNAME#: the name or IP address of the developer workstation running the Microsoft Dynamics NAV 2013 Server service.
#PORT#: the port number to which the Sana Commerce NAV service is listening.
#NAVINSTANCENAME#: Microsoft Dynamics NAV 2013 service instance name.
#COMPANYNAME#: The name of the company in Microsoft Dynamics NAV 2013 database.

You can find more information about different SQL connection strings here: http://connectionstrings.com/sql-server-2005.