The locked attribute of a field (not instance!) is much too strict. You might want to allow the user to edit the instance field Label, but not delete it (enter fieldinstance.editable and fieldinstance.deleteable). Currently it's all or nothing:
* All: user can delete and edit the field instance and the field itself (too much power)
* Nothing: user can't delete or edit field instance nor field (no power at all)
If you want the user to be able to edit the instance (eg Label), you must set locked to 0 and then 'manually' prevent all other actions with nasty meaningless form alters.
The infrastructure for this practically exists. A small database update and a small code update in core/field_ui should do it.
Comments
Comment #1
damien tournoud commentedTriaging. Feature requests can only apply to the current development version.
Comment #2
rudiedirkx commentedAnd Drupal 7 is done? That sucks. Well, alright, let's wait a few more years then.
Comment #3
yched commentedI'm not sure I get the request. All instance-level settings can be altered for locked fields (including the label).
Comment #16
anybodyComment #17
anybodyEventually this could be closed as duplicate of #3345006: Locking field.storage should not lock field instance settings (field.field) but I'm not totally sure.