-
Type: Improvement
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 6.0
-
Fix Version/s: 7.2
-
Component/s: Core, Seam / JSF UI
-
Epic Link:
-
Tags:
-
Impact type:API change
-
Upgrade notes:
-
Sprint:Sprint io 7.2-1
Current Dirty field management has several issues that we should address :
Only the fields really changed should be marked as dirty
Currently the JSF Layout Model will always set of Document Fields that are bound to widgets.
As a result, all the fields are always marked as dirty :
- this makes validation system not efficient (running check for nothing)
- this makes listener work harder (ex:when you want to know what really changed)
DocumentModel should provide an API to retrieve all dirty fields
Currently there is no DocumentModel level API to get all dirty fields : you have to iterate recursively through the schemas and fields :
- this is painful
- this is not efficient (recurse through 100's a fields to discover that none are dirty)
Complex field should be better handled
Let's consider a complex type that is a list of address and I update the street number for one of the address, what we should have is :
# addresses (*) - adress1 : street : AAA number : 3 zipCode : XXX - adress2 : (*) street : BBB number : 7 (*) zipCode : YYY
Diff
If we expose an API at DocumentModel level, may be we could also store the old values to be able to have a diff ...