Dynamicweb 9.9
Release date: August 25th 2020
As of Dynamicweb 9.9, Newtonsoft.json has been upgraded to v.12.0.3. If you have custom functionality using newtonsoft.json please update your code as required.
Like the last couple of releases, Dynamicweb 9.9 requires .NET Framework 4.7.2.
9.9.6 - Custom solutions: Due to changes to Oauth make sure you delete Microsoft.IdentityModel.Protocol.Extensions.dll from your /bin folder or corresponding nuget package from your project
Dynamicweb 9.9 has been released. It is a transitional release, where we’ve focused on improving and stabilizing existing features, while converting core projects to more future proof technologies in preparation of Dynamicweb 10.
And so – without further ado – here are the release notes for Dynamicweb 9.9.
PIM
PIM has been improved in every area, but perhaps most notably when it comes to the product enrichment phase which contains a new grid edit mode for working with multiple products and variants in a single grid-like view, and also features improved image handling with e.g. previews of images and pdf content, inheritance rules for non-categorized assets, and better support for images in bulk-edit. Import/Export tool configurations can now be saved as presets and reused, and you can set up validation on custom field values. Our integration with Channable has also been improved and now supports order synchronization between Channable and a Dynamicweb solution, so you can view and work with Channable orders directly inside Dynamicweb.
- Structure & Workflows
- Queries
- Check for completeness in query expressions
- Control which columns are shown by default when the result of a query is shown
- Better field selectors implemented throughout PIM
- Warehouse navigation tree performance optimized
- Queries
- Enrichment
- New GridEdit mode for working with multiple products and variants in a single view
- Set up RegEx-based validation of custom field values
- Images & Assets
- Improved Image Panel UI and supports preview of images and PDF content
- Set up inheritance rules for “non-categorized” assets
- Add images & assets to PIM groups
- Bulk-edit
- Save and reuse bulk-edit configurations as presets
- Better support for images
- Import/Export
- You can now export to “raw” Excel instead of the DW-specific format we usually use
- Save a combination of fields & languages as a preset and reuse it the next time you export data
- Publication
- Support for Image Patterns on channels reintroduced
- Improved Dynamicweb Feed templates
- Completeness rules may now be applied at the group level
- Other
- IceCat
- Connector extended to support more product information
- Improved handling of IceCat fields and content
- Assets from the IceCat MultimediaLinks field type are now supported
- Mappings between IceCat languages and DW languages created
- Channable
- Orders can now be synchronized between Channable and a Dynamicweb solution
- Product-data distribution to Channable has been extended with new information
- Support for user-specific prices & stock in feeds
- IceCat
Ecommerce
When it comes to Ecommerce, our focus has been on improving and extending our ViewModels – including the view-model based Customer Experience Center which will eventually replace the current customer center app. In addition to this we’ve also improved a number of existing checkout handlers, with QuickPay and EbizCharge now supporting inline payment. Two new checkout handlers are also being released; Adyen Checkout for our Dutch customers and Authorize.Net API for the American market. Finally, we’ve released several minor changes requested by our partner network, e.g. standard order fields for an OrderReference and OrderShippingDate, and standard product fields for Expected delivery and for handling product discontinuation.
- New ViewModel-based Customer Experience Center app for listing orders, carts, quotes, ledger items, and recurring orders
- Ecommerce Statistics have been overhauled and are no longer flash-based (yay!)
- New discount validation loop makes it possible to show customers why they don’t receive a discount, e.g. spend $986 and get a free keychain!
- Price Matrix prices can now be marked as with/without VAT
- New CreateCart cart command for creating order drafts
- Payment:
- New checkout handler: Adyen Checkout
- New checkout handler: Authorize.Net API – this checkout handler uses the new Authorize.Net API
- EbizCharge now supports iframe mode and has ACH support
- The DIBS Easy provider can now be configured to pre-fill the payment form with information from the billing address fields
- The Valitor checkout handler now supports Klarna payments and uses order information instead of user information for notification emails
- Products:
- New standard field for stock items – Expected delivery
- New Discontinued Products section for marking a product as discontinued, selecting a replacement product, and controlling what happens if a link to a discontinued product is accessed
- Orders:
- Two new standard fields – OrderReference and OrderShippingdate – for integrated orders
- ViewModels:
- Support for loyalty points in PageViewModel
- PrimaryOrDefaultGroup and InformativePrice added to the ProductViewModel
- GroupId added to NavigationViewModel
- Formatted price properties added to PriceViewModel
- Product Catalog for ViewModels can now render a feed template when feed=true is added to the url
Content, Marketing & Users
The Content area has seen minor improvements across the board, with the Visual Editor receiving special attention in the UX area. In Marketing we’ve improved the Back-in-Stock recipient provider and the SendGrid provider, and custom user fields can now be set at the group level and will inherit to all users in the group unless a value is defined on the user.
- Visual Editor
- Support for SVG images
- General UX improvements
- Comments
- New Antispam settings introduced
- New list of all comments available in backend
- Forms for Editors
- New Input pattern attribute on all fields allows you to set up RegEx-based validation of form input
- Language Management tweaks:
- Paragraphs used as global elements will now reference the correct language version instead of always referencing the version on the master
- Copying a translated paragraph or page will copy the translated version on the language layer instead of the master version
- Items
- ItemRelationList items now support draft mode
- ItemRelationList items now respect language management settings
- The Back-in-Stock recipient provider can now send notification emails to users even if they have not signed up for regular emails
- The SendGrid delivery provider can now use an API key for authentication instead of username/password
- Custom user fields can now be set at the group level, and will inherit to users in the group unless a specific value is set on the user
Integration
Our Integration team has been preoccupied with with a series of LS Retail-related features – which are not ready for release yet but include feature such as pay online and collect in store, Cancel order in frontent and backend, and creating an LS Retail-based solution on top of a mode modern Dynamicweb base (Dynamicweb 9.9 and Rapido 3.4). The team is also exploring the strengths and weaknesses of OData. In addition, both our Business Central and Finance and Operations integrations have been updated to support latest major versions – and other minor tweaks, fixes, and improvements listed below.
- Microsoft Dynamics 365 Business Central
- Support for latest major version (BC16)
- New release policy
- Dynamicweb Plug-In Unit is available on AppSource for Dynamics 365 BC Online (SaaS).
- Dynamicweb Plug-In Unit is available as Runtime Package for Dynamics 365 BC On Premise.
- Dynamicweb Plug-In Unit is available as extension with source code visible for debugging purposes on Dev/Test servers. Access is given upon request.
- Other Improvements
- Batch-imported currency rates are no longer rounded. This was done to prevent minor rounding errors between asynchronous and synchronous price calculations.
- Synchronously generated sales orders (Live carts) and asynchronous sales orders (scheduled orders) use the same method in the plug-in unit. This was done so that partner-extensions could extend live carts and scheduled orders in the same manner.
- When importing contacts as Dynamicweb frontend users, we now make sure that they always get a currency code. This was done to prevent arithmetic-errors in customer price calculations for logged in B2B-users.
- Added “isLCY-tag” to the base/local currency. This was done to allow integration developers and partners to detect the base/local currency of the ERP-system, without having to ask the ERP-Partner.
- Mapped phone and mobile phone numbers from contacts in ERP to users in Dynamicweb.
- Mapped EAN numbers from items in ERP to products in Dynamicweb.
- Added a live integration setting to allow the use of ProductNumber, instead of ProductId, when live-calculating carts and creating sales orders in ERP. This option has been available for live price calculation in product catalog and product pages for a while, but not for orders. It meant live cart calculation of prices could not detect when items in ERP were setup as variants in Dynamicweb.
- Microsoft Dynamics 365 Finance and Operations
- Support for version 10.0.0.10
- General features and improvements
- New scheduled task add-in: Export data with custom request. This option allows integration developers and partners to send out Dynamicweb-data to a custom endpoint. We envision the use of Dynamicweb Provider as source provider to expose any table in Dynamicweb. Then asking an ERP-partner to extend the Dynamicweb Plug-in Unit with a request that can handle the table/column data being sent to the webservice URL which is already opened. The possibilities are endless. It could be sending favorite lists of users into customer records in ERP or abandoned carts. It could also be translated product data or other data enrichments.
- When importing products using pagination, Dynamicweb no longer builds the index on every page/batch.
- Excel Provider: Added a way to append, prepend and set constant script values. This is already available on other providers.
- Fixed an issue where completed scheduled jobs looked like they contained warnings, despite having completed as expected.
- Fixed an issue where scheduled jobs would not run its first time on the expected start time.
- Added ability to run scheduled jobs in a sequence based on sort rank. Integration developers and partners can manipulate this sort rank with a drag and drop-enabled user interface.
Platform & Technical
At the Platform level the Monitoring area now contains a Data Health node which provides you with overview of the state of your database, and also current vs recommended security settings. We’ve also improved the Deployment tool which can now export a deployment configuration as a file, and then import it elsewhere using a scheduled task. This makes it possible to use deployment even if your staging and production environments are not on the same network. We’ve also introduced a number of filters when comparing source and destination, which makes it much easier to get an overview of changes.
At the Technical level all services in Dynamicweb.Services and Dynamicweb.Ecommerce.Services now use a generic caching framework and we’ve created a new cache overview under Settings > Developer > Cache.
- New Data Health monitoring service released, providing you with an at-a-glance overview of potential issues with bad data and security settings
- Analytics & Insights
- Funnel Reports
- SQL Firehose improved
- Deployment
- You can now use filters when comparing source and destination, showing only relevant
- Save deployment to disk, import using scheduled task
- Show up to 5 primary keys when comparing data
- GridRows can now be deployed
- Search & Indexing
- Minimum & maximum values for numeric facets added to FacetViewModel
- Better Did you mean suggestions
- Frontend search statistics – track specific queries and see what people search for without seeing any results
- New SkipGroupSorting option in the product index builder leaves out group sorting fields – this may improve performance and also makes it much easier to see what’s going on
- The Generic Excel Exporter now responds to the url parameter dwtemplatetags=true with a list of all available placeholders, as well as dynamic file names when exporting a file.
- You can now use TinyMCE 5 instead of CKEditor 4 in your editor configurations
- The Image Handler now correctly supports transparency when converting to the webP format
- Changes to GlobalSettings are now logged in the EventViewer
- Caching
- All services in Dynamicweb.Services and Dynamicweb.Ecommerce.Services now uses a generic caching framework
- New cache overview under Settings > Developer > Cache (with a clear button)
Changes in 9.9
Below you will find a raw list of all Features included in this release - please keep in mind that a feature in our development process probably doesn't correspond to what you think of when you hear the word 'feature'.
-
Implement new 'Customer Experience Center' module
Apps
-
Form list default sort order and ability to save the order to user
Apps\Forms for editors
Forms for editors list is now sorted by name by default. Change of sorting is remembered for each user
-
ItemRelationList items should support draft mode
Content
-
Move Visual Editor to Content Area
Content
-
Settings for Specific users (admin users and up)
Content
-
Save paragraph as templates from the content builder mode
Content
-
Content builder - context menu (Row template settings) in the Row template folder
Content
-
Restrictions on saved paragraph and row templates
Content
-
Add “For Delivery Email Address” and “Use field for email recipient” to Order, Quote, and Cart flows
Content
-
Merge Content Builder to 9.8
Content
-
Add 'Comments' node in Ecommerce/Product catalog
Content\Comments
-
Add 'Comments' in Marketing
Content\Comments
-
Implement new EditorProvider - TinyMCE
Content\Editor
-
Add missing toolbar options to ck editor add-in
Content\Editor
Added font settings to default ckeditor setup
-
Add sorting to Product itemtype fields
Content\Items
-
ItemRelationList items should support language management
Content\Items
-
Add annotation on a page node in the page tree if it has a navigation tag. Make the title attribute of that
Content\Page Tree
-
Add a "Published" flag on website/area
Content\Websites
-
Comparison of two time spans in report edit/create
Ecommerce
-
Move and refactor viewmodels
Ecommerce
Move and refactored some viewmodels (previously unreleased)
-
Untranslated ProductCategoryFields should be shown like ProductFields
Ecommerce
-
Include 'Price with VAT' and 'Price without VAT' in price calculations
Ecommerce
Included both 'Price with VAT' and 'Price without VAT' in price calculations
-
Make order drafts support prices with or without vat for unit prices changes
Ecommerce
Make order drafts support prices with or without vat for unit prices changes
-
Comparison of two time spans in report view
Ecommerce
Implemented comparison of two time spans in report view
-
Support sales prices in price matrix
Ecommerce
-
Untranslated ProductCategories should be shown like CustomFields
Ecommerce
-
Cleanup webapi project for Products
Ecommerce
Cleaned up webapi project for Products
-
Make excel file name dynamic
Ecommerce
Make excel file name dynamic
-
Add notifications for order validation
Ecommerce
Added notifications for order validation
-
Add values for toplevel properties like DWTemplateTags (not inside loops)
Ecommerce
Add values for toplevel properties like DWTemplateTags (not inside loops) to ExcelGenerator
-
Edit assortment should show the productnumber for attached products
Ecommerce\Assortments
-
DEFAULT VALUES FOR EACH COUNTRY - where to store?
Ecommerce\Country
-
Expose new properties in UI
Ecommerce\Country
-
Expose properties in template
Ecommerce\Country
Template tags for country has 2 new tags: Ecom:Country.AddressEditFormat Ecom:Country.AddressDisplayFormat
-
Check why discounts are not applied
Ecommerce\Order discounts
-
Pay with points
Ecommerce\Order discounts
-
Improve new cache invalidation of Discounts
Ecommerce\Order discounts
-
Make discount store all information needed to be used in frontend without expensive calculations
Ecommerce\Order discounts
Performance improvements to discount rendering
-
Improve discount loadtime
Ecommerce\Order discounts
-
Make discounts searchable
Ecommerce\Order discounts
You can now search in discounts (Discounts & offers) The discounts are searchable by name, campaign name, percentage and amount. Notice that if you search for "50%" (with %) then it doesn't find the discount from the search in discount value because the value in the database is the value without %, så you need to search for "50" to hit the discounts with 50% discount value. If you search for "50%" it will find it if the name contains 50%.
-
Add Reference and shipping date fields to order
Ecommerce\Orders
-
Change VAT calculations to avoid rounding errors
Ecommerce\Orders
Changed VAT calculations to avoid rounding errors
-
Price validation failed for order
Ecommerce\Orders
Added additional logging to price validation
-
ProductItems shouldn't recalculate on every render
Ecommerce\Parts Lists
ProductItems shouldn't recalculate on every render
-
Support B2B payments in DIBS Easy
Ecommerce\Payment
New settings in DIBS Easy: Support B2B: Enables a "Business checkout" radio button in the DIBS easy payment window. Set B2B as default: If "Support B2B" is enabled and "Set B2B as default" then B2B fields are rendered by default in the DIBS easy payment window. The address fields vary from country to country. In e.g. Denmark a "Company name" fields appear in the B2B address fields. In Sweden the address fields contain a "Personal identification number" when not B2B but an "Organisation number" when B2b is enabled (check images in History).
-
Add ACH support to EBizCharge provider
Ecommerce\Payment
-
Adyen payment gateway
Ecommerce\Payment
-
Make a Proof of Concept on handle payments before the checkout step
Ecommerce\Payment
-
EbizCharge Iframe mode
Ecommerce\Payment
-
Support Klarna through Valitor
Ecommerce\Payment\AltaPay
Klarna payment is now supported through the Valitor gateway
-
Remove phone code from request to BBS/Netaxept/Dibs/Nets
Ecommerce\Payment\BBS
The strict validaion rule for the phone number field is removed from the provider so that BBS Netaxept doesn't fail with error if the phone number isn't valid.
-
Pre-fill DIBS easy payment form
Ecommerce\Payment\DIBS Easy
A new checkbox in DIBS easy settings: "Prefill customer address". When this is enabled, then customer billing information is posted to DIBS easy instead of being filled (again) in DIBS easy payment form. When checkbox is enabled the Customer information fields are hidden in DIBS easy payment form. You can show the customer info with the normal DW tags like Ecom:Order.Customer.Name if you edit the DIBS easy post template. Notice that if you enable "Prefill customer address" then you need to ensure (with ecom validation groups) that the customer can't leave the customer billing fields empty when checking out or else DIBS easy will return errors.
-
Add paytype to epay
Ecommerce\Payment\ePay
-
Ability to make checkout via Klarna v3 with some extra country/currency
Ecommerce\Payment\Klarna
Added ability to make checkout via Klarna v3 with some extra country/currency
-
Create an item editor for product catalog to return the full viewmodel.
Ecommerce\Product Catalog
Created an item editor for product catalog to return the full viewmodel.
-
Only return active products in ecommerce loops
Ecommerce\Product Catalog
-
Support feed=true for product catalog for viewmodel
Ecommerce\Product Catalog
You can now add feed=true to the url for product catalog for viewmodel to get the raw feed
-
Add meta title to viewmodel based groups and products
Ecommerce\Product Catalog
Added meta title to viewmodel based groups and products
-
Add new properties to product viewmodel
Ecommerce\Product Catalog
Two new properties were added to the product viewmodel PrimaryOrDefault group Informative price
-
Add new properties to cartorderline viewmodel
Ecommerce\Product Catalog
Added new properties to cartorderline viewmodel
-
Do not show group sorting fields in schema extender fields section when looking at an index
Ecommerce\Product Search
Do not show group sorting fields in schema extender fields section when looking at an index
-
Html decode values from rte in ecommerce when indexing
Ecommerce\Product Search
Html decode values from rte in ecommerce when indexing
-
Make an option to not index group sorting fields
Ecommerce\Product Search
Added repository build option to skip sort values
-
Do not fetch products for orders using ID combinations
Ecommerce\Products
Optimized how products for orders are fetched from db
-
Out of stock - Expected delivery
Ecommerce\Products
-
Add a guard on internal dictionaries when adding products
Ecommerce\Products
Added a guard on internal dictionaries when adding products
-
Change AutoIdIndex to not eager load all keys
Ecommerce\Products
Changed AutoIdIndex to not eager load all keys
-
Create new method for getting only product keys to use in Discount.ProcessProductSelections
Ecommerce\Sales Discounts
Created new method for getting only product keys to use in Discount.ProcessProductSelections
-
Make it possible to return more than 5 parcel shops from GLS
Ecommerce\Shipping\GLS
Make it possible to return more than 5 parcel shops from GLS
-
Add UnitPriceBeforeDiscount property to CartViewModel
Ecommerce\Shopping Cart
Added UnitPriceBeforeDiscount property to CartViewModel
-
Ensure that the checkout step does not get cached in browser under no circumstances
Ecommerce\Shopping Cart
Ensured that the checkout step does not get cached in browser under no circumstances
-
Order update of Id is broken with the current caching
Ecommerce\Shopping Cart
Fixed UpdateOrderId (remove old key from cache + add new key to cache)
-
Cart Logging during checkout
Ecommerce\Shopping Cart
Added additional loggein to checkout
-
Additional Cart logging
Ecommerce\Shopping Cart
Even more logging added
-
Some Data Integration Activities have yellow warning icon despite being completed OK
Integration
Ensured that data integration jobs show the correct status
-
Dispose WCF client. Close() is not enough when in a faulty state.
Integration
Ensured that WCF clients are disposed of properly in error scenarios
-
Endpoint management: Prettify responses when testing
Integration
-
ExcelProvider: Add Append, Prepend, Constant script values handling
Integration\Data Integration
Added Append, Prepend, Constant script values handling to the excel provider
-
File path for config-file for parameterized scheduled tasks should have root Files/Files
Integration\Framework
File path for config-file for parameterized scheduled tasks should have root Files/Files
-
Batch: When importing products using pagination, do not build index on every batch/page
Integration\Framework\Batch
-
Export data with custom request add-in: General ability to export DW database tables as XML
Integration\Framework\Batch
Added General ability to export DW database tables as XML
-
"Begin" + "Repeat every" on scheduled tasks must behave as expected
Integration\Framework\Batch
Fixed start time on scheduled tasks to behave more in line with expectations
-
Run Scheduled Tasks in sequence based on rank/priority and/or dependency
Integration\Framework\Batch
A checkbox in scheduled tasks stating 'Only run if previous scheduled task was a success' A priority input on scheduled tasks visible in main page (Settings -> Integration -> Scheduled Tasks) A info button or hover over effect on the Priority rank stating: "Scheduled Tasks with highest priority are processed first. (Number 1 has the highest priority)" When scheduled tasks are scheduled to run "on the same time", then they will be completed based on priority rank. Of course this also applies when one scheduled task is initiated while another task is running. If the new task has higher priority, then current task will be cancelled. The old task will be reinitiated when the new task has completed. If the new task has lower priority, then the current task will complete. The new task will be queued and reinitiated when the old task has completed. If the checkbox 'Only run if previous scheduled task was a success' is true, then the new task will only be initiated if the higher ranked task is 'Success'. If the checbox is false, then proceed regardlessly according to priority.
-
Live: Setting to tell LI to send productnumber instead of productId when sending order to ERP
Integration\Framework\Live
Added a setting to tell LI to send productnumber instead of productId when sending order to ERP
-
Add debug=true timings to live integration - that would be priceprovider etc.
Integration\Framework\Live
Added debug=true timings to live integration
-
LS Retail: Frontend - refactor Rapido 3.2 templates so they are ready for 3.3
Integration\Framework\LsRetail
-
LS Retail: Web Hook for Omni to perform PaymentRequest
Integration\Framework\LsRetail
-
Reporting - 'Conversion Provider'
Marketing
-
Update the funnel report with a new graph component
Marketing
-
Update the funnel report to support a second dimension
Marketing
-
Make 'Monitoring' accordion available for everybody
Marketing
-
Add color indicators and percentage for changes
Marketing
-
Include Solution Hostname when looking up Partner information in GetLicense
Marketing
-
Sendgrid: Update provider to use api key
Marketing\Email Marketing
-
Assets category - Move "Assets Category settings" to Ecommerce
PIM
-
Ecommerce - Remove Warehouses and Channels from Order context lists
PIM
Warehouses and Channels are removed from Order context lists
-
Assign to ProductGroup from some rules
PIM
-
Duplicate eCommerce content to Warehouse
PIM
-
Combine products should check for referential integrety on product ids
PIM
-
Channable orders - Edit button must be "hidden" on Order page
PIM\Export and import data
-
Feed provider XML - add DOMAIN information to Image/Assets path
PIM\Export and import data
-
Import UI - Extend with "Advance settings" for EcomProvider
PIM\Export and import data
-
Raw export category fields support
PIM\Export and import data
-
Channable orders - add order relation to Channel
PIM\Export and import data
-
Channable - Run DataIntegration job when data fetched successfully
PIM\Export and import data
-
Channable - Order information back to Channable
PIM\Export and import data
-
Feeds - Implement "LIVE attributes", like Price, Stock, etc.
PIM\Export and import data
-
Expose Ecommerce Shop's as PIM Channels
PIM\Export and import data
-
Channable - ScheduledTask for importing orders
PIM\Export and import data
-
Channable - Make XSLT for importing Channable orders
PIM\Export and import data
-
Add 'In' parameter to DataIntegration Conditional
PIM\Export and import data
-
Export - Optimize API
PIM\Export and import data
-
IceCat - We should show both repository and PIM queries
PIM\Export and import data
-
IceCat - Reorganize settings
PIM\Export and import data
-
Icecat - Add non-existing products to IceCat XML
PIM\Export and import data
-
Icecat provider - add Activity selector, to be called after successful retrieval of data
PIM\Export and import data
-
Audit - Handle Auditing for Assets on products (EcomDetails)
PIM\Export and import data
-
XSLT - Fetch "Unit's values" on FeatureFields, and concat with main-Value
PIM\Export and import data
-
Icecat provider - Created XML file, should have unique filename
PIM\Export and import data
-
Channable XSLT - "additional_image_link" change/appended to follow the new ViewModel
PIM\Export and import data
-
Channable setup - Refine XML
PIM\Export and import data
Refined the setup xml fro channable integration
-
Combine - Add possibility to create Variant options
PIM\Product Edit mode
-
Reference fields - Popup when press "Force values to links"
PIM\Product Edit mode
-
Property - make dialog-window for "Add property" wider
PIM\Product Edit mode
Add prope
-
Personal Presets - Missing information in "Preset page view"
PIM\Product Edit mode
-
Remove obsolete warnings from methods related to ProductCategories
PIM\Product Edit mode
Remove obsolete warnings from methods related to ProductCategories as they are not obsolete
-
Assets category - set Inheritance rules on "Non Categorized Assets"
PIM\Product Edit mode
-
Make GroupDetails available in Frontend (TemplateTags and ViewModel)
PIM\Product Edit mode
-
Grid edit - Language & Number sticky to left border
PIM\Product Edit mode
-
Bulkedit - possible to Select- and Save- PreSets
PIM\Product Edit mode
-
Grid edit - add FieldDisplayGroup selector in "Visible fields"
PIM\Product Edit mode
-
Grid Edit - 'Set values' functionality on column header
PIM\Product Edit mode
-
Grid edit - Make "Grid edit" button available in PIMProductEdit
PIM\Product Edit mode
-
Grid Edit - Append with "View mode" function
PIM\Product Edit mode
-
Grid edit - Add sorting and filtering to column header
PIM\Product Edit mode
-
Field type - Implement Concat function (Auto-generated field data)
PIM\Product Edit mode
-
PIM + Ecom: Remove checkmarks and sort alphabetically
PIM\Product Edit mode
Removed checkmarks in variant group dropdown and sorted them alphabetically.
-
Field type - Implement =SUM calculation function on multiple fields values (Auto-generated field data)
PIM\Product Edit mode
-
Assets preview - add Preview function on PDF, like we have in Files
PIM\Product Edit mode
-
Grid edit - in column Menu, show all functions
PIM\Product Edit mode
-
Grid Edit - Maintain ListBox with multiple selection
PIM\Product Edit mode
-
Show warning if Calculated field fails
PIM\Product Edit mode
Show warning if Calculated field fails
-
Digital assets on Group level
PIM\Product Edit mode
-
Field type - make selectable, what "Display type" should be used
PIM\Product Edit mode
When creating fieldtypes using a provider it is now possible to define what kind of control should be used for the display of the field
-
Insert default AssetCategory 'Images' in the database
PIM\Product Edit mode
Added default asset category Images
-
FieldDisplayGroups - Extend with SystemName option
PIM\Product Edit mode
-
Image pattern - Append Product Standard field "ProductEAN" to options
PIM\Product Edit mode
Added Product Standard field "ProductEAN" to options for image patterns
-
Add 'Comments' to Ribbon in PIM
PIM\Product Edit mode
Added 'Comments' to Ribbon in PIM (must be enabled in Settings
-
Group filtering - Add search/filter to Warehouse "Group view page" [DBK]
PIM\Product View mode
Typeahead search has been implemented warehouse nodes in PIM
-
Field dropdowns - Add search function various places
PIM\Product View mode
-
Listview - Lock "Variant fields" to right side columns
PIM\Product View mode
-
PIM tree - "On Open", don't calculate/lookup for below items
PIM\Product View mode
Because of performance issues, we have changed how our 'expand tree' functionality works.
-
Listview - Select more than 1000 products to export
PIM\Product View mode
-
Listview - make selectable which fields there are shown on Variants
PIM\Product View mode
Listview - make selectable which fields there are shown on Variants
-
Channels - Listview, make it possible to search, sorting and select fields
PIM\Product View mode
-
CompletionRule-based Query
PIM\Search and Navigation
-
Save settings - Ask for overwrite existing (Yes/No)
PIM\Search and Navigation
Save settings - Ask for overwrite existing (Yes/No)
-
Make queries respect what products a given user can see
PIM\Search and Navigation
-
Improve performance of reading image attributes
Platform
-
Dynamicweb.Imaging - Implement functionality for converting between PDF and image
Platform
-
Dynamicweb - Rewrite use of System.Windows.Media
Platform
-
Remove httpcontext from 404 handler
Platform
Removed httpcontext from 404 handler
-
Limit tracking of sessions
Platform
Tracking of sessions can be limited / configured from backend in Settings -> Web & Http -> Tracking
-
Dynamicweb - Rewrite use of System.Web
Platform
-
Dynamicweb.Imaging - Create abstractions and providers
Platform
Imaging has been restructured to use providers instead
-
Dynamicweb.Security - Rewrite Windows impersonation
Platform
Rewrote Windows impersonation
-
Dynamicweb.Security - Rewrite use of System.Web.HttpContext
Platform
Dynamicweb.Security - Rewrote use of System.Web.HttpContext
-
Add warning when using PricesInDbIncludesVAT
Platform
-
Dynamicweb.Scheduling - Rewrite code for registering windows scheduled task
Platform
Rewrote code for registering windows scheduled task
-
Make it possible to disable SelectionBox control
Platform
-
Dynamicweb.Hosting - Move to level 4
Platform
Moved hosting code to level 4
-
Improve URL reset performance
Platform
-
Minimum and maximum values for FacetViewModel
Platform
Added minimum and maximum values for FacetViewModel
-
Remove dependency on Microsoft.Build (MSBuild)
Platform
Removed dependency on Microsoft.Build (MSBuild)
-
Dynamicweb.Security
Platform\API
Removed newtonsoft dependency from Security
-
Support showpricewithvat from context on priceviewmodel instances.
Platform\API
Support showpricewithvat from context on priceviewmodel instances.
-
Add formatted properties to priceviewmodel
Platform\API
Added formatted properties to priceviewmodel: PriceWithoutVatFormatted PriceWithVatFormatted VatFormatted VATPercentFormatted
-
Make it possible to get a list of valid product discounts using the API
Platform\API
Made it possible to get a list of valid product discounts using the API
-
Ensure that exceptions are not cached when using Lazy
Platform\Cache
Ensure that exceptions are not cached when using Lazy
-
Change caching in Dynamicweb.Ecommerce
Platform\Cache
Changed caching in Dynamicweb.Ecommerce
-
Implement cachepage for ICacheStorage
Platform\Cache
-
Create initial caching framework
Platform\Cache
Created initial caching framework
-
Implement NLB support for ICacheStorage
Platform\Cache
Implemented NLB support for ICacheStorage
-
Change how URL index handles timeout. And log where reset is called from to event viewer.
Platform\Customized URLs
Changed how URL index handles timeout. And now we og where reset is called from to event viewer.
-
Lower severity on "Expired login session"
Platform\Dashboard
Expired login sessions will no longer result in an error in monitoring
-
Dashboard: Sql Query list widget.
Platform\Dashboard
added Sql Query counter widget.
-
Deployment of grid rows
Platform\Deployment Tool
-
Save a deployment to disk
Platform\Deployment Tool
-
Support feed templates in product catalog app for viewmodel
Platform\Frontend pipeline
Product catalog app for viewmodel now support feed tempaltes
-
Health UI (phase 2)
Platform\Monitoring
-
Implement 'EcommerceDataHealthProvider'
Platform\Monitoring
-
Health UI (phase1)
Platform\Monitoring
-
ContentDataProvider
Platform\Monitoring
-
Add groupid to navigation viewmodel
Platform\Navigation
Added groupid to navigation viewmodel
-
Make a page showing all caches
Platform\Performance
Made a page showing all caches
-
Search statistics - All searches without result or best performing products
Platform\Searching
Added optional tracking of queries
-
Did you mean on several words in one search
Platform\Searching
Improved "Did you mean" functionality in search
-
Implement form antispam in comments and rating
Platform\Security
-
Backend change password should not autofill old password
Platform\Security
-
Do not logoff the frontend user when logging off the backend user.
Platform\Security
-
Update xss regex to be more recilient to whitespace and additional parameters
Platform\Security
-
Add groupid to navigation view model
Platform\Templates\View models
Added groupid to navigation view model
-
SQL Firehose UI improvements
Settings
-
Sql firehose: SQL execution history
Settings
-
Change image resizing to use interpolation and antialias
Settings
Added interpolation to drawing of images and antialias for rendering to improve the resized result for scaling large images to relatively small versions. Remember to flush image cache after upgrade. Empty cache in Files/cache.net/images.
-
Improve default cookie manager templates
Settings\Cookie Manager
Cookie manager template have been improved
-
Enable use of custom user fields on groups
Users
-
Validate addresses in usermanagement
Users
-
New UserAddress.Selected tags
Users
New tags> UserManagement:User.UserAddress.SelectedForDeliveryFields UserManagement:User.UserAddress.SelectedForCustomerFields
-
Update Azure B2C to support customer number
Users\External Authentication
-
Use ShopID during recovery password in Extranet module
Users\Extranet
-
Exclude inactive users from recover password
Users\Extranet