External application integration

Version 11.1 by bougault on 2019/05/13 11:37

This is a draft

The goal is to give the Collaboratory.wiki editors a way to add external apps in the Collabs (s)he is managing.  To do so, the user should have access to a list of available apps. This is the Application Catalogue and is publicly available and should be crawlable by search engines.

To feed the catalogue, external application developers need to have access to an Application Manager where (s)he is able to register an app. External app developers are registered users. Applications that need to have access to the Collaboratory API have to create OAuth client and manager authentication.

External Application Requirements

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.

Application Manager

Registering an application form

  • Title
  • Description
  • URL
  • Category
  • Visibility (public/private) - private option just hides the app in the list. There is no real visibility management.

Search for existing apps

  • Same features as Application Catalogue


Application Catalogue

This is a list where Collab editors can choose an app.

  • 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.
     
  • Applications in the list are
    • Displayed as a flat list, server side generated with all entries
    • Selectable
       
  • Then the user can
    • Filter via a text input that provides autocompletion feature
    • Filter by categories  (to be defined)
    • Sort by some criteria