[MGNLCT-38] Tracking CT definition changes Created: 28/May/18  Updated: 03/Dec/18  Resolved: 07/Jun/18

Status: Closed
Project: Content Types
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0

Type: Task Priority: Neutral
Reporter: Oanh Thai Hoang Assignee: Oanh Thai Hoang
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 1d
Time Spent: 2.25d
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: Content Types evolution
Sprint: Saigon 147
Story Points: 3

 Description   

Detects what're changes in CT definition at runtime.

Supports storing snapshots, versioning of definitions

 

Wrapper provider approach:

  • POC for Wrap definition provider with additional info.
  • Keep previous version of contentType with wrapper provider
  • Keeping one previous content type definition


 Comments   
Comment by Oanh Thai Hoang [ 28/May/18 ]

POC is introduced in https://git.magnolia-cms.com/projects/VNPD/repos/content-types/pull-requests?create&sourceBranch=refs%2Fheads%2FMGNLCT-38&targetRepoId=1883

Comment by Ngoc Nguyenthanh [ 31/May/18 ]
Using JAVERS - Object auditing and diff framework for Java - javers.org

Usages - https://javers.org/features

  • Compare complex object structures - May useful for changes detection, especially for model definition change.
  • Track every change of object fields as well as relations changes - Know exactly what're changes in our definition
  • Browse data history in views: Changes, Shadows, Snapshots
  • Javers Query Language - Use Javers Query Language to easily query for changes of a given class, object or property
  • Persist data change history in MongoDBPostgreSQLMySQLOracle or Microsoft SQL Server. => We may need to write our custom repository for JCR storage. But I think it's not a hard part.
    • By default InMemoryRepository is using.

Downside

  • Only support Java 8 and above
  • Doesn't support JCR or File System for history storage
  • Can't find changes based on interface. Requires type mapping

An attempt to detect changes in node type definition - Detects removed node types

 

Generated at Mon Feb 12 00:36:33 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.