- Say we have four site columns that we created:
- Site Column 1
- Site Column 2
- Site Column 3
- Site Column 4
- Next we decide 1,2,3 make a logical unit and group it together and created a content type which references those site columns.
- Next we created a list with a column:
- List column A
- Then we customize a list by adding the content type to it, since site columns 1,2,3 are referenced the by the content type, so they are copied to the list.
- Finally we decide to add the site column 4 to the list.
- So now the List contains 5 columns:
- List column A
- Site Column 1,2,3 (referenced by the content type)
- Site Column 4
- Of course, it is possible to simply create a list with no corresponding site columns and content type.
Custom Columns in Lists
- Easy to create
- The default choice of most users
- No reuse
- Little downside for one-off columns
- Very problematic if they contain meta data or business rules or configuration information that are likely to change
- Choice column and calculated column should be considered to be Site Columns
Site Columns and Content Types
- Reusable
- Centrally managed
- Can leverage inheritance
- Require more knowledge of SharePoint
- Potentially require more permissions
- Ideally involve more forethought
Editing Columns and Types
- Direct Edits to List Columns
- No cause for concern
- Site Columns
- No issues with Display Name
- Anything else complicates inheritance
- Alternatively, you can edit Site Columns
- Always affects all associated content types
- May affect all list columns copied from the site column
- Edits to the Content Type
- May affect all lists based on the type
- Note: As a result, it is important that you really understand the implications of all this when you are assigning permission to list. And deciding who has the ability to edit the list design. When a list is based on site columns and content types, and a user goes in to the list directly to edit say a formula or choice, they are editing the instance of the column which was copied to the list, not the site column itself. So there is potential versioning problem when we have a list that is based on site columns and content types when users edit the list directly.