Some of the issues described on this page contain internal reference numbers. You can use these reference numbers when communicating with Sitecore about a particular issue or feature.
As part of our commitment to continually improving our software and listening to our customer’s feedback, Sitecore regularly releases new versions of our CMS product. Each release undergoes careful quality assurance procedures to minimize the number of issues.
April 11, 2014
Released Sitecore CMS and DMS 6.6.0 rev. 140410 (6.6.0 Service Pack-2, originally released as 6.6.0 Update-8).
Note: This is a product Service Pack. Sitecore recommends customers to install service packs for any feature release that the customer has installed. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 6 downloads page.
Highlights
The main highlights of this update are:
- Security vulnerability fixes to make Sitecore more secure.
- Support for running the Sitecore user interfaces in Internet Explorer 11.
System requirements
- Microsoft Internet Explorer 11 is supported by CMS 6.6 Service Pack-2, originally released as 6.6 Update-8.
Issues resolved
-
Potential security vulnerabilities backported from 7.1 Update-2:
-
Sitecore Corp. would like to give credit to Richard Turnbull at NCC Group for the discovery of the following vulnerability and for his cooperation:
Authenticated users could potentially misuse the Package Upload wizard to upload zip files to the system, even if they did not have access to the Installation Wizard. This has been fixed. (403551, 403900) - The xmlcontrol did not perform sufficient validation of the control name to render. This could be used to make the xmlcontrol load iframes or images. This has been fixed. (403892, 403900)
-
Sitecore Corp. would like to give credit to Richard Turnbull at NCC Group for the discovery of the following vulnerability and for his cooperation:
-
A number of IE11 issues have been fixed, including (but not limited to):
- When you clicked the Start button, the Start menu did not open. This happened in Internet Explorer 11 if you were using non-Compatibility View mode. This has been fixed. (402796)
- The Content Editor ribbon displayed multiple tabs on the ribbon at the same time. This happened in Internet Explorer 11 if you were using non-Compatibility View mode. This has been fixed. (402801)
- The Page Editor dialogs appeared unresponsive when using Internet Explorer 11 in non-Compatibility View mode. This has been fixed by making Internet Explorer switch to IE10 mode for the Page Editor. (402809)
December 13, 2013
Released Sitecore CMS and DMS 6.6.0 rev. 131211 (6.6.0 Update-7).
Note: This is a product Update. Sitecore recommends that you upgrade to this release if the fixes included in this release meet the specific needs of your organization. If this release does not include new functionality or specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 6 downloads page.
Highlights
The main highlights of this update are:
- To improve the performance in solutions with a large number of items, versions, or languages, you can now configure the system so it does not populate database caches during indexing. In addition, the logic for determining whether media items are file based has been reworked to improve performance in these solutions.
- The Sitecore authentication provider did not support session time-outs.
- A performance issue has been fixed that affected virtual users when using the Sitecore clients.
- Some issues related to dynamic image scaling have been fixed where the system did not resize the image to the correct dimensions after you changed the image size of an image in the Rich Text Editor or in the properties dialog box for an image field.
- A considerable number of issues related to the Content Editor have been fixed, including:
- The item:write and language:write permissions were not always respected.
- The logic for checking whether you had permissions to remove a version was not consistent across the entire system.
- When a user performed certain operations, new item versions were sometimes unnecessarily created.
- A number of issues related to the Sitecore serialization event handlers have been fixed.
Improvements
-
Performance
- A new web.config setting named Indexing.DisableDatabaseCaches allows you to specify whether to populate database caches with data during indexing. When set to true, Sitecore indexes every version and language of the items as usual, but does not cache this item data in the database caches. This can reduce the amount of memory used for cached data and improve performance, especially in solutions with a large number of items, versions, or languages. (396295, 396287)
- The logic for determining whether media items are file-based has been reworked to improve performance, especially when the media is stored in the database. Previously, the MediaData.HasContent check would often read all language versions of the item, thereby degrading performance and memory usage, especially in solutions with a large number of items, versions, or languages. (396294)
-
Easier security hardening
- A new web.config setting named Login.DisableAutoComplete allows you to disable autocomplete on the Sitecore login forms on the /sitecore/login/default.html and /sitecore/admin/login.html pages. This is useful, for example, if you do not want user names to be disclosed when editors log into Sitecore on shared/public computers. (357648)
- A new web.config setting named Login.DisableRememberMe allows you to disable the "Remember Me" checkbox on the login page. If you disable the "Remember Me" checkbox, any existing "Remember Me" cookies will be ignored, and users will have to log in again. (375077)
-
Security API
- A new attribute named ignoredDomains has been added to the switching profile provider. When using multiple profile providers, this attribute can be used to specify a comma-separated list of domains that should not be handled by the default profile provider (a provider that has a domains="*" attribute). The ignoredDomains attribute is useful if you use the User Manager in Sitecore to create user accounts stored in a domain with a different profile provider. In such a scenario, you must add the custom domain(s) to the ignoredDomans attribute to avoid a duplicate of the user's profile information being stored in the default profile provider as well as the profile provider associated with the user's domain. (388392, 378374, 335128)
- Two new attributes named ignoredUserDomains and allowedUserDomains have been added to the switching role provider. When using multiple role providers, these attributes can be used to specify a comma-separated list of domains on each role provider to define which domains the role provider should handle. The attributes are mutually exclusive. If you specify a value for both of these attributes on a provider node, an exception is thrown when the switching role provider is initialized. (388258)
-
Setup.exe installation program
- The setup.exe has been updated with a new EULA, including a note that the license agreement is not intended to in any way modify or replace your existing agreement if you are an existing or new licensee with a valid agreement to use the Sitecore Software. (390048, 390176)
-
Unsubscribing from events
- A new overload for Event.Unsubscribe has been introduced which takes a third parameter that indicates that only the particular handler that is passed to the method should be unsubscribed, instead of unsubscribing all handlers of the same type. The existing overloads continue to unsubscribe all handlers of the same type. (387287)
Breaking changes
- To support .NET 4.5, the protected field "screen" in the Sitecore.Shell.Applications.Preview.SimulatedDevicePreview.Layouts.Default class has been changed from HtmlGenericControl to HtmlContainerControl. (387760)
- This should not affect customers, unless they have overridden the class.
Deprecated classes, methods, and properties
- The Sitecore.Platform.Psapi class that exposes an old WIN API has been deprecated. It is recommended to use the classes in the System.Diagnostics namespace instead. (394079)
- The Sitecore.MainUtil.GetWorkingSetSize() method has been deprecated in favor of a new Sitecore.MainUtil.WorkingSetSize property. (394079)
Issues resolved
-
Engagement Analytics
- The RaiseSessionEndEvent would sometimes be called for sessions without Analytics data. This caused an unhandled InvalidOperationException error to be written to the application event log with the following message: "Cannot process without current visit." This has been fixed so the processor is no longer called for such sessions. (369630, 369306)
-
Content Editor
- When you opened the Reset Fields dialog box for an item, it would display warnings related to publishing, workflows, and so on at the top of the dialog box. This has been fixed so now the Reset Fields dialog box does not display these warnings. (360325, 360174)
- When editing items with Standard Fields enabled, in some scenarios, the Content Editor would copy the presentation details from the standard values in the template and store them directly on the item, even when the user had not changed the presentation details. This could occur after enabling the Personalization Section in the Content Editor. (388441)
- When you clicked the Markup button on the Review tab in the ribbon, an error message would appear informing you: "This document cannot be checked. No User-Agent header found!" This has been fixed by sending an appropriate User-Agent header when calling the W3C HTML Validator service. (384527)
- When you tried to edit or perform any operations on items, a SqlServer error related to the SqlProxyDataProvider would occur if any of the Sitecore databases pointed to a database that was unreachable. This has been fixed so the SqlProxyDataProvider no longer fails if there is a database-related exception or a database is unreachable. In addition, the provider no longer issues requests to databases that do not have proxies enabled. (313476, 388133, 385657)
- When you used copy/paste to duplicate items that were in a final workflow state, the workflow states on the copies were not reset. This has been fixed. (383894, 370650)
- The Clone button, on the ribbon, on the Configure tab, was enabled, even if the item did not have any versions in the current language. This has been fixed so now the button is disabled in this situation. (361335)
- The Change button, on the ribbon, on the Security tab, in the Ownership group, was enabled, even if the item did not have any versions in the current language. This has been fixed. (387014)
- When you browsed items in the Content Editor using a non-administrator account and you had Standard Fields enabled, an AccessDeniedException error would sometimes appear inside the Security field control. This has been fixed by displaying the field in a read-only mode as well as disabling the "Assign Security" button above the field if you do have sufficient permissions to change security assignments. (351238, 383713)
-
Content Editor issues related to item:write and language:write permissions
- If you selected an item that you did not have item:write permissions for, a content editor warning would appear with an "Add a new version" link (although clicking the link did not do anything). This only occurred if the selected item did not have any versions in the current language. This has been fixed so now the "Add a new version" link does not appear in this situation. (383995)
- You could create new items using the Insert panel, even if you did not have language:write permissions to the current language. This has been fixed by hiding the insert options from the Home tab and Developer tab in this situation. (378462)
- A number of buttons on the ribbon that modified the shared fields on the item, such as changing the icon or configuring presentation details, did not check whether you had language:write permissions, and executing them could cause an empty version to be created in the current content language (although you could not see this new version yourself). This has been fixed so these buttons are now disabled when you do not have language:write permissions. (384455)
- A number of commands did not check whether you had language:write permissions and allowed you to create new items in this situation. This has been fixed for the Copy To, Duplicate, Paste, and Clone commands, and the commands are now disabled if you do not have language:write permissions. (384454)
-
Content Editor issues related to removing versions
- The logic for checking whether you had permissions to remove a version was not consistent across the entire system. This has been fixed so that in order to delete a version, you must have item read/write/delete permissions, language read/write permissions, as well as workflow state delete permissions. (384896)
- In the Content Editor, the Remove button on the Versions tab was enabled, even if you did not have delete permissions for the item. This has been fixed. (384896)
- If you did not have permissions to delete one of the versions of an item, the system did not allow you to delete any other versions from the item. This has been fixed. (351397)
-
Unnecessary versions created
- If an item did not have a version in the default language, the system would create an empty version when a user performed any of the following operations that modified shared fields: (387014)
- Changing the icon for the item.
- Configuring custom editors, the contextual tab, the context menu, or the tree node style for the item.
- Changing or resetting the insert options for the item.
- Changing the template for the item.
- Hiding or making the item visible.
- Modifying or resetting presentation details.
- If an item did not have a version in the default language, the system would create an empty version when a user performed any of the following operations that modified shared fields: (387014)
-
Edit frames and Field Editor windows
- The "Edit the item fields" button on edit frames was enabled, even if you did not have "Item Write" permissions to the related item. This has been fixed. (357513)
- The Field Editor allowed you to edit fields that you did not have "Field Write" permission for, although the changes were not applied. This has been fixed so now the Field Editor disables editing of such fields. (357513)
-
Page Editor
- When you clicked the device simulator button in the ribbon in Preview mode, a JavaScript error would sometimes occur. This has been fixed. (386787)
- [Internet Explorer] When running IE8/IE9/IE10 in Compatibility View mode and using the Page Editor, media links from Rich Text fields would sometimes have the current site's host name added to the URL when saving the page, thereby making the URLs absolute instead of relative. This has been fixed so that these media links remain relative. (387883)
-
Dynamic image scaling
- When you changed the image size of an image in the Rich Text Editor, the system did not update the image URL to dynamically resize the image to the new dimensions. This could result in the image being scaled by the browser instead of being scaled server-side, which often led to low quality images and in some cases caused large images to be served to the browser. This has been fixed both when you resize images using the Image Properties dialog box and when you use the mouse. (354463, 347322, 360190)
- After you specified custom image dimensions in the properties for an Image field, the <sc:image> web control did not add the appropriate query string parameters to the image src. This resulted in the image being scaled by the browser instead of being scaled on the server-side. This has been fixed so the <sc:image> web control now outputs the appropriate query string parameters. (339889)
- The <sc:image> web control did not support the AllowStretch attribute. This has been fixed so the web control now adds the corresponding "as" query string parameter if you specify an AllowStretch attribute on the web control. (318802)
-
Rich Text Editor
- [Internet Explorer] When inserting media links or when inserting other relative links in the Rich Text Editor, the inserted link would sometimes be prefixed by the URL of the Rich Text Editor control. This has been fixed. (389158)
- When moving links in Rich Text fields using drag-and-drop, the target link could break due to Sitecore adding the following path to the beginning of the link URL: "http://hostname/sitecore/shell/Controls/Rich%20Text%20Editor/". This has been fixed. (393512)
- [Internet Explorer] When switching between Design and HTML mode in the Rich Text Editor, the editor would sometimes add the local host name to relative links, thereby changing them to absolute links. This has been fixed. (389708)
- When you clicked the Upload button in the Document Manager in the Rich Text Editor, an error message was displayed. This has been fixed by hiding the Upload button in the Document Manager. (370572)
Note: This issue reappeared in the 7.2 Initial Release. The button was therefore removed again in 7.2 Update-2 (ref. no. 407100). [Added May 30, 2014]
-
Scaling and multi-instance setups
- After you renamed an item and saved it, the item would still be available using the old item path on other instances. This also affected publishing renamed items. This has been fixed so now the path cache is cleared correctly in these scenarios. (377145)
- The event queue could fail to process events if one or more databases were unreachable. This has been fixed so the event queue does not stop processing events from other databases when one or more databases are unreachable. In addition, to make troubleshooting easier, the EventProvider now writes a more descriptive error to the log file in this situation. (363942)
-
Item cloning
- Clones only appeared in gray in the content tree if they had versions in the current content language. This has been fixed so now clones appear gray in the content tree even if the clone does not have any versions in the current content language. (371353)
-
Audit information
- When you deleted a security role, the audit information in the Sitecore log file would indicate that the role had been deleted by the sitecore\Anonymous account. This has been fixed so the audit record now contains the correct account name. (376652, 376864)
- When you created a new security role, the system did not log audit information about the action. This has been fixed. (376652)
- When you serialized, updated, or reverted items, users, or roles using the UI, the system did not log audit information about the action. This has been fixed. (375086)
-
Security API
- The Sitecore authentication provider did not support sliding session time-outs for persistent logins. The session expiration would not be extended when the user was still active. This has been fixed. (340726, 344867)
- The Sitecore authentication provider did not support session time-outs (sliding or non-sliding) for non-persistent logins, for example when you used the standard <asp:login> control to log in users. This has been fixed so such sessions now respect the configured session time-out. (344867)
- When virtual users logged in, they would experience slow performance when using the Sitecore clients, and the load on the database server would increase. This happened because the Sitecore RolesInRoles provider called the underlying security provider each time the user.IsInRole(string) method was called. This has been fixed so the system now uses the RolesInRoles provider cache. (387287)
- The GetCustomProperty and SetCustomProperty methods did not work correctly for virtual users. An empty string would always be returned. This has been fixed. (390726)
-
Sitecore.Search API
- The IndexingProvider could become stuck when retrieving records from the history table, causing reindexing to slow down or stop completely. This occurred if there were thousands of records to retrieve from the history table since the last index update, for example, when importing data from an external system and creating thousands of items in a short time. This has been fixed by optimizing the code that retrieves records from the history engine. In addition, the system now only updates the Properties table with the time of the last index update once, rather than updating it each time an item from the queue has been indexed. (392686)
-
Link provider
- In 6.6 Update-6, the StripLanguage processor in the <preprocessRequest> pipeline was changed so that it always parsed languages from the URL, even when languageEmbedding was set to "never". This caused problems for some customers, so a new web.config setting named Languages.AlwaysStripLanguage has been introduced. You can set this setting to "false" to return to the earlier behavior. (390434)
- When generating links, the Link Provider sometimes changed the host name for links to the targetHostName for the site, even if the link pointed to an item in the current site. This could happened if the hostName attribute contained multiple host names separated with a pipe ("|") character. This has been fixed so the host name is not changed for such links. (382388)
-
Media API
- The MediaUrlOptions.Empty property reused and returned the same object to all callers. This could cause negative side effects if any callers modified the object. This has been fixed so the method now always returns a new object. (395299)
-
Renderings and layouts
- If you created a custom sublayout template that inherited from the Sublayout template, the system did not treat sublayouts that used the custom template as regular sublayouts. This has been fixed. (375970)
- If you used the template builder to modify a template without having language:write permissions to the current language, an UnauthorizedAccessException error would appear when you tried to save the template. This has been fixed so now the template builder does not allow you to make changes if you do not have write permissions to the current language. (386240)
- If you used the template builder to modify a template without having language:write permissions to the current language, you could use the commands on the Builder Options ribbon to modify the template. This has been fixed so now these commands are disabled in this situation. (384457)
-
Serialization
- When you reverted a serialized media item, a new copy of the media blob would be added to Blobs table in the database. This has been fixed so now the system reuses the previous blob. (377487)
- After configuring the system to use the Sitecore serialization event handlers, running a full publishing operation failed to complete. This happened because of an unhandled exception error that caused the ASP.NET worker process to terminate. This has been fixed. (374386)
- When you deleted an item, the Sitecore serialization event handlers could fail with an unhandled exception error that caused the ASP.NET worker process to terminate and restart. This has been fixed. (380520, 384308, 384282)
- When you renamed or moved an item, the Sitecore serialization event handlers did not update the serialized files correctly. This has been fixed. (384940, 384946)
- When you copied or duplicated items, the Sitecore serialization event handlers did not serialize the copies. This has been fixed. (384824)
- When you created an item with a long name, the Sitecore serialization event handlers failed with an exception error, and the serialization file was not deleted. This has been fixed. (383993)
- When you renamed, moved, or deleted items with long items names, the Sitecore serialization event handlers did not serialize the changes correctly and did not clean up the folder structure with serialized files correctly. This has been fixed. (386174, 386159, 386154, 386296)
-
Performance counters
- After setting the Counters.Enabled web.config setting to false, the system would still try to access some performance counters. This could lead to warnings in the log file on systems where Sitecore did not have access to the performance counters. This has been fixed. (394079)
-
Multibrowser support
- [Internet Explorer] When you used IE9 or later to edit the contents of a Word field, the changes to the field value were not saved. This has been fixed. (361360)
- [Chrome] If you tried to use any of the Sitecore clients in Chrome on a non-English OS, the UI could become unresponsive and a JavaScript could appear in the console with a message similar to: "Uncaught SyntaxError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Thu Nov 14 2013 18:27:20 GMT+0900 …' is not a valid HTTP header field value." This has been fixed. (399895)
- [Chrome] When using the "classic" non-Flash upload, the upload pop-up window did not close after the upload had completed. (388220)
- [Firefox] The "Do you want to save changes" dialog box in the Page Editor refreshed the page before displaying the dialog box, thereby discarding your changes. This has been fixed so now the page is not reloaded before the prompt is displayed. (380203, 386518)
- [Firefox] When clicking an item in the content tree, the browser would scroll to the top of the content tree after loading the item. This has been fixed. (382186, 381218)
- [Firefox] When you tried to upload files, an ItemNullException error could appear if you were working in a different database than the master database. This has been fixed for both using Flash upload and the "classic" non-Flash upload. (387785, 396383)
-
Update Installation Wizard
- [Backported from the 7.0 Initial Release] After installing .NET Framework 4.5, the Update Package Installation Wizard could fail when trying to install an update package. The wizard would display a "Parser Error" and the following message: "The base class includes the field 'logArea', but its type (System.Web.UI.HtmlControls.HtmlGenericControl) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlIframe)." This occurred if the targetFramework attribute on the <compilation> node was set to "4.5" in the web.config file. This has been fixed. (377274, 387017)
-
Localization
- A number of editing controls in the Content Editor presented the selected values using the display name from the client language instead of the content language. This has been fixed for all the relevant field types, for example, TreeList, Multilist, DropList, DropLink, CheckList, Name Value Lookup, and Internal Link. (358106, 384081, 361945, 359285, 384088, 384092, 385348, 385350, 385346, 385354)
- A number of phrases could not be translated in various areas of the product. This has been fixed. (370802, 364838, 370720)
- Some phrases in the Danish translation were not formatted correctly. This has been fixed. (388048)
- When using the Japanese client language, some of the labels in the UI wrapped to multiple lines. This has been fixed in the Move To wizard, the Copy To wizard, the Clone Item wizard, and the Take a Screenshot dialog box. (363088, 362838, 385451)
-
Miscellaneous
- Sitecore could fail to start due to an unhandled SocketException error in the WebUtil.GetHostIPAddress() method. For example, this would happen on servers without any DNS records or hosts file records. This has been fixed so now a warning is written to the log file if an exception error occurs in the GetHostIPAddress() method, and Sitecore no longer fails to start. (389231, 358874)
- After renaming an item, accessing the item.Paths.FullPath property for any descendants would sometimes return the old path. This happened because the item paths cache that was introduced in 6.5.0 Update-6 was not cleared for descendants when an item was renamed. This has been fixed. (387492)
- If the logout pipeline was executed outside a SheerUI context, the CheckModified processor failed with a NullException error. This has been fixed. (353148)
June 6, 2013
Released Sitecore CMS and DMS 6.6.0 rev. 130529 (6.6.0 Service Pack-1, originally released as 6.6.0 Update-6).
Note: This is the latest release of Sitecore CMS 6.6.0.
This is a Service Pack. Sitecore recommends customers to install service packs for initial release of Sitecore CMS 6.6. This is especially true in production environments. For more information about the recommended versions of Sitecore, see Sitecore Versioning Policy page [updated July 25, 2013].
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights
The main highlights in this update are:
- After upgrading to 6.6 Update-5, custom user profile properties could be lost.
- Security vulnerability fixes to make Sitecore more secure.
- LinkProvider fixes, including improvements and fixes to the logic for generating cross-site links.
- Executive Insight Dashboard fixes.
- New item versions were sometimes created when a user performed certain operations.
- Ability to use a different logic for partial cache clearing operations for certain caches.
Improvements
- Link Provider
- A new web.config setting named "Media.LowercaseUrls" has been introduced. If set to true, Sitecore will generate lower case URLs when it uses the MediaProvider API and/or the link provider to render media URLs. If it is blank (the default value), Sitecore will use the value in the lowercaseUrls attribute of the link provider when generating media URLs. (356720)
- Performance of partial cache clearing operations
- It is now possible to configure the system to use extended indexed storage for cache keys for the AccessResultCache and the ItemCache. (365171, 387568)
- Using indexed storage for cache keys can in certain scenarios significantly reduce the time it takes to perform partial cache clearing operations, and is typically useful on large solutions where the size of the AccessResultCache and/or the ItemCache are very large and where partial cache clearing causes a measurable overhead.
- A new web.config setting named Caching.CacheKeyIndexingEnabled.AccessResultCache allows customers to enable this feature for the AccessResultCache.
- However, enabling this setting on content management servers with many editors and many content items can degrade performance.
- A new web.config setting named Caching.CacheKeyIndexingEnabled.ItemCache allows customers to enable this feature for the ItemCache.
- However, enabling this setting on content management servers with many editors, many languages, and/or many versions can degrade performance.
Breaking changes
- The Sitecore. Web.UI.HtmlControls.Literal control no longer supports appending child controls. (361422)
- The Literal control will now throw an exception in case someone tries to modify the child control collection.
- The Entry property of the AccessExplanation class, which has been marked obsolete for a long time, will now always return null to avoid adding unnecessary object references into the AccessResultCache. (358558)
Issues resolved
- Potential data loss
- After upgrading to 6.6 Update-5 from an earlier CMS version, all custom user profile properties previously set for user accounts appeared as empty when accessing them using the API or the User Manager application, and would be permanently lost if the user profile was saved/updated, as described in the associated known issue on SDN. (386151)
- Potential security vulnerabilities
- Sitecore Corp. wants to give credit to Security-Assesment.com, Paul Haas, for the discovery of the following vulnerability and for their cooperation:
- Unauthenticated users could use the Sitecore web service to reveal if a specific Sitecore database name was valid, which potentially could be useful information for malicious users. (382453)
- Unauthenticated users could get access to a number of applications and dialogs in Sitecore if they knew the URL of the applications, although they could not perform any malicious actions by doing so. (378681, 353228)
- Authenticated users that did not normally have sufficient permissions could open a number of XAML controls and dialog boxes if they knew the URL to the control, although they could not perform any malicious actions by doing so. (353228, 366608)
- Potential JavaScript injection vulnerabilities have been fixed in the Rules Editor dialog box and the Rules field. (347359)
- Sitecore Corp. wants to give credit to Security-Assesment.com, Paul Haas, for the discovery of the following vulnerability and for their cooperation:
- Executive Insight Dashboard
- Issues related to displaying data in the timeline and Dashboard reports:
- When opening the "Site Search" report, the following error message would sometimes appear: "An error occurred while loading report data." (385095)
- If there is no data for a time range (i.e. Campaign data), the Dashboard will now show a zero value for the time range. Previously, empty time ranges did not show up in the timeline and Dashboard reports. (383889)
- The Dashboard will no longer display negative values in the bar charts when showing Value or Value Per Visit. Negative values will instead be displayed as 0. (383292)
- If the data set contained negative values, the Value pie chart would display slices with negative percentages and other slices in the chart would sometimes display a percentage larger than 100%. (383291)
- The area chart used as a background image for the timeline in the Dashboard was not rendered correctly for certain data sets. (384702)
- The Dashboard would sometimes display wrong week numbers across the end of a year. This has now been corrected. (383842).
However, the Dashboard continues for now to use FirstFullWeek algorithm when calculating week numbers instead of the week calculation rules for the current culture. Please use ref. no. 384815 if contacting Customer Service about this issue.
- [Chrome] When trying to click buttons and UI controls in the Silverlight application, the click event sent to the application would be offset by 20 pixels, making it difficult for users to interact with the Dashboard. (384985)
- Issues related to displaying data in the timeline and Dashboard reports:
- Dynamic image scaling
- After specifying custom image dimension in the properties for an Image field, the <sc:image> XSL control did not add the appropriate query string parameters to the image src. This resulted in the image being scaled by the browser instead of being scaled server-side. (354636)
Note: This issue was fixed for the <sc:image> web control in 6.6 Update-7 (ref. no. 339889). [Added December 13, 2013]
- After specifying custom image dimension in the properties for an Image field, the <sc:image> XSL control did not add the appropriate query string parameters to the image src. This resulted in the image being scaled by the browser instead of being scaled server-side. (354636)
- Content Editor
- When saving an item, the seconds of all DateTime fields were set to zero, even if the user had not modified the DateTime fields. An important side-effect of this issue was that the value of the __Created field could change the first time the item was saved. (332194)
- When clicking the Today button above a Date field, the value stored in the field would contain hours and minutes. Now, the hours and minutes will be set to zero when clicking the Today button. (337629)
- If a user deleted a media item and selected "Link to Another Item" in the Breaking Link dialog box, links to the media item in Rich Text fields were changed from "~/media" to "~/link". (375118)
- [Safari] When creating a new item using the available insert options on an item, the dialog box where the user enters the new item name could not be cancelled. (360348)
- Page Editor
- In 6.6 Update-3, the <renderField> pipeline was modified to HTML encode the field value when rendering single-line text fields (ref. no. 327905). This did not work correctly in the Page Editor which displayed the encoded value. And if the user saved the page, the already encoded value would be HTML encoded again. (384997)
- [Internet Explorer] When running IE8/IE9/IE10 in Compatibility View mode and using the Page Editor, internal links from Rich Text fields would sometimes have the current site's host name added to the URL when saving the page, thereby making the URLs that are being published absolute instead of relative. (341310)
Note: This issue was only fixed for regular links in 6.6 Update-6. It has also been fixed for media links in 6.6 Update-7 (ref. no. 387883). [Added December 13, 2013]
- Rich Text Editor
- [Internet Explorer] When inserting a link to a Sitecore item in the Rich Text Editor, the inserted link would sometimes be prefixed by the URL of the Rich Text Editor control. (348998)
Note: This issue was only fixed for links to Sitecore items in 6.6 Update-6. It has also been fixed for media links and other relative links in 6.6 Update-7 (ref. no. 389158). [Added December 13, 2013] - The Rich Text Editor removed all host names from media links, even host names that did not match the current request, making it impossible to link to media using a specific site context or to link to media on external Sitecore sites. (354317)
- After changing an image in a rich text field to another image, the <img> tag no longer specified the width and height of the image. (331388)
- [Internet Explorer] When inserting a link to a Sitecore item in the Rich Text Editor, the inserted link would sometimes be prefixed by the URL of the Rich Text Editor control. (348998)
- Unnecessary versions created
- If an item did not have a version in the current content language, the system would create an empty version when a user assigned profile cards, goals, or other Analytics attributes to the item. (338841)
- If an item did not have a version in the default language, the system would create an empty version when a user performed any of the following operations: (317035)
- When changing security permissions for the item in the Security Editor or Access Viewer.
- When changing security permissions for the item using the Security field.
- When clicking Protect Item or Unprotect Item in the Security Editor ribbon.
- Link Provider
- The logic for resolving cross-site links has been improved:
- When generating links, the Link Provider would sometimes generate an incorrect link when the start items for different sites started with the same prefix/path. (382388)
- When generating links, the Link Provider did not always resolve the correct target site for cross-site links in multi-language solutions. To avoid such problems, now the system first tries to match sites by prefix/path and language and, if no match is found, it tries to match them by prefix/path only. (373076, 370730)
- The Link Provider would sometimes add a different host name to the generated URL, even if the item being linked to belonged to the context site. (373639)
- The Link Provider did not always use the correct host name of the active site in the generated URL when the alwaysIncludeServerUrl attribute was set to true. (307539)
- After setting the LinkProvider's languageEmbedding property to "never", existing URLs containing an embedded language would stop working and return the "404 Not Found" error page. (334710)
- To avoid such problems, the StripLanguage processor in the <preprocessRequest> pipeline will now parse languages from the URL, even when languageEmbedding is set to "never".
Note: Starting with 6.6 Update-7, you can revert back to the earlier behavior by setting Languages.AlwaysStripLanguage to false (ref. no. 390434). [Added December 13, 2013]
- To avoid such problems, the StripLanguage processor in the <preprocessRequest> pipeline will now parse languages from the URL, even when languageEmbedding is set to "never".
- The logic for resolving cross-site links has been improved:
- Link database
- If a user moved or renamed an item that was used as data source for a Multilist field, the data source would sometimes end up being encoded after it was updated to point to the new path. This happened when the data source for the Multilist field was specified using "DataSource=<item path>". (370430)
- Multibrowser support
- [Firefox] When using the "classic" non-Flash upload, the upload pop-up window did not close after the upload had completed. (384969, 382055)
- A number of issues have been resolved in the AntiCSRF HTTP module that was introduced in 6.6 Update-3:
- When using the Web Forms for Marketers module, some of the module's dialog boxes and applications did not work correctly with the default configuration of the AntiCSRF module. (385609, 385072)
- In the Engagement Automation Supervisor, paging between records did not work when viewing visitors in a state. (385609)
- IIS Integrated pipeline mode
- [Backported from 7.0] The Sitecore.Nexus.Web.HttpModule would throw an exception when trying to resolve Context.User if the database was down. This would cause the IIS to display the standard .NET error page instead of any custom error page, even if the custom error page was added to the IgnoreUrlPrefixes web.config setting. (325423)
- Scaling and multi-instance setups
- New instances did not always replay recent remove events from the event queue, as determined by the EventQueue.PersistStampMaxAge web.config setting. This happened if the new instance has a clean Properties table without any data about already processed events. (378254)
- Caching
- The AccessResultCache was storing unnecessary references to ISecurable objects, related to the obsolete AccessExplanation.Entry property. This caused the cache to take up more memory than necessary and without reporting the extra memory usage when inspecting cache sizes. (358558)
- Development
- The Run method in the Sitecore.Shell.Framework.Commands.SetLayoutDetails class has been made "protected virtual" to make the class easier to override. (353165)
- Miscellaneous
- The Context.ContentDatabase property was not updated when changing the Context.Site property. (382710)
- [Backported from 7.0] The ResolveItemPath command in the Nexus assembly now calls GetChildren() with a ChildList.SkipSorting parameter, thereby improving performance when there are many children or when called repeatedly. (371212)
- In very rare cases, a StackOverflow exception could occur after trying to upload to the media library. (361422, 385341)
- More descriptive log messages:
- If an item refers to a missing template, the system will now include the database name in the error that is written to the log file to make it easier to locate the relevant item. (383316)
- If an item refers to a missing rendering control, the system will now include the item path, item ID and database name in the error that is written to the log file to make it easier to locate the relevant item. (379643)
- The audit messages written to the log file now use the word "branch" instead of the obsolete term "master" when a user adds items using a branch or creates a new branch. (380928, 387270)
- The clean installation
- The comment above the <sites> section in the web.config file has been updated to describe the targetHostName attribute. (310399)
April 17, 2013
Released Sitecore CMS and DMS 6.6.0 rev. 130404 (6.6.0 Update-5).
Note : This is a product Update. Sitecore recommends upgrading to this release when the fixes included in this release meet specific needs of your organization. If this release does not include specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
Important: A known issue has been identified in 6.6 Update-5 which affects solutions upgraded to 6.6 Update-5 from 6.6 Update-4 or earlier 6.6 releases. Due to this issue, the upgrade instructions have been updated with a step to execute an aspx page as part of the upgrade process. For solutions that have already been upgraded to 6.6 Update-5, the aspx page should be executed as soon as possible. The issue does not affect clean installations of 6.6 Update-5. Please refer to the known issue for more information.
Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights
The main highlights in this update are:
- Support for running the Sitecore user interfaces in Internet Explorer 10.
- User Manager improvements and fixes.
- A number of potential security vulnerability issues have been resolved.
- A number of performance counter issues have been resolved.
- A number of Engagement Analytics issues have been resolved, including filtering robots in the Executive Insight Dashboard.
Improvements
- Support for running the Sitecore user interfaces in Internet Explorer 10.
- User Manager improvements and fixes:
- The User Manager now supports using most of the standard field types on user profile templates, such as Image, Link, Checklist, etc. (321001, 340627)
- When editing a user, the Profile tab will now show the profile values as read-only values. (374537)
- When editing a user, a new "Edit" button on the Profile tab is used to edit the profile fields. The button opens a Field Editor window which provides a rich UI for editing field values with the usual field commands above the field controls, such as "Browse" or "Insert Link". (321001)
- Users can now type up to 40 characters in the search box in the User Manager. Previously the limit was 20 characters. (364876)
- The portrait field is no longer displayed on the Profile tab, only on the General tab. (317879)
- Changes to a user's portrait were not saved. (317879)
- The User Manager now displays a more descriptive error message when the underlying security provider does not support or implement certain commands, such as Delete, Disable, Enable, or Unlock. (341156)
Breaking changes
- To support .NET 4.5, the type of the StartPage control on the login page has been changed from HtmlGenericControl to HtmlContainerControl. (380861, 383546)
- This should not affect customers, unless they have overridden the login page.
Important changes
- The Executive Insight Dashboard no longer displays visits that are classified as robots. (370172)
- The underlying views in the Analytics database have been modified to filter by VisitorClassification < 900.
- As a result of this change, you cannot directly compare newly generated charts with data that you have previously exported from the Dashboard . This also applies to screenshots.
- Layouts and renderings
- In 6.6 Update-3, the <renderField> pipeline was modified to HTML encode the field value when rendering link fields (ref. no. 327905). This turned out to have unintended side-effects, for example when embedding IMGs in a link field. The field value for link fields is therefore no longer encoded in 6.6 Update-5 and later. (382059)
Issues resolved
- Potential security vulnerabilities
- Sitecore Corp. wants to give credit to Joel St. John and Jake Meredith from iSEC Partners and Chris Sulham from Velir for the discovery of all of the following vulnerabilities and for their cooperation.(382010)
- Authenticated users could open the Package Designer application in Sitecore if they knew the URL of the application, even if they were not members of the Sitecore Client Developing role. (381770, 381947)
- Authenticated users could potentially misuse the File Browser dialog box that is available in the Package Designer to show, download, or remove files that did not have an .xml extension. (381834)
- Authenticated users could potentially craft POST requests to the Upload dialog box that is available in the Installation Wizard and in the Package Designer and make the dialog box upload files to other locations on the server. (381934, 382006)
- The License overview dialog box that is available from the Control Panel did not encode the name of license keys when opening the license detail dialog box. The value is now encoded, although no reproduction scenario was identified where the unencoded value could be used for JavaScript injection or for an XPath injection attack. (381836)
- A potential JavaScript injection vulnerability has been fixed in the User Manager. (378264)
- A potential JavaScript injection vulnerability has been fixed in the Workbox. (378496)
- The View and Delete buttons in the File Explorer would always show up in the context menu, even if access had been restricting to the corresponding items in the core database. (383555, 378651)
- Two potential JavaScript injection vulnerabilities related to the Alt text on images in the media library have been fixed in the Sitecore client. (364595, 383519)
- A non-persistent JavaScript injection vulnerability has been fixed in the Package Designer. (374444)
- Sitecore Corp. wants to give credit to Joel St. John and Jake Meredith from iSEC Partners and Chris Sulham from Velir for the discovery of all of the following vulnerabilities and for their cooperation.(382010)
- Clean Up Databases wizard
- The Clean Up Databases wizard removed content in languages for which the culture/locale did not exist on the server, even if a language definition item existed in Sitecore. This could lead to data loss. (378801)
- Engagement Analytics
- The visitor cache did not work correctly when calling VisitorFactory.GetVisitor(id) to retrieve a different visitor during a visit. This would replace the current visitor with the retrieved visitor, which in turn caused the current page/request not to be tracked in the Analytics database. (382207, 382187, 376628)
- The global Analytics session cookie was unnecessarily set on each request during a visit. The global session cookie is now only set/updated on the first request in a session. (382179, 376644)
- While the system is trying to auto-detect if a visitor is a robot, the MediaRequestSessionModule will now ensure that media requests for the visit have a session. Otherwise, the auto-detecting does not work as expected which in rare situations could lead to visitors incorrectly being classified as robots. (382274, 376638)
- If HttpContext.Session is null, the Analytics tracker will now raise an exception during initialization with the following message: "Cannot start Analytics Tracker when HttpContext.Session is null." (376021)
- Previously, the system would attempt to start Analytics and then fail with a less descriptive exception. This could for example occur if the MediaRequestSessionModule was commented out in the web.config file.
- Hardcoded references to the "__Tracking" field have been replaced with calls to Tracker.GetTrackingField(item) to avoid inconsistencies in the logic for obtaining the tracking field. (376622)
- The logic for checking if media items have data in the Tracking field was inconsistent. This could cause media requests to not have a Session object in certain situations when using IIS Integrated pipeline mode, thereby preventing page events or goals for such media request to be tracked. (364277)
- Requests to the VisitorIdentification.html page were sometimes written to the database. This could for example happen if the page for some reason was requested twice in the beginning of a visit. (375613)
- Performance counters
- The HealthMonitor class did not take the Counters.Enabled web.config setting into account. (384115)
- When a performance counter category does not exist on the server, a warning was written to the log file indicated that a temporary internal counter would be used. This was not correct, and the warning message will now simply state that the performance counter category does not exist on the server. (378489)
- Exceptions related to performance counters would appear in the Sitecore log file in various situations:
- If the identity that the IIS application pool is running as does not have permissions to read or create performance counters, the log file would contain one or more UnauthorizedAccessExceptions with the following message: "Access to the registry key 'Global' is denied." (378530)
- Whenever a "Cannot resolve Instance name for the counter" warning was written to the log file, it was followed by an entry with an InstanceNameIsNotAvailableException error message. (378465, 378490)
- An InvalidOperationException could appear in the log file with the following message: "Category does not exist." This occurred if the instanceType attribute for a Sitecore-specific counter was set to "CLR" or "Windows". (383850)
- An InvalidOperationException could appear in the log file with the following message: "The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly." This occurred if the instanceType attribute was set to "Sitecore" for a Windows or .NET counter. (383846)
- Content Editor
- When a user selected one of the dictionary items that contain a newline in the Key field, Sitecore would display the "Do you want to save the changes to the item?" dialog box when the user navigated away from the item, even if the user had not made any changes to the item. (381312)
- Page Editor
- When opening a dialog box from the Page Editor when editing a long page, the background overlay that grays out the main window was positioned incorrectly. (381703)
- In Field Editor windows, a JavaScript error occurred if editors clicked the "Show Editor" button above a Rich Text field. (381741, 382005)
- Rich Text Editor
- When copying and pasting links in Rich Text fields, the target link may become broken due to Sitecore adding the following path to the beginning of the link URL: "http://hostname/sitecore/shell/Controls/Rich%20Text%20Editor/". (349192)
- Media library
- The Drag & Drop button appeared in the Media Library, even if the user did not have sufficient permissions. The button is now only displayed when the user has item:read, item:write, and item:create access to the current item. (383460, 381979)
- Security applications
- After changing the Portrait for a user in the User Manager and clicking OK, the old portrait was still displayed in the User Manager grid. (379579)
- Virtual users
- Accessing the IsAdministrator property did not work correctly for virtual users, and would result in a warning message being written to the log file. (380934)
- Calling the Profile.SetCustomProperty() method for a virtual user caused a SerializationException to be thrown. (381762)
- Link database
- When iterating over ItemLinks returned by the GetReferrers() or GetReferences() methods, calling the ItemLink.GetTargetItem() method would sometimes return an "empty" item in the Invariant language. (380101)
- When renaming an item, the system would sometimes create a version in the Invariant language on referring items. (379363, 380101)
- Multibrowser support
- A number of issues related to Internet Explorer 10 have been resolved:
- A number of cosmetic issues and script errors have been resolved in the Sitecore user interfaces. (378939, 379463, 383443)
- Rich Text fields appeared collapsed in the Content Editor. (383453)
- The Edit Profile dialog box used to edit a user's profile fields had extra scrollbars. (383448)
- After using the template builder and navigating to another item, text fields in the Content Editor would sometimes appear to be locked, thereby preventing the user from typing or modifying text in such fields. (380187)
- After uploading files to the Media Library, text fields in the Content Editor would sometimes appear to be locked, thereby preventing the user from typing or modifying text in such fields. (378885)
- [Chrome, Firefox, Safari] When creating a new user, the "OK" and "Cancel" buttons were not visible in the "Edit User Roles" dialog box. (381594)
- A number of issues related to Internet Explorer 10 have been resolved:
- Item Cloning
- Clones of an item did not appear correctly in Preview mode if the original item was not publishable. (380426)
- A number of issues have been resolved in the AntiCSRF HTTP module that was introduced in 6.6 Update-3:
- In the Page Editor, a PotentialCsrfException appeared when the user selected the Testing tab in the ribbon and clicked the arrow that expands the Components and Combinations drop-down box. (382326)
- Expanding nodes in the content tree resulted in an error message with certain encodeNameReplacements configurations, for example when replacing " " (the space character) in URLs with another character. (382967)
- A number of applications in the Sitecore Desktop, such as the User Manager and Role Manager, did not work correctly with certain encodeNameReplacements configurations, for example when replacing " " (the space character) in URLs with another character. (380534, 381234)
- A number of applications in the Sitecore Desktop, such as the User Manager and Role Manager, did not work correctly if the addAspxAttribute was set to false on the <linkManager> node in the web.config file. (381137)
- If the IIS is configured to redirect 404 errors to a custom page, an error page would appear instead of the custom 404 page. The message on the error page would indicate that the specified URL was not in the right format. (382156)
- After editing Engagement Analytics reports in the report designer, the log file would contain entries indicating potential cross-site request forgery requests (PotentialCsrfException). (382322)
- The preview function in the Engagement Analytics report designer would stall when trying to load and display reports. (382322)
- Two issues have been resolved related to the item paths cache that was introduced in 6.5.0 Update-6:
- The item paths cache was not cleared correctly for subitems when renaming or moving an item. This could cause subsequent calls to item.FullPath to return incorrect results. (381856, 382033)
- The item paths cache could return incorrect language versions from the cache when ItemPathType was set to DisplayName. (381213)
- Setup.exe installation program
- The setup.exe has been updated with a new EULA. (380903)
- Miscellaneous
- The Sitecore.Data.Fields.MediaPath class has been marked as obsolete. (352572)
- This has been done for consistency, since the Src and MediaPath properties of the ImageField class having been marked as obsolete since 6.2 Update-4.
- After installing .NET Framework 4.5, the Sitecore login page failed to load with a "Parser Error" and the following message: "The base class includes the field 'StartPage', but its type (System.Web.UI.HtmlControls.HtmlGenericControl) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlIframe)." (380861)
- This occurred if the targetFramework attribute on the <compilation> node was set to "4.5" in the web.config file.
- The DeviceResolver processor in the <httpRequestBegin> pipeline no longer throws an exception if the query string contains a sc_device parameter with the name of a device that does not exist in the solution. Instead, the parameter will be ignored and a message will be written to the trace, similar to how the sc_item query string parameter is handled. (380021)
- The event queue for the core and web databases were populated with events that only related to the master database, causing remote events to be unnecessarily raised on content delivery instances. This applied to the "item:locked:remote", "item:unlocked:remote" and "item:templatechanged:remote" events. (380063)
- If the thread culture was set to "th-TH" (Thai), the system would fail with the following message: "A required license is missing". (377647, 382073)
- When Sitecore throws an EditingNotAllowedException, the exception message will now include the item path and item ID to help in troubleshooting. (379660)
- The assembly version numbers of some of the Sitecore DLLs were incorrectly set to "6.0.0.0" or "1.0.0.0" instead of something like "6.6.0.4187" or "1.0.0.4330". This has been corrected for the following assemblies: (376722)
- Sitecore.Logging.dll
- Sitecore.Nexus.dll
- Sitecore.NVelocity.dll
- Sitecore.Zip.dll
- Sitecore.Mvc.DeviceSimulator.dll
- The Sitecore.Automation.MarketingAutomation assembly was missing copyright information in the assembly meta-data. (376722)
- Users that did not have language:write permissions to the current content language could add a version to any items with no versions by clicking the “Add a new version” link in the content editor warning. (375013) [Added July 22, 2013]
- The Sitecore.Data.Fields.MediaPath class has been marked as obsolete. (352572)
- The clean installation
- The web.config file did not contain event definitions for the "user:runtimerolesupdated" and "user:runtimerolesupdated:remote" events. (380477)
February 27, 2013
Released Sitecore CMS and DMS 6.6.0 rev. 130214 (6.6.0 Update-4).
Note: This is a product Update. Sitecore recommends upgrading to this release when the fixes included in this release meet specific needs of your organization. If this release does not include specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights
The main highlights in this update are:
- Resolves an important issue in 6.6 Update-3 related to attaching/detaching media to versioned media
- A number of Engagement Analytics and Engagement Automation fixes
- IIS Integrated pipeline mode fixes
- Resolves a number of situations where the "Do you want to save the changes to the item?" dialog box appeared, despite the user not having modified the item
- Resolves a number of issues related to security permissions and uploading
- Rich Text Editor fixes
Important changes
- Security API and membership providers
- Since 6.6 Update-1, the AuthenticationHelper.IsDisabled(User) method returned true if user.Profile.MemebershipUser was null. This behavior was different than in previous releases, and with certain configurations of security providers, this could cause Sitecore.Context.User.Name to return the name of the anonymous user, even if a different account was authenticated. The IsDisabled(User) method now returns false as expected in such cases. (378377)
Issues resolved
- Engagement Analytics
- Profile key values would not be added correctly if the values contained fractions, typically when multiple profile cards have been assigned to an item. This could cause the total value for a profile key for a visitor to be lower than it should. (376088, 379755, 379719)
- The API for deploying campaigns to the Analytics database could fail with a ConstraintException if multiple threads deployed campaigns concurrently. Alternatively, an InvalidOperationException could occur with the following message: "DataTable internal index is corrupted: '<index>'" (373190)
- This problem affected the ECM module and prevented the system from simultaneously sending more than one scheduled message.
- The Analytics.DisableDatabase setting did not disable all read and write access to the Analytics database. This could cause exceptions to show up on the website, for example when a visitor requested a page with one or more personalization rules configured. (373763)
- The setting now works as expected and disables all read and write access to the Analytics database, including processing of engagement automation states.
- The SubscriptionTask background job that sends out emails about visits was unreliable if the interval for the agent did not match the scheduler's frequency. The agent has therefore been removed from the web.config file and the functionality has been replaced by a Session End rule that sends out email notifications about visits. (373048, 381486).
- The Analytics database would sometimes contain records in the Visits table for which there were no records in the Pages table. The system will no longer write such empty visits to the database. (374480)
- GeoIp lookups
- The MaxMind GeoIp service sometimes returns HTML in the Country field instead of data in the normal format. When this occurred, an ArgumentExceptions was written to the log file with the following message: "Cannot set column 'Country'. The value violates the MaxLength limit of this column." (374117)
- Sitecore will now populate the visit with a value of "Unknown" in the GeoIp fields in such situations and write a more descriptive error message to the log file, including information about the IP address and the full HTML returned from the MaxMind provider to help in troubleshooting.
- The MaxMind GeoIp service sometimes returns HTML in the Country field instead of data in the normal format. When this occurred, an ArgumentExceptions was written to the log file with the following message: "Cannot set column 'Country'. The value violates the MaxLength limit of this column." (374117)
- Engagement Automation
- When a visitor triggered a goal that a state in an engagement plan is subscribed to, a DeletedRowInaccessibleException could appear on the website with the following message: "Deleted row information cannot be accessed through the row." This typically happened if the item also had a campaign assigned that was configured to enroll visitors to the same engagement plan. (374794)
- The "Add Points" dialog box did not show the points that were already specified when modifying the properties for an "Add Points" action in an engagement plan. (358799) [Added June 26, 2013]
- If an unhandled exception occurred during execution of the <automation> pipeline, the goal or page event that had triggered the evaluation of the <automation> pipeline would not be registered correctly. Also, the visitor would be stuck in the current state in the engagement plan and not be reevaluated when subsequent goals were triggered or when the state's Due Time was reached. (376005, 379630)
- As a symptom of such problems, errors would be present in the log file with the following messages: "Some of the automation states could not be written to the database, probably because of expired lock." and "Concurrency violation: the UpdateCommand affected 0 of the expected 1 records." (379708)
- In such a situation, the goal/page event will now be registered correctly, and the visitor will be reevaluated if subsequent goals or page events are triggered.
- The system will however continue not to reevaluate visitors for which the pipeline failed when the state's Due Time is reached, since this could lead to a dramatic increase in rows to reevaluate over time in case a condition is broken and always fails.
- Publishing
- When renaming an item, the item was not added to the publish queue. This caused Incremental Publish operations to not republish such items. (378014)
- When copy/pasting or duplicating an item, versions that had publish restrictions were not added to the publish queue. This could cause future Incremental Publish operations to ignore publishing restrictions for versions on copied items. (378071)
- The audit information that is written to the Sitecore log file when a user configures publishing restrictions for one or more versions of an item was incorrect. The log entry would always indicate that version 1 was affected, no matter for which version(s) the user had changed the publishing restrictions.
- Content Editor
- Actions performed on the an item in the Content Editor would be executed on the parent item if the selected item had become unavailable to the editor during the session, for example if security permissions for the item had been restricted. This could cause the wrong item to be deleted, renamed, etc. Now, the Content Editor will display a message informing the user that the item could not be found. (381324)
- Page Editor
- Placeholder names were treated as case sensitive in several situations. This could cause a number of problems when using the Page Editor, such as:
- Placeholders did not appear on rendered page in the Page Editor if the value for the Placeholder Key field on the Placeholder Settings was entered using mixed case. (368161, 381600)
- The Page Editor did not save renderings inserted to a placeholder if the placeholder contained renderings that specified the placeholder key using mixed case. (367952)
- Moving a rendering to a different position in a placeholder could cause the rendering to appear in a different position than expected. This occurred happened the placeholder contained several renderings that used different case for their placeholder keys. (380127)
- If the current item in the Page Editor becomes unavailable to the editor during the session, for example if security permissions for the item have been restricted, the Page Editor will now display a message under the ribbon. (355904)
- The message is similar to the messages that are displayed in the ribbon if the current item has been deleted. The message is displayed the first time a server request happens after the item was deleted, for example when the user attempts to Save the item or perform other operations on the item.
- The user's session could expire while using the Page Editor and cause error messages to appear if the user had previously worked in Preview mode. For example, buttons on edit frames could fail with an error message: "buttonRoot isn't set for editor frame". (362353)
- Placeholder names were treated as case sensitive in several situations. This could cause a number of problems when using the Page Editor, such as:
- Rich Text Editor
- The Undo command did not work for line breaks. When pressing undo after inserting one or more line breaks, nothing happened. (366609)
- The Hyperlink Manager in the Rich Text Editor did not escape symbols in the Subject field when inserting e-mail links. This could cause the opened e-mail to have an empty subject field and/or to have incorrect text in the body of the e-mail body. (357027)
- The name of the default paragraph styles could not be changed, for example "Heading 1". The name would appear correctly in the Paragraphs Style drop-down box when applying the style, but if the user placed the cursor inside a header tag, such as a <h1> tag, the Paragraph Style drop-down box would display "Heading 1" instead of the custom name. (307994)
- Installation Wizard
- The installation wizard cut the end of long item paths when asking the user which overwrite mode to use. (327281, 357300)
- Media API and media library
- In CMS 6.6 Update-3, versioned media data for older versions could be lost when attaching or detaching media, as described in the associated known issue on SDN. (380433, 380592)
- In the Insert Sitecore Link dialog box in the Rich Text Editor, users were able to upload media and thereby create media items in media folders that they did not have create permissions for. (345703, 354854)
- A number of issues have been resolved that occurred if a user selected a media library folder for which the user only had create permissions and not write permissions:
- In the Media Library, the "Upload File" and "Upload file (Advanced)" options did not appear on the "Folder" tab in such a scenario. (338383)
- When trying to upload files to the Media Library using the "Upload file" insert option in the ribbon, an error message would appear and the files would not be uploaded in such a scenario. (338383, 335663)
- In the Rich Text Editor, the upload button in the Insert Sitecore Media dialog box was always disabled in such a scenario. (341983)
- Virtual users
- The AccessResultCache was not cleared correctly after adding or removing runtime roles for a user using one of the AddRange() methods. This could cause security permissions to be resolved incorrectly. (378815)
- Multibrowser issues
- When a user selected a different item in the content tree, Sitecore would sometimes display the "Do you want to save the changes to the item?" dialog box, even if the user had not made any changes to the current item. (349347, 378145, 371552, 357084, 345784, 353713)
- This issue typically occurred if the item had Multi-Line Text fields or memo fields containing newlines where the value had been saved in one browser, for example Internet Explorer, and was viewed in a different browser, for example Firefox or Chrome (or vice versa).
- The issue could also appear if an item contained Treelist fields or custom field types that store newlines as part of the field value. (355026, 356399)
- Users were more likely to see this issue if they had Standard Fields and/or Raw Values enabled in the Content Editor.
- When using Firefox or Chrome, this issue also occurred after selecting certain items in the clean Sitecore distribution, for example dictionary items that contained newlines. (368020)
- The issue also occurred after modifying security assignments for an item using the Content Editor with Standard Values enabled. (334681)
- [Chrome, Firefox, Safari] The Change Password dialog box no longer displays a "Copy to clipboard" button in browsers that do not support copying data to the clipboard. (378492)
- When a user selected a different item in the content tree, Sitecore would sometimes display the "Do you want to save the changes to the item?" dialog box, even if the user had not made any changes to the current item. (349347, 378145, 371552, 357084, 345784, 353713)
- IIS Integrated pipeline mode
- The standard IIS error pages would sometimes be displayed instead of the standard Sitecore error pages when the IIS application pool was configured to run in Integrated pipeline mode. Examples of affected pages: Not Found, No License, No Layout, Error, No access. (327516)
- The Globals.ServerUrl property incorrectly returned "127.0.0.1" instead of the host name of the server when the IIS application pool was configured to run in Integrated pipeline mode. (340117)
- This affected the WebUtil.GetServerUrl() method, and could cause the system to generate incorrect links in a number of situations, for example when sending out Engagement reports by email, when generating Client RSS Feeds, and when executing the full page XHTML validator.
- This has been resolved by introducing a new pipeline processor named EnsureServerUrl in the <httpRequestBegin> pipeline.
- When the system sent out Engagement reports by email, links in the email contained "http://127.0.0.1/" instead of the host name of the server. (327510, 343459)
- In most setups, the UrlAgent would fail with a WebException with the following error message: "The remote server returned an error: (404) NotFound." (366123)
- This happened because the UrlAgent tried to access http://127.0.0.1/sitecore/service/keepalive.html
- Miscellaneous
- The UrlAgent in the web.config file did not work as expected. The agent was configured to run every hour by default, while the idle time-out for IIS sites is configured to 20 minutes by default. The default Sitecore configuration has therefore been changed so that the agent is configured to run every 15 minutes. (378635)
- If IIS was configured to compress static files, the browser could fail to load static files with certain extensions. This occurred if the IIS application pool was configured to run in Integrated pipeline mode and if Sitecore at the same time was configured to handle requests for one or more static file extensions (via the 'Allowed extensions' parameter for the FilterUrlExtensions pipeline processor). (353300)
- Accessing ASP.NET web services running in the context of a Sitecore CMS application using URLs like "/TestWebService.asmx/js" could fail with the following server error: "System.InvalidOperationException: No web service found at: /TestWebService.asmx/js." (378889)
- This could happen when using language embedding in the URL or in the query string, and was a side-effect of the Sitecore RewriteModule.
- An InvalidOperationException could occur in the IsUserInRoleCache.AddRecord(…) method . This typically happened when many users logged in or were active in the system at the same time. (373646)
January 16, 2013
Released Sitecore CMS and DMS 6.6.0 rev. 130111 (6.6.0 Update-3).
Note: This is a product Update. Sitecore recommends upgrading to this release when the fixes included in this release meets specific needs of your organization. If this release does not include specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Known issues:
- Important: An issue has been discovered in 6.6 Update-3 that can lead to data loss when using versioned media. For more information, see the following known issue: Versioned media data for older versions can be lost when attaching or detaching media.
Highlights
The main highlights in this update are:
- The Executive Dashboard features two new reports: "Channel Performance" and "Campaign Performance".
- Ability to view known users in engagement plan states in the Supervisor and the Monitor.
- Virtual user fixes and improvements.
- Item cloning fixes.
- Performance improvements for full publish operations in multi-instance setups and for item access on sites with complex security configuration.
Improvements
- Engagement Automation
- A new "View" button in the ribbon of the Engagement Automation Supervisor and Monitor allow users to view known visitors in a state. From the dialog box, it's possible to open a full report with additional details about known visitors in the state, as well as exporting the list of known visitors to a CSV file. Also, you can select a visitor and open a report with visits for that visitor. (377532)
- Executive Insight Dashboard
- A new "Channel Performance" report is available for traffic types. The report shows a stacked area chart displaying Value or Visits for each traffic type distributed over time. (377536)
- A new "Campaign Performance" report is available for campaign categories. The report shows a stacked area chart displaying Value or Visits for sub-categories of the selected campaign category. (377536)
- The Dashboard now supports displaying data by day instead of month when displaying a report for a single campaign. (376090)
- The charts in the Dashboard use a new color palette for charts and data points. (377975)
- When displaying Dashboards for a single traffic type, such as the ECM Email Channel Performance report, the data transferred from the server is now filtered by traffic type to reduce loading time. (376091)
- Content Editor
- A new web.config setting named ContentEditor.ShowFieldSharingLabels has been introduced. The setting allows customers to configure the Content Editor to display field sharing labels ([shared] and [unversioned]) to users that are not Sitecore administrators. (379490)
- Virtual users
- It is now supported to set Profile properties for a virtual user, including Email, and the system will no longer attempt to save these properties to the security provider. (323147, 374728, 360381)
- A new AuthenticationManager.LoginVirtualUser(User) method has been introduced. The existing Login(User) method can still be used to log in virtual users, but the new method should make it easier for developers to realize that virtual users must be logged in using a User object rather than a user name. (374784)
- It is now possible to subscribe to two new events related to virtual users: "user:runtimerolesupdated" and "user:runtimerolesupdated:remote". The events are raised when modifying the runtime roles for a user. (359005)
- Sitecore now ships with a new HTTP module which guards against Cross Site Request Forgery (CSRF) attacks. (370125, 360531)
- The module is based on the third party AntiCSRF HTTP module which implements the so-called "double submitted cookies" approach to guard against CSRF attacks.
- When enabled, the module automatically creates a session cookie and uses JavaScript to add this cookie value to form submits that are performed from pages under /sitecore/shell. Due to the JavaScript security model, this protects against cross-domain form posts.
- The module is configurable by modifying the following file: /App_Config/Include/Sitecore.AntiCSRF.config (or by creating your own include file to modify or extend the configuration to include or exclude paths to be guarded).
- The module is enabled by default, and can be disabled by setting the 'enabled' attribute on the <AntiCsrf> node to 'false'. [Updated January 21, 2013]
Issues resolved
- Engagement Analytics
- If the Analytics API was used to register a page event or goal for the next page while cancelling the current page, two rows would be registered in the Analytics database instead of only one row for the next page. This could cause Dashboard reports to show too many pages for the visits associated as well as registering the page event/goal on the second page of a request instead of the first. This problem affected the ECM module when visitors clicked links in email messages. (376951)
- Engagement Automation
- All goals were checked by default when opening the State Evaluation Triggers dialog box in the Engagement Automation Designer, making it difficult to select only one or two goals in a solution with many goals defined. (369389)
- In the Engagement Automation Designer, it was possible to insert newlines into the name of states and conditions when using inline editing. (377756)
- If a user cleared the Display Name field of an engagement state in the Engagement Automation Designer and saved, the state item would be saved with an empty value in Display Name instead of filling it with the item name. (345726)
- Executive Insight Dashboard
- In CMS 6.6, the Dashboard would display an empty screen when the user selected the Campaign data type and there was no overview data available. (378276)
- The campaigns and categories in the Campaigns drop-down did not appear in alphabetical sort order. (373068)
- The "Find Campaign" did not work correctly for uncategorized campaigns when the Campaigns drop-down box contained multiple "Uncategorized" entries. (376850)
- Performance
- In multi-instance setups, Full Publish operations could lead to a significant performance decrease for the entire website or even causing the website to become unresponsive due to unnecessary cache clearings related to remote events for FieldSharingChanged. (378800, 374379)
- In solutions with complex security configuration with many roles in roles, item access could be slow. This especially affected the system during initializing or after clearing the AccessResultCache where a large amount of queries to the RolesInRoles table would be executed. The RolesInRoles provider has been reworked to make the IsUserInRole() method perform better in such situations. (376242, 376416)
- Publishing
- When performing Full Publish operations, the system raised remote events for FieldSharingChanged for all template fields that were republished, even when the field sharing had not been changed. (378800, 374192, 375208)
Note: Updated with additional reference numbers. [January 30, 2014] - Incremental Publish operations did not republish clones of an item after changing the original item, as described in the Item Clones bullet below. (361192, 378252)
- When performing Full Publish operations, the system raised remote events for FieldSharingChanged for all template fields that were republished, even when the field sharing had not been changed. (378800, 374192, 375208)
- Security API
- A number of issues related to runtime roles have been resolved:
- The AccessResultCache was not cleared correctly after adding or removing runtime roles for a user. This could cause security permissions to be resolved incorrectly. (359005).
Note: This issue was only partially fixed in 6.6 Update-3. It was fully fixed in 6.6 Update-4 (ref. no. 378815). [Added February 27, 2013] - Added or removed runtime roles for a user were treated as case sensitive. This could cause security permissions to be resolved incorrectly, and would typically affect solutions that make use of virtual users. (367944, 311085)
- The RolesInRolesProvider.IsUserInRole() method did not take added and removed runtime roles for users into account. (326415)
- The AccessResultCache was not cleared correctly after adding or removing runtime roles for a user. This could cause security permissions to be resolved incorrectly. (359005).
- A number of issues related to runtime roles have been resolved:
- Virtual users
- Only direct role assignments were taken into account for virtual users. Now, roles in roles are taken into account as well when resolving security permissions for virtual users. (326415)
- Using the Profile property with virtual users would add records to the security tables in the core database. (323147)
- If a virtual user was logged in to the Sitecore desktop and tried to open the Workbox, an InvalidOperationException would appear with a message that "user doesn't exist". (333228)
- Item Cloning
- Clones of an item were not republished when performing an Incremental Publish operation after changing the original item. (361192)
- Clones of an item were not unpublished when performing an Incremental Publish operation after changing the publishing restrictions of the original item. (378252)
- If a clone was published and the original item no longer existed, the published item in the target database would contain a broken link in the __Source field. (363001, 373912, 378362, 378290)
- This could cause an exception to appear on the front-end on content delivery instances that don't have a master database.
- In such situations, the clone will now be published without a link to the original item, and a message will be written to the log file with a warning that some field values may be missing in the published item.
- Trying to open a clone with a broken link in the __Source field in the Content Editor would cause an exception to appear, preventing such items from being edited. (379358)
- Trying to save a clone after entering a broken link in the __Source field would cause an exception to appear and the item would not be saved. (379354)
- Layouts and renderings
- The <renderField> pipeline did not HTML encode the field value when rendering single-line text fields and link fields. (327905)
Note: Encoding the field value when rendering link fields turned out to have unintended side-effects. The field value for link fields is therefore no longer encoded in 6.6 Update-5 and later (ref. no. 382059). [Added April 17, 2013] - The LinkRenderer class did not encode the value of the title attribute when rendering link fields. (327905, 347361) [Updated January 15, 2014]
- The <renderField> pipeline did not HTML encode the field value when rendering single-line text fields and link fields. (327905)
- Media API
- Media blobs were not removed from the Blobs table when no longer in use.
- Blobs will now be removed when attaching a media file to an existing media item, when detaching media from a media item, and when deleting media items from the API without recycling them first. (359817, 359807, 359806, 351198)
- Blobs will still remain in the Blobs table when no longer in use if you first recycle or archive the associated media item before permanently deleting it. Such blobs can be cleaned up using the Database Cleanup wizard. Please use ref. no. 378000 if contacting Customer Service about this issue.
- Media blobs were not removed from the Blobs table when no longer in use.
- WebDAV
- If the /App_Config/Include/Sitecore.WebDAV.config file was disabled or removed, WebDAV would still be enabled, but not function correctly. The default value for the WebDAV.Enabled setting has been changed to false to avoid such problems. (375130)
- Localization
- When using the Japanese client language and displaying data per month in the Dashboard, the month labels in the timeline were not formatted correctly. (377878)
- When running the setup.exe in Danish, German, or Japanese, the page with advanced configuration options for the IIS Web Site was not localized properly. (370205)
- Miscellaneous
- Only Administrators were allowed to download files. (316774, 348557, 381915)
- This was a problem in several areas of the system, for example the Package Generator and the Export Language Wizard in the CMS. It also affected the Export Users Wizard in the ECM module.
- The <hasPresentation> pipeline which was introduced in 6.6 Update-1 did not take the DefaultLayoutFile setting into account when determining whether or not an item can be opened in Preview or Edit mode. (376641)
- The QueryStringResolver processor in the <httpRequestBegin> pipeline no longer throws an exception if the query string contains a sc_itemid parameter with an invalid ID. Instead, the parameter will be ignored and a message will be written to the trace, similar to how the system works if you pass a valid ID and the item is not found. (377012)
- When installing Sitecore packages, an unhandled .NET Framework exception would sometimes occur on the final page of the Installation Wizard, and the Windows Event Log would contain an entry for ".NET RunTime" with "Exception Info: Lucene.Net.Index.MergePolicy+MergeException" as part of the message. (378164)
- If the DisableBrowserCaching setting was set to false, editors would sometimes encounter exceptions when using the Sitecore clients. (312410)
- To make it easier to troubleshoot such problems, Sitecore will now output a warning to the log file if browser caching is enabled for the shell site.
- Also, a new disableBrowserCaching="true" attribute has been added in the clean web.config file for the shell site to ensure that browser caching by default is disabled for the Sitecore clients, even if the DisableBrowserCaching web.config setting is set to false.
- The SqlArchive class has been changed so that it now uses a reader lock instead of a writer lock for item access in the ArchiveItem and ArchiveVersion methods. (376517)
- If an event handler for the "item:deleted" event started a new thread which called Database.GetItem(), the new thread would hang until the base thread completed due to the SqlArchive class holding a writer lock for item access. (376517)
- The Sitecore login page now outputs an X-Robots-Tag HTTP header in addition to the "robots" meta tag to prevent robots from indexing the contents. (377139)
- Only Administrators were allowed to download files. (316774, 348557, 381915)
December 12, 2012
Released Sitecore CMS and DMS 6.6.0 rev. 121203 (6.6.0 Update-2).
Note: This is a product Update. Sitecore recommends upgrading to this release when the fixes included in this release meets specific needs of your organization. If this release does not include specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights
The main highlights in this update are:
- A large number of multibrowser issues have been resolved.
- The Page Editor now supports other link types than internal links for "General Link" fields.
- In CMS 6.6, logging in virtual users did not work as expected.
- Various issues in the CMS and DMS have been resolved.
Improvements
- When displaying dialog boxes and wizards, Sitecore will now grey out the main browser window with an overlay to bring more focus to the dialog box. (357448)
- Also, this prevents a number of problems where users would try to interact with applications in the main browser window in non-IE browsers while a dialog box or wizard was open.
- Page Editor
- When editing "General Link" fields in the Page Editor, the Page Editor is no longer restricted to internal links. A redesigned dialog box allows editors to use any of the link types that are supported by the "General Link" field. (311859, 352558, 324486)
- Sitecore MVC
- The GetPageItemProcessor.GetItem() method has been made more flexible and extensible. The method now uses the ItemLocator to look up items, and will now try locating the item below SiteContext.StartItem (using SiteContext.StartPath as root) before trying SiteContext.RootPath. (374648)
Issues resolved
- Engagement Analytics
- If Sitecore does not have a connection to the Analytics database, an exception could occur and the website visitor would be presented with an error page. This could happen if the current page contained personalization rules that requested data from the Analytics database. (373038)
- Trying to subscribe to session reports using a non-English client language resulted in an error page with a "NotSupportedException: curr_state" message. The same happened when trying to unsubscribe. (370910)
- If a visitor deleted his cookies and then made another request in the same browser session, the system could end up storing two different visitor IDs for the data in the Pages table related to the current visit. This happens because some browsers, most notably IE, do not clear session cookies when the user clears cookies. (371127)
- In certain scenarios, Tracker.CurrentPage.Cancel() did not cancel tracking of profiles, causing profile values that were updated on the cancelled page to be written to the database. (359178)
- Engagement Automation
- When using the Supervisor to add a user or all users in a role to a state, the system will no longer add/move users that are already in another state in the current engagement plan. (372955, 367878, 346522)
- When configuring a Send E-Mail Message action in an engagement plan, the dialog box failed to save Japanese characters in the Subject and Message fields correctly. (362395)
- A cosmetic issue has been fixed which occurred when hovering over the Undo and Redo buttons in the Supervisor. (376296)
- Executive Insight Dashboard
- The calculation of Potential and Potential Value Gain in the Dashboard reports has been corrected. (372370)
- When using a non-English client language, the Referring Site Classification dialog box displayed an empty drop-down box, meaning that the traffic type could not be changed. (363971)
- Two of the phrases in the Referring Site Classification dialog box were not localized. (363974)
- When displaying the Dashboard in "disabled" mode (i.e. in ECM), the Dashboard no longer use any margin, giving more room to display the data. (375536)
- Sitecore MVC
- The system could throw an ArgumentNullException in the NameValueCollectionExtensions.ToDictionary() method. (374434)
- This could for example happen when rendering a page with an MVC rendering if one or more rendering parameters from the renderings parameters template were not specified.
- Passing image specific properties like "maxWidth" and "maxHeight" to the image field renderer using the Razor helper extensions did not work as expected. (374802)
- A manually added "model" attribute on the layout definition XML will no longer be removed when editing the presentation details using the Layout Details dialog box. (374004)
- If an illegal route is detected (as specified by the Mvc.IllegalRoutes setting), the system will now throw an IllegalOperationException with a description of the illegal route. (372947)
- Typically this occur if the default MVC route "{controller}/{action}/{id}" is active. This route will catch a lot of the URLs used by Sitecore, and can cause applications such as the User Manager and Role Manager to stop working.
- The system could throw an ArgumentNullException in the NameValueCollectionExtensions.ToDictionary() method. (374434)
- Content Editor
- Pressing CTRL + S immediately after editing the contents of a Rich Text Field and closing the Rich Text Editor did not always cause the current item to be saved. (367662)
- Pressing CTRL + S after manually editing the value of a Date or Datetime field did not always cause the current item to be saved. (362389)
- The Field Bookmarks menu that is displayed in the right-hand corner of the Content Editor and which allows the user to quickly navigate to fields and sections did not allow the user to jump to fields in collapsed sections. Now the section will be expanded if such a field is selected. (360076, 319402)
- When selecting certain field types in the Field Bookmarks menu that is displayed in the right-hand corner of the Content Editor, nothing happened. (307793, 371483, 328201, 375717)
- This applied to the following field types: Treelist, Date, Datetime, Profile Cards, Rules, Attachment, File Drop Area, Custom.
- The Content Editor would display a stretched image in Image fields if the height of the selected image was less than 128 pixels. (368255)
- The "My Items" dialog box used case-sensitive comparison of user names when trying to unlock items. This could cause items not to be unlocked. (369860)
- After decreasing the width of one of the drop-down panels in the Content Editor, the resize handle would sometimes be missing the next time the panel was displayed, making it impossible to increase the width again. This applied for example to the Language drop-down, Favorites, Versions, Security Presets, and the Insert panel. (371896)
- Page Editor
- The "My Items" dialog box used case-sensitive comparison of user names when trying to unlock items. This could cause items not to be unlocked. (369860)
- The language drop-down box in the Page Editor no longer displays languages that the user does not have read access to. (328322)
- Publishing
- When "Publishing Warnings" are enabled in the Quick Actions bar in the Content Editor, an error icon would sometimes appear with a "PublishingWarnings gutter failed to render" message. This happened if every version of the selected item in the current content language was hidden/unpublishable. (318916)
- When selecting a version of an item with publishing restrictions, the system would sometimes display an incorrect publishing warning which could be confusing which made it difficult to figure out if a newer version, an older version, or no version at all would be published. (346052, 373181)
- Recycle Bin and Archive
- Items and versions that were archived in the background (due to having an archive date set for them) were incorrectly registered as having been archived by the anonymous user. This meant that such items/versions were only visible to Administrators in the Archive application and not to the user who had scheduled the archive operation. (369732)
- Restoring an item for which the original parent item no longer exists did not work as expected. Now, the system will restore the necessary parent item structure (without any versions) when restoring such an item. (373313)
- Media requests
- Images might not be served correctly and the log file would contain ArgumentOutOfRangeExceptions with the following message: "The UTC time represented when the offset is applied must be between year 0 and 10,000". This happened when media items did not have versions in the requested language. (364083, 369094)
- Security API
- Logging in virtual users did not work correctly. The Thread.CurrentPrinicpal was set correctly, but Sitecore.Context.User returned the anonymous user account instead of the virtual user. (375782)
- When accessing the UserProfile.Email or UserProfile.Comment properties, the system made an unnecessary call to Membership.GetUser(). This could cause the User Manager to take a long time to load when using external security providers. (371614)
- The Sitecore security APIs made a large number of unnecessary calls to Membership.GetUser() whenever a user worked with the Sitecore client. This could reduce performance of the Sitecore clinet, especially when using external security providers and/or when using virtual users. (367977, 364958) [Added June 21, 2013]
- Multibrowser support
- Sitecore Desktop
- [Chrome] The interface would sometimes seem to stop responding after a while. This could happen if the user opened a dialog box or wizard and then tried to interact with applications in the Sitecore Desktop while still having the dialog box or wizard open. (357448)
- [Chrome, Firefox, Safari] Switching between windows in the Sitecore Desktop did not work as expected if the user clicked inside a Rich Text field or other content that is rendered inside iframes. (337532)
- [Chrome, Firefox, Safari] The search box in the Sitecore Desktop task bar did not work as expected. Users would only be able to perform a search once. Subsequent attempts to search did not display the search results pop-up window. (338314, 364984)
- [Chrome, Firefox, Safari] The color of the Sitecore Desktop could not be changed. When clicking the "Color" button in the Desktop Background dialog box, the dialog box would close instead of displaying a color picker. (335760)
- [Firefox] To close dialog boxes using the ESC key, the user would have to press ESC twice. (342520)
- [Firefox] When pressing ENTER in a Search field in a wizard or dialog box to search, the wizard window would close. (373205)
- [Firefox] When pressing backspace in text field in a wizard or dialog box to delete some text, the wizard window would close. (356329)
- Keyboard navigation
- Using the up and down keys to navigate between items in tree controls did not work as expected, for example in the content tree in the Content Editor and the Access Viewer, as well as in various dialog boxes. (368075, 371801, 368076)
- Content Editor
- [Chrome] To select a different item in the content tree, the user would sometimes have to click twice to select the item. (357279)
- [Chrome, Firefox, Safari] Drag & drop reordering of items in the content tree did not work correctly when the user had scrolled the content tree, making it difficult to place the dragged item at the desired location. (364317)
- [Chrome, Firefox] Creating siblings using the Insert Options drop-down box did not work as expected. (338172, 353760)
- [Chrome] If the user selected "Link to Another Item" in the Breaking Link dialog box, the user did not see any items to select as the new link target. (360845)
- [Chrome, Firefox, Safari] When a user selected a different item in the content tree, Sitecore would sometimes display the "Do you want to save the changes to the item?" dialog box, even if the user had not made any changes to the current item. This also applied to applications based on the Content Editor, such as the Marketing Center. (351206)
Note: This issue was only partially fixed in 6.6 Update-2 and 6.6 Update-4. It was fully fixed in 6.6 Update-5 (ref. no. 381312). [Updated April 17, 2013] - [Chrome] After collapsing and expanding a field section in the Content Editor, the fields in the section would only take up half the available width of the Content Editor window. This also applied to Field Editor windows. (338904, 353768)
- [Chrome, Firefox, Safari] Translate mode did not display fields in the right-hand column correctly, for example Rich Text fields. (335631)
- [Firefox] Nothing happened when a user clicked the Goals and Attributes buttons that are displayed above the Tracking field in the Advanced section on the standard template. (355504)
- [IE]The language drop-down would sometimes take a long time before it appeared. (356184)
- After decreasing the size of the Content Editor window, the buttons at the bottom of the window were no longer visible. (371898)
- Rich Text Editor
- [IE] After inserting HTML code to display Flash movies into the Rich Text editor, a JavaScript error would appear when clicking the "Accept" button. (373425)
- [Firefox] Links to Sitecore items and media in Rich Text fields would be corrupted. Links would be inserted using "%7E" instead of the "~" character. (371883, 312541)
- The HTML and Design buttons in the Rich Text Editor window would sometimes no longer be visible after the user had decreased the height of the window. (371984)
- Page Editor and Debug
- [Safari on Windows] All characters that a user typed in any of the Page Editor dialog boxes would appear twice for each key press. (365728)
- [Chrome, Firefox, Safari] When running in Debug mode, the "Output" tab in the rendering information windows would be empty. (355565)
- Upload
- After uploading a number of files using the Advanced "classic" non-Flash upload dialog box and keeping the dialog box open, the user would only be able to upload one file at a time until they closed the dialog box and opened it again. (371894)
- [IE9] The browser would hang when trying to upload a new file to a "File" field. (370707)
- [Firefox] Uploading files using the File Explorer did not work correctly. The dialog box would appear to get stuck after clicking the "Upload" button in the upload wizard. (369833)
- [Safari] Trying to upload a picture from the Page Editor did not work as expected when clicking the "Upload" button in the floating toolbar above a Rich Text field. (371067)
- Package Designer
- A JavaScript error appeared in the Package Designer if the user tried to add security accounts to the package. (334603)
- A JavaScript error appeared in the Package Designer if the user tried to select a template to use as a template filter for adding items dynamically. (359714)
- [Chrome, Firefox, Safari] The "Clear Filter" buttons in the Add Dynamic Items Wizard and the Add Dynamic Files Wizard did not work correctly. (334379, 372289)
- [Chrome, Firefox, Safari] When selecting a Dynamic Items or Dynamic Files source in the Package Designer, the "Search Root" tab would be empty instead of displaying a tree control with the root node for the selected source. (336284, 359711, 371937)
- [Chrome, Firefox, Safari] When selecting a Dynamic Items source in the Package Designer, the "Filters" tab would be empty instead of displaying the filters for the selected source. (336284, 354523, 359711, 371937)
- [IE, Firefox] When adding items or files to a package, the tree control for selecting items/files would wrap each item on multiple lines. (334719, 366814)
- Installation Wizard
- [Chrome, Firefox, Safari] The Installation Wizard no longer displays a "Copy to clipboard" button in browsers that do not support copying data to the clipboard. (344891)
- Issues with extra or missing scrollbars
- [Chrome, Firefox, Safari] The scrollbar in the Rich Text Editor window was obscured by the window border and almost hidden. (355850)
- [IE] After resizing certain applications, such as the Access Viewer, the application would be missing scrollbars. (360835)
- [Firefox] The Rich Text Editor window was missing a scrollbar after the Content Editor window was resized. (338242)
- [Firefox] The Insert Sitecore Link dialog box in the Rich Text Editor would display a scrollbar for the entire window rather than only for the content tree. (371928)
- [Firefox] In the Installation Wizard, the scrollbar for long license agreement texts would display for the entire dialog box window instead of only scrolling the license agreement text. (372120)
- [Firefox] When clicking the Icon button on the Configure tab of the Content Editor ribbon, the drop-down box did not have a scrollbar. (334609)
- [Chrome, Firefox] When clicking the Open button on the Navigate tab of the Content Editor ribbon, the "Content Tree" tab did not display a scrollbar when the user expanded the content tree. (353686)
- The language drop-down box in the Content Editor was missing a scrollbar when displaying a large number of languages. (356575)
- [IE8] The Advanced "classic" non-Flash upload would obscure long file names of uploaded files with a scrollbar. (376040)
- [Firefox] The Advanced "classic" non-Flash upload was missing a vertical scrollbar after uploading many images. (375498)
- Cosmetic issues
- [Chrome, Safari] Some of the images in the Workbox remained at fixed positions and did not scroll with the rest of the content. (361338)
- [IE, Firefox] The tree control for Droptree fields would wrap items with long names on multiple lines. (367679, 371315)
- [Chrome, Firefox] Treelist fields did not always have the same height for the left-hand and right-hand lists. (367655)
- [Chrome, Firefox, Safari] On Mac OS, the text color was wrong in Sitecore right-click menus when hovering over a menu item. (338239)
- [Chrome, Firefox, Safari] On Mac OS, some of the colors were wrong on Sitecore's calendar control, for example when setting publish dates for an item. (338240)
- [IE] After uploading media in the Media Browser dialog box, a Content Editor window will open to allow the editor to edit the metadata for the media item. The ribbon in this window would wrap to two lines when using IE or when using the Japanese client language. (356966, 375441)
- [Chrome] After uploading media in the Advanced "classic" non-Flash upload dialog box, the list of uploaded files would look incorrect. (371889)
- [Chrome, Firefox, Safari] The error message that is displayed to users if their session has timed out or lost due to a server failure contained HTML tags. (372175)
- A number of minor, cosmetic issues have been addressed. (353808, 371890, 375497, 353795, 360838, 353700)
- Sitecore Desktop
- Localization
- When adding new variations to multivariate tests using the Page Editor, the default name of the new variations would sometimes appear in a different language than the current client language. (360736)
- When configuring personalization using the Page Editor, the default name of new conditions would sometimes appear in a different language than the current client language. (376683)
- When using the Japanese client language, a number of pages and applications did not use the Meiryo font. (370038, 370041, 370042, 369933, 369936)
- This was for example the case for the User Manager, the Role Manager, the Domain Manager, the Workbox, the Search application, the boost page, and certain phrases on the Change Password Page.
- Miscellaneous
- When using .NET Framework 4.5 and changing Sitecore configuration to use "Forms" authentication mode instead of "None", Sitecore were not be able to properly log in users to the Sitecore Client. When trying to log in with valid credentials, the login page was refreshed and the user was not logged in. (374264)
- When a user tried to resize a field in a Field Editor window, for example in the Rendering Parameters dialog box, the following error message would appear: "Method "SaveFieldSize" not found in Sitecore.Shell.Applications.ContentManager.FieldEditorForm." (359272)
- The "My Items" dialog box did not display item names when one or more items had very long names. (366917, 359124)
- The panes in the Media Browser dialog box could not be resized by dragging the splitter between the panes. (351955)
- In the core database, switching to the "Inheritance" tab on a template item would cause an "InvalidOperationException: fieldTypeItem" error message to appear. (346115)
- The __Owner field in the core database did not have a field type. (346115)
November 12, 2012
Released Sitecore CMS and DMS 6.6.0 rev. 121015 (6.6.0 Update-1).
Note: This is a product Update. Sitecore recommends upgrading to this release when the fixes included in this release meets specific needs of your organization. If this release does not include specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page. Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights
The main highlights in this update are:
- The Sitecore login page could be indexed by search engines
- Page Editor fixes and improvements
- Content Editor could delete the wrong item
- Bugfixes related to using engagement automation actions
Improvements
- This release incorporates all changes made for 6.5 Update-6. For additional information about these changes, please refer to the release notes:
- A new <hasPresentation> pipeline has been implemented. (372158, 372161)
- The pipeline is used to determine whether or not an item can be opened in Preview or Edit mode.
- The default pipeline processors will return "true" if item.Visualization.Layout is not null or if the "Controller" field is not empty.
Issues resolved
- Potential security vulnerabilities
- The Sitecore login page did not prevent search engines from indexing the content of the login page. This could allow people to identify solutions running Sitecore. To prevent this, the Sitecore login page now contains a meta tag to prevent robots from indexing the contents. (373127)
- Engagement Analytics
- In previous 6.6 releases, the standard values for the Campaign template did not specify a default value for the "Change Traffic Type" field. The value is now set to "Yes – if this is triggered on the landing page" to be consistent with 6.5 Update-4 and later. (373650)
- Engagement Automation
- In the initial 6.6 release, newly added actions in an engagement plan could fail to execute without any errors or any sign of failure in the log file. This happened because the Engagement Automation Designer sometimes failed to populate the "Type" field on engagement action items when saving an engagement plan. (374806)
- If you encounter this problem, you can execute the following Sitecore query to identify any actions with an empty Type field:/sitecore/system/Marketing Center//*[@@templatekey='engagement automation action' and @Type='']
- A JavaScript error appeared in the Engagement Automation Designer if a user tried to edit the properties for the "Send E-Mail Message" action. (361892)
- The context menu in the Engagement Automation Designer appeared in the top left corner instead of appearing at the position where the user right-clicked. (373606)
- In the initial 6.6 release, newly added actions in an engagement plan could fail to execute without any errors or any sign of failure in the log file. This happened because the Engagement Automation Designer sometimes failed to populate the "Type" field on engagement action items when saving an engagement plan. (374806)
- Executive Insight Dashboard
- It is now possible to reload data in the Dashboard, even if there was no data displayed previously. (370359)
- The Dashboard would display an AccessDeniedException and fail to load if the user had previously worked in Preview mode. (372123)
- The "Source Value per Visits" label has been corrected to "Source Value per Visit". (365894)
- Content Editor
- When a user tries to delete an item which has been deleted by a different user or in a different browser window, the Content Editor now displays a message informing the user that the item could not be found. Previously, the delete action would be executed on the Home item when the selected item no longer existed. (371814)
- If an exception occurs in an event handler that is triggered right after an item is deleted, the exception is now logged and the content tree is refreshed. Previously, the content tree was not refreshed and the already deleted item would appear to still exist. If the user then tried to delete it again, the delete action would be executed on the Home item. (371886)
- Page Editor
- When starting the Preview or Debug clients from the Page Editor, Sitecore did not display the "Do you want to save the changes to the item?" dialog box if the user had modified the page. (355784, 355785, 368976)
- The Page Editor could fail with the message "The Page Editor is not yet available" error message when the page layout or a sublayout contained an ASP.NET LinkButton with a PostBackUrl attribute. (311421)
- The Page Editor and Preview client displayed an error message stating that the current page does not have a layout when a user tried to open an item that had an MVC controller assigned. (372158, 372161)
- Serialization
- After reverting serialized clones, the restored clones would sometimes display incorrect values in one or more fields. This happened when the standard values item for the template contained a $name token in one or more fields. (369320, 369159)
Note: Updated with additional reference numbers. [December 12, 2012] - When a user tried to revert an item, the system would fail with an InvalidOperationException if the current template of the item was different than the template of the serialized item. (344884)
- After reverting serialized clones, the restored clones would sometimes display incorrect values in one or more fields. This happened when the standard values item for the template contained a $name token in one or more fields. (369320, 369159)
- Multibrowser support
- [Chrome, Firefox, Safari] The "OK" and "Cancel" buttons were not visible in the "Add Roles" dialog box. (335082, 338235)
Note: Updated with additional reference numbers. [Added December 12, 2012]
Note: This issue was only fixed in 6.6 Update-1 when editing users. The issues was fixed for creating users as well 6.6 Update-5 (ref. no. 381594). [Added April 17, 2013] - [Firefox] The Engagement Automation Supervisor would display several unnecessary notifications if the user opened the "Add a Segment" dialog box and then clicked Cancel. (373306)
- [Chrome, Firefox, Safari] The "OK" and "Cancel" buttons were not visible in the "Add Roles" dialog box. (335082, 338235)
November 5, 2012
Released Sitecore CMS and DMS 6.6.0 rev. 120918 (6.6.0 Initial Release).
This is an old CMS 6.6 update.
You should only use this update as an interim update when upgrading from Sitecore CMS 6.5 to CMS 6.6 Update-1 or later.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page. Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights of new features, improvements and fixes
- Improved Executive Insight Dashboard
- Sitecore MVC improvements and bug fixes
- The setup.exe now defaults to use .NET 4.0 for application pools, and supports enabling Sitecore MVC
- The Rich Text Editor has been updated to a newer version of the Telerik components
- UI improvements and bug fixes related to the Archive and Recycle Bin
- Issues resolved by 6.5 Update-5 have now been merged to 6.6.
New Features
- The 6.6 Technical Preview introduced several new features, which are summarized here:
- Device Simulator
- Page Preview service
- MVC support
- Support for SQL Server Database Mirroring
- Ability to restore individual versions from the Recycle Bin and Archive
- Dictionary Domains
- Segment Builder
- See the release notes for the 6.6 Technical Preview for the full details about each of these features.
- Executive Insight Dashboard
- The Executive Dashboard has been made faster and easier to use.
- It is now possible to filter by site and language in the Executive Dashboard. You can select a single site or view data from multiple sites simultaneously. (361877)
- The Dashboard can now display data for partial periods. Such data is displayed in a lighter color.
- A new Campaign Search box allows users to search for campaigns.
- Users can right click bar charts and pie charts to drill down.
- Note: When using the Oracle data provider, the Refresh button in Dashboard reports does not fetch new data from the Analytics database. To refresh data, you must first execute the "Refresh Aggregated Data in Reports" task from the Control Panel. We are planning to address this issue in a future update (please use ref. no. 372729 if contacting Customer Service about this issue).
- Engagement Analytics
- A Dashboard tab will be displayed when selecting a Campaign or Campaign Category item in the Marketing Center or the Content Editor. The Dashboard tab displays a report for the selected Campaign or Campaign Category.
- Support for using separate databases for collecting data and for reporting in DMS
- Sitecore now provides a DMS Data Transfer Package for SQL Server which transfers DMS/analytics data from a collection database to a reporting database.
- The Engagement Analytics Configuration Reference Guide has been updated to provide information about how to implement and configure distributed setups using these features (see the section "Using Separate Databases for Collecting Data and Reporting in Sitecore DMS").
- The Data Transfer Package can be downloaded from the DMS Resources section on SDN.
- Note: The Dashboard might fail with an error if you try to open or refresh reports while the SQL Server is transferring data into the reports database, as described in the associated known issue on SDN. (ref. no. 373097 will be used when the issue gets addressed in a future update).
- Support for setting up a SQL Server Agent job to refresh reporting the data in the reporting database
- Sitecore now provides documentation on how to set up a SQL Server Agent job to refresh aggregated data for reports.
- Using a SQL Server Agent job is a more manageable, reliable, and configurable method for automatically refreshing the views compared to the default configuration of Sitecore where the views are updated by a scheduling agent defined in the Sitecore.Analytics.config file.
- See the Engagement Analytics Configuration Reference Guide for instructions (in the section "Setting Up a SQL Server Agent to Refresh the Report Summary Data in the Sitecore_Analytics Database").
- The SQL script for setting up the job can be downloaded from the DMS Resources section on SDN.
- Engagement Automation
- In the Engagement Automation Supervisor, it is now possible to use rules and conditions to create a segment of existing visitors that you can add to a state.
Breaking Changes
- Sitecore MVC
- A number of methods in the SitecoreHelper class have been renamed for clarity and consistency. (368905, 368906)
- The following methods have been renamed:
- Item() is now ItemRendering()
- View() is now ViewRendering()
- Xslt() is now XsltRendering()
- Inner() is now ChildRenderings()
- You must rename all occurrences of these methods to the new names. If you precompile your views, the compiler will find the usages and report the corresponding error messages.
- The following methods have been renamed:
- The SystemHelper.GetThreadData() method has been replaced by a new ThreadHelper.GetThreadData() method. (369002)
- A number of methods in the SitecoreHelper class have been renamed for clarity and consistency. (368905, 368906)
Deprecated methods and properties
- Lucene
- In the 6.6 Technical Preview, a number of classes related to Lucene were deprecated. See the release notes for the 6.6 Technical Preview for the full details.
- In the 6.6 Technical Preview, the entire Sitecore.Search.DebugFSDirectory class was deprecated by mistake. The class is no longer deprecated. Only the parameterless constructor is now deprecated in favor of a new constructor: DebugFSDirectory(DirectoryInfo, LockFactory). (368717)
- The Sitecore.Analytics.Configuration.AnalyticsSettings.AutoDetectRobots setting has been deprecated. Use AnalyticsSettings.Robots.AutoDetect instead. (359275)
- The corresponding setting in the Sitecore.Analytics.config file continues to be named "Analytics.AutoDetectBots".
Important changes
- Executive Dashboard
- The Executive Dashboard requires Silverlight 5.
- The configuration files for the Executive Dashboard in the /sitecore/shell/Applications/Reports/Dashboard folder have been renamed from *.xml to *.config to prevent the files from being accessed in clear text. (370742)
- Engagement Automation
- The engagement automation feature depends on a new include file in the /App_Config/Include folder. If this file is removed or disabled, a number of dialog boxes in the engagement automation applications will fail with an exception.
- The full path to the file: /App_Config/Include/Sitecore.Shell.MarketingAutomation.config.
- The engagement automation feature depends on a new include file in the /App_Config/Include folder. If this file is removed or disabled, a number of dialog boxes in the engagement automation applications will fail with an exception.
- Lucene Search
- In the 6.6 Technical Preview, the Lucene.Net.FSDirectory.class setting was removed from the web.config by mistake. The setting has been reintroduced in the web.config file. (368716)
- Calls to String.ToUpper() in the Sitecore API have been replaced with calls to String.ToUpperInvariant() to prevent issues when the application runs under specific cultures, such as Turkish where "ı" (a dot-less i) is converted to "I" (upper-case i), thereby potentially causing strings to be uppercased and/or compared incorrectly. (363085, 364814)
- This change could potentially break existing code, although we're mostly using uppercased strings when generating cache keys or hash codes which most customers do not interact directly with.
- It is recommended to review custom code and change .ToUpper() to .ToUpperInvariant() when performing string operations that interact with the Sitecore API if the code is expected to run under the Turkish culture.
- The following 3rd party assemblies (.dll files) have been updated to a newer version. You might have to update and recompile your code if you are referencing these assemblies from your code:
- The Telerik.Web.UI.dll assembly has been updated from 2011.1.315.35 to 2012.2.607.35. (348893)
Improvements
- This release incorporates all changes made for 6.5 Update-5. For additional information about these changes, please refer to the release notes:
- Page Editor
- The 6.6 Technical Preview introduced a large number of improvements for the Page Editor. See the release notes for the 6.6 Technical Preview for the full details.
- Executive Dashboard
- There is no longer a delay in aggregating data used in the Executive Dashboard and some of the Engagement Analytics reports. The delay in aggregating data was introduced in 6.5 Update-4 as a temporary solution.
- The 3 chart categories have been removed (Executive Overview, First Impression, and Engagement) so that all available Dashboard reports are available on a single screen.
- Help text is now available in the UI.
- A "last updated" timestamp label is displayed on each chart.
- The timeline only highlights the area selected by the user.
- The trend table can be collapsed or expanded.
- Improvements to caching.
- The "Reload data" button refreshes data more quickly.
- The export to Excel functionality has been changed so that the Excel file contains only the data that has been bound to the selected report. (370328)
- 4 settings files plus a configuration file offer developers more configuration options.
- Engagement Analytics
- [SQL Server] The default size of the clean Analytics database has been increased to 10MB and the default file growth increment has been set to 5MB instead of 1MB to reduce the frequency by which SQL Server needs to allocate additional file space. (370582)
- Notice that many customers should consider using a larger value for file growth further based on quickly their Analytics database grows.
- A new setting names Analytics.TrackerChanges.LongOperationThreshold has been introduced in the Sitecore.Analytics.config file. (356942)
- This setting defines the threshold value for logging long running Analytics Tracker operations, such as Analytics insert operations. The default value is 2.5 seconds.
- The TrackingField class has been extended with a new property named IsEmpty that can be used to detect whether an item has tracking information. (367391)
- [SQL Server] The default size of the clean Analytics database has been increased to 10MB and the default file growth increment has been set to 5MB instead of 1MB to reduce the frequency by which SQL Server needs to allocate additional file space. (370582)
- Sitecore MVC
- It is now possible to pass a model to a layout (i.e. the outermost view). This can be done in several different ways, listed with the highest priority first: (368457)
- Add a field to the item being rendered called 'MvcLayoutModel' and set it to a valid model reference.
- Add a parameter to the layout by adding the text 'model="MyModel"' where MyModel is a valid model reference. For now, this can only be done by editing the raw layout definition XML (in the Renderings field).
- There is a new field on layout definitions called Model. If this contains a valid model reference, it will be used when rendering the layout.
- When specifying Controller Name on a controller item, it is now possible to specify either the name of the controller or the type name of the controller. Previously, specifying the type name of the controller was not supported. (366381)
- It is now possible to replace the default ControllerLocator, ModelLocator, and ItemLocator. (368948)
- You can register your own implementation with code like the following:MvcSettings.RegisterObject<ModelLocator>(() => new MyCustomModelLocator());
- Typically you will put this code in the Initialize pipeline.
- To get the currently registered implementation of a locator, use code like the following:var modelLocator = MvcSettings.GetRegisteredObject<ModelLocator>();
- It is now possible to pass a model to a layout (i.e. the outermost view). This can be done in several different ways, listed with the highest priority first: (368457)
- Scaling and multi-instance setups
- The ClientData cache was not kept in sync between instances in a multi-instance setup. This could cause virtual users to have different runtime settings, including roles, on different instances. (366780)
- Page Preview service
- To make it easier to configure the service, the PagePreview.SiteName web.config setting is no longer commented out by default. Also, the default value has been changed from "website" to "" so that Sitecore continues to use the same value as Preview.DefaultSite by default.
- Recycle Bin and Archive
- The drop-down and dialog box in the Content Editor that is used to archiving items and individual versions have been revised to make it easier for editors to work with. (366654, 366655)
- When the "Show Versions" option is enabled in the Recycle Bin and Archive applications, the available versions will now be displayed in a grid. The grid displays language, version number, when the version was archived and which user account that archived it. (366658)
- When the "Show Versions" option is enabled, it is now possible to restore the entire item simply by selecting the item and not selecting any versions in grid with available versions. (371126)
- Setup.exe
- The setup.exe now defaults to configuring the IIS application pool to run under the .NET 4.0 framework if .NET 4.0 is installed on the server. (369991)
- The setup.exe now supports Sitecore MVC. (367561)
- If .NET 4.0 and ASP.NET MVC 3 are both installed, the setup.exe configures the IIS application pool to run under the .NET 4.0 framework and enables Sitecore MVC.
- If you wish to use MVC and Analytics together, you must still manually enable the Sitecore.MvcAnalytics.config file in the /App_Config/Include folder.
- The setup.exe now uses the instance name as the default application pool name. (369887)
- Layouts and renderings
- A new <resolveRenderingDatasosurce> pipeline has been implemented. The pipeline allows developers to dynamically override the datasource for renderings. (369175)
- The pipeline is called with an instance of the ResolveRenderingDatasourceArgs class which contains two properties:
- DefaultDataSource: Contains the data source that Sitecore would have used by default
- DataSource: Contains the overridden data source
- The pipeline is called with an instance of the ResolveRenderingDatasourceArgs class which contains two properties:
- A new <resolveRenderingDatasosurce> pipeline has been implemented. The pipeline allows developers to dynamically override the datasource for renderings. (369175)
- Dictionary
- A DictionaryBatchOperationContext class has been introduced. This class is used to suppress dictionary cache clearings which can significantly speed up operations that update multiple dictionary entries. (368276)
- The context only suppresses expensive cache clearings. The system continues to add, update and remove individual cache entries as usual, meaning that the dictionary remains usable during long-running import operations.
- The constructor takes an optional autoReloadTranslationsOnExit parameter. When true, the dictionary cache will automatically be cleared when leaving the context. Otherwise you must manually call Translate.ResetCache(true) to clear the dictionary cache.
- A DictionaryBatchOperationContext class has been introduced. This class is used to suppress dictionary cache clearings which can significantly speed up operations that update multiple dictionary entries. (368276)
Issues resolved
- The 6.6 Technical Preview resolved a small number of issues in the following areas:
- Executive Dashboard
- Analytics Reports
- Page Editor
- Dictionary
- See the release notes for the 6.6 Technical Preview for the full details.
- Potential security vulnerabilities
- Unauthenticated users could get access to perform actions related to engagement plans, including seeing a number of configuration parameters, if they knew the correct URLs and parameters to provide. (370746)
- Engagement Analytics
- [Merged from 6.5 Update-6] The system did not discard requests that come from robots based on the information in the "/App_Config/Include/Sitecore.Analytics.ExcludeRobots.config" file. (355803)
- Compared to OMS, the implementation has been reworked to reduce the overhead of checking for robots. (355908, 355905)
- If a layout did not contain the sc:VisitorIdentification control, the system would classify the visitor as an auto-detected robot, even after the visitor had visited multiple pages. (361760)
- The subscription task background job read records to process from the database based on the server's time zone instead of UTC. This could cause emails with session reports for a visit to be sent again and again, or not to be sent at all. (364725)
- [Merged from 6.5 Update-6] The system registered request to /sitecore and /sitecore/default.html in the Analytics database. Such requests are no longer tracked. (371310)
- [Merged from 6.5 Update-6] The system registered requests to the keepalive.html page in the Analytics database. (345487)
- [SQL Server] The sp_sc_refresh_views stored procedure that refreshes aggregated data for reports would fail to execute if the permissions for the SQL Server user was configured according to the installation guide for Sitecore CMS. The stored procedure now has an "execute as owner" statement to avoid this problem. (370364, 365969)
- [SQL Server] The DataKey field of the PageEvents table has been changed from varchar to nvarchar to support Unicode characters. As a result of this issue, Unicode characters in site search keywords were lost when stored in the Analytics database. (370962)
- [Oracle] Visitor classifications were not updated correctly when running the "Update Visitor Classification" wizard from Control Panel > Analytics. (369393)
- [Oracle] The VisitorsByLocation materialized view did not use the same logic as SQL Server. The view filtered visits show based on the classification of each visitor rather than the classification of each location that the visitor has visited from. (369885)
- [Merged from 6.5 Update-6] The system did not discard requests that come from robots based on the information in the "/App_Config/Include/Sitecore.Analytics.ExcludeRobots.config" file. (355803)
- Analytics reports
- [Oracle] The reports that show Classified Organizations and Unclassified Organizations did not filter visits correctly. This could cause classified organizations to show up in the Unclassified Organizations report and vice versa. (367076, 368865)
- After modifying the Visitor Overview or the Visit Details reports in the Report Designer, the reports no longer worked. When trying to view the reports, an exception would be displayed with one or more of error messages. (369338, 369352)
- Executive Dashboard
- The Dashboard will no longer offer the user to select unnecessary resolutions. For example, the Day and Week resolutions will not be available if all the visible Dashboard reports are grouping data by month. The Day and Week resolutions will only be enabled when at least one daily report is viewed (370662, 354738).
- The tick labels on the timeline would sometimes overlap when the timeline spanned a large time range. (349002)
- [Chrome] When a user pressed the backspace key while working with the Executive Dashboard, the browser would navigate back to the login screen. (370515)
- When using the Japanese client language, the Dashboard will now display 4-digit years everywhere. (371446)
- Engagement Automation
- In 6.6, engagement plan states contain two Description fields. In the 6.6 Technical Preview, the descriptions of engagement plan states were taken from the Description field in the Data section instead of the Description field in the Designer section. (367859, 372391)
- Sitecore MVC
- The <mvc.requestBegin> and <mvc.requestEnd> pipelines were not triggered at the correct stages in the request lifecycle. (368263))
- This caused various problems, such as the <mvc.requestEnd> pipeline not being run when the controller was assigned to a content item, which in turn meant that the Page Editor did not work for such items.
- The pipelines are now triggered from within a custom route handler that runs when a route is matched.
- When using MVC with Analytics and having multiple controllers on a page, profile values would be increased multiple times. To avoid this problem, the StartTracking processor has been moved from the <mvc.actionExecuting> pipeline to the <mvc.requestBegin> pipeline. (365659)
- After configuring personalization or multivariate testing for a view rendering, a TypeLoadException error related to the EmptyRenderer class would appear when trying to render the page. (370246)
- When passing an Item object to the @Html.Sitecore().Item() method in a view, the context item would be rendered instead of the item that was passed as a parameter. This did not happen if the item was passed using the item ID. (368832)
- Notice that this method is now called ItemRendering(), as described in the breaking changes section.
- When an item is rendered by a custom controller, several problems could occur:
- The ASP.NET MVC engine would fail to locate the view and throw an InvalidOperationException with the following message: "The view '[viewname]' or its master was not found or no view engine supports the searched locations". (369355)
- The Page Editor would fail to display the Page Editor ribbon and did not work correctly when trying to edit such an item. (369707)
- Alternatively, the Page Editor would fail with an InvalidOperationException and the following message: "Attempt to retrieve context object of type 'Sitecore.Mvc.ExperienceEditor.Presentation.LayoutContext' from empty stack." (371936)
- When a model passed to a view did not match the model type expected by the view, the error message did not contain the view path, making these types of errors hard to troubleshoot. (368567)
- An error would occur when specifying ".dll" at the end of a type declaration used by Sitecore MVC, for example when specifying the type name and assembly for model items. (368908)
- When an error occurs, an exception will now be thrown instead of rendering a custom error message on the page, for example when the system encounters a non-existent controller or an incorrect Controller type. (368342)
- Rendering parameters contained encoded characters if the parameters had been configured in the presentation details dialog box in the Content Editor. This happens because the presentation details dialog box double encodes the parameters. The XmlBasedRenderingParser will now detect such parameters and double decode them if necessary. (368827)
- The <mvc.requestBegin> and <mvc.requestEnd> pipelines were not triggered at the correct stages in the request lifecycle. (368263))
- Recycle Bin and Archive
- A number of issues related to restoring individual versions from the Recycle Bin and Archive have been resolved. (365998, 366042, 367571, 368536, 368539, 369670, 369733, 369745, 369747, 369753, 371077, 371076, 371178, 371167, 371842)
- The system now writes audit information to the log file when an editor sets or clears the archive date for an item or one or more versions of an item. (367250)
- The background task that archives items and versions that are scheduled to be archived did not log which items/versions it archived. (367252)
- The "Delete a Language" wizard in the Control Panel permanently deleted language definition items instead of moving them to the Recycle Bin. (368541)
- Page Editor
- In the 6.6 Technical Preview, the ID that the Page Editor generated for a field no longer corresponded to the ID generated for the field's value container. When using the Web Forms for Marketers module, this issue caused changes to a web form to be lost after editing the form in the Form Designer from the Page Editor. (368711)
- In the 6.6 Technical Preview, the Allowed Controls field of Placeholder Settings items would display unnecessary folders such as the Controllers, Models, and Simulators folders. (371026)
- [Merged from 6.5 Update-6] When the Page Editor reloads the entire page, it will now refresh the parent window instead of the top window to prevent the Page Editor from overtaking the entire browser window if it is embedded in an iframe. (371245)
- Rich Text Editor
- A number of issues in the Rich Text Editor have been resolved by updating to a newer version of the Telerik Rich Text component. A few highlights:
- When pressing ENTER to insert a new paragraph inside a DIV tag that already contained a P-tag, the Rich Text Editor replaced the DIV tag with a P-tag. (368437)
- After inserting a table using the Insert Table tool, the table would often be surrounded by a P-tag, causing the HTML not to validate. (308758)
- After inserting a table using the Insert Table tool and adding text in the cells, the table would sometimes contain a closing P-tag in one or more cells, causing the HTML not to validate. (354467)
- The table properties dialog box did not apply CSS classes to the table correctly, causing the styles not to take effect. The dialog box added the styles using a classname="..." attribute instead of a class="..." attribute. (367659)
- A number of issues in the Rich Text Editor have been resolved by updating to a newer version of the Telerik Rich Text component. A few highlights:
- Multibrowser support
- [IE9][Chrome][Safari] In the Referring Sites report in the Executive Dashboard, the Referring Site Classification dialog box did not work as expected. In IE9 and Chrome, clicking the name of a referring site to change the traffic type caused an error message to appear. In Safari, clicking the name of a referring site silently failed to open the dialog box. (369556, 363356, 363360)
- [IE] Selecting "Show Editor" for a Rich Text field rendered inside an edit frame, would cause an "Invalid argument" JavaScript error to appear. (349843)
- [IE9] In a number of areas, the font size was too small when using Sitecore with the Japanese client language in Internet Explorer 9. (369253, 369259, 368951, 368768, 368891, 368636)
- This was for example the case for the login page, sub-menus in the start menu, pop-up windows in the Page Editor, certain parts of the ribbon, and for certain combo boxes.
- A cosmetic issue with the login page displayed in Japanese has been fixed. (368635)
- A cosmetic issue with tabs in dialog boxes when using Japanese client language has been fixed. (368765, 369806)
- Media API
- The system did not always identify empty Tracking fields on media items correctly. This would not cause incorrect Analytics data to be collected, but would cause a small performance overhead for such media requests. (367391)
- Profile Cards
- Profile cards could not be unassigned from content items when the selection mode is set to "Single". (369635)
- Security applications
- A number of situations have been addressed where the User Manager, Role Manager, Security Editor, or Access Viewer failed with an exception if one or more user names or role names contained a comma. (341925, 370009, 370753, 370757, 370760, 371744, 372376)
- This happened because the underlying ASP.NET membership model does not allow account names with commas, while some security providers, such as the CRM security provider, allow commas in account names.
- Sitecore will now handle such situations gracefully, either by ignoring the underlying ASP.NET exception when trying to display information or by informing the user that the operation cannot be performed.
- A number of situations have been addressed where the User Manager, Role Manager, Security Editor, or Access Viewer failed with an exception if one or more user names or role names contained a comma. (341925, 370009, 370753, 370757, 370760, 371744, 372376)
- Lucene search
- In the 6.6 Technical Preview, the Search application in Sitecore would sometimes fail with a NullReferenceException in Lucene.Net.Util.CloseableThreadLocal.Close(). This was caused by a race condition in Lucene.Net. (372305)
- Oracle
- Several issues related to Analytics were fixed, as described in the Engagement Analytics section above.
- In the 6.6 Technical Preview, an error would occur if a user tried to restore versions from the Archive or the Recycle Bin. (372396)
- Dictionary
- Importing translations using the Import Languages wizard took much longer than expected due to constantly clearing the dictionary cache. The wizard now uses a DictionaryBatchOperationContext object during the import. This ensures that dictionary cache clearings are suppressed until all translations have been imported. (368276)
- Localization
- The Publish dialog box will now render publishing targets using their display names. (342333)
- Miscellaneous
- The prefetch cache would sometimes add data inconsistently when the thread culture was changed from custom code, causing content to partly missing from the website on a seemingly random basis.
- This problem only happened if one of the thread cultures in use was the Turkish culture and only affected languages that contained an "i" in the language identifier (such as "fi-FI"). The issue was caused by using .ToUpper() instead of .ToUpperInvariant() when generating cache keys for the prefetch cache. (363085, 364814)
- The list of license files for 3rd party components in the /Website/sitecore/Copyrights folder has been revised, adding a number of missing files and renaming existing files for more consistency. (372234)
- The copyright information in the About Sitecore box (available in the Control Panel) has been updated to point to the list of license files in /Website/sitecore/Copyrights folder. (371523)
- A couple of typos have been fixed in the item name related to the Android Tablet device simulator. (371281)
- The prefetch cache would sometimes add data inconsistently when the thread culture was changed from custom code, causing content to partly missing from the website on a seemingly random basis.
- The clean installation
- The Web.config.MVC file has been renamed to Web.config.Mvc for consistency with other MVC files. (368330)
- The clean installation now includes an alternative web.config file named Web.config.Oracle.Mvc. This config file allows you for to use ASP.NET MVC together with the Oracle data provider.
June 26, 2012
Released Sitecore CMS and DMS 6.6.0 rev. 120622 (6.6.0 Technical Preview).
Important: The technical preview release of Sitecore CMS 6.6 comes with only limited documentation and support. Please refer to the following page on SDN for more information about support for the technical preview release.
Please visit the appropriate Sitecore CMS 6 downloads page for instructions describing how to download and install this release.
Highlights of new features, improvements and fixes
- Device Simulator
- Page Preview service
- Native MVC support
- Page Editor improvements
- Sitecore is now using Lucene.NET 2.9.4
- Support for SQL Server database mirroring
- Ability to restore individual versions from the Archive and Recycle Bin
- Dictionary enhancements
New Features
- Device Simulator
- In Preview mode, it is now possible to preview a page as it will look when viewed with different devices (mobile phones, tablet, TV, etc.)
- The device simulator can only use the same browser as the client accessing the CMS, and therefore mimics devices without providing a pixel-perfect rendition of the website as it will look on a specific device. It should however give a good indication of how the website will appear on a device and allow content authors to quickly check how their pages look on mobile devices.
- The system provides definitions out-of-the-box for a number of devices: iPhone, iPad, Android Phone, Large Android Phone, Android Tablet, Windows Phone, Blackberry, Feature Phone, and HD TV.
- Simulators can be scaled to fit the monitor size.
- Simulators are defined below /sitecore/Layout/Simulators
- Each simulator has a number of configuration parameters (such as user agent, background image, and screen dimensions) in addition to one or more subitems known as "traits".
- Traits are used to mimic the capabilities of the device, such as "No Flash Support" or "No Silverlight Support". Each trait is defined as a pipeline processor that can modify the output of the page before it is sent to the browser. For example, traits typically replace unsupported elements with alternate content, and might also add trait-specific JavaScript or CSS files to the output.
- Page Preview service
- Page Preview uses a prepaid service that renders screenshots of how the page will look in different browsers on different devices/operating systems.
- Customers can use the Sitecore App Center to purchase this service.
- The resource identified by the URL must be accessible from the internet. Otherwise, the service will fail to render screenshots.
- The service access the resource identified by the URL as a regular website visitor. This means that the page must be published before the service can render a screenshot. It also means that the content displayed to the user might not be identical to the content that the currently logged in user sees.
- To generate one or more page previews, use the "Screenshots" button that is available on the Experience tab in Preview mode and on the Presentation tab in the Content Editor. Sitecore will then generate a URL and send it to the external service which performs a request using the desired browser(s) and generates the screenshot(s).
- Technical details:
- The URL that the page preview service requests to create a screenshot for a particular item is formed by the <getPagePreviewUrl> pipeline, which can be extended to modify the URL or append additional query string parameters.
- Custom logic for retrieving the credentials for the page preview service can be implemented by registering a custom 'SACauthorization' provider, derived from 'Sitecore.ApplicationCenter.AuthorizationProvider, Sitecore.Kernel'.
- The binding options for communicating with the page preview service can be modified in the web.config file (<binding name="SitecoreApplicationCenter"> node).
Note: Page Preview service is not yet available in Sitecore App Center. It will become available after RTP release of 6.6. - MVC support
- Sitecore MVC support allows ASP.NET MVC to be used as a first-class rendering engine in Sitecore.
- Using MVC requires the .NET Framework 4 and Microsoft ASP.NET MVC 3.
- Sitecore MVC support is disabled by default when installing Sitecore to prevent problems if the solution is running under .NET 3.5 and must be enabled before you can use the MVC features in Sitecore.
- For instructions on how to install, enable and use MVC with Sitecore 6.6, please refer to the Sitecore MVC Developer's Reference Guide.
- The MVC support in Sitecore is mainly pipeline driven and provides a powerful, flexible, and extendable API for controlling the rendering process.
- New rendering types and standard fields have been added to support MVC controllers, views and models from within the CMS system.
- Support for SQL Server Database Mirroring (363627)
- To support hot failover for database calls in a SQL Server Database mirroring setup, Sitecore now supports retrying database calls one or more time if they fail to connect to the database. This feature can also be useful in other setups.
- To enable this feature, find the node <sitecore><retryer> in the web.config file and set the "disabled" attribute to "false". You can also configure the number of retries before the failure is passed on to the usual data API, as well as the interval between tries.
- If you execute custom SQL in your solution and wish to take advantage of this feature, the retryer can be used in the following way:
- var dataApi = new SqlServerDataApi(connectionString);
var result = Factory.GetRetryer().Execute(() => dataApi.Execute("select * from SharedFields"));
- var dataApi = new SqlServerDataApi(connectionString);
- To setup Microsoft SQL Server Database Mirroring please refer to MSDN.
- A new page named /sitecore/service/Heartbeat.html can be pinged by traffic managers and load balancers such as Azure's Traffic Manager to determine the health of the instance.
- The page attempts to connect to all databases that have an ASP.NET connection string defined, including non-Sitecore databases.
- If the system works and all databases respond, the page will return a 200 OK response code.
- If Sitecore is running but one or more databases is not responding, the page will return a 500 Internal Server Error response code and write one or more entries to the Sitecore log file. Each unique exception will only be logged once.
- It is now possible to restore individual versions from the Recycle Bin and Archive. (339560, 347092)
- In addition to archiving the entire item, it is now possible to specify an archive date for each version of an item.
- When deleting a version from an item using the Content Editor, the version will now be moved to the Recycle Bin instead of being permanently deleted.
- Deleting versions with the API continues to delete the version permanently, unless you explicitly recycle the versions.
Note: The technical preview requires you to write several lines of code to do so, but we're planning to implement a method in the final 6.6 release to recycle an item version with a single line of code.
- Dictionary Domains (350770, 334356)
- Support for dictionary domains makes the dictionary functionality in Sitecore much more flexible and powerful. Dictionary domains allow customers and module developers to define as many separate dictionaries in a solution as they wish.
- Dictionary domain folders can be created anywhere in the content tree and in any database, making it possible to configure the location of the dictionary which for example is useful for modules and in multisite solutions. Also, dictionary domains can be nested.
- Dictionary domains support automatic fallback to other dictionary domains and/or databases, and developers can also specify fallback dictionary domains/databases to the Translate.Text() method.
- The Sitecore.Globalization.Translate.Text() method invokes the new <getTranslation> pipeline. This makes it possible to extend or modify how the dictionary resolves translations, for example by looking up phrases in a custom database.
- Segment Builder (347792, 348088)
- A new Segment Builder dialog box allows end users to create a list of visitors that match certain criteria. The user can define one or more conditions to define a segment, and will be presented with the number of visitors that currently match the conditions in the DMS database.
- Segments allow for dynamic evaluation rather than having a static list of visitors. The dialog box returns the set of rules configured by the user to the calling class, which can then be evaluated against the DMS database at any time to get an up-to-date list of visitors in the segment.
- The Segment Builder is included in this release, but it is not yet incorporated into any part of the Sitecore client (or any supported modules). It will be used in future features and modules.
Important changes
- The DMS version number has been changed from 2.0.1 to 6.6.0, and the version numbers will follow each other for future releases. This should make it easier to determine which CMS and DMS versions that correspond. (358592)
- A small change has been made to the database schema for the Analytics database:
- The definition of the VisitorsByLocation view has been changed to include the VisitorClassification from the location, not the visitor. (364127, 361947)
- Lucene Search
- Sitecore is now using version 2.9.4 of Lucene. (363499)
- Due to changes in Lucene, the following web.config settings are no longer relevant and have been removed:
- Lucene.Net.CompressionLib.class
Lucene.Net.FSDirectory.class
Note: This setting was removed by mistake and has been added back in 6.6.0 (Initial Release). [Added September 24, 2012] - Sitecore will detect if ICSharpCode.SharpZipLib is present and will automatically use compressed storage for search indexes if it is. When compression is not available, plain storage will be used. (367187)
- Sitecore does not distribute ICSharpCode.SharpZipLib since it's covered by a GPL license, but customers can download it from ic#code and install the DLL into the /bin folder to enable compression support in Lucene. No configuration is needed.
- The default security settings in Sitecore have been updated to separate the Designer role from people restricting what designers are allowed to do. (352587)
- Members of the Sitecore Client Designing role no longer have permissions to create and modify items under /sitecore/Layout/Placeholder Settings by default. Instead, members of the Sitecore Client Developing role have been granted permissions to do so.
- In the "Editor Options" section on rendering definition items, the "Field Write" access right is now granted to members of the Sitecore Client Developing role rather than the Sitecore Client Designing role for the following fields:
- Datasource Location
- Datasource Template
- Compatible Renderings
- Page Editor Buttons
- Page Editor
- In the Page Editor, the default access to the "Edit the placeholder settings" button has been restricted to members of the Sitecore Client Developing role. (352587)
- A new "Can Select Placeholder Settings" policy item in the core database controls the ability to assign an existing placeholder setting item from a list. By default, members of the Sitecore Client Developing role has this ability. (352587)
- The clean installation
- The recovery mode for the clean SQL Server databases was not consistent. The master and web databases used "Full" recovery mode. Now, all databases use "Simple" recovery mode by default. (363981)
- Changes to the MVC web.config files: (363632)
- The "web.config.Net4.MVC" file has been renamed to "web.config.MVC" and updated with references to Microsoft ASP.NET MVC 3.
- The "web.config.Net3_5.MVC" file has been removed to avoid confusion, since the new Sitecore MVC features require .NET 4
Deprecated methods and properties
- A number of overloads for the Sitecore.Search.IndexSearchContext.Search(...) method have been deprecated in favor of new overloads which specifies the maximum number of results to retrieve.
- The Lucene.Net.Search.Hits class was deprecated in Lucene 2.4. The following Sitecore methods which return a Hits object or take a Hits object as a parameter have therefore been marked as obsolete.
- Sitecore.Search.SearchHit.SearchHit(int, Hits)
- Sitecore.Search.SearchHits.SearchHits(Hits)
- Sitecore.Data.Indexing.Index.Search(string, Database)
- Sitecore.Data.Indexing.Index.GetEmptyHits(Analyzer)
- The Sitecore.Search.FSDirectory parameterless contructor has been deprecated in favor of a new constructor: FSDirectory(DirectoryInfo, LockFactory).
- The Sitecore.IO.Compression class has been marked as obsolete, since compression plugins is a deprecated feature in Lucene.Net.
Improvements
- The "Select the Associated Content" dialog box is now available from additional places: (350443, 353638)
- In the Page Editor, a "Set associated content" button is available in the floating toolbar that is displayed when a rendering is selected.
- In the Content Editor, a "Browse" button is available above the "Data source" field on rendering definition items.
- In the "Control Properties" dialog box, a "Browse" button is available above the "Data Source" field. The dialog box is available from the Presentation Details dialog box in the Content Editor and by clicking "Edit the Component Properties" in the Page Editor.
- Page Editor
- To reduce the risk that the Page Editor breaks the page layout, it is now possible to avoid that the Page Editor surrounds all editing controls for fields in <span> tags. (350593)
- By default, the editing controls for the following field types are no longer surrounded by a <span> tag in page edit mode:
- Image
- Internal Link
- General Link
- Word (in non-inline mode)
- This behavior is controlled by a new boolean flag named DisableWebEditFieldWrapping in the RenderFieldArgs class that is used by the <renderField> pipeline. The default value for the flag is false.
- When the DisableWebEditFieldWrapping flag is set to true, the Page Editor will mark the beginning and end of the editing controls for the field with <code> tags instead of surrounding the field output with a <span> tag.
- The flag should not be set to true for inline editable fields, since the surrounding <span> tag is still required to support editing for such fields.
- By default, the editing controls for the following field types are no longer surrounded by a <span> tag in page edit mode:
- The following buttons have been added to the Page Editor ribbon:
- An "Add a new component" button is now available in the quick actions bar next to the Save button for easily inserting components with any tab selected. (349695)
- A "Delete Page" button is now available on the Home tab. (361704, 359702)
- A "Move Page" button is now available on the Home tab. (361710)
- The "Profile" button on the Advanced tab of the Page Editor ribbon has been replaced with the ability to assign Profile Cards. (349783)
- The "Insert" button on the Home tab of the Page Editor ribbon has been renamed to "Insert Page". (361265)
- A number of small changes has been made to the floating toolbar that is displayed when a component is selected: (361265, 360492, 361497)
- The "Delete" button has been renamed to "Remove component" and moved so that it is now the last button on the toolbar.
- The "Change position" button has been renamed to "Move component".
- The "Replace with another rendering" button has been renamed to "Replace with another component".
- It is now possible to clear Image fields using a new "Clear Image" command in the floating toolbar. (361785)
- A new "Sort content" command allows authors to sort content that is displayed by a rendering. (361587)
- The command allows authors to sort the rendering's data source child items. If no data source is specified for the rendering, the command will allow authors to sort the context item's children.
- To enable the command for a rendering, select the "Sort" command in the "Page Editor Buttons" field of the corresponding rendering item.
- Developers can override which items the dialog displays and which field they are sorted by. To do so, implement a custom class for the webedit:sortcontent command and override the GetOptions(args) method of the original SortContent class. (366171)
- A new "Rename Page" button can be added to the Page Editor ribbon. (361764, 366202)
- To do so, add an item in the core database in the appropriate location below "/sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Page Editor" and set the Click field to "webedit:rename".
- Support for executing workflow commands from the Page Editor without using the Workbox. (356640, 361480)
- If the current item is in a workflow, a notification will be displayed below the ribbon with information about the current workflow state along with any available workflow commands.
- Ability to display notifications and provide command links below the Page Editor ribbon. (361480)
- By default, the system will display workflow information and commands in the notification bar, as described above.
- Developers can display custom notifications by adding a processor to the <getPageEditorNotifications> pipeline. The processor can optionally add one or more options to the notification. Options will be displayed in the form of command links.
- Customizing the behavior of the "Select a Rendering" dialog box using the <getPlaceholderRenderings> pipeline has been made easier. The GetPlaceholderRenderingsArgs class now expose an Options property that allows custom processors to easily specify the options for the dialog box, for example whether the "Open the properties immediately" checkbox should be visible or hidden. (357426)
- To reduce the risk that the Page Editor breaks the page layout, it is now possible to avoid that the Page Editor surrounds all editing controls for fields in <span> tags. (350593)
Issues resolved
- Executive Dashboard
- When opening visit reports from the Dashboard, the Sample Visit report would not show data from the last day in the selected date interval. This happened because the end date for the selected interval was interpreted as the start of the day instead of the end of the day. (367068)
- Analytics reports
- The reports that show Classified Organizations and Unclassified Organizations did not filter visits correctly. This could cause classified organizations to show up in the Unclassified Organizations report and vice versa. This happened because the system filtered visits to show based on the classification of each visitor rather than the classification of each location that the visitor has visited from. (364127, 361947, 362590)
- Page Editor
- [Firefox, Chrome, Safari] When right-clicking the Page Editor ribbon, the browser's context menu would be displayed. (361589)
- Dictionary
- In a multi-instance setup, dictionary changes only took effect on the instance where they were made and were not propagated automatically to all instances. (345165, 355837)
- The dictionary did not support multiple databases.
- The Translate.Text() method will now perform lookups in the content database (or the context database if no content database is specified for the site) before falling back to the core database. (334560)
- Adding or updating dictionary items in the master or web database would update the dictionary.dat file correctly, but the changes would only be persisted until the dictionary.dat file was regenerated. (338445, 360263)
- Adding or updating dictionary items in any database would overwrite the key and phrases in the dictionary.dat file, even if the key and phrases came from another database.
- The dictionary would sometimes contain deleted phrases
- The dictionary.dat file was not updated when removing versions from dictionary items. (328639)
- After removing the last version in a specific language from a dictionary item, the dictionary.dat file would still contain the phrase in that language, also if the dictionary.dat file was regenerated. (350708)
- After reverting or updating serialized dictionary items, the dictionary cache was not reloaded. (324714)
- After installing dictionary items using an Update Package, the dictionary cache was not reloaded. (324714)