[MGNLPN-266] As a developer, I want to be able to define a component as un-personalizable Created: 27/May/16  Updated: 11/Oct/16  Resolved: 29/Jul/16

Status: Closed
Project: Magnolia Personalization
Component/s: None
Affects Version/s: None
Fix Version/s: 1.3

Type: Story Priority: Neutral
Reporter: Antti Hietala Assignee: Roman Kovařík
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
causality
is causing DOCU-765 Disabling and restricting component p... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Date of First Response:
Epic Link: Component P13N
Sprint: Kromeriz 54
Story Points: 3

 Description   

Proposal:

1) Add a new property personalizable in the template definition. We already support similar properties deletable, moveable and writable that are specific to component templates and restrict the actions that editors can take on components. This is an existing pattern.

Example:

my-module/templates/components/textImage.yaml
templateScript: /my-module/components/textImage.ftl
renderType: freemarker
dialog: my-module:components/textImage
personalizable: false

The new property personalizable should be true by default. This means that component personalization is an opt-out feature: a site admin needs to specifically turn the feature off if they don't want to allow component personalization. It also means that an editor can start experimenting with component personalization immediately without having to ask IT to turn the feature on.

2) To restrict personalization of a component in a particular area, add a new permission personalize in the area definition. This is also an existing pattern. We already support the permissions write, move and delete. As a use case, you may want to allow editors to personalize textImage everywhere except in the footer area.

Example: Restrict personalization of textImage in the footer area to the superuser role

/my-module/templates/pages/home.html (partial fragment)
areas:
  footer:
    availableComponents:
      textImage:
        id: mtk:components/textImage
        permissions:
          personalize:
            roles: [superuser]


 Comments   
Comment by Martin Drápela [ 20/Jul/16 ]

1) personalizable property added to component properties in DOC55: https://documentation.magnolia-cms.com/display/DOCS55/Component+definition#Componentdefinition-Componentproperties

2) personalize property added to area permissions in DOC55: https://documentation.magnolia-cms.com/display/DOCS55/Template+availability#Templateavailability-Restrictingcomponentactionsinanareatemplate.

Generated at Mon Feb 12 06:35:56 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.