Posts

Sitecore: Extract Indexed Content of Media Files using MediaItemContentExtractor

Here is something in addition to my previous post regarding indexing associated content: Here is a common scenario: Your custom index configuration is set up to crawl all the content for your website which is then used by your site search (keywords search) to fetch search results. In addition to you content item crawlers, you add a crawler for Media Library items as well and Sitecore does a great job of indexing PDF, DOCX, DOC, etc. files automatically, provided your have a valid IFilter installed, and now you have search extended to show file items as search results. Now consider the following scenario: One of the lookup fields on your page points to a file in the media library and the new requirement is to show the page item in the search result when the search phrase matches the content in the associated file. Solution (Lucene & Solr): Create a computed field called "related_content" that stored the crawled content of the associate file and extend the query to now se...

ISSUE: Sitecore AD Module throws error: The AD membership provider couldn't be initialized: Value cannot be null.

ERROR The AD membership provider couldn't be initialized: Value cannot be null. Parameter name: name Exception: System.ArgumentNullException Message: Value cannot be null. Parameter name: name Source: System.DirectoryServices    at System.DirectoryServices.ActiveDirectory.DirectoryContext..ctor(DirectoryContextType contextType, String name, String username, String password)    at LightLDAP.SitecoreADProfileProvider.Initialize(String name, NameValueCollection config) After having gone through all the troubleshooting steps mentioned in Sitecore's AD module documentation if you are still running into this issue then this maybe the post you have been looking for. I ran into an issue after having configured the AD module as per the "text book" in CM and CD environments and the connection was working correctly in CM but not in CD. My immediate answer was, since CD is not on the same domain as AD server but CM is, it has to be an access issue. Then to confirm access...

ISSUE:Sitecore 8 Edit Frame does not display fields for the context language

SOLVE: Sitecore provided a patch to fix the issue:  https://kb.sitecore.net/articles/814090

RESOLVED: Sitecore Solr provider error: Value cannot be null. Parameter name: fieldNameTranslator.

Server Error in '/' Application. Value cannot be null. Parameter name: fieldNameTranslator Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.ArgumentNullException: Value cannot be null. Parameter name: fieldNameTranslator Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [ArgumentNullException: Value cannot be null. Parameter name: fieldNameTranslator]    Sitecore.ContentSearch.Linq.Solr.SolrIndexParameters..ctor(IIndexValueFormatter valueFormatter, IFieldQueryTranslatorMap`1 fieldQueryTranslators, FieldNameTranslator fieldNameTranslator, IExecutionContext[] execu...

RESOLVED: Connection error to search provider [Solr] : Unable to connect to , Core: [index_name]

If you are working with Solr provider for Sitecore 8, I'm sure you have already read this  article regarding changes to the Schema.xml that must be applied. In a recent Solr integration with Sitecore 8 Update 5  (rev. 150812) , I ran into the following error(s): Connection error to search provider [Solr] : Unable to connect to <solr service address>, Core: [index_name] Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: Sitecore.ContentSearch.Exceptions.SearchProviderConnectionException: Connection error to search provider [Solr] : Unable to connect to [http://ocomp-sc-solr:8080/solr], Core: [social_messages_master] Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can ...

BUG: $now in Standard Values changes to 1/1/0001 on Save

Working with Sitecore 8 Update 3 (rev. 150427) I ran into a bug where $now, $date and $time tokens don't seem to be working correctly in Standard Values. Reported it to Sitecore and they confirmed it as a bug and provided the following workaround: BUG: Adding $now to Standard Values of a template and saving changes the value to 1/1/0001 SOLVE: While on the Standard Values, check "Raw Values" under the View tab. Then add the $now token and Save. Un-check the Raw Values and you will still see a 1/1/0001 value in Standard Values but each time a new item is created, it will have the correct DateTime value. This should with with $date and $time tokens as well.

RESOLVED: Upload file to Sitecore 8 Media Library causes Input string was not in a correct format error

Apparently there is a bug in Sitecore 8 Update 3 (rev. 150427), when you try to upload a file that is 0 Bytes in length, you get the below exception: Server Error in '/' Application. Input string was not in a correct format . Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.  Exception Details: System.FormatException: Input string was not in a correct format. Source Error:  An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [FormatException: Input string was not in a correct format.]    System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +14292453   ...

RESOLVED: A domain specified in the Sitecore.Security.SwitchingProfileProvider provider/domain map could not be found. Domain name:

If you encounter the following error working with setting up Active Directory integration: A domain specified in the Sitecore.Security.SwitchingProfileProvider provider/domain map could not be found. Domain name: <yourdomain> Line 3897:        <clear /> Line 3898:        <add name="sql" type="System.Web.Profile.SqlProfileProvider" connectionStringName="core" applicationName="sitecore" /> Line 3899:        <add name="switcher" type="Sitecore.Security.SwitchingProfileProvider, Sitecore.Kernel" applicationName="sitecore" mappings="switchingProviders/profile"></add> Line 3900:      </providers> Line 3901:      <properties> The solve is pretty simple, add a domain element with your domain name such as: <domain name="yourdomain" />  to App_Config/Security/Domains.config

RESOLVED: Solr Exceptions - Document contains at least one immense term in field

If you implemented Solr with Sitecore using Solr 5.x, you may run into the following error when indexing extremely large content in string fields: org.apache.solr.common.SolrException: Exception writing document id <xxxuniqueid> to the index; possible analysis error. Caused by: java.lang.IllegalArgumentException: Document contains at least one immense term in field="<xxxfieldname>" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer to not produce such terms. The prefix of the first immense term is: '[10, 9, 9, 10, 32, 32, 32, 32, 32, 32, 82, 84, 82, 83, 32, 70, 97, 99, 105, 108, 105, 116, 121, 32, 10, 32, 32, 32, 32, 84]...', original message: bytes can be at most 32766 in length; got <intgreaterthan32766> Caused by: org.apache.lucene.util.BytesRefHash$MaxBytesLengthExceededException: bytes can be at most 32766 in length; got <intgreaterthan32766> This is due to the fa...

Sitecore: Indexing Associated Content

Setting up indexes and indexing content for site search in Sitecore is a pretty straightforward task and there is an extensive knowledge base put together by the community with various examples. One useful construct we often find ourselves implementing for keyword search is  setting up a computed field . I typically use this construct to index any additional content referenced by a page, typically (content blocks, promos, callouts) added to the page via presentation details The Need: Index externally reference content by a page item Solve: Create a computed field to index TextField and HtmlText type fields of referenced items This implementation fetches all the renderings for the current item's presentation for the default device and checks their datasource item for index-able content. As a suggestion, check if the current item inherits from certain page templates else skip the execution. Step1: Create a class and implemented the IComputedIndexField interface as shown below: pu...