Primary tabs

How does a feature figure out, whether it's been updated?

  • The "normal" state of the feature is the state of e.g. the fields involved. The relevant resource is asked: What is the state? E.g., for a field you'd look at field_config and field_config_instance and see how the field was configured.
  • The "default" state of the feature is stored in the feature itself. There are functions that will return how things should be configured, e.g. a function implementing hook_field_default_fields.
  • These 2 requests result in arrays. Bascially the 2 arrays are compared. If they're the same, you know that the feature and the database are in sync.
  • If the feature and the database aren't in sync, it is decided where the problem lies. Other configurations are checked and compared in order to make the decision.