Dynamicweb 9.7

Release date: August 28th 2019

Dynamicweb 9.7 requires .NET Framework 4.7.2. This is a necessary step towards making the application .NET Core compatible. Please ensure all self-hosted solutions have .NET 4.7.2 installed before upgrading to DW 9.7.

AbcPDF has been replaced by IronPDF - please read the important notes here

Dynamicweb 9.7 has been released with the following headline features:

Dynamicweb PIM has been improved with several new features and quality-of-life improvements to existing functionality:

  • A new kind of product category field – Reference fields – can be reused across multiple product categories. This makes it possible to create frontend filters which function across product categories, and the field type can also act as a data destination on integrated solutions.
  • Image management has been overhauled, making it much easier and more intuitive to work with images and image categories inside a product family
  • Channel & Feed UI has been overhauled, and you can now include/exclude custom fields. A new XML provider for feeds is available – it allows you to use XSLT to transform feed data before it is published.
  • The Bulk-edit tool has been improved – you can now select which variants to include, search for products, and more.
  • A new editor-friendly feature to import product data from an Excel sheet will be released in a coming patch
  • Prices, Stock, Discounts & VAT group assignment can now be handled directly in PIM instead of via Ecommerce
  • A set of keyboard shortcuts – e.g. Ctrl-S to save and Ctrl-Shift-S to save and close – make for a more pleasant editor experience when working with PIM data.
  • The Combine tool can now extract all products from a product family at once
  • Improvements to stability and performance

On the Content front we’ve released a new tool called SEO Optimize which can help you with search engine optimization – this replaces the deprecated SEO Express module. We’ve also made it possible to set website-specific Auto templates in Forms for Editors, making it much easier to localize form templates. Sending user information via user management has been improved with new default settings and a better flow. The Datalists app now supports downloading data in CSV/Excel format.

In Ecommerce we have the following noteworthy changes:

  • Inline payment as a part of the checkout flow is now possible. A new checkout handler – DIBS Easy – has been released to expand support for this feature (Stripe also works).
  • A Klarna Checkout v3 checkout handler is now available as a BETA release.
  • Shipping methods can now be limited to only be shown a subset of your users, a feature which makes it much easier to create B2A setups.
  • A new image pattern model is introduced for more flexible and much faster image detection to better support variants. Custom fields can now also be used as variables in image patterns.
  • The product catalog can now use group-sorting in frontend when in a group context and using index-based queries to publish products.
  • A new URL provider for Ecommerce groups, products and variants is available giving much better control over ecommerce related URLs. Place Group and Product links in root of the URL tree, avoid duplicate nodes in the tree and the -1 problem and much more.
  • The management of countries, payments, shipping and discounts have been improved.
  • New standard product fields - EAN, Width, Height, Depth, and Never out of stock

Looking to upgrade? Consult the bug fixes list before upgrade.

At the platform level we’ve also made several exciting changes:

  • You can now create multiple dashboards under each area – this makes it easier to create shared team- and task-oriented workspaces, management-only workspaces.
  • A new URLProvider concept has been introduced making it possible to create your own URL providers with a high level of control.
  • Security has been enhanced and Dynamicweb now supports a number of http security headers.
  • You can now add custom mappings for Latin character normalization.
  • A new mobile app for Android and iOS showing dashboards from a Dynamicweb solution will soon be released. This makes it possible to follow e.g. Ecommerce performance, PIM status, Integration jobs, and much more.

The Permissions model now supports inheritance from area buttons – Content, Files, Users, Ecommerce, PIM, Marketing, Apps & Monitoring – to underlying trees and content. The exception to this is the settings tree, where permissions are only inherited to tree nodes but not to underlying data (which includes e.g. Ecommerce languages, indexes, and so on – stuff which should be available to editors elsewhere on a solution.)

The Indexing framework has been updated with several quality-of-life improvements.

  • Facets can now be sorted via drag & drop.
  • Facets can now be dependent on other facets, so they only show up if another facet (or parameter) has been set – this makes it possible to build cascading filters.
  • Facets can now be limited at the product group level, leaving out facets from specific groups
  • You can now generate facets dynamically based on URL parameters.
  • Query expressions can now be sorted via drag & drop – and disabled/enabled with a single click, making it much easier to test how a query behaves in frontend without constantly deleting/creating expressions.
  • The UserIndexBuilder now supports partial rebuilds.
  • The ProductIndexSchemaExtender now contains product group sorting information
  • Auto-updates to a product index are now also triggered by adding related products.

