Products.CMFCore.MemberDataTool (the conceptual base for memberdata) has two classes: the persistent MemberData class to actually store member properties and the temporary MemberDataAdapter as an adaptation/integration point. I suggest that memberdata follows this structure and use MemberDataAdapter for its current MemberData; to avoid migration problems, it likely should also define a new class MemberData as a wrapper of that of CMFCore.
"https://community.plone.org/t/migration-error-v5-1-6-to-v5-2-4-cache-values-must-be-persistent-objects/13626" reports a migration problem which almost surely results from a change in the persistency of
memberdata.MemberData
which formerly was persistent and now is a temporary adapter. Changing the persistency of a class is a very bad idea because it makes it almost impossible to load existing class instances from the ZODB.Products.CMFCore.MemberDataTool
(the conceptual base formemberdata
) has two classes: the persistentMemberData
class to actually store member properties and the temporaryMemberDataAdapter
as an adaptation/integration point. I suggest thatmemberdata
follows this structure and useMemberDataAdapter
for its currentMemberData
; to avoid migration problems, it likely should also define a new classMemberData
as a wrapper of that ofCMFCore
.