I see that Orchard is built of features; I see that I can mark classes with an OrchardFeatureAttribute; I see that I can describe my feature in the manifest file and I see that I can enable a feature through the admin panel.
Now for the questions. What does it mean for a feature to be enabled? Reading through the code, I believe that this means that classes marked with the appropriate OrchardFeatureAttribute will be registered with Autofac. Is this correct?
Regarding theme-features, I see that Orchard has the odd capability of enabling a theme that is not set to be the current theme. Looking through the source code, I believe that what I am seeing is that a non-current, enabled theme means that all features
within that theme are enabled. Does this mean that classes in a non-current, enabled theme are being resolved? This seems like it could lead to some strange side effects if people started putting strange features into themes.
To continue that thought, I also noticed that once I use a theme, it becomes enabled. If I switch to another theme, the previous theme is still enabled. I have to manually disable it.
Phillip Scott Givens