See www.zabbix.com for the official Zabbix site.

Docs/specs/ZBXNEXT-3082

From Zabbix.org
Jump to: navigation, search

Private slide shows

ZBXNEXT-3082

Status: Draft

Owner: Ivo

Summary

Zabbix will support public as well as private slide shows with ability to share them with other users and user groups.

Specification

The functionality will enable creation and management of slide shows for regular users without admin rights.

Configuration -> Slide shows will be removed.

All slide shows will have ownership, a user who created this slide show. Slide show will be visible only to slide show owner if it is private or to visible everyone if slide show public. Access to a slide shown can be also shared with other users and user groups. Two sharing modes will be available for each share: read and read-write. Only user groups and their users of slide show owner user groups will be available for sharing.

Slide show name must be unique.

Slide show permissions

A slide show is visible to user only if the user has read permissions to all slide show elements. Also he must be owner of the slide show or be in the list of users or a member of user groups for sharing.

Read permission for screen is needed if user wants to add it to a slide show.

Super admins, regular admins, slide show owners and users with read-write permissions will be allowed to remove slide show and modify all its properties. Note that not all sharing information may be visible to regular admins and slide show owner.

If slide show owner loses permissions (no rights to see a screen), the slide show will no longer be visible to owner.

Disabled user status does not affect any slide show related functionality.

Front-end changes

  • Removal of Configuration -> Slide shows;
  • Monitoring -> Slide shows will display last visited page (slide show view or list of slide shows);
    • Clicking on slide show name, slide show view mode opens with ability to quickly go back to the list;

Slide show edit

Two tabs with be introduced: Slide show and Sharing.

  • Slide show: edit slide show attributes
 As first field should be added possibility to change slide show owner (only for admins and superadmins), otherwise slide show owner is displayed in a disabled multiselect field. In case user has no access to see owner, but is admin and has rights to slide show, the owner name will no be displayed. Instead multiselect is empty and small text in red color is written under the input Inaccessible user. In other case, when user is a regular user and user is also inaccessible, the multiselect is not available, only text Inaccessible user is displayed.
Select is regular pop-up. Since only one user can be selected, pop-up must not have checkboxes.
       .------------------------.
 Owner | User alias (full name) | Select
       '------------------------'
  • Sharing: Private (default)/Public, Share with [User groups/Users]. Users and groups are added via link Add which opens a pop-up with users or groups. The pop-up has checkboxes, since multiple users and groups can be selected.
 [Private | Public] radio button
 List of user group shares:
 [User group]   [Read/Read-write] Remove
 List of user shares:
 [User]   [Read/Read-write] Remove

List of users and user groups will be available in both Public and Private modes. It will not be possible to add Read shares in Public mode and user will get an error message: Slide show "%1$s" is public and read-only sharing is disallowed.

Buttons

 .------------.  .-------.  .--------.  .--------.
 | Add/Update |  | Clone |  | Delete |  | Cancel |
 '------------'  '-------'  '--------'  '--------'

Cloning

Clone will copy all slide show attributes except sharing data. Cloned slide show will be private by default.

API changes

user

user.delete:

  • validation should check if user is owner of at least one slide show. User cannot be deleted if he is a slide show owner. Trying to delete such user, API will throw an error message: User "%1$s" is slide show "%2$s" owner.

Translation strings

  • All slide shows
  • Only administrators can set slide show owner.
  • Slide show "%1$s" is public and read-only sharing is disallowed.
  • Slide show owner cannot be empty.
  • User "%1$s" is slide show "%2$s" owner.

Database changes

Table slideshows, new fields:

 FIELD       |userid        |t_id       |   |NOT NULL   |0   |3|users  |RESTRICT
 FIELD       |private       |t_integer  |’1’|NOT NULL   |0

New tables:

 TABLE|slideshow_user|slideshowuserid|ZBX_DATA
 FIELD       |slideshowuserid  |t_id       |   |NOT NULL   |0
 FIELD       |slideshowid      |t_id       |   |NOT NULL   |0    |1|slideshows
 FIELD       |userid           |t_id       |   |NOT NULL   |0    |2|users
 FIELD       |permission       |t_integer  |’2’|NOT NULL   |0        # 2 - read, 3 - read-write    
 UNIQUE      |1                |slideshowid,userid
 TABLE|slideshow_usrgrp|slideshowusrgrpid|ZBX_DATA
 FIELD       |slideshowusrgrpid|t_id       |   |NOT NULL   |0
 FIELD       |slideshowid      |t_id       |   |NOT NULL   |0    |1|slideshows
 FIELD       |usrgrpid         |t_id       |   |NOT NULL   |0    |2|usrgrp
 FIELD       |permission       |t_integer  |’2’|NOT NULL   |0        # 2 - read, 3 - read-write    
 UNIQUE      |1                |slideshowid,usrgrpid

Also discussed

  • Removal of Configuration -> Slide shows and slide show new menu location whether it should be under a separate menu Monitoring -> Slide shows or leave in the current Monitoring -> Screens -> Slide shows dropdown.
  • Minimalistic frontend validation, since there is no API for slideshows.

Documentation

  • Zabbix Manual 3.0
  • Release notes
    • Also include information that now it is possible to add read-only screens to slide shows
  • Upgrade notes (Configuration -> Slide shows going away)
  • API documentation

ChangeLog

  • N/A