MMBase covers the whole spectrum needed to manage and maintain information. In other words, MMBase has editors for editorial people to insert, manipulate and delete information. MMBase has a language which enables web designers to publish the information dynamically. And MMBase has knowledge of connected devices. This means that publishing a CD, or an image (placed on a scanner), or a live stream involves minimal work.
Separation of content and design
MMBase strictly separates content from design, which means that content can be reused in different designs. When creating a web page, for example, you can use HTML tags to create the appropriate design for that individual page. Showing the information on that page as XML or plain text is no longer possible. By strictly separating content from design, information can be reused in different websites (3voor12.vpro.nl, www.vpro.nl/pp98, www.vpro.nl/pp99), displayed on a WAP device, broadcast, sent as e-mail, published on an IRC channel, or exported as XML. MMBase models its information as objects. MMBase creates objects that are a representation of things, and MMBase maintains objects that specify the relations between things. The object structure results in a web of objects and relations that represent your constantly changing reality. A music band, for example, can have a relation called "plays on" the festival called "Pinkpop", and this relation indicates that the band is displayed on the Pinkpop site. If you want to remove the band from the site, you can simply remove the relation and the band will not be published on the website anymore. If you want to publish the band on another site (with another design), you can simply add a relation that indicates that the band needs to be displayed on another website. Another advantage of separating content and design is that all information is stored only once. If the band changes its name, you only have to change the name of the band once and all websites will change this information. This is a welcome contrast to "hardcoded" webpages, where you might have to review all the web pages to see if the new band name has been properly published there.
Device and software support
The way MMBase maintains its information is very important, but another very important issue is that MMBase can communicate with a lot of hardware and software that is frequently used for publishing information. e.g. CD players. If a song of a band has to be published, you can insert a CD into a CD player and use your editors to relate the track to the band, at which point the song will be published on your website. No saving of the CD, or converting of formats, or copying to a server is necessary. MMBase has automated these frequently recurring actions. Another example is a photo placed in a scanner. The editors can be used to tell MMBase which relations that image has, and you can give the image a title and a description. For other actions such as converting the image to a JPG, resizing the image is needed. Relating an image with a band will cause the website to show that image on the band page. MMBase integrates a lot of external software. This means that you don't have to encode a music file to different file formats, or convert image formats, etc. MMBase also contains internal software agents that are able to automatically broadcast audio, save audio from the radio, check information within MMBase, etc. MMBase has a great deal of functionality, and the MMBase community will create more and more of this in the future.
Information can be added to MMBase in a number of ways, the most important of which is the MMBase editors. The MMBase editors allow people to insert, manipulate, and delete information. The editors are based on a web interface, and can be run in a web browser such as Netscape or Internet Explorer. The advantage of a web-enabled editor is that you don't need to install additional programs to edit the information, and you can maintain the information from all over the world. Editors don't need to have any knowledge of website design. They are only involved in the process of managing information.
Graphical designers can publish the information maintained within MMBase in any format they wish. They can publish the information at a website, in multiple websites, on a WAP device, in Flash, or can broadcast the information maintained by MMBase. MMBase provides a language that enable designers to retrieve the MMBase information. The information can also be retrieved with other languages, such as PHP, and JSP. MMBase can even give the information as XML.