Table of Contents
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.
With the MMBase application tool the objects and relations used in an MMBase installation can be specified in XML and data from an application can be exported to or imported from XML. Most of the times data model or object model is used to denote the specification of the objects and relations present in an installation. In MMBase also the term object cloud is used. For more information on this tool see the Information Analysts section in the MMBase documentation. The object model for use by the Application tool can be generated by UML2MMBase and MMBase2UML. http://mmapps.sourceforge.net/
Editwizards
The editwizards provide the functionality to define forms to edit the MMBase object cloud. Editors who do not frequently use MMBase might get lost in their MMBase object cloud, when using the default JSP editors to enter or change content, With the editwizards it is possible to build task oriented forms, which guide editors through their work. See the editwizard userguide and reference manual in the templaters section for more information on the editwizards.
An application is a website or functionality that is build on top of MMBase. An application uses the plugins mentioned in the previous sections or accesses the MMBase bridge directly via the API. The MMBase distribution provides a number of example applications. See the link at the end of this paragraph. Lets have a look at the MyNews application as an example. The object model of the MyNews application can be found in application/mynews/config/MyNews.xml. The definition of the objects and relations used in MyNews.xml can be found in application/mynews/config/MyNews/builders. The application/mynews/config/MyNews/ directory itself contains some sample data that is imported when the application is installed. The templates that use the taglib plugin to show the newsitems in the website can be found in the application/mynews/templates directory. http://cvs.mmbase.org/viewcvs/applications/
A contribution is much the same as an application, The only real difference is that an application is maintained by the MMBase community and is an official part of the MMBase distribution, whereas a contribution is maintained by a third party. Use the link at the end of the paragraph to get an overview over the contributions. At the end of this document two of the main contributions will be described: Didactor and the CMS Container. http://cvs.mmbase.org/viewcvs/contributions/
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
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
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
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: documentation@mmbase.org