Dynamicweb 10 QuickStart Guide

This quickstart guide aims to get you up to speed with Dynamicweb 10 - as such, it will cover the most fundamental topics:

  • Downloading & Installing DW10
  • Our 3 implementation models
  • Extensibility & Customization

Once you’re done with this guide, you will be able to download and install a Dynamicweb 10 solution locally or on a server and explore how everything looks and feels, as well as some of the new capabilities.

It is, however, important to note that Dynamicweb 10 is far from done in its current state – we are continually developing the new platform and adjusting existing functionality to the new framework.

Enjoy!

This section explains how to install a clean DynamicWeb 10 solution by downloading a zipped application and using the installer to generate an empty database and files folder.

To install a clean DW10 solution:

  1. Download the DW10 application from our downloads area
  2. Open IIS Manager and right-click Sites > Add website – then configure it:
    1. Add a site name
    2. Point the physical path to the application you downloaded and extracted during step 1
    3. Give it a host name – for local installations use yoursitename.local.dynamicweb.dk or add a record to the hosts file and use that
    4. Click OK
  3. Open the solution URL in a browser – this will start the DW10 installer which will
    1. Create a Files-folder
    2. Create a database - the SQL user you’re using to create the database has sysadmin privileges
    3. Create an administrator user
  4. After the installer finishes, you’ll be asked to install a trial license; do so
  5. Once the license has been installed you can login and pay around with the DW10 demo.

If you’re looking to start developing with Dynamicweb 10 you can also use our DW10 Template Package to quickly create a project.

Requirements

You must have the following installed on the server/pc where you want to host a DW10 solution:

If you’re going to do custom development you should also install:

To install a prepackaged solution or a copy of a solution on top of a clean Dynamicweb 10 installation:

  1. Obtain the files folder and database .bacpac file from an existing solution
  2. Extract the database:
    1. Open SQL Server Management Studio
    2. Right-click on Databases node and click Import Data-tier Application
    3. Select the bacpac file and extract it
  3. Connect the application to the Files folder:
    1. Go to the application folder and open the wwwroot directory
    2. Delete the generated /Files-folder and extract the Files folder you downloaded here
  4. Connect the Files-folder to the database:
    1. Go to Files and open GlobalSettings.Database.config
    2. Locate the <Database> section and fill in:
      1. Password
      2. Username
      3. Database
      4. SQLServer
  5. Open the solution URL in a browser – you will be asked to install a trial license; do so
  6. Once the license has been installed you can login

Please note that designs for Dynamicweb 9 may not be compatible with Dynamicweb 10 without conversion, see here.

If you want to place your Files folder outside of the wwwroot-directory you can place an appsettings.json file in the root of the application folder Figure 4.1).

Edit the file and add a path to the Files-folder you want to use - don't forget to use \\ for backslash:

{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "DetailedErrors": true, "AllowedHosts": "*", "FilesPath": "x:\\path.to\\Files", }

Fundamentally, there are three implementation models on Dynamicweb 10:

  • Dynamicweb Swift
    You use Swift, our standard best-practice solution, as a starting point for creating beautiful mobile-friendly websites. This implementation model requires very little if any code-skills and we're
  • Core
    You create your own design using server side rendering and Razor-templates, either on a case-by-case basis or by building  your own standard solution. This implementation model requires some some templating skills and uses ViewModels defined by Dynamicweb.
  • Headless
    You use Dynamicweb as a place to create, maintain, and store data such as content, products and orders. You can then fetch this data using our API and build a separate app or SPA to display it – ignoring our template rendering engine completely. This approach requires the most code-skills but offers complete flexibility and freedom to built what fits the customer.

You can read more about each model below.

Dynamicweb Swift is our plug-and-play standard storefront which makes it easy to create beautiful mobile-first ecommerce websites for B2B and B2C customers with almost no coding and customization. Headline features are:

  • Mobile First
  • Lighthouse 95+ points
  • Built-in SEO
  • Visual content creation
  • AA compliance with WCAG
  • W3C validated formatting

