Phonemos User Guide

Phonemos Apps and Plugin Architecture

under development

Phonemos can be extended with Apps and Plugins. These can be implemented by everyone.

Apps vs. Plugins

We distinguish two concepts:

  • Apps solve specific use cases for a customer, e.g. provide a solution for ISO 9001 compliance. Apps may incorporate templates and configurations that may or may not depend on certain plugins to be installed.

  • Plugins extend the technical system with additional functional capabilities, for example you could write a Microsoft Teams connector. This connector could then be used by multiple Apps.

While the two concepts seem similar, we believe this allows vendors to cooperate based on complementing competencies. Plugins are written by software vendors and add software capabilities. Then consultancies and integrators can use this technical functionality to build solutions for specific industries and use cases.

In that sense, a plugin is a technical extension that will require system administrators to install them, while Apps solve Business use cases and can usually be downloaded and installed with simple topic-level administration permissions.

What can an App do?

An App is basically a Phonemos Archive that contains templates and configuration items you can import into a Phonemos topic with the standard import feature, see Export and import Phonemos Archives.

We currently can import objects, templates, etc. do have limitations on configuration items that cannot yet be imported as they will require merging with existing configuration. We are working on removing these obstacles.
The workaround for App vendors is to offer some kind of implementation service or instruction for manual steps.

What can a Plugin do?

The plugin system is currently in development. If you already need information before this, reach out and Contact us.

On a high level conceptual level, a plugin is a component that can be installed to extend functionality.

A plugin is basically an event processor that is being added to the system.

diagram

Event Processor

Plugins can provide handlers for events that occur in Phonemos (or are provided by other plugins).

The basic logic is that your code receives an event along with the plugin's previous state and can return its new state and commands.

Events can be things like:

  • Page has been edited/created

  • User has commented on a page

  • Data record (or page metadata) has changed

  • Custom event produced by another plugin

    • Slack message posted

    • Youtrack issue created

Commands

  • Edit data record

  • Trigger custom event

State is basically a JSON data, its contents are completely up to the plugin. Phonemos ensures that the event handling is properly serialized.

External Event Handler

A plugin can generate custom events in Phonemos based on action/events in an external system. These events can the be further processed inside Phonemos by the same or other Plugins.

Example Use Cases:

  • Slack or Teams message posted to a certain channel

  • Issue in Youtrack changed

  • New ticket opened in ServiceNow

Embedding

A plugin can embed screens through an iFrame API in the content (1) or the context (2) screen segments.

diagram

Embedding Options:

  1. You can add your plugin as an external link into the tree and it opens up as an embedded UI component in our content pane. It provides the complete content, it does not integrate with the Phonemos editor.

  2. You can add your plugin to the topic configuration and thus display content as a new tab on the right sidebar.

Example Use Case:

  • Embed you application inside Phonemos and integrate it into the tree (e.g. Figma design)

  • Write custom dashboards

  • Provide additional context for a certain Phonemos page

Availability

The APIs for the integration are currently experimental and documentation is in progress. If you already need information before this, reach out and Contact us.