Skip to content
This repository has been archived by the owner on Nov 26, 2017. It is now read-only.

Roadmap

eddieajau edited this page Nov 29, 2011 · 32 revisions

Roadmap

This is a living (always draft) roadmap. All points are subject to delivery by interested parties and may be changed or reprioritised without notice.

11.3

Closed and tagged.

11.4

To be released before Christmas 2011 to address primarily address and compatibility issues with the Joomla CMS.

Classes to be considered for deprecation

One of the aims of 11.4 is to deprecate all classes that either don't function properly, or that should be moved out of the platform and into the Joomla CMS.

  1. JCategories (https://groups.google.com/forum/#!topic/joomla-dev-platform/pOg4T84_MIQ)
  2. JCategoriesNode
  3. JMenu
  4. JNode
  5. JTree

12.1

Scheduled to be released end of Q1 2012.

Desirable new features

  1. Content package (Universal Content Model)
  2. Feed package (to replace SimplePie)
  3. StringInflector class
  4. More database support (PDO drivers, Postgres, Oracle)

Desirable refactoring

  1. Simplification and rationalisation of the MVC classes (including, but not limited to splitting into separate model, view and controller packages).
  2. Review input and output filtering (also looking at pluggable filter types).
  3. Simplify cache package and handlers.
  4. Refactor/replace file package with stream handlers.
  5. Aggressive review of API that is CMS specific and should be removed from the core platform.

Deprecated classes to be removed from the platform or significant changes due to deprecation.

  1. JError - use PHP 5 exception handling as a replacement.
  2. JCategories - downstream users add to their local API.
  3. JCategoriesNode - downstream users add to their local API.
  4. JMenu - downstream users add to their local API.
  5. JController properties $_acoSection and $_acoSectionValue.
  6. JController methods authorize (use authorise) and setAccessControl (use JAccess).
  7. JObject::toString (replaced with magic __toString).
  8. JDatabase properties $errorNum, $errorMsg, $hasQuoted, $quoted.
  9. JDatabase* methods addQuoted, debug, getErrorMsg, getErrorNum, getEscaped, getTableFields, getTicker, isQuoted, hasUtf, explain, loadResultArray, nameQuote, queryBatch, stdErr.
  10. JTable methods canDelete and toXml.
  11. JRequest (use JInput via dependancy injection instead).
  12. JHtmlBehavior method mootools.
  13. JHtmlGrid method access.
  14. JHtmlImage methods site and administrator.
  15. JHtmlList methods accesslevel, specificordering and category.
  16. JHtmlSelect method optgroup.
  17. JElement and all derived classes.
  18. JPane.
  19. JParameter.
  20. JLanguage methods getPluralSufficesCallback, _parseLanguageFiles, _parseXMLLanguageFiles and _parseXMLLanguageFile (all functionality still available but using different method names).
  21. JLog property $legacy and methods getInstance and addEntry.
  22. JRegistry methods loadXml, loadIni, loadJson, makeNameSpace, getNameSpaces, getValue, setValue and loadSetupFile.
  23. JUpdater method arrayUnique.
  24. User package constants JAUTHENTICATE_STATUS_SUCCESS, JAUTHENTICATE_STATUS_CANCEL and JAUTHENTICATE_STATUS_FAILURE.
  25. JUser property $usertype and methods authorize and authorisedLevels (both methods changed name).
  26. JDate property $offsets and methods setOffset and toFormat.
  27. JSimpleXml.
  28. JUtility methods sendMail, sendAdminMail, getHash, getToken, isWinOs, dump, array_unshift_ref and return_bytes.
  29. JXmlElement methods data and getAttribute.
  30. JFactory method getXmlParser.
  31. JBrowser

12.2

Scheduled to be released end of Q2 2012.

12.3

Scheduled to be released end of Q3 2012.

Deprecated classes to be removed from the platform or significant changes due to deprecation.

  1. JObservable
  2. JObserver
  3. JFactory::_createConfig
  4. JFactory::_createSession
  5. JFactory::_createDbo
  6. JFactory::_createMailer
  7. JFactory::_createLanguage
  8. JFactory::_createDocument

12.4

Scheduled to be released end of Q4 2012.

Future goals

The future goals for any version of the platform.

  1. Refactoring to improve use of dependancy injection, employing composition over inheritance.
  2. Improve implementation and usage of interfaces.
  3. Employ PHP native classes more widely (exceptions, streams, SPL, etc).
  4. Testing code coverage of all packages to exceed 80%.

Future features

  1. Provision of a device independent web services layer.