|
MMBase is a content management system with strong multi media features and advanced web portal functionalities. MMBase has a large installed base in The Netherlands, and is used by major Dutch broadcasters, publishers, educational institutes, national and local governments. MMBase is written in Java, it is a free software under MPL and all standards used are as 'open' as possible. The system can be used with all major operating systems, application servers and databases. This projects has started in May 2006.
Object Model MMBase makes use of nodes (or objects) to store its data. Each node is of a certain type, which defines the data-fields, constraints, and possible additional functionality, such as auto-calculated fields, or functions that work on specific types. Nodes can be related to other nodes following constraints determined when the object model is designed. Relations are themselves ndoes, which means they can additional data and fucntionality too (such as sort order information). The collection of nodes is called an object cloud. Each type is defined by a configuration file, which creates a nodemanager (also known as a builder), an insatnce of a java-class that constructs a node and handles any specific functionality. Since a nodemanager is a java class, functionality can be added by overriding the class - though this does require some knowledge of the inner workings of the system. Almost everything in MMBase is a node. Nodemanagers are themselves nodes, for instance, and they can thus be queried and — to some extend — manipulated in the same way. The same goes for the constraints used in determining relations. This makes the system flexible, though the idea that everything is an object can be confusing at first. Despite the object system, most configuration is still done using xml configuration files. MMBase Core MMBase itself is a bare bones system, which means it requires some work before you actually have a website that works well. The core of MMBase offers the basic building blocks for creating and maintaining object cloud, and a few examples for use. The core can be run as a web-application. It is started by installing it as a servlet. MMBase Applications To create a website it is often needed to install additional applications, and you then need either to create your own jsp templates or to use a framework CMS based on MMBase. Sample applications, maintained by the MMBase community, are: MMBase Contributions Aside from the community-maintained applications, there are many contributions to MMBase, such as a forum application, a system to index and search through MMBase object data with Lucene, and various frameworks (with names such as LeoCMS, NatMM, or Zagyg) which make setting up and maintaining a MMBase website a lot easier. While there are advantages in the various ways people solve problems in the different systems (choice is good), it also causes some problems. Re-implementing the same functionality (not always in the best possible way), and the inability (or unwillingness) to share solutions across systems stalls the advancement of the system as a whole. In addition, in the past, badly implemented or supported systems have damaged the reputation of the system as a whole. MMBase Component Framework To solve this, a current project in MMBase is set up to create a re-useable component framework to allow the various systems to better share their solutions, and to add principles in developing such frameworks, to encourage communal thinking and hopefully increasing the quality of the software. The Component Framework project's goals is "to deliver a a formal specification of a Framework API and a Component API, which allows components to be written in a way that allows them to run in a multitude of different frameworks." | ||||||||
|
| |||||||||
![]() |
|
| |