What does "Field is System" mean when defining custom classes

Dominic Porter asked on January 29, 2016 12:10

Hi,I cannot find any documentation that describes what the option "Field is System" means when defining class fields for a custom module. It seems to default on whenever you create a field. I expect this will be a "doh!" moment when someone explains but its not obvious to me just now!

Thanks

Recent Answers


David te Kloese answered on January 29, 2016 12:50

Hi,

The only thing I could find was that it will prevent deleting the field later on... You'll get the warning "The selected field is the system field and cannot be deleted."

The created DB table has nothing worth mentioning...

So probably if you have any (external) logic relying on this you can prevent deletion.

David

2 votesVote for this answer Mark as a Correct answer

Martin Hejtmanek answered on February 1, 2016 08:47

This is a flag which is used during synchronization and upgrades to tell for which fields the author data are more important than customized data. It is currently more usable to us in Kentico, but in case you would publish your module and allow some of its classes to be customizable (ability to add custom fields to them), you can tell which fields are yours and which aren't. I recommend to keep this always checked for your module classes because we may eventually provide even more upgrade capabilities for custom modules, and it is important that your metadata is consistent.

2 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.