New features and improvements included in Dynamicweb 8.4.1.

Release: 29/4-2014
 
Check 8.4.1 Important notes before upgrade.

SUMMARY

Based on customer feedback we have introduced more than 100 small additions and improvements to existing capabilities. We have however also been able to implement a couple of brand new features in the release together with 50 bug fixes of known issues.

Online Marketing
Email Marketing now gives you the option to resend a mail to recipients that did not open first time around. Partial unsubscribe has been introduced allowing the user to unsubscribe only from a certain category of mails.  Users can now directly be logged in to your website by following a link in the mail. With this release Mandrill is a supported email delivery provider. Fallback tags will easily let you handle scenarios with empty user fields in personalized mails.

Ecommerce
The Customer Center has been enhanced to let users create wish lists on your Dynamicweb Ecommerce site. EPay is now a supported payment gateway. When editing and creating products in the backend all available fields can be flagged as required. Attaching multiple products to a group has been made easier and the content of product category fields can be locked across variants and languages.

Content Management
A lot of new tags have found their way into our Razor implementation. SSL settings can now be enforced on a website. By popular request it is finally possible to edit page and paragraph templates directly from the ribbon. Numerous additions and improvements have been made to the item structure: module tab available on item based paragraphs, limit items to containers, product selector fields for items, activation and deactivation date on items, filtering items with the item publisher, etc., etc. Check release notes for full list.

Platform
The way we collect statistics has been optimized to ensure better performance on sites with heavy traffic. We are now supporting MVC out of the box – making it possible for developers to develop custom modules using Model View Controllers and WebAPI.

Integration Framework
The integration framework is on track continuously fixing minor issues based on partner feedback while plotting out the further course in accordance with customer needs.

Online Marketing

  • Fallback tags in Email Marketing

    Area: E-mail Marketing
    Description:
    Fallback values haven been implemented with email marketing tags like {{Email:User.Name || "customer"}} which will fall back to "customer" if no name was found.

    Version: 8.4.1.0
  • Make a delivery provider for Mandrill

    Area: E-mail Marketing
    Description:
    Email Marketing now supports sending via the Mandrill provider. Limitation: We are only able to fetch up to 1000 bounce infos from Mandrill, so if it'sa suspected that more that 1000 recipients bounced, the Mandrill administration should be consulted

    Version: 8.4.1.0
  • Email stats for opened emails

    Area: E-mail Marketing
    Description:
    More easily viewable pie charts added for email opening and clicking statistics.

    Version: 8.4.1.0
  • Notification before sending an email

    Area: E-mail Marketing
    Description:
    Added notifications that allow to modify EmailMessage before it is sent as it is known from pages.

    Version: 8.4.1.0
  • Resend Email

    Area: E-mail Marketing
    Description:
    Now possible to resend mails to all the recipients that did not open the original mail.

    Version: 8.4.1.0
  • Multi-shop/categories unsubscribe

    Area: E-mail Marketing
    Description:
    It is now possible to unsubscribe only from selected email groups and to uncheck selected custom checkboxes on the user in the processs.

    Version: 8.4.1.0

