Posts

Showing posts from 2016

Sitecore Multi-Lingual Implementation: Questions To Ask Your Potential Clients

Almost every life-size Sitecore implementation has a multi-lingual aspect to it. Asking the right questions separates the men from the boys, in other words, shows how mature your digital practice truly is. Here are my top questions I commonly ask my potential clients before implementing a multi-lingual/multi-cultural implementation: Question #1: What languages are to be enabled in Sitecore? Seems like an obvious one but there can be some nuances to consider here and our job is to dig into them.  A good reason to know all the languages you will need to support up front is that certain languages (German, Japanese etc.) can and do have an impact on your creative design and UX.  Speaking of nuances, if a client says they would like to enable Chinese, it's not enough to ask if they would like both Mandarin and Cantonese. I would further ask them if they are looking for traditional or simplified Chinese, and mind you they all have different language codes that you will n

Custom Sitecore Intel Transformers To Modify Date Format In Experience Profile

Image
Going through the recently published Sitecore StackExchange site, I came across a question regarding modifying the date format of visits in Experience Profile since it shows the dd.mm.yyyy format by default. In case you don't know what I am talking about, here is what it looks like: It's not just that one view, the default date format seems to apply to other views as well: My obvious thought here was that there has to be a config setting somewhere that controls this date format. Here is my process of elimination: Eliminated Experience Profile configs since it did not contain any date related settings Looked at showconfig.aspx and found some index fields that contained date formats but eliminated since the default format was yyyy/mm/dd Eliminated the Reporting Database since the data formats were different Looked at the service calls made by Experience Explorer to fetch view data and found this: "InteractionStartDateTime":"2016-10-20T15:34:20.44

SOLVED: ERROR Rendering control not found for Item in Sitecore

A simple solution (maybe too obvious to some) to a rather cryptic error. This error occurs if you use a MVC rendering (.cshtml or controller rendering) on a page whose Layout item points to a .aspx file. As in, make sure you have a MVC layout when adding MVC renderings to a page. Duh!

Published content does not get indexed for language variants when using Language Fallback Module

Just when I thought I have Alex Shyba's Language Fallback module all figured out, I ran into a bug related to indexing fallback versions of items. Bug (Short Version): Fallback language variants of items do not get crawled by the default SitecoreItemCrawler.  Bug Explained (Long Version) The reason is that the default crawler relies on field values stored in the database in order to index them. The Fallback Provider in the fallback module "spoofs" fallback language version of  the field values by returning the field values of the master language version of the item, and as such does not store these values in database. The result is that you only have the master language field values available for crawling. But thanks to the Sitecore community, had already been resolved  here . However, this resolution assumes that you are working with SEARCH CONTRIB / ADVANCED DATABASE CRAWLER module. I wasn't looking to introduce more uncertainty to my solution by add

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