In KARL2, configuration of the site is spread over many places inside and outside of the system. Moreover, parts that should be configurable are instead hard-wired.
This specification documents the KARL3 system for managing specification. With this, different Hosting Organization gets a central console for their configuration activities.
There is quite a bit of configuration information used to get a KARL site running. Some of this information is “server configuration” (port number, number of thread, log level, etc.) However, there is also some configuration that is part of the business requirements (list of offices, address for each office, location of RSS feeds, etc.) We will refer to this information as site configuration.
In KARL1, this site configuration was spread across different facilities and was hard to locate and setup. Some was done TTW, some done in a config.py file in the BE, some done in an XML file in the FE, some done in Python code, and some even done hardwired in the code.
KARL2 attempted to reduce this somewhat, but also introduced INI files as a possible source for configuration.
More importantly, the KARL2 cycle began the concept of “Hosted KARL”, where non-OSI Hosting Organization folks might be running a KARL. Thus, providing a coherent story for Site Configuration is even more valuable in KARL3.
The following are some of the pieces of information that need to be configurable.