Dynamicweb 9.6

Release date: January 29th 2019

Dynamicweb 9.6 has been released with the following headline features:

Dynamicweb PIM has been improved with several new features and improvements:

  • The concept of completeness allows you to calculate completeness for different purposes based on customizable rules.
  • A new Auditing tool collects audit trails on changes to products, groups and shops/warehouses
  • You can now define field display groups and use them as presets in the visible field selector and on PIM queries
  • Set up structure queries and generate dynamic group-like structures from product data
  • A full set of templates for publishing products to Amazon have been developed, in preparation for a future Amazon launch in the Nordic region
  • Various improvements to bulk-edit and searching in lists

In Ecommerce you can now create custom field types that handle custom functionality such as regional conversion of measurements (inches to centimetres, gallons to litres, etc.). Loyalty point rewards can now be shown in product list and product details templates. Discounts have been split into order discounts and product discounts (formerly orderline discounts) and updated with a number of community-driven improvements and options. Product indexes can now be set to rebuild whenever a product in a shop is changed.

In user management the user ID is now shown in the footer on all users. Changes to the Extranet app have made it possible to list consents as a part of the user profile, and to give or withdraw consents when editing a profile.

On the content front Items have seen minor improvements; checkbox list options may now be sorted, and it is now possible to organize and group your website or page settings using the new item tab item field. This is used extensively on Dynamicweb Rapido. A new color swatch item type lets you define website-wide presets, generate brand colours from a base colour or an image, and more.

Forms for Editors has been had an UI update with help texts, icons, descriptions and more information available in general. Larger forms may be paged for a better user experience, and you can export form data to excel.

At the platform level the new Search for Editors tool allows you to quickly configure a product search on a solution, generating an index, a query, and a set of facets based on the configuration. This configuration can then be used in the product catalog app or exported as a regular query and modiefied. The Image Handler tool now allows you to set focal points on images - let GetImage resize and crop the image and keep the focal point in the image.

Monitoring contains new surveillance options, reporting to Dynamicweb, new logging areas, and a better overview of your indexes and their health.

An early BETA version of a new Tracking & Reporting framework is also included in the release; it will be improved in the coming months. It is built from the ground up for scale and performance and will be a major improvement compared to the old statistics module.