When it comes to Integration, the Dynamicweb 9.7 release has a special focus on Dynamics 365 Business Central and on aligning pricing and discount functionality between Dynamicweb and Dynamics 365 Business Central. We have also made sure that new features are backward compatible with older versions of Dynamics NAV.

Dynamicweb customers and partners can now decide which system controls which functionality. It is for instance possible to let NAV control product and invoice discounts, while Dynamicweb controls shipping fee calculation – or vice versa if Dynamicweb’s more advanced product discounts are needed (e.g. Buy one, get one free). This is primarily to support the use case where marketing departments drive Ecommerce efforts through online campaigns and discounts, but have limited capabilities to add discounts to their ERP system which is traditionally governed by finance departments. Now marketing employees can define discounts in Dynamicweb All-In-One Platform and rest assured that Dynamicweb will apply the discounts to NAV sales orders automatically.

To support Dynamics 365 Business Central, Dynamicweb’s underlying technology has changed a lot. This is important to note for Dynamicweb partners, solution architects and ERP partners. The method and effort involved in deploying extensions to Dynamics 365 Business Central have undergone major changes by Microsoft.

For this reason, the integration team at Dynamicweb has aligned to Microsoft’s best practices and have made our Plug-In Unit for Dynamics 365 Business Central available on Microsoft’s marketplace AppSource. This is a validation of our efforts and it means all Dynamicweb partners and ERP partners will have a high starting point if they choose our Plug-In Unit when integrating with Dynamics 365 Business Central and NAV.

Feature list:

Batch Integration:

  • Ability to import multiple NAV contacts per NAV customer
  • Ability to import all relevant NAV addresses per NAV contact (ship-to, alternative, personal addresses)
  • Ability to import NAV salespeople
  • Ability to import NAV contacts per salesperson
  • Ability to import NAV item categories as product groups
  • Ability to import NAV item attributes as (read only) product properties
  • Ability to do paged import of NAV items (products)
  • Ability to import NAV inventory locations
  • Ability to import inventory per product per location
  • Ability to import NAV item and item category translations corresponding to language codes in Dynamicweb All-In-One Platform

Live Integration:

  • Discounts & Shipping fees can be handled on either side of the integration (D365 BC/NAV) – Dynamicweb product discounts are applied to NAV sales orders without any customization
  • A new tag for showing connection status in frontend is available
  • Ability to get NAV sales orders, invoices or credit memos as NAV-generated PDF stream
  • Ability to do paged requests of list of sales orders, invoices or credit memos. This improves user-perceived performance in frontend
  • Ability to request NAV customer statements as PDF stream
  • Ability to define which NAV customer to use as B2C customer. NAV sales line discounts, NAV invoice discounts and NAV special prices will apply to all B2C customers.

Frontend & UI:

  • Ability for users to login with their NAV contact details and select any relevant NAV address as a ship-to destination
  • Ability for salespeople to login with their NAV details and impersonate any associated NAV contact/customer
  • Ability for users to view orders, invoices or credit memos as NAV PDF

Deployment/Availability:

  • Plug-In Unit available as separate code units for Dynamics NAV 2013, 2015, 2017 and 2018.
  • Plug-In Unit for Dynamics 365 Business Central available on Microsoft AppSource
  • Plug-In Unit for Dynamics 365 Finance and Operations now supports latest version of D365FO (v10)
  • Following Microsoft’s best practices, the Plug-In Unit for Dynamics 365 Business Central is now an extension and based on Application Language (AL) code.

Dynamicweb 9.7 requires .NET Framework 4.7.2. This is a necessary step towards making the application .NET Core compatible. Please ensure all self-hosted solutions have .NET 4.7.2 installed before upgrading to DW 9.7.

The following technical changes should be noted:

  • AbcPDF has been replaced by IronPDF which means that custom code using AbcPDF directly will no longer work. IronPDF uses Chrome as rendering engine compared to Internet Explorer in AbcPdf. This means that pdf-specific templates can break with this upgrade
  • ImageGlue component upgraded from version 7.3 to 7.5
  • Removed most dependencies on Newtonsoft.json (work in progress)
  • Performance:
    • Improvements to user groups based on smart searches
    • Made many projects context independent
    • Converted many projects to a service-repository based model
    • Index build logging is less insane (all errors per run in one file vs a separate file per error)
  • Process for converting to .NET Core initiated – this requires .NET 4.7.2 on the hosting environments
  • Conversion of application stack from VB to C# continues
  • ViewModels are now better supported, especially in Ecommerce-related templates
  • New custom URL provider

