Dynamicweb 9.12

Release date: August 31st 2021

Dynamicweb 9.12 is a transitional release focused on improving and stabilizing existing features while preparing the codebase in anticipation of Dynamicweb 10.

As of Dynamicweb 9.12 (Autumn 2021), the minimum required server software is MS Windows Server 2016 (x64). If you're running DW9.12+ on an older version of Windows Server you must manually remove the property removeserverheader = true from the web.config of the solution.

In the 9.12 release, we have continued developing new features for OData. The release features an extension of the data types processable by Odata, as well as measures for making it easier for developers to identify problems in the setup and address possible issues.

The new integration features for 9.12 include:  

  • Support for custom APIs
    As of this release you can use both the OData V4 and OData API from the Endpoint provider and the OData provider. This means that you can use both the predefined object types from Business Central (OData V4), as well as manually defined mappings between any exposed OData source and any entity in the Dynamicweb database. All this can be done with only one Endpoint defined in the Endpoint Management, which can then be configured within the “Entity set name” inside the Endpoint Provider settings in the activity. This allow a single endpoint to be used with a variety of different integration activities.
  • New ‘Price’ object type
    A new Price object type makes it easier to import prices from ERP systems to Dynamicweb. Currently supports “Sales Prices” from Business Central. Since the DW and BC price models are similar no special configuration is needed for this object type.
  • New ‘Discount’ object type
    We now support different modes when importing discounts. You can either merge discounts with the same quantity, discount, and user to a single discount in Dynamicweb which will then apply to multiple product – or you can choose to keep discounts unmerged, so you have individual discount records for each product and user. We currently only supports “Sales line discounts” from Business Central.
  • HighWaterMark implemented
    As of this release, a HighWaterMark-file is automatically generated whenever an Odata integration activity encounters an error. This file is used to store the current state of an import alongside the part of the response not yet processed, so the import can resume from where it failed. Since the endpoint provider iterates over each exposed object of an endpoint, it will store all records up until an error in the database, and the remaining records in the file. The next time the import is run it will call the HighWaterMark file instead of the endpoint.
  • Process last response
    When using OData to do imports and an error occurs, it can be difficult to figure out what’s causing the error, since you may receive different responses from the Endpoint each timeyou run the import. In that case, you can’t be sure that the data causing the problem is still available in the source the next time you call the Endpoint.
    To ease the debugging process we have implemented a new functionality in the Endpoint provider that will automatically store the last response received from the Endpoint. We have also added an option on the Endpoint provider to use the saved response instead of calling the Endpoint. This makes it possible to work on the same data repeatedly, which can be beneficial both in a setup phase and when debugging.

Several important PIM features have been improved and streamlined:

  • Use GDSN/GS1 product data to enrich products automatically from a central store - by  being able to enrich product data automatically, PIM owners can save a lot of time, increase quality in their data and by that give better product experiences.
  • Products can now be translated using Google translate to further save time
  • Editing, workflow, widgets etc. has received a number of improvements to increase editing performance to save time managing product data.
  • PIM Import and export features has received a lot of love and now makes the work with data in e.g. Excel more smooth

Ecommerce has seen several important improvements, although mainly under the hood:

  • New features in the new customer center module, the product catalog for viewmodels, as well as several new and improved viewmodels for better rendering
  • Pricing has been refactored to support customer prices in feeds and headless endpoints - and as a side effect it also has better performance
  • Discount calculation can now be taken over in custom projects making it possible to do whatever you want.
  • Ecommerce providers have been updated, GLS updated to version 4 supporting multiple countries, Epay upgrade and partial capture support, and other minor updates.

Our WebAPI has been improved as a part of our continued effort to support a headless experience:

  • Support for creating and managing carts
  • Create and update users, handle logins and reset passwords
  • Support for grid based content in the content endpoints - returns a grid with content ordered in rows and columns to use to render the design
  • More product information available on products endpoint
  • Support for customer-specific prices
  • Get translation keys normally used in templates in and endpoint for localizing your headless implemenation
  • Get shipping and payment methods
  • Content endpoints now respect permissions
  • Several new endpoints added

As always, you can check out the WebAPI available on your solution by navigating to www.yoursolutionurl.com/dwapi/docs in frontend - don’t forget to upgrade to 9.12, though 😉

On the Content area this release includes various UX improvements to the Visual Editor

For Marketing, this release brings includes improvements to Reports & Dashboards:

  • A new standard-report showing new & repeat customers over time
  • Added option to filter reports by shop

At the platform level we’ve focused on technical maintenance and improvements:

  • Security improvements, http modernisations, performance improvements, support for brottli  (a new, fast and better) compression of responses. All this makes solutions faster, perform better in SEO and gives more speedy websites
  • Minimize has a new algorithm
  • The Indexing engine has a number of improvements - new and updated analyzers, better spell check, better recovery and improved performance
  • All very boring but required to be current and up to date 😊

In addition, considerable ressources have been devoted to converting core parts of the system to .NET Standard:

  • More than 60 providers – i.e. all integration providers, most payment providers, etc.
  • Extensive refactoring of Dynamicweb and Dynamicweb Ecommerce – including business critical systems such as Prices, Discounts, and more.