Error when accessing the Pages link in SiteFinity administration backend
We started getting an error when trying to access the Pages link in SiteFinity administration backend . See attached Screen shot. I'm unable to find the template that the error references.
We are using SiteFinity 8.0. Here is the error from the logs:
Timestamp: 10/21/2015 8:46:01 PM
Message: HandlingInstanceID: bba45a6d-4c8a-4c81-8202-6006e5130f75
An exception of type 'Telerik.OpenAccess.Exceptions.NoSuchObjectException' occurred and was caught.
---------------------------------------------------------------------------------------------------
10/21/2015 15:46:01
Type : Telerik.OpenAccess.Exceptions.NoSuchObjectException, Telerik.OpenAccess, Version=2015.1.225.1, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342
Message : No row for Telerik.Sitefinity.Pages.Model.PageTemplate ('sf_page_templates') GenericOID@53945ea8 PageTemplate id=e8a0b0e7-a4f1-63ed-a0bf-ff0800ed1b39 NOTRES
Source : Telerik.OpenAccess.Runtime
Help link :
InnerExceptions :
FailedObject :
BackendError :
Reason : NoSuchObject
CanRetry : True
Data : System.Collections.ListDictionaryInternal
TargetSite : System.Exception Throw()
HResult : -2146233088
Stack Trace : at OpenAccessRuntime.ExceptionWrapper.Throw()
at OpenAccessRuntime.DataObjects.PCStateMan.handleException(Exception x)
at OpenAccessRuntime.DataObjects.PCStateMan.getObjectFieldImp(PersistenceCapable pc, FieldMetaData fmd, Object currentValue)
at Telerik.Sitefinity.Pages.Model.PageData.OpenAccessEnhancedGettemplate(PageData owner)
at Telerik.Sitefinity.Pages.Model.PageData.get_Template()
at Telerik.Sitefinity.Web.PageDataProxy..ctor(PageData pageData)
at Telerik.Sitefinity.Web.PageDataContext..ctor(IList`1 pageDataList)
at Telerik.Sitefinity.Web.SiteMapBase.GetPageDataContext(Guid nodeId, NodeType nodeType, IList`1 pageDataList)
at Telerik.Sitefinity.Web.SiteMapBase.FindDataContext(PageSiteNode node)
at Telerik.Sitefinity.Web.PageSiteNode.IsPublished(CultureInfo culture)
at Telerik.Sitefinity.Modules.Pages.Web.Services.Model.WcfPageNode.InitFromSiteNode(PageSiteNode siteNode)
at Telerik.Sitefinity.Modules.Pages.Web.Services.Model.PageViewModel..ctor(PageSiteNode siteNode, Boolean excludeDecisions)
at Telerik.Sitefinity.Modules.Pages.Web.Services.PagesService.<GetPagesInternal>b__2c(PageSiteNode siteNode)
at Telerik.Sitefinity.Modules.Pages.Web.Services.PagesService.GetChildPagesFromSitemap[T](Guid parentId, String filter, String siteId, Func`2 createViewModel)
at Telerik.Sitefinity.Modules.Pages.Web.Services.PagesService.GetPagesInternal(Boolean hierarchyMode, String root, String pageFilter, String sortExpression, Int32 skip, Int32 take, String filter)
at SyncInvokeGetPages(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
My thought is that there is a Page using a template that no longer exists. Does anyone know the DB table that contains the template id that a page is using.
Thanks in advanced,
Scott
Hi,
The table which holds the connection between pages and page templates is sf_page_data
Please perform the following query on the database to see which pages use a template with that id:
SELECT
*
FROM
[DatabaseName].[dbo].[sf_page_data]
WHERE
template_id =
'e8a0b0e7-a4f1-63ed-a0bf-ff0800ed1b39'
SELECT
*
FROM
[DatabaseName].[dbo].[sf_page_templates]
WHERE
id =
'e8a0b0e7-a4f1-63ed-a0bf-ff0800ed1b39'
Thank you Velizar. That is exactly what I needed. I had only three pages using the template ID that did not exist in my DB any longer. I set the correct Template ID and all is now working. I'm not sure why or how it occurred though.