Diem (content management framework)
From Seo Wiki - Search Engine Optimization and Programming Languages
|This article may not meet the general notability guideline. Please help to establish notability by adding reliable, secondary sources about the topic. If notability cannot be established, the article is likely to be merged, redirected, or deleted. (November 2009)|
|This article needs references that appear in reliable third-party publications. Primary sources or sources affiliated with the subject are generally not sufficient for a Wikipedia article. Please add more appropriate citations from reliable sources. (November 2009)|
|Original author(s)||Thibault Duplessis|
|Stable release||4.5.329 / November 2, 2009|
|Preview release||5.0.0 / November 23, 2009|
|Type||Content Management Framework|
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.
|Red||Old release; not supported|
|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. |
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.
- Symfony Project Homepage
- Symfonians.net - A Community of Projects Using the Symfony Framework
- Diem documentation center