[TYPO3-core] RFC #8635: MM-relations lost during copying/localizing

Oliver Hader oliver at typo3.org
Tue Jun 10 11:01:18 CEST 2008


Hi Ernesto,

Ernesto Baschny [cron IT] schrieb:
> This is an SVN patch request.
> 
> Type: Bugfix
> 
> Bugtracker references: http://bugs.typo3.org/view.php?id=8635
> 
> Branches: TYPO3_4-2, trunk
> 
> Problem:
> Copying (or localizing) records with MM-relations to other database 
> tables will not copy over the  MM-field contents (the relations). 
> Instead you will probably get an error like:
> 
> "102: These fields are not properly updated in database: (category) 
> Probably value mismatch with fieldtype."
> 
> This might happen for example when copying an tt_news record with 
> categories. The categories assigned to the element are not copied, which 
> is pretty critical.
> 
> The bug might affect other areas on copy/localize (e.g. flexforms, like 
> someone reported in the -dev list some days ago).
> 
> Solution:
> The origin of the bug is a patch introduced for fixing the problem with 
> shifting datetime on copy:
> 
> http://forge.typo3.org/repositories/diff/typo3v4-core?rev=3735
> 
> This turned off any transformation/processing on copy/localize, which 
> turns out to be wrong, at least for MM-relations (might be the case for 
> other transformations as well).
> 
> The solution is to first reverse the above listed patch and then have 
> the fix applied only to the very specific timezone shifting 
> transformation to fix that problem, which is what the attached patch does.
> 
> Note:
> this is pretty critical for inclusion before 4.2.1 release!

Thanks for taking care! I've tested the patch with tt_news and 
everything was fine again. The MM relationships get stored in 
t3lib_TCEmain::checkValue_group_select_processDBdata() which then uses 
t3lib_loadDBGroup to perform this action - and the entry for this is 
indeed t3lib_TCEmain::checkValue().

+1 on reviewing and testing

olly
-- 
Oliver Hader
TYPO3 4.3 Release Manager


More information about the TYPO3-team-core mailing list