Diem (content management framework)
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 |
---|---|
Developer(s) | Thibault Duplessis |
Stable release | 4.5.329 / November 2, 2009 |
Preview release | 5.0.0 / November 23, 2009 |
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.
History
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.
Goal
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.
Software
Diem is based on four major open source frameworks:
- symfony 1.4
- Doctrine 1.2
- Zend Framework 1.9.x
- jQuery 1.3.x
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
Documentation
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.
Releases
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
References
External links
- Symfony Project Homepage
- Symfonians.net - A Community of Projects Using the Symfony Framework
- Diem documentation center
|
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...
- Pages where expansion depth is exceeded
- Pages with broken file links
- Articles with topics of unclear notability from November 2009
- Articles with invalid date parameter in template
- All articles with topics of unclear notability
- Articles lacking reliable references from November 2009
- All articles lacking reliable references
- PHP programming language
- Software using the MIT license
- Content management framework
- Web application frameworks