Too many pages in a group page?
I have a group page called 'landings' that contains around 115 pages in it. When I build a new page in this group, I duplicate an already existing page and make slight edits to it. Once I got to around 100 pages in this group I started experiencing the following:
I duplicate a page, am able to go to and edit it with no problems. When I publish, I get the attached error. Then if I go and try to edit that page once published, I get the same error. If I move the page outside of the grouped page, it works fine. Also, if I move it out of the group and then move it back in, it seems to work fine. OR if I publish in the group folder and get the error, then just leave it there and come back about a half hour later, it then works fine again. Any ideas what would be causing this?
Hi Matt,
The problem seems to be related to the number of pages located under one node. In order to resolve the issue that you are experiencing you need to modify your web.config file so the section between the sitemap tags looks like this:
<
siteMap
defaultProvider
=
"SitefinitySiteMap"
>
<
providers
>
<
add
name
=
"SitefinitySiteMap"
type
=
"Telerik.Sitefinity.Web.SitefinitySiteMap, Telerik.Sitefinity"
taxonomyProvider
=
"OpenAccessDataProvider"
pageTaxonomy
=
"Pages"
rootNode
=
"FrontendSiteMap"
pageProvider
=
"OpenAccessDataProvider"
maxPageNodes
=
"200"
/>
</
providers
>
</
siteMap
>
Thanks Stefani, I'll have our IT team make the change and let you know. Do you expect a performance issue with this change?
Matt
Hello Matt,
The negative effect will be higher loading time of the pages grid or a page which have more than a 100 child pages at one level under it, if you have 5 pages under a node and your allowed pages limit is 200 or more this will not take effect as only 5 pages are loaded not 200.
The root node for pages occurred at this call from the stack trace.
System.ArgumentNullException: Value cannot be null.
Parameter name: key
at Telerik.Sitefinity.Web.SiteMapBase.FindSiteMapNodeFromKey(String key, Boolean ifAccessible)
at Telerik.Sitefinity.Web.PageSiteNodeCollection.UpdateNode(PageSiteNode& node)
at Telerik.Sitefinity.Web.PageSiteNodeCollection.get_Item(Int32 index)
at Telerik.Sitefinity.Web.PageSiteNodeCollection.InnerEnumerator.get_Current()
at Telerik.Sitefinity.Web.SiteMapBase.GetChildNode(PageSiteNode parent, String urlName)
To get the count for pages under a particular page use this query:
PageManager pageManager = PageManager.GetManager();
var getPages = pageManager.GetPageNodes().Where(p => p.Parent.Title == "GroupPage").ToList();