[LIVECOPY-283] Protect MultiValueField field Created: 05/Aug/21  Updated: 16/Sep/21  Resolved: 06/Sep/21

Status: Closed
Project: Live Copy
Component/s: None
Affects Version/s: None
Fix Version/s: 3.2.6

Type: Improvement Priority: Neutral
Reporter: Quach Hao Thien Assignee: Quach Hao Thien
Resolution: Done Votes: 0
Labels: VN-Implementation
Remaining Estimate: 0.5h
Time Spent: 8d 3.25h
Original Estimate: Not Specified

Attachments: PNG File image-2021-08-11-14-19-56-874.png     PNG File image-2021-08-11-14-21-06-269.png     PNG File image-2021-08-11-14-22-22-466.png    
Issue Links:
dependency
is depended upon by LIVECOPY-290 Exclude Node being protected (added t... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[X]* Doc/release notes changes? Comment present?
[X]* Downstream builds green?
[X]* Solution information and context easily available?
[X]* Tests
[X]* FixVersion filled and not yet released
[X]  Architecture Decision Record (ADR)
Release notes required:
Yes
Documentation update required:
Yes
Epic Link: Live Copy maintenance
Sprint: Content Mngmt 10, Content Mngmt 11, Content Mngmt 12
Story Points: 8

 Description   

According to the wiki, https://documentation.magnolia-cms.com/display/DOCS61/Live+Copy+module

We have 3 levels of protecting to protect Livecopy content from changes of Master content:

  • Full pages
    • liveCopyReferenceDropped=true property will be set to the node of page
  • Single components
    • liveCopyReferenceDropped=true property will be set to the node of component
  • Single fields
    • Didn't mention in the wiki, but propertiesToIgnore = [fieldNameProtected,...] will be set to the node of component
    • The term properties above represent for normal field whose value is stored in property of jcr; for a complex field, whose value may be stored in node. Then could the properties term here cover for both cases: property and node

For the special case MultiValueField (or MultiField in UI 6), we shouldn't allow to protect the child field, since they don't have distinct name in generally.

E.g: The compatibility MultiValueField contains a list of LinkFields will be stored in JCR as a property like: multiValueField = [uuidOfLinkTarget_1, uuidOfLinkTarget_2,...], hence we cannot extract name of each child field in this case.

AC:

  • propertiesToIgnore: apply for both field value is node and is property
  • Do not apply protect for child field of MultiValueField/MultiField, but only MultiValueField/MultiField
  • Do not show protect icon for child field of MultiValueField/MultiField, but only MultiValueField/MultiField

MultiValue RichTextField: as expected

 MultiValue LinkField: as expected

 MultiValue Composite (RichTextField + LinkField): not as expected >> need to be improved


Generated at Mon Feb 12 02:27:15 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.