FreeMindBrowser

Wiki and mind-mapping are 2 great concepts that can be perfectly combined.

Get this macro to share your mindmaps with the users of your MoinMoin.

Read About FreeMind to get a first impression of FreeMind and to find some good links to more detailed information.

DESCRIPTION

This macro inserts the FreeMindBrowser applet into your page.

The applet tag will only be inserted, if the Formatter is an html formatter.
Otherwise, a normal link to the mindmap file is generated.

If you donot know about FreeMind yet, have a look at About FreeMind.

USAGE

<<FreeMindBrowser( mindmapUrl, width, height )>>

mindmapUrl: url to the mindmap to be displayed

width: (optional) defines the width of the applet; default: 100%
height: (optional) defines the height of the applet; default: 500

EXAMPLES

<<FreeMindBrowser( attachment:freemind.mm, 95% )>>

PREREQUISITES

INSTALLATION

Please ensure that the prerequisites of above are met.

Install the FreeMindBrowser MoinMoin macro like the following:

  1. Place freemindbrowser.jar (either stable or beta) in the /usr/share/moin/htdocs/applets/FreeMindBrowser or wiki\htdocs\applets\FreeMindBrowser directory of your MoinMoin installation.
    E. g. C:\Programs\MoinDesktop_1.3.4-2\wiki\htdocs\applets\FreeMindBrowser. (be careful to put freemindbrowser.java inside applets/FreeMindBrowser!)

  2. You can as well ignore freemindbrowser.html - instead you will use the FreeMindBrowser macro at hand.

  3. Rename FreeMindBrowser_patched.py to FreeMindBrowser.py and place it in the DATA-DIR/plugin/macro/ directory of your MoinMoin instance.
    E. g. /var/wiki/moin/data/plugin/macro/ or C:\Programs\MoinDesktop_1.3.4-2\MoinMoin\macro


The installation can be tested like the following:

  1. Attach an existing mindmap to your local WikiSandBox page, e.g. freemind.mm.

  2. Then add the following macro to your local WikiSandBox page:

[[FreeMindBrowser(attachment:freemind.mm)]]

In the rare case, that attachments are not allowed in your MoinMoin installation, alternatively take an http-reachable url to your mindmap.

Try one of the following http-links to mindmaps (CarlosBandar´s note: I think those are not working, just deliver the map but not within the browser applet!:)

last one should be:

TESTS

Successfully tested with the following environment:


Download & Release Notes

Download

Release Version

Moin Version

Release Notes

FreeMindBrowser_patched.py

1.3

FreeMindBrowser.py has some deficits, take patched version

FreeMindBrowser.py

1.3

MODIFICATION HISTORY

@copyright: 2005 by Jürgen Lind (JürgenLind)
@license: GNU GPL, see COPYING for details.
Version: 1.3.4-1

Patched version by CarlosBandar, that just applied the patches of PeterPfläging and GuoYong. Tested and working.

About FreeMind

FreeMind is a premier free mind-mapping software written in Java.
It also provides an applet, called FreeMindBrowser, that is able to visualize and browse FreeMind mindmaps. Editing FreeMind mindmaps, however, is currently not possible with the FreeMindBrowser applet.

References:

Discussion

Small bug in FreeMindBrowser.py

If you modify the static pages in wikiconfig.py to not point to /wiki, your in troubles with FreeMindBrowser.py macro. Here's a fix as context diff for FreeMindBrowser.py:

*** FreeMindBrowser.py.orig     Tue Nov 15 21:03:28 2005
--- FreeMindBrowser.py  Tue Nov 15 21:06:20 2005
***************
*** 39,45 ****
  class FMBMacro:

      appletClass = 'freemind.main.FreeMindApplet.class'
-     appletArchive= '/wiki/applets/FreeMindBrowser/freemindbrowser.jar'

      widthDefault = '100%'
      heightDefault= '500'
--- 39,44 ----
***************
*** 55,61 ****
          # Check and set, if we have an HTML formatter
          self.isHTML = '<br>\n' == self.macro.formatter.linebreak(0)

!         self.appletArchive = self.macro.request.getQualifiedURL( FMBMacro.appletArchive )

          self.isFatal = False
          self.applet = [] # this is for the applet code
--- 54,61 ----
          # Check and set, if we have an HTML formatter
          self.isHTML = '<br>\n' == self.macro.formatter.linebreak(0)

!         appletArchive= "%s/applets/FreeMindBrowser/freemindbrowser.jar" % (self.macro.request.cfg.url_prefix)
!         self.appletArchive = self.macro.request.getQualifiedURL( appletArchive )

          self.isFatal = False
          self.applet = [] # this is for the applet code

