nbuchwitz / icingaweb2-module-map

An openstreetmap based map module for host and service state visualization with Icinga Web 2
https://icinga.com/docs/icinga2/latest/doc/13-addons/
GNU General Public License v2.0
81 stars 17 forks source link

User preference for default zoom, longitude and latitude #74

Closed dgoetz closed 6 years ago

dgoetz commented 6 years ago

Expected Behavior

In a multi-national organization I want to have different default settings for zoom, longitude and latitude for different users.

Current Behavior

Everyone gets the defaults configured in the settings.

Possible Solution

My idea would be to have user preferences for this. Another option would be adding this to a role, so you can different roles for the admins in the different countries.

Context

Colleagues from asia and america with restriction to only see their hosts get as starting screen europe without any host.

Your Environment

nbuchwitz commented 6 years ago

Hi Dirk,

indeed this would be a great feature. Since I wanted to do this for a long time, I took your feature request as an occasion to implement it. For now there is no GUI for editing the user specific settings, but you could configure the settings in /etc/icingaweb2/preferences/$username/config.ini like this:

[...]

[map]
stateType = "soft"
default_zoom = "12"
...whatever...

Please use the branch feature/user-settings for your tests.

nbuchwitz commented 6 years ago

Role based defaults are imho not possible, as there could be multiple roles but no hierarchy...

dgoetz commented 6 years ago

Thank you very much. I already applied the patch and made people happy with it!

I also tested it with the database backend and it works fine. An example for others that places the map somewhere showing southeast of USA:

insert into icingaweb_user_preference values ("USER", "map", "default_zoom", 5, "2018-08-23 08:52:19", "2018-08-23 08:52:19");
insert into icingaweb_user_preference values ("USER", "map", "default_lat", "29.87", "2018-08-23 08:52:19", "2018-08-23 08:52:19");
insert into icingaweb_user_preference values ("USER", "map", "default_long", "-88.90", "2018-08-23 08:52:19", "2018-08-23 08:52:19");

For the role based configuration you are right, as there is no hierarchy it would only work if zero or one role of the user has this settings. For more roles it would require an additional setting for the priority/order, but I fear this would lead to too many misconfigurations.

nbuchwitz commented 6 years ago

Thanks for your feedback, I didn't test with the sql config, but are happy to hear that this works too :smile:

Is your customer maybe willing to be named as a user of the map module? I'm looking for people who use the map module for my OSMC talk..

dgoetz commented 6 years ago

I have send you an email about customers using the map module.