ZABBIX FEATURE REQUESTS
  1. ZABBIX FEATURE REQUESTS
  2. ZBXNEXT-1076

Map is unavailable if rights are removed from an item in a submap

    Details

    • Epic Link:
    • Sprint:
      Sprint 9, Sprint 10, Sprint 11, Sprint 12, Sprint 13, Sprint 14, Sprint 15
    • Story Points:
      1

      Description

      When view rights are removed (in our case by accident) from a component of a submap, the entire map structure which involves this component and map becomes unavailable.

      The feature request would be to instead of making the entire map and submaps unavailable, create an icon for the unavailable component. This way the map will be available, and it is easy to discover the component without the viewing rights.

      Miks Kronkalns]
      1) Map should be available if user has access to at least one map element.
      2) Display a greyed out icon if user has no permissions to this elements.

        Issue Links

          Activity

          Hide
          richlv added a comment -

          this would result in cases where user sees a map with tons of "unavailable" icons and maybe on available only... probably not feasible without a more global permission system redesign

          Show
          richlv added a comment - this would result in cases where user sees a map with tons of "unavailable" icons and maybe on available only... probably not feasible without a more global permission system redesign
          Hide
          Dennis Kanbier added a comment -

          that is true, it is a possible outcome. However, because of the use of an "unavailable" icon the problem would be clear immediately where as of now it's anybody's guess why a map is not working. Not sure what solution would be the better.

          Show
          Dennis Kanbier added a comment - that is true, it is a possible outcome. However, because of the use of an "unavailable" icon the problem would be clear immediately where as of now it's anybody's guess why a map is not working. Not sure what solution would be the better.
          Hide
          Volker Fröhlich added a comment -

          Remotely connected to ZBXNEXT-1857

          Show
          Volker Fröhlich added a comment - Remotely connected to ZBXNEXT-1857
          Hide
          Rostislav Palivoda added a comment - - edited

          (1) Discussed - if no access to element we show only icon of this element, but no labels and other texts.
          TBD - if we need to hide icon and all links to this icon.

          Miks Kronkalns Requirement included in spec. https://documentation.zabbix.lan/specifications/3.4/zbxnext-3732/changes-in-map-api and RESOLVED in svn://svn.zabbix.com/branches/dev/ZBXNEXT-1076

          Ivo Kurzemnieks Which revision?

          @Miks RESOLVED in r69429, r69451, r69466

          Oleg Egorov More coding style issues:

          • maps.inc.php:2054 - missed dot
          • maps.inc.php:2070-2071 - missed space after foreach
          • maps.inc.php:2080 - unnecessary ','

          Miks Kronkalns RESOLVED in r70531.

          Oleg Egorov CLOSED

          Show
          Rostislav Palivoda added a comment - - edited (1) Discussed - if no access to element we show only icon of this element, but no labels and other texts. TBD - if we need to hide icon and all links to this icon. Miks Kronkalns Requirement included in spec. https://documentation.zabbix.lan/specifications/3.4/zbxnext-3732/changes-in-map-api and RESOLVED in svn://svn.zabbix.com/branches/dev/ZBXNEXT-1076 Ivo Kurzemnieks Which revision? @Miks RESOLVED in r69429, r69451, r69466 Oleg Egorov More coding style issues: maps.inc.php:2054 - missed dot maps.inc.php:2070-2071 - missed space after foreach maps.inc.php:2080 - unnecessary ',' Miks Kronkalns RESOLVED in r70531. Oleg Egorov CLOSED
          Hide
          Rostislav Palivoda added a comment - - edited

          (2) If user has no access to the submap this trigger should not be shown in triggers count. Test performance degradation.

          Miks Kronkalns CLOSED as duplicate of ZBXNEXT-3807 subtask (43).

          Show
          Rostislav Palivoda added a comment - - edited (2) If user has no access to the submap this trigger should not be shown in triggers count. Test performance degradation. Miks Kronkalns CLOSED as duplicate of ZBXNEXT-3807 subtask (43).
          Hide
          Rostislav Palivoda added a comment - - edited

          (3) Icon shadowing should be improved, 50% from original.

          Miks Kronkalns Requirement included in spec. https://documentation.zabbix.lan/specifications/3.4/zbxnext-3732/changes-in-map-api and RESOLVED in svn://svn.zabbix.com/branches/dev/ZBXNEXT-1076

          Ivo Kurzemnieks Which revision? What is shadowing anyway?

          Miks Kronkalns Revisions in which this is done are r69453, r69463. Shadowing is not used and I have no idea what it is, but latest decision was to provide different effects to our design team to choose from. It is not still known what effects will be used for inaccessible elements. In any case, this subissue is not relevant to what is known so far.

          Oleg Egorov Before in 3.2 if request empty /php/imgstore.php was white screen, now is

          Undefined offset: 4 [imgstore.php:41 → check_fields) → checl_fields() im include\validate.inc.php:262]
          Undefined offset: 4 [imgstore.php:41 → check_fields) → unset_if_zero() im include\validate.inc.php:97]
          

          Is not critical issue, but it is new undefined offset

          Miks Kronkalns RESOLVED in r70494.

          Oleg Egorov CLOSED

          Show
          Rostislav Palivoda added a comment - - edited (3) Icon shadowing should be improved, 50% from original. Miks Kronkalns Requirement included in spec. https://documentation.zabbix.lan/specifications/3.4/zbxnext-3732/changes-in-map-api and RESOLVED in svn://svn.zabbix.com/branches/dev/ZBXNEXT-1076 Ivo Kurzemnieks Which revision? What is shadowing anyway? Miks Kronkalns Revisions in which this is done are r69453, r69463. Shadowing is not used and I have no idea what it is, but latest decision was to provide different effects to our design team to choose from. It is not still known what effects will be used for inaccessible elements. In any case, this subissue is not relevant to what is known so far. Oleg Egorov Before in 3.2 if request empty /php/imgstore.php was white screen, now is Undefined offset: 4 [imgstore.php:41 → check_fields) → checl_fields() im include\validate.inc.php:262] Undefined offset: 4 [imgstore.php:41 → check_fields) → unset_if_zero() im include\validate.inc.php:97] Is not critical issue, but it is new undefined offset Miks Kronkalns RESOLVED in r70494. Oleg Egorov CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (4) [A] have_selements_available has been implemented and is now returned for user.

          Miks Kronkalns RESOLVED in r69776.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (4) [A] have_selements_available has been implemented and is now returned for user. Miks Kronkalns RESOLVED in r69776. Ivo Kurzemnieks CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (5) [A] selements property is now always visible for admins and superadmins even if it was not requested.

          Miks Kronkalns Resolved in r69776.

          Ivo Kurzemnieks CMap.php: L324 wrong indentation.

          REOPENED

          Miks Kronkalns RESOLVED in r69981.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (5) [A] selements property is now always visible for admins and superadmins even if it was not requested. Miks Kronkalns Resolved in r69776. Ivo Kurzemnieks CMap.php : L324 wrong indentation. REOPENED Miks Kronkalns RESOLVED in r69981. Ivo Kurzemnieks CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (6) [AF] Maps with one element that has deny permissions should not be available at all.Having such maps upon opening in view or editor there are multiple errors on page.

          Undefined offset: 12 [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? add_elementNames() in include\maps.inc.php:354]

          Undefined offset: 10115 [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? add_elementNames() in include\maps.inc.php:339]

          Undefined variable: trigger [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? getSelementsInfo() in include\maps.inc.php:1117]
          Invalid argument supplied for foreach() [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? getSelementsInfo() in include\maps.inc.php:1117]
          Undefined offset: 13621 [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? add_elementNames() in include\maps.inc.php:346]

          reset() expects parameter 1 to be array, null given [sysmap.php:193 ? reset() in sysmap.php:193]
          Undefined index: description [ in sysmap.php:195]
          

          Same errors can be viewed when one of the elements have deny permissions.

          This also heavily affects having submaps.

          Miks Kronkalns Can not reproduce. Most likely RESOLVED by r69962.

          Ivo Kurzemnieks Not a reasuring sentence. You should update to older revision and check for your self whether it is the correct one or not.

          CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (6) [AF] Maps with one element that has deny permissions should not be available at all.Having such maps upon opening in view or editor there are multiple errors on page. Undefined offset: 12 [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? add_elementNames() in include\maps.inc.php:354] Undefined offset: 10115 [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? add_elementNames() in include\maps.inc.php:339] Undefined variable: trigger [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? getSelementsInfo() in include\maps.inc.php:1117] Invalid argument supplied for foreach() [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? getSelementsInfo() in include\maps.inc.php:1117] Undefined offset: 13621 [zabbix.php:21 ? require_once() ? ZBase->run() ? ZBase->processRequest() ? CView->getOutput() ? include() ? CScreenMap->get() ? CMapHelper::get() ? CMapHelper::resolveMapState() ? add_elementNames() in include\maps.inc.php:346] reset() expects parameter 1 to be array, null given [sysmap.php:193 ? reset() in sysmap.php:193] Undefined index: description [ in sysmap.php:195] Same errors can be viewed when one of the elements have deny permissions. This also heavily affects having submaps. Miks Kronkalns Can not reproduce. Most likely RESOLVED by r69962. Ivo Kurzemnieks Not a reasuring sentence. You should update to older revision and check for your self whether it is the correct one or not. CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (7) [AF] Links to triggers that have Deny permissions are always available and also cause errors in map constructor.

          Miks Kronkalns RESOLVED in r69962.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (7) [AF] Links to triggers that have Deny permissions are always available and also cause errors in map constructor. Miks Kronkalns RESOLVED in r69962. Ivo Kurzemnieks CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (8) [A] Regular user can no longer see a public map with no elements.

          Miks Kronkalns RESOLVED in r69784.

          Ivo Kurzemnieks selements_available is compared to 0, but there are three values in total: 0, -1 and 1. And that confuses me. It wouldn't matter if it's 1 or -1 it's still not 0.

          REOPENED

          Miks Kronkalns 3 options was used to differ cases when user has element to at least one element in the map, when user has no access to elements in the map and when user has no access to elements in the map, but just because there are no elements present But now it's history and new after major changes, the old solution is gone.

          RESOLVED in r69962.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (8) [A] Regular user can no longer see a public map with no elements. Miks Kronkalns RESOLVED in r69784. Ivo Kurzemnieks selements_available is compared to 0, but there are three values in total: 0, -1 and 1. And that confuses me. It wouldn't matter if it's 1 or -1 it's still not 0. REOPENED Miks Kronkalns 3 options was used to differ cases when user has element to at least one element in the map, when user has no access to elements in the map and when user has no access to elements in the map, but just because there are no elements present But now it's history and new after major changes, the old solution is gone. RESOLVED in r69962. Ivo Kurzemnieks CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (9) [AF] Users with Read-write sharing or owners are able to access contructor, properties and even delete maps that have elements with deny permissions.

          Miks Kronkalns RESOLVED in r69977.

          Ivo Kurzemnieks A regular admin with read-write has links to constructor and properties that lead to no permissions page.

          REOPENED

          Miks Kronkalns RESOLVED in r70009.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (9) [AF] Users with Read-write sharing or owners are able to access contructor, properties and even delete maps that have elements with deny permissions. Miks Kronkalns RESOLVED in r69977. Ivo Kurzemnieks A regular admin with read-write has links to constructor and properties that lead to no permissions page. REOPENED Miks Kronkalns RESOLVED in r70009. Ivo Kurzemnieks CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (10) [AF] Regular admins with Read sharing or owners are able to access constructor, properties and even delete maps that have elements with deny permissions.

          Miks Kronkalns RESOLVED in r69977.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (10) [AF] Regular admins with Read sharing or owners are able to access constructor, properties and even delete maps that have elements with deny permissions. Miks Kronkalns RESOLVED in r69977. Ivo Kurzemnieks CLOSED
          Hide
          Ivo Kurzemnieks added a comment - - edited

          (11) [F] Missing grayscaled icon in case user has deny permissions to host group element.

          Miks Kronkalns RESOLVED in r69962.

          Ivo Kurzemnieks CLOSED

          Show
          Ivo Kurzemnieks added a comment - - edited (11) [F] Missing grayscaled icon in case user has deny permissions to host group element. Miks Kronkalns RESOLVED in r69962. Ivo Kurzemnieks CLOSED
          Hide
          Miks Kronkalns added a comment - - edited

          (12) [A] Rename current property available to rights and use constancies like PERM_DENY and PERM_NONE to specify a state of rights. Document changes in spec.

          Miks Kronkalns RESOLVED in r69962.

          Miks Kronkalns REOPENED. Rename rights to permission.

          Miks Kronkalns RESOLVED in r69978.

          Ivo Kurzemnieks

          • CMapHelper.php L130 wrong indentation.
          • maps.inc.php:
            • L273 usually we call them $sysmapids;
            • L292 usually we call them $groupids;
            • L374 usage of isset();
            • L352-377 missing empty lines after break;.

          REOPENED

          Miks Kronkalns RESOLVED in r70032.

          Oleg Egorov CLOSED

          Show
          Miks Kronkalns added a comment - - edited (12) [A] Rename current property available to rights and use constancies like PERM_DENY and PERM_NONE to specify a state of rights. Document changes in spec. Miks Kronkalns RESOLVED in r69962. Miks Kronkalns REOPENED. Rename rights to permission . Miks Kronkalns RESOLVED in r69978. Ivo Kurzemnieks CMapHelper.php L130 wrong indentation. maps.inc.php : L273 usually we call them $sysmapids ; L292 usually we call them $groupids ; L374 usage of isset() ; L352-377 missing empty lines after break; . REOPENED Miks Kronkalns RESOLVED in r70032. Oleg Egorov CLOSED
          Hide
          Miks Kronkalns added a comment - - edited

          (13) No translation string changes.

          Ivo Kurzemnieks CLOSED

          Show
          Miks Kronkalns added a comment - - edited (13) No translation string changes. Ivo Kurzemnieks CLOSED
          Hide
          Miks Kronkalns added a comment -

          Merged in ZBXNEXT-2102-master in r70535.

          Show
          Miks Kronkalns added a comment - Merged in ZBXNEXT-2102 -master in r70535.
          Hide
          Martins Valkovskis added a comment - - edited

          (22) Updated general documentation:

          Please review. RESOLVED.

          Miks Kronkalns
          This is not true for triggers: Map elements that the user does not have read permission to are displayed with a greyed out icon and all textual information on the element is hidden. Trigger label is visible even if user has no permission to trigger.

          REOPENED

          Martins Valkovskis Added "However, trigger label is visible even if the user has no permission to the trigger."

          RESOLVED

          Miks Kronkalns Thank you! CLOSED, but please consider to add same sentence also in "What's new" and "Upgrade notes" sections.

          Alexander Vladishev This page must be also updated.

          REOPENED

          Miks Kronkalns
          In 'Changes from 3.2 to 3.4' included.
          There should also document that API map.get have a new attribute 'permission' in the response arrays of elements and links.

          Martins Valkovskis Updated sections:

          RESOLVED

          Miks Kronkalns CLOSED

          Show
          Martins Valkovskis added a comment - - edited (22) Updated general documentation: Map configuration What's new Upgrade notes Please review. RESOLVED. Miks Kronkalns This is not true for triggers: Map elements that the user does not have read permission to are displayed with a greyed out icon and all textual information on the element is hidden. Trigger label is visible even if user has no permission to trigger. REOPENED Martins Valkovskis Added "However, trigger label is visible even if the user has no permission to the trigger." RESOLVED Miks Kronkalns Thank you! CLOSED, but please consider to add same sentence also in "What's new" and "Upgrade notes" sections. Alexander Vladishev This page must be also updated. REOPENED Miks Kronkalns In 'Changes from 3.2 to 3.4' included. There should also document that API map.get have a new attribute 'permission' in the response arrays of elements and links. Martins Valkovskis Updated sections: API changes 3.2-3.4 Map object (added 'permission' property to Map element and Map link property tables) RESOLVED Miks Kronkalns CLOSED

            People

            • Assignee:
              Unassigned
              Reporter:
              Dennis Kanbier
            • Votes:
              2 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Agile