FS#45 — SCM
Attached to Project— SWiZ
Opened by Antonin Komenda (gree) - Sunday, 13 April 2008, 04:56PM
Last edited by Antonin Komenda (gree) - Monday, 19 July 2010, 02:08AM
Opened by Antonin Komenda (gree) - Sunday, 13 April 2008, 04:56PM
Last edited by Antonin Komenda (gree) - Monday, 19 July 2010, 02:08AM
| Blueprint | |
| core | |
| New | |
| No-one | |
| All |
| Low | |
| Low | |
| 5.0B | |
| Undecided | |
| Undecided | |
![]() |
Design SWiZ SCM, requirements:
- overridable configs
- instalation as simple as possible (default configs)
- understandable error messages when not properly configured (required conf fields - DNS, writable dirs test, ...)
- complex configuration (not only strings, e.g. dataflow chain, logging rules, ... )
- configuration of packages
- overridable configs
- instalation as simple as possible (default configs)
- understandable error messages when not properly configured (required conf fields - DNS, writable dirs test, ...)
- complex configuration (not only strings, e.g. dataflow chain, logging rules, ... )
- configuration of packages
This task depends upon
This task blocks these from closing

current: index -> config (autoload), loader -> application (main (holder, connector, linker (messages, logger), parser))
should be: index -> loader (autoload) -> application (logger, configurator, main (holder, connector, linker, messenger, parser))
extendable loader, loggers, config, and others
in runtime can be changed (added, switched, updated) items of interest - loggers, config snippets, packages, etc.
- e.g. db logger can be added after connector initialization, which is designated to be initialized later
loggers:
static log methods (as Loader)
onNeedLoggers
Logger is defined by interface (can be implemented by 3rd party project)
object:
initialize sub holder must go higher (object)
why is not loader G_Object?
why is not config G_Object?
> why is not config G_Object?
the paths file (formerly a G_Config descendant) has been transformed into G_Object with singleton instance... so now, it is overridable on class basis.
What if the configuration would be simply params for "all" components at one place? ( there is no config, only setParams ;) )
current: index -> config (autoload), *loader -> application (*logger, *main (logger, holder, connector, linker, messenger, parser)
should be: index -> *loader (autoload) -> application (*logger, *configurator, *main (logger, configurator, holder, connector, linker, messenger, parser))
* = singleton