I've got a number (50+ last I checked) of umbraco sites running 4.0.3 - we haven't got around to upgrading them all to 4.5.x yet. We run load balancing using umbraco.settings, like normal, and i've confirmed the distributed publishing is working correctly.
One site in particular i'm having a weird caching issue with.
I have a page which has very little content on it (it's an xml feed for a flash component)
XmlFeedHome macro simply calls into an XSLT. I've turned caching off here, but it was set to "by page"
I've recreated the macro, changed application pools, and republished entire site.
The XSLT was using msxml:script to do some logic, but I stripped that out so it's just a basic xslt now.
The problem i'm experiencing is that any changes to the XSLT don't seem to publish - when I view the feed on the page, it's missing the new attributes/changes we're adding.
If I republish entire site -or- recycle application pools (load balanced) then the content updates as expected.
If I publish a change to a document, it publishes and immediately updates on the viewable document (otherwise i'd be inspecting the distributed call settings closely)
I'm not seeing anything of note in the umbracoLog table, it all looks pretty standard.
I've been caught out by the parent/child XSLT thing before (we use umbraco quite extensively) so explicitly had checked for that before posting (even though I neglected to say that in my original post)
Come to think of it, we've had similar problems with CSS files doing almost exactly the same thing before, you change them in the admin, the changes take, but don't "publish".
It's not on all sites, it seems to happen to certain umbraco installs after a while.. and i've never once been able to figure out what actually causes it or how to resolve it.
Maybe it's something to do with the file publishing for distributed calls?
Does anyone know if that uses change notifications at all internally? (on site today so can't check source) - The reason I ask is that our webservers share content via a ubuntu samba share, which doesn't seem to propogate change notifications to iis, so when you touch web.config etc it won't recycle the app domain.
I've investigated the above problem quite extensively, and unfortunately not managed to reach a solution. Initially thought it might be unrelated, but if the umbraco install is relying on something change notification/disk based to clear the cache, that might be part of the problem.
xslt publishing/caching issue
Hi Guys
I've got a number (50+ last I checked) of umbraco sites running 4.0.3 - we haven't got around to upgrading them all to 4.5.x yet. We run load balancing using umbraco.settings, like normal, and i've confirmed the distributed publishing is working correctly.
One site in particular i'm having a weird caching issue with.
I have a page which has very little content on it (it's an xml feed for a flash component)
The page calls a template that looks like this:
<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
<?xml version='1.0' encoding='UTF-8'?>
<thumbnailer width="735" height="127" distance="10" buffer="10" acceleration="1" path="" imgPath="" movement="Combined" delay="500" speed="20">
<umbraco:Macro Alias="XmlFeedHome" runat="server"></umbraco:Macro>
</thumbnailer>
</asp:Content>
XmlFeedHome macro simply calls into an XSLT. I've turned caching off here, but it was set to "by page"
I've recreated the macro, changed application pools, and republished entire site.
The XSLT was using msxml:script to do some logic, but I stripped that out so it's just a basic xslt now.
The problem i'm experiencing is that any changes to the XSLT don't seem to publish - when I view the feed on the page, it's missing the new attributes/changes we're adding.
If I republish entire site -or- recycle application pools (load balanced) then the content updates as expected.
If I publish a change to a document, it publishes and immediately updates on the viewable document (otherwise i'd be inspecting the distributed call settings closely)
I'm not seeing anything of note in the umbracoLog table, it all looks pretty standard.
Any thoughts?
Gareth
Hi Gareth,
Quick thought... do you using nested XSLTs? As the parent XSLT caches the child XSLT until it is modified.
If so, consider using XSLTouch - which automatically 'tickles' any parent XSLT.
Cheers, Lee.
Hi Lee
Good thought, unfortunately that wasn't it.
I've been caught out by the parent/child XSLT thing before (we use umbraco quite extensively) so explicitly had checked for that before posting (even though I neglected to say that in my original post)
Come to think of it, we've had similar problems with CSS files doing almost exactly the same thing before, you change them in the admin, the changes take, but don't "publish".
It's not on all sites, it seems to happen to certain umbraco installs after a while.. and i've never once been able to figure out what actually causes it or how to resolve it.
Maybe it's something to do with the file publishing for distributed calls?
Does anyone know if that uses change notifications at all internally? (on site today so can't check source) - The reason I ask is that our webservers share content via a ubuntu samba share, which doesn't seem to propogate change notifications to iis, so when you touch web.config etc it won't recycle the app domain.
I've investigated the above problem quite extensively, and unfortunately not managed to reach a solution. Initially thought it might be unrelated, but if the umbraco install is relying on something change notification/disk based to clear the cache, that might be part of the problem.
Gareth
Hi Gareth,
I don't have much experience with load balancing Umbraco, so not sure what the caching issues might be, sorry.
Might be worth getting in touch with Umbraco HQ? I'm sure they'll be able to resolve the issue.
Cheers, Lee.
is working on a reply...