Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
1.0 B4
-
None
-
patch
-
Unknown
-
Awaiting Contributor feedback
-
Description
Here's a full replacement for the XWiki.WebRssCode to allow for filtering out pages.
Please keep the indentation as it's easier to read than the non-indented code that was there....
It's probably be good to make $hiddenPages and $hiddenSpaces centralized so that other things like the navigation panel can all be changed from one place.
XWiki.WebRssCode
{pre} #set ($hiddenSpaces = ["XWiki", "Admin", "Panels"]) #set ($hiddenPages = ["Main.WebRss", "Main.WebSearch", "Main.BlogRss","Main.Test", "Blog.Macros", "Main.TagsRss", "Main.WikiLaunch", "Main.RegisterNewUserAction", "Main.SpaceIndex", "Blog.Category", "Main.RecentMembers", "Main.Tags", "Main.Dashboard", "Main.PersonalRSS", "Blog.Categories"]) $context.setCacheDuration(1800) <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wiki="http://purl.org/rss/1.0/modules/wiki/" xmlns:html="http://www.w3.org/1999/xhtml"> <channel rdf:about="$baseurl"> <title> #if($title) $title #else $request.serverName #end </title> <link>$baseurl</link> <description> #if($description) $description #else $request.serverName #end </description> #set($logourl = $xwiki.getSkinFile($xwiki.getSkinPreference('logo', 'logo.png'))) #set($port = "") #if(($request.scheme == "http") && ($request.serverPort != 80)) #set($port = ":${request.serverPort}") #elseif(($request.scheme == "https") && ($request.serverPort != 443)) #set($port = ":${request.serverPort}") #end #set($logourl = "${request.scheme}://${request.serverName}${port}$logourl") <image rdf:resource="$logourl"/> <dc:language>$doc.defaultLanguage</dc:language> <dc:rights>$xwiki.getXMLEncoded($xwiki.webCopyright.replaceAll('<', '<html:').replaceAll('<html:/', '</html:'))</dc:rights> <dc:publisher>$xwiki.getUserName($doc.author, false)</dc:publisher> <dc:creator>$xwiki.getUserName($doc.author, false)</dc:creator> <items> <rdf:Seq> #if(!$list) #if(!$sql) #set($sql = "where 1=1 order by doc.date desc") #end #set($list = $xwiki.searchDocuments($sql, 50, 0)) #end #set($list = $xwiki.wrapDocs($list)) #foreach ($currentdoc in $list) #if(!$hiddenPages.contains($currentdoc.fullName) && !$hiddenSpaces.contains($currentdoc.space)) #if($xwiki.hasAccessLevel("view", "${context.database}:${currentdoc.fullName}")) <rdf:li rdf:resource="$currentdoc.getExternalURL('view', "language=${currentdoc.realLanguage}")" /> #end #end #end </rdf:Seq> </items> </channel> <image rdf:about="$logourl"> <title>XWiki Logo</title> <link>${baseurl}</link> <url>$logourl</url> </image> #foreach ($currentdoc in $list) #if(!$hiddenPages.contains($currentdoc.fullName) && !$hiddenSpaces.contains($currentdoc.space)) #if($xwiki.hasAccessLevel("view", "${context.database}:${currentdoc.fullName}")) #set ($url = $currentdoc.getExternalURL('view', "language=${currentdoc.realLanguage}")) #if ($currentdoc.content.length() < 255) #set ($length = $currentdoc.content.length()) #else #set ($length = 255) #end <item rdf:about="$url"> <title>$xwiki.getXMLEncoded(${currentdoc.displayTitle})</title> <link>$url</link> <description>Version $currentdoc.version edited by $xwiki.getXMLEncoded($xwiki.getUserName($currentdoc.author, false)) on $currentdoc.date</description> #set($tz = $xwiki.formatDate($currentdoc.date, "Z")) #set($tz = "${tz.substring(0, 3)}:${tz.substring(3)}") <dc:date>$xwiki.formatDate($currentdoc.date, "yyyy-MM-dd")T$xwiki.formatDate($currentdoc.date, "hh:mm:ss")$tz</dc:date> <dc:creator>$xwiki.getXMLEncoded($xwiki.getUserName($currentdoc.creator, false))</dc:creator> <dc:contributor> <rdf:Description link=""> <rdf:value>$xwiki.getXMLEncoded($xwiki.getUserName($currentdoc.author, false))</rdf:value> </rdf:Description> </dc:contributor> </item> #end #end #end </rdf:RDF> {/pre}
Attachments
Issue Links
- is related to
-
XWIKI-8243 Put back the missing RSS feed links on the Activity Stream + Blog
- Closed