From @alexpott in #1735118-113: Convert Field API to CMI :

FieldInstanceStorageController():

+ * Note: the class take no special care about importing instances after their
+ * field in importCreate(), since this is guaranteed by the alphabetical order
+ * (field.field.* entries are processed before field.instance.* entries).

This comment proves we need to refactor the config import process so we can implement a way for config providers to say that this config needs to be imported before this other piece of config. Relying on the alphabet is smelly :)

Comments

Issue tags:+Configuration system

Better tag (I think)

When we originally had this discussion like a year and a half ago we talked about using the module dependencies graph as an ordering mechanism. This seems like the simplest solution to make happen?

Category:task» bug
Issue tags:-CMI

I'd call this a bug. I'm tempted to cal it a major bug. That seems pretty fragile. :)

Re: using module dependencies, I don't think that solves the problem. A module should be able to declare an arbitrary import order for its own config data depending on its internal needs. Like the field/field instance example.

i suspect we'll end up wanting something like what we implemented after discussions at badcamp aaaaaages ago?

that is, allowing multiple cycles over the import list, and a mechanism for modules to say 'hey, call me again'.

or something else, if the current import code can't be made to work that way any more.

Priority:Normal» Major

Status:Active» Closed (duplicate)

Issue summary:View changes

Better link