Move default configuration files#1532
Conversation
|
@oupala Please give it a try if you can |
|
Some of the distributions might have to change a path if they do anything special with those default configuration files:
Any comment from Cloudron (@dswd), DPlatform (@j8r), YunoHost (@plopoyop) ? |
|
Since Yunohost is only using the cli interface, it won't change anything for yunhost package. |
|
I just checked my Cloudron package code and it seems I am using the cli too. |
|
Thanks @Alkarex , a line need to be changed on DPlatform. These paths are clearer than the previous ones 👍 |
|
@Alkarex I can test for sure. But what should I test? The install process, the usage after installation? The usage with my own data directory? |
|
@oupala If you just try the /dev branch for your own case, that will do it :-) |
|
I tested your fork (Alkarex/FreshRSS branch dev) and I end up with so many configuration files: Is it normal to have so many configuration files? Even after a clean install (no user data directory), there is 4 configurations files! It becomes hard to say where is the configuration stored. |
|
Yes, that looks fine. There is a default set of settings for the system, and a default set of settings for a user. Those are not supposed to be edited by end-users. Then there is the settings of the concrete instance, and one configuration file per concrete user. |
|
Ok, but then there is 2 configurations files in How do you ensure that these files stay up to date? Are they both containing just the modified settings from the default ones? In my case, the data directory is never updated by an upgrade. Is there an automated process to upgrade them whenever ansible upgrades the FreshRSS instance? (such as the cookie setting) |
|
@oupala Sorry for the delay. |
|
Ok @Alkarex thanks a lot. In my opinion, the data directory is the user domain. There should not be any update in this directory made by the upgrade process, at least not without warning the user. With my ansible role, the data directory is never updated by the upgrade process. So if any of your upgrade needs an update in the data directory, you should add a BREAKING CHANGE in the changelog so that the user knows that he has to change something in the data directory. |
|
|
|
Thanks @Alkarex for pointing the difference between "user space" and "write access". Can you help me to define where is the "user space" then? My point is not about manually editing files. I do fully agree that all operation should be done via the CLI, which knows better that any human how to manage data. My point is about separating the user data from the app data. When my ansible role installs a new release of FreshRSS, it installs it in a new directory (either by deleting the previous directory, or by creating a new directory). After that step, the ansible role creates a symlink to insert the user data so that the user can find all his settings, rss history, favorites articles, that he had on the old instance. This is only possible if user data are clearly separated from the app data, and if any breaking changed in user data are clearly documented (in the changelog). |
|
From version 1.7.0, copying the content of your old |
|
Good point. Will the following work?
This way, it won't merge the two Could it be FreshRSS's responsibility to update a data directory when needed? |
#1531