MMBase Architectural Overview


MMBase is a general purpose object oriented content management system, which is implemented in Java. In its object orientation MMBase provides an Object Relation Mapping (ORM), that has much in common with Hybernate

MMBase operates as a web-application which can be plugged-in at an application server like Tomcat, Orion, Resin, WebSphere, Jetty or IIS.

Note

The main difference between a webserver like Apache and an application server is that an application server is capable of executing server-side functionality like programs written in Java. The application servers on which MMBase can be plugged in have to support Java and Java Server Pages.

This document provides an overview of the MMBase architecture. Each component in the architecture is described. Suggestions for further reading are given. The MMBase architecture can be subdivided into the following layers.

  • Database Access

  • MMBase Core

  • Security

  • Bridge

  • Plugins

  • Components and the Component Framework

  • Applications and Contributions

At the end of this document the two main applications build on top of MMBase will be discussed: Didactor, the Electronic Learning Environment, and the CMS Container, an out-of-the-box portal implementation for enterprise content management that complies with the JSR 168 portal standard.

MMBase is an object oriented content management system. Content is stored in objects. Objects can be connected to other objects by relations. These relations are also objects, which can also contain content. Next to containing content, objects can also have functionality. E.g. the image object has the functionality to convert and scale images. The MMBase Core provides the mapping from the relational database layer to the object oriented layer. It is capable of:

[TO DO: write document on Transactions and Multicast.]

MMBase offers an elaborated security layer for authorization and authentication. Authorization tells what a user is allowed to do. Authentication tells how a user can log on to an MMBase website. The security models available in MMBase 1.6 are:

To learn more about security see the The MMBase Security Framework, Installing and using Context Security, Installing and using Cloud Security in the Administrator section.

There exist a growing list of plugins which add functionality to the MMBase Core. The most important plugins are listed below.

Didactor is an e-Learning software platform (ELO) that is build on top of MMBase. With an ELO educational content can be provided to students together with all necessary tooling to follow courses online, make assessments and develop competencies. http://en.wikipedia.org/wiki/E-learning

A special feature of Didactor is that it uses the MMBase treepart / leafpart functionality. By this default functionality can be adjusted on each desired level by just placing files. Didactor already makes use of an early version of the MMBase component framework and it contains the following components:

  • address

    list of contacts for use with Didactor email and agenda

  • agenda

    allows students to make individual, workgroup and class appointments

  • aselect

    authentication based on the Surfnet authentication application

  • assessment

    students defines goals and problems, and by means of self-assesments works on these problems. The self-assessments are reviewed by a coach.

  • chat

    online consultations of colleagues and coaches

  • cms, cmshelp, portal, portalpages

    basic cms functionality to add webpages as an introduction to non-students

  • compentence, PEP

    helps students in specifying and developing the competences in their personal education plan

  • drm

    digital right management on images and attachments

  • education

    contains the educational content stored in educations, learnblocks and learnobjects

  • email

    every student, coach and teach can have a didactor email account

  • faq

    frequently asked questions

  • forum mmbob

    students can discuss topics in class and educations related forums

  • isbo, report

    import of student data from XML, including reports on imports carried out

  • metadata

    metadata standards and related rule sets can be specified by the administrator. Installation scripts for the metadata standard developed by the Ruud de Moor Centrum of the Open University are available (LOM compliant)

  • news

    news for students and teachers

  • pdf

    all educational content can be downloaded as PDF

  • portfolio

    lets students create a public / non-public portfolio

  • proactivemail

    email notification system to update students on tasks at hand

  • progress, reports

    keeps track of the login time of students, courses followed and scores on tests and assessments

  • projectgroup

    workgroup functionality like sharing documents

  • redspider

    SOAP connector for use with the Novell redspider e-directory

  • register

    lets visitors register as students

  • scorm

    importer for scorm packages

  • search

    search on education content in Didactor

  • sources

    functionality to share links to external websites

  • versioning

    provides functionality to restore prior versions of pieces of educational content

  • virtual classroom

    lets students and coaches collaborate in an online classroom environment

  • workspace

    gives students the ability to organise their individual content

The sources of Didactor can be found at: http://cvs.mmbase.org/viewcvs/contributions/didactor2/

The binairy distribution can be downloaded from: https://sourceforge.net/projects/didactor/

The CMS Container is a portal engine for enterprise content management, which complies with the JSR 168 portal standard. The CMS Container can be run in a single webapp mode where every change in the content is visible on the website immediately. Or it can be run in a mode where two webapps are used: one for editing content and one for showing the content on the website. On the editing or staging webapp the pages can be previewed before the content is published to the live webapp. The functionality of the CMS Container is split in two parts: the modules and the portlets. The portlets provide the functionality for the website. The modules provide the functionality for the editor environment. For more information on the CMS Container see: http://www.cmscontainer.org/

Below the present list of CMS Container modules is shown.

See also: http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/

  • directreaction

    this module allows users to make reactions on a piece of content, thereby generating user generated content

  • egemmail

    This module is the export tool of articles for use in egemmail.

  • favorites

    gives visitors the ability to save and view favorite pages

  • knownvisitor

    authorisation on the basis of LDAP, Active Directory, NTLM

  • language-redirect

    redirects users to a specific page based on the language setting of their browser

  • linkvalidator

    checks for dead hyperlinks in the content

  • luceus

    the search engine for the CMS Container, based on the open source search solution Lucene

  • messageoftheday

    used for setting a message of the day in the editorial environment

  • pagewizard

    provides wizard functionality for the creation of pages

  • rating

    visitors can give a rating to a contentelement, average ratings as one to five stars.

  • rss

    lets editors configure the rss feeds provided by the website, can also be used for business-to-business feeds

  • static download

    this module uses the WGET tool zip download the (live) site and offer it to the user in a zip archive

  • tasks

    manage manual and automatic created tasks and notifications for users.

  • versioning

    saves previous versions of contentelements and allows them to be restored

  • workflow

    2 or 3 step workflow using the edit, checked and published stages for content elements

Below the portlets of the CMS Container are listed.

See also: http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/

  • cmsc/portlets

    the article / news / people overview portlet

  • banner

    schedule and measures clicks for banners on the website

  • calendar

    overview of events

  • dynamicforms

    form generator

  • ecard

    ecard functionality where images grouped in categories are shown and can be sended as ecard

  • email alerts

    the visitors of the website can subscribe to changes on articles on a page. The editors have editwizards by which they can configure the texts of the emails.

  • gallery

    photo gallery

  • guestbook

    lets visitors leave their message in the guestbook

  • maileditors

    visitors can email a notification to the website editors

  • mailfriend

    email a friend functionality

  • playlist

    lets visitors compose playlist based on audio fragments and streams

  • poll

  • print

    adds a printing option to articles

  • search

    the portlet that renders the luceus search functionality on the website

  • teaser

    simple banner functionality without scheduling and click statistics


This is part of the MMBase documentation.

For questions and remarks about this documentation mail to: [email protected]