Mustafa Görmezer

  • Schrift vergrößern
  • Standard-Schriftgröße
  • Schriftgröße verkleinern
Home

Dynamische Mind Map-Generierung mit PHP

E-Mail Drucken PDF

Der FreemindFlashBrowser scheint einer der ersten Mind Map-Tools zu sein, mit dem man komfortabel und dazu visuell sehr ansprechend dynamisch Mind Maps für die Darstellung im Webbrowser generieren kann. Es hat zwar keine direkte Schnittstelle oder API dazu. Aber wenn man dynamisch eine Freemind XML-Datei (.mm) in PHP erzeugt, kann man den FreemindFlashBrowser zur Anzeige dergleichen verwenden. Das Ganze funktioniert wie folgt:

Was die Entwicklung besonders vereinfacht ist die Tatsache, dass die in der mitgelieferten HTML-Datei (für die Anzeige des Mind Maps im Web) anzugebende .mm-Datei (im XML-Format) nicht unbedingt die Endung .mm haben muss. Wenn man stattdessen .php verwendet, akzeptiert dies der FreemindFlashBrowser. Zudem ist man in der Lage, bei den meisten Webhostern einfach mit PHP das benötigte XML-Konstrukt zu erzeugen. Das einzige Problem ist nur, dass man keine Post-Variablen an diese Datei übergeben kann. Daher muss man sich mit Get-Variablen und damit die Übertragung über die URL begnügen. Vielleicht existiert hier aber noch eine andere Möglichkeit?!

Wenn man dynamische Mind Maps aus Formulareingaben erzeugen will, sollte die HTML-Datei, die auch den FreemindFlashBrowser als swf-Datei enthält, natürlich die Endung .php besitzen.

Ich habe testweise mal die Standard-HTML-Datei um ein Formular erweitert und eine kleine Webapplikation entwickelt, die ein Mind Map über 2 Ebenen erzeugt. Dabei kann man mit dem Formular die Anzahl Knoten in der ersten und zweiten Ebene bestimmen und damit dynamisch eine Mind Map generieren.

Wer sich für das Thema interessiert kann hier als Anregung alle Dateien dazu herunterladen dynamic-freemind.zip oder auf den folgenden Seiten die Quelltexte ansehen.

Quellcode der XML-Generierung

Hier der Quellcode der XML-Erzeugenden .mm-Attrappe:

echo'<map>\n';
echo'\n';
echo'\n';
 20) || ($_GET['knoten2'] > 20)) {
    exit();
  }
  else {
    for ($i = 1; $i <= $_GET['knoten1']; $i++) {
      echo '\n';
      for ($j = 1; $j <= $_GET['knoten2']; $j++) {
        echo '\n';
      }
    echo '\n';
    }
  echo '\n';
  echo '</map>\n';
  }
}
?>
 

Quellcode der HTML-Datei (Anzeige)

Und hier die zur Anzeige im Web benötigte HTML-Datei (modifiziert um ein Formular). Weil die Anzeige von HTML auf der Webseite etwas problematisch ist, öffnet sich ein neues Fenster. Dort einfach im Browser den Quelltext anzeigen lassen.

Man beachte für die Variablenübergabe an die .mm-Atrappe besonders den unteren Bereich (fo.addVariable...).

Zuletzt aktualisiert am Mittwoch, 06. März 2013  

Weiter empfehlen

FacebookTwitterStumbleuponTechnorati

Schnipsel

E-Zigarette in Gefahr

Kaum auf dem Vormarsch - schon wieder ausgebremst. Die E-Zigarette soll als Arzneimittel eingestuft und nur noch über Apotheken vertrieben werden. Hier geht`s zur Petition.

 
Lastpass gefällt

Ich habe in der letzten Zeit mit dem Passwort-Manager Lastpass sehr gute Erfahrungen gemacht. Vor allem gefällt mir die Integration in die wichtigsten Web Browser.

Weiterlesen...
 
3D PDF Reader auf dem iPad

Techsoft 3D hat nach Vorbild des Adobe Readers einen 3D PDF Reader für iOS entwickelt, mit dem man genauso wie auf dem Desktop 3D PDFs, U3D und PRC-Dateien in 3D visualisieren kann. Er ist im Appstore für 4,49 € erhältlich.

Unterstützer

Statistik

Seitenaufrufe : 6374441

Wer ist online

Wir haben 202 Gäste online