The Main part of a software project is not code but knowledge generated during the project. I guess knowledge is the main part of every business today and it is very important to move the generated knowledge from non-formal level to formal level to avoid its loss. There are many approaches to save knowledge and a mind map diagram is one of them. Also it is very important to keep the "distance" between project and its knowledge as short as possible and the ideal variant is to keep knowledge just within the project as a document set. If you use any external knowledge engineering tool then the distance already is not so short and for the cause I had decided to develop some plugin which would allow to create and edit knowledge graph just within NetBeans based projects.
History of implementation
On start I implemented the editor as a just plugin for NetBeans IDE, but because at work I very often use Intellij IDEA, I developed and a plugin for IJ IDEA editor. Some of my friends are not programmers at all and they needed some tool to make documentation for their projects and I developed standalone version based on the IDE plugin with extended functionality and support of PlantUML (since 1.4.3 version) and called standalone editor as "SciaReto". Now I have three products based on the same editor core
- NetBeans IDE plugin
- Intellij IDEA IDE plugin
- SciaReto standalone desktop application
Many thanks to Geertjan Wielenga for the nice screencast shows the plugin in work
The Plug-in keeps all mind map information in single UTF8 encoded plain text file formed in markdown compatible format, so the file can be easily read and interpret and without the plugin.
Mind Map generated by NB MindMap plugin > __version__=`1.0` --- # Root <br/>topic > topicLinkUID=`14F9D4CD31DA` ## First level - LINK <pre>http://www.google.com</pre> ### Item 1\.1 - NOTE <pre>Some note for item 1.1</pre> ### Item 1\.2 - TOPIC <pre>14F9D4CD31DA</pre>
New mind map creation
The Plugin creates new mind map just within project folders through the standard NetBeans new file wizard, just start the New File wizard and select the Other category and you will see the NB Mind-map record in the File Types: list. Select the NB Mind-map and press Next> in the wizard.
Work with mind maps
Mind maps are opened in IDE as documents with graphic interface and the plugin doesn't add any new actions into IDE menu so all operations over mind maps you can make through the document pop-up menu. The Pop-up menu is formed for the current document state and context.
All manipulations over topic order and its position in the map hierarchy can be made only through mouse Drag&Drop operations (keep in mind that only one topic can be moved in the same time).
Change look and feel of mind maps
You can tune most of graphic parameters for mind map rendering through the IDE Options (or just click Options in the pop-up menu).
Export mind map data
Today it is very important to have way to export data to another formats to use the knowledge in another tools. The Plug-in supports several formats to export data:
- Plain text format - just plain UTF8 encoded format.
- Markdown format - UTF8 encoded specialized text format, it is compatible with Markdown used by GitHub.
- FreeMind map - XML based format for the FreeMind editor, a popular mind map editing tool, also the format is supported for export by X-Mind editor.
- Mindmup map - JSON based format for the Mindmup online editor.
- PNG image - Rasterized standard PNG image files.
- SVG image - SVG vector image format.
Content alowed in mind maps
Mainly you can keep short texts in your mind maps as topic names but sometime it is useful to keep and another information, the plugin allows to keep below listed information assets:
- Short text - short text in one or two lines as topic name, mainly used as id for the topic.
- Long text - long text information which can be opened and edited in special editor.
- URL link - just URL link to be opened in browser
- File link - link to a file, link to a file, you can add them through special dialog or just drag and drop file from NetBeans project tree to a topic, the file will be opened within IDE as a document
- Jump - link to another topic in the same mind map, it allows to make some navigation in very big mind maps, also routes can be shown and it provides some extra way to represent links between elements.
You can add and edit new topic content through the mind map pop-up menu and if you want remove some content then just open editor for the content and remove all text information.