Content editors can now split large and complex online forms into several subpages and thus improve the user experience and reduce the dropout rate (documentation). Also added Form name to the subject of email notifications for form responses.
Multilingual Support for Digital Assets
Added option to upload multilingual versions of Sitefinity files with powerful control on how they appear on localized sites. The new functionality is available for Images, Documents & Files, and Videos.
Added option to exclude Content Types from Sitemap generation (documentation).
New Backend Theme (in Beta)
A new “Light” Backend Theme comes with clean and attractive design, which removes unnecessary clutter and alleviates the editing experience. (documentation)
DEC - 360 degrees view of Contact Profiles
The Contact Profiles in the Digital Experience Cloud used to contain a demographics list, and the full list of scoring interactions and totally scored points for all Personas and Lead Scoring types. Now it is upgraded to a full 360 degrees view, by adding:
- The full list of Conversions for this contact
- The full list of Touchpoints the contact has interacted with
- The full interactions log – all events reported for this contact from any integrated system (web site, mobile app, CRM, etc.)
DEC - Contact data import from files
When the user needs to upload offline data about the contacts, or integrates contacts and events from third-party systems which are not easily accessible, she can now use the new CSV File Upload connector. Using this new data source, the user can upload contact demographics and contact behavior or any kind, only matching the required input format for the connector (documentation).
DEC - Personalization Campaigns
With the latest release of the Sitefinity Digital Experience Cloud, apart from the Personalization by Persona, the marketing user will be able to run end-to-end Personalization Campaigns for Conversion Rate Optimization. With them:
- Any kind of audience can be targeted, based on behavior or the web site, behavior of the client on other channels such as mobile apps, demographics coming from the CRM system or submitted by a form
- Engagement with the personalization campaign can be measured over time
- Conversion rate changes for the target audience are easily visible between the periods before the campaign and during the campaign, so that it is clear if the end goal has been hit or the selected audience has not been addressed in the best way
The Sitefinity Personalization module helps the user to select any of the active campaigns and to configure alternative page or widget content for each target audience (documentation)
MVC and Front-end Framework Feather - Performance and usability improvements
Developers can pre-compile the templates used by their widgets - and hence achieve the best possible performance immediately after the web site deployment. Using client components in custom designers is now easier and there is no need to activate the module manually, as it comes activated by default.
Web Services - Configurable RESTful oData API
Developers can easily setup web services that expose content over REST oData specification.
Numerous improvements to support running Sitefinity sites in a continuous delivery setups:
- Ability to export Dynamic Modules, Custom Fields and Taxonomies, and to transfer them via deployment packages (documentation)
- Simplified Dynamic Modules configurations management which results in reduced size of config files. Default configurations are no longer persisted into a file. They are automatically generated based on the structure of the Dynamic module. Now all customization made through Advanced settings will be preserved when Dynamic type is updated (FP, FP). Please note that config elements manually deleted from default configurations will be restored after upgrade.
- Option to upgrade configurations locally and deploy to other environments (documentation)
Multi-site Management: Administration -> Permissions back-end screen now displays permissions for modules/providers only for the currently selected site
Dev Tools Upgrades
- Rad Controls upgraded to Q1 2016 SP1
- Data Access upgraded to Q1 2016
- Service Stack upgraded to v4.0.46
- Kendo upgraded to Q1 2016(v2016.1.112)
Pages & Content
- Pages: Regular expression for Pages Additional URLs cannot be modified (FP)
- Pages: Canonical URLs for pages with pagination should contain page number (FP)
- Content: Incorrect date and time shown when item is scheduled for Publishing (FP)
- Content: "Pages where content items are published" showing wrong pages (FP)
- Related items: not shown in Preview mode when they are set as simple links (FP)
- Lists: Performance problems with many items (FP)
- Lists: Advanced settings miss resource label (FP)
- Libraries: External file system storage provider does not move the files when the whole library is moved (FP)
- Content items selectors: Cannot display more than 50 content items (FP)
- Navigation>Light mode: Custom selection of pages and long text custom field results in exception (FP)
- Navigation widget>Light mode: Long text custom field and related media field cause exception (FP)
- Taxonomies widget: ShowItemsCount includes deleted content items (FP)
- DisplayName attribute breaks field value input (FP)
- Forms cannot be edited after changing Multiple Choice Field properties (FP)
- Form response email contain wrong site link in multisite scenario (FP)
- Multiple choice validation message is not persisted (FP)
- Captcha widget: ImageStorageLocation property cannot be edited (FP)
- MVC mode: Search in form responses doesn't work
- MVC mode: "Collection is read-only" error when trying to upload a file
- MVC mode: Exception upon submission of form with captcha in non-default language
- All day events without end date are displayed as infinite in Calendar view (FP)
- Published events cannot be sent for approval (FP)
- Event date range in Events Selector shows '&ndash' instead of '-'
- Recurring events issues upon adding to Google Calendar (FP)
- Moving or resizing events more than once does not persist changes on start and end date because event gets locked
- Editing an event from frontend calendar changes timezone of this event
- Editing an event from frontend calendar makes it all day event, but not in UTC timezone
- After publishing a Draft event, if another event is edited it will have the Start and End date of the previous (FP)
- Timezone dropdown is not displayed after creating all day recurrent event
- Event start and end dates modified after creating repeating, all day event (FP)
- Single day, all day events should have only 1 date in the Event widget
- Export: Always the default language version is exported (FP)
- Export: German symbols are not exported in a readable way in Google calendar
- Export multi day all day event to outlook/ical/google calendar changes the end date (FP, KB)
- Export: Timed events don`t calculate correctly daylight saving upon export (FP)
- Export: Invalid .ics files are generated on export
- Export: Link to internal page is not exported
- Export: Files in event description are not exported
- Export: Weekly recurrent events are not exported to Google
- Search in media content after re-index is not possible
- Search results don’t show the proper blog posts URLs (FP)
- Search results render Html from a styled LongText field in a dynamic module's child content type (FP)
- Address Field: Some countries are missing from the country field (FP)
- Caching: Introduced “VaryBy” option in output cache backend configurations (FP)
- Ecommerce: All products appear locked in the backend (FP)
- Ecommerce> Search: Re-indexing product custom fields clears their values (FP)
- Forums: Thread attachment are not deleted properly (FP)
- Forums: Error in NLB environment (FP)
- Google Analytics Module: Configurations have invalid resources (FP)
- IE 9 Support: Backend interface breaks (FP)
- IE 11 Support: Uploading a second document works problematically (FP)
- MySQL Support: Backend page search does not work in default language (FP)
- Multilingual> Forum Widget: Problems in page selectors (FP)
- Multilingual> Page selector: Selecting from different sites after updating language is not possible (FP)
- NLB Support: Postponed sending of restart message until application finishes bootstrapping
- Site Sync: Deleted page not available in updates waiting for sync (FP)
- Site Sync: Using the SetSites filter in the API doesn’t persist the value to the call and fails (FP)
- Site sync: Sync summary for multiple sites synced at once is incorrect (FP)
- Site sync: Syncing MVC control properties doesn`t remove null properties
- Site sync: Broken links in content blocks after migration from single to multisite (FP)
- Permissions: User sees Library although he lacks View permissions (FP)
- Permissions: Child permissions are not inherited correctly (FP)
- Performance: Output cache is not working properly for authenticated frontend users
- Personalization: Long segment name is not displayed correctly in the main menu
- Personalization: Widget personalization throws service error in non-default site in multisite
- Precompilation Tool: Added ignore of errors during compilation
- Logout: Redirect on logout does not work properly when Sitefinity is a subsite (FP)
- Upgrade Status Page: Date is not displayed when region format is different from English (United States)
- Responsive design: Transformations override the margins of the layout control for all columns except the first (FP)
- Responsive design: Group of rules dialog causes page to stop responding (FP)
- Responsive design: Unable to remove already picked up CSS file for transforming layout and design (FP)
- Email Campaigns: Increase the allowed amount of characters in the Message Subject when creating an Issue (FP)
MVC and Front-end Framework Feather
(detailed release notes on GitHub here
- Content block: Pasting simple markup which is not closed properly breaks the page (FP)
- Card widget: GetViewModel method is marked as virtual for CardViewModel
- Embed Code: GetViewModel method is marked as virtual for EmbedCodeViewModel
- Login Status: GetViewModel method is marked as virtual for LoginStatusModel
- Navigation: Output cache invalidation doesn’t work (FP)
- Search: Does not work with Elasticsearch (FP)
- Widget designers: Unfriendly message when user session expires
- Widget designers: Added automatic resolution of client components' scripts (link)
- Widget designers: Added automatic registration of client components' AngularJS modules (link)
- Output cache: MVC widgets prevent the page from being cached on the first request
- Core: UrlKeyPrefix is not taken into account when generating the item details URL, as well as, when filtering by URL (FP)
- Core: Html.ActionLink doesn’t work on Backend pages
- Performace: LoginStatusController json result action processes the whole page before returning
- Precompiler tool: doesn't work on pages with Dynamic Content Widget (FP)
- Login Status: Exception is thrown when the widget is on Details page of Master/Detail widget (FP)
FormEntriesSeed property in Telerik.Sitefinity.Forms.Model.FormDescription is now obsolete. Use FormsManager.Provider.GetNextReferralCode(entry type name) as a value for ReferralCode of new entries.
MVC Framework Feather
IFieldConfigurator interface method Configure now receives backend control as reference parameter and have the following signature:
void Configure(ref FieldControl backendControl, IFormFieldController<
contain new instance methods for:
- Compilation of media file urls – RecompileMediaFileUrls to generate appropriate urls for the file.
- Finding file link based on a given url – GetFileFromUrlmanipulation of MediaFileLinks and MediaFileUrls which contain the information about the media file for a given culture - CreateMediaFileUrl, GetMediaFileUrls, CreateMediaFileLink, GetMediaFileLinks
- IContentService and ContentServiceBase contain new methods for file link manipulations – CopyFileLink and GetMediaFileLinks
ContentItemContext has new property SfAdditionalInfo to hold the descendants' specific information that should be consumed by the clients. (e.g. it is used for MediaContentService to pass specific information without breaking the generic contract. The information for MediaFile – TotalSize,
Full list of changes is available on docs.sitefinity.com
Database schema changes
Full list of changes is available on docs.sitefinity.com
Web Services API
- If you have a news item/content block with unresolved links (which are auto-resolved in Sitefinity), those links will not be resolved when the client requests the items.
- Folder operations are not supported
- Put or patch recycle bin item returns error 400 instead of 404
- Delete a recycle bin item results in 204 instead of 404
- Patch and put unpublished item returns 204 instead of 404 not found
- Pages and Ecommerce are not supported for the 9.0 release.
- Since Feather module is enabled, new page templates will be generated automatically in the "Page Templates" backend page. These pages will not be automatically deleted in case that Feather is deactivated or uninstalled.
- Since Feather module is enabled, when creating new Form the “MVC” mode will be selected by default. In case you deactivate or uninstall Feather module then all existing MVC Forms will not accessible.
- Since Feather module is enabled, you might need to modify your custom code in case you are already extending some of the Sitefinity route handlers and to extend their MVC counterparts. More specifically you might need to extend the MvcPageRouteHandler (instead of PageRouteHandler), the MvcPageEditorRouteHandler (instead of PageEditorRouteHandler) and the MvcVersioningRouteHandler (instead of VersioningRouteHandler).
- Since Feather module is enabled, the count of the widgets in the toolbox will dramatically increase.
- On uninstall of Feather module the instances of the MVC widgets that placed on pages will not be automatically deleted.
- On uninstall of Feather module the generated MVC widget templates for dynamic content will not be automatically deleted.
- Precompiling Feather views cannot use code from the App_Code ASP.NET folder. (KB)