Surendra Sharma

Surendra Sharma

Search This Blog

Tuesday, March 21, 2017

Solved : Unable to select or create items under a particular node in Sitecore



This is real life scenario where, clicking one particular node on the Sitecore content tree is throwing the error in in one of our project on Sitecore Authoring environment (CM).
 
This error is occurring only in master database. But when we switch to web database and select the same node, it works fine over there. We had also implemented custom pipelines for creating custom links, some item save events, url resolvers, etc. 

We tried to overwrite the Sitecore package for the same node from different Server environment. But even overwrite function also failed.

Below are the logs which are generating while expanding the node in Sitecore content tree:

6624 08:15:10 ERROR Failed to sort items
Exception: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: uri
Source: Sitecore.Kernel
   at Sitecore.Data.ItemUri..ctor(ItemUri uri)
   at Sitecore.Data.ItemUri..ctor(String itemUri)
   at Sitecore.Data.Items.Item.GetItemUriFromSourceItem()
   at Sitecore.Data.Items.Item.get_SourceUri()
   at Sitecore.Data.Fields.Field.GetSourceItem()
   at Sitecore.Data.Fields.Field.GetInheritedValue(Boolean allowStandardValue)
   at Sitecore.Data.Fields.Field.GetValue(Boolean allowStandardValue, Boolean allowDefaultValue)
   at Sitecore.Data.Items.ItemAppearance.get_Sortorder()
   at Sitecore.Data.Comparers.ItemComparer.ExtractKey(Item item)
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Sitecore.Data.Managers.ItemProvider.Sort(ItemList items, Item owner)

6624 08:15:10 ERROR Error in gutter renderer
Exception: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: uri
Source: Sitecore.Kernel
   at Sitecore.Data.ItemUri..ctor(ItemUri uri)
   at Sitecore.Data.ItemUri..ctor(String itemUri)
   at Sitecore.Data.Items.Item.GetItemUriFromSourceItem()
   at Sitecore.Data.Items.Item.get_SourceUri()
   at Sitecore.Data.Fields.Field.GetSourceItem()
   at Sitecore.Data.Fields.Field.GetInheritedValue(Boolean allowStandardValue)
   at Sitecore.Data.Fields.Field.GetValue(Boolean allowStandardValue, Boolean allowDefaultValue)
   at Sitecore.Data.Fields.Field.get_Value()
   at Sitecore.Shell.Applications.ContentEditor.Gutters.WorkflowState.GetIconDescriptor(Item item)
   at Sitecore.Shell.Applications.ContentEditor.Gutters.GutterRenderer.Render(HtmlTextWriter output, Item item)

6624 08:15:10 ERROR Application error.
Exception: System.Web.HttpUnhandledException
Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Source: System.Web
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at ASP.sitecore_shell_applications_content_manager_execute_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\943e1849\478cf6da\App_Web_jv4g5f10.3.cs:line 0
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Nested Exception
Exception: System.ArgumentNullException
Message: Value cannot be null.
Parameter name: uri
Source: Sitecore.Kernel
   at Sitecore.Data.ItemUri..ctor(ItemUri uri)
   at Sitecore.Data.ItemUri..ctor(String itemUri)
   at Sitecore.Data.Items.Item.GetItemUriFromSourceItem()
   at Sitecore.Data.Items.Item.get_SourceUri()
   at Sitecore.Data.Fields.Field.GetSourceItem()
   at Sitecore.Data.Fields.Field.GetInheritedValue(Boolean allowStandardValue)
   at Sitecore.Data.Fields.Field.GetValue(Boolean allowStandardValue, Boolean allowDefaultValue)
   at Sitecore.Data.Fields.Field.get_Value()
   at Sitecore.Shell.Applications.ContentManager.Sidebars.Tree.GetClassName(Item item, Boolean active)
   at Sitecore.Shell.Applications.ContentManager.Sidebars.Tree.RenderTreeNode(HtmlTextWriter output, Item item, String inner, Boolean active)
   at Sitecore.Shell.Applications.ContentManager.Sidebars.Tree.RenderChildNodes(ID parent)
   at Sitecore.Shell.Applications.ContentManager.ExecutePage.Page_Load(Object sender, EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

We tried different approaches but for couple of days we were unable to resolve the issue. But finally we resolve it.

Solution:

The solution is pretty simple.

We simply deleted that node from master database and transferred the node from Web database to Master database. That resolved the issue.

Now we are able to select the node and able to create child items under the node.
Sometimes simple tricks also works :)

I hope you like this Sitecore tip. Stay tuned for more Sitecore related articles.

Till that happy sitecoring :)
 
Please leave your comments or share this tip if it’s useful for you.

No comments:

Post a Comment