On a technical note, the Razor engine has been updated to support C# 6. Performance has also been improved, and exceptions are now more expressive and easier to use for debugging purposes.

  • Datalist publishing module should allow to show time for datetime columns
    Apps\Data Lists
  • Improve help texts and descriptions in form settings for paragraph
    Apps\Forms for editors
    Help texts have been improved in forms for editors paragraphs settings
  • Rework the Edit field UI to work with new rules [rolled back]
    Apps\Forms for editors
  • Add support for rich text editor
    Apps\Forms for editors
  • Show statistics for forms for editors
    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
  • Make changes to the Dynamicweb.Data for its conversion to C#
    Cleanup and refac
  • Convert VB projects to C# - Level 7
    Cleanup and refac
  • Make changes to the Dynamicweb.Security (and other related projects) for its conversion to C#
    Cleanup and refac
  • Sortable checkbox list control (Item type field)
    Content\Items
  • Deleting the last shop should not be possible
    Ecommerce
    Implemented check to prevent you from deleting the last shop
  • Make it possible to use currency code instead of symbol when using regional settings for currencies
    Ecommerce\Currency
    New checkbox added to make it possible to use currency code instead of symbol when using regional settings for currencies
  • Make Loyalty points work on product catalog
    Ecommerce\Loyalty Points
    New tags for products shows how much product point you will receice when buy it The condition reward tags shows what rewards you could receive if some additional conditions will performed There are 6 types of conditions: Custom - to use in custom point providers ProductQuantity - More quantity is needed TotalPrice - More amount is needed Voucher- Voucher code is needed Shipping - A specific shipping is needed Payment- A specific payment is needed If other conditions (eg country) is not satisfied - such reward is not rendered Note - reward points work only for logged in users Example of template tags for product rewards: For Razor: <span class="loyalty" style="background-color: red"> TotalPoints: @product.GetValue("Ecom:Product:Reward.TotalPoints")<br/> Reward Points: @product.GetValue("Ecom:Product:Reward.Points")<br/> Percentage: @product.GetValue("Ecom:Product:Reward.Percentage")<br/> Reward Type: @product.GetValue("Ecom:Product:Reward.Type")<br/> Reward Id: @product.GetValue("Ecom:Product:Reward.Id")<br/> Reward Name: @product.GetValue("Ecom:Product:Reward.Name")<br/> Conditions: <ul> @foreach (var reward in product.GetLoop("Product.ConditionRewards")) { <li> Reward Name: @reward.GetValue("Ecom:Product:ConditionReward.Name")<br/> TotalPoints: @reward.GetValue("Ecom:Product:ConditionReward.TotalPoints")<br/> Reward points: @reward.GetValue("Ecom:Product:ConditionReward.Points")<br/> Percentage: @reward.GetValue("Ecom:Product:ConditionReward.Percentage")<br/> Reward Type: @reward.GetValue("Ecom:Product:ConditionReward.Type")<br/> Reward Id: @reward.GetValue("Ecom:Product:ConditionReward.Id")<br/> Rule name: @reward.GetValue("Ecom:Product:ConditionReward.Rule")<br/> <ul> @foreach (var condition in reward.GetLoop("ConditionTypes")) { <li> Condition type: @condition.GetValue("Ecom:Product:ConditionReward.ConditionType")<br/> Condition objective: @condition.GetValue("Ecom:Product:ConditionReward.ConditionObjective")<br/> </li> } </ul> </li> } </ul> </span> Old tags: <span class="loyalty" style="background-color: red"> TotalPoints: <!--@Ecom:Product:Reward.TotalPoints--><br/> Reward Points: <!--@Ecom:Product:Reward.Points--><br/> Percentage: <!--@Ecom:Product:Reward.Percentage--><br/> Reward Type: <!--@Ecom:Product:Reward.Type--><br/> Reward Id: <!--@Ecom:Product:Reward.Id--><br/> Reward Name: <!--@Ecom:Product:Reward.Name--><br/> Conditions: <ul> <!--@LoopStart(Product.ConditionRewards)--> <li> Reward Name: <!--@Ecom:Product:ConditionReward.Name--><br/> TotalPoints: <!--@Ecom:Product:ConditionReward.TotalPoints--><br/> Reward points: <!--@Ecom:Product:ConditionReward.Points--><br/> Percentage: <!--@Ecom:Product:ConditionReward.Percentage--><br/> Reward Type: <!--@Ecom:Product:ConditionReward.Type--><br/> Reward Id: <!--@Ecom:Product:ConditionReward.Id--><br/> Rule name: <!--@Ecom:Product:ConditionReward.Rule--><br/> <ul> <!--@LoopStart(ConditionTypes)--> <li> Condition type: <!--@Ecom:Product:ConditionReward.ConditionType--><br/> Condition objective: <!--@Ecom:Product:ConditionReward.ConditionObjective--><br/> </li> <!--@LoopEnd(ConditionTypes)--> </ul> </li> <!--@LoopEnd(Product.ConditionRewards)--> </ul> </span>
  • Take into account reward currency for point calculation
    Ecommerce\Loyalty Points
    It's now possible to create a reward without a currency If currency is not set: Calculation take sthe context currency, so : 100DKK = 10 point 1000RUB = 100point If currency is set: Example 1: 10% DKK: 100DKK = 10 point 1000RUB = 10 point Example 2: 10% RUB: 1000RUB = 100 point 100DKK = 100 point
  • Make a discount work for all variants when a master is selected
    Ecommerce\Order discounts
  • Make it so that free fee takes discount into consideration for shipping fees
    Ecommerce\Order discounts
  • Make it possible to give discounts above 100000000
    Ecommerce\Order discounts
    Made it possible to give discounts above 100000000
  • Order Id in the order flow emails subject
    Ecommerce\Order Flows
  • Case of email being Nothing is not handled correctly
    Ecommerce\Orders
    Case of email being Nothing is now handled correctly
  • Implement URL handler for payment order operations
    Ecommerce\Payment
    Ecom webapi extended to support capture operations Examples: /dwapi/payments/capture/{orderid} Full capture /dwapi/payments/capture/{orderid}/{amount} Partial capture (not supported by all gateways) /dwapi/payments/return/{orderid} RMA return /dwapi/payments/return/{orderid}/{amount} RMA partian refund /dwapi/payments/cancel/{orderid} Cancel order
  • Update Quickpay card types list
    Ecommerce\Payment
    New card types are added in Quickpay Payment provider and obsolete card types are removed.
  • Add 3 fields to the product index that gives us information about the translation status of a product
    Ecommerce\Product Search
    New fields in product index: ProductIsFullyTranslated - true/false ProductTranslatedTo - array of languages ProductTranslationCount - count of languages where the product is translated
  • 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)
  • Revenue and Average revenue columns in discount list
    Ecommerce\Vouchers
    On the list of discounts we have added 2 new columns. Revenue column: Total revenue (Total order amount incl VAT) on orders that has this discount, in default currency Average revenue column: The average revenue (total order amount incl VAT) in default currency. The Total revenue/number of order with that discount.
  • Smart Integration: Implement UI
    Integration\Data Integration
  • Info box in top of Audit lists, when Audit is disabled
    PIM
    Added an info bar in Audit lists to inform the user, when Audit is disabled.
  • Structured queries: Red icon if structure settings is incorrect
    PIM
    The structured data icon is marked as red and hide child nodes when settings for the structured query is incorrect
  • PIM - Dashboard widget should be able to redirect to Object/Query
    PIM
    It is now possible to click to object/query from Query Counter Widget, Query List Widget and Query Grid Widget.
  • POC - Amazon Product Feed
    PIM\Export and import data
  • Convert Amazon Razor templates to ViewModel templates
    PIM\Export and import data
  • Feed performance optimizations
    PIM\Export and import data
    When exporting a large amount of products the request is now split up in multiple smaller requests to prevent the request from timing out.
  • Feeds - Possible to make Folder structure
    PIM\Export and import data
  • Convert 'Digital Warehouse' format template to ProductViewModel templates
    PIM\Export and import data
  • Use Auditing in Ecommerce - Groups
    PIM\Export and import data
    New auditing API has been implemented in Ecommerce
  • Audit UI
    PIM\Export and import data
    UI for Auditing.
  • Add 'Auditing' RibbonButton in GroupEdit
    PIM\Export and import data
  • Add 'Auditing' RibbonButton in ShopEdit
    PIM\Export and import data
  • Audit - Search for current + children
    PIM\Export and import data
  • Audit - UI changes in Audit Dialog
    PIM\Export and import data
  • Audit - Extend AuditDetails to be able to take multiple Audits
    PIM\Export and import data
  • Audit - Add AuditPage to Settings/System
    PIM\Export and import data
  • Audit - UI changes to Audit Details
    PIM\Export and import data
    Changes in Audit Details UI.
  • Add 'Enable Audit' checkbox inside Settings/System/Solution Settings
    PIM\Export and import data
    Checkbox for enabling Audit in Solution settings. By default Audit functionality is disabled.
  • Channel - All Products fields should be "Read only"
    PIM\Export and import data
  • Visible fields - Select presets of Visible fields
    PIM\Product Edit mode
  • Bulk Edit - Extend Bulk Edit functionality with Images
    PIM\Product Edit mode
  • Bulk Edit - Extend functionality to support VariantFields
    PIM\Product Edit mode
    Extended variants are now editable from the List Bulk Edit. Due to performance issues (depending on server setup), we have set some limits. We have implement an upper limit for how many product records, we will allow Bulk Edit to change at once. 1) < 10.000 records (products x (variants+1) x languages): A simple “Confirm action” dialog is shown to accept to save the selected products. 2) Between 10.000 records and 25.000 records: The user are warned that many product records are selected: "It says: You have selected a large number of product records to edit. This impacts the time it takes to save the selection, expect up to 10 minutes processing time before the system is responsive again. 3) > 25.000 records: User can't proceed and needs to re-select products/languages. Message the user is: You have selected too many product records and saving is not possible. Please modify your selection and include fewer products, variants or languages. In bulk edit list Images are not saved at variants (in the database) even if field settings allows variant differentiation on Images. Images follows the new image handling and not field settings.
  • Images - FieldSettings has effect on DetailImage Inheritance
    PIM\Product Edit mode
    The only thing now, which handles inheritance of Details, is 'Image categories'.
  • Field type - providers should define the db data type
    PIM\Product Edit mode
    Database datatype is now dictated by the FieldTypeProvider
  • Implement 'Weight' provider
    PIM\Product Edit mode
    Added a Weight Field type provider
  • Implement 'Length' provider
    PIM\Product Edit mode
    Added a Length Field type provider
  • Implement 'Volume' provider
    PIM\Product Edit mode
    Added a Volume Field type provider
  • Images - possible to make multi-selection of images
    PIM\Product Edit mode
    It is now possible to make multi-selection of images
  • Bulk edit - search/filtering in "Affected Products"
    PIM\Product Edit mode
  • Bulk edit - Add functionality/button "Save close"
    PIM\Product Edit mode
  • Bulk edit - Reimplement 'Create non-existing Property Fields'
    PIM\Product Edit mode
    It is now possible to create Properties when bulk editing. Just enable the checkbox "Create non-existing property fields".
  • Limit Combine modes
    PIM\Product Edit mode
  • Images - Search attributes, possible to define in ImageSelector
    PIM\Product Edit mode
    Product number is now preadded to the search box of image selectors in PIM
  • Visible fields - Maintain Visible field presets
    PIM\Product Edit mode
  • Visible fields - Create & Edit Field presets
    PIM\Product Edit mode
  • Make "Visible field presets" available in Query definition
    PIM\Product Edit mode
  • ConversionUnits UI
    PIM\Product Edit mode
  • Add more UNIT values to functionality
    PIM\Product Edit mode
    Following units are now added as default units: WeightFieldTypeProvider Metric: mcg, mg, g, kg, ton US/GB: oz, lb LengthFieldTypeProvider Metric: mm, cm, m, km US/GB: in, ft, yd, mi VolumeFieldTypeProvider (!!! difference between US & GB, and Liquid & Dry) Metric: ml, dl, l, cm3, dm3, m3 US, Liquid: oz, pt, gal US, Dry: pt, gal GB: oz, pt, gal
  • Field type - Only save if required fields are filled out
    PIM\Product Edit mode
  • Bulk Edit - Keep selections on Save
    PIM\Product Edit mode
    When the "Save" has been pressed, and you return to the BulkEdit window, you now see the same "Languages", "Affect products" and "Fields" selections, which was made in the previously. Now you can continue working with the same settings.
  • Add Shop Selector to 'FieldDisplayGroup' edit
    PIM\Product Edit mode
    Added a shop selector to Field display group edit page.
  • Add Translations to FieldDisplayGroups
    PIM\Product Edit mode
  • Bulk Edit - Extend functionality to support CategoryFields & PropertyFields
    PIM\Product Edit mode
    Only product category fields from the current group are available in bulk edit field selector when using bulk edit from product edit / product list in a group. No product category fields are available in bulk edit field selector when using bulk edit from all products list.
  • Group sorting - Icon/function should be moved into Group menu
    PIM\Product View mode
    PIM subgroup sorting has been moved to the context menu
  • Listview - Save ViewSettings in PersonalSettings
    PIM\Product View mode
    View Settings are now saved in Personal settings.
  • UI ProductList - show the Completeness status
    PIM\Product View mode
  • UI ProductEdit - show the Completeness status
    PIM\Product View mode
  • Core - Make the logic to calculate the Completeness value
    PIM\Product View mode
  • Missing info - Dialog/tooltip
    PIM\Product View mode
  • Create 'Completion Rule' UI
    PIM\Product View mode
  • Add 'Completeness rule' to ShopEdit
    PIM\Product View mode
  • UI Publishing - Completeness status per Channel
    PIM\Product View mode
  • Create new 'Completeness languages' in ShopEdit
    PIM\Product View mode
    In Warehouse edit you now have a Completion rules section where you can select the languages (together with the selected fields the fields) that should be used in the completion calculation.
  • Completeness - Missing Fields dialog should respect FieldSettings
    PIM\Product View mode
  • Completeness - Add filtering
    PIM\Product View mode
  • Listview - product list should remember page no. and view settings
    PIM\Search and Navigation
    PIMProductList now remembers view settings after editing a product - PageSize - Page number - Sorting - Search/filtering
  • Automatic structuring - UI structure
    PIM\Search and Navigation
    Ui for the new Dynamic structure. Note: The tree in the new dynamic structure is a bit different than the tree in PIM warehouses and Ecom Shops because the structure tree is based on indexing. According to Steffen we can't change this new behavior without loosing a lot of performance in the tree because if the way it works with indexing. This means that: All folders have an arrow - even if there are no subgroups (screenshot 1) All folder counters include the variants (screenshot 2) which ecom and warehouses don’t (screenshot 4 and 5).
  • Automatic structuring - Query/SmartSearch with chaining functionality
    PIM\Search and Navigation
  • Dashboard: Navigate in tree when clicking on Widget
    PIM\Search and Navigation
  • ListView - Simple column filtering in Query ListView [rolled back]
    PIM\Search and Navigation
    You can now limit/extend the search in PIM listviews. The limitation dropdown is different in ordinary PIM product lists and query product lists. In PIM Query lists (Favorite/My/SharedQueries and Structured Queries) that use indexing - the dropdown contains: - Limited fields - All fields + The fields that are selected in Visible fields In PIM product lists (Warehouses) - the dropdown only contains: - Limited fields - All fields Limited: Search in ProductId, ProductNumber, ProductName All: Search in all fields Selected field: Search only in that field
  • Products "hit in Query", different from Default Language, are not shown in Productlist
    PIM\Search and Navigation
    When using queries in PIM to find products, we always shows the entire family, because this is how the ProductList is implemented. Now it is more visible for the users, which product records are actually match the query criteria. The products that are dimmed don't match the search criteria.
  • Query - Add ProductImageDefault to ProductIndex
    PIM\Search and Navigation
    ProductmageDefault now included in default product schema extender
  • Queries - Add Completion section, with Rules & Language
    PIM\Search and Navigation
    In PIM Query edit you can now select completion rules and languages. Completion usage is not implemented for queries - yet. It's postboned to the next release.
  • 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.
  • Products that has been "hit in Query", are not shown in Productlist
    PIM\Search and Navigation
    When using queries in PIM to find products, we always shows the entire family, because this is how the ProductList is implemented. Now it is more visible for the users, which product records are actually match the query criteria. The products that are dimmed don't match the search criteria.
  • New color selector
    Platform
  • Presets on website settings
    Platform
  • Implement focal support for GetImage.ashx
    Platform
  • Color swatch - show/hide Edit icon for users
    Platform
  • Implement focal points when rendering images.
    Platform
    New tags for paragraph templates @GetIntege("ParagraphImage.FocalX") - returns a number -100-100 @GetIntege("ParagraphImage.FocalY") - returns a number -100-100 @GetString("ParagraphImage.FocalPointParameters") - returns "&x=12&y=-12" @GetBoolean("ParagraphImage.ImageHasFocalPoint") - true or false if x or y is <> 0 New properties for ParagraphViewModel .ImageFocalX .ImageFocalY .ImageHasFocalPoint() .GetImageFocalPointParameters() New tags for item based paragraphs - or all item based editors: @GetIntege("Item.Image.FocalX")<br /> @GetIntege("Item.Image.FocalY")<br /> @GetString("Item.Image.FocalPointParameters") @GetBoolean("Item.Image.ImageHasFocalPoint") where image is systemname FileViewModel based templates have 2 new properties and 2 new methods .FocalX .FocalY .GetFocalPointParameters() .HasFocalPoint()
  • Remove unnecessary packages from Dynamicweb projects
    Platform
    Removed unnecessary packages from Dynamicweb projects
  • List of index health and widgets for dashboard.
    Platform
  • Search navigation tags in backend search
    Platform
  • Create 'Deprecate Small, Medium and Large image features' checkbox
    Platform
    New checkbox in Setttings -> Ecom -> advanced -> Images to deprecate the old S/M/L image rules. When checked all related UI will be hidden, tags not rendered and patterns not matched
  • Create 'Convert images' button in ShopEdit
    Platform
  • Change page structure validator to log events instead of sending emails
    Platform
  • Hide live integration information on user edit
    Platform
    The Live integration fields on user edit are now hidden when no live integration exists
  • Be able to get available swatches colors, beside the item types
    Platform
  • Dynamicweb setup wizard, add posibility to map /Files to existing folder.
    Platform
    Setup wizard allows you to map to an existing folder instead of creating a new one. You also have the option of using the globalsettings from the mapped files or using a new one
  • Make cached service and repository for Loyalty
    Platform\API
    Loyalty point code has been optimized
  • Add Product fields to ProductViewModel
    Platform\API
    New properties available in product view model Updated - Date (product.Updated) Keywords - String (product.Meta.Keywords value) Weight - Double (product.Weight) StockLevel - Double (product.UnitStock)
  • Add StockUnits to ProductViewModel
    Platform\API
    ProductViewModel now supports DefaultStockUnit and StockUnits
  • Implement ItemTypeTabEditorAttribute for code-first items
    Platform\API
    Implement ItemTypeTabEditorAttribute for code-first items
  • Make the PriceInfoCurrencyException reveal what amount and what currency it tries to sum
    Platform\API
    Made the PriceInfoCurrencyException reveal what amount and what currency it tries to sum
  • Make support for facet groups
    Platform\API
  • Hide irrelevant information in feeds and webapi
    Platform\API
  • Make it possible to add UserIds to the webapi request
    Platform\API
    Webapi requests to GetProduct, GetProductList and GetProductGroupList now support userid parameter e.g. /dwapi/Products/GetProduct?Id=PROD25&variantId=&languageId=LANG1&currencyCode=USD&countryCode=DK&userId=1006
  • Fix wrong namespaces on a few types
    Platform\API
    Fixed wrong namespaces on a few types
  • Add presets to color editor used for dashboards
    Platform\Dashboard
    Added presets to color editor used for dashboards
  • Make list widget return "no records in view" when there are no entires
    Platform\Dashboard
    new parameter available in widget xml files <Parameter addin="Dynamicweb.Dashboards.Monitoring.Widgets.EventListWidget" name="NoItemsMessage" value="No events registered " /> Message will be shown instead of blank when no events are found
  • Implement new way of counting products
    Platform\License
  • Add db version to license reporting
    Platform\License
    Db version has been added to license reporting
  • Add new widgets to monitoring dashboard
    Platform\Monitoring
    Added more widgets to the default monitoring dashboard
  • Minor UI updates to eventviewer
    Platform\Monitoring
    Added reload button to event viewer and other minor UI changes
  • Return simple 404 page for requests to getimage where image does not exist
    Platform\Performance
    Requests to getimage where image does not exist now return a simple 404 instead of going through the 404 handler
  • Search for editors: UI issues
    Platform\Searching
    Various UI fixed in Search for editor.
  • Make SFE UI v1
    Platform\Searching
  • SFE SchemaExtender
    Platform\Searching
    Added SFE SchemaExtender
  • Improve the ui of IndexSearch configuration
    Platform\Searching
  • Make ease of use buttons
    Platform\Searching
    Search for editors configuration can be exported to "regular" repository config files
  • Make multiple simultaneous SFE configurations work
    Platform\Searching
  • Auto-build index should trigger on product delete
    Platform\Searching\Indexing
    Auto-build now works when you delete a product in PIM and Ecommerce (When "Auto-build index when products are updated").
  • Implement Auto-build in Ecommerce shops
    Platform\Searching\Indexing
    Autobuild index now works in Ecommerce too.
  • Make Lucene write lock timeout configurable
    Platform\Searching\Indexing
    Made it possible to configure the writelock timeout for the lucene provider using /GlobalSettings/System/Repository/LuceneIndexWriter/WriteLockTimeout The timeout is in ms. Default value is 2000 = 2 seconds.
  • Ensure that all kind of debugging parameters can be shut off for non logged in users
    Platform\Security
  • Implement UI to Edit/View marketing reports
    Platform\Statistics
  • Implement API for marketing reports
    Platform\Statistics
  • Tracking - Session device
    Platform\Statistics
  • Tracking - Session source (campaign)
    Platform\Statistics
  • Tracking - Configuration
    Platform\Statistics
    New settings in Settings -> Web & http -> Tracking to control whether new and old statistics / tracking in functionality is enabled and how often storage should be shifted to a new table
  • Detect device and platform override from querystring
    Platform\Templates\Designs and Layouts
    Devicetype override via query string has been added - e.g ?devicetype=Mobile
  • Razor engine tuning
    Platform\Templates\Razor
  • Razor templates - Improved error handling
    Platform\Templates\Razor
  • Razor templates - Support for C# 6 features
    Platform\Templates\Razor
  • Log url for template rendering errors
    Platform\Templates\Razor
    The URL is now logged when encountering template rendering errors
  • Change translation window to not have too large labels leaving little room for translation
    Platform\Templates\Translate
    Larger text fields in Translation list.
  • Add TotalPriceWithoutFees property to cart viewmodel
    Platform\Templates\View models
    New property on cart view mode : TotalPriceWithoutFees
  • 'Default' property on AlternativeImagePatterns
    Platform\Templates\View models
    Added 'Default' property on AlternativeImagePatterns
  • Fix unit tests related with changes in Configuration.Mock project
    Platform\Unit test
  • Settings->developer->image handler: move "px" to addons on input fields
    Settings
  • Add checkboxes for throwing exceptions from templates and modules
    Settings
    New options available in Settings -> Web & Http -> Security to control debugging
  • Change direct path list to show 100 at a time instead of 25
    Settings\Direct paths
    Direct path list defaults to show 100 at a time instead of 25
  • Do not set server.timeout on shcedule task handler if set in web.config
    Settings\Scheduled tasks
    If scheduled task timeout in web.config is set to a value higher than 3600 it will take precedence over the builtin timeout
  • Add user id to footer of edit user.
    Users
  • When an existing user signup for newsletter using create profile and approval...
    Users\Extranet
  • Info box about no available fields
    Users\User groups
  • Hide or disable Group admins button when New permissions are enabled
    Users\User groups