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

From version 35.1
edited by bougault
on 2020/09/03 11:14
Change comment: There is no comment for this version
To version 38.1
edited by bougault
on 2022/03/02 11:58
Change comment: There is no comment for this version

Summary

Details

Page properties
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. The settings are key/value pairs as in the example below.
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. To update the settings, you need to write all the settings fields, as updating a single value only is not implemented.
68 68  
69 69  {{code language="javascript"}}
70 70  window.parent.postMessage({
... ... @@ -81,20 +81,25 @@
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 -== Updating parent frame URL fragment ==
84 +== Your app with hash-based URL ==
85 85  
86 -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.
86 +The app you are developing might be a single page app that needs to handle some routing between views. This is typically done with a hash-based URL using the fragment at the end to track the view in the page.
87 87  
88 -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.
88 +(% style="text-align: center;" %)
89 +{{{URI = scheme:[//authority]path[?query][#fragment]}}}
89 89  
91 +The Community Apps environment gives you the ability to update the parent frame fragment.
92 +
93 +It uses the [[postMessage() javascript API>>https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage]] to communicate from your app's iframe to the wiki (parent) frame.
94 +
90 90  {{code language="javascript"}}
91 91  window.parent.postMessage({
92 92   topic: '/clb/community-app/hashchange',
93 - data: "the_fragment_value"
98 + data: 'the_fragment_value'
94 94  }, 'https://wiki.ebrains.eu');
95 95  {{/code}}
96 96  
97 -If a fragment is present in the parent frame URL, at parent page load time, this fragment is transmitted to the App's iframe.
102 +If a fragment is present in the parent frame URL at parent page load time, this fragment is transmitted to your app's iframe.
98 98  
99 99  == Creating your OpenID Connect client ==
100 100