Skip to content
This repository has been archived by the owner on Jul 5, 2022. It is now read-only.
boruchy edited this page May 2, 2013 · 3 revisions

This wiki serves as the primary source for documentation. Until there is a recent documentation written (for example in ReST on readthedocs.org), this wiki will be updated with resource about everything there is to know of ensemble.

What is ensemble?

Ensemble is a so-called content management framework (CMF). This naming is two-fold: ensemble is about the management of content and ensemble provides a cohesive set of tools to get this done. As a framework, it does not provide a content management system (CMS) out of the box, however, it is extremely easy to create a basic CMS with a CMF like ensemble.

Ensemble is middleware and leverages the more fundamental framework Zend Framework 2 (ZF2). In ZF2 the principles of modules gives an enormous flexible base to create modular application. Ensemble is a set of modules each with it own responsibility. Developers using ensemble will create their own modules, thus basing their system on ZF2. Those modules can use several API points to hook into the ensemble process and therefore create a rich content management application.

For who is ensemble?

Ensemble is made for people who know how to build php applications and know how to use ZF2 modules. Because of the simplicity of ensemble there is no thorough understanding required of ZF2, but a certain level is beneficial for the quality of the code. It is also possible to learn to use ZF2 by using ensemble as a base for your application.

In the future, a couple of modules not part of ensemble will be collected. Those modules will provide generic content blocks (like a page of text), to make it also easier for less experienced developers to get started with ensemble to create a customized CMS.

What is the goal of ensemble?

No formal goal, mission or vision is formulated yet. However, there is a set of rules which are formulated as critical values for the development of ensemble:

  1. It must be simple and straightforward to use a module for ensemble
  2. Modules have much freedom: no formal structure, function or underlying persistency is required
  3. Ensemble follows the guidelines of ZF2: prefer explicitness over magic
  4. It must be possible to override or extend the features ensemble provides