LogoLogo
User ManualChangelogRoadmapAboutYouTube
Apps
Apps
  • Apps
  • Quick start
  • Detailed reference
    • Manifest
      • Configuration schema
      • Dictionaries
    • Authentication
    • Configuration
    • Event endpoints
    • Synchronization
      • Data flow
      • Synchronization endpoints
      • Synchronization events
      • File download endpoint
    • Design considerations
  • Changelog
    • Changelog
    • Breaking changes
Powered by GitBook
On this page
  • name
  • description
  • version
  • compatible
  • configuration_schema
  • features
  • events
  • write_access
  • icon
  • url
  • Example Manifest

Was this helpful?

Export as PDF
  1. Detailed reference

Manifest

Full reference of Manifest file.

PreviousQuick startNextConfiguration schema

Last updated 1 month ago

Was this helpful?

Manifest is a simple JSON file that describes your App behavior and its possibilities.

To refresh the App Manifest, it has to be changed and reapplied - just like on App registration. Ergonode does not refresh it automatically.

Remember also, on refreshment, to raise the version - otherwise, changes won't be applied as described in the restrictions description.

Contained fields:

name

A simple text describing under what name your app is visible in the Ergonode available Apps tab.

This value should allow easy identification of what your App does.

Restrictions:

  • has to exist and not be empty

  • the length of the name is limited to 30 chars and should be no less than 3 chars.

description

A simple text describing the purpose fulfilled by the App.

Restrictions:

  • has to exist and not be empty

  • the length of the name is limited to 200 chars and should be no less than 20 chars.

version

Restrictions:

  • has to exist and not be empty

  • when reapplying the Manifest for App update the changes may only be applied when the new version is higher than the existing ones - otherwise, changes will not take effect.

compatible

This allows Apps Engine to determine whether an App administrator should take action and reconfigure the App for the new needs - fill out previously not existing configuration fields etc.

So for instance if, on the App update, the compatible field is higher than the last version(i.e. compatible = 1.1.0 and last version = 1.0.0) of the App installations will be set in Configuration required status - implicating the need for action and disallowing following actions with an App.

Restrictions:

  • has to exist and not be empty

  • the value cannot be greater than the version field

configuration_schema

features

A list of predefined features App utilizes:

synchronization

Enables the ability to run synchronization via the App.

The synchronization is always run as delta via this feature - meaning only changes from the last synchronization will be sent to the App.

  • on first synchronization, all data state is being transferred to an App

  • on every following synchronization, the App receives only data that has changed from the previous execution

synchronization_full

Enables the ability to run full synchronization via the App.

All configured within App data is synchronized via this feature disregarding delta - which means the entire data state is transferred to the App on every synchronization.

This feature is always a secondary option in the Run synchronization split button if enabled together with synchronization.

synchronization_file_download

Claims that the App generates a file as the result of the synchronization - for the enabled feature every finished synchronization will receive a file download button within the right-hand menu as well as a Download last synchronization button in the main App menu

synchronization_file_download_latest

This feature enables Copy feed URL button. This URL is publicly available, with no need for authorization.

synchronization_scheduler

This feature enabled Scheduler tab

events

Events the App subscribes to. Available:

app_installed

App installed by the user in the Ergonode interface.

app_uninstalled

App uninstalled by the user in the Ergonode interface.

attribute_created

Attribute created.

Currently available only in the synchronization context.

In the synchronization context, the event also contains detailed updated payloads.

attribute_updated

Attribute updated.

Currently available only in the synchronization context.

attribute_deleted

Attribute deleted.

Currently available only in the synchronization context.

category_created

Category created.

Currently available only in the synchronization context.

In the synchronization context, the event also contains detailed updated payloads.

category_updated

Category updated.

Currently available only in the synchronization context.

category_deleted

Category deleted.

Currently available only in the synchronization context.

product_created

Product created.

Currently available only in the synchronization context.

In the synchronization context, the event also contains detailed updated payloads. It also represents the access granted event i.e. when the product is added to a segment.

product_updated

Product updated.

Currently available only in the synchronization context.

product_deleted

Product deleted.

Currently only available in the synchronization context.

In the synchronization context, it also represents the access revoked event i.e. when the product is removed from a segment.

synchronization_started

The new synchronization process started.

synchronization_ended

The synchronization process ended.

write_access

Claims that the App requires the write access to fulfill its purpose.

A user is notified of the request on App installation.

When installed the App can use Ergonode API write capabilities to manipulate the data.

Restrictions:

  • currently the field cannot be changed after the initial App registration

icon

Icon allows easy identification of the App within available and installed Apps.

Restrictions:

  • value has to be represented as a Base64 image i.e. data:image/jpeg;base64,*

  • value cannot be greater than 10 KB

url

Base URL under which the App is available. When not provided a host of the Manifest Url is taken as this parameter.

Restrictions:

  • a valid URL string

  • currently, the value of the field cannot be changed after the initial App registration

Example Manifest

