SQL Azure and Sitecore Retryer

If you are deploying Sitecore on Azure and you are using SQL Azure, you should know that you could experience some connectivity issue between your Sitecore instance and your database…

Therefore it is strongly recommended to enable a retry mechanism on Sitecore data provider to recover these intermittent connectivity issues.

This is the default configuration that you will find in your web config, and what you need to do is to switch disabled to false….

you can either keep the logging enabled/disabled to log these connectivity issues and change the interval setting, but I would recommend to keep the default value…

<retryer disabled="true" type="Sitecore.Data.DataProviders.Retryer, Sitecore.Kernel">
      <param desc="Number of tries">6</param>
      <param desc="Interval between tries">00:00:00.500</param>
      <param desc="Log each exception (should be used for debug only)">true</param>
</retryer>

New Features added in Sitecore latest versions -7.2 – 7.5 -8.0

A client asked me to list all the new features and improvement in the latest few version of Sitecore so that they can decide witch version choose, my advise was obviously to go for the latest version, or even better wait a bit more for the next release… this is the list of the improvements in the recent versions

Sitecore 8

  • Engagement Value to understand what’s working
  • MVT (Multi variance testing everywhere)
  • Federated Experience Manager (Integrate analytics from other sites)
  • Predictive Analitycs – machine learning
  • New analytics report
  • New Sitecore UI (Shell)

Sitecore 7.5

  • Analytics support MongoDB
  • Single view of the customer across channels
  • native dependency injection
  • Modal popup bugfix

Sitecore 7.2

  • Items Bucket
  • IE 11 support
  • Index Performances
  • Search provider model to support better SolR
  • Search API support faceting
  • Hot Swappable index
  • Performance when publishing items
  • support asp.net MVC 5.1
  • New field types (eg. searchable treelist)
  • Linq To Sitecore

SwitchOnRebuildLuceneIndex in sitecore 7.2

SwitchOnRebuildLuceneIndex is an exiting new functionality introduced in sitecore 7.2

The idea is to offer a READ ONLY lucene index available meanwhile you are rebuilding your index.

As you probably already know, you should plan carefully your index strategy to avoid downtime of your site when the index rebuild, but in the lifetime of an enterprise project you will be forced to kick an index rebuild to troubleshoot some issue.

SwitchOnRebuildLuceneIndex ¬†allow you to avoid the downtime of your site, giving a read-only index.¬†It means that if somebody is adding items to the index, these items won’t be returned until the index rebuild is not completed.

At low level when you switch on SwitchOnRebuildLuceneIndex it simply create a copy of the index folder meanwhile is rebuilding the index in a different folder and switch the two folders once that the index rebuild has completed.

The config to use to configure it is the following one:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
        <configuration type="Sitecore.ContentSearch.LuceneProvider.LuceneSearchConfiguration, Sitecore.ContentSearch.LuceneProvider">
          <indexes hint="list:AddIndex">
            <index id="sitecore_web_index" type="Sitecore.ContentSearch.LuceneProvider.SwitchOnRebuildLuceneIndex, Sitecore.ContentSearch.LuceneProvider">
              <param desc="name">$(id)</param>
              <param desc="folder">$(id)</param>

you can find more information about it in the following post http://blog.eldblom.dk/2014/07/31/avoiding-downtime-while-rebuilding-your-lucene-search-indexes-in-sitecore-asp-net-cms/

MultiList with Search in Sitecore 7

One of the most interesting features shipped with Sitecore 7 are the new datatypes.

More specifically I would like to point your attention on the MultiList with Search.

the syntax for the datasource is a bit different, here there is a sample, the guid of the startsearchlocation is the guid of the parent item where you want to limit your search

StartSearchLocation={1C9E5CA6-6362-4176-9D4B-80FA08F9517A}&TemplateFilter={199544CC-05CB-4A5B-8BA0-8165C7152945}&SortField=_name

A potentially dangerous Request.QueryString value was detected from the client -Sitecore < 7.2

If you are running .net 4.0 and a version of Sitecore antecedent of 7.2 you will have an issue in the sitecore shell with your links….

the error that you will get it is “A potentially dangerous Request.QueryString value was detected from the client”

Apparently there is an issue with AntiCSRF in .net 4.0 & Sitecore 6.5 – 6.6 -7 – 7.1

Anyway I would recommend to switch to .net 2.0 validation model since it is 100% safe in the shell…

<httpRuntime requestValidationMode="2.0" />