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 10, 2014
Released Sitecore CMS and DMS 7.0 rev. 140408 (7.0 Service Pack-1, originally released as 7.0 Update-5).
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 7 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 7.0 Service Pack-1, originally released as 7.0 Update-5.
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, 400292) - 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)
January 22, 2014
Released Sitecore CMS and DMS 7.0 rev. 140120 (7.0 Update-4).
Note: This is a product Update. Sitecore recommends upgrading to this release when 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 7 downloads page.
Highlights
The main highlights of this update are:
- Includes all the fixes from 6.6 Update-7.
- A number of issues related to Item Buckets and Sitecore.ContentSearch have been addressed.
- A number of potential security vulnerabilities have been fixed.
- A number of situations where the system did not log sufficient audit information have been addressed.
- A number of issues have been fixed where the system used the client language instead of the content language.
- A number of issues related to the Package Installation wizard and the Package Designer have been addressed.
- The Sitecore clients now support configuration of session time-outs.
- Contains a number of improvements and fixes related to serialization of items, users, and roles.
Improvements
- This release incorporates all changes made for 6.6 Update-7. For additional information about these changes, please refer to the release notes:
-
Performance
- A new setting named ContentSearch.Indexing.DisableDatabaseCaches in the Sitecore.ContentSearch.config file allows you to specify whether to populate database caches with data during indexing. The new setting only affects Sitecore.ContentSearch indexes. To control this behavior for Sitecore.Search indexes, you can use the Indexing.DisableDatabaseCaches setting in the web.config file. (397452)
-
Serialization
- When you revert serialized user accounts, the system no longer allows your own user account to be deleted as part of the operation. The system now displays a warning in this situation and will not revert any of the selected user accounts. (338425, 392202)
- When you revert serialized user accounts or roles, the system now asks for confirmation before reverting or deleting the user accounts and informs you about the actions that are performed. (392202, 392206, 338425, 392501)
Important changes
- The Insert Link dialog box has been refactored to use a UrlHandle to transfer parameters to the dialog box. (375099)
- Notice that this change might break third-party code that reuses the Insert Link dialog box and passes parameters directly to the control in the URL. This type of code has to be reworked to use a UrlHandle.
-
Sitecore.ContentSearch Linq layer
- The SingleOrDefault method did not work correctly. If there was more than one element in the sequence, it would return the default value. This has been fixed so that it now throws an exception if there is more than one element in the sequence. Note that this change can potentially break existing code that uses this method if the code does not handle such exceptions. (395465)
-
Sitecore.ContentSearch API
- For clarity, the ContentSearch.ParallelIndexing.LimitCores setting has been renamed to ContentSearch.ParallelIndexing.MaxThreadLimit in the Sitecore.ContentSearch.config file. This is because the setting controls the number of indexing threads, not the number of processor cores utilized for indexing. (398221)
Deprecated classes, methods, and properties
- The ContentSearchConfigurationSettings.ParallelIndexingCoreLimit property has been deprecated in favor of the new ParallelIndexingMaxThreadLimit property. (398221)
Issues resolved
-
Potential security vulnerabilities
-
Sitecore Corp. would like to give credit to Joel Voss at Leviathan Security Group for the discovery of the following vulnerability and for his cooperation:
The Sitecore clients did not check whether session cookies were expired before trying to re-login a user. This could potentially be used to copy session cookies and get access to the Sitecore clients, even if the previously logged in user had logged out. This has been fixed so that session cookies cannot be reused after the user has logged out. (396307) -
Sitecore Corp. would like to give credit to Michael J Minchinton at TotalJobsGroup.com for the discovery of the following vulnerability and for his cooperation:
A non-persistent cross-site scripting vulnerability has been fixed in the xmlcontrol. (396372) - Sitecore no longer allows the Start URL property on a user profile to redirect to an external URL. If a user tries to log in with this type of Start URL, the system now displays an error message and does not redirect the user to the external URL. (384177)
- The Insert Link dialog box transferred XML in the query string. This was reported as a potential security vulnerability even though it could not be used to inject JavaScript on the page. This has been fixed by reworking the dialog box to use a UrlHandle. (375099)
-
Sitecore Corp. would like to give credit to Joel Voss at Leviathan Security Group for the discovery of the following vulnerability and for his cooperation:
-
Performance
- The <visitEnd> pipeline that cleans up expired visits could degrade the overall performance of the system, including page delivery times, when the solution contained engagement plans. The SQL that is executed by this pipeline has been reworked to reduce the impact on performance. (395391)
-
Engagement Analytics
- When you edited a conditional rendering rule, the Rule Set Editor dialog box displayed two sections named "Actions." This has been fixed so all actions are displayed in a single section. (382530)
-
Content Editor
- If you switched to a different database than the master database, deleted an item, and selected "Remove Links" in the breaking links dialog box, the links would be removed from the master database instead of the selected database. This has been fixed. (362884, 381208, 396966)
- If an Image field contained a broken link, an ArgumentNullException error would appear when you clicked the Browse button above the field. This has been fixed so that now the Media Browser opens without an error. (343230)
- On the ribbon, on the Navigate tab, the Back button, was always disabled, even after you selected another item in the content tree. This has been fixed so that now the Back and Forward buttons work as expected. (371037)
- If you did not have item:read permissions for one or more template sections, and you selected an item based on the template, an ArgumentNullException would appear with the following message: "Null IDs are not allowed." This has been fixed so that the display names of template sections are rendered in the Content Editor even if you do not have read permission for the definition items. (309257)
- The TreelistEx field allowed you to open the dialog box to edit the field value even if you did not have write permissions for the item or for the field. This has been fixed. (362877)
- 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 Tracking field control. This has been fixed by displaying the field in a read-only mode if you do not have sufficient permissions to modify the tracking information. (355595)
- The Validation Result dialog box did not encode HTML characters. This could cause JavaScript in fields to be executed when rendering the result of the validation. This has been fixed. (387158)
-
Page Editor
- If you entered a question mark in the name of a condition in the Personalize the Component dialog box, or if you entered a question mark in a variation in the Test the Component dialog box, an ArgumentNullException error would appear when you moved the focus out of the text box. This has been fixed. (354846)
-
Rich Text Editor
- The Edit HTML dialog box that is available for Rich Text fields did not remove script tags from the HTML even when the HtmlEditor.RemoveScripts setting was enabled. This has been fixed. (382284)
- When you opened the Rich Text Editor, a JavaScript error would appear if the system was configured so that you did not have access to the HTML view in the Rich Text Editor. This has been fixed. (384844, 398577)
- When you clicked Accept in the Rich Text Editor, your changes would sometimes be discarded and the following error message would appear: "The operation could not be completed. Your session may have been lost due to a time-out or a server failure." This occurred because the SessionTimeout JavaScript setting was not available in the Rich Text Editor. This has been fixed. (371633, 378208).
- When you opened the Rich Text Editor, a warning would be written to the browser's developer console with the following message: "SessionTimeout not found in settings scForm.Settings ." This has been fixed by ensuring that the SessionTimeout property is available. (371633, 381315)
-
The Insert Sitecore Media dialog box in the Rich Text Editor and the Media Browser dialog box in the Page Editor used the client language instead of the content language.
- When you uploaded an image, the media item would be created in the wrong language. This has been fixed. (381197, 325536, 386809)
- When you selected an image, the ALT text and other properties would be read from the wrong language, and versioned images would display the wrong language version of the image. This has been fixed. (351426, 350095, 364315, 350093)
- If you selected an image that did not have a version in the client language, the following error message would appear: "The selected item is not an image." This has been fixed. (327347, 381193, 381236)
- The dialog box used the client language when displaying thumbnails of images. As a result, the thumbnails would sometimes be missing or display a wrong image. This has been fixed so that now the dialog box uses the content language when displaying thumbnails. (386608, 386624, 393281)
- After inserting a versioned image in a rich text field, the image version from the client language would be displayed instead of the version from the content language. This has been fixed. (350092, 329810)
- After uploading media in the Media Browser dialog box, a Content Editor window (for editing the metadata of the media item) opened in the client language instead of the content language. This has been fixed. (390365)
-
Other issues where the system used the client language instead of the content language.
- In the Rich Text Editor, when you opened the Map Editor for a versioned image, the dialog box displayed the image in the client language instead of the content language. This has been fixed. (399166)
- The Page Editor used the client language when displaying images. As a result, images would sometimes be missing or display a wrong language version. This has been fixed so that images are always rendered in the content language. (391356)
- The "Alt Required" field validator used the client language instead of the content language. This has been fixed. (374021, 381250)
- When you performed certain operations on an item, the confirmation dialog box contained the display name for the item from the client language instead of the content language. This happened when you deleted items, moved items, or used the Copy To command. This has been fixed. (368382, 368430)
-
Item buckets
- When you worked in the core database and created a new item under an item bucket container, the newly created item would remain located directly under the item bucket container. This has been fixed so that now the item is moved to an appropriate subfolder in the hidden item bucket folder structure. (399831)
- When you worked in the core database and copied, cloned, or moved an item that was stored in an item bucket container, the newly created item had the same value in the Bucket Parent Reference field as the original item. This has been fixed by clearing the Bucket Parent Reference field when copying, cloning, or moving items that are stored in a bucket. (399830, 399831)
-
Search tabs in the Sitecore clients
- In certain cases, you could not open the Search Options menu after performing a search. For example, this could happen if a different user had recently deleted an item and your search expression had a location filter that pointed to the item. This has been fixed. (401040)
- The Search tab in the Insert from Template dialog box appeared before the Browse tab. This was inconsistent with other dialog boxes. This has been fixed so that the Search tab now appears after the Browse tab. (382707)
-
Sitecore.ContentSearch API
- The Lucene provider did not apply the boosting of index fields correctly for boost factors specified on template fields. This has been fixed. (392310, 398429, 399544)
-
Sitecore.ContentSearch Linq layer
- When you executed Linq expressions with multiple OR conditions, the generated query sometimes contained extra parenthesis. This could change the evaluation of the search expression, for example when boosting one or more search terms. This has been fixed. (399539)
- When you executed Linq expressions that applied boosting to operators such as Contains, StartsWith, EndsWith, and Equals, the boosting was not applied correctly, and the resulting search expression would be missing the boost factors. This has been fixed. (395160)
- When you executed Linq expressions, the boosting of expressions in parenthesis was not applied correctly, and the resulting search expression would be missing the boost factors. This has been fixed. (395161)
-
Audit information
- When you created a new role, the system did not log audit information about the action. This has been fixed. (393572)
- When you deleted a role, the system did not log audit information about any child roles that were removed from the role as part of the deletion. This has been fixed. (393648, 393655)
- When you reverted roles from serialization, the system did not log audit information about any child roles that were removed from the role as part of the deletion or any parent roles that the current role would be removed from. This has been fixed. (393718)
- When you added or removed roles for a user account, the system did not log audit information about the action. This has been fixed. (353944)
- When you added or removed managed domains for a user account, the system did not log audit information about the action. This has been fixed. (393549)
- When you deleted a user account, the system did not log information about the roles and managed domains that were removed from the user as part for the deletion. This has been fixed. (393555, 393565)
- When you edited a domain, the system did not log audit information about the action. This has been fixed. (393750)
- When you kicked a user from the system using the Kick User page, the system did not log the name of the user. This has been fixed. (375413)
-
Security applications
- If you deleted a security domain using the Domain Manager, the domain could still appear in the list of managed domains for one or more user accounts. This has been fixed so that now the system updates the managed domain list of user accounts when a domain is deleted. (393753)
- In the User Manager, when you generated a new password and copied it to the clipboard, ampersands in the password were HTML encoded. This has been fixed so ampersands are no longer encoded when you copy them to the clipboard. (374602)
-
Security API
- The session time-out for the Sitecore clients could not be configured. This has been fixed so that now the Sitecore clients respect the configured session time-out, including the ability to use sliding session expiration. (309252, 390337, 322565)
-
Media library
- When you uploaded media, the system did not check template inheritance when trying to find the nearest media folder. This has been fixed. (356620)
- If a media item contained an invalid character, such as a colon, in the File Path field, the following error message would appear when you selected the media item: "The given path's format is not supported." This has been fixed so that now a broken image icon is displayed, and you can modify the media item. (352900, 368970)
-
Media API
- If an invalid value was encountered in the If-Modified-Since HTTP header of a media request, the system would write a message to the log file using "ERROR" as the log level even though the media file would be served correctly to the client. This has been changed so that now the system uses "WARNING" as the log level for these messages. (386535)
- An error message would be written to the log file if the If-Modified-Since HTTP header of a media request contained a date stamp that specified "UTC" as the time zone. This has been fixed so that now the media request handler parses such dates correctly. (386535)
-
Renderings and layouts
- If the text attribute of a link contained ampersands, the <renderField> pipeline did not render the link correctly. Only part of the text was output, and the A-tag would be missing the href attribute. This has been fixed so that now such links are rendered correctly. (385891)
- When you specified the disable-web-editing attribute on an XSL control, the attribute would be rendered as part of the resulting HTML tag. This has been fixed so that now this attribute is no longer rendered as part of the HTML. (315610)
- When you specified the line-breaks attribute on an XSL control, the system ignored the value of the attribute when rendering Multi-Line Text fields or memo fields. This has been fixed. (319305)
-
Sitecore MVC
- Sitecore MVC did not take the OutputCacheAttribute into account when a controller action was invoked. This has been fixed so that now the ActionResult is cached if an OutputCacheAttribute is specified. (396502, 397545, 397904)
-
Package Installation
- When installing items, if you selected "Apply to all," the choice would be applied to items with conflicts even if some of the items had their own installation options specified in the package. This has been fixed so that the installation options specified for the individual items are used when available. (388356)
- When you installed a package that contained system templates, the following error could appear during installation: "Cannot install templates structure. There are some cyclic references or some template is under an item having been created by that template." This has been fixed so that packages that contain system templates are installed correctly without installation errors. (353276)
-
Package Designer
- If you added items to a package, any installation options that you specified for the items would be ignored. This has been fixed. (341861, 357200)
- If you added items to a package and selected the "Merge" installation option, the drop-down box with merge options was not enabled. This has been fixed. (341861, 357200)
- You could not enter a license for your packages. When you tried to edit the license, an empty dialog box would appear instead of the Rich Text Editor. This has been fixed. (334616)
-
Localization
- When you edited an Internal Link field and clicked the Insert Link or Insert Media Link buttons, the insert link dialog boxes displayed the content tree using the client language instead of the content language. This has been fixed. (356026)
- When using the French client language (which is not installed by default), a JavaScript error occurred when you navigated away from an item that had unsaved changes. This happened because the French version of the "There are unsaved changes" prompt contained a single quote that was not escaped correctly. This has been fixed. (346245)
- A number of phrases could not be translated in certain areas of the product. This has been fixed. (369613, 346989)
-
Serialization
- When you serialized or reverted user accounts and roles, the system did not show an error message if the system failed to serialize or revert one or more user accounts or roles. This has been fixed. (392026, 392028, 392025, 392183, 392202, 392501)
- When you tried to revert one or more roles and no roles had been serialized to disk, nothing would happen. This has been fixed by displaying a message in this situation. (392500)
- When you used the Domain Manager to revert domain roles and users, accounts that had no serialization files were not deleted. This has been fixed. (393759)
- The system did not clean up old serialization files for users that no longer existed when you serialized all user accounts. This could cause old user accounts to reappear when you subsequently reverted all accounts. This has been fixed. (392497)
- When you tried to serialize roles without selecting a role first, the system asked you to select a user (not a role). This has been fixed. (392620)
-
Multibrowser issues
- [Chrome] When you used Google Chrome on a machine with a non-English culture, for example Japanese, the Sitecore Client would sometimes not work, and a JavaScript error like the following could appear in the browser: "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. (398921)
- [Firefox] When you opened the Insert Sitecore Link dialog box, the content tree was not visible. This has been fixed. (385616)
- [Chrome, Firefox, Safari] When you changed the background image for the Sitecore desktop, the change would sometimes not take effect until you logged in again. This has been fixed. (390786)
- [Firefox] The first time you opened the Sitecore Start menu, the following message would appear in the browser's console: "Use of attributes' specified attribute is deprecated. It always returns true." This has been fixed. (390793)
-
Miscellaneous
- If you tried to access an item with a hyphen ("-") in the item name, and the encodeNameReplacements section was configured to replace spaces in URLs with "-", the system would not resolve the path correctly and would return a Not Found page. This has been fixed so URLs for these items are resolved correctly in this situation. (357706)
- When the system executed scheduled tasks, the context user for the scheduled tasks would sometimes be reported as a different user account than sitecore\Anonymous. This could happen if a user saved or published a content item at the same time as the scheduled task was executed and the scheduled task was executed in the same thread. However, this did not elevate security permissions for the scheduled task. This has been fixed so now the context user for scheduled tasks is always reported as sitecore\Anonymous. (383996)
- When one or more users subscribed to RSS feeds with item changes, the log file would sometimes contain an error message with the following message: "Unable to validate data." This was caused by an exception error in the FeedUrlOptions.ParseQueryString() method. This happened if the URL authentication for the RSS feed failed, for example, if the machine key was changed. This has been fixed so that now the system returns a 404 Not Found error page in this situation, and it does not write an error to the log file. (344739)
- If the system contained two field type definitions with the same name, an exception error would appear in the log file with the following message: "Item has already been added. Key in dictionary: '<fieldname>' Key being added: '<fieldname>'." This error prevented you from working in the Sitecore clients. This has been fixed so a more descriptive error message is written to the log file, and the Sitecore clients now work correctly. (356797)
- Sitecore wizards contained a reference to a non-existent firebugx.js file. This did not affect the functionality of the wizards but would show up when monitoring requests, for example, using the browser's developer tools or Fiddler. This has been fixed by removing the reference. (353071)
December 3, 2013
Released Sitecore CMS and DMS 7.0 rev. 131127 (7.0 Update-3).
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 7 downloads page.
Highlights
The main highlights of this update are:
- A large number of issues relating to Item Buckets and Sitecore.ContentSearch have been addressed, including performance issues and issues that affected multi-instance solutions.
- A number of issues related to the Multilist with Search and Treelist with Search field types have been addressed.
- A number of issues related to using the Sitecore clients with out-of-process session state modes have been addressed.
- An issue in CMS 7 has been fixed in the breaking links dialog that could cause the system to remove too many links from Rich Text fields when selecting the "Remove Links" option box.
- The logic for changing the traffic type for visits has been updated, and the Change Traffic Type field has been removed from the Campaign template.
Improvements
-
Sitecore.ContentSearch API
- The default index configuration now contains a <mediaIndexing> node that allows you to configure which file types (based on the extension or mime type) that should be indexed when the system indexes media items. (392253)
- The Lucene provider now implements a DocumentSize commit policy, equivalent to the DocumentSize commit policy that was introduced for the Solr provider In 7.0 Update-1. (390933)
- [Backported from the 7.1 Initial Release] The SitecoreItemCrawler class is no longer marked as sealed. Customers can now override the class. (393054)
- A new <documentBuilderType> node in the default index configuration file allows you to override the document builder class to modify how data is prepared for storage in the index and to apply any additional logic that you may require. (393724)
-
Multilist with Search and Treelist with Search field types
- When specifying the SortField parameter in the Source of a Multilist with Search or Treelist with Search field, you can now specify the sort direction to be descending by appending "[desc]" after the field name, for example "SortField=_name[desc]". If you do not explicitly specify a sort order, the default sort direction is ascending. (396874)
Note: Currently this does not work for tokenized fields and for date fields that include the time.
- When specifying the SortField parameter in the Source of a Multilist with Search or Treelist with Search field, you can now specify the sort direction to be descending by appending "[desc]" after the field name, for example "SortField=_name[desc]". If you do not explicitly specify a sort order, the default sort direction is ascending. (396874)
-
Content Editor
- The content tree is now able to display temporary items, which are items where item.RuntimeSettings.Temporary is set to true. Such items are displayed as static tree nodes that cannot be selected and cannot be dragged to another position in the tree. This is currently used to display the "There are hidden items in this container." node below item bucket nodes. (396198)
Important changes
-
Engagement Analytics
- The Change Traffic Type field has been removed from the Campaign template. The system now always uses the logic that was previously associated with the "Yes - if this campaign is triggered on the landing page option." This means that the system now only resolves and sets the traffic type when initiating a new visit and, if campaigns are triggered on subsequent page requests, the system no longer changes the traffic type over the lifetime of a visit. (393668)
-
Sitecore.ContentSearch Linq layer
- A number of Linq operators did not always return the expected results when passing a phrase as the parameter. This applied to the Contains, StartsWith, EndsWith, Equals, Like, and MatchWildcard operators. This has been fixed by making these operators use an analyzer and by making the operators create the correct multi-term query for phrase queries. As a result of this change, you might see a different set of results returned when using these operators. (389868, 396185, 396135)
- The EndsWith() operator now requires the specified field to be stored in the index with termvector offsets. If the field is not stored with termvector offsets, a warning will be written to the log file, and the operator will return 0 results. (389868)
Note: This fix was reworked in the 7.2 Initial Release. The EndsWith() operator now throws an exception if it is called for a field that is not stored in the index with termvector offsets (ref. no. 397998) . [Added March 11, 2014]
Deprecated classes, methods, and properties
- The ChangeTrafficType property of the Sitecore.Analytics.Data.Items.CampaignItem class has been deprecated, because the corresponding field on the Campaign template has been removed. (393668, 396841)
- The BucketItemAxes class has been deprecated. Instead, we recommend using the Linq layer and the axes of the Sitecore.Data.Items.Item class. (390837)
- The HideItem method of the Sitecore.Buckets.Pipelines.BucketOperations.BucketOperationProcessor class is no longer in use and has been deprecated. This change also affects the classes that have this class as a base class. (393711)
- The HideItem method of the Sitecore.Buckets.Pipelines.BucketOperations.CreateBucket.CreateBucketPipeline class is no longer in use and has been deprecated. (393711)
- The EnableTips property of the Sitecore.Buckets.Util.BucketConfigurationSettings class has been deprecated, because it was not in use. (391108)
Issues resolved
-
Engagement Analytics
- When a visitor triggered a campaign, the system updated the CampaignID for the visit even if the current page was not the first page of the visit. This has been fixed so now the system only sets the CampaignID for the visit on the first page of the visit. If the visitor triggers campaigns on subsequent pages, the campaign events will still be registered, but the system will not change the CampaignID. (389296)
-
Content Editor
- In CMS 7, when you deleted an item and in the breaking links dialog box, selected "Remove Links," the system would remove all links from Rich Text fields that contained a link to the item being deleted, including external links and links that pointed to other items. This has been fixed so the system now only removes the links that point to the item being deleted. The issue does not affect CMS 6.6 or earlier releases. (392562)
- In the content tree, if you clicked the empty area next to an item without any children, a subnode with the text "There are hidden items in this container." would appear, even if the item was not an item bucket container. This has been fixed. (389479)
- When you clicked the [+] icon in the content tree next to an item bucket container that only had hidden subitems, the [+] disappeared when the system displayed the subnode with the text "There are hidden items in this container." This has been fixed so a [-] icon is now displayed, allowing you to collapse the node again. (391110)
- When you clicked the [+] icon in the content tree next to an item bucket container that had both hidden subitems and normal (unbucketable) children, the system displayed only the regular items, making it difficult to see if there were any items stored in the bucket. This has been fixed so the text "There are hidden items in this container." now always appears when you expand the children below a non-empty bucket. (389199, 383532)
-
Page Editor
- If a user did not have item:create permissions to the current page, the user would not be allowed to pick a data source for a component, using the Search tab of the "Select the Associated Content" dialog box. This has been fixed so the Search tab now allows users to select an item to use as a data source. (394714)
- In CMS 7, the "Save and Close" and "Close" buttons were missing from the ribbon when you used the "Edit the related item" to make changes using the inline Content Editor. This has been fixed. (388002)
-
Multivariate testing
- When you tried to select a different component design for a variation, a Runtime Error message would sometimes appear and the log file would report a NullReferenceException error. This occurred if the current component for the variation had been added to the page with a blank value in the Placeholder field. This has been fixed so that now you can select a different component design in this situation. (393850)
-
Item buckets
- After you selected or cleared the "Is Displayed in Search Results" checkbox on a template field, the change did not take effect on search result pages immediately. This has been fixed. (392883)
- After switching to a different database and performing a search, in rare cases, wrong values would show up in search results for fields that had the "Is Displayed in Search Results" checkbox selected, or the values would be missing from the search results due to a problem with caching. This has been fixed. (392886)
- When you selected the Buckets checkbox on the View tab of the ribbon, the folder structure inside the bucket would sometimes not be visible in the content tree. This happened because, in certain cases, the bucket folders were set to be hidden. This has been fixed so the system no longer sets any of the bucket folders to be hidden when you convert an item to a bucket. The problem might still appear for already created buckets until you manually select to unhide any hidden bucket folders. (393711)
- After copying, cloning, or moving an item that was stored in an item bucket container, the newly created item had the same value in the Bucket Parent Reference field as the original item. If you then reverted the bucket, these items would be moved back under the parent of the original item. This has been fixed by clearing the Bucket Parent Reference field when copying, cloning, or moving items that are stored in a bucket. (393228, 397522)
Note: This issue was only partially fixed in 7.0 U-3. It was still reproduced when working in the core database. This problem has been fixed in 7.0 Update-4 (ref. no. 399830). [Added January 16, 2014] - The methods in the BucketItemAxes class in the API would sometimes return incorrect results. The class is now deprecated, but the methods have been fixed so they now return the expected results. (390837)
-
Search tabs in the Sitecore clients
- If you added a "location:" filter to your search query, the system applied the location filter incorrectly if you had changed the search logic for this filter to "must not". In this situation, the system returned search results from the entire content tree. This has been fixed so now the system combines the location filter with a restriction that any search results must be located below the current item. (394237)
- When you executed the "Configure Standard Values" quick action for a template without a standard values item, an error message would appear informing you that "The operation could not be completed." This has been fixed so the system now creates a standard values item for the template. (389834)
- When you tried to execute the "Archive" or the "Load Item" quick actions, nothing happened. This has been fixed. (395482, 398042)
- If you typed a search expression that contained a wildcard, such as "te?t" or "te*t", the system would sometimes return incorrect search results. This has been fixed. (397907)
- When you typed a search expression that started with a "+", such as "+title:text", a JavaScript error would occur when you clicked the Search button or pressed the ENTER key. This has been fixed so an error does not occur. (390345)
- When you typed a search expression with a square bracket without a matching closing bracket, such as "title:[", a JavaScript error would occur when you clicked the Search button or pressed the ENTER key. This has been fixed so an error does not occur. (390855, 394168)
- When you typed a range search expression, such as "price:[400 TO 500]", the search expression would appear twice in the Search field after you performed the search. This has been fixed. (390857)
- When a default or persistent bucket query was defined for an item, the Search field would only display each filter type (for example, template or author) once, even if the saved query contained a certain filter type multiple times. This has been fixed, except for "start:" and "end:", which should not be specified more than once in a query. (387948, 392693)
- If you changed the storageType of the _content field to "YES" in the index configuration and performed a search, the value of the _content field would be rendered as part of each search result. This has been fixed. Notice, however, that setting the storageType of the _content field to "YES" is not recommended and will lead to a substantial growth of your search indexes. (397434)
-
Issues related to search operations on Search tabs in the Sitecore clients
- When you executed the Apply Security Rule search operation, it only assigned the selected security settings to the first item in the search result. This has been fixed so now the selected security settings are applied to all the search results. (389852)
- When you executed the Apply Security Rule search operation, an IndexOutOfRangeException error message would appear if there were no search results. This has been fixed. (387829)
- When you executed the Apply Profile Score search operation, the selected profile cards were incorrectly assigned to the item that you had selected in the content tree as well as correctly assigned to the search result. This has been fixed so now the profile cards are only assigned to the search results, not to the current item. (388880)
-
Cosmetic issues on Search tabs in the Sitecore clients
- On items with a persistent bucket filter, you could click the icons next to the persistent filters in the Search field and toggle between MUST, MUST NOT, and SHOULD. This has been fixed so you can no longer toggle persistent filters. (383464)
-
Issues related to the Build a Search Query dialog box
- If you filtered the search results by a facet in the Build a Search Query dialog box, the dialog box would sometimes ignore the search filters from the search field and would therefore display incorrect search results. This has been fixed. (393088)
- When you opened the Build a Search Query dialog box, it would sometimes not load the existing search expression and the search field would be blank. This has been fixed. (393071)
- When you opened an existing search expression in the Build a Search Query dialog box, any "start:" and "end:" filters would not appear in the query field at the bottom of the dialog box. This has been fixed. (397211)
- The Build a Search Query dialog box would sometimes use ";" as a delimiter between search expressions, while at other times it would use "&". This has been fixed so now the dialog box consistently uses "&" to separate search expressions. (393072)
- When you used the Build a Search Query dialog box, the system always added a delimiter after the last expression in the search query. This has been fixed so the system no longer adds a delimiter at the end of the search query. (393074)
-
Performance issues related to the Sitecore.ContentSearch API
- When indexing media items, the system did not close the MediaStream objects that were used when indexing the media files. This caused a large number of open user connections to the database server and caused slow reindexing. It could also lead to timeout exceptions on the website. These issues have been fixed. (394726)
- When indexing media items, the system would always try to index the content of all media files, even images and other file types that did not contain indexable text. This could cause a significant performance overhead when rebuilding the search index. This has been fixed so that now the system only indexes a number of specific file types, which can be configured. (392253)
- When parallel indexing was enabled, the system would sometimes create a very large number of indexing threads during index rebuilds. This could lead to reduced performance of the system and also SQL timeouts. This has been fixed so the system now uses the ContentSearch.ParallelIndexingCoreLimit setting to limit the number of threads. (394700)
-
Issues related to Sitecore.ContentSearch index rebuilding strategies
- When using the onPublishEndAsync indexing strategy in multi-instance setups, the search index would occasionally not be updated correctly on all other instances after publishing new content. This sometimes happened due to a race condition related to processing the event queue, but could also occur because of an issue with how the event queue was polled if there was a time difference between the CMS server and the SQL Server instance. (394319, 395295, 395960, 377584)
- When using the onPublishEndAsync indexing strategy, the search index would sometimes still contain documents related to an item after you deleted the item. This has been fixed so all data for an item is removed from the search index when you delete an item. (398604)
- When using the SwitchOnRebuildLuceneIndex class, the class would sometimes rebuild the index in the primary index folder (the index folder used for querying) instead of a secondary folder. This has been fixed. (396132, 393152)
-
Sitecore.ContentSearch API
- When parallel indexing was enabled, index rebuild operations would occasionally cause the ASP.NET worker process to terminate and restart, typically with a shutdown message stating "CONFIG change," or "Change Notification for critical directories," or "Overwhelming Change Notification in App_Code." This happened because the reindexing of media files created and deleted a large number of files in the /temp directory. This has been fixed by changing the reindexing logic to create and delete such temporary files outside the web root, by default in a folder under the data folder named mediaIndexing. (392542)
- When using the Indexing Manager to rebuild search indexes, the dialog box would sometimes not switch to the final step after all indexes had been rebuilt, thereby giving the impression that the indexes were still being rebuilt. This has been fixed. (395099)
- The "site" field in the search index was not populated correctly. This has been fixed. You will need to rebuild your search index to have the site field updated for all existing content. (393160)
- If you uncommented the IncludeTemplate section for a search index and specified one or more template GUIDs, a RequiredObjectIsNullException error message would appear when the system tried to access the index. This has been fixed so now specifying templates to include in the search index works correctly. (389569)
- If you specified an invalid GUID in the ExcludeTemplate section for a search index, an exception would be thrown with a message that referred to "Field ID." This has been fixed so now the error message refers to "Template ID." (393680)
- Changing the storageType or indexType attribute on the configuration node of a computed index field did not have any effect. This has been fixed so now these attributes are looked up in the <fieldMap> section, as for any other index field, and the attributes have been removed from the configuration nodes for the computed fields. (390518)
- The configuration of the "_content" computed field was ignored. This has been fixed so the configuration of the field is now looked up in the fieldMap. Changing the configuration of this system field is not recommended, because it can lead to negative side effects. (390246)
- When configuring a custom index field, the "multivalued" attribute was not taken into account. This would cause these custom fields to only index the first GUID of a pipe-separated list of GUIDs. This also applied to the default "__semantics" field if the configuration node in the config file was uncommented. These issues have been fixed. (393763, 394890)
- Searching for a phrase in an index field did not return any search results if the indexType for the field had been set to UN_TOKENIZED or NO_NORMS. This has been fixed by making the query mapper respect the indexType and use a KeywordAnalyzer. (394841)
- If a pipeline processor in the <indexing.filterIndex.inbound> pipeline set args.IsExcluded to true, index rebuilding would fail with a NullReferenceException error. This has been fixed. (395286)
-
Sitecore.ContentSearch Solr provider
- The SolrBatchUpdateContext class was not thread safe. A race condition could cause an error to occur after which the system would stop updating the search indexes until the ASP.NET worker process was restarted. This would only occur in very rare cases. This has been fixed. (396565)
- The Solr provider did not apply boosting of index fields correctly for boost factors specified in the index configuration. This has been fixed. Solr does not support setting an index-time boost factor on fields that are unindexed or where norms are omitted and will throw an error during indexing if you specify a boost factor for such fields, for example fields that have their returnType set to "string". (395736, 395742)
-
Issues with the Multilist with Search and Treelist with Search field types
- When you selected an item with one or more Multilist with Search or Treelist with Search fields, the list on the left would sometimes not display any items until you clicked "Refresh" or searched for a text. This has been fixed. (392505, 388289, 392327)
- When you clicked the "Refresh" button, the list on the left of Multilist with Search and Treelist with Search fields would sometimes display items that fell outside the current filter. This could happen if one of the filters was a "must not" logic to exclude items, for example "-template:<TemplateID>". This has been fixed. (397995)
- Parameters, such as the StartSearchLocation parameter, in the Source field of a Multilist with Search or Treelist with Search field were sometimes ignored if the Source field did not specify a Filter parameter. This has been fixed. (388187)
- If you specified certain parameters in the Source field of a Multilist with Search or Treelist with Search field, these parameters would be ignored. This applied to the TemplateFilter, FullTextQuery, Language, and SortField parameters. This has been fixed. (388073)
- If you specified an invalid value for the StartSearchLocation or PageSize parameters in the Source field of a Multilist with Search or Treelist with Search field, a FormatException or an ArgumentOutOfRangeException error would occur. This has been fixed so invalid values are now ignored when rendering the field, and instead a warning will be written to the log file to help with troubleshooting. (388429, 397983)
- If you specified a Filter parameter without specifying a StartSearchLocation parameter, an ArgumentNotNull error would appear. This has been fixed so the system now uses the root item as the start item in these cases. (388429)
- If you specified a Filter parameter without specifying a specific index field as part of the filter, an IndexOutOfRangeException error would occur. This has been fixed so the system now filters by the specified text in the _content field in these cases. (394071)
- If you specified a Filter parameter that contained a wildcard, the filter would not be applied correctly, which could lead to an incorrect number of items appearing in the on the left of Multilist with Search or Treelist with Search fields. This has been fixed so the system now applies filters with wildcards correctly. (394071)
- If you switched to the core database and searched for text in a Multilist with Search or Treelist with Search field, the search would sometimes be performed against the index for the master database. This has been fixed. (388869)
- [IE] When you searched for words with non-English characters, such as "åäø", in a Multilist with Search or Treelist with Search field, the system did not return any search results. This has been fixed. (396195)
-
Content tagging
- The list on the left of the Semantics field would sometimes not display any tags until you clicked "Refresh" or searched for a tag. This has been fixed. (392327)
-
/sitecore/admin/FillDB.html
- The /sitecore/admin/FillDB.html page is now disabled by default. The page can be enabled by changing the value of a variable in the ASPX file, thereby ensuring that only people who have access to modify files on the server can enable the page. (393528)
Note: This fix has been reworked in the 7.2 Initial Release. The page can now be enabled using a setting in the Sitecore.Buckets.config file, allowing developers to create an include file in their dev environment that enables this page (ref. no. 399147). [Added March 11, 2014]
- The /sitecore/admin/FillDB.html page is now disabled by default. The page can be enabled by changing the value of a variable in the ASPX file, thereby ensuring that only people who have access to modify files on the server can enable the page. (393528)
-
Publishing
- In multi-instance setups, the system would sometimes publish old versions of changed items. For example, this could happen when you used workflows that automatically published approved items. The problem was caused by a race condition between the publish operation and cache invalidation for the master database. This has been fixed by introducing a new processor in the <publish> pipeline that ensures that remote events are raised before the publish queue is processed. (396523)
-
Security applications
- In the Edit User dialog box, the Profile tab displayed a "Tips Enabled" field. This field was not in use and has been removed. (389100)
-
Renderings and layouts
- When you selected the "Search for Content" tab in the "Select the Associated Content" dialog box and performed a search, the system would return items from the entire content tree, even if a data source was specified for the associated rendering or template. This has been fixed so this tab now respects the data source. (394928)
-
Using the Sitecore clients with out-of-process session state modes
- When you tried to restore or delete an item in the Recycle Bin, a NullReferenceException would sometimes appear when the system was configured to use out-of-process session state modes. This has been fixed. (386319)
- The PipelineArgs class did not serialize and deserialize the values in the CustomData dictionary. This has been fixed. (386319)
- A number of classes in the Sitecore.Kernel, Sitecore.Client, Sitecore.Buckets, and Sitecore.ContentSearch.Client assemblies were not marked [Serializable]. This has been fixed to improve the experimental support for using the Sitecore clients with SqlServer, StateServer, and other out-of-process session state modes. (394223, 390991, 307892, 326804, 326816, 326835, 355008 , 394226, 394788)
-
Package Installation
- When you installed a Sitecore package that contained a post-step, 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. This has been fixed by stopping indexing while the post-step executes. (395499, 393242)
- When you installed a Sitecore package that contained a post-step, the system did not raise events before and after the post-step was executed. This has been fixed. The system now raises a "packageinstall:poststep:starting" event before the post-step is executed and a "packageinstall:poststep:ended" event after the post-step has completed. These events are not present in the web.config file but can be added manually if you need to subscribe to them. (397590)
-
Miscellaneous
- The BucketConfiguration.EnableSearchTips setting has been removed from the Sitecore.Buckets.config file. The setting was not in use. (391108)
September 23, 2013
Released Sitecore CMS and DMS 7.0 rev. 130918 (7.0 Update-2).
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 7 downloads page.
Highlights
The main highlight of this update is:
- A large number of issues relating to Item Buckets and Sitecore.ContentSearch have been addressed.
Improvements
- The BucketAuthorizationProvider class has been made public (instead of internal) to make it possible to override the class. (393954)
- To make it easier to configure search types (which are located under /sitecore/system/settings/Buckets/Search Types), the Client Side Hook field has been changed from a text field to a drop-down list box that contain all the available options for client-side hooks. (384409)
- In the Saved Search template standard values, the Never Publish checkbox is now selected by default, because saved searches do not need to be published. (386873)
Issues resolved
-
Potential security vulnerabilities
- In certain cases, Search tabs in the Sitecore clients would execute JavaScript entered into search expressions. (384848)
-
Executive Insight Dashboard
- The Executive Insight Dashboard no longer displays visits that are classified as coming from "My Company." (370764, 394023)
- The underlying views in the Analytics database have been modified to filter by VisitorClassification < 600, which excludes My Company visits as well as visits classified as robots.
- 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.
- The Executive Insight Dashboard no longer displays visits that are classified as coming from "My Company." (370764, 394023)
-
Content Editor
- If you had opened one or more items in a tab from a search result and modified these items without saving your changes, when you then selected a different item in the content tree, Sitecore did not display the "Do you want to save changes to the item?" dialog box. This has been fixed. (383346)
- When you used drag-and-drop to move an item bucket to a different location in the content tree, an empty folder structure was automatically created below the destination item. This has been fixed. (388504)
- When you inserted a branch that created a tree of items, one of the created children items would be selected in the Content Editor. This has been fixed so now the parent item is selected in the Content Editor. (391677)
- When you copied a tree of items using "Copy To," the last item created would be selected in the Content Editor. This has been fixed so now the top node of the created tree is selected in the Content Editor. (382903)
- When you copied a bucketable item into a bucket, the parent item was opened in the Content tab instead of the copied item. This has been fixed. (382544, 393734)
- When you used "Copy To" or "Move To" to add items to an item bucket, the system would sometimes expand the first level of hidden folders below the item bucket. This has been fixed. (393983)
- When you added items to a bucket, the system did not always display a progress dialog box. For example, this was the case when you pasted items into a bucket. This has been fixed. (393991)
- In the Insert Options dialog box, the frame around the content tree did not always have the correct height. This cosmetic issue has been fixed(386888)
-
Page Editor
- In the Page Editor, the "Navigate to item" functionality from the ribbon did not work if the site used a custom RootPath setting. Instead of opening the selected item, a page would appear with the following error message: "The requested document was not found." This has been fixed. (387338)
-
Item buckets
- The "Items Per Page" field has been removed from the "Item Buckets Settings" item. To configure the number of search results per page, use the BucketConfiguration.DefaultNumberOfResultsPerPage setting in the Sitecore.Buckets.config file. (385401)
- When you copied, moved, or cloned an unbucketable item and selected a bucket as the target item, the item would be copied/moved into the hidden folder structure inside the bucket. This has been fixed. (382604)
- When you copied an item structure and selected an item bucket as the destination, the copies were still organized in the same item structure inside the item bucket. This has been fixed so now each copied item is stored as unstructured content inside the item bucket. (382547)
- After you reverted an item bucket to a normal item structure, some of the items that were contained in the bucket would sometimes not appear in the reverted item structure. This has been fixed. (393952)
- After you reverted an item bucket to a normal item structure, the item would appear as if it was still a bucket. This also applied when you reverted a serialized item structure. This has now been fixed so that the Content Editor ribbon and Quick Action bar are refreshed when item buckets are reverted to items. (381330, 384728, 378731, 389166, 394028)
-
Item bucket events
- The Sitecore.ContentSearch.config file defined four events with an "index:" prefix. Because these events were not used by the system, they have been removed. Instead, you should use the corresponding events with the "indexing:" prefix. (382663)
- When you converted an item to a bucket or reverted a bucket, the "item:bucketing:ending" and "item:unbucketing:ending" events were not raised. This has been fixed. (382663)
- The system only raised item bucket events, such as "item:bucketing:moving" when you performed the associated action from the UI. This has been fixed so now these events are also raised when you use the BucketManager API to perform actions related to item buckets. (382619)
- The system would sometimes raise item bucket events, such as "item:bucketing:moving", for unbucketable items. This has been fixed so item bucket events are only raised for bucketable items. For unbucketable items, only the standard Sitecore events are raised, even when the unbucketable items are located as descendants of an item bucket. (382619, 394106)
- If an event handler that subscribed to the "item:bucketing:adding" event cancelled the event, an empty folder structure would appear in the content tree. This has been fixed so now the empty folder structure is deleted if the event is cancelled. (382619)
- If an event handler that subscribed to the "item:bucketing:cloning" event cancelled the event, the system would still raise the "item:bucketing:cloned" event. This has been fixed. (394192)
- When you copied an item into a bucket, even if you used copy/paste, the "item:bucketing:copying" and "item:bucketing:copied" events were not raised. This has been fixed. (382663, 389919)
-
Search tabs in the Sitecore clients
- When you used the keyboard shortcut CTRL+SHIFT+S, sometimes the system did not open a new search tab. This has been fixed. (385979)
- When you searched for a value in a specific field, such as "title:news" on the Search tab, the first time you clicked the Search button, or if you switched to another view immediately after entering the search expression, the system would sometimes return incorrect search results (typically zero results). This has been fixed. (392445)
- For consistency with other filters, the "end:" and "start:" date filters are now added to the search expression using a "should" condition instead of a "must" condition. (393354)
- When the system was configured to use a remote instance as a dedicated query server to execute search queries, you could encounter a NullReferenceException error when clicking a search result. This could happen if, for example, the content management server and the query server were using different databases that were not in sync. This has been fixed. (383543)
- When a media folder was displayed in a search result and you clicked the "Insert Upload File" quick action, nothing happened. This has been fixed so now the Upload a File dialog box opens as expected. (388291)
- If you enabled the "Is Displayed in Search Results" on a template field, certain field types would not be displayed correctly in the search results. This has been fixed. (383551)
- When you used the Build Query dialog box to edit an existing search query that used a "should" condition, the search query would be changed to use a "must" condition, even if you had not made any changes. This has been fixed. (393070)
- When a default bucket query was defined on an item using a "must have" or "must not have" condition for the first filter in the search query, the filter would appear without an indication of "must have" or "must not have" in the search field on the item. This has been fixed. (392031)
- When a default bucket query was defined for an item, the system would ignore filters in the query, such as filtering by language. This has been fixed. (391331)
- When you clicked a column heading in the Table view, the sort order of the search results did not change. In certain cases when using the Solr provider, no search results would be displayed. This has been fixed. (390863, 393316)
- When you entered a "sort:" expression in the search field, the search would sometimes fail with an error and no search results would be displayed. This has been fixed. (391775)
- When the BucketConfiguration.SecuredItems setting was set to "blur," in certain scenarios, the system would hide items that you did not have read permissions for instead of displaying them blurred. This has been fixed. (382115, 393420)
- [IE] When you tried to open a new search tab by clicking the small tab with a magnifying glass icon, nothing happened. This has been fixed. (386702, 390538)
-
Issues
related to
search operations on Search tabs in the Sitecore clients
- When you executed the "Delete Results" search operation, instead of being moved to the Recycle Bin, the items were permanently deleted. This has been fixed. (383134)
- When you executed the Apply Profile Score search operation, the selected profile cards were only assigned to the item that you had selected in the content tree. This has been fixed so now the profile cards are assigned to all the items in the search result. (383281)
Note: This issue was only partially fixed in 7.0 U-2. The selected profile cards were still assigned to the current item, in addition to the search results. This problem has been fixed in 7.0 Update-3 (388880). [Added December 3, 2013] - An UnauthorizedAccessException error would appear when you tried to execute the "Apply Campaigns Goals Events" search operation. This has been fixed. (386568, 391580)
- The "Apply Campaigns Goals Events" search operation has been renamed to "Apply Campaigns Events," because the operation does not allow you to apply goals to items. (381889, 381847)
- If you executed the Publish Items search operation, you would not be informed if you did not have permissions to publish one or more items in the search result. (388939)
- When you tried to use the "Move Results To" search operation to move all items from one bucket to another bucket, the operation would fail with a NullReferenceException error. (388510)
- When you executed certain search operations ("Delete Results," "Search and Replace," and "Add Tag") and clicked "Show messages" in the progress dialog box, no messages were displayed. This has been fixed. (383134)
- When you executed certain search operations ("Copy Results To," "Move Results To," and "Clone Results To"), the system did not display a progress dialog box. This has been fixed. (393991)
- After you executed a search operation, the "More Search Options" drop-down menu did not close. This has been fixed. (384627)
-
Cosmetic issues on Search tabs in the Sitecore clients
- A cosmetic issue has been fixed where the convert to bucket dialog box displayed a broken image icon. (386050)
- A cosmetic issue has been fixed where the icon for the "Updated By" filter disappeared after you clicked the icon to switch between must/must not/should. (393590)
- A cosmetic issue has been fixed in the Build a Search Query dialog box where the icon for "Sort by" filters was not displayed when modifying a search query. (393592)
- [IE] A cosmetic issue in Internet Explorer has been fixed where the search field would not always be rendered correctly after adding or removing search filters, or after clearing the search field. (386374, 393577)
-
Sitecore.ContentSearch API
- The ASP.NET worker process would crash if an exception occurred in the IntervalAsynchronousStrategy class. For example, this could happen when the system tried to index an item for which the item:read permission was denied for the Everyone role or when trying to index an item that had just been deleted. This has been fixed. (388087, 388097, 388090)
- When you used the API to execute a Linq expression with an OrderBy() statement, the returned search results were sometimes not sorted according to the specified selector. This has been fixed. (391775)
- After you modified an item with clones, the search index was not updated correctly. This has been fixed so now when you make changes to an item, clones of the item are also reindexed to reflect the changes to the fields that inherit their value from the original item. (383917)
- After you copied a tree of items using "Copy To," the newly created items did not appear when searching for them. This happened because the system only indexed the top-level item of the newly created item structure. This has now been fixed so all the descendants are indexed after copying a tree of items. (380876)
- The Sitecore.ContentSearch.config file contained an unnecessary handler of type "Sitecore.ContentSearch.Maintenance.IndexDependentHtmlCacheManager" for the "indexing:end:remote" event. The handler has been removed to avoid unnecessary cache clearings. Note, however, that this handler has not been removed from the "indexing:end" event. (383162)
-
Content tagging
- After you created a new tag in the tag repository, the Search tab would sometimes disappear, preventing you from searching for tags or performing operations on them. This has been fixed. (383445)
-
Content faceting
- If you filtered a search result using one or more facets, the system would sometimes change the other filters in the query from using a "should" condition to a "must" condition, without indicating this change in the UI. This has been fixed so facets no longer change the way other search filters are applied. (393359, 394775) [Updated December 3, 2013]
- If you filtered a search result using the "Templates" facet and then cleared the template facet again, the system would sometimes display a different number of search results than expected. This has been fixed. (383303)
- Filtering by facets on date fields did not work correctly when you selected the "older" facet. The actual number of search results returned was much larger than the number (the expected results) next to the "older" facet indicated. This has been fixed. (388213, 393815)
- If you filtered a search result using a facet, the system would sometimes display a GUID in the Current Filters box instead of the item name, even when the BucketConfiguration.ResolveFacetValueToFriendlyName setting was set to true. This has been fixed. (388506) [Added December 3, 2013]
-
/sitecore/admin/FillDB.html
- After generating items using the /sitecore/admin/FillDB.html page, the items would not show up in the content tree. This happened because the parent folders of the items were not saved correctly to the database. This has been fixed. (388243)
-
Publishing
- When you published a language version of an item, the system was supposed to publish the language definition item if it was not already published. This did not happen if the the EnableEventQueues setting was set to true. This has been fixed. (386169)
-
Security applications
- When you edited a user profile that contained fields that allowed you to search for items, the field controls and related dialog boxes would search in the master database instead of the core database. This has been fixed. (386005)
- The "Create Bucket" and "Revert Bucket" access permissions were displayed after the "*" access permission in the dialog box for assigning and modifying security assignments. This has been fixed so the "*" permission appears last in the list. (384904)
-
Security assignments
- The Indexing Tools group on the Developer tab was visible to all members of the Sitecore Client Authoring role. This has been fixed so the group is now only visible to members of the Sitecore Client Developing and Sitecore Client Maintaining roles. (382777)
- The security assignments for the Buckets group on the Configure tab of the Content Editor have been changed. Assignments for the non-existing "sitecore\Bucket Management" role have been removed, and read permissions for "sitecore\*" are no longer denied. (382891)
-
Sitecore Desktop
- When you logged out of the Sitecore Desktop after closing a Content Editor window, a JavaScript error would sometimes appear with the following message: "Unexpected call to method or property access." This has been fixed. (390958)
-
Renderings and layouts
- If you specified a search-based data source for a rendering using the Build Query dialog box and saved the changes, an ArgumentNullException error would be written to the Sitecore log file with the following message: "Value cannot be null." This has been fixed. (394141)
- If you selected a specific item as a data source for a rendering using the Build Query dialog box, the Data Source field would display the ID of the item. This has been fixed so now the Data Source field displays the path instead. (389581)
-
Link database
- When you saved an item, you would get a warning about broken links if the data source for one or more renderings contained a relative path. This has been fixed. Note that by default, Sitecore does not support relative data sources for renderings. This issue occurred for customers who had hooked into the "resolveRenderingDatasource" pipeline to support such data sources. (382974)
-
Installation Wizard
- When you installed a Sitecore package, the installation wizard would sometimes fail with an ArgumentNullException error. This could happen if you used the IntervalAsynchronousStrategy class and the asynchronous index rebuilding started during the package installation. This has been fixed so the package installation no longer fails with an error. (391854)
-
Localization
- When you performed a search on the Search tab in a Sitecore client or you synchronized an item bucket, the system wrote a localized message to the log file. This has been fixed so these messages in log files are always in English. (383435)
- The text for date facets could not be localized. This has been fixed. (390165)
- The tab title of the Search tab in the Content Editor could not be localized. This has been fixed. (386160)
- Some of the menu options in the context menu for the Search tab could not be localized. This has been fixed. (390156)
- The name of languages and quick actions on Search tabs could not be localized. This has been fixed. (386281, 386216)
-
Miscellaneous
- The Log Viewer application did not allow you to see the new Search and Crawling logs that are available in CMS 7. This has been fixed. (386889)
- In CMS 7, the system did not replace field values correctly when you used a custom MasterVariablesReplacer class. This has been fixed. (384900)
- The item bucket "Search Type Item" template was not used by the system and has therefore been removed. (382931)
- A number of phrases in the UI have been revised for clarity and consistency. (383276, 391341)
-
The clean installation
- The clean master database contained a Test Tag item in the workbox. This has been fixed. (387191)
- Some items in the Sitecore databases were not present in the Sitecore.ContentSearch indexes that were shipped with the clean installation. This has been fixed. (389917)
- The comment for the AutoBucket event handler in the Sitecore.Buckets.config file has been rewritten for increased clarity. (383356)
- For consistency, a number of nodes in the Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config file have been changed so that the first letter in the node name is lowercase instead of uppercase. This change does not need to be applied to upgraded solutions, because the system is not case-sensitive when reading the configuration.(384919)
August 13, 2013
Released Sitecore CMS and DMS 7.0 rev. 130810 (7.0 Update-1).
Note : This is a product Update. Sitecore recommends that you upgrade to this release if the fixes included in this release meet 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.
Please visit the appropriate Sitecore CMS 7 downloads page for instructions describing how to download and install this release.
Highlights
The main highlights in this update are:
- 7.0 Update-1 includes all the fixes from 6.6 Update-6.
- Oracle is now supported for CMS 7.0.
- Data source improvements, showing the path in data source fields even when it's stored as a GUID.
- Various improvements and issues addressed related to Item Buckets and Sitecore.ContentSearch.
Note: This update contains a number of breaking changes in the Sitecore.ContentSearch namespaces. Please review the breaking changes before you upgrade to this update.
System requirements
- 7.0 Update-1 introduces Oracle support for CMS and DMS 7.0.
Improvements
- This release incorporates all changes made for 6.6 Update-6. For additional information about these changes, please refer to the release notes:
- Data source improvements
- The data source field on rendering parameters now displays the data source as a path, even when the field value is stored as a GUID. (384031)
- Layouts and renderings
- To make it easier to get the data source for a sublayout from code-behind, the data source is now transferred to the sublayout control in a "sc_datasource" attribute. (320768)
- To get the data source from code, simply refer to this.Attributes["sc_datasource"];
- To make it easier to get the data source for a sublayout from code-behind, the data source is now transferred to the sublayout control in a "sc_datasource" attribute. (320768)
- Sitecore.ContentSearch API
- A new crawler named SitecoreItemCrawler has been introduced. The new crawler works for both the Lucene and the Solr provider, thereby removing the need to specify separate crawler types in config files depending on the provider used. (386751)
- It is now possible to use the InMemoryLuceneIndex class for indexes defined in configuration files. In the initial 7.0 release, it was only possible to use the class from indexes defined and maintained in code. (384391, 382082)
- DocumentMapper improvements
- When using the DocumentMapper, a new [IgnoreIndexField] attribute can be used to mark properties in your custom classes that should not be mapped to fields in search results. (384402)
- When using the DocumentMapper, it is now possible to apply a predefined query. The query is automatically applied to the queryable when GetQueryable<T> is called and class T is marked with one or more [PredefinedQuery] attributes. (384408)
- Usage: [PredefinedQuery(<FieldName>, <ComparisonType>, <Value>[, <Type>])]
- A new DocumentSize commit policy commits documents to the index once the document has reached a certain size. This can for example be useful with media/pdf documents with a lot of text content. (386777)
- For now, the new commit policy is only available for Solr. It can be used in the following way:<commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor,
Sitecore.ContentSearch">
<policies hint="list:AddCommitPolicy">
<policy type="Sitecore.ContentSearch.SolrProvider.CommitPolicies.SolrDocumentSizeCommitPolicy, Sitecore.ContentSearch.SolrProvider">
<param desc="maximumSizeBeforeCommit">250000
</param>
</policy>
</policies>
</commitPolicyExecutor>
- For now, the new commit policy is only available for Solr. It can be used in the following way:
- Solr support
- The Solr provider now features a SwitchOnRebuildSolrSearchIndex class, similar to the SwitchOnRebuildLuceneIndex in the Lucene provider. (385827)
- For high availability of indexes, this class makes it possible configure the system to rebuild indexes in a separate folder and switch the active index when done, thereby ensuring that the solution can continue to query the search index while the index is being rebuilt.
- The Solr provider now features a SwitchOnRebuildSolrSearchIndex class, similar to the SwitchOnRebuildLuceneIndex in the Lucene provider. (385827)
- The following computed fields have been added to the default index configuration:
- parsedupdatedby: Is used to index the value of the "__Updated By" field (without "\"), similar to the existing parsedcreatedby computed field.
- urllink: Stores the URL to the item (or media item) in the index, as returned by the LinkManager.GetItemUrl() and MediaManager.GetMediaUrl() at the time of indexing. (384393)
- isbucket_text: Indicates if the item is a bucket. The value is indexed as a string, rather than a boolean. ("1" for true, "0" for false). (388978)
- _template: Stores the ID of the item's template. This field is required to have queries for template work correctly.
- Setup.exe installation program
- The setup.exe now allows you to install Sitecore on a Windows 8 Basic edition. (384389)
- The setup.exe has been updated with a new EULA, including a note that the license agreement displayed by the setup.exe 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)
- /sitecore/admin/LinqScratchPad.html
- Developers are now able to load a code snippet from a URL into the LinqScratchPad, either by typing the URL into the URL text field and clicking "Fetch", or by using a query string parameter named "snippetCode". (390509, 390525)
Breaking changes
- Sitecore.ContentSearch API:
- The IIndexFieldNameFormatterAttribute interface and the IndexFieldAttribute implementation have been moved from the Sitecore.ContentSearch.dll to the Sitecore.ContentSearch.Linq.dll assembly.
- The PredicateBuilder class has been moved from the Sitecore.ContentSearch.dll to the Sitecore.ContentSearch.Linq.dll assembly.
- The IProviderCrawler interface has been changed, including all Sitecore classes that implement this interface:
- All existing methods in the interface now take an additional, optional parameter of type IndexOptions.
- The interface has been extended with 3 new methods:
- void StopIndexing()
- void PauseIndexing()
- void ResumeIndexing()
- The ISearchIndex interface has been changed, including all Sitecore classes that implement this interface:
- The property PropertyStore has been made read/write.
- The property FieldNameTranslator has been made read/write.
- A number of new methods have been added:
- void Rebuild(IndexingOptions indexingOptions)
- void Refresh(IIndexable indexableStartingPoint, IndexingOptions indexingOptions)
- void Reset()
- void StopIndexing()
- void PauseIndexing()
- void ResumeIndexing()
- A number of overloads have been added for existing methods:
- void Update(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
- void Update(IEnumerable<IIndexableUniqueId> indexableUniqueIds, IndexingOptions indexingOptions)
- void Delete(IIndexableId indexableId, IndexingOptions indexingOptions)
- void Delete(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
- The ICommitPolicy interface has been changed, including all Sitecore classes that implement this interface:
- The interface now derives from the IClonable interface (in addition to still deriving from the IDisposable interface).
- A new parameter of type "object" has been added to the IndexModified method: void IndexModified(object document, IndexOperation operation)
- The ICommitPolicyExecutor interface has been changed, including all Sitecore classes that implement this interface:
- A new parameter of type "object" has been added to the IndexModified method: void IndexModified(object document, IndexOperation operation)
- The Committed() method no longer takes a parameter of IProviderUpdateContext.
- A new method has been added: void AddCommitPolicy(ICommitPolicy commitPolicy)
- The Initialise() method has been removed. Instead, the interface now derives from the ISearchIndexInitializable interface which defines an Initialize() method.
- The IProviderUpdateContext interface has been changed, including all Sitecore classes that implement this interface:
- The CommitPolicy property has been removed.
- A new property CommitPolicyExecutor (of type ICommitPolicyExecutor) has been introduced.
- The ICompositeAnalyzer interface has been changed, including all Sitecore classes that implement this interface:
- The GetAnalyzersByExecutionContext method has been changed to take an IEnumerable<IExecutionContext> object as parameter instead of an IExecutionContext object.
- The IBucketClientService interface has been extended with a new List<string> GetUpdaters(string tagChars) method.
- The abstract class AbstractFieldNameTranslator has been changed, as well as the LuceneFieldNameTranslator and SolrFieldNameTranslator implementations:
- A new abstract method has been introduced: public abstract Dictionary<string, List<string>> MapDocumentFieldsToType(Type type, MappingTargetType target, IEnumerable<string> documentFieldNames);
- The following method has been removed: public virtual Dictionary<string, List<string>> MapDocumentFieldsToType(Type type, IEnumerable<string> documentFieldNames)
- The LuceneIndex, InMemoryLuceneIndex, SwitchOnRebuildLuceneIndex, and SolrSearchIndex classes have been changed:
- The protected fields commitPolicyType and commitPolicyExecutorType have been removed.
- The public methods SetCommitPolicy and SetCommitPolicyExecutor have been removed.
- In the SolrSearchIndex class, the public property IEnumerable<IProviderCrawler> Crawlers has been replaced with the protected property List<IProviderCrawler> Crawlers from the new AbstractSearchIndex base class.
- The CreateAndReturnDateFolderDestination method has been renamed to CreateAndReturnBucketFolderDestination. The old method has been deprecated. This change has been made to reflect customers can specify an alternative implementation for how the hidden folder structures below Buckets are organized. (384394)
- Two type converter classes have been moved from the Lucene provider to the core Sitecore.ContentSearch.Converters namespace (in addition to being renamed, as mentioned below). This allows the converters to be used by the Solr provider as well. The new class names are (386548)
- Sitecore.ContentSearch.Converters.IndexFieldDateTimeOffsetValueConverter
- Sitecore.ContentSearch.Converters.IndexFieldTimeSpanValueConverter
- For consistency, a number of type converter classes have been renamed from "Convertor" to "Converter". The old class names have been deprecated, but are for now kept for backwards-compatibility. The new class names are: (386548)
- IndexFieldItemUriValueConverter
- IndexFieldDateTimeOffsetValueConverter
- IndexFieldSitecoreItemUniqueIDValueConverter
- IndexFieldTimeSpanValueConverter
- The Solr provider now stores the unique identifier for a record in the index in a field named "_uniqueid" instead of "_id" to avoid potential problems with the uniqueness of the record key. (386548)
- This requires the Solr schema to be regenerated or updated and all Solr search indexes to be rebuilt if you upgrade from the 7.0 intial release, as described in the upgrade instructions.
- Sitecore.ContentSearch config files:
- The child nodes below the <fieldTypes hint="raw.AddFieldByFieldTypeName"> node have been renamed from <fieldType ...> to <field …> in the index configuration files. (384406)
- The configuration nodes related to commitPolicy and commitPolicyExecutor have been changed in all of the index configuration files to reflect the changes made to the underlying classes. (386777)
Deprecated classes, methods, and properties
- Sitecore.ContentSearch API:
- The DefaultCrawler in the Lucene provider and the SolrCrawler in the Solr provider have both been deprecated in favor of the new Sitecore.ContentSearch.SitecoreItemCrawler. (386751)
- The Aggregate property of the FacetValue class has been renamed to AggregateCount. The old property has been deprecated, but continues to work for now. (386875)
- The constructors of the LuceneUpdateContext, SolrUpdateContext, and SolrBatchUpdateContex classes are no longer used and have been deprecated.
- The ResetIndex() method of the SolrSearchIndex class has been deprecated in favor of a new method named Reset() method.
- The GetIndexJobOptions of the IndexCustodian class is considered for internal use only and has been deprecated. It will be made private in a later release. (384396)
Important changes
- In the 7.0 initial release, the /sitecore/Templates item was not marked hidden. It is now marked hidden again, like it was in previous versions. (386746, 386694)
- The 7.0 initial release distributed the ICSharpCode.SharpZipLib DLL in the /bin folder. This DLL has been removed again, since it's covered by a GPL license.
- As in previous releases, customers can still download the DLL from ic#code and install the DLL into the /bin folder to enable compression support in Lucene. No configuration is needed.
Issues resolved
- Content Editor
- In the 7.0 initial release, the default security permissions for the Indexing Tool group on the Developer tab gave members of the Sitecore Client Authoring role access to see this group. As a side-effect, the Developer tab would be available to such users (but only with the Indexing Tool group visible). (390676)
- The default security permissions have been changed to make the Indexing Tool group available to members of the Sitecore Client Maintaining role. (391086)
- Also, we have removed permissions to two of the buttons in the group which granted permissions for the Sitecore Client Translating role, although the buttons were not visible to the role because it didn’t have permissions to the parent item. (391086)
- In the 7.0 initial release, the default security permissions for the Indexing Tool group on the Developer tab gave members of the Sitecore Client Authoring role access to see this group. As a side-effect, the Developer tab would be available to such users (but only with the Indexing Tool group visible). (390676)
- Search tabs in the Content Editor
- The "Add Tag" search operation could lead to the Home item being added as a tag to the items in the search result. This could happen if the user did not select a tag in the dialog box. (389515)
- The "Bucket" facet did not work as expected, having no effect on the displayed search results. (388978)
- The "Owner" facet did not work as expected, and has been removed for now. (382195)
- Pressing CTRL + SHIFT + S when using the Content Editor did not open a new search tab. (383353)
- If a user right-clicked a search tab and selected the "Bookmark All" option in the context-menu, the following JavaScript error message would appear: "Error: 'return' statement outside of function". (388789)
- Sitecore.ContentSearch API
- The following type converters classes did not always work as expected when parsing values from the search result into C# objects: (386548)
- IndexFieldDateTimeOffsetValueConvertor (now renamed to Converter)
- IndexFieldTimeSpanValueConvertor (now renamed to Converter)
- The verbose logging functionality did not map the location of the verbose log files correctly if the dataFolder setting was set to a relative path. The system would try to write the log files to "C:\data\logs", which could cause errors to occur, since the ASP.NET process normally does not have access to write to this location. (390295)
- Solr support
- Floats were not indexed correctly. If the field value of a 'Number' field was a float, it would get indexed as 0. (386541)
- Using a comparison operator with an int in a Linq expression could cause a badly formed query to be passed to Solr, e.g. "[2000 to 0]" instead of "[2000 to *]". This applied to the following comparison operators: (386537)
- Greater than (>)
- Greater than or equal (=>)
- Less than (<)
- Less than or equal (<=)
- The Solr provider did not support all of the type converters that the Lucene provider supports. Previously, the following type converters were not supported: (386548)
- IndexFieldDateTimeOffsetValueConvertor (now renamed to Converter)
- IndexFieldSitecoreItemIDValueConverter
- IndexFieldSitecoreItemUniqueIDValueConvertor (now renamed to Converter)
- IndexFieldTimeSpanValueConvertor (now renamed to Converter)
- When using the DocumentMapper, a casting error would appear if a field name in Solr (when stripped of its extension) was identical to the name of a property mapping. The fix ensures that the property mapping takes precedence over the indexer, and the indexer value is now renamed with a "_duplicate" suffix in such situations. (386543)
- To be consistent with the Lucene provider, the Solr provider now logs the number of additions/updates/deletions on every commit. Like the Lucene provider, the Solr provider logs this information using log level "INFO". (385678)
- A typo has been fixed in the Build Solr Schema wizard. (384703)
- The following type converters classes did not always work as expected when parsing values from the search result into C# objects: (386548)
- Indexing Manager
- The "Last Updated" field in the Indexing Manager only showed the date when the index was last updated, not the time. (384407)
- Multibrowser support
- [Chrome] In the initial 7.0 release, the Browse tab in the "Insert from Template" dialog box did not show the content tree unless the dialog box was resized. (383493)
- [Chrome, Firefox] When assigning security, the "OK" and "Cancel" buttons were not visible in the "Security Settings" dialog box. (388516)
- Oracle
- When a user clicked the "Change your personal information" link in the Control Panel, the application would display an error page reporting an ArgumentNullException. (389972)
- Miscellaneous
- The Search tab in the "Transfer items to Another database" wizard has been removed. (384884)
- The Sitecore.Data.Achiving.RestoreItemCompletedEvent class has been made public to make it possible to subscribe to the event and execute code when items are restored from the archive or the recycle bin, such as updating search indexes. (387272)
- [7.0 initial release only] 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. (385983)
Note: This issue was only partially fixed in 7.0 Update-1 and could still be reproduced in certain scenarios if the package contained a post-step. This problem has been fixed in 7.0 Update-3 (395499). [Added December 3, 2013]
May 21, 2013
Released Sitecore CMS and DMS 7.0 rev. 130424 (7.0 Initial Release).
Note: This is a Feature Release. 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 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.
Note: Starting with Sitecore 7.0, Sitecore will only use 2 levels in the version number (e.g. 7.0). Previous versions continue to use 3 levels in the version number (e.g. 6.6.0).
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 and 7.0 Initial Release which affects solutions upgraded to the CMS 7.0 Initial Release from 6.6 Update-4 or earlier 6.6 releases. Due to this issue, the upgrade instructions contain a step to execute an aspx page as part of the upgrade process. The issue does not affect clean installations of 7.0 or solutions upgraded from 6.6 Update-5 or later. Please refer to the known issue for more information.
Please visit the appropriate Sitecore CMS 7 downloads page for instructions describing how to download and install this release.
Highlights
The CMS 7.0 rev. 130424 initial release includes all the fixes from 6.6 Update-5.
The main highlights in this release are:
- Support for storage of large numbers of content items in item buckets.
- Content tagging and content faceting.
- A new Sitecore.ContentSearch namespace that contains new indexing and search APIs.
- New search screens for content authors in the Content Editor, Page Editor, and in many dialog boxes.
- Data sources improvements.
- Support for running Sitecore on Windows Server 2012 and Windows 8.
System requirements
- Sitecore clients can now run on following browsers:
- Microsoft Internet Explorer 10 is supported by CMS 7.0.
- Microsoft Internet Explorer 9 and 8 continue to be supported by CMS 7.0. Internet Explorer 8 is only supported in non-Compatibility mode.
- Microsoft Internet Explorer 7 is no longer supported, starting with CMS 7.0.
- Mozilla Firefox 17 and later is supported. Earlier versions are not supported by Mozilla at the time of the CMS 7.0 initial release, and therefore not supported by CMS 7.0.
- Google Chrome 25 and later is supported. Earlier versions are not supported by Google at the time of the CMS 7.0 initial release, and therefore not supported by CMS 7.0.
- Apple Safari 6 for Mac OS is supported. Safari 5 for Mac OS is no longer supported, starting with CMS 7.0.
- Apple Safari for Windows is no longer supported by Apple, and therefore also not supported for CMS 7.0.
- CMS 7.0 adds support for running Sitecore on Windows Server 2012 and Windows 8.
- Sitecore CMS 7.0 requires .NET framework 4.5
- CMS 7.0 does not support running Sitecore in IIS application pools that are configured to run under the .NET 3.5 or .NET 4.0 frameworks.
- The .NET 4.5 requirement leads to several other changes in system requirements:
- Visual Studio: Developers must use Visual Studio 2012 when developing for Sitecore, even if their own projects are compiled for .NET 4.0 or .NET 3.5.
- Operating systems and IIS versions
- CMS 7.0 supports Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 SP2, Windows 8, Windows 7, and Windows Vista SP2+ and the associated IIS versions (IIS 7, IIS 7.5, IIS 8).
- Other operating systems and IIS versions that were supported by CMS 6.6 are no longer supported, since these operating systems are not supported by the .NET 4.5 Framework.
- Supported SQL Server versions
- Sitecore CMS and DMS 7.0 require SQL Server 2008 R2 SP1 or SQL Server 2012 or one of the corresponding SQL Server Express editions.
- CMS 7.0 does not support SQL Server 2008.
- The initial release of CMS and DMS 7.0 only supports Microsoft SQL Server.
- Oracle support for CMS and DMS 7.0 has been made available starting with 7.0 Update-1 (rev. 130810).
Upgrade considerations
- Upgrading to CMS 7.0 is currently not supported if a version of the shared source Item Buckets module is installed.
- Sitecore plans to provide tools and/or instructions for upgrading such solutions at a later date.
- Be aware that converting content items into item buckets can cause your code not to work as designed. For more information about coding and item buckets, see the Developer's Guide to Item Buckets and Search.
New and updated documentation
- New documentation released with CMS 7.0:
- Developer's Guide to Item Buckets and Search
A developer's guide to working with item buckets, search, and indexing in Sitecore 7.0. - Sitecore Search and Indexing Guide
A developer's and administrator's guide to using Sitecore search. - Sitecore Search Scaling Guide
An administrator's guide to scaling with Sitecore search and item buckets.
- Developer's Guide to Item Buckets and Search
- Existing documentation that have been updated for CMS 7.0:
- Content Author's Cookbook
- Data Definition API Cookbook
- Data Definition Reference
- Installation Guide
- Marketing Operations Cookbook
- Presentation Component API Cookbook
- Presentation Component Reference
- Reusing and Sharing Data
- Rules Engine Cookbook
- Security Administrator's Cookbook
- Serialization Guide
- Workflow Cookbook
New features
- Item Buckets - ability to store large amounts of items in Sitecore
- Item Buckets is a system that lets you store thousands of content items in one container. You can convert individual items in the content tree into item buckets that can contain any number of subitems.
- Item Buckets addresses the problem of managing large numbers of items within the content tree, retrieving them, and working with them in a speedy and efficient manner. A single repository can contain millions of content items without congesting the content tree.
- The contents of an item bucket container are stored as unstructured content. These subitems are not listed in the content tree by default and do not have a parent-child relationship with the item bucket item. You can also create hybrid structures below an item bucket with content items that are hidden in the item bucket and content items that are structured in the normal way.
- An item bucket contains a Search tab that lets you find the items that are stored in the container.
- The /App_Config/Include/Sitecore.Buckets.config file contains event definitions for a large number of events. For example, you execute event handlers after an item is added to a bucket ("item:bucketing:adding" ) or before an item is converted into a bucket ("item:bucketing:starting").
- For now, these events are only raised when performing actions in the UI. We plan to change the behavior so these events are also raised when performing actions using the API. (ref. no. 382614 will be used when the issue gets addressed in a future update).
- Be aware that converting content items into item buckets can cause your code not to work as designed. For more information about coding and item buckets, see the Developer's Guide.
- For example, the Children property and GetChildren() method will not work as expected when used on items stored in a bucket container.
- Also, it is recommended not to use the item.Axes methods due to performance considerations.
- Content tagging
- The item buckets functionality supports a semantic tagging system which allows you to tag associations on every item (although the tag system also works on items that are not stored in an item bucket). This is useful for making connections between items that are stored in an item bucket, since the parent to child relationship is removed.
- Tags can be added on an item using the Semantics field (available to content authors that have access to see Standard Fields), or you can use Search Operations > Add Tag to assign a tag to all items in the search result.
- Tags are stored in the new "Semantics" field on the standard template (in the new Tagging section) by default.
- Content faceting
- Content faceting enables content authors to quickly refine their search results by filtering on e.g. author, creation date, template, or language. Custom facets can be configured to allow content authors to filter by additional fields.
- New search screens in the Content Editor, Page Editor, and dialog boxes.
- New search screens allow content authors to search for items and media when inserting links, inserting images, selecting templates, configuring rules, etc. instead of having to browse through the content tree.
- In the Content Editor, content authors can open search tabs to search for items, and they can perform quick actions on sets of items. This functionality works for all items and is not restricted to items stored in item buckets.
- In the Page Editor, a new search icon is available next to the Save icon in the upper left-hand corner, making it easier to navigate to any item.
- New indexing APIs
- CMS 7.0 introduces a new Sitecore.ContentSearch namespace that contains new indexing and search APIs.
- The ContentSearch name has been chosen to indicate that the new APIs are designed to make it easier for developers and designers to use the search APIs to query for items and to render content on websites.
- The new APIs are, however, not limited to indexing and searching for content items. The APIs can be used to index and search for all types of items in Sitecore.
- The old Sitecore.Search API has been retained for backwards compatibility. Sitecore recommends that you use the new Sitecore.ContentSearch API for new solutions.
- The new APIs provide a more robust and much more configurable search infrastructure.
- The APIs include a lot of the functionality that previously was provided by the Advanced Database Crawler shared source module.
- For example, using stored fields you can implement controls in the presentation layer that only render data from the index and does not touch the database at all. This is especially powerful in combination with computed fields which give you full control over what way data is stored and what data is stored in the index, including formatting the data, performing calculations, and/or looking up values from other items.
- For high availability of indexes, it's possible to configure the system to rebuild indexes in a separate folder and switch the active index when done, thereby ensuring that the solution can continue to query the search index while the index is being rebuilt.
- See the "SwitchOnRebuildLuceneIndex" section in the Sitecore Search and Indexing Guide for more information.
- Indexing update strategies are configurable.
- You can configure different index update strategies for different indexes in your solution, depending on how each index is intended to be used.
- Sitecore provides several different index update strategies to choose from. The choice of index update strategy will determine how often each index is updated and what triggers an index update. The different strategies vary in how resource intensive they are in terms of both CPU and IO.
- See the Sitecore Search and Indexing Guide for more information.
- Scaling
- The system can be configured to rebuild indexes on a remote instance to reduce the CPU and IO load on content management instances and/or content delivery instances.
- The system can be configured to use a remote instance as a dedicated query server to execute search queries. This can be used to reduce the load on content management instances.
- Support for using Solr instead of Lucene for indexing and search.
- Solr support
- Sitecore supports and tests a single Solr release (currently Solr 4.1) for use with CMS 7.0, while we expect the system to work with Solr versions 4.0 and up.
- Solr is a Java-based open source enterprise search platform from the Apache Lucene project. Using Solr integration for item buckets is the same as using a file-based Lucene index but instead of storing its information in file-based Lucene indexes they are stored remotely on the Solr server. This is a particularly effective strategy in a distributed environment.
- Solr is optimized for performance and handling large numbers of documents.
- Solr features rich multi-language indexing. It has a large set of language-specific analyzers that allow more accurate processing of languages such as Japanese and Arabic.
- See the Sitecore Search Scaling Guide for information about how to configure a Solr instance and how to configure Sitecore to work with the Solr provider.
- CMS 7.0 introduces a new Sitecore.ContentSearch namespace that contains new indexing and search APIs.
-
New search APIs on top of the new indexing APIs
- CMS 7.0 provides a Linq layer to query the search indexes, and has the ability to map data from the index to properties in a class (strongly typed).
- The Sitecore DocumentMapper is an integral part of the new Content Search API that makes it easier to construct search queries and work with results as strongly typed C# objects. Developers create classes and properties that map directly to the different types of Sitecore template fields. The new classes are used to create the LINQ query expressions for the Search API and also to conveniently access field data from more complex types like dates and link fields.
- The Linq layer not only provides a powerful and flexible query syntax for developers, it also allows us to support different search providers without requiring developers to know the different query syntax for different providers.
- Sitecore provides a Linq to Lucene and a Linq to Solr provider by default.
- The Sitecore providers implement a large subset of the IQueryable interface, although some complex methods are not supported, for example Join, GroupBy, and Sum.
- See the Developer's Guide to Item Buckets and Search for more information.
- CMS 7.0 provides a Linq layer to query the search indexes, and has the ability to map data from the index to properties in a class (strongly typed).
- Field types
- 3 new fields types have been introduced that can support vast amounts of content without degrading performance:
- Multilist with Search - can populate a multilist field based on a search query. The user can filter the list even more using a search box above the field control.
- Treelist with Search - can populate a treelist field based on a search query. The user can filter the list even more using a search box above the field control.
- General Link with Search - use this field to create a link to an item that is stored in an item bucket.
- Also, two new system types named "Query Builder" and "Query Datasource" have been introduced. These field types are used internally in Sitecore.
- The Source field on template field definition items supports a new way of selecting items for the field:
- Use a "code:<class name>, <assembly name>" syntax to call code that returns the items to use for the field source. The class must inherit from the IDataSource interface and return an Item[].
- See the Developer's Guide to Item Buckets and Search for more information.
- 3 new fields types have been introduced that can support vast amounts of content without degrading performance:
- Index management
- A new Indexing Manager is available for managing the new search indexes (Control Panel > Indexing > Index Manager).
- Search indexes related to the Sitecore.Search namespace and the deprecated Sitecore.Data.Indexing namespace are still rebuilt using the Control Panel > Database > Rebuild the Search Index wizard.
- The Developer tab in the Content Editor features a new Indexing Tools group.
- The group features buttons for rebuilding a specific index, rebuilding all indexes, and a very handy option to re-index the currently selected item and its descendants.
- A new Indexing Manager is available for managing the new search indexes (Control Panel > Indexing > Index Manager).
- Improved logging for indexing and search
- The new indexing and search APIs write separate log files to the log folder with information about crawling and search operations.
- Also, you can enable verbose logging for more information. Verbose logging adds overhead and eats up disk space, so it should only be used temporarily during troubleshooting.
- Pipeline profiling
- A new profiler allows you to profile pipelines and pipeline processors. The profiler collects metrics such as number of executions, wall time, percentage of wall time, and time per execution.
- To see the profiling information, open /sitecore/admin/pipelines.html.
- Pipeline profiling is disabled by default. To enabled the feature, rename the /App_Config/Include/Sitecore.PipelineProfiling.config.disabled file to Sitecore.PipelineProfiling.config.
- To measure CPU usage during pipeline profiling, set the value of the "Pipelines.Profiling.MeasureCpuTime" setting to "true" in the Sitecore.PipelineProfiling.config file. Measuring CPU usage adds a performance overhead to the pipeline but provides additional information about the behavior of the processors.
- New tools in the /sitecore/admin folder
- /sitecore/admin/FillDB.html
- The FillDB.html page allows you to test the scalability of your new search providers or the way the indexes have been set up. You can also use this tool to test facets, new search types, new query types, and the way your indexes are cached in large content environments.
- /sitecore/admin/LinqScratchpad.html
- The LinqScratchpad.html page allows you to execute Linq expression typed into a text field for easy evaluation during development or troubleshooting.
- /sitecore/admin/Pipelines.html
- When pipeline profiling is enabled, the Pipelines.html page presents a profiling snapshot with information about all pipelines and pipeline processors.
- /sitecore/admin/RemoveBrokenLinks.html
- Allows you to remove all broken links to missing items in one or more Sitecore databases.
- /sitecore/admin/FillDB.html
- Marketing features
- Rule based boosting allows you to dynamically increase the relative importance of items in the content tree.
- Bulk profiling allows marketers to search for a set of items, then apply profile scores or apply campaigns or page events to all items in the result set.
- Search by Persona.
- This feature is not enabled by default, To use it, uncomment the ComputedIndex field for "persona" in the Sitecore.ContentSearch.Lucene.DefaultConfiguration.config file.
- After rebuilding the index, marketers will now be able to use expressions such as "persona:Chris" when using the new search screens.
Deprecated and removed features
- Sitecore is deprecating support for running Sitecore under IIS application pools configured to use Classic pipeline mode.
- For now, the default web.config file still contains the necessary handlers to run Sitecore in Classic pipeline mode, but the support for this will be removed at some point in the future.
- The setup.exe no longer supports the creation of application pools that use Classic pipeline mode. It only supports application pools using Integrated pipeline mode, and you must manually change the pipeline mode in the IIS after installation if you wish to use Classic pipeline mode.
Breaking changes
- The following breaking changes have been introduced in the API due to Lucene.Net 3.0 having removed a number of deprecated methods in the Lucene API:
- The deprecated TemplateItem.GetUsages() method now returns a ScoreDoc[] instead of a Hits object.
- The Search(string) method in the deprecated Sitecore.Data.Indexing.Index class now returns a ScoreDoc[] instead of a Hits object.
- The obsoleted methods GetLockPrefix() and SetLockPrefix() were removed from the Sitecore.Search.SitecoreLockFactory class due to changes in the underlying Lucene.Net LockFactory class.
- Several obsoleted methods have been removed from the FSDirectory and DebugFSDirectory classes due to changes in the underlying Lucene.Net.Store.FSDirectory class.
- 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 HtmlIframe. (382934)
- This should not affect customers, unless they have overridden the class.
Important changes
- 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 Lucene.Net.dll assembly has been updated from 2.9.4.1 to 3.0.3.0.
- The HtmlAgilityPack.dll assembly has been updated from 1.4.0.0 to 1.4.6.0.
- The NewtonSoft.Json.dll assembly has been updated from 3.5.0.0 to 4.5.9.15308.
- The jQuery.UI library that is being used by the Item Buckets and Search functionality has been updated from 1.8.16 to 1.10.2. (384020)
- We are now shipping the Lucene.Net.Contrib assemblies as part of the default distribution.
- The clean installation
- The default values of the EnableEventQueues setting and the Indexing.ServerSpecificProperties setting have been changed from "false" to "true". This has been done to ensure that the new ContentSearch index for the web database is updated on publish in single-server environments (since the index for the web database by default is configured to use the onPublishEndAsync index update strategy which relies on the event queue).
Improvements
- Media library
- IFilter support. Sitecore now automatically uses the IFilters installed on the server to index the contents of document. This is for example useful for indexing the content of Word documents, PDF files, etc.
- Data source improvements
- The data source field on rendering parameters now stores the GUID instead of the path, thereby preventing problems where the data source would break or become invalid after moving items.
- Data sources are now registered in the link database, helping to prevent problems where the data source would break or become invalid after moving or deleting items.
- It is now possible to define search based data sources, allowing for dynamic data sources driven by content and tagging.
- You can either specify search queries manually in the data source field, or you use the new "Build Query" dialog box that is now available in the field menu above data source fields.
- To make use of such data sources, your code-behind for the component must be implemented to support this type of data source, for example similar to the following code: var searches = ((Sublayout)this.Parent).DataSource;
var queryable = UIFilterHelpers.ParseDatasourceString(searches) - Sitecore does not provide any XSLT extension methods to work with search based data sources.
- Renderings and layouts
- A new "Clear on Index Update" checkbox is available in the Caching section for presentation components, such as renderings and sublayouts. When checked, Sitecore will clear the HTML cache for the component each time the search index has been updated. This is useful for controls that retrieve items or render information from a search index.
- Troubleshooting which include files that patch which parts of the web.config file has been made easier.
- The /sitecore/admin/ShowConfig.html page now indicates which include file a node comes by listing a patch:source attribute on nodes.
- The patch:source attribute is also added to nodes where one or more attributes have been added or modified by an include file.
- If several include files have modified attributes on a node, the patch:source attribute will only indicate the name of the last include file that applied changes to the node.
- Setup.exe installation
- The setup.exe now supports installing Sitecore on Windows Server 2012 and Windows 8. (367542)
- The setup.exe currently does not allow you to install Sitecore on the Windows 8 Basic edition. To install on this Window s 8 edition, you must install from the zip-distribution. We plan to address this issue in a future update. Please use ref. no. 384389 if contacting Customer Service about this issue.
- The setup.exe will now install the MVC DLLs and config files, even when MVC is not enabled by the installation program. This makes it easier to enable MVC later.
- The setup.exe will now install a Web.config.WebForms file when installing Sitecore with MVC enabled. This makes it easier to disable MVC later. (373499)
- When using the "Client Only" mode, the installation program did not allow the user to use the database prefix of previously installed databases. (354004)
- When using the "DB Only" mode, the installation program would fail to install the databases if another DB only installation had already been performed. This happened because the database were not appended to the physical files when using DB only mode, unless you opened the Advanced options on the SQL Server step. (354003)
- The layout of the IIS advanced settings dialog box in the setup.exe was broken for some languages. (379311)
- The setup.exe now supports installing Sitecore on Windows Server 2012 and Windows 8. (367542)
- Simple "Search and Replace" feature (as part of Search Operations)
- On the Developer tab in the Content Editor, the "Create > Template" group/button has been renamed to "Template > Create" (switching the name of the ribbon group and the ribbon button).
Issues resolved
- IIS Integrated pipeline mode
- 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)
- Update Installation Wizard
- 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)." (377274)
- This occurred if the targetFramework attribute on the <compilation> node was set to "4.5" in the web.config file.
- The assembly version number of the Sitecore.Update.dll is no longer following the CMS version number. The file version is now on the format "1.0.0.xxxx". The file description and product name in the assembly meta-data have been changed to be more descriptive. (379447)
- 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)." (377274)
- Miscellaneous
- The "System" folder in the media library has now been made hidden and protected by default to hide it from normal content editors.
- The ResolveItemPath command in the Nexus assembly now call GetChildren() with a ChildList.SkipSorting parameter, thereby improving performance when there are many children or when called repeatedly. (371212)