SYNOPSIS

Invocation of the work-bench

   tm <command line switch>...

   # interactive version using persistent local store
   tm --mapsphere=file:/tmp/

   # using remote store
   tm --mapsphere=http://host:13131/

   # batch version
   cat commands | tm -

   # using extensions
   tm --source '^dns:'=TM::Virtual::DNS --extension ....

   # providing your own plugins
   tm --plugin=/some/directory/ --plugin=/some/other/directory/

Commands within the work-bench

# getting help tm> help this command tm> help tm all help on the work-bench tm> help tau help on Tau expressions

# reading in commands tm> do <file> execute a history (config) file

# listing all loaded plugins tm> plugins:

# deploy implementations tm> source /<regexp>/ <package> load the package and register it as source implementation tm> filter /<regexp>/ <package> load the package and register it as filter implementation

# dealing with history tm> history show some past commands tm> !<integer> execute command with nr <integer> in history tm> <cursor-up> or <cursor-down> get previous/next command in the history (if Term::ReadLine is installed)

# doing several things in sequence tm> <cmd1> ; <cmd2> ; ... do all commands in a sequence

# getting out tm> exit leave the bench tm> quit ditto tm> ^D ditto (Control-d)

# making comments tm> # nice weather today is ignored

DESCRIPTION

This simple, text-oriented user interface gives access to some Topic Map functions. This program is mainly thought for quick prototyping and testing Topic Maps and/or \s-1TM\s0 software, not so much to provide eye-candy.

There are two modi operandi:

batch

Whenever you invoke the program with the parameter \*(C`-\*(C' then it will expect commands coming from \s-1STDIN\s0. It will process them one by one and will then terminate. cat my-commands | tm -

interactive

If you invoke the program without a parameter tm then you will be welcomed by a command prompt. Type 'help' within this shell to get an overview over available commands. See TM::Tau for information about the language.

OPTIONS

Following command line switches are understood by the program:

history (boolean, default: on)

If this option is turned on, a history file will be consumed before the interactive loops starts. At the end of the session the history will be updated. See \s-1FILES\s0 for details on the location. Note: History handling only applies to the interactive mode. Still, nothing can stop you to take a history file (which contains simply lines of commands) and pipe it into this program: cat myhistory | tm -

source (default: undef)

This multiple option allows to add new map implementations for resourceable maps. To add, for instance, a virtualized map covering the \s-1DNS\s0 (domain name service), you would add --source '^dns:'=TM::Virtual::DNS The first value is a regular expression which specifies under which circumstances the processor is supposed to use that extension if it parses a source as part of a Tau expression (TM::Tau). The other value is the name of the package which is associated with that pattern. The package is 'use'd at startup time, a warning will be issued if that fails. Several such extensions can be provided. There is no order which can be controlled.

filter (default: undef)

This multiple option allows to add new filter implementations. --filter '^stats:'=TM::Tau::Filter::Statistics'

plugin (default: none means take the installed ones)

This multiple option allows to override and specify the directories where plugins are searched for. If you specify one, then none of the default ones will be loaded!

mapsphere (default: undef)

This \s-1URL\s0 defines where the background map store has to persistently live in which the maps are stored and from which they can be retrieved later. If it is left undefined, then the store will be simulated in memory only. In the local file system case (using a \s-1URL\s0 like \*(C`file:/tmp/\*(C'), all data will be stored in the local file system. If you happen to have the server package TM::Server installed, then you may also provide a \s-1URL:\s0 http://my.machine.org:13131/ In that case all maps would be stored and retrieve from there. Controls the file name where the log messages should be written to. This mainly applies to debugging \s-1TM\s0 components as all error messages will be output directly.

loglevel (default: \s-1INFO\s0)

The log level can be set to any of the following values: \s-1OFF\s0 \s-1FATAL\s0 \s-1ERROR\s0 \s-1WARN\s0 \s-1INFO\s0 \s-1DEBUG\s0 \s-1ALL\s0

help

...does hopefully what you would expect.

FILES

The interpreter will look for history files:

      $ENV{HOME}/.tm/history
      $ENV{HOME}/.tmhistory
      ./.tmhistory

in this order taking only the first it will find. It will only use the last 100 lines.

AUTHOR INFORMATION

Copyright 200[1-68], Robert Barta <[email protected]>, All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. http://www.perl.com/perl/misc/Artistic.html