Ecommerce

  • Mandatory fields in Ecommerce

    Area: Ecommerce
    Description:
    Ecom fields can be set to required. If you try to save a product without a value in a required field you will get a warning

    Version: 8.4.1.0
  • Add date to context for Ecommerce

    Area: Ecommerce
    Description:
    We have implemented a new property on Dynamicweb.eCommerce.Common.Context: "OrderTime As DateTime". This property can be activated in Management center -> eCom->Advanced->General->Allow different context dates and returns DateTime.Now if not set. The value of this property can be used when calculating prices, discounts, periods and all other places where products or order (or related information) are affected by time. The product.Created and product.Updated are not changed. The order.Date and order.Modified are not changed either.

    Version: 8.4.1.0
  • Wish Lists (My Lists)

    Area: Customer Center
    Description:
    We have implemented My Lists that can be used for e.g. Wish lists - a classic feature for retail customers: The bride and groom create a wish list to the web shop and then selecting products from the product list/detail to their wish list. An extranet user is able to - Create lists in different types - View the lists - Edit lists where you can change the name and type of the list and edit the product amount or delete the products. - Delete the lists - Send a mail with your list to friends and family. The main contains a link to a public page with list where the products can be added to a cart. An extranet user can create several lists in different types and the lists are administrated in the Customer Center. In the paragraph settings for Customer Center you can select a new template called MyList.html in the MyLists field (former Favorites field and Favorites.html). When lists are created in Customer Center you have a new set of tags and loops for the product list/detail templates. In the paragraph settings the Product Catalog you can select a new product list template called ProductListCustomerCenterList.html where a setup that can be used with MyList.html in Customer Center. When you use this template you are able to select the lists that are created in Customer Center and add products to the selected list. We have created a small "Show List" module for pages. This module is used by My Lists in the Customer Center for the public link that you can send by mails to friends and family. You need to create a page and insert the "Show List" module on the page - and then select the page in the "Public List" field in the Link section in paragraph settings for Customer Center. When the public link in the mail is clicked, the page with the "Show List" module is opened and shows the list (if the list is published and have a future date) on your webpage. The customer is now able to add the products to the cart. If a user adds products to the cart from the Show List page and complete an order with the products from the list then the amount of the products on the list is counted down. Note: My Lists replaces the old Favorites list if you select a list to be a default list.

    Version: 8.4.1.0
  • Disable deleting of orders

    Area: Orders
    Description:
    New setting in mgmt -> ecom -> advanced configuration - general: "Disable delete button for orders".

    Version: 8.4.1.0
  • DIBS Payment Window needs to support the AddFee parameter

    Area: Payment\DIBS
    Description:
    A new setting " Add card fee by DIBS" for the DIBS payment window checkout handler in Management center - Ecommerce - Orders - Payment. When this checkbox is checked then DIBS adds a card fee to the order depending on which card type is used. You need to contact the DIBS support in order to check the agreements and negotiate the cart fees for your merchant.

    Version: 8.4.1.0
  • Ensure Klarna as payment option with DIBS

    Area: Payment\DIBS
    Description:
    We have implemented Klarna Invoice with DIBS. You need to contact DIBS in order to enable Klarna Invoice as payment method for your DIBS merchant.

    Version: 8.4.1.0
  • Add to group

    Area: Product Catalog
    Description:
    The right-click add to group functionality is now also available from group view

    Version: 8.4.1.0
  • Search in meta data

    Area: Product Search
    Description:
    Search Weighted now also searches in product metadata

    Version: 8.4.1.0
  • Service points by Post Danmark

    Area: Shipping\Post Danmark
    Description:
    New shipping provider for PostDanmark Servicepoint Quick setup: Set up provider in management center Insert the @Ecom:ShippingProvider.Content tag in your Shippingmethods loop during checkout. E.g: <!--@LoopStart(Shippingmethods)--> <h1><!--@Ecom:Cart.Shippingmethod.Name--></h1> <!--@Ecom:ShippingProvider.Content--> ... <!--@LoopEnd(Shippingmethods)-->

    Version: 8.4.1.0
  • Tag for external fee

    Area: Shopping Cart v2
    Description:
    New tag: @Ecom:Order.ExternalFee - for use with DIBS payment window with AddFee parameter

    Version: 8.4.1.0

