This project is read-only.

Calculated Field for "Archive" URL

Topics: Enhanced Blog Edition
Nov 7, 2007 at 4:10 PM
I have been working on RSS enabling a collection of EBE sites. I am struggling with the URL for the Posts. The default CQWP wants to use CopyUtil which creates a lame URL in RSS. I would prefer to use the http://{server}/{site}/archive/{yy}/{mm}/{dd}/{title} URL.

Is there a hidden field that i can use (or can we add one)?

I can do XSLT gymnastics to make it work but it would be great to have this oob.

Thanks! Matthew
Nov 12, 2007 at 2:23 PM

There is a column called 'PostTitleForUrl' which is your {title} bit of the URL, but the rest of the URL is calculated at runtime. The EBE XSL uses custom methods in the XSL to create the URL (have a look at the CKS.EBE.XslMethods class), one of which create the URL for a post based on its date and title.

The reason for this is that the structure of a URL can be different. Currently the EBE has one URL convention (as you have in your post), but it is possible to create another provider and have a completely different URL structure. This is there to help people move from different blog providers and maintain thier URLs.

You could extend the CQWP and add the XslMethods class as an extension to use in XSL or you could just write your own HttpHandler which generates the RSS feed using SPSiteDataQuery class (see CKS.EBE.RssHandler). The second way you will get the chance to 'clean' the RSS feed so that it is a bit more complient.

Sounds we should add that as a feature!