Wiki source code of External application integration
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 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 |