This document relates to the so called "STK3" initiative, which has evolved more into "Lower the Entry Barrier" initiative.
Most of the documents are in Google Drive.
Here I will go into more detail about some of the concepts. These will probably be broken into individual documents.
Config by File
What if configuration for templates and dialogs could be done in a file instead of in the adminCentral configuration tree?
This comes out of thinking of ways to treat resources and templates more equivelently, ie in a standard way. And then realizing that developers like working with files and have a lot of familiarity with tools and workflows there.
Why does one prefer to work on resources and templates as files (in an ide or nice text editor) rather then in adminCentral? Most of these things would apply to configuration as well.
On files | In adminCentral | |
---|---|---|
Clean syntax (Not JCR “system view”)
Applied dynamically. Either:
Not saved to repository (Does config tree show file contents?)
Re-applied to repository every time.
Active loader - system loads files automatically on change.
Exports clean syntax
Working on configtree in AdminCentral, Either:
Auto export config files on change.
You are seeing what is in files - and your edits are immediately written to the files.
Broad implications
you can’t overwrite configuration anymore - you always have to extend it.
no module version handlers.
Questions
- Are file changes saved to repository?
Suggestion
Any config in a file is loaded to repository at mag startup - completely overwriting the root node of the file and all children.
Analyzing implications of ConfigByFile
Implications | Config in AdminCentral | Config by File (by Code is similar) | |
---|---|---|---|
UI | See the entire running configuration. | Have multiple files (views) open. | |
Instant updates | Change the config from ANY module. Instantly see the impact. | Change only your module. Would need tooling to reload changed config file. | |
Version Control | Pain that you have to export (often forget) Bootstrap diff / merge are difficult to understand Pain to apply changes from others - import / reinstall. | Seamless, works like other files. | |
Module version updates MVH | Pain to write & test & review. | Not necessary. | |
Changing config of other modules | Possible | ||
Agile changes | |||
Deployment |