Skip to content
This repository was archived by the owner on Jul 5, 2022. It is now read-only.

RFC: Changes from beta to stable

juriansluiman edited this page Apr 13, 2013 · 6 revisions

This page is simply a list of "todo" items. It is meant to give a quick overview what things are required from the current code base until there is something usable for production environments.

Now → beta 1

Planned deadline: 13 April 2013 - FINISHED

  1. (Owner: Jurian Sluiman; Status: done) Rename routes key for module configuration. Old config:
<?php

return array(
  'cmf_routes' => array(
    'module-name' => array(
      // Config here
    ),
  ),
);

New config:

<?php

return array(
  'ensemble_kernel' => array(
    'routes' => array(
      'module-name' => array(
        // Config here
      ),
    ),
  ),
);

This change makes it look more like the normal route setup (a key router and a child key routes). This also groups all config from the kernel under the ensemble_kernel key.

  1. (Owner: Jurian Sluiman; Status: done) Rename routes key for module admin configuration. Old config:
<?php

return array(
  'cmf_admin_routes' => array(
    'module-name' => array(
      // Config here
    ),
  ),
);

New config:

<?php

return array(
  'ensemble_admin' => array(
    'routes' => array(
      'module-name' => array(
        // Config here
      ),
    ),
  ),
);

This change makes it look more like the normal route setup (a key router and a child key routes). This also groups all config from the kernel under the ensemble_admin key.

  1. (Owner: Jurian Sluiman; Status: Cancelled) Removal of navigation listener and navigation parser from EnsembleKernel and creation of EnsembleNavigation with these two classes. In the future both kernel features and navigation features might be added and one module with both responsibilities might be too big for a single module. Reason to be cancelled: the kernel can be a solid package with multiple features. If a split is required, this can be achieved later as well with only a very slight BC break.

  2. (Owner: Jurian Sluiman; Status: done) Refactoring EnsembleAdmin to use ZfcAdmin. Hook into ZfcAdmin as a child route for the PageController and create a zfc-admin/admin/index with the current ensemble index view script. Create a layout/admin view script with the current ensemble layout view script.

Beta 1 → beta 2

Planned deadline: 20 April 2013

  1. (Owner: Jurian Sluiman; Status: cancelled) Unit test all code from the kernel and navigation module. Goal is not to get to 100% code coverage, but all scenarios in the RFC from the kernel must be covered. Reason to be cancelled: due to lots of changes, the stability will be achieved after beta 3. Tests are required after these changes are completed.

  2. (Owner: Jurian Sluiman; Status: not started) Refactoring of EnsembleAdmin. Make proxy to content module event driven: a route event and a dispatch event. Plugins like the view helper AdminUrl must listen to dispatch and inject the current page and/or admin router.

  3. (Owner: Jurian Sluiman; Status: not started) Determine the need for EnsembleUtils. At this moment, it provides the view helper and controller plugins for url creation and redirection to ensemble routes. These three classes can be integrated into the kernel, if no other utilisation classes are planned. Otherwise, create a document stating the further needs of EnsembleUtils classes. Conclusion: view helpers and controller plugins must be transferred into the kernel.

Beta 2 → beta 3

Planned deadline: 20 May 2013

  1. (Owner: unknown; Status: not started) Refactoring of EnsembleAdmin tree view. The tree must not be rendered in the layout, since the layout will be based on ZfcAdmin and might be overridden by users. The tree cannot be rendered in the views of every content module, since it would duplicate a lot of code and cost maintenance problems. There must be a view step introduced between the layout rendering and the forward call to a controller. It must be kept in mind content modules might return a response directly, so not always it the rendering of an additional view model required.

  2. (Owner: unknown; Status: not started) Update EnsembleAdmin for core must-have features (more information about this process is mentioned in the RFC of Ensemble Admin):

  • Update of page properties and meta data properties
  • Moving pages around the tree
  • Delete pages
  • Create pages

Beta 3 → beta 4

Planned deadline: 20 June 2013

  1. (Owner: unknown; Status: not started) Update the view part of EnsembleAdmin. Default view scripts (layout and controller-action views) are semantically correct, but no addition of classes or other markup is inserted. No default styles are loaded. An EnsembleAdminTwitterBootstrapTemplate (or with a better name) module will be created, which overrides all templates with scripts implementing specific Twitter Bootstrap markup. This module is used in the SampleApplication and added to the "suggest" list of the composer.json in EnsembleAdmin.

  2. (Owner: unknown; Status: not started) Update SampleApplication with multiple modules and recommended usage patterns for Ensemble.

  3. (Owner: unknown; Status: not started) Update documentation wiki with good written pages for Home, Getting started (or "quick start" perhaps), List of modules with a list of all available ensemble modules with their goals, Using modules with explanation how you can write modules which hook into the ensemble kernel and admin and contributing with a text how it is preferred to help ensemble getting better (a standard story about fork, change & PR; about coding standards; about discussions in issues and on irc).

Beta 4 → beta 5

Planned deadline: 20 July 2013

  1. (Owner: unknown; Status: not started) Update unit tests for kernel and navigation. Make sure unit tests are present for the admin.

Release candidate 1

Planned deadline: 1 September 2013

Clone this wiki locally