Fork me on GitHub

Roadmap

This roadmap is a general overview of features and when they are currently planned for. This list is tentative and subject to change.

You can post your proposal at Google Group.

1.1

  •  Add FieldImage CCK
  • ✓ Rebuild Block API
    • ✓ Block cache
    • On the fly block rendering (do not prefetch all blocks)
    • ✓ More useful and consistent API
  • ✓ Better control over user's avatar and Gravatar
  • ✓ "Logins attempts" feature
  • ✓ Multilingual Installation
    • ✓ Unify translation packages
  • ✓ Rebuild translatable entries system
    • ✓ Add fuzzy entries
    • ✓ Export a list of all fuzzy entries
    • ✓ Ability to import/export translatable entries
  • ✓ Theming Nodes by Content Type
    • ✓ Allow to use different view per Content Type
    • ✓ Allow to use different layouts per Content Type
  • ✓ Allow to lock CCK Fields, so users cannot edit them.
  • ✓ Time Picker support for CCK Field Date
  • ✓ Review CCK Field API: simpler conventions and code rafactoring
  • ✓ Add CSRF/XSS protection
  • ✓ CCK Field File: allow customized number of files.
  • ✓ Add "Maintenance IP" feature
  • ✓ Review default themes
    • ✓ Front office: new responsive design, make it lightweight using CSS3 (use twitter bootstrap ?)
    • ✓ Back office: make it nicer (twitter bootstrap? )
  • ✓ Create NodeHelperBlockHelper and MenuHelper to handle some LayoutHelper methods which are not directly related to "layout" tasks
  • ✓ Create a new web portal Apps Directory (modules/themes directory)
    • ✓ Allow user to search and install themes/modules from their QuickApps admin panel
  • Review docblock, make better documentation

2.0

  • ✓ Remove methods deprecated in 1.x
  • ✓ Try to use less Helpers and Components.
    • ✓ In v1.x we have LayoutHelper, BlockHelper, NodeHelper, etc for handle rendering. We should make it simpler.
      Solved using: traits + singleton classes. LayoutHelper logic was moved to View class.
  • ✓ Allow nested comments (TreeBehavior)
  • ✓ Simpler themes
    • ✓ In v1.x we have a frankenstein $Layout variable which holds an enormous amount of information (stylesheets, javascripts, etc, etc).
    • ✓ We should avoid things like $this->Lauout->stylesheets(), $this->Layout->javascripts(), $this->Layout->header(), etc.... and give designers more freedom
      • ✓ Rendering tasks should purely rely on View object + HtmlHelper
  • Suscribe to comments feature (email)
    • Notify quotes of my comment.
    • Notify new comments.
  • ✓ Migrate to CakePHP 3.0? (PHP > 5.4)
  • ✓ Improved permissions management system
    • ✓ Allow to export/import permissions (as csv, json or yaml)
    • ✓ Ability to sync & repair permissions tree
  • ✓ Migrate module's YAML to Composer
    • Create an official repository directory service, for themes and modules. Rely on Composer + Packagist instead
  • ✓ HTML5 compliant.
    • ✓ Autogenerated HTML should follow Twitter Bootstrap conventions.
  • ✓ Improved  Field API (a.k.a. CCK).
    • ✓ Allow other modules to "extends" Field module. Solved using FieldUITrait
    • ✓ Use PHP 5.4 features to solve the polymorphic-entities problem (node↔node_type relation).
  • ✓ Improved taxonomy system. Create some kind of TaggeableBehavior ?
    • ✓ We should allow any entity to be classifiable.
  • ✓ Support for PostgreSQL and other DB systems.
  • ✓ Review of core's module-installation system.
    • ✓ Create an independent plugin. Not necessary, Themes and Plugins are handled by System plugin
    • ✓ We should parse composer.json files. New installation system was added based on Tasks object concept
    • ✓ Create a Composer-Installer for handle plugins and themes.
    • Allow to install plugins just by placing them in Plugin directory.
  • ✓ Add "node revisions" functionality.
  • ✓ Built-in WYSIWYG module
  • Built-in shell console
  • ✓ Use "Plugins" instead of "Module" word. More baker friendly :)
  • ✓ Migrate hook system to Cake's event system.
  • Allow nested Nodes ?  This creates serious difficulties when handling node translations
  • ✓ Allow plugin to define multilingual help docs
  • Documentation
    • ✓ Document everything and create a quality API
    • Create a book
    • Create a YT channel, and make some videotutorial
  • ✓ Improved "View Modes"
    • ✓ Allow plugins to define their own view modes. In v1.x We have a fixed number (hard coded) of view modes