generator-helix
generator-helix copied to clipboard
Added option to create configs with projectname, not storing it as part of foldername
Requirements
- Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
Description of the Change
I see that there is already similar pull request, but this one add feature as optional part.
The issue no. 1: (copied from @vhil PR) When having module folders directly inside Include folder, the "Feature" folders are getting loaded before "Foundation" folders, because "e" goes before "o" alphabetically. As long as the number of features/foundations is unknown it is hard to control the order of layer loading.
Resolution: Create parent folders with layer names. Then you can set Layers order in layer.config
The issue no. 2: Habitat project uses config structure convention as: App_Config -Include --Layer ---FeatureName.ConfigName.config
When coming into this type of solution, using generator-helix for adding new project is time consuming as it not support this convention and after all you have to change it manually.
Resolution: Add option to create configs in habitat style. Then no manual changes are needed.
The issue no. 3: When you check ShowConfig.aspx you cannot distinguish from where patch is comming, as showconfig displays only name of the config, not the whole path. Few features can share the same name of config like "serialization.config" so in case of huge amount of projects, it can be misleading.
Resoultion: Add FeatureName to config file. Then no confusion when detecting from where patch is comming.
Benefits
Two conventions of storing configs when adding project. No manual changes needed when project follows habitat. Less confusion and time spent when detecting config file from ShowConfig.aspx feature. Can easier control layer loading order. Less mess inside App_Config/Include folder.
Possible Drawbacks
Can't see any, as feature is optional, and user can follow old style while adding project.