External application integration

Version 3.1 by bougault on 2019/05/13 11:23

[Draft]

The goal is to give the Collaboratory.wiki editors 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 crawl able by search engines.

To feed the catalogue, external application developers need to have access to an App 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 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.

  • Add to collab, 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, 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 features
    • Filter by categories  (to be defined)
    • Sort by some criteria