Failed to execute template. Cause: [Access denied when checking [script] access to [xwiki:Collaboratory.UX.HbpSkin.WebHome] for user [xwiki:XWiki.Admin]]. Click on this message for details.

sitemap - HBP Wiki

IAM21 instance, do not create collab nor modify a team, your changes will be lost


Changes for page sitemap

Last modified by bougault on 2023/09/15 15:50

From version 20.1
edited by bougault
on 2023/09/15 09:30
Change comment: There is no comment for this version
To version 2.1
edited by bougault
on 2023/09/15 09:01
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,40 +1,38 @@
1 1  {{groovy}}
2 -if (xcontext.action == "get") {
3 - response.setContentType("text/xml")
4 -
5 - def docs = services.query.xwql('where doc.space like Collabs').execute()
6 -
7 - def sitePages = [
2 +if(request.gen && request.gen == "1") {
3 + content = ""
4 + def sitePages = [
8 8   // here you define the page you want in your sitemap
9 9   // the order is: document name, priority, change frequency
7 +
10 10   ["Main.WebHome","1","weekly"],
11 11   ["About.Contact","0.8","monthly"],
12 - ["About.Team","0.5", "monthly"]
10 + ["About.Team","0.5", "monthly"],
13 13   // add more here...
14 - ]
12 + ];
15 15  
16 - println('')
17 - println('<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">')
14 + content += ''
15 + content += '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
18 18  
19 - for (doc in docs) {
20 - println("<url>")
21 - println(" <loc>" + xwiki.getDocument(page[0]).getExternalURL() + "</loc>")
22 - println(" <lastmod>" + xwiki.formatDate(xwiki.getDocument(page[0]).contentUpdateDate, 'yyyy-MM-dd') + "</lastmod>")
23 - //println(" <changefreq>" + page[2]+ "</changefreq>")
24 - //println(" <priority>" + page[1] + "</priority>")
25 - println("</url>")
26 - }
17 + for(page in sitePages) {
18 + content += "<url>"
19 + content += " <loc>" + xwiki.getDocument(page[0]).getExternalURL() + "</loc>"
20 + content += " <lastmod>" + xwiki.formatDate(xwiki.getDocument(page[0]).contentUpdateDate, 'yyyy-MM-dd') + "</lastmod>"
21 + content += " <changefreq>" + page[2]+ "</changefreq>"
22 + content += " <priority>" + page[1] + "</priority>"
23 + content += "</url>"
24 + }
27 27  
28 - println("</urlset>")
29 -} else {
30 - println("{{html}}<a href='"+ doc.getURL('get','outputSyntax=plain') +"'>Generate Sitemap</a>{{/html}}")
26 + content += "</urlset>"
27 + new File("../webapps/xwiki/sitemap.xml").withPrintWriter { w |
28 + w.println content
29 + }
30 + println("Done: <a href='/xwiki/sitemap.xml'>sitemap.xml</a>")
31 31  }
32 -{{/groovy}}
33 33  
33 +else {
34 34  
35 -{{velocity}}
36 -##set ($spaceReferenceString = 'Collabs')
37 -##set ($query = $services.query.xwql("where doc.space like :space"))
38 -##set ($query = $query.bindValue('space').literal("${spaceReferenceString}.").anyChars().query())
39 -##$query.execute()
40 -{{/velocity}}
35 + println("<a href='"+ doc.getURL('view', "gen=1") +"'>Generate Sitemap</a>")
36 +
37 +}
38 +{{/groovy}}