SharePoint has it’s own Contact list with its own content type, Contact. But what if you want to customize this list. What should you do?
A couple of common customization that you might want are:
- Additional fields
- Remove some of the out of the box fields.
- Reorder the fields.
Easy isn’t it you go to the list and you add, hide, remove and reorder columns. Hmm, this could become painful at a later stage. As my followers will know I frequently use the PnP provisioning engine to copy templates sites. Changes made to the content types on the list are not supported. It isn’t best practice to make changes to list content types anyway. Imagines having multiple contact lists with each list having it’s own customization. I’m not saying that it isn’t maintainable but it is at least going to be confusing.
So what should I do?
I could take the site content type, Contact, and change that content type. But I don’t really like changing out of the box content types or anything out of the box as I might break something that depends on this content type.
If I just want to add fields then I could create a new content type that inherits from the Contact content type.
However if I want to get rid of fields, then I might want to be a bit more careful and potentially just hide the fields.
Quite quickly however I might end up with something that is very different from the original Contact content type.
Maybe inheriting from the Item content type and adding all the fields that I want could be a cleaner way of approaching this. That will give me the flexibility to configure exactly those fields that I want within my list and I will find less issues on my way when I use PnP