Duplicating & changing title still possible eventhough option is set to disabled

I got a page-template with the following options set

options:
  changeSlug:
    *: false
  changeStatus:
   *: false
  changeTemplate:
   *: false
  changeTitle:
   *: false
  delete:
   *: false
  duplicate:
   *: false
  preview:
   *: false
  read:
   *: true
  update:
   *: true

When the page is opened in the panel, you cannot change the title by clicking on it.
But you can still change the title (and duplicate the page) when clicking on the settings icon.
This is also possible using the settings menu of a pages-section where this page is displayed in.

So either this is a bug, or the specifications on the following page are incorrect for Kirby 3.4.3:

I cannot reproduce this issue with your settings. All options in the settings menu are greyed out. The only issue I noticed that I get an error with the preview option settings.

That is odd, what other possible settings could be there that this is not working as intended? As I tripple checked (and freshly installed the 3.4.3 version), and it still is behaving this (incorrect) way.

Could you please post the complete blueprint for testing?

label: '{{ page.title }}'
unlisted: true
options:
  changeSlug:
    *: false
  changeStatus:
   *: false
  changeTemplate:
   *: false
  changeTitle:
   *: false
  delete:
   *:	false
  duplicate:
   *:	false
  preview:
   *: false
  read:
   *: true
  update:
   *: true

One important detail I just realized. The page I set this template to is a draft. Not sure if that influences the behavior.

That’s not a complete blueprint, I’m afraid?

There is no content indeed, but using this as a page-template gives the result in my current setup (so it’s essentially a Minimal Reproducable Example)

Well, your blueprint should at least have a title. Yours starts with a label, so this is not a blueprint I can test. Please check if this blueprint is even used for the page your are testing.

fun fact, Both title and label yields the same visual results (and yes, I do use it as template for the draft page).

Ok, for some reason the blueprint works, although a title is supposed to be mandatory, according to the documentation.

I found some tab characters between *: and false in your yml file that rendered some of the options invalid. Never use tabs in yaml files, they are not allowed according to the specs and can easily cause errors.

That does the trick indeed. Thought vsCode would recognize invalid (yml) syntax. Turns out it doesn’t, also formatting doesn’t seem to pick up on the tabs.

Thanks for the help.

Have you installed a yaml checker extension?

I do actually, but it looks like this atm:

Loats of errors because it doesn’t know what the * is for, but none about tabs.

I use the extension YALM version v0.11.1 by Red Hat.

Just on a sidenote, if you want to disable an option generally, setting

changeTitle: false

etc. should do the job.

But yes, the linter doesn’t like the star. Looks like it still works and validates if you wrap the star in double-quotes.

options:
  changeTitle:
    "*": false

The first option looks clean :smiley: I think I’ll keep that one.

Good to know the star-wrapping does work.

Thanks for the hint

The variant you used is in fact only useful if you want to set different settings for different user roles, for example:

options:
  changeTitle:
    "*": false # disallow for all roles but admin and editor
    admin: true
    editor: true