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

Roadmap

mbabker edited this page Jan 20, 2012 · 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.4

Closed and tagged on 4 January 2012.

Minor compatibility changes

A new autoloader was implemented and some classes where renamed to use it. Original classes have been retained but will be deprecated in 12.3.

  • JRule renamed to JAccessRule.
  • JRules renamed to JAccessRules.
  • JCli renamed to JApplicationCli.
  • JWeb renamed to JApplicationWeb.
  • All class members of JFTP except JFTP::$instances are now private.
  • JError::$_error is now protected.
  • JRequest::_cleanArray() has been removed.
  • JArchiveGzip:: $_flags and JArchiveGzip:: $_data are now private.
  • JArchiveTar:: $_types, JArchiveTar:: $_flags, JArchiveTar:: $_data and JArchiveTar:: $_metadata are now private.
  • JArchiveZip:: $_methods, JArchiveZip:: $_ctrlDirHeader, JArchiveZip:: $_ctrlDirEnd, JArchiveZip:: $_fileHeader and JArchiveZip:: $_data are now private.
  • JSimpleXML:: $_parser, JSimpleXML:: $_xml and JSimpleXML:: $_stack are now private.
  • In JComponentHelper::renderComponent the execution of the component is moved to the new function JComponentHelper::executeComponent. A component cannot change or use any of the (internal) variables of renderComponent that might be used by the function later on, like $task or $option.
  • The "onPrepareUserProfileData" event has been removed. Listen for the "onContentPrepareData" with a context of "com_users.profile" instead.

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. - Partially complete in #743
  9. JDatabase* methods addQuoted, debug, getErrorMsg, getErrorNum, getEscaped, getTableFields, getTicker, isQuoted, hasUtf, explain, loadResultArray, nameQuote, queryBatch, stdErr. - Partially complete in #743
  10. JTable methods canDelete and toXml.
  11. JRequest (use JInput via dependancy injection instead).
  12. JHtmlBehavior method mootools. - Complete (#755)
  13. JHtmlGrid method access. - Complete (#755)
  14. JHtmlImage methods site and administrator. - Complete (#755)
  15. JHtmlList methods accesslevel, specificordering and category. - Complete (#755)
  16. JHtmlSelect method optgroup. - Complete (#755)
  17. JElement and all derived classes. - Complete (#744)
  18. JPane. - Complete (#755)
  19. JParameter. - Complete (#744)
  20. JLanguage methods getPluralSufficesCallback, _parseLanguageFiles, _parseXMLLanguageFiles and _parseXMLLanguageFile (all functionality still available but using different method names). - Complete (#757)
  21. JLog property $legacy and methods getInstance and addEntry.
  22. JRegistry methods loadXml, loadIni, loadJson, makeNameSpace, getNameSpaces, getValue, setValue and loadSetupFile. - Complete (#759)
  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. - Complete (#753)
  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
  32. JNode
  33. JTree

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.
Clone this wiki locally