How To`s
    This How To`s Page wants to document our efforts on the socalled quick and dirty 
    workarounds for every issue which may arise during your work with DeepaMehta.

Build the latest DeepaMehta source code and make use of our Web Applications

This may be useful for people who want to use the latest code from between our releases or want just the easiest update process for their installed DeepaMehta. We therefore make use of a command line tool, which you have to install in before. If you installed a tool like subversion, you may want to check out our code with one of the lines you find at the following webpage.

You have Java 1.4 installed

To get started run the following lines from your command line to build DeepaMehta from source code.

 cd trunk/
 ./run.sh build
 ./run.sh install 

If you additionally want to use DeepaMehta with web-frontends you have to configure the usage of our mysql backend. Therefore you have to enter the following commands which will guide you through a dialogue to configure a new DeepaMehta instance on your machine with mysql under the hood. Just make sure you have mysql installed and have the root password available then the script will do everything for you. Finally just enter the path to your tomcat server.

 ./run.sh newinstance 
 ./run.sh initialize

You have Java 1.5 or newer installed

Instead of checking out from a command line you can use the favourite IDE of your choice. Within the trunk there is a pre-configured Eclipse Project. This will help you to get through the following steps a bit faster, cause running ./run.sh build from a command line will return an error where it is written in the first

 "de.deepamehta.service.db.AutoFreeConnectionStatement is not abstract and does 
 not override abstract method isPoolable() in java.sql.Statement"

then you can get either download and install an older version of java or proceed in two ways from here. Take the one you are more familiar with

1) Open your DeepaMehta Home directory in your favourite Java IDE and auto-complete the code for the classes

  de.deepamehta.service.db.AutoFreeConnectionStatement.java
  de.deepamehta.service.db.AutoFreeConnectionPreparedStatement.java 

2) Download the following two files and copy them into your DeepaMehta Home directory within the folder develop/src/de/deepamehta/service/db/

AutoFreeConnectionStatement.java for Java 1.5.

AutoFreeConnectionPreparedStatement.java for Java 1.5

After you have done that, you first have to ./run.sh build otherwise you will get a message saying "ClassNotFoundException".

Now you are ready for a successful ./run.sh from the latest code source and you can update the latest features to test through svn update

Build and deploy our web example applications

The web applications may be another how to, but just shortly about that what comes to my mind.

To control your Tomcat you should use the following commands from within your DeepaMehta Home directory, cause otherwise DeepaMehta won't find your icons while started from Tomcat.

 ./run.sh tomcat-start
 ./run.sh tomcat-log
 ./run.sh tomcat-stop

If you want to deploy and modify some of our pre-delivered example applications you can build and deploy the right into tomcat through running, for example the following lines out of your DeepaMehta Home directory.

 ./run.sh build -f install/examples/dm-topicmapviewer/build.xml or
 ./run.sh deploy -f install/examples/dm-topicmapviewer/build.xml

For further informations on our ./run.sh script, please read the, it cover more details.

Malte 13-Feb-2009 14:29 GMT

Testdrive the PDF Viewer in your personal DeepaMehta installation

1) Backup your existing DeepaMehta App

 deepamehta-home/install/client/DeepaMehta.jar

2) Download this experimental DeepaMehta App which supports a new visualization property "Page" and copy it at

 deepamehta-home/install/client/DeepaMehta.jar

3) Download the PDF Custom Topic pdfTopic.jar

4) Download the PDF Renderer PDFRenderer.jar library and place it into your deepamehta-home/libs directory

5) Create a custom topic as a 'subtype' of topictype document and name it e.g. PDF. and enter the name of the custom implementation class, as described at the file's download page (at step 3)

6) Create a custom "Property Value" of name "Page" for the "Visualization Property" at Topic "TopicType" itself (Same Level as e.g. Property Value: "Multiline Input Field")

