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.
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.
Embedding Options:
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.
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.