We’re currently working hard to convert the Swift codebase to Dynamicweb 10, and will be releasing monthly DW10 updates to Swift in the coming months. Eventually, Swift will fully transition to being developed and maintained on Dynamicweb 10.

Read more about Dynamicweb Swift.

This implementation model means you create your own design using server side rendering and razor templates based on ViewModels defined by Dynamicweb.

The implementation process is largely similar to how you do it on DW9, with a couple of key differences due to the framework being updated to .NET 6:

  • @Helpers are out, as .NET 6 does not support them. You must convert your helpers to functions instead.
  • You can no longer use System.Web – which includes HttpContext. Instead you can use Dynamicweb.Context

To help you migrate your templates, we’ve built a debug-tool which converts DW9 templates to DW10 runtime, saves them, and uses the converted templates if detected.

You can find this tool under Settings > Web & Http > Http (Figure 7.1).

Please note that this is for debugging purposes only – you should of course only use this on staging environments, in preparation for a full migration of a design.

If you want to use Dynamicweb as a headless system, Dynamicweb 10 offers a much improved experience – principally due to our new management API which allows you to generate access tokens and then use our system queries and commands to fetch and manipulate data from exernal systems.

This, of course, provides you with unparalleled flexibility – you can basically retrieve data from a Dynamicweb solution and present it in any way you want, using a language or framework you are comfortable with. This opens up a lot of possibilities compared to a more traditional setup, where you are much more dependent on our rendering engine.

You can take a look at our standard queries and commands from Settings > Developer > API Explorer.

Dynamicweb 10 solutions hosted on Dynamicweb Cloud will always run a standard application – this ensures that you will always have the latest patches and fixes, which is more and more important given the rise of cyber security threats in recent years.

We will be introducing a versionless upgrade strategy with daily, monthly and quarterly upgrades.

At the technical level this is possible because the Dynamicweb 10 framework allows us to keep all customizations 100% separate from our standard application. So even though you will always be auto-upgraded to the most recent version of DW10, your customizations will not be removed – and should run as normal.

Additionally, DW10 solutions hosted on Dynamicweb Cloud will use a more modern hosting environment, which can allocate ressources on the fly to ensure the best possible performance.

A number of old and/or problematic features have been deprecated in Dynamicweb 10. Most of these features have been deprecated for new solutions for years, but are only now being removed from the codebase.

Feature

Reason

Replacement

News v2

Really old

Items

Content personalization

Not used much

None

Leads

Not used much

Use external tools

Maps

Deprecated Google API use

Items

Statv2Session

Really old

Tracking

SMS

Not used

None

RemoteHttp

Really really old

Items

UI features like Page reporting, SEO Express, etc.

Not used much

None

Sales Discounts

Really old

Discount matrix

Related product providers

Really old

Lucene queries

Additionally, the following providers have been deprecated – usually for technical reasons.

Provider

Reason

Replacement

ImageGlue

Dependent on Windows GDI+

ImageSharp

AbcPdf

Dependent on Windows GDI+

IronPdf

External login providers (Facebook, Azure, OKTA, Oauth)

Deprecated auth platform

New implementations

Dashboards

Dependent on DW9 UI

New DW10 UI

Checkout Handlers (Authorize, Beanstream, Old Klarna)

Dependent on 3rd party .NET 4 components

Use new versions

Dynamicweb.SmartSearch.Providers.Lucene​

Dependent on 3rd party .NET 4 components

Lucene4

Live Integration ribbonbar add-in

Dependent on DW9 UI

New DW10 UI

Editor providers

Dependent on DW9 UI

New DW10 UI

SmartSearch

Dependent on 3rd party .NET 4 components

N/A

SalesDiscount providers

Deprecated feature

Discount matrix

Here is a collection of frequently asked questions regarding Dynamicweb 10:

  • DW10 won't start
    The most common reasons for the Dynamicweb 10 application not starting are:
    • You didn't read the requirements and haven't installed .NET 7
    • The path to the files folder in the appsettings.json-file does not exist or does not use \\ to denote backslashes
    • There is no "wwwroot" folder in the application folder