Usage 7) Drop a 'small' pdf document into your map and retype it into a your just before created "PDF" TopicType.

 Note: Currently you cannot change the underlying file/document once a "PDF" Topic was created. 

addtionallty, make sure that you have entered the path of your pdfTopic.jar into the appspath of your build.xml file.

nice greetings from allepey, sitting in front of a fan while sweating liters of water ;)!

thanks for info about the tickets and i wish you all a happy and successful start for the cebIt!

Malte 02-Mar-2009 06:42 GMT

Administration & Configuration

Hints for embedding

There are different ways to use your DeepaMehta installation

Hint 1: You can embed the client applet in your own webpage by using the <object> tag. Like here or here.

Hints on a server environment

Hint 2: If you want to run the DeepaMehta server in an headless environment, i.e. without a graphics environment you must set the java.awt.headless system property when starting the server. This can be done by putting the following line in the "dms" target of build.xml (section )

<sysproperty key="java.awt.headless" value="true"/>

Hint 3: If you want the DeepaMehta server to start automatically while booting the server machine you must put the commands "cd <DeepaMehta>; ant dms" in your startup scripts. How this is done depends on your server platform (Windows, Linux, Mac OS, ...)

Setup smtp-Server

Go to the "Administration" workspace (via popup menu) and click the "CorporateWeb Settings" topic. Enter the SMTP server (e.g. "mx.provider.de") in the appropriate field.

Note: the "Administration" workspace appears only if you are a DeepaMehta administrator (e.g. "root"). => Meanwhile I've set a SMTP server, so the mail feature should work now!

How to delete a topic type from the menu?

