It seems that there is a serious conflict between uBlogsy and uWebShop packages when new nodes are being automatically created on umbraco.
When uWebShop tries to create a new node, it seems that Create-Content umbraco event triggers always uBlogsy functionality (ex uLoremsy) and not the right one.
When i try to browse an uWebshop order node from umbraco :
i get the following error page (Error rendering data):
At this point uWebshop back-office tries to create & publish a couple of nodes (order node and dates nodes where the order node is stored) using Umbraco.Core.Services.ContentService.CreateContent functionality. The nodes cannot be created at all.
The above process of creating & publishing new nodes worked fine without uBlogsy package installation.
Log files report:
Viewing the log files of uWebshop it seems that CreateContent method conflicts with uBlogsy. Somewhere in the stack trace uLoremsy assembly appears suddenly (uWebshop does not use uLoremsy). Check the logs below:
2014-08-28 11:07:08,244 [9] ERROR uWebshop.Umbraco6.UmbracoLoggingService - [Thread 15] RenderMacro: System.InvalidOperationException: The ParentId cannot have a value of 0. Perhaps the parent object used to instantiate this object has not been persisted to the data store.
at Umbraco.Core.Models.ContentBase.get_ParentId()
at uLoremsy.Web.UmbracoEvents.uLoremsy.GetRoot(IContentService contentService, IContent sender) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 268
at uLoremsy.Web.UmbracoEvents.uLoremsy.<>c__DisplayClass12.<GetuLoremsyTreeXElem>b__f(XElement x) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 237
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at uLoremsy.Web.UmbracoEvents.uLoremsy.GetuLoremsyTreeXElem(IContentService contentService, IContent document, IEnumerable`1 trees) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 237
at uLoremsy.Web.UmbracoEvents.uLoremsy.ContentService_Creating(IContentService sender, NewEventArgs`1 e) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 55
at Umbraco.Core.Events.TypedEventHandler`2.Invoke(TSender sender, TEventArgs e)
at Umbraco.Core.Events.EventExtensions.IsRaisedEventCancelled[TSender,TArgs](TypedEventHandler`2 eventHandler, TArgs args, TSender sender)
at Umbraco.Core.Services.ContentService.CreateContent(String name, IContent parent, String contentTypeAlias, Int32 userId)
at uWebshop.Umbraco6.UmbracoDocumentTypeInstaller.(IContent , String , List`1 , String )
at uWebshop.Umbraco6.UmbracoDocumentTypeInstaller.CreateOrderDocument(OrderInfo )
at uWebshop.API.CMS.CreateOrderDocument(Guid uniqueOrderId)
at uWebshop.API.CMS.CreateOrderDocument()
at ASP._Page_macroScripts_uWebshopBackend_uWebshopUmbracoOrderOverview_cshtml.Execute() in c:\Projects\A\ActionAid\Main\ActionAidUWebShop\MacroScripts\uWebshopBackend\uWebshopUmbracoOrderOverview.cshtml:line 24
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors)
at System.Web.WebPages.WebPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at umbraco.MacroEngines.RazorMacroEngine.ExecuteRazor(MacroModel macro, INode currentPage)
at umbraco.MacroEngines.RazorMacroEngine.Execute(MacroModel macro, INode currentPage)
at uWebshop.Domain.Helpers.uWebshopMacro.LoadMacroScript(MacroModel , Int32 )
at uWebshop.Domain.Helpers.uWebshopMacro.RenderMacro(Hashtable , Int32 )
it seems that uLoremsy hooks on the ContentCreating event with uLoremsy.Web.UmbracoEvents.uLoremsy.ContentService_Creating and for some reason it conflicts with uWebshop flow.
I can see where the issue is but I'm not sure how to fix it atm. Basically, uLoremsy is getting the parent of the node that was just created, but that node's Id is 0.
A work around would be to delete the uLoremsy dll.
This would of course remove the pre-population of values in uBlogsy nodes. But it's better than creashing.
uBlogsy conflict with uWebShop package
It seems that there is a serious conflict between uBlogsy and uWebShop packages when new nodes are being automatically created on umbraco.
When uWebShop tries to create a new node, it seems that Create-Content umbraco event triggers always uBlogsy functionality (ex uLoremsy) and not the right one.
Is there any solution for this situation?
Can you give more information. What are you trying to do, and what results.
Also, pictures/video helps.
Which versions of umbraco, ublogsy, uwebshop?
Anthony,
umbraco version: 6.1.6
uBlogsy version: 3.0.2
uWebshop version: 2.5.1.0
The problem is:
When i try to browse an uWebshop order node from umbraco :
i get the following error page (Error rendering data):
At this point uWebshop back-office tries to create & publish a couple of nodes (order node and dates nodes where the order node is stored) using Umbraco.Core.Services.ContentService.CreateContent functionality.
The nodes cannot be created at all.
The above process of creating & publishing new nodes worked fine without uBlogsy package installation.
Log files report:
Viewing the log files of uWebshop it seems that CreateContent method conflicts with uBlogsy.
Somewhere in the stack trace uLoremsy assembly appears suddenly (uWebshop does not use uLoremsy).
Check the logs below:
2014-08-28 11:07:08,244 [9] ERROR uWebshop.Umbraco6.UmbracoLoggingService - [Thread 15] RenderMacro: System.InvalidOperationException: The ParentId cannot have a value of 0. Perhaps the parent object used to instantiate this object has not been persisted to the data store.
at Umbraco.Core.Models.ContentBase.get_ParentId()
at uLoremsy.Web.UmbracoEvents.uLoremsy.GetRoot(IContentService contentService, IContent sender) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 268
at uLoremsy.Web.UmbracoEvents.uLoremsy.<>c__DisplayClass12.<GetuLoremsyTreeXElem>b__f(XElement x) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 237
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at uLoremsy.Web.UmbracoEvents.uLoremsy.GetuLoremsyTreeXElem(IContentService contentService, IContent document, IEnumerable`1 trees) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 237
at uLoremsy.Web.UmbracoEvents.uLoremsy.ContentService_Creating(IContentService sender, NewEventArgs`1 e) in d:\_PROJECTS\Personal\uLoremsy\uLoremsy\Source\uLoremsy.Web\UmbracoEvents\uLoremsy.cs:line 55
at Umbraco.Core.Events.TypedEventHandler`2.Invoke(TSender sender, TEventArgs e)
at Umbraco.Core.Events.EventExtensions.IsRaisedEventCancelled[TSender,TArgs](TypedEventHandler`2 eventHandler, TArgs args, TSender sender)
at Umbraco.Core.Services.ContentService.CreateContent(String name, IContent parent, String contentTypeAlias, Int32 userId)
at uWebshop.Umbraco6.UmbracoDocumentTypeInstaller.(IContent , String , List`1 , String )
at uWebshop.Umbraco6.UmbracoDocumentTypeInstaller.CreateOrderDocument(OrderInfo )
at uWebshop.API.CMS.CreateOrderDocument(Guid uniqueOrderId)
at uWebshop.API.CMS.CreateOrderDocument()
at ASP._Page_macroScripts_uWebshopBackend_uWebshopUmbracoOrderOverview_cshtml.Execute() in c:\Projects\A\ActionAid\Main\ActionAidUWebShop\MacroScripts\uWebshopBackend\uWebshopUmbracoOrderOverview.cshtml:line 24
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors)
at System.Web.WebPages.WebPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at umbraco.MacroEngines.RazorMacroEngine.ExecuteRazor(MacroModel macro, INode currentPage)
at umbraco.MacroEngines.RazorMacroEngine.Execute(MacroModel macro, INode currentPage)
at uWebshop.Domain.Helpers.uWebshopMacro.LoadMacroScript(MacroModel , Int32 )
at uWebshop.Domain.Helpers.uWebshopMacro.RenderMacro(Hashtable , Int32 )
it seems that uLoremsy hooks on the ContentCreating event with uLoremsy.Web.UmbracoEvents.uLoremsy.ContentService_Creating and for some reason it conflicts with uWebshop flow.
Thank you for you quick response.
any idea yet?
Hi
Sorry for the delay
I can see where the issue is but I'm not sure how to fix it atm. Basically, uLoremsy is getting the parent of the node that was just created, but that node's Id is 0.
A work around would be to delete the uLoremsy dll.
This would of course remove the pre-population of values in uBlogsy nodes. But it's better than creashing.
I'll see this weekend if I can find a proper fix.
I think I have a fix. Download this dll:
https://drive.google.com/file/d/0Bxy95GRb59DMclpITmJ1cVRWWkU/edit?usp=sharing
is working on a reply...