I have a an entity with a List<List> that I am tracking changes on. I just tested an Object which has 837 List object
commit 3.0, author: me@here.com, Feb 9, 2015 2:25:48 PM
changed object: StagingTable/54d909bb102cbbfdf54855ea
list changed on 'rawRows' property: [
(10).'[T0, N1, M0, SX, VALUE:IINOS]'>>'[T0, N1, M0, ERROR, VALUE:ERROR]',
(11).'[T0, N1, M0, ERROR, VALUE:ERROR]'>>'[T0, N2, M0, S0, VALUE:IIB]',
(12).'[T0, N2, M0, S0, VALUE:IIB]'>>'[T0, N2, M0, S1, VALUE:IIB]',
(13).'[T0, N2, M0, S1, VALUE:IIB]'>>'[T0, N2, M0, S2, VALUE:IIIB]',
(14).'[T0, N2, M0, S2, VALUE:IIIB]'>>'[T0, N2, M0, S3, VALUE:IIIC]',
(15).'[T0, N2, M0, S3, VALUE:IIIC]'>>'[T0, N2, M0, SX, VALUE:IINOS]',
(16).'[T0, N2, M0, SX, VALUE:IINOS]'>>'[T0, N2, M0, ERROR, VALUE:ERROR]',
(17).'[T0, N2, M0, ERROR, VALUE:ERROR]'>>'[T0, N3, M0, S0, VALUE:IIC]',
(18).'[T0, N3, M0, S0, VALUE:IIC]'>>'[T0, N3, M0, S1, VALUE:IIC]',
(19).'[T0, N3, M0, S1, VALUE:IIC]'>>'[T0, N3, M0, S2, VALUE:IIIB]',
...
<SNIP>
...
(837).'[TX, NX, M1NOS, S3, VALUE:IIINOS]'>>'[TX, NX, M1NOS, SX, VALUE:IIINOS]',
(838).'[TX, NX, M1NOS, SX, VALUE:IIINOS]'>>'[TX, NX, M1NOS, ERROR, VALUE:ERROR]',
(839).removed:'[TX, NX, M1NOS, ERROR, VALUE:ERROR]'
]
So removing a single line from the List causes an audit trail of 800+ entries. Instead, wouldn't it be better to have this be the result:
For example, if I put the raw JSON out and delete the line, a command-line diff looks like this:
$ diff before.json after.json
44d43
< [ "T0", "N1", "M0", "S3", "VALUE:IIIC" ],
Not sure how easy this would be to accomplish, but I do worry that if small changes are producing so much noise, what if I had a table with a very large list. The growth of the changelog would be too quick.
I have a an entity with a List<List> that I am tracking changes on. I just tested an Object which has 837 List object
So removing a single line from the List causes an audit trail of 800+ entries. Instead, wouldn't it be better to have this be the result:
For example, if I put the raw JSON out and delete the line, a command-line diff looks like this:
Not sure how easy this would be to accomplish, but I do worry that if small changes are producing so much noise, what if I had a table with a very large list. The growth of the changelog would be too quick.