isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Tildesley <davo...@yahoo.co.nz.INVALID>
Subject Deep copy object graph
Date Wed, 08 Mar 2017 06:05:03 GMT
Hi,
I have a need to keep public records and to be able to edit objects and put them through a
publishing lifecycle whilst public can view the current record without seeing the changes.
Temporal object pattern [1] seems like the simplest pattern.
Then it comes down to how hard or easy it is to simply  copy a components entire object graph
to make a new version (don't really care about the duplication of data that hasn't change
from version to version).
Datanucleus has some support for coping an object graph from one repository to another - I
assume you can copy to the same repository to achieve what I want to do.
Krypo [2] seems like it is being used by Datanucleus.
Anyways - how to do this with ISIS? Any suggestions appreciated.
Some context:
A Building (component)  has a current FireSafetyCertification (component) and is published
as a public record and these records are kept for 10 years. A change to a record that is viewable
by the public is regarded as a new public record. Overtime (slowly) these FireSafetyCertificates
may expire/withdrawn/change in detail. But when they are published they constitute a public
record. Building has names, addresses, images, parts, construction details, etc. whilst FireSafetyCertification
has documents, exemption notices, expiry dates etc. 
Using the Temporal Object pattern, a Building object has 1..* BuildingVersion and all of the
Building's detail hangs off BuildingVersion. 
Any other suggestions instead of Temporal Object pattern also appreciated.
[1] https://martinfowler.com/eaaDev/TemporalObject.html [2] http://camposha.info/source/java-kryo/
Thanks!
David.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message