App Directory Schema

This document reflects the current App Directory schema implementation as created by OpenFin.

```json
{
"name": "notifications",
"title": "notifications",
"manifest_url":
"https://cdn.openfin.co/services/openfin/notifications/app.json",
"description": "notifications",
"contact_email": null,
"support_email": null,
"signature": "https://cdn.openfin.co",
"publisher": "openfin",
"icon": "https://cdn.openfin.co/app_directory/img/1525196545111.jpg",
"appPage": "/apps/notifications",
"images": [
{ "url": "https://cdn.openfin.co/app_directory/img/1525196545111.jpg" }
]
}
```

namespace: The namespace under which the application lives. By default, all applications live under public unless specified otherwise.
description: Some meta data that would be used to explain more about the application. For this application, the namespace is services. If no namespace is provided, it will default to public. The purpose for the namespace is to allow different applications with the same appName to run under separate namespaces. IE: A company could have two different applications that provide notifications.

name(Required): The name that is used to get this information:
https://app-directory.openfin.co/api/v1/apps/services.notifications
In this case, notifications is the name while services would be the namespace. We parse out the period in the `services.notification` to identify the name. If no namespace is given(under the public domain), the url would look like so:
https://app-directory.openfin.co/api/v1/apps/notifications
In this case, notifications would be held under the public namespace.

manifest_url(Required): URL of the manifest url. In this case, this is pointing to a json object but this could point to any url. Ideally, this is what the application uses to start up or provides default values on how the application should be setup.

title(Required): Just some meta information about the application. We currently use this when rendering the app-directory home page.

manifest_url: The location of the application. The RVM uses this JSON to start the application. This url has to be unique in our domains table.

contact_email: Who the contact for the application

support_email: Who is on support for the application

signature(Required): The domain or public key that the application lives under. For example, the manifest_url would not be able to live under cdn.openfin2.co. Public Key would be a 1:1 ratio to an application but you can have many applications under a domain.

publisher(Required): The name of the company that owns the application. The publisher has control over their namespace/app/signature(see diagram)

icon: Metadata for an icon for the application. This can be used to reference a favicon which would be used to show the application log.

appPage: The path of where the app is located.(to be removed)

images(Required): Metadata which are screenshots of the application.

https://prod.match.autilla.com/openfin/app.json

Manifest URL(ie: https://cdn.openfin.co/services/openfin/notifications/app.json):

The manifest url is something Openfin uses to launch its runtime.
https://openfin.co/documentation/application-config/

Need help? Email help@finos.org we'll get back to you.

Content on this page is licensed under the CC BY 4.0 license.
Code on this page is licensed under the Apache 2.0 license.