The MMBase Content Management System
Time 2022-08-25 00:42:54Web Name: The MMBase Content Management System
WebSite: http://www.mmbase.org
ID:291271
Keywords:
MMBase,The,Content,SystemDescription:
The MMBase Content Management System
Table of ContentsIntroductionCurrent StatusTechnical detailsFeaturesDatabase abstraction and data modelsGeneric editorsTask based editorsCaching and invalidationClusteringRMI and staging/liveImagesTemplating taglibPluggable securityModularityBuildersApplicationsComponentsFunctionsModulesOther projects hosted at github.com/mmbaseOriginally at the subversion server at scm.mmbase.orgForked because dissappeared themselvesSites still running on MMBaseThis pageIssue managementPlans for the futureIntroduction
MMBase is a Content Management System that was relatively popular in the zero’s mainly in the Netherlands. It was originally developed (around 1996) at VPRO (github, this too)
It was open sourced around 2000. Since 2002 it was supported by the MMBase foundation.
Current Status
The product more or less died in the early 2010’s. The original site and servers perished in 2020 or 2021 (?). The domains (mmbase.nl and mmbase.org) were in possession of one of the origjnal sponsors XS4ALL, and were transferred in september 2021.
The code base was copied to github a few years before.
Technical details
MMBase is coded in java. It used to have its own templating language (SCAN), but soon templating was mostly done in JSP, and an extensive 'tag library' was provided.
An early history and overview was also published in IBM Systems Journal · February 2005
The last release was MMBase 1.9.6. Releases used to be in our own MMBase Maven repositories (http://www.mmbase.org/maven2, http://www.mmbase.org/snapshots), which don’t exist either anymore. I’ve tried to push some artifacts to maven central and sonatype) in the meantime. This work is not completed. The presently default branch on github is the MMBase 1.9 branch. May be it would be usefull the at least create and publish a 1.9.7 version and publish all its artifacts to maven central.
At the time (around ~ 2010 or so) we were actually busy with an MMBase 2.0, which would have involved 'portlet' functionality and such. We may try to release some of it after all. We also started to split up the mono-repository of MMBase 1.9 in several distinct github repository like:
bom: Just a maven pom file with dependencies
bridge: Collects interfaces to MMBase. MMBase used to have at least 2 implementations:
The core implementation, which backs all data by a relational database. The database layer uses XML’s to define possible tables, and supported several database implementations like MySQL, PostgreSQL, HSQL, Informix, and IIRC even Oracle.
The RMMCI implementation, which is backed by another MMBase via RMI. This was used e.g. to create a workflow with 'publishing', where via RMMCI data was synced.
taglib: Used in templating, talks to the MMBase bridge, but also contained a lot of utility tags.
utils: Collects several utilities. E.g. MMBase had its own logging framework (originating before similar products like slf4j)
Which hopefully will make 2.0 versions of these a bit more usefull. E.g. I’d myself sometimes wish I could use these nice mm:
tags again, or perhaps some classes from org.mmbase.util
even if I’m not using MMBase itself anymore.
Features
Database abstraction and data models
MMBase has a database abstraction layer, but was always based on relational databases like MySQL or PostgreSQL.
Using XML configuration files one would define the possible tables (referred to as 'builders'), and possible relations between them (which themselves are 'builders' too). These 'builders' could extends from each other, and the 'core' of MMBase would always provide the most basic ones.
Generic editors
Using the thus defined model of data, 'generic' edit tools exists. Originally human editors were using these kind of editors.
Task based editors
Later appeared 'task based' editors, or 'editwizards'. These were using XML’s to define common 'edit tasks'
Caching and invalidation
Clustering
It is possible to run several instances on the same database. The instances may broadcast events between them using multicast or unicast. In the last case the cluster communicates its members to each other using entries in the database.
RMI and staging/live
Images
Templating taglib
Pluggable security
Modularity
MMBase is several ways highly modular
Builders
Define the possible object types (builders) that can be use in the current MMBase instance
Applications
Define a collection of 'needed builders', 'needed relations' and bootstrap data for those.
Components
A component defines as set blocks of templated data.
Functions
Functions basically wraps any peace of functionality, and makes it available in templating.
Modules
Other projects hosted at github.com/mmbase
Originally at the subversion server at scm.mmbase.org
CMS Container: Developed by Finalist IT Group. It used to be used by a variety of web sites, I think mainly of municipalities and such
Didactor: An E-learning environment. Originally mainly developed by Johannes I think, and later by Henk
Template Engine: Used at VPRO, developed mainly by Kees
NatuurMonumenten: A CMS ('LeoCMS', referring to, I think, the municipality of Leeuwarden) Originally developed by Henk.
mmweb: The original MMBase.org site, using MMBase itself
Forked because dissappeared themselves
A-Select: A single sign on system, which MMBase (the 'aselect sub project') had support for
kupu: A rich text editor, which MMBase (the 'richtext sub project') had support for
Sites still running on MMBase
The most noticeable one is:
open beelden (source)
There might be more?
This page
This page is hosted at github pages, so currently are just static pages. We’re using adoc. The original documentation of MMBase was in Asciidoc XML’s, I’ll try to get them published here too somehow.
Issue management
MMBase-issues used to be hosted in a JIRA installation on the MMBase Server. We lost the database but IIRC it wasn’t very functional any more, because the installation was very much out dated.
Plans for the future
May be it is interesting to put some stuff in docker images to simply have a running MMBase 1.9, so we can see how it was like.
As I recall the taglib-documentation was quite nice, but was generated on the fly with JSP’s. May we we should do something about that and copy a version to github pages too
build the stuff from mmbase/documentation and publish somewhere below here
TAGS:MMBase The Content System
<<< Thank you for your visit >>>
Websites to related : Grands Thermes de La Bourboule
Aller au contenu Besoin d'un conseil ? 04 73 81 21 00
The Sailfish - Beautiful EmeraldThe Sailfish - Beautiful Emerald Isle, NC; (Please scroll down for Information) The Sailfish is a private beach house for rent
Donna Hemans, Author River Woman#DrpDwnMn0:not([data-screen-in-hide="done"]){opacity:0}#ScrnWdthCntnr0-13jg:not([data-screen-in-hide="done"]){opacity:0}:root{--color_
Marry Cooking – Bringing tHomeOver onsMarryCookingBlogContact MenuMenu FacebookInstagram Welkom bij Marry CookingBringing the best
From the Front PorchHome Episodes
Armasight – Night Vision,HomeAboutProductsNight VisionThe PVS-14The MNVDThe BNVDThe Vulcan 4.5x Rifle ScopeThe CO-MiniThe CO-LRThe 3x Lens for PVS-14The 6x Lens for PVS-14Ther
Order a Free Dosing Device - IdeOrder a Free Dosing Device - Ideal for the Perfect Wash!Skip to contentWelcome toDosing Device CenterOrder your free liquid or powder laundry dosing d
Welcome to Super Bird Toy StoreHello, Guest!LoginShopping Bag0 Item(s) in cart /Total: $0View CartItemsQty.PriceSubtotal:View CartCheckout0 ItemsToggle navigationHomeWhat's New?My
U.S. Specialty Cheese Gallery |Skip to ContentSkip to Navigation MEMBERS, SUPPLIERS العربية Tiếng Việt 한국어 中文 Espa&ntil
Cave Bernard Gauthey Vigneron-enACCUEILDOMAINECAVEAUBOUTIQUE VINSDISTINCTIONSGALERIENEWSContacts0(CHF0.00) CloseACCUEILDOMAINECAVEAUBOUTIQUE VI
adsHot Websites