Extenders aren't limited to just adding fields. Sometimes it can be useful to relabel, hide, or otherwise change Faculty/Staff Directory's stock fields. In those cases, we change the interface to which we're adapting. Rather than ISchemaExtender
, which adds fields, we implement ISchemaModifier
, which modifies them. The adapter declaration changes from this…
implements(ISchemaExtender)
…to this…
implements(ISchemaModifier)
When changing fields, be cautious. If you violate assumptions made in other code, it could result in errors. For example, changing a numerical field to a text field would be risky, but hiding an unrequired field should be safe, since, as far as dependent code is concerned, it's just as if the user left the field blank.