Content

  • Social Media Login: Show accounts associated with user in User Management.

    Area: External Authentication
    Description:
    When logged in with a DW account in frontend then you can login to Facebook, Twitter etc. and the external accounts are then added to the DW account in User Management. When an external account is related to your DW account then a button gets visible in the User ribbon: External accounts.

    Version: 8.4.1.0
  • "Use field for title" settings removed from Item Creator

    Area: Item Creator
    Description:
    The "Use field for title" and "Title" fields are removed from the paragraph settings in the Item Creator Module. The title functionality is moved to item type settings. This means that there are changes in the behavior of the Item Creator module. You need to go to the item type that is used in Item Creator and setup the desired behavior for the title. Read more in IMPORTANT NOTES. http://developer.dynamicweb-cms.com/releases/dynamicweb-8-4-1/important-notes-8-4-1.aspx

    Version: 8.4.1.0
  • New select boxes for list and detail

    Area: Item publisher
    Description:
    We have implemented new select boxes for selecting/deselecting fields for the list and details view in the item publisher. With the new selector you can select/deselect fields by moving them back and forth between the selected/deselected boxes by clicking the arrows between the boxes. You can also sort the fields that are in the selected box by clicking the arrows to the right of the selected box. When "All" is selected then all fields + new created are listed in frontend. Choose "Selected" if you want to specify the fields that you want to use in frontend. New created fields are not automatically added and shown in frontend when using "Selected". You need to edit paragraph settings and add the new field.

    Version: 8.4.1.0
  • Sort By - Created/Updated date

    Area: Item publisher
    Description:
    It is now possible to sort by Created date and Updated date in Item publisher.

    Version: 8.4.1.0
  • Item field type template tag

    Area: Item publisher
    Description:
    New tags: @ItemPublisher:Item.Field.Type that will be the type of field. I.e. File, Text etc.

    Version: 8.4.1.0
  • Item publisher filtering

    Area: Item publisher
    Description:
    In Item Publisher a new section called 'Filtering' is implemented. Each condition is set up by choosing a field from the chosen item type, which you can match (filter) against a certain value, e.g. "Text CONTAINS Dynamicweb". The radio button with 2 options - AND / OR - defines if the conditions are put together with AND or with OR.

    Version: 8.4.1.0
  • Sorting of items in field type of item list

    Area: Items
    Description:
    In the Item list settings you now have the possibility to select which field to sort by and which sort order. If you e.g. set your item list to sort by your "name" field and in descending order, then it is this order that the rows are listed in the item list table in the pages/paragraph in backend and it is also this way the item list values are sorted in frontend (also in Item Publisher).

    Version: 8.4.1.0
  • Product selector field for items

    Area: Items
    Description:
    A new item type field where you can select products and show them in frontend. Some ecom loops are not rendered because they are not in context of a product catalog when used in this item type field. Note that this is not a new product catalog module. It does not contain advanced features like sorting, filtering or search.

    Version: 8.4.1.0
  • Page name in item list

    Area: Items
    Description:
    When having an item list containing an itemlink field, we now show the pagename instead of the value "Default.aspx?ID=xxx".

    Version: 8.4.1.0
  • Limit items to containers

    Area: Items
    Description:
    Now you can specify which item types that are allowed for the content placeholder by adding the "items-allowed" parameter like this: <div class="dwcontent" id="footer" settings="items-allowed:ParagraphAllow " title="Footer"></div>. If "items-allowed" is defined, then only item based paragraphs are allowed in that placeholder of the specified type. Right-click the content placeholder in the paragraph list in order to create a paragraph based on the specified item type. You can only drag paragraphs based on allowed item types to the content placeholder.

    Version: 8.4.1.0
  • Option values loop on items

    Area: Items
    Description:
    Item option values are now available in templates: Example: <!—@LoopStart(Item.Level.Options)—> <!—@Item.Level.Option.Value—> <!—@Item.Level.Option.Label—> <!—@Item.Level.Option.Image—> … <!—@Item.Level.Option.IsSelected—> <!—@LoopEnd(Item.Level.Options)—>

    Version: 8.4.1.0
  • Default colors for the color editor in items

    Area: Items
    Description:
    In items you can create a field of type color which gives the color picker. The color field has now one parameter: "Presets". The area can hold a list of preset colors like this: "#ddd #e1e1e1 #000000 red". The list is splittet on space and , and remove empty entries. Each of the colors in the preset will be rendered as a little box after color box from the color editor. When clicking one of the presets, the value of the color selector changes.

    Version: 8.4.1.0
  • Default item templates loaded by item system name

    Area: Items
    Description:
    If you create an item type that can be used as either pages or paragraphs, then it can now load a layout and/or paragraph template by system name. Example: Create an item with system name MyItemType. When you use this as a page, the system looks for a template called MyItemType.cshtml in the designs folder and use this to render the item if it exists. If the item is used as a paragraph, the system looks for a template in the Paragraph folder. Otherwise, the system picks the same template as it does today. It is still possible to override the default templates by assigning page/paragraph item template in the website settings, and these settings have the highest priority.

    Version: 8.4.1.0
  • Add "Use field as name" to item type settings

    Area: Items
    Description:
    It is now possible to define what should be used as title of a page/paragraph when created with the specific item type. You can either select an existing field as title or define a pattern for the name When a field or pattern is defined for an item type then the ordinary page/paragraph title is read only when the page/paragraph is saved and you can only edit the title in the selected field. The new "Use field for name" on item type is optional. When nothing is selected in "Use field for name" or "Title" on the item type, then everything works as in 8.4.0.0, i.e. the page/paragraph name is editable. If "Use field for name" or "Title" is specified, then the values from the item should be used as page/paragraph name. If the name computed from item type settings and actual item values is empty, then the system fall back to an autogenerated name ("SystemName ItemId").

    Version: 8.4.1.0
  • Add loop with websites for implementing a frontend language switcher

    Area: Language Management
    Description:
    new loop, WebsiteLanguages, with a list of language versions of the current website. <!--@LoopStart(WebsiteLanguages)--> <!--@Name--> <!--@Culture--> <!--@IsCurrent--> <!--@PrimaryDomain--> <!--@FirstPageID--> <!--@LoopEnd(WebsiteLanguages)--> This is very similar to the Languages loop, but this will always list all website languages whereas the other loop only works when the current page has a master page and exists in all languanges.

    Version: 8.4.1.0
  • Support for @Code in Date search

    Area: Smart Search
    Description:
    Smart searches on Date/Time fields supports @Code for advanced functionality. Examples: Six months ago: @Code(DateTime.Now.AddMonths(-6)) Midnight one year ago: @Code(DateTime.Today.AddMonths(-12)) A week from now: @Code(DateTime.Today.AddDays(7)) In a second: @Code(DateTime.Today.AddSeconds(1))

    Version: 8.4.1.0
  • DwTemplateTags in razor

    Area: Templates\Razor
    Description:
    A razor alternative to DwTemplateTags has been implemented: @TemplateTags() Examples of usage: <h2>Loops in this template</h2> @foreach(var loop in Loops){ @loop.Name<br/> } Loop exist: "ItemPublisher:Items.List" @Loops.Contains("ItemPublisher:Items.List") <h2>Template tags with the word "item" in the tagname</h2> @TemplateTags("item") <h2>All template tags</h2> @TemplateTags() <ul> @foreach(LoopItem i in GetLoop("ItemPublisher:Items.List")) { <li> @i.TemplateTags() id: @i.GetValue("ItemPublisher:Item.Field.Id") <ul> @foreach(LoopItem field in i.GetLoop("ItemPublisher:Item.Fields")) { @field.TemplateTags() <li> @field.GetValue("ItemPublisher:Item.Field.Name"): @field.GetValue("ItemPublisher:Item.Field.Value") </li> } </ul> </li> } </ul>

    Version: 8.4.1.0
  • Razor version of @Translate

    Area: Templates\Razor
    Description:
    Translate tags now available with razor: @Translate("My_Site", "My Site") @Translate("key", "default value")

    Version: 8.4.1.0
  • Razor version of @RenderNavigation

    Area: Templates\Razor
    Description:
    Razor specific implementation of RenderNavigation has been added: Example: @RenderNavigation(new { Template = "Navigation.xslt", ExpandMode = "path", StartLevel = 1 })

    Version: 8.4.1.0
  • Razor version of Global:Page.Content and Global:Paragraph.Content

    Area: Templates\Razor
    Description:
    Razor functions to render stuff just like Global:Page.Content and Global:Paragraph.Content have been added: @RenderPageContent(int pageId) @RenderParagraphContent(int paragraphId) Examples: @RenderPageContent(87) @RenderParagraphContent(42)

    Version: 8.4.1.0
  • Razor version of @Render.ItemList and @Render.Item

    Area: Templates\Razor
    Description:
    Razor version of @Render.ItemList and @Render.Item have been added: @RenderItemList(new { ... }) @RenderItemList(new { ItemType = "Stuff", ListSourceType = "Area", ListSourceArea = 1, ItemFieldsList = "*", ListTemplate = "ItemPublisher/List/ListStuff.cshtml", ListPageSize = 100, ListOrderBy = "StartTime" }) @RenderItem(new { ... }) @RenderItem(new { ItemType = "Stuff", SourceItemEntry = 42, ItemFields = "*", DetailsTemplate = "ItemPublisher/Details/Stuff.cshtml" })

    Version: 8.4.1.0
  • Razor version of @MasterPageFile

    Area: Templates\Razor
    Description:
    Added Razor-ish function @MasterPageFile that can be used in all templates, i.e. not only layout templates can use @MasterPageFile. Examples Layout template: @MasterPageFile("master/main.cshtml") <div class="content"> ... </div> Master template (master/main.cshtml): @ContentPlaceholder() ---------------- Paragraph template with master: @MasterPageFile("Paragraph.cshtml") @GetValue("ParagraphText") Master: (Paragraph.cshtml) <div class="paragraph"> @ContentPlaceholder() </div>

    Version: 8.4.1.0
  • Save addresses

    Area: User Management
    Description:
    In the cart it is now possible to save an addess for a logged in user. A new default template called 'InformationSaveCart.html' is available in the Shopping cart v2. In the Information step a checkbox called "Save address" is visible when the user is logged in with extranet. The user address is saved in "Addresses" for the user in User Management if the checkbox is selected and if the address doesn't exist.

    Version: 8.4.1.0
  • Select fields to export

    Area: User Management
    Description:
    New ExportUsersWithSelectedColumns default job added to User Management Export Users. This job allows you to select which columns are included in the export

    Version: 8.4.1.0
  • Add LastLoginOn to users

    Area: User Management
    Description:
    For use in smart searches we now have the information about the last time a user has logged id.

    Version: 8.4.1.0

Platform

  • Two new notifications on products

    Area: API (eCom)
    Description:
    New notifications added: [Subscribe(eCommerce.Product.AfterCreate)] [Subscribe(eCommerce.ProductList.AfterCustomOrderChange)]

    Version: 8.4.1.0

Integration

  • EcomProvider & DynamciwebProvider: Add option to delete incomming items.

    Area: Data Integration
    Description:
    New setting on Ecom and DW Providers: Delete incoming rows Usage scenario: You no longer carry 10 products currently in ecom but you do not want to perform a full product import just to get rid of them. Instead you run a job with the setting enabled taking as input the product id's of the 10 products you want deleted

    Version: 8.4.1.0