-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
4.x major/breaking new features list #295
Comments
Create an individual configuration file for each module in Consider this should not clash with the user configuration which is currently placed there to override the default config. The current Debian package also already places its This still would need a decision on how user overrides then should take place:
As pointed out, I'd go with the second bullet point for module configs, and keep the first for "global stuff" as it's now. Package each module separately: Uh, really? I didn't notice the Monitorix package already became that big that "disk space footage" would even be noticable. The goal of only using the modules needed would be covered by the point above: No corresponding config in No notes on moving the |
Yes, OK. I think we could follow the "Apache way" (in RHEL) to create a second configuration directory named Monitorix would load the configuration files in the following order:
So each user could still have the current
I didn't consider the idea of releasing new versions of modules separately, that would be indeed very difficult to stay on the track of the current version. I just had in mind the Don't know how package building works on Debian and other distributions, but yeah, perhaps it creates an excessive amount of work. So, let's remove that feature. 😄.
On my! 🤦 |
Yes, that sounds solid, thanks!
Ah, OK, then all is fine 😄
TBH, neither have I. My workflow is based on RedHat
Yes, that solution I can live with 😆
Well, you know how it goes today. Question is less what is needed and should be done – but rather what is fancy and technically possible, whether it makes sense or not. Just look at how Github breaks compatibility with most non-Chrome browsers nowadays for no obvious reason, just bells-and-whistles. Or those websites just showing the string "this app requires Javascript" when visited with JS disabled (hey, I didn't want to start an app – I wanted to read a simple page, dude!). And please don't get me started on my NodeJS rant… 🙊 🤐 🤪 |
It's more easy to have It will be very simple for user to add only section of with it need changes. |
What I would suggest for the configuration files is to implement an That way, package maintainer and users will be able to accommodate the configuration hierarchy to their convenance. This would work that way:
This would allow, at convenance:
|
That would cause a mess. First, as a user, at least I'd prefer to have a config with only the stuff I need to adjust – no need for 5k extra lines that just make me dig through stuff I don't need. Second, what happens should the structures of even only sections in the config file change? I'd have to start over, hopefully remembering what options I adjusted. Not UX friendly.
Not a bad approach. By default, there could be a Side-note: no idea whether
Yes, basically. But then be careful where you include what:
As a user can simply drop configs to be processed into Note that this way you can use a monolitic |
It will not if you copy for example there is such scenario in other apps already |
This puts a little risk. The installer will need to upgrade automatically the
Two files with the same contents ... I can imagine that people will end up touching only the
If I understand correctly, we will have (the bottom part of)
Then on every new release, the new modules won't be reflected in the configuration file unless the user insert the lines manually:
Also, the user must be careful enough to insert the lines of the new modules above of the lines of his own configuration files, otherwise the override won't has effect. At the end we will end up, again, with and outdated
I think this is still a good starting point, because:
Still, the current way of enable graphs will require the intervention of user in the main configuration file:
Again this is a problem with new releases that come with new modules, as it requires to edit the main configuration file and include manually the new modules. This is tedious and at the end most users don't do that. So in order to solve this and avoid completely the intervention of the user, we should take in consideration the way suggested by @IzzySoft of enabling/disabling the modules using symbolic links. This would have the following advantages:
Thoughts? |
@Saentist not bad idea, but it not solves the problem of upgrade the |
In this scenario is used in ministra/stalker_porta for more then 10 years
|
On IRC @lyknode made me see that his approach could be just simpler with the following pair of lines:
I think that this idea plus the ability to enable/disable modules using symbolic links would be the way to go. |
But what if a new release comes with new modules in the I think that the best way to avoid user from touching the incorrect configuration file is drive him to the correct directory. That is, if the user tries to edit |
It will not be enabled at first system.conf
example in user conf.conf
this will disable just system graph without any other data needed from section second if want to change parameters need to add and coresponding section to user.conf to have custom changes, else will be used default. |
Exactly, that's what we are trying to avoid. |
then make web configuration constructor ;) p.s. edited precious post to be more clear. |
May I also quote what you initially wrote?
Apart from that, it would mean you'd have to check and update the user config each time modules were added/removed, as the full block would be needed there.
Lew Nikolayevich Tolstoi had a nice answer to that. Quoting and translating it from what I remember: "Don't let yourself being impressed by someone saying »My friend, we're doing it this way for 40 years already!« You can do something wrong for 40 years." 😄
Oh my… please not. That'd totally destroy what Jordi wrote above (and what I had in mind a little further up as well):
I'm with @mikaku here: we should keep things as simple and straight-forward as possible for the user. Having to tamper with large files, doing a lot of copy-paste, being forced to remember orders of importance – all that leads to mistakes and frustration, on both sides (or rather on all 3 sides, considering distribution-specific stuff the packager has to take care for). |
@IzzySoft in user.conf must not be possible to add sections with lines with not exist in main.conf |
Which instructions do you think a user would prefer:
or
And please also keep the not-so-tech-savvy-users in mind. Enabling/disabling modules via symlinks is a breeze. Having to remove/add/(un)comment blocks in the user config for that is a nightmare. |
its not so hard to copy config Value is always static |
This issue will serve as a list of all the major/breaking new features that could be nice to include in a future 4.x version:
conf.d/
:reports/
out from thewww/
(Move web assets to /usr/share/monitorix #294):The text was updated successfully, but these errors were encountered: