Last modified by bougault on 2022/03/02 11:58

From version 30.1
edited by mmorgan
on 2020/07/16 00:45
Change comment: There is no comment for this version
To version 33.1
edited by bougault
on 2020/09/03 11:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.mmorgan
1 +XWiki.bougault
Content
... ... @@ -64,7 +64,7 @@
64 64  
65 65  The Collaboratory comes with a mechanism to let your app store its settings directly in the Collaboratory.
66 66  
67 -In order to do that, your app needs to use the [[postMessage javascript API>>https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage]] to send the settings to be stored in the Collaboratory:
67 +In order to do that, your app needs to use the [[postMessage javascript API>>https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage]] to send the settings to be stored in the Collaboratory. The settings are key/value pairs as in the example below.
68 68  
69 69  {{code language="javascript"}}
70 70  window.parent.postMessage({
... ... @@ -81,6 +81,22 @@
81 81  
82 82  The Collaboratory will get the settings from its key/value store and pass them to your app through query parameters.
83 83  
84 +
85 +== Updating parent frame fragment (hash) ==
86 +
87 +The app you are developing might be a single page app that need to handle some routing between views. The Community Apps environment gives you the ability to update the parent frame fragment.
88 +
89 +It uses the [[postMessage javascript API>>https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage]] to communicate from the APP iframe to the wiki (parent) frame.
90 +
91 +{{code language="javascript"}}
92 +window.parent.postMessage({
93 + topic: '/clb/community-app/hashchange',
94 + data: "the_fragment_value"
95 +}, 'https://wiki.ebrains.eu');
96 +{{/code}}
97 +
98 +If a fragment is present in the parent frame URL, at parent page load time, this fragment is transmitted to the App's iframe.
99 +
84 84  == Creating your OpenID Connect client ==
85 85  
86 -See the instructions [[here>>doc:.Registering an OIDC client.WebHome]].
102 +See the instructions [[here>>doc:Collabs.collaboratory-community-apps.Community App Developer Guide.1\. Registering an OIDC client.WebHome]].