MMBase Glossary


+1

See Also vote.

bidirectional

A value for the `dir' attribute of reldef and insrel nodes. It only says something about the visibility of the relation. Every MMBase relation is bidirectional in the sense that it has a clearly defined source and destination, but that it not meant when we talk about `bidirectional' relations in MMBase.

See Also unidirectional, reldef, insrel.

bridge

The bridge is the set of Java interfaces which are to be used to talk to MMBase. If one uses the bridge, all actions are authorized by the security system, which does not happen if one talks to the core of MMBase directly.

Templating languages should communicate through the bridge, and for example the MMBase Taglib is doing this.

There is currently one `basic' implementation of the bridge, and also one alternative implementation which makes it possible to talk to a `remote' MMBase by remote method invocations.

See Also Remote MMBase Cloud Interfaces, MMBase Cloud Interfaces, core, MMBase tag library.

builder
The term builder is used when one speaks about the object cloud and its representation in the database.

See Also node manager, object type.

cloud

See Also node.

cluster node

Complicated database queries do not give back simple nodes, but fields from several tables. A record from such a table join is represented by a 'cluster node'. A cluster node is a special kind of virtual node.

See Also virtual node.

committer

An MMBase developer with CVS committing access.

See Also vote, Concurrent Versions System.

Concurrent Versions System (CVS)

Open Source version system, which is used to administrate MMBase source codes. Typical for CVS is that it is possible to use it without acquiring locks on files (which is the way it is used for MMBase). This means that files can be edited simultaneously by different people, but also that the risk for 'conflicts' arises (if a patch cannot be made automatically).

The MMBase CVS repository is hosted on the mmbase.org server.

See Also vote, module.

context
core

See Also bridge.

developers list

The developers@mmbase.org mailing list, sometimes shorthanded to dev-list. This is the most active MMBase mailing list, which is used by the developers community to discuss and answer questions about technical issues.

Information about the subscription and about other mmbase mailing lists can be found on the mmbase web-site.

See Also vote, Internet Relay Chat.

Don't Panic!

An exception from an edit wizard. It is called like this, because the error page of an editwizard is (was?) introduced with these big friendly letters.

Normally, but a bit unexpectedly, this is read as the completely opposite advice.

This is a reference to the Hitchhiker's guide to the Galaxy which according to the book of Douglas Adams had these words written on the cover.

See Also Editwizards.

Dove

Dove is a protocol to receive a part of the MMBase cloud in XML, make changes to it, and send it back. It was inspired by the SOAP protocol (and hence the name Dove, which is a brand of soap), but sadly is not compatible with it.

It was created for use by the editwizards. There is also a Dove servlet, which is not used by the editwizards, but which one could use for similar purposes.

See Also Editwizards.

Editwizards

Editwizards are `task oriented' content editors. Tasks are defined by XML and could for example be something like `create news articles and relate one author and several images to them'. Editwizards are not `generic' editors, which means that they not automaticly allow for creating all possible types of relations, though some parties have been creating tools to automaticly generate all possible editwizards.

Editwizards communicate with MMBase by the 'dove' protocol.

See Also Dove, Don't Panic!.

inheritance

MMBase supports inheritance. This means that every `news' node is also an `object' node. You can also extend your `mynews' builder from the `news' builder. All fields from news are then inherited to mynews, and mynews nodes can be treated as (because they are) news nodes.

See Also builder.

insrel

A relation instance. This is special kind of object type which contains relation objects.

See Also builder, object type, reldef.

Internet Relay Chat (IRC)

The channel #mmbase of the Slashnet IRC network is an active scene which is used by MMBase developers to discuss MMBase in a casual way. It is also much used to get help for installation and implementation issues.

See Also developers list.

MMBase

Very object oriented open source content management system based (a.o) on java servlet technology.

See Also Everywhere else.

MMBase Cloud Interfaces (MMCI)

See bridge.

MMBase Foundation

The MMBase foundation covers the non-technical issues with regard to MMBase. The tasks of the foundation includes organizing MMBase Events, facilitating communication between MMBase users, providing management information about MMBase in presentations and brochures, etc. etc.

MMBase Management Committee (MMC)

MMBase committers who are supposed to meet every Thursday to talk about MMBase.

MMBase tag library (MMBase taglib)

A taglib implementation for MMBase. Tags to access MMBase data, but also more general tags. It consists more or less a complete (however simple) language. The taglib can be used in combination with pieces of Java in your JSP pages.

See Also tag library.

module

See Also Concurrent Versions System.

node

MMBase objects are generally referred to as 'node', especially in the bridge. A normal MMBase node corresponds to one record in the database (in the table(s) associated with the builder). We recognize also 'cluster nodes' and 'virtual nodes'.

Every Node is uniquely (inside the MMBase instance) identified by a node number. In editors this number field is sometimes even be indicated with 'Object'.

See Also cluster node, virtual node, bridge, object.

node manager
The term nodemanager is used in when one speaks about the functionality of the bridge.

See Also builder, object type, bridge.

object

See Also node, builder, inheritance.

object cloud

See cloud.

object type
The term is used when one speaks about information analysis.

See Also builder, node manager.

path

A list of steps. The definition from the bridge's javadoc follows. A comma separated list of node manager names which specifies the path that should be followed. It is possible to explicitly specify a relation manager that should be used to go from one node to an other. If no relation manager is specified between two nodes, all possible relation managers that can be used to go to the next specified node in the path are followed.

See Also Search Query, step.

relation

See Also insrel, reldef, typerel.

reldef

The builder defining relation roles. It has several fields, which are not all equally important. The most important fields are `sname', `dir' and `builder'. `sname' is the identifying name of this role. `dir' specifies if relations with this role are uni- or bidirectional, and `builder' defines the relation builder (so the actual fields the relations has, and in which table the relations will be stored).

`sguiname' and `dguiname' can be used to attribute names to the source and destination sides of the relations, which can be used in GUI interfaces to describe the relations. The remaining field is `dname' which has no real use. It's original idea would be the `role' as seen from the destination node, but this is not used (in stead, to define that relations must be followed in a certain direction the search direction is stated explicitely).