(which menu is meant, my own command menu) There are two ways to remove a topic type from the menus.

  1. Delete the topic type permanently -- If you don't need the topic type anymore you can delete it permanently by revealing it (Search -> Type Builder -> Topic Type) and performing its "Delete" command. (For help about revealing the type, see the "Revealing Content" section of the User Guide.)
    • Note: you can't delete a topic type as long as topics of that type still exist in corporate memory.
    • Caution: don't delete a topic type as long as topics of a subtype exist (Future versions of DeepaMehta will prevent this)
  2. Delete the "Type Access" assignment -- If you want remove the topic type just from your menu, delete the aqua blue association of type "Type Access" between the topic type and your user topic. This way the topic type remains in corporate memory (e.g. to be used by other users). To reveal the "Type Access" association in question, first reveal the topic type (Search -> Type Builder -> Topic Type), then reveal the association (What's Related? -> Type Access).

Generally the "Type Access" associations control which users have access to which types -- concretely which types appear in the users "Search", "Create" and "Retype" menus. The "Access Permission" property" of a "Type Access" association controls in which menus the type appear. There are 2 permission values: "view" and "create" (and a third not explained here). "view" let the type appear in the users "Search" menu and "create" let the type appear in all of the 3 menus.

"Type Access" associations assign types to users and to workspaces. Types assigned to users are called "personal types". If a user creates a type it is a personal type. A user has access to its personal types as well as to the types assigned to workspaces he is a member of. Thus, the "Type Access" mechanism provides the basis for permission control in regard of shared workspaces and collaboration.

Can't get rid of topic deleted in other window?

Workaround: close and reopen the topic map which contains the "broken" topic. It should be vanished.


What is it about a Forum in DeepaMehta

To read the Messages just right-click in the Forum Map and then click "Show Messages". As on every topic map, you have to create your own point of view of the data. Then you get a result container with nice answered questions for the usage of DeepaMehta. This Document you are reading, is based on the entries of our Forum. The Forum is exported/published automatically to the DeepaMehta Website.


Import selected Wordpress posts to DeepaMehta

0. Introduction

DeepaMehta's affordance of extremely immediate bimodal manipulation of topics/ texts (namely viewing and connecting/ rearranging them) is IMO so rewarding that it justifies an import procedure which is currently still very cumbersome, especially if done for the first time. (More here.)

My report is based on the following scenario

  • a running DeepaMehta installation (described in the User Guide),
  • Wordpress locally installed (probably using the same xampp and the same mysql as DeepaMehta);
  • an SQL frontend such as heidiSQL, and a query snippet like catselect.sql,
  • access to a Unix shell for a single execution of an awk command (perhaps on a friend's MacOS X), or a locally installed (g)awk on Windows, and an awk file like wp2dm.awk, uploaded there;
  • additional stuff types.xml and a folder called icons to append and zip together;

The import procedure involves the following steps:

  1. fetching the posts from Wordpress's MySQL database using sql front and exporting them
  2. transferring them to a platform offering the awk program, executing the awk command and transferring the resulting topicmap xml file back,
  3. adding stuff that seems to be required for DeepaMehta import (no idea why),
  4. finally importing the map in DeepaMehta.

1. Fetching from MySQL

After the SQL frontend program HeidiSQL is installed and started,

  • connect to Wordpress's MySQL database (its name and the root password can probably be found in (Program Files)\xampp\htdocs\wordpress\wp-config.php );
  • in the explorer pane on the left, expand the wp database by clicking on the + sign, > and click wp_categories,
  • in the main pane, click the data tab > click cat_name to sort and find the category that you want to have; note its number in the column cat_ID left to it, for later use;
  • click the Query tab > click the folder icon "Load SQL from textfile" > choose catselect.sql
  • insert the cat_ID noted down earlier, just before the semicolon at the end of the long select statement;
  • click the blue arrow "Execute SQL...",
  • from the menu bar, click Export > Export data... > Filetype: XML file > (accept the suggested name) SQL-query.xml.

2. Transfer for awk and back

(This step would perhaps be simpler with an XSLT transformation but I hope it will be altogether hidden behind a nice import interface.)

  • Make sure that the file wp2dm.awk is uploaded to the site where awk is installed.

(If your browser insists that this should be of filetype .xml you may have to rename it back.)

  • File-transfer the export file SQL-query.xml to this site, using the option ascii;
  • in a command shell, execute
     awk -f wp2dm.awk SQL-query.xml > map.xml

(it is assumed that all 3 files are in the home directory which is current at the prompt)

  • File-transfer the generated topicmap file map.xml back, again with option ascii,

3. Add some stuff

  • Open the add-on file called types.xml in Notepad and select and copy all lines except the first two and last one, i. e. from <topictype through </assoctype ;
  • Paste them right before the last line of the downloaded map.xml, i. e., before </topicmap
  • Search and replace all occurrences of &lt; by < and of &gt; by >

(this was necessary because the HeidiSQL preferences checkbox of "Convert HTML entities..." seems to be ignored; someone who is familiar with the unix command line will probably pipe the awk output to a small sed command).

  • save the resultant file using save as... with the options filetype: all files and Encoding: UTF-8 (acknowledging the replacement warning);
  • Zip the map file together with the folder icons into a zip file called, say, Desktop.zip,

4. Import the topicmap

  • Start DeepaMehta using the normal (albeit very awkward) procedure (Start > All Programs > Accessories > Command Prompt > cd (Driveletter):\Dee (tab key), ant dm > Username root, Passwort empty enter.
  • In the dropdown selector in the upper left, select the orange person icon root
  • Rightclick the empty backdrop and select Import Topic Map,
  • In the Open dialog, navigate to the import file, e. g. using the house icon for the desktop and scroll through the funny arrangement of files, click Desktop.zip and click Open (doubleclick does not work)
  • Bring the black command prompt window to the foreground to see if there are errors. If there are errors, the procedure must not be repeated until after DeepaMehta is closed and restarted, otherwise there would be no reaction at all (neither errors nor success).
  • If the messages read like topicmap import complete plus some lines of statistics, go to the DeepaMehta window again.
  • Look for the label of the newly imported topicmap, whose icon is probably hidden under the upper left arrow button. Drag it down, doubleclick it and - hopefully your're done!.