Breaking: #55298 - Decoupled sys_history functionality¶
See forge#55298
Description¶
Tracking of record changes within the TYPO3 Backend is now handled via the database table sys_
only,
the connection towards sys_
has been removed - at the same time, the backend view for showing the history
of a database record has been updated.
BE-log module¶
Referencing history entries within the BE-Log module is now done reverse (sys_log has a reference to an existing sys_history record, and not vice-versa), speeding up the module rendering. The following related PHP classes have been removed which were previously needed for rendering within the BE-Log backend module:
\TYPO3\
CMS\ Belog\ Domain\ Model\ History Entry \TYPO3\
CMS\ Belog\ Domain\ Repository\ History Entry Repository \TYPO3\
CMS\ Belog\ View Helpers\ History Entry View Helper
History view¶
The "highlight" functionality for selecting a specific change within the history module of the TYPO3 Backend has been removed.
A clear separation of concerns has been introduced between Element
, which is the entry-point
for viewing changes of a record, and Record
. The latter is now the place for fetching the history
data and doing rollbacks, where the Controller class is responsible for evaluating display-related settings inside the
module, and for preparing and rendering the Fluid-based output.
The following public PHP methods have now been removed or made protected.
TYPO3\
(see the added setMaxSteps() method)CMS\ Backend\ History\ Record History->max Steps TYPO3\
CMS\ Backend\ History\ Record History->show Diff TYPO3\
(see the added setShowSubElements() method)CMS\ Backend\ History\ Record History->show Sub Elements TYPO3\
(moved into controller)CMS\ Backend\ History\ Record History->show Insert Delete TYPO3\
CMS\ Backend\ History\ Record History->element TYPO3\
CMS\ Backend\ History\ Record History->last Syslog Id - [not scanned]
TYPO3\
CMS\ Backend\ History\ Record History->return Url TYPO3\
CMS\ Backend\ History\ Record History->show Marked TYPO3\
(logic moved into controller)CMS\ Backend\ History\ Record History->main () TYPO3\
CMS\ Backend\ History\ Record History->toggle Highlight () - Method parameter of
TYPO3\
CMS\ Backend\ History\ Record History->perform Rollback () TYPO3\
(logic moved into controller)CMS\ Backend\ History\ Record History->display Settings () TYPO3\
(logic moved into controller)CMS\ Backend\ History\ Record History->display History () TYPO3\
(logic moved into controller)CMS\ Backend\ History\ Record History->display Multiple Diff () TYPO3\
(logic moved into controller)CMS\ Backend\ History\ Record History->render Diff () TYPO3\
(logic moved into controller)CMS\ Backend\ History\ Record History->generate Title () TYPO3\
(logic moved into view)CMS\ Backend\ History\ Record History->link Page () TYPO3\
CMS\ Backend\ History\ Record History->remove Filefields () TYPO3\
CMS\ Backend\ History\ Record History->resolve Element () TYPO3\
CMS\ Backend\ History\ Record History->resolve Sh Uid () TYPO3\
CMS\ Backend\ Controller\ Content Element\ Element History Controller->content TYPO3\
CMS\ Backend\ Controller\ Content Element\ Element History Controller->doc TYPO3\
CMS\ Backend\ Controller\ Content Element\ Element History Controller->main ()
Impact¶
Calling any of the PHP methods will result in a fatal PHP error. Getting or setting any of the PHP properties will trigger a PHP warning.
Using the affected database tables directly will produce unexpected results than before.
Affected Installations¶
Any installation using the record history, or extensions extending sys_history.
Migration¶
An upgrade wizard to separate existing history data from sys_
can be found within the Install Tool.
The install tool also checks for existing extensions making use of the dropped and changed PHP code.