See Also role, , , path.

Remote MMBase Cloud Interfaces (RMMCI)

An alternative implementation of the bridge. Can be used to implement life/staging MMBase's, but can also be useful to inspect/test a running MMBase, because it can run stand alone, and talks by remote method calls to an MMBase instance.

See Also bridge, Web in a Box.

role

The name of an reldef object. Practicly, it serves as extra way of distinguishing relations, and connects a relation builder to it. One could for example define the role `author' (by creating a reldef object). This role could then be used to allow relations between news and people.

The most often roles are `related' and `posrel', which both lack any real-life semantics.

Two `related' nodes are just that. Two `posrel' related nodes are also just related, but to the posrel role normally the `posrel' relation builder is associated, which allows for one extra field in the relations; the `pos' field with integer type, which makes it possible to order relations.

See Also reldef, typerel.

SCAN

The original MMBase template language. An interpreted language characterized by several parse stages of the source. Commands, parameters and variables are recognized by $-symbols. SCAN HTML pages use to be mapped to `.shtml'.

Use of SCAN is nowadays discouraged in favor of more modern and standardized scripting manner like JSP and (MMBase) taglib.

Because the long history of SCAN, SCAN-specific legacy code can still be found on a lot of places in the MMBase core code. Even the bridge way to handle with `MMBase modules' is influenced by SCAN.

See Also MMBase tag library, core.

Search Query

MMBase has a completely abstract way of querying its storage layer. This allows for a great deal of database independency, and also for efficient and object oriented manipulating of search queries. The other option is to use the String oriented SQL language, and this was tried in MMBase < 1.7, but was abandoned as non-feasible in a database (or even storage) independent product as MMBase is.

See Also Structured Query Language, storage, step.

step

One of the items of a path in a query. You could often read it as `database table' or `builder'. Step is an abstraction of this in the Search Query framework of MMBase.

See Also Search Query, path.

storage

MMBase has an abstract `storage' layer, which is used for persistency of MMBase objects. Currently only database storages are implemented so you can safely read `storage' as `the database which MMBase is using'. There are several types of databases which are supported however, most notably Informix, MySql, Postgresql and HSql.

See Also Search Query.

Structured Query Language (SQL)

This is the `general' language to talk to databases. The common denominator of all databases in SQL is actually very small, which largely limits its use for database independent products like MMBase.

To work around the babylon of SQL dialects, MMBase makes use of Search Query objects.

See Also Search Query.

tag library (taglib)

A Tag Library is a SUN defined way to define extra XML-like tags. A tag library is implemented in Java and currently only available in mixture with JSP-pages.

See Also MMBase tag library.

temporary cloud project (TCP)

An XML way to add content to an MMBase cloud. It is hardly used anymore.

See Also XML importer, SCAN.

typedef

In MMBase object types are objects too. These nodes are stored in the `typedef' builder. It generates a small chicken/egg problem because the typedef type itself is also present aa a node of itself. (Normally the typedef node will have to have number 1)

typerel

Typerel is the MMBase builder which defines the allowed relations. If for example you want to create a certain relation from news node to an URL node, then a corresponding typerel record, which allows that must exist.

Inheritance is taken into consideration, so if you allow from object to object (with a certain role), then every kind of relation (with that certain role) should be allowed (because all node types extends object). It is by the way usually not very prudent to actually do this, because allowing every relation will often enforce MMBase to do very complicated queries, which can be very bad for performance.

See Also inheritance, relation, role.

unidirectional

A value for the 'dir' attribute of reldef and insrel nodes. It only says something about the visibility of the relation. A unidirectional relation is not visible from the destination node.

See Also bidirectional, reldef, insrel.

virtual node

A non-persistent node, which means that you cannot `commit' such a node. Generally no builder xml is associated witch such a node.

See Also cluster node.

vote

Major decisions on MMBase implementation are done by voting by committer on the developers list.

See Also +1, committer, developers list.

Web in a Box (WIAB)

A packaged content management system based on MMBase. Typical for WIAB is a fixed object model and a distinction between life and staging environments in two separate object clouds. It was developed for the Amsterdam municipal by Framfab but is maintained by Finalist now.

See Also Remote MMBase Cloud Interfaces.

XML importer

A way to synchronize data from another source with MMBase data. This happens in a fuzzy way, to avoid duplications because of minor inconsistencies in the source data.


This is part of the MMBase documentation.

For questions and remarks about this documentation mail to: documentation@mmbase.org