Difference between revisions of "How to publish add-ons"

From Freeplane - free mind mapping and knowledge management software
m (Text replacement - "freeplane.sourceforge.net" to "www.freeplane.org")
 
Line 11: Line 11:
 
There are many places where you can publish your packaged add-ons:
 
There are many places where you can publish your packaged add-ons:
 
# In opposite to Github Bitbucket and SourceForge provide download pages.
 
# In opposite to Github Bitbucket and SourceForge provide download pages.
# Freeplane developers have access to the [http://freeplane.sourceforge.net/addons/ Freeplane webserver].
+
# Freeplane developers have access to the [http://www.freeplane.org/addons/ Freeplane webserver].
 
# Maybe you have your own web space somewhere
 
# Maybe you have your own web space somewhere
 
# As a last resort you can upload an packaged add-on as an attachment of a forum post.
 
# As a last resort you can upload an packaged add-on as an attachment of a forum post.
Line 22: Line 22:
  
 
# create a downloadable file with versioning information in one of the two formats described below,
 
# create a downloadable file with versioning information in one of the two formats described below,
# Freeplane will find a "version.properties" or "version.txt" file if it located directly on the add-on's homepage like the one of the [[Add-ons#Add-on_Developer_Tools devtools add-on]]: [http://freeplane.sourceforge.net/addons/devtools/version.properties devtools/version.properties].
+
# Freeplane will find a "version.properties" or "version.txt" file if it located directly on the add-on's homepage like the one of the [[Add-ons#Add-on_Developer_Tools devtools add-on]]: [http://www.freeplane.org/addons/devtools/version.properties devtools/version.properties].
 
# If the file has a different name or location you have to specify the URL as the ''updateUrl'' of the add-on map's root node, like http://my.addon.com/path/to/version.properties.
 
# If the file has a different name or location you have to specify the URL as the ''updateUrl'' of the add-on map's root node, like http://my.addon.com/path/to/version.properties.
  
Line 50: Line 50:
 
==Register your add-on on the Add-ons Wiki page==
 
==Register your add-on on the Add-ons Wiki page==
  
Add your add-on to the [http://freeplane.sourceforge.net/wiki/index.php/Add-ons add-on wiki page]. You can generate an appropriate text via ''Tools > Developer Tools > Generate add-on documentation''. Check if all links are correct (download link, add-on' and author's homepage, image).
+
Add your add-on to the [http://www.freeplane.org/wiki/index.php/Add-ons add-on wiki page]. You can generate an appropriate text via ''Tools > Developer Tools > Generate add-on documentation''. Check if all links are correct (download link, add-on' and author's homepage, image).
  
 
==Announce the new add-on==
 
==Announce the new add-on==

Latest revision as of 19:13, 18 November 2018

These are the steps to publish an add-on:

Put the source code under public version control

To facilitate collaboration and continuous improvement put the source-code under version control in a public Github, Bitbucket or SourceForge repository. If you want you could contribute to the central Freeplane add-on repository (either as a Freeplane developer or via pull requests). In most cases you will have your own repository.

Hint: Check the license of your add-on. If you have chosen the GPL (as recommended) you have to provide the source code with the add-on. If you have no compiled .jar or .class files the packaged add-on contains all sources in principle - but you should rather make the whole directory structure accessible that makes up your add-on.

Provide your add-on for download

There are many places where you can publish your packaged add-ons:

  1. In opposite to Github Bitbucket and SourceForge provide download pages.
  2. Freeplane developers have access to the Freeplane webserver.
  3. Maybe you have your own web space somewhere
  4. As a last resort you can upload an packaged add-on as an attachment of a forum post.

Add-on updater support

Freeplane periodically checks for add-ons updates but you can also do that directly via Help -> Check for updates.

To enable update check for your add-on you have to

  1. create a downloadable file with versioning information in one of the two formats described below,
  2. Freeplane will find a "version.properties" or "version.txt" file if it located directly on the add-on's homepage like the one of the Add-ons#Add-on_Developer_Tools devtools add-on: devtools/version.properties.
  3. If the file has a different name or location you have to specify the URL as the updateUrl of the add-on map's root node, like http://my.addon.com/path/to/version.properties.

.properties file format

Informations are stored as key=value:

version=x.y.z
downloadUrl=http://direct.link.to/download
changelogUrl=http://link.to/your/changelog

The version property is mandatory, changelogUrl is optional.

If the version number in this file is higher than the version installed by the user, he will be prompted to go to the downloadUrl (or the add-on homepage by default) if he wants to download the latest release.

.txt file format

This is the native Freeplane versioning format that is also used for Freeplane updates:

=========
x.y.z
=========
your changelog here

Where x, y and z are your version numbers (the '======' lines are mandatory).

If the version number in this file is higher than the version installed by the user, he will be prompted to go to your homepage if he wants to download the latest release.

Register your add-on on the Add-ons Wiki page

Add your add-on to the add-on wiki page. You can generate an appropriate text via Tools > Developer Tools > Generate add-on documentation. Check if all links are correct (download link, add-on' and author's homepage, image).

Announce the new add-on

Do not forget to post about your new add-on in the Freeplane Open Discussion forum. (As a temporary solution you could upload the add-on as an attachment to your post if you have no better download location yet.)

If you can't continue to maintain an add-on

  • please try to find somebody who likes to adopt your package in the forum.
  • If you haven't done so make the source code available now.