Greetings / (I did include in the patched version; CarlosBandar)

A issue with MoinMoin DesktopEdition 1.5.2-1

self.isHTML will not be set to True because the value of self.macro.formatter.linebreak(0) is not '<br>\n' but '<br />\n'. Here's a fix for FreeMindBrowser.py:

*** FreeMindBrowser.py.orig     Sun Jul  2 00:00:01 2006
--- FreeMindBrowser.py  Sun Jul  2 00:59:09 2006
***************
*** 55,61 ****
          self.args = args

          # Check and set, if we have an HTML formatter
!         self.isHTML = '<br>\n' == self.macro.formatter.linebreak(0)

          self.appletArchive = self.macro.request.getQualifiedURL( FMBMacro.appletArchive )

--- 55,61 ----
          self.args = args

          # Check and set, if we have an HTML formatter
!         self.isHTML = '<br />\n' == self.macro.formatter.linebreak(0)

          self.appletArchive = self.macro.request.getQualifiedURL( FMBMacro.appletArchive )

GuoYong

Thanks Guo! So many time waiting for a solution ... / I (CarlosBandar) included it in the patched version.


I hacked a version that works with 1.8.2 of moin. I hope it helps someone.

56c56,57
<         appletArchive= "%s/applets/FreeMindBrowser/freemindbrowser.jar" % (self.macro.request.cfg.url_prefix)
---
>         # appletArchive= "C:/Python25/share/moin/htdocs/applets/FreeMindBrowser/freemindbrowser.jar"
>         appletArchive= "%s/applets/FreeMindBrowser/freemindbrowser.jar" % (self.macro.request.cfg.url_prefix_static)
120,123d120
<
<         if self.isHTML:
<             self.result = self.macro.formatter.rawHTML( result )
<         else:
131d127
<         if self.isHTML:
148d143
<
152,154d146
<         else:
<             self.applet.append( self.macro.formatter.url( 1, self.mindmapUrl ) )
<             self.applet.append( self.macro.formatter.url( 0 ) )

-- AP

Hi again... I got this file working with moin version 1.9.2 too. The changes are similar to the above (1.8.2) hack. Here it is:

56,59c56,57
<         # Following line works with an alias for '/applets' in apache httpd.conf (on windows).
<         # appletArchive= "/applets/freemindbrowser.jar"
<         appletArchive= "%s/applets/FreeMindBrowser/freemindbrowser.jar" % (self.macro.request.cfg.url_prefix_static)
<         self.appletArchive = appletArchive
---
>         appletArchive= "%s/applets/FreeMindBrowser/freemindbrowser.jar" % (self.macro.request.cfg.url_prefix)
>         self.appletArchive = self.macro.request.getQualifiedURL( appletArchive )
121a120,123
>
>         if self.isHTML:
>             self.result = self.macro.formatter.rawHTML( result )
>         else:
128a131
>         if self.isHTML:
144a148
>
147a152,154
>         else:
>             self.applet.append( self.macro.formatter.url( 1, self.mindmapUrl ) )
>             self.applet.append( self.macro.formatter.url( 0 ) )

Changes since the 1.8.2 version: Got rid of call to 'getQualifiedURL'. It took me a while to figure that out though since I am not familiar with Python.

I have also attached the my version of the file as: FreeMindBrowser_for_1_9_2.py. Please rename to FreeMindBrowser.py before use. I have only tested this on windows (2k3). One more thing to note is that now (for Moin ver. 1.9.2) I had to put the FreeMind jar file in the following folder:

C:\Python26\Lib\site-packages\MoinMoin\web\static\htdocs\applets

And I also had to remove the moin_static alias in my apache httpd.conf file (If you don't have one -- don't worry about it).

-- AP

Problems

I want to use this Marcro with version 1.83 standalone. I applied the patch, but it does not work. Does anybody use this macro with moinmoin v1.83? In addition to that, the syntax changed to <<FreeMindBrowser(attachment:freemind.mm)>>. I changed this. RalfMoll

@RalfMoll, I was able to use this macro with version 1.84 on CentOS by applying the above patch from AP. I can document in more detail if this would be helpful. BenChapman

In the FreeMind tool one is able to insert links to other .mm files. When I use the .jar browser + this macro in a page of my MoinMoin wiki, none of these links work anymore. Is it possible to link to other .mm files using FreeMindBrowser.jar + this macro? Thanks! JenCarlile

MoinMoin: MacroMarket/FreeMindBrowser (last edited 2010-04-01 00:12:27 by 99)