Difference between revisions of "Talk:Add-ons (Develop)"

From Freeplane - free mind mapping and knowledge management software
(Created page with '---- '''Jokro-2011-11-20''' A new user is helped by more structure to understand what he is doing and why he is doing it. The present description misses this. I therefore propose...')
 
m (Steps to follow for creating the example add-on)
Line 33: Line 33:
 
# Create a new mind map  
 
# Create a new mind map  
 
# Select ''Tools->Developer Tools->Build add-on'' to generate the template.  First a dialog for the name of the add-on displays. Fill in the name ''myAddOn''. Next a dialog displays a log of the actions which generate the template nodes.   
 
# Select ''Tools->Developer Tools->Build add-on'' to generate the template.  First a dialog for the name of the add-on displays. Fill in the name ''myAddOn''. Next a dialog displays a log of the actions which generate the template nodes.   
# The root node automatically fot the name myAddOn and has got a number of attributes. The first attribute is ''name'' with value ''myAddOn''. This is the so-called technical name of the add-on which should not be changed. The root name (core) could be changed. ??
+
# The root node automatically gets the name myAddOn and a number of attributes. The first attribute is ''name'' with value ''myAddOn''. This is the so-called technical name of the add-on which should not be changed. The root name (core) could be changed. ??
# From the other attributes of the root node, at least the version should be filled in. E.g. fill in for version <tt>v0.1</tt> etc.
+
# The other attributes of the root node should be filled; only the last is optional. Version number should start wit v, e.g. <tt>v0.1</tt>. The freeplane number should have the form x.y.z, e.g. 1.2.10; no subversion with underscore is allowed.
 +
# Add a child node of node ''description'', in which you describe the use of the add-on.
 
# The map ''myAddOn'' has a template node ''scripts''. Create a child node with name ''myCoolScript.groovy''.
 
# The map ''myAddOn'' has a template node ''scripts''. Create a child node with name ''myCoolScript.groovy''.
 
# The map ''myAddOn'' has a template node ''zips''. Create a child node with name ''icons''. And create a child of ''icons'' with the name ''mycoolicon.png''.
 
# The map ''myAddOn'' has a template node ''zips''. Create a child node with name ''icons''. And create a child of ''icons'' with the name ''mycoolicon.png''.
 +
# Save the map.
 
# Select (again) ''Tools->Developer Tools->Build add-on''. This will add the required attributes of the script node and proposes proper ''deinstall'' rules (just accept them when you are asked for it).
 
# Select (again) ''Tools->Developer Tools->Build add-on''. This will add the required attributes of the script node and proposes proper ''deinstall'' rules (just accept them when you are asked for it).
 
# Select ''Tools > Developer Tools > Package add-on for publication''. This will create the file <tt>myAddOn-v0.1.mm</tt>
 
# Select ''Tools > Developer Tools > Package add-on for publication''. This will create the file <tt>myAddOn-v0.1.mm</tt>

Revision as of 20:31, 20 November 2011


Jokro-2011-11-20 A new user is helped by more structure to understand what he is doing and why he is doing it. The present description misses this. I therefore propose to replace the current text with the text below. It also might help to add the text and table which is displayed when you install the developer tools.


Preparation: Install developer tools

You will need a recent version of Freeplane and a number of developer tools which are themselves supplied as an add-on:

  1. Update to the most recent Freeplane version
  2. Download and install the Developer Tools from the Add-ons page (follow the installation instructions there). The add-on functions provided will be available in: Tools > Developer tools


Example add-on

The following is an example how to make your add-on. The name of the add-on is chosen to be myAddOn. The add-on will put:

  1. a hypothetical script myCoolScript.groovy in <freeplaneuserdir>/script/myCoolScript.groovy; and
  2. a hypothetical icon mycoolicon.png in <freeplaneuserdir>/icons/mycoolicon.png.


Steps to follow for creating the example add-on

First prepare a directory called myAddOn with the following structure:

  • myAddOn/scripts
  • myAddOn/zips/icons


Second put the above files in this structure:

  1. Copy myCoolScript.groovy to myAddOn/scripts/myCoolScript.groovy.
  2. Copy mycoolicon.png to zips/icons/mycoolicon.png.


Third create and save the map myAddOn:

  1. Create a new mind map
  2. Select Tools->Developer Tools->Build add-on to generate the template. First a dialog for the name of the add-on displays. Fill in the name myAddOn. Next a dialog displays a log of the actions which generate the template nodes.
  3. The root node automatically gets the name myAddOn and a number of attributes. The first attribute is name with value myAddOn. This is the so-called technical name of the add-on which should not be changed. The root name (core) could be changed. ??
  4. The other attributes of the root node should be filled; only the last is optional. Version number should start wit v, e.g. v0.1. The freeplane number should have the form x.y.z, e.g. 1.2.10; no subversion with underscore is allowed.
  5. Add a child node of node description, in which you describe the use of the add-on.
  6. The map myAddOn has a template node scripts. Create a child node with name myCoolScript.groovy.
  7. The map myAddOn has a template node zips. Create a child node with name icons. And create a child of icons with the name mycoolicon.png.
  8. Save the map.
  9. Select (again) Tools->Developer Tools->Build add-on. This will add the required attributes of the script node and proposes proper deinstall rules (just accept them when you are asked for it).
  10. Select Tools > Developer Tools > Package add-on for publication. This will create the file myAddOn-v0.1.mm


Fourth, install and test:

  • Select Tools->Scripts->Install Add-on (or via Tools->Add-ons).

****End Jokro-2011-11-20