InstallationSingle Server Deployment

Single Server Deployment

Configure Websites, Domains, Languages

Websites Configuration

Out of the box, one website is configured in the 'sites' section of the 'web.config' files and it is set as a default site. To configure the websites:

  • Open the 'web.config' file of the Sana Commerce Starter Site project in any text editor;
    (do the same for the 'web.config' file of the 'Sana.Commerce.BackOffice' project)
  • Locate the 'sites' section in the 'sanaCommerce' configuration section and set the necessary values:
<sites defaultsite="Demoshop" contentProvider="SanaSqlContentProvider" SendMailToReportAddress="false" ReportAddress="YourEmail">
<site code="Demoshop" shopType="B2X">
            <provider name="CatalogProvider">NavisionStandardCatalogProvider</provider>
            <provider name="OrderProvider">NavisionStandardOrderProvider</provider>
            <provider name="ShopProvider">SanaSqlShopProvider</provider>
            <provider name="CustomerProvider">NavisionStandardCustomerProvider</provider>
            <provider name="CommonProvider">NavisionStandardCommonProvider</provider>

The table below provides the description of all website parameters:

Parameter Description
defaultsite Points to the webshop that is used by default when no webshop is registered on the requested domain name.
contentProvider Defines which content provider is used for all webshops.
SendMailToReportAddress If 'SendMailToReportAddress' is set to 'true', all e-mail messages will be sent to the e-mail address that has been specified in the 'ReportAddress' attribute. This field is used for testing purposes in the dev or beta environments: it makes sure no e-mail is sent to real customer e-mail addresses. Please note that the 'ReportAddress' attribute is the required field even if the option is not used!
code Stores the name of the webshop and can be changed to an appropriate name for your project. This attribute is linked to the similar code record stored in the 'Websites' table in the Sana Commerce SQL database.

Defines the type of the business scenario that is supported by the webshop:

  • B2B - a general 'business to business' scenario. When the webshop is set as B2B, a customer cannot register on the webshop, change customer details, view the shop catalog anonymously or use different payment methods;
  • B2X - a 'business to business' scenario combined with a 'business to customer' scenario. When the webshop is set as B2X, a customer is free from all the restrictions of the B2B scenario;
  • B2C - A general 'business to customer' scenario. When the webshop is set as B2C, a customer is free from all the restrictions of the B2B scenario.
providers Defines the particular providers for each subsystem of the webshop. By default you can not change the provider name (attribute 'name'). This can be only when the new managers are added or when the existing framework functionality is overridden.

An important value in the 'sites' configuration section is the value in the code attribute of the site node. This value, in this case 'Demoshop', refers to a record in table 'Websites' in the Sana Commerce SQL database. When you have changed the website name in 'web.config', you also have to change this name in this 'Websites' table as well: 

The 'Websites' Table 

The presentation of the address information on the Starter Site differs for the SQL Provider and NAV Connector webshops. The address information in the webshop is specified during the registration process and also available on the 'Your details', 'Prospect details' pages and on the second step of the checkout process, when a customer needs to specify the address the order should be delivered to.

In case of using Sana Commerce - NAV Connecter with a B2X scenario you need to change the presentation of the address information for the correct data mapping. It can be performed by changing the default value of the 'DetailedAddress' parameter specified in the 'Settings' table of the Sana Commerce SQL database.
Default value: True

To change the default value of the 'DetailedAddress' parameter a SQL script should be executed on the Sana Commerce database:

  • Before executing the script specify the website ID in the script:
    UPDATE Settings
          SET Fields = REPLACE(CONVERT(nvarchar(MAX), Fields),
          '<field name="DetailedAddress" type="System.Boolean, mscorlib"><boolean>true</boolean></field>',
          '<field name="DetailedAddress" type="System.Boolean, mscorlib"><boolean>false</boolean></field>')
          WHERE Id = 'YourWebSiteId'
  • When the website ID is specified, execute the SQL script on the Sana Commerce database.

The SQL script will change the default value of the 'DetailedAddress' parameter to 'False' and the presentation of the address information on the Starter Site will correspond to the address fields used in NAV.

Domains Configuration

Now you have to specify on which domains the website will be running. This can be done in the 'WebsiteDomains' table. Open this table in the 'SQL Management Studio' and add records for all domains on which the website should run: 

The 'WebsiteDomains' Table 

This is done by creating a record in the 'WebsiteDomains' table: enter the website ID in the 'WebsiteId' column (it is taken from the 'Id' column in the 'Websites' table) and the domain name in the 'Domain' column. To configure the default website domain set the 'True' value in the 'IsDefault' column.

There is no need to add port numbers here, since Sana Commerce only checks the domain name and the virtual directory and not the port number. As stated earlier, it is also possible to run a Sana Commerce web application on a virtual directory: you just enter the domain name\virtual directory.

In order to add an additional web domain or a website, please read this section.

Languages Configuration

Sana Commerce also supports multi-language per website. This can be configured in the 'WebsiteLanguages' table, which is a link table between the table 'Websites' and the table 'Languages'. Out of the box, Sana Commerce comes with two languages: Dutch and English. These languages are specified in the 'Languages' table:

The 'Languages' Table 

ID The Windows Code Page Id of the Language
DisplayName: The name of the language that will be shown in the 'Language' dropdown in the frontend.
IsDefault: A Boolean value indicating if the language is used as the default language in the backoffice.

In order to add additional languages for a website, open the 'WebsiteLanguages' table and add extra records here:

The 'WebsiteLanguages' Table 

When the languages are in place in the 'WebsiteLanguages' table, you add the relations between the websites and the languages. To specify the default language for the frontend, open the 'Websites' table again and set the 'LanguageId' of the default language in the 'defaultLanguageId' field.

General configuration of a website is done in the Sana Commerce backoffice. Please follow this link for more information.

InstallationSingle Server Deployment