My idea about ignoring CollectionField is BAD in all caps. We need a explicit way to tell snapshot what can be ignored. Maybe.
1. Define IDoNotSnapShot in lazr.lifecycle.snapshot.
2. Update laz.lifecycle.snapshot.Snapshot ignores any field that provides IDoNotSnapShot eg.
if IField.providedBy(field) and not IDoNotSnapShot.providedBy(field):
3. Update the problem fields in Launchpad (eg. Person.allmembers, Product.branches, ...) by adding the interface to the instance attribute eg.
IPublicPerson:
allmembers = Exported(...) alsoProvides( allmembers, IDoNotSnapShot)
My idea about ignoring CollectionField is BAD in all caps. We need a explicit way to tell snapshot what can be ignored. Maybe.
1. Define IDoNotSnapShot in lazr.lifecycle. snapshot.
2. Update laz.lifecycle. snapshot. Snapshot ignores any field that provides IDoNotSnapShot eg. providedBy( field) and not IDoNotSnapShot. providedBy( field):
if IField.
3. Update the problem fields in Launchpad (eg. Person.allmembers, Product.branches, ...) by adding the interface to the instance attribute eg.
alsoProvides( allmembers, IDoNotSnapShot)
IPublicPerson:
allmembers = Exported(...)