? ? ? ? Failure

User tests: Successful: Unsuccessful:

avatar mbabker
mbabker
31 May 2017

Summary of Changes

This migrates the CMS to use the Framework v2 Database package and removes the CMS code. Largely, this should have minimal impact on most code, but it will force some updates in some cases.

This branch is still an active work in progress (as shown by the code diff it touches a lot of lines of code), but as of this writing it is in a functional state and ready for some heavy testing and peer review.

Some of the notable changes include:

  • The Framework's Database package no longer has the concept of a debug mode, instead this is replaced with a query monitor which enables developers to implement custom monitoring behaviors (an example being the monitor in the debug plugin which defines the logging/profiling behavior used by it)
  • There are now events dispatched after a $db->connect() or $db->disconnect() action, these can be subscribed to by plugins; the events and their parameters are documented at https://github.com/joomla-framework/database/blob/2.0-dev/src/DatabaseEvents.php
  • The legacy error handling mechanism for the database layer (deprecated functions in JDatabase basically) will no longer be supported, exception handling must be implemented (the current code already throws exceptions so this update only requires that your code be supporting 3.x and later)
  • The utf8mb4 logic is now abstracted to a separate interface and is NOT available by default on all database drivers, this means uses of the convertUtf8mb4QueryToUtf8 and hasUtf8mb4Support methods will have to be wrapped in conditionals
  • Support for prepared statements is now available in all CMS supported drivers
  • Support for PostgreSQL using PDO is now available

Testing Instructions

With this branch installed, a user should be able to use the CMS normally.

Documentation Changes Required

To be determined, a large code diff is going to mean a lot of reviewing for this one

TODO Items

  • Replace core uses of legacy error handling
  • Reconcile CMS and Framework code to ensure all intended behaviors exist in the Framework package
  • Update the statistics server to handle the updated database information for 4.0
39d649b 31 May 2017 avatar mbabker Sync
1f52706 31 May 2017 avatar mbabker Sync
avatar mbabker mbabker - open - 31 May 2017
avatar mbabker mbabker - change - 31 May 2017
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 31 May 2017
Category Repository Administration com_admin com_config com_finder com_installer Language & Strings External Library Installation Libraries MS SQL
avatar mbabker mbabker - change - 31 May 2017
The description was changed
avatar mbabker mbabker - edited - 31 May 2017
avatar mbabker mbabker - change - 31 May 2017
Labels Added: ? ? ?
avatar joomla-cms-bot joomla-cms-bot - change - 31 May 2017
Category Repository Administration com_admin com_config com_finder com_installer Language & Strings External Library Installation Libraries MS SQL Repository Administration com_admin com_categories com_config com_finder com_installer com_menus Language & Strings External Library Installation Libraries MS SQL
avatar joomla-cms-bot joomla-cms-bot - change - 31 May 2017
Category Repository Administration com_admin com_config com_finder com_installer Language & Strings External Library Installation Libraries MS SQL com_categories com_menus Repository Administration com_admin com_categories com_config com_finder com_installer com_joomlaupdate com_menus Language & Strings External Library Installation Libraries MS SQL
c8ecc0e 31 May 2017 avatar mbabker Sync
avatar mbabker mbabker - change - 31 May 2017
The description was changed
avatar mbabker mbabker - edited - 31 May 2017
avatar wilsonge
wilsonge - comment - 31 May 2017

I've just fixed the unit tests from us breaking things at the close of play today. Please can you merge 4.0 back into here so we can let the tests run again please.

Sidenote: Apparently in travis if no unit tests run because of a fatal error apparently PHP 7.x versions count this as a pass (and 5.x fails)

avatar wilsonge
wilsonge - comment - 1 Jun 2017

joomla-framework/database#89 Fixes the unit tests once you have merged in staging

629d55c 1 Jun 2017 avatar mbabker Sync
avatar mbabker
mbabker - comment - 1 Jun 2017

I'm merged up. The namespace map file is broken in the 4.0 branch, apparently you can't concat a constant in a static class property on PHP 5.5.

avatar wilsonge
wilsonge - comment - 1 Jun 2017

So now we get a application error which is interesting because I didn't get that on my local tests last night.

I saw the namespace thing too last night but decided against staying up beyond 3am to fix. Will un-static that file later and hopefully that will do the trick

c8adbb3 1 Jun 2017 avatar mbabker Sync
avatar joomla-cms-bot joomla-cms-bot - change - 1 Jun 2017
Category Repository Administration com_admin com_config com_finder com_installer Language & Strings External Library Installation Libraries MS SQL com_categories com_menus com_joomlaupdate Repository Administration com_admin com_categories com_config com_finder com_installer com_joomlaupdate com_menus Language & Strings Unit Tests External Library Installation Libraries MS SQL
avatar mbabker mbabker - change - 1 Jun 2017
Labels Added: ?
avatar mbabker mbabker - change - 7 Jun 2017
The description was changed
avatar mbabker mbabker - edited - 7 Jun 2017
avatar brianteeman brianteeman - change - 8 Jun 2017
Milestone Added:
avatar brianteeman brianteeman - change - 8 Jun 2017
Milestone Added:
avatar mbabker
mbabker - comment - 19 Jun 2017

Merged back up with current 4.0 branch. My CI failures are the same as are in the base branch right now.

avatar wilsonge
wilsonge - comment - 19 Jun 2017

OK I'm going to make a slightly executive decision here. As we aren't getting any tests on this PR I'm going to merge this as is (knowing that it might cause some issues as the framework branch especially as the CMS aren't in sync at the moment). This is as much motivation for me to sync the CMS and framework as anything else. Plus it will make any issues far more obvious to me.

avatar wilsonge wilsonge - change - 19 Jun 2017
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2017-06-19 22:50:49
Closed_By wilsonge
avatar wilsonge wilsonge - close - 19 Jun 2017
avatar wilsonge wilsonge - merge - 19 Jun 2017

Add a Comment

Login with GitHub to post a comment