London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!
AI OnAI Off
London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!
Yes it appears so. The event will fire for every page publish, including the root page.
As you stated, the root page will never have a parent, so e.Page.ParentLink will be null. Hence the ArgumentNullException thrown by the GetPage method.
I would copy all the code from EPiServer.Blog.EventHandlers into another module, and register that in web.config instead. You can then amend the code within the PublishingPage method to perform a check to ascertain whether it is the root page.
We are using EPiServer.Blog and have encountered a problem when republishing the root page; an exception is thrown:
[ArgumentNullException: Parameter has no page set
Parameter name: pageLink]
EPiServer.DataFactory.GetPage(PageReference pageLink, ILanguageSelector selector) +290
EPiServer.Blog.EventHandlers.PublishingPage(Object sender, PageEventArgs e) +129
EPiServer.PageEventHandler.Invoke(Object sender, PageEventArgs e) +0
EPiServer.Core.PageStoreBase.RaiseCancellablePageEvent(Object key, String defaultReason, PageEventArgs eventArgs) +74
EPiServer.DataFactory.Save(PageData page, SaveAction action, AccessLevel access) +295
This is cause by EPiServer.Blog.EventHandlers.PublishingPage(object sender, PageEventArgs e)
When republishing the root page "BlogFactory.DataFactory.GetPage(e.Page.ParentLink)" will throw an exception as root page has no parent. Can you confirm if this is a bug?