NovaMind 5 for Windows Plugin API
Extend the capability of NovaMind 5 by using plugins.
In NovaMind 5 we are introducing a new plugin system which allows developers to create new features and integrate their own products with NovaMind.
The plugin system is currently available for Windows and in the early stages of development on Mac.
NovaMind will become even more powerful by offering additional features and packages that cater for your specific needs.
.NET Plugin API
NovaMind 5 was written from scratch in C# using the Microsoft .NET Framework and the Windows Presentation Foundation (WPF).
Your plugins can be written in C# (other .NET languages should work as well) and use powerful WPF features.
Compared to C++ based plugins, C# and WPF offer several features which makes developing a plugin easier:
- Managed Code makes memory management easier.
- Rich event support makes communication between plugin and host easier.
- WPF enables rich user experience.
What can a plugin do?
- plugins can register side panels – side panels are user controls written in WPF which are hosted on the right side of the work area.
- plugins can add persisted (custom) data to any topic, map or document. Custom data has automatic undo/redo support (!); custom data features change notifications.
- plugins can add Indicators on any topic. Indicators are small icons that serve as a visual indicator for plugin data on a given topic; a plugin can also provide a custom UI that is shown below the topic when a user clicks on the indicator.
- plugins can add ActionItems to any topic. ActionItems are small icons positioned at the bottom-right of a topic that can execute custom behaviour when clicked by the user (our Hyperlinks, Attachment and Notes icons in NovaMind 5 are action items).
- Indicator and ActionItems are not limited to a simple bitmap icon – they are full user controls.
- plugins can add/remove topics and maps.
- plugins can get and set the plain text content of a topic.
- plugins can change selected topics and selected indicators.
- plugins can consume a rich set of events, some of which allow the plugin to cancel an event. (example: CanAddTopicNode, TopicNodeAdding and TopicNodeAdded event)
- plugins can create custom ribbon tabs, bars and buttons.
- plugins can register buttons in the ‘Topic Elements’ section on the ribbon and on the topic context menu.
- plugins can show custom panels on top or below topics directly on the mind map.
- there are a number of simple plugin samples demonstrating the above mentioned features written in C#.
To ensure that our plugin API is powerful and tested properly we have developed several parts of NovaMind using our plugin API.
NovaMind enables plugin developers to host custom WPF user controls directly on the mind map! Use the powerful features of WPF to visualize your data in NovaMind.
Easy file format
A .nm5 file is a ZIP compressed archive containing separate XML documents for content and styles and contains images and attachments.
We tried to keep the file format as simple and intuitive as possible and most elements are optional which makes creating .nm5 files easy. If you want to parse .nm5 files you will see that the structure is simple and consistent.
Please send an email outlining your plugin ideas to the NovaMind Support Team and we will get back to you as soon as possible.