You can remove user-defined attributes from the list of attributes for a content
type. The list includes all user-defined attributes for the current content
type.
This situation prevents you from removing a deployed attribute:
- The attribute is mapped to a configured Part or Product attribute.
- The attribute is used to check a configured attribute value as part of a
lifecycle rule.
If the app
cannot remove the attribute, it displays a message indicating the reason (either it
is used in a lifecycle rule or is referenced by a collaboration relation parameter).
To remove the attribute, you must first remove the corresponding lifecycle rule.
You should not remove attributes after the environment is deployed and is in
production. If your installation has been deployed and people are creating objects,
removing an attribute could impact business processes, and the affect on existing
content could be inconsistent.
If content has been created and you remove an attribute used by that content:
- If Part instances exist, the attribute is removed from the instances with no
notification to the user. No inconsistency will appear afterwards.
- If Product or Representation instances exist, the attribute is removed from the
instances with no notification to the user. However, the value specified for a
removed attribute can appear on preexisting instances on a newly-added
attribute. This situation can happen in the following use case:
- Add a string(16) attribute "Attribute1" on type Product with default
value "default1"
- Create a product. Assign value "value1" to Attribute1.
- Remove "Attribute1" from type Product.
- Add a string(16) attribute "Attribute2" on type Product with default
value "default2".
- The value of the attribute "Attribute2" will not be "default2", but: ""
(empty) in certain cases, "value1" in others.