User tests: Successful: Unsuccessful:
This is a redo of #23432.
The content versioning in Joomla is a rather obscure feature. Parts of it run/are available for every extension that uses the base classes, others you have to specifically add to your code. There isn't really a way to not use that system. It is also tied into the UCM system and is unnecessarily complex. This PR tries to improve on that in a few ways. This does not claim to be the perfect solution (there is a lot of stuff to do in the future), but it is hopefully a step around the backwards compatibility issues that we would have if we want to work on this in 4.1 or later.
I changed the name of the history table from #__ucm_history
to #__history
, dropped the ucm_type_id
column and changed the ucm_item_id
column to a varchar and changed how it is used. That column now contains keys of the type <component>.<type>.<id>
, which is also what is used everywhere to identify the content item to edit. By this, you don't need to read the content types table first to get the right item type ID. But more importantly for me, you can now look into the table and read what type of data a row is. I consider that a better solution for debugging and better than a composite key out of 2 columns.
This PR is ready for testing. However, while migrating this code to the current 4.0-dev, several bugs in the 4.0-dev codebase have surfaced, which need to be fixed beforehand. I will report back here regarding those bugs.
Status | New | ⇒ | Pending |
Category | ⇒ | SQL Administration com_admin Postgresql com_banners com_categories com_contact com_content com_contenthistory com_newsfeeds com_tags com_users |
Labels |
Added:
?
|
Status | Pending | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2020-05-29 23:40:20 |
Closed_By | ⇒ | wilsonge | |
Labels |
Added:
?
|
Thanks!
All fixed. Can we merge this now? Given the current time pressure. ;-)