[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