introduce migration guide

Jakob Ketterl 2021-04-25 21:47:52 +02:00
parent bf5dfdc389
commit 45e296964a
1 changed files with 54 additions and 0 deletions

@ -0,0 +1,54 @@
# Configuration system
The configuration system in OpenWebRX has been completely overhauled in OpenWebRX 1.0. It doesn't offer many new
settings, the main change is that most configuration can now be performed from the new web configuration interface,
meaning that editing configuration files should be a thing of the past for normal usage now.
The new configuration system also has a new storage implementation that will replace the familiar `config_webrx.py`
file. To facilitate the transition, OpenWebRX will still search for and read existing configuration files in the
established locations, alongside the new storage system, and will combine the two at runtime, with the new configuration
system taking precedence.
It will not update the old configuration files, but instead write all changes to the new storage system. In
combination, that means that as soon as you start editing the configuration using the new web configuration, your
existing settings, along with the modifications, will be written to the new storage system, and your previous
configuration files will become obsolete. This should ensure a seamless, transparent migration of existing configurations.
Future versions of OpenWebRX will eventually drop the support for the old config files. At this point, the transition
to the new config system will be complete.
## Hot-wired settings
Most of the settings in the new web configuration have been reconnected in a way that makes them take effect
immediately. This is especially useful when adjusting device or profile parameters, since this allows you to open
receiver and config alongside each other and immediately see the effect of your adjustments.
## Introduction of `openwebrx.conf`
Some very fundamental settings (4 in total), that would be hard to change at runtime, have been moved to a new
configuration file `openwebrx.conf`. This file will be located in `/etc/openwebrx` in most installations, but given the
nature of these settings, they should not need to be modified very frequently, if at all.
This new configuration also supports a configuration directory structure in `/etc/openwebrx/openwebrx.conf.d`, where you
can place configuration overrides. This allows customization of these parameters without overriding the packaged
configuration file.
## Individual files and their migration
`config_webrx.py` is effectively migrated in slices, since its settings are spread across the multiple sections of the
web configuration. Every section will migrate those settings that are in it, so by the time all sections have been
edited once, the full file should be migrated.
`bookmarks.json` will be migrated as soon as you start editing bookmarks with the new bookmark editor.
`bands.json` will not be migrated at this point.
# Red Pitaya support
The existing "red_pitaya" device type has been dropped in favor of the new HPSDR support, which also covers the Red
Pitaya devices.
# `rtltcp_compat` changes
The former settings for the `rtltcp_compat` feature may not be migrated automatically. If this happens, add the new
"Port for rtl_tcp compatible data" setting to the device and set it to the port number accordingly.