[topicmapmail] Announce: Tm4JScript Released on Sourceforge

Thomas B. Passin tpassin@comcast.net
Fri, 12 Dec 2003 01:25:11 -0500


Alexander Johannesen and I would like to announce the availability of my 
Javascript topic map engine and topic map editor.  The URL is

http://tm4jscript.sourceforge.net

We are calling it version 0.9.  In fact, it is very stable, and there 
have been virtually no changes to the core engine for a long time. 
Alexander deserves the credit for putting the system onto Sourceforge. 
He has done the work of creating and setting up the project, making a 
home page for it using his own excellent topic map system, and making 
the tarball.

The system runs stand-alone in a browser.  It should run anywhere that 
Mozilla runs, and also runs in Internet Explorer in Windows.  If you are 
good with javascript you can get it to do a lot of really nice things, 
such as the bookmarks manager I presented at Extreme 2003.

The engine is based on my reverse-engineering of xtm into an object 
model.  It is a very straightforward design that uses indexes and hash 
tables (well, actually, javascript objects, which are much like hash 
tables or dictionaries) to get performance.  There are a number of 
useful methods that more or less make up for not having a query language.

The system consists of the core engine, utilities code, and the editor 
app. A few other apps are also included in the distro.

I am afraid that documentation is very limited so far, but at least 
there are basic instructions to get you started with the editor.  In 
fact, there is even a topic map application that overlays the 
instructions to improve its navigation.  I hope to be able to add to the 
documentation now that most of the work on my Semantic Web book is done. 
  I will be happy to offer help and advice as my time permits.

 From the documentation:

"Purpose

JTMA was developed with three goals:

     * Help create topic maps by hand.
     * View topic maps.
     * Experiment with user interfaces for topic maps.

JTMA is written in Javascript, and is suitable for topic maps up to 
several thousand topics and associations, depending on the speed of the 
computer and the browser model. For larger maps, execution may be too slow.

Requirements

     * Computer clock speed is best greater than 300MHz.
     * Browser: Mozilla 0.98 or greater (or Mozilla-based browser like 
Phoenix) or Internet Explorer 5.5 or greater. Mozilla is preferred 
because it runs the code much faster. Mozilla also runs on non-Windows 
platforms."

I should update the reference to Phoenix, which has been renamed to 
Firebird.

One of the goals behind the editor was to give the user access to 
virtually every construction (topics, roles, etc) and to see each one in 
its context.  That is a very difficult proposition, and tends to lead to 
  a busy interface.  I beg your indulgence about this, and I will 
welcome any creative ideas for improving the interface while still 
giving in-context access to everything.

The system's native file format is a proprietary javascript format.  It 
can write XTM files directly, and it comes with an xslt stylesheet that 
converts xtm fo the native format.  By this stylesheet I converted Steve 
Pepper's well-known Opera topic map to the native javascript format, and 
it is included in the distro.

I have about half a dozen applications for the system, including the 
editor and the bookmark manager (not all are in the distro). I have used 
it to collect and organize reviewers' suggestion for my manuscript and 
to capture my responses - that has been a godsend.

I will not say it is easy to write a complex HTML + javascript page, at 
least not until you get some experience under your belt.  But once you 
get used to it,  it works pretty well.  Also, the system was written as 
much like a Python app as possible.  In consequence, an earlier version 
of the engine  was ported to Python in one long evening.  So if you want 
a server version, it will not take much doing.

If you want an authoring tool for experimenting with hand-authored topic 
  maps, I do not think you can do better than TM4Jscript.  If you want 
to whip up apps that run in a browser, again you cannot do better, as 
long as you are willing to learn some javascript and preferably some CSS 
for creating good-looking html pages.

The advantage of using a browser is that you do not have to create 
infrastructure for the user interface,and if you want to give to someone 
else, they do not have to install special software.

TM4JScript is an open source project, and basically you can do whatever 
you want with it.  We may change or modify the license a bit, but it 
will remain open.

Enjoy!

Tom P