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.

LiveTableServiceWorker - HBP Wiki

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


Changes for page LiveTableServiceWorker

Last modified by bougault on 2022/03/22 17:19

From version 4.16
edited by bougault
on 2022/03/21 13:44
Change comment: There is no comment for this version
To version 4.1
edited by bougault
on 2022/03/21 11:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,17 +1,27 @@
1 1  {{velocity}}
2 -$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership')
3 -$response.setContentType("text/javascript")
4 -self.addEventListener("install" , evt => {
5 - console.log(evt);
6 -});
7 -
8 -self.addEventListener("activate" , evt => {
9 - console.log(evt);
10 - clients.claim();
11 -});
12 -
13 -self.addEventListener("fetch" , evt => {
14 - console.log(evt);
15 -});
16 -
2 +$response.setContentType("application/x-json")
3 +##limit default
4 +#set ($limit = 5)
5 +#if($request.limit)
6 + #set ($limit = $util.parseInt($request.limit))
7 +#end
8 +#set($hql = "where doc.name != null order by doc.date desc")
9 +#set($documents= $xwiki.searchDocuments($hql, $limit, 0))
10 +{"nbarticles": $limit ,
11 + "documents": [
12 +#set ($i = 0)
13 +#foreach($item in $documents)
14 +#set ($i = $i+1)
15 +#set ($recentDoc = $xwiki.getDocument($item).getTranslatedDocument())
16 + {"fullName": "$recentDoc.fullName",
17 + "url": "$recentDoc.getExternalURL("view",$recentDoc.context)",
18 + "author": "$recentDoc.contentAuthor",
19 + "date": "$recentDoc.date",
20 + "comment": "$recentDoc.comment"
21 + }#if($i != $limit)
22 +,
23 +#end
24 +#end
25 +]
26 +}
17 17  {{/velocity}}
XWiki.JavaScriptExtension[0]
Code
... ... @@ -1,19 +1,16 @@
1 -$response.addHeader('Service-Worker-Allowed', '/bin/view/Membership')
2 -$response.setContentType("text/javascript")
3 -self.addEventListener("install" , event => {
4 - console.log(event);
1 +self.addEventListener("install" , evt => {
2 + //evt.waitUntil(caches.open("main_cache").then(cache => cache.addAll(["/", "/something"])));
3 + console.log(evt);
4 +
5 + self.skipWaiting();
5 5  });
6 6  
7 -self.addEventListener("activate" , event => {
8 - console.log(event);
8 +self.addEventListener("activate" , evt => {
9 + console.log(evt);
9 9   clients.claim();
10 10  });
11 11  
12 -self.addEventListener("fetch" , async (event) => {
13 - console.log(event);
14 - event.respondWith(function() {
15 - let response = await fetch(event.request);
16 - return response;
17 - })
18 - });
13 +self.addEventListener("fetch" , evt => {
14 + console.log(evt);
19 19  });
16 +
Parse content
... ... @@ -1,1 +1,0 @@
1 -Yes
Use this extension
... ... @@ -1,1 +1,0 @@
1 -onDemand