Publisher 6.5 – Workaround for Broken Upgrades
Ruh, roh. This one’s a doozy. Yeah, I’m pretty high on Publisher 6.5, especially the feature where Publisher no longer issues a redirect for published content, greatly improving performance because it allows the portal to cache all this content.
Unfortunately, I just ran into a major problem with this feature in a dev upgrade: the servlet for streaming all this content back doesn’t do any transformations on any of the URLs. This is bad, since if you’re doing an upgrade, you’ve likely got hundreds or thousands of Content Items with relative links or images in them. For example, suppose you have an existing Content Item with an image in it (that has been published to the same folder in Publisher). The reference for this image will likely be:
<img src="myimage.jpg">
This worked fine with the old redirector, as the image tag would be transformed:
http://server/portal/server.pt/gateway/PTARGS_0_1_493_234_684_43/http%3B/ptpublisher%3B7087/publishedcontent/publish/folder1/folder2/image.jpg
But with the new content streaming functionality, this link does NOT get transformed the way you’d expect; the portal sees the relative link as relative to the SERVLET, not relative to the existing Content Item. So the browser sees a URL like this:
http://server/portal/server.pt/gateway/PTARGS_0_1_493_234_684_43/http%3B/ptpublisher%3B7087/ptcs/PublishedContentServlet/image.jpg
… which obviously isn’t right.
In fact, Oracle seems to be aware of this: in the content.properties file, they changed the LTCUseRelativeURLs setting to “false” (it was “true” in 6.4). That way, for NEW Content Items, the URLs are all absolute, which prevents this problem from coming up.
I was going to revoke my recommendation to upgrade to 6.5 for now, but came across a really easy fix to get all the benefits of 6.5 without this glaring bug. Hit the link for the workaround.
The solution: turn off the servlet in the “Published Content” Web Service. Oracle left the redirector in there, and while this means you won’t get the scalability benefits of the new servlet, at least it’ll buy you time to check on the hundreds of Content Items you’ve already got.
Just change the Portlet URL for the “Published Content” Web Service from “PublishedContentServlet/proxy” to “published_content_redirect.jsp”, and all of the existing items should work again:

I noticed this as well, when trying to get the caching to work in 6.4 with the noredirect.jsp. It is a bummer that we will have to eventually go through all of our old content and make the URLs absolute so that caching works.
Better workaround ever!
many thanks
Wouldn’t using the ‘Publish to Imageserver’ feature and then recursively publishing all, eliminate the need for the workaround?
This assumes that the customer is amenable to the change (unhappy with the performance of the publishedcontent.jsp bottleneck).