Version 12.1 by allan on 2019/05/13 13:56

Show last authors
1 (% class="box warningmessage" id="H5BDraft5D" %)
2 (((
3 **This is a draft**
4 )))
5
6 The goal is to give collab editors a way to add external apps in the Collabs they are managing. To do so, the user should have access to a list of available apps. This is the **Application Catalogue** and it is publicly available and should be crawlable by search engines.
7
8 To feed the catalogue, external application developers need to have access to an **Application Manager** where they can register apps. External app developers are registered users and have a specific role. Applications that need to have access to the Collaboratory APIs or to authenticate users have to create an OAuth client.
9
10 (% class="wikigeneratedid" %)
11 (((
12 {{toc numbered="true"/}}
13
14 = External Application Requirements =
15 )))
16
17 Application are embed in Iframe, external apps have to allow to be embedded under https:~/~/wiki.humanbrainproject.eu domain in their Content Security Policies. The Collaboratory gives the iframe a context parameter via a query string (?ctx={uuid}). The external app has then to handle it to perform further operations.
18
19 = Application Manager =
20
21 == Registering an application form ==
22
23 * Title
24 * Description
25 * URL
26 * Category
27 * Visibility (public/private) - private option just hides the app in the list. There is no real visibility management.
28
29 == Search for existing apps ==
30
31 * Same features as Application Catalogue
32
33 = Application Catalogue =
34
35 This is a list where Collab editors can choose an app.
36
37 * The editor adds a new document in the wiki. In the creation template list, there is a “Integrate External App” type that opens the External Application list, the user can search an app and pick one to associate its Collab.
38
39 * Applications in the list are
40 ** Displayed as a flat list, server side generated with all entries
41 ** Selectable
42
43 * Then the user can
44 ** Filter via a text input that provides autocompletion feature
45 ** Filter by categories  (to be defined)
46 ** Sort by some criteria