Under one SiteRoot I have two Landing: News and Blogs. When I open Blogs, in Archive widget I see archive of News. I've checked the code, and it caches Landing by const string key. (actually I have noticed same approach not just for Landing, but other cases surprisingly work well yet)
Alright, for those who have same problem, hack it with HttpContext.Current.Items.Remove("GetPosts_uBlogsyPosts"); HttpContext.Current.Items.Remove("GetLanding_uBlogsyLanding");
But please still reply to initial question, Anthony.
Sorry for the late reply. I don't always get a chance to check the forum, and I've been on holiday for a month.
To answer your original question...
uBlogsy's content service assumes that the razor scripts live within a ublogsy tree. They look up the tree to find the landing node, and then use that in an examine query.
You shouldnt be getting content from both trees if the trees are separate.
eg. site/blog, and site/news is fine
Am I right in assuming that you are trying to list the blog archive on a news page? This won't work, as the scripts will think that news landing node is the parent.
> and I've been on holiday for a month. haha I've noticed that :)
>Am I right in assuming that you are trying to list the blog archive on a news page? I am, but this is not where question is. You cache "Landing" not just per one request as far as I remember, you cache it for good. And once I opened News (which shows widget "latest news"), news landing is cached. When I open Blog, widget that is supposed to show "latest blog posts" shows latest news. Because it uses your helper method, that checks for cache, it finds cache of landing=news, and it displays them. That is if I remember it right.
I'm unhappy with that architecture overall, it just feels like whatever I do - there will be bug. Right now, for example, I have disabled uloremsy and udatefoldersy (don't remember now), only this way it kind of works, but then it have no date in Post Date, and users have to enter it manually. And even then icon to pick date near date box is almost always not showing before you press F5. Even then sometimes after entering date it may not register that date is entered and still block you with client-side validation, have to add space, and then remove space (just make some changes to text field to make it revalidate). And this is kind of basic functionality. It really must not be that inconvenient.
I'm not sure where you would be getting the landing cache issue. Do you know what line(s) of code that may be on? I've searched the source and cant find it.
I definiltey store the value in HttpContext.Current.Items, which means that any razor script that tries to get the landing page will get it from there. But that is only for a single page load.
What if there's few Landings, cache fail
Under one SiteRoot I have two Landing: News and Blogs. When I open Blogs, in Archive widget I see archive of News. I've checked the code, and it caches Landing by const string key. (actually I have noticed same approach not just for Landing, but other cases surprisingly work well yet)
How should I organize things if I want http://arhage.ru/novosti (news) and http://arhage.ru/blog (blogs) using uBlogsy?
Alright, for those who have same problem, hack it with
HttpContext.Current.Items.Remove("GetPosts_uBlogsyPosts");
HttpContext.Current.Items.Remove("GetLanding_uBlogsyLanding");
But please still reply to initial question, Anthony.
Hi Dima
Sorry for the late reply. I don't always get a chance to check the forum, and I've been on holiday for a month.
To answer your original question...
uBlogsy's content service assumes that the razor scripts live within a ublogsy tree. They look up the tree to find the landing node, and then use that in an examine query.
You shouldnt be getting content from both trees if the trees are separate.
eg. site/blog, and site/news is fine
Am I right in assuming that you are trying to list the blog archive on a news page? This won't work, as the scripts will think that news landing node is the parent.
> and I've been on holiday for a month.
haha I've noticed that :)
>Am I right in assuming that you are trying to list the blog archive on a news page?
I am, but this is not where question is. You cache "Landing" not just per one request as far as I remember, you cache it for good. And once I opened News (which shows widget "latest news"), news landing is cached. When I open Blog, widget that is supposed to show "latest blog posts" shows latest news. Because it uses your helper method, that checks for cache, it finds cache of landing=news, and it displays them.
That is if I remember it right.
I'm unhappy with that architecture overall, it just feels like whatever I do - there will be bug. Right now, for example, I have disabled uloremsy and udatefoldersy (don't remember now), only this way it kind of works, but then it have no date in Post Date, and users have to enter it manually. And even then icon to pick date near date box is almost always not showing before you press F5. Even then sometimes after entering date it may not register that date is entered and still block you with client-side validation, have to add space, and then remove space (just make some changes to text field to make it revalidate). And this is kind of basic functionality. It really must not be that inconvenient.
I'm not sure where you would be getting the landing cache issue. Do you know what line(s) of code that may be on? I've searched the source and cant find it.
I definiltey store the value in HttpContext.Current.Items, which means that any razor script that tries to get the landing page will get it from there. But that is only for a single page load.
Also there's partial caching. eg:
@Html.CachedPartial("uBlogsy/Widgets/uBlogsyWidgetListPostArchive", Model, 6000,...
Regarding your backoffice validation issues, if you can replicate the issues consistently, I would log a bug with umbraco: issues.umbraco.org
is working on a reply...