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.
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 OpenID Connect client.
Stakeholders needs
R1 - Integrating apps
As a web application developer, I want to be able to integrate my web app in the Collaboratory so that my work can be beneficial to the community of users.
R2 - Installing apps in collabs
As a collab author, I want to be able to add web applications to my collab so that I can tell a richer story to my audience.
R3 - Identifying apps
As a collab user, I want to be able to easily identify the application I am using so I can learn more about what it can offer to me.
Features
F1 - Registering app in Application Catalogue
Web application developers can use the Application Catalogue to register their web application.
An app is registered with a set of information:
- Name - a unique name
- Logo (optional) - to help identifying the app quickly
- Description - a short description of the intent of the application to help app selection
- URL - URL of where the web application is hosted
- Category - for filtering purposes
- User documentation - URL to the user documentation
F2 - Restricting app registration
Collaboratory admins can restrict who can register applications in the Application Catalogue.
Users can send support requests to get the permission to register applications.
F3 - Installing an app in a collab
Collab authors can choose to add an application when creating a page in their collab: an installed app is a specific type of page which can be selected in the page creation form.
F4 - Selecting an app to install
When a collab author creates an app page in her collab, she can browse, filter and select an application to add to the created page.
She can easily identify the app with its name, logo, description and category.
F5 - Displaying an installed app
Applications are embedded in iframes. Application developers have to allow to be embedded under https://wiki.humanbrainproject.eu domain in their Content Security Policies.
An installed app can be displayed in full screen mode.
The
F6 - Providing context to an installed app
When navigating to an installed app, the Collaboratory gives context to it through query parameters so it can enrich the user experience:
- a UUID identifies the current installation uniquely in order for the app to be able to store context specific information. This UUID is kept if the app page is moved.
- a path identifies where the app is installed inside the Collaboratory
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