Obsoleted & Deleted features

The following Ecommerce namespaces have been deleted:

  • Integration/C5
  • Orders/Affiliate
  • XmlGroups
The following Ecommerce namespaces have been obsoleted:
  • Analytics
  • All collections
  • Statistics
  • StockGroupCollection
  • StockStatusCollection
  • StockLocationCollection
  • StockStatusLanguageValueCollection
  • StockStatusLineCollection
  • StockUnitCollection
  • Gatewayprovider
  • Data List download tag
    Apps\Data Lists
    New tag in Data List to download the entire data list in CSV/Excel (considering the request parameters) The tag should take into consideration the entire querystring parameters (except for the page number) and force the download of the csv/excel file. Querystring parameters New optional parameter: fileName --> the filename to be used for download New optional parameter: hideHeaders --> if true the first row should not have the column headers Disregarded parameter: DWPagingPageNum --> the download should return all rows, so the page number can be disregarded All other parameters: All other parameters should work normally, since they will act on filtering and sorting of the datalist
  • Make it possible to control the auto template for each language/area
    Apps\Forms for editors
  • Add password to autovalues in forms for editors
    Apps\Forms for editors
  • Allow all types of fields for autovalue
    Apps\Forms for editors
    All field types are now support as autovalues in Forms for Editros
  • Add support for rich text editor
    Apps\Forms for editors
  • Make it possible to delete multiple submits from the list
    Apps\Forms for editors
  • Make export to excel from submit list create a real excel sheet.
    Apps\Forms for editors
  • Find out all conversion problems for Dynamicweb.Analytics
    Cleanup and refac
  • Make changes to the Dynamicweb.EmailMarketing (and other related projects) for its conversion to C#
    Cleanup and refac
  • Make changes to the Dynamicweb.FilePublisher for its conversion to C#
    Cleanup and refac
  • Convert VB projects to C# - Level 2
    Cleanup and refac\API Refactoring
  • Deprecate "Add product count to each group" in Management Center
    Cleanup and refac\Performance
    "Add product count to each group" in Management Center setting in mgmt center has been forced to false on all solutions as it's a performance killer
  • List view on pages should support more than on custom column list
    Content
  • Missing adornments in sub pages lists
    Content
  • Item publisher: Filter date fields on 'is empty' and 'is not empty'
    Content\Item Publisher
  • Item type usage when it's used in named item list
    Content\Items
  • Add debugging to rendering of item types to debug=true
    Content\Items
    Added debugging to rendering of item types to debug=true
  • Page property items not yet under language management
    Content\Language Management
  • Remember sort state for list subpages
    Content\Page Tree
  • Permission settings dialog should be able to refresh whatever youre setting permissions for
    Content\Permissions
  • Changes to the SEO tool
    Content\SEO Express
  • Add the option to add noindex and nofollow on website like we can on pages
    Content\Websites
  • Remove the execution of Paymethods loop if it is not present
    Ecommerce
    Removed the execution of Paymethods loop if it is not present
  • Make Smartsearches in Marketing sort by name
    Ecommerce
  • Make the new image patterns work with Rapido
    Ecommerce
    In Ecommerce settings - Advanced - Images - you have 3 new checkboxes (#1-3): (0) Deprecate Small, medium, large ) 1) Use improved Image Patterns [this also enables #0] 2) Use caching with improved Image Patterns 3) Use compatability mode with improved Image Patterns Notice: Improved image patterns only works for patterns setup in shop edit. When you select #1 then #0 is also selected which hides S/M/L and hide image patterns at product catalog and cart. 2+3 are only working with 1. 1) Does this: - Obsoletes old ImageSmall, ImageMedium, ImageLarge image tags - Obsoletes Alt_x.Default tags (only Alt. clean image tags are rendered) - Renders new image tags instead of Small, Medium, Large (check list below). - Support product fields in image patterns. This means that you can now use product field system name in {} like this: /{Brands}.jpg. If you then have a file named "Mongoose.jpg" in your image folder, it will render the images with Alt images for the products where Brand is Mongoose. 2) Enables caching 3) Does magic so that Rapido still works because Rapido 3.1.1 and older still uses old image tags. Ecom:Product.ImageLarge.Clean is rendered in compability mode which does that the rapido products still have an image, when 1+3) is enabled. When "Improved image patterns" is enabled: Multiple tags removed... Compatability-mode tags: Ecom:Product.Image{match.PatternName}.Clean -> image from pattern Ecom:Product.ImageLarge.Clean -> Primary image Ecom:Product.ImageDefault -> Primary image Ecom:Product.ImageDefault.Default.Clean -> Primary image New tags in improved image patterns: Ecom:Product.Image.{match.PatternName} -> image from pattern Ecom:Product.Image.Master -> Main image pattern Ecom:Product.Image.Variant -> Variant image pattern Ecom:Product.Image.VariantOrMaster -> Variant or main image patter, whichever is the best match Ecom:Product.PrimaryImage -> Default details OR Variant image pattern OR Main image pattern OR missing image
  • Obsolete Dynamicweb.Ecommerce.Common.eCom7.Functions
    Ecommerce
    Obsoleted Dynamicweb.Ecommerce.Common.eCom7.Functions
  • Indexing customizations
    Ecommerce
  • Ecommerce: Add list of assortments page as default on Assortments node
    Ecommerce\Assortments
  • Add more columns to list of payments.
    Ecommerce\Country
    Backend Ecommerce Countries list has been redesigned to show more relevant info
  • Add loop tags in Customer center (Order search)
    Ecommerce\Customer Center
  • Add a new option on customer center for displaying order history for impersonaters
    Ecommerce\Customer Center
  • Product group personalization
    Ecommerce\Groups
  • Product.Manufacturer uses Context.Current.Items
    Ecommerce\Manufacturers
  • OrderDiscount option to trigger from Currency
    Ecommerce\Order discounts
  • Create new list page for Discounts
    Ecommerce\Order discounts
  • Refactor Orders.Discounts.Discount
    Ecommerce\Order discounts
    Orders.Discounts.Discount has been refactored
  • Use order country for discount rules when specified
    Ecommerce\Order discounts
  • Discount provider for discount matrix
    Ecommerce\Order discounts
  • Change the logic for "Orders" root node in Ecommerce
    Ecommerce\Orders
  • Delete, Cancel and Refund order buttons
    Ecommerce\Orders\Edit order
  • Make it possible to copy payment
    Ecommerce\Payment
  • Inline checkout
    Ecommerce\Payment
  • Using SHA-512 based hash for Authorize.Net payment
    Ecommerce\Payment\AuthorizeNet
  • Using SHA-512 based hash for Authorize.NetAIM payment
    Ecommerce\Payment\AuthorizeNet AIM
  • Implement Dibs Easy Checkout handler
    Ecommerce\Payment\DIBS Easy
  • Update Klarna gateway to version 3
    Ecommerce\Payment\Klarna
  • Add b2b support for klarna
    Ecommerce\Payment\Klarna
  • Extend price api so it is possible to pass shop and country into find price logic
    Ecommerce\Pricing
  • Return to sort by sorting function/button
    Ecommerce\Product Catalog
  • Hide weight & volume fields for Service- & Gift Card-products
    Ecommerce\Products
    Weight & volume fields are now hidden for Service- & Gift Card-products
  • New fields for product edit
    Ecommerce\Products
  • Autoupdate does not work on related products
    Ecommerce\Related Products
  • Add active flag on shipping methods
    Ecommerce\Shipping
  • Shipping service and repository
    Ecommerce\Shipping
  • Shipping Provider Features
    Ecommerce\Shipping
    New setting in shipping providers. You are now able to limit the provider to only be used for specific groups or for anonymous users. When "Selected groups" is selected, then you can only see the shipping provider when logged in. When "Anonymous" is checked then, then only anonymous users can see the shipping provider, but it's not available when you are logged in.
  • Introduce "eligable for free shipping" option
    Ecommerce\Shipping
    New checkbox in Shipping edit: Eligible for free shipping Product discounts can now use the shipping methods that are flagged (enabled) for free shipping. A new checkbox in Product discount settings can be enabled and the shipping methods will be free (if enabled for free shipping) when all requirements are met in the product discount. New templatetag: Ecom:Cart.Shippingmethod.EligibleForFreeShipping (True/False)
  • Add field information to GLS (Create Shipping documents)
    Ecommerce\Shipping\GLS
  • Make it possible to choose add-on from other folders than /Files/Files
    Ecommerce\Shopping Cart
  • Change default cart cache time from 20 mins to 720 mins
    Ecommerce\Shopping Cart
    Default cart cache time has been extended from 20 to 720 minutes
  • Make cart session timeout configurable instead of 20 minutes
    Ecommerce\Shopping Cart
  • 'Unit' is required for stock matrix rows - it shouldn't be
    Ecommerce\Stock
    'Unit' is no longer required for stock matrix rows
  • Make it possible to copy tax providers
    Ecommerce\Taxes
  • Voucher list update
    Ecommerce\Vouchers
    Vocuher list has been redesigned. New columns Discount given, Discount count have been added showing respectively the accumulated amount given on a voucher list and how many times it has been used
  • SVG miniature on file selector
    Files
  • Remove sharpziplib and use io.compression instead
    Files
  • NAV/BC Batch: Ability to not update GroupName on existing GroupId and GroupLanguageId
    Integration
  • Correct behavior in Marketing when Copy email from Sent list
    Marketing\Email Marketing
  • Add more options to repeat intervals for email marketing scheduling
    Marketing\Email Marketing
  • Count untranslated translation keys per language
    Others\Internal projects
  • Update invoice list with new features
    Others\Internal projects\Documentation Website
  • Only show customer invoices which belongs to the partner
    Others\Internal projects\Documentation Website
  • Combine - Show name/number of product, when illegal
    PIM
  • Create variant functionality is different in Ecommerce and PIM
    PIM
  • Combine (extract) - rename 'Explode' to 'Extract All'
    PIM
  • Optimize 'SaveProductValues' in ProductCategoryFieldValueRepository
    PIM
    SaveProductValues code has been optimized
  • Category fields - Sorting of Fields has disappeared
    PIM
  • Reference field - Add search function to DropDown list of ReferenceFields
    PIM
  • UI - Change to "Edit Product category fields" in Category/Property-collection
    PIM
  • Handle FieldSettings from CategoryField_Edit
    PIM
  • Update CategoryEdit UI
    PIM
  • Different types of ProductCategory
    PIM
  • 'Add System field' functionality in EcomCategory_Edit
    PIM
  • Optimize Digital Warehouse Download to use less memory
    PIM
  • 'Related products' functionality is different in Ecommerce and PIM
    PIM
  • Get rid of mess with customField prefixes
    PIM
  • PIM Products without "Group" does not show up in PIM All Products
    PIM
  • Reference an existing CategoryField from another ProductCategory
    PIM
  • Update CategoryField UI
    PIM
  • Refactor DetailService
    PIM
    Refactoring offff the DetailService.
  • Extract functionality for saving changed products
    PIM
  • Stock - Add "Stock matrix" to PIM Channels
    PIM
  • Ecommerce - Make possible to use Image category & sorting in Frontend
    PIM
  • Combine - Improve UI on view/select products
    PIM
  • [FIELDS] Settings - Make it possible to maintain Field settings from ProductField Edit
    PIM
  • Add info box to PIM product edit & Ecom product edit
    PIM
  • Import UI - File selector
    PIM\Export and import data
  • Import UI - Source settings
    PIM\Export and import data
  • Add 'ProductFields' and 'ProductCategories'-ViewModelSettings to FeedEdit
    PIM\Export and import data
    Product fields and Product category fields are available in Feed Edit and possible to render them in the feed.
  • Feeds - Organize and Improve UI around field selections
    PIM\Export and import data
    Improrvement of the feeds UI.
  • Channel - Need to resolve "Alternative Images" specification/use on Channels
    PIM\Export and import data
  • Implement 'XML' FeedProvider
    PIM\Export and import data
  • [VIEWMODEL] It should be possible to select individual Custom and Category fields
    PIM\Export and import data
  • Replace old views in EcomProduct_Edit with new pages
    PIM\Export and import data
  • Publication - Add "Publication period" function to PIM Channels
    PIM\Export and import data
  • Create new list page for PriceMatrix
    PIM\Export and import data
  • Create new edit page for PriceMatrix
    PIM\Export and import data
  • Make Excel export from AuditList
    PIM\Export and import data
  • Channel - hide/change attributes on Channels
    PIM\Export and import data
  • Replace 'MultiSelect' control with new 'SelectPicker' control in FeedEdit
    PIM\Export and import data
  • Feeds - make it possible to use URL parameters for querying products
    PIM\Export and import data
  • Combine - "Detail Relation" must be updated with new Product-Variant-Id
    PIM\Product Edit mode
  • [FIELDS] Settings - Maintain ProductFields/CategoryFields window, implement "Field display group" selection
    PIM\Product Edit mode
  • CategoryFields - Move Category-/Property-field to Reference collection
    PIM\Product Edit mode
  • Make Custom Fields follow "Login Language" in both Ecommerce and PIM
    PIM\Product Edit mode
  • Reference - Add "Show usage" on Reference Field maintenance
    PIM\Product Edit mode
  • Images - Autohide empty "Image frames"
    PIM\Product Edit mode
  • Completeness - naming and use of Images are confusing
    PIM\Product Edit mode
    It is now possible to add default image as a criteria in completeness rules.
  • Images - Preview for Image in ProductEdit
    PIM\Product Edit mode
  • Product Edit - Remove triangle in ImageCategory ImageContainers
    PIM\Product Edit mode
  • Completeness - validation of Images (Default) are not handled
    PIM\Product Edit mode
  • Implement 'Image Management' dialog
    PIM\Product Edit mode
  • Clean PimProductEdit Image UI
    PIM\Product Edit mode
  • Default image - must be "DIMMED" if set from ImagePattern
    PIM\Product Edit mode
  • Reference fields - should not be shown in lists
    PIM\Product Edit mode
  • Images Pattern - Content should be displayed in seperated "ImageCategory box"
    PIM\Product Edit mode
  • Images Pattern - new implementation
    PIM\Product Edit mode
  • UI - Product category Listview
    PIM\Product Edit mode
  • Audit table - Improve usage and registration of content
    PIM\Product Edit mode
  • Uncombine entire family
    PIM\Product Edit mode
  • Bulk Edit - Set default image in PIM
    PIM\Product Edit mode
  • Uncombine - warning message & check-box
    PIM\Product Edit mode
  • Provide 'No data' for Multi-edit view mode
    PIM\Product Edit mode
  • Required Fields should always be validated
    PIM\Product Edit mode
  • Audit - Paging missing in Auditing dialog
    PIM\Product Edit mode
  • Add 'Field display groups" to Frontend
    PIM\Product Edit mode
  • Make 'Field display groups' available from inside 'Visible fields' popup-window
    PIM\Product Edit mode
  • Add 'Audit' table to Auto Log clean
    PIM\Product Edit mode
  • Combine (ListView) - Show information about illegal Products selected
    PIM\Product Edit mode
  • Bulk edit (Listview) - possible to select/deselect individuel Variants on ProductContainer
    PIM\Product Edit mode
  • Price - Add "Price matrix", "VAT groups" and Discounts to PIM channels
    PIM\Product Edit mode
  • Field name should be shown/translated, compared to the selected "Login language"
    PIM\Product Edit mode
  • Add proper DateRange filter in Audit
    PIM\Product Edit mode
  • Completenes - Available fields in selector boks
    PIM\Product View mode
  • ProductContainer (Family) - make it possible to sorting on Variants in the FamilyVariant group
    PIM\Product View mode
  • Open product - must be possible from Variant level
    PIM\Product View mode
  • Query - Expressions fields, show Name's instead of Value/ID on Listbox field type
    PIM\Search and Navigation
  • Reference field - DropDown list must be sorted A-Z
    PIM\Search and Navigation
  • Short Cut - Implement shortCut function in ListView, ProductEdit, etc.
    PIM\Search and Navigation
    New shortcuts in PIM product edit and PIM product list: Ctrl+S = Save Ctrl+Shift+S = Save & Close Ctrl + shift + -> (Arrow right) = Next product Ctrl + shift + <- (Arrow left) = Previous product PimProductList page: Ctrl + shift + PageDown = Previous page (List) Ctrl + shift + PageUP = Next page (List) Ctrl + Delete = Presses the 'Delete' button in the Context Menu
  • Completeness - Query should also be reflected in usage
    PIM\Search and Navigation
  • Dynamic structure - Add 'Other?' result to each level
    PIM\Search and Navigation
  • Workflow - show "ID" on State
    PIM\Search and Navigation
    In Settings/PIM/Workflow we have implemented a new read-only ID TextBox when you edit a workflow state. The ID is listed in the State List when you edit a workflow.
  • Query - Copy a personal Query from "My Queries" to "Shared Queries"
    PIM\Search and Navigation
  • Delete workflow - Need a check for, if it's in use
    PIM\Search and Navigation
  • Dynamic structure - Disable 'Level' selectors until structure is saved
    PIM\Search and Navigation
  • Completeness - Show grey bar with 'N/A', when rules or languages are not selected
    PIM\Search and Navigation
    When no rules are added then completenes bar is grey with N/A text.
  • UI - Email notification: Placeholder names don't match
    PIM\UI - PIM backend
  • Conditional sorting
    Platform
  • Mobile feeds
    Platform
  • TaskExecute timeout problem
    Platform
    Improved error handling and logging in TaskExecute
  • Add deprecated attribute support to Core
    Platform
    Added deprecated attribute support to Core
  • Create a generic token authentication system
    Platform
  • Dynamic facets on product catalog
    Platform
  • Sort facets in a facet group
    Platform
  • Management features in Query Editor
    Platform
  • Facets on ecommerce groups
    Platform
  • Cascading facets
    Platform
  • Create Dynamicweb.BulkDataEdit project
    Platform
  • Add 'PIM' section to Permissions dialog in UserGroup
    Platform
  • Make NumberGenerator work better in a NLB setup
    Platform
    The number generator has been changed to function better in NLB setups
  • Warehouses & groups should inherit permissions from the ’Warehouses’ node
    Platform
  • Color swatch - Mapping
    Platform
  • New color selector
    Platform
  • Implement BulkDataEdit module architecture
    Platform\API
  • Upgrade Dynamicweb.Admin target to .NET Framework 4.7.2
    Platform\API
    Target framework has been changed to .NET Framework 4.7.2. Details about the possible compatibility issues caused by retargeting can be found here: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.6-4.7.2 Updated server requirements: .NET Framework 4.7.2 runtime must be installed - https://dotnet.microsoft.com/download/dotnet-framework/net472
  • Use system from email address when sending system emails
    Platform\API
    All system generated mails now default to using the address defined in Settings as from address
  • SEO Express update/rewrite.
    Platform\API
  • EditSmartSearch is really slow when you have many Users (PerformanceSite)
    Platform\API
  • Create Bulk data editor module page
    Platform\API
  • Tax setting repository and service
    Platform\API
    Tax calculation has been moved to a repository and service architecture
  • "Stock level"-related classes refactoring
    Platform\API
  • LoyaltyService refactoring
    Platform\API
  • Make ProductRelatedGroup repository context independent
    Platform\API
  • Make VariantOptions service and repository context independent
    Platform\API
  • Make Assortment service context independent
    Platform\API
  • ProductCategory: Implement ProductCategoryFieldGroupValueService
    Platform\API
    Product category field code has moved to a servicebased model
  • Make OrderLine service context independent
    Platform\API
    OrderLine service has been made context independent
  • Refactor StockUnitService to use service and repository
    Platform\API
    Refactored StockUnitService to use service and repository
  • Make Environment projects methods support more efficient context lookup
    Platform\API
    Made Environment projects methods support more efficient context lookup
  • Add caching of GUI-class' image handling for imagepatterns
    Platform\API
    Added caching of GUIs image handling for imagepatterns
  • Update Dynamicweb.Ecommerce.Stocks.* methods usage
    Platform\API
  • Make VariantStock service and repository
    Platform\API
    Moved VariantStock handling to service and repository
  • Remove wrong caching from ecom renderer
    Platform\API
    Removed wrong caching from ecom renderer
  • Refactor StockLocationService
    Platform\API
  • Make PaymentCard service and repository
    Platform\API
    Moved PaymentCard functionality to service and repository
  • Move stuff arround in ecommerce
    Platform\API
    Moved some stuff around in the ecom api. This will only affect you if you are extending our cart subscribers (and you really shouldn't do that)
  • Create new JsonSerializer implementation in Core
    Platform\API
    Started wrapping external libraries to enable usage of custom versions
  • Make DefaultStockLevelProvider context independent
    Platform\API
    Made DefaultStockLevelProvider context independent
  • Make stock location context independent
    Platform\API
    Made stock location context independent
  • Make StockStatus context independent
    Platform\API
    Made StockStatus context independent
  • Make StockUnit context independent
    Platform\API
    Made StockUnit context independent
  • Make UserPermission.vb context independent
    Platform\API
    Made UserPermission context independent
  • Make Ecommerce.Frontend.Frontend.vb and frontend/Renderer.vb context independent
    Platform\API
    Made Ecommerce.Frontend.Frontend.vb and frontend/Renderer.vb context independent
  • Make shoprepository.vb context independent
    Platform\API
    Made shoprepository.vb context independent
  • Dynamic structure refactoring
    Platform\API
  • Move customercenter logic to OrderService
    Platform\API
    Moved customercenter logic to OrderService
  • Add validation errors to BeforeRenderingNewStepArgs
    Platform\API
  • Make it possible to add your own mappings for latin normalisation
    Platform\Customized URLs
    Under customized urls it is now possible to add your own mappings
  • Page URL data providers
    Platform\Customized URLs
  • Hide Dashboard node from Content tree
    Platform\Dashboard
    Dashboard has been hidden from content area until we find a use for it
  • Move 'Dashboard' node in Settings into 'Editing'
    Platform\Dashboard
    The Dashboards node in Settings has been moved to the Editing subsection
  • Make tree able to list multiple Dashboards
    Platform\Dashboard
  • Implement UI for setting up Dashboards in Settings
    Platform\Dashboard
  • Set permissions on Dashboards
    Platform\Dashboard
  • Home and Monitoring should be customizable
    Platform\Dashboard
    Home and Monitoring dashboards are also customizable and can be used by the app
  • Make it possible to filter out empty groups from navigation
    Platform\Navigation
  • Change timer on CreateDataReader to use stopwatch
    Platform\Performance
    Improved time usage calculation in debug=true
  • Rollback UI changes to Permission dialog
    Platform\Permissions
  • Implement permissions for Monitoring
    Platform\Permissions
    The monitoring section now fully supports the permission system
  • Implement permissions for Home
    Platform\Permissions
    Implemented permissions for Home area
  • Permissions for the AllProducts in PIM
    Platform\Permissions
  • Permissions for the Accordion buttons
    Platform\Permissions
  • Implement new Permissions for Users/Smartsearches node
    Platform\Permissions
  • Implement new Permissions for Users/Repository queries node
    Platform\Permissions
    Implemented new Permissions for Users/Repository queries node
  • Implement new Permissions for Email marketing\Automation nodes
    Platform\Permissions
  • Marketing nodes shoud support permission inheritance
    Platform\Permissions
  • Search for editors: UI issues
    Platform\Searching
    Various UI fixed in Search for editor.
  • Partial builds for users
    Platform\Searching\Indexing
  • Reporting - Dashbord widget should display report selector as dropdown
    Platform\Statistics
    Dashbord widgets now displays report selector as dropdown
  • Reporting - Show both from and to date in report
    Platform\Statistics
    Tracking reports now show both from and to dates
  • Analytics report style optimization
    Platform\Statistics
  • Show what template is being used in the select template view also
    Platform\Templates
  • Simplify how layout templates are detected
    Platform\Templates\Designs and Layouts
    Simplified how layout templates are detected If a layout file does not contain <body tag when using @ContentPlaceholder, it is not seen as a layout. Make it so that @ContentPlaceholder containing templates can be used as layouts. I.e. json templates etc.
  • Unit test: need to speed up tests for the Dynamicweb.Logging
    Platform\Unit test
  • Unit test: Dynamicweb.Security.Workflows
    Platform\Unit test
  • Update ABCPdf and ImageGlue
    Platform\Upgrade Issues
    Updated pdf and imageglue components. Please note that this change requires DW 9.7. IT WILL NOT WORK WITH 9.6 OR EARLIER
  • It should be possible to suppress Scheduled task missing warning in scheduled tasks
    Settings\Scheduled tasks
  • Change scheduled task to always start from the begining timestamp
    Settings\Scheduled tasks
    Scheduled tasks execution time calculation is based on the beginning timestamp