Info on how does Features work deep inside. Who has the precedence: values in code or values in DB? etc...

Created on 18 November 2013, about 11 years ago
Updated 1 April 2024, 9 months ago

Hello everyone!

I have the following situation:
I have a feature for Elysia Cron, which containes bunch of featureized cron tasks. I made few changes in the feature. Before I pushed new code the feature was in default state. After the push I got the feature in overridden state - all changes I pushed became overrides.
Revert helps to get new values in place, but I thought that revert is not necessary in this scenario. My understanding was that if a feature is in its default state all the changes in the code would be automatically picked up as new defaults. Thus - no revert needed. But...

It truned out that Elysia Cron has its own table with the data and it looks like when there is something in that table - new values in code won't be picked up automatically and will result in overridden state... This confuses. Although it looks for me like reasonable behavior, some of fellow developers are not agree =)
I also noticed same behavior for Strongarm.

So... here are some questions:
- Who has the precedence: values in code or values in DB? Based on what I experienced - DB has the precedence. Is that true?
- What is normal workflow to update a feature when it's in default state? I do it in two steps - push code, clear cache. Is this right?
- If one gets the "Needs Review" state after pushing feature's new code. Why does it happen? My guess is he didn't clear cache. Am I right or are there any other reasons?
- What is the data flow inside the Features module: where does the data go from code, when doesn it go to DB, who takes care of saving data in DB - Features or modules?
- When update a feature - do we need to change it's version?

Any info will help!
Links to good articles about Fetures' insides will help as well!

PS. I used google and everything I get are just esentials on how to use Features, not how it works deep inside.

Thanks in advance!

💬 Support request
Status

Closed: outdated

Version

1.2

Component

Documentation

Created by

🇺🇸United States euk

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇮🇹Italy apaderno Brescia, 🇮🇹

    I am closing this issue, since it is for a Drupal version no longer supported. Please re-open it, if it is relevant for a project branch that runs on a supported Drupal version.

Production build 0.71.5 2024