Diem (content management framework)

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
Original author(s) Thibault Duplessis
Developer(s) Thibault Duplessis
Stable release 4.5.329 / November 2, 2009; 407274427 ago
Preview release 5.0.0 / November 23, 2009; 405460027 ago
Operating system Unix
Available in PHP5
Type Content Management Framework
License MIT License
Website diem-project.org

Diem is a web application Content Management Framework (CMF) written in PHP5. As of symfony, it follows the model-view-controller (MVC) paradigm. Released under the MIT license, Diem is and will always be free software. The diem-project.org website was launched on November 23, 2009.



Diem development started in late 2007 as a fork of sfSimpleCMS, a state of the art symfony CMS.

  • Diem 1.x is an evolution of sfSimpleCMS, based on symfony 1.0.x & Propel 1.2
  • Diem 2.x adds i18n features to the core, making it non backward compatible
  • Diem 3.x is a nearly complete rewrite, and adds many features
  • Diem 4.x is a complete rewrite for symfony 1.1.x & Propel 1.3
  • Diem 4.5.x is the current stable release
  • Diem 5.x is a complete rewrite for symfony 1.3/1.4 & Doctrine 1.2. It is the beginning of an open source life.

In August 2009, the lead developer started to work on the 5th version, based on the symfony 1.3/1.4 branch. This new version is designed to have an open source life. Older versions could not be released as open source because the developement team introduced some French words into the code... and provided very few documentation.


Diem aims to speed up the creation and maintenance of websites. It adds some conventions to the symfony ones, and provides a set of tools needed for all websites. Unlike a CMS, it does not come with predefined modules like blog, but requires a developer in order to define a data model.

It requires a few prerequisites for installation: Unix with a web server and PHP 5 installed, and a mysql database. Later versions should support more database managers.


Diem is based on four major open source frameworks:

Additionaly, it bundles and extends some open source PHP libraries:

  • Symfony Dependency Injection to have a fast and flexible core
  • sfImageTransformPlugin for all images transformations
  • sfCsvPlugin for CSV format manipulation
  • pChart for diagrams generation
  • GAPI for the Google Analytics API interface
  • PHP Markdown for the plain text markup syntax


The project is fully documented in English, and translations are planed in several languages.

  • A reference book describes all major parts of Diem, like Modules, Conventions, Configuration, Template helpers and more.
  • A complete set of tutorials help new developers getting started by building simple websites.
  • Source code of websites that use Diem can be downloaded. They provide good examples to the beginners.


Color Meaning
Red Old release; not supported
Green Current release
Blue Future release
Version Release date PHP version Notes
1.x November 2007 >= 5.0
2.x February 2008 >= 5.0
3.x September 2008 >= 5.0
4.0 February 2009 >= 5.1
4.5 May 2009 >= 5.1
5.0 December 2009 (planned) >= 5.2 First open source release. [1]

A development version of the 5.0 branch is available for testing purpose : http://diem-project.org/download

Extending Diem core

Diem core is designed to be modular with a system of events, and a dependency injection container. The event dispatcher facilitates communication between services. A developer using Diem can listen to the thrown events, and this way alter the way Diem services work. The dependency injection container manages the services creation, the classes wich implements them, and their dependencies. Yaml files allow the developer to customize the service container.

See also


External links

Personal tools

Served in 0.625 secs.