Multicard

Multicard is the result of the Esprit project Multiworks. It provides a hypermedia toolkit that allows programmers to create and manipulate distributed hypermedia structures. Multicard is an open system, meaning that its components communicate using a well-defined protocol, which enables programmers to write their own components that communicate with Multicard components through the same M2000 protocol.

The heart of the hypermedia toolkit is the representation of hypermedia objects (Nodes, Groups, Anchors, Links, Hypergraphs, etc.) together with the associated interfaces to applications, the scripting language and the editable objects. These objects are all implemented in C++ and can be accessed from C++. The M2000 protocol between Multicard and the object-editors allows to open and close documents, retrieve content portions, etc.

Nodes, Groups and Anchors may have scripts attached to them. The scripts extend the behavior of instances of these objects. Scripts are event driven and can communicate throughout the hypermedia application using message passing. The hypermedia authoring tool allows to browse through the group hierarchy, to interactively create hypermedia objects and to edit scripts. The author creates groups and nodes, edits the contents of the nodes using an M2000 compliant editor, creates anchors and links and writes scripts to determine how objects react to certain events.

The M2000 protocol can operate with any editor by means of the M2000 library. An M2000-compliant version of the GNU-Emacs editor is included.

All objects are normally stored as files, but it is possible to replace this storage mechanism by another one, as the messages to open, read, write and close objects are in the M2000 protocol. Multicard has been interfaced with the O2 database at INRIA and with the Ontos database at Bull.