The following plugin types can be distinguished:
Visual/non-visual (marked with the isVisual flag in the config.json):
Visual plugins ("isVisual": true) open a window or a panel for some action, like
Non-visual plugins ("isVisual": false) provide a button (or buttons) to apply some transformations or manipulations to the document,
An input helper ("events": ["onInputHelperClear", "onInputHelperInput"]) plugin is a combo of both visual and non-visual plugins,
It has its own window that appears and disappears when you type text. Its location is tied to the cursor.
System/non-system (marked with the isSystem flag in the config.json):
Non-system plugins (not marked in the config.json) start upon clicking the corresponding button,
System plugins ("isSystem": true) plugins work in the background as long as the editors are launched,
Search and replace on start.
You don’t need to start them.
Editor enhancement/UI enhancement/third-party service plugins:
OLE object (marked as "initDataType": "ole" flag in the config.json):
In addition to simple document manipulation or editing, the plugin can embed an OLE object which allows a third-party developer to access the document format,
i.e. save information from external resources to the resulting file.
For example, the YouTube plugin embeds YouTube videos into your document
and the Chess plugin embeds a chess board.