{
    "name": "My custom App",
    "description": "My custom App description",
    "version": "0.1.0",
    "compatible": "0.0.0",
    "configuration_schema": [
        {
            "title": "Connection",
            "type": "object",
            "properties": {
                "apiKey": {
                    "type": "string",
                    "title": "API key",
                    "propertyOrder": 1
                }
            },
            "required": [
                "apiKey"
            ]
        },
        {
            "title": "Settings",
            "type": "object",
            "properties": {
                "setting": {
                    "type": "string",
                    "title": "Specific app setting",
                    "propertyOrder": 1
                }
            },
            "required": [
                "setting"
            ]
        }
    ],
    "features": [
        "synchronization",
        "synchronization_full",
        "synchronization_file_download",
        "synchronization_file_download_latest"
    ],
    "events": [
        "product_created",
        "product_updated",
        "product_deleted",
        "synchronization_ended",
        "app_uninstalled"
    ],
    "icon": "data:image/webp;base64,UklGRsAFAABXRUJQVlA4ILQFAACwLQCdASoIAQgBPpFIoEulpKMhpFb4OLASCWVu4XSZz39d84G2/0j8LdH4ePpu0QehvzAP0K/3n9P6yHmF/mHTO/2XqHf9XqQPQg6WT9h8I9/zM4Xvm7T3+A3tolr1x1F/0Vg126lTUDoHQOgdA6B0DoHQOgdA6B0DoHQOgdA6B0DoHQOgdA6B0DoHQOgdA5YhX87OLqYej4fP5yIn49Vg7edLvNQxEgQalakkLTjaZWmeCj7XffMI5IYlK0H7LlDHGTFhS6vTeEXq852czXpeRmXsxCi0hiYJG9C0UX9wFkJ6wZ03+QSxDeEXuSwN4yHW16ggnSEcEzOCjkjao/OEhI842ptUF9WjpAQeuoViARullbWalo2TJGbhF7ozRavokygEYnRBuOaQQEt+I8zEZWgn7Saf6ji042l91UXREER4l7n0b5uWuySXuk6B0DrCpKm1NqbU2ptTam1NqbU2ptTam1NqbU2ptTam1NqbU2ptTalgAAD+9lD2Zb//9dx/53H/ncZmgmWCEYsIAAAABy+r8RtwslSEv0snvKmjf+wInhYkZ69wA2wOi6vvlXllaLZ/sfosQCfzDV3EhuLH28SIxv98IkoczaEb3+Pl/8lD7E5cjhfvtAqKX91uhXb/8+/jjTWZYnNDQcQpn7Qffa8BGDhmqHf/M7cbE1vw/J5Kvr6Ds9cY1vA/6oJs/W/ARFbYq46Wx7Cmni4CYRb9V7U2kNsAddu0pNKwqOmkJpIX91ey5qNB4dRRyvDmAMF8ftrTHLXBJXZvtFHIIQOWL8iyHGTBt7DyAeLbHpUatyM+BJPKf8P1fA/HxZ9ats9DiutJzmji9J0V68O26e8IJEfNt7aZe2yLrDPDpGUk/2hf+HncO7gxhdoMOUgx2pMGdkYG4lVEZM0RL3QQcS4F1rN5z+6DmeJ5QhrmEbZuomukKdaYrwLcEQOV4RJ2exJt2rh6tC7Vn1ghzf8Ju3d+zm0AU79dzF3aVBmQMgP7MJ+Jxyb3ZCnuWtoG+o1hIs3/UTjIAYfTcrU2YC0/tamgX46tYj/3wTjU73Foj+ihuOQfk0Jo1GjTBMU8mnJ4A2JMmrIPKskquNRO09Kyo64HIvPDuggb8efQoVvLEyvn1wKzChX5nmvAENOVMBlHEsM+1b4h+8+v+W9Drw9X8o1wL04LfPxnBlY/8hYE3j1tlvjbo0J3YuV4Ih8vfSb63IcJmPYhRdHXavcpv+WMVV//86gH9wjqzpqdZG+Twfz722biI4aGAxGfeH/O/CILnplEgyXU0eySpNflC2JJso1d5Eyiue8eMje4XM65KS/8Kz16F2wYJgGfjlC+YgYXnlaX8x29FYeIiWivNG3zvahM5k3LTiE90cgsZnPH0rCLRe8OuHIFGfeWCv7exWhddIf3YekuFg4n+HY999JzYmmgFBwooH/lM16Z/MdSU7JG9ahFC4ywu0MxIfhQyOSvt05rW6ts7L6QmJ+gFjKsod3FudEjADbQHjhVN/Gb1KtyknKXXrTr6hmgEuFb3TD0tyv4MXxJuoTaeiWcygV7WMVtJWfb80UcJ4f+NQe7OJp5P7H7w5e4jMSIMbQFGEkyOzi0xw+FFdOso6ZQaqqBdqeCB9Z9TdrQDwdfihNr4H+BGO4xrdLk3jAGRACNjN+yBZx5TYeRjWTDFZXpnnUlECHlvCzRtWAuZf19qOKzDsy4ypJ/N28ilq4e9TEykVocV5tnf5pGcHSza3EAWyBrWTEPj7k3JetvhbuASW2M2BRBZk+GtI3RsTSYQnWV77fANxGp1vIufGmRj/QxF9w1umS/BUIpkt9TAArXG6USpH7V9AFA377J8BS6p8wMUmcsHCymFOuM1l0BnEnGP+o13bk9uwHkx2k4g6AMXR6ZnnzdQhlB0lsHhdGROJnO3dxQgKhcojXvVPlrLX8whSU6gAAAAAAAAA=="
}

A of your manifest. It does not necessarily need to address your application version but rather the content of the Manifest file.

A that the current version of the Manifest is compatible with.

A list of to allow building simple or multi-step configuration forms.

When this feature is enabled follow the .

When this feature is enabled follow the as for synchronization_file_download feature.

semantic version
semantic version
JSON schemas
Detailed reference can be found here.
File download endpoint reference
File download endpoint reference
version
Run synchronization split button
Download file buttons
Copy feed URL button
Scheduler tab