From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <d.csapak@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 991E06BEA7
 for <pbs-devel@lists.proxmox.com>; Thu, 28 Jan 2021 12:59:59 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 5A7A32D288
 for <pbs-devel@lists.proxmox.com>; Thu, 28 Jan 2021 12:59:59 +0100 (CET)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [212.186.127.180])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id A5D432D208
 for <pbs-devel@lists.proxmox.com>; Thu, 28 Jan 2021 12:59:56 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5E2FC46152
 for <pbs-devel@lists.proxmox.com>; Thu, 28 Jan 2021 12:59:56 +0100 (CET)
From: Dominik Csapak <d.csapak@proxmox.com>
To: pbs-devel@lists.proxmox.com
Date: Thu, 28 Jan 2021 12:59:40 +0100
Message-Id: <20210128115955.23136-1-d.csapak@proxmox.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.248 Adjusted score from AWL reputation of From: address
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_DNSWL_MED        -2.3 Sender listed at https://www.dnswl.org/,
 medium trust
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [changer.rs, drive.rs, mod.rs]
Subject: [pbs-devel] [PATCH proxmox-backup v2 00/15] implement first version
 of tape gui
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Thu, 28 Jan 2021 11:59:59 -0000

it's a very rough beginning, mostly so that we can test the features
on the webui

its still not baked in by default, and there are things missing
(e.g. restore, encryption, etc)

also the ux is not representable of what i have in mind for the
finished gui, e.g.
* a first setup wizard
* a wizard for creating/extending media pools
etc.

i'd love some feedback though

changes from v1:
* rebase on master (e.g. changer-drive-id -> changer-drivenum)
* add filter to list_drives instead of having an extra api call
  get_drives (and adapt gui)
* omit patch for changing protected flags (most things should work
  without it, i'll test and send a separate patch for where it's needed)
* add patch to add vendor/model to drivestatus
* add patch to map import/export slots
* add patch for fixing missing changes from changer-drive-id to changer-drivenum

Dominik Csapak (15):
  api2/tape/changer: add changer filter to list_drives api call
  api2/tape/drive: add load_media as api call
  api2/tape/drive: change methods of some api calls from put to get
  api2/config/{drive,changer}: prevent adding same device multiple times
  ui: tape: add form fields
  ui: tape: add Edit Windows
  ui: tape: add BackupOverview Panel
  ui: tape: add ChangerStatus panel
  ui: tape: add DriveConfig panel
  ui: tape: add PoolConfig
  ui: tape: move TapeManagement.js to tape dir
  ui: tape: use panels in tape interface
  tape/changer: add vendor/model to DriveStatus
  tape/changer: refactor marking of import/export slots from config
  tape: change changer-drive-id to changer-drivenum

 docs/tape-backup.rst                     |   8 +-
 src/api2/config/changer.rs               |  12 +-
 src/api2/config/drive.rs                 |  13 +-
 src/api2/tape/changer.rs                 |   4 +-
 src/api2/tape/drive.rs                   |  22 +-
 src/bin/proxmox_tape/drive.rs            |   2 +-
 src/tape/changer/mod.rs                  |  36 +-
 src/tape/changer/mtx/mtx_wrapper.rs      |  41 +-
 src/tape/changer/mtx/parse_mtx_status.rs |   6 +
 src/tape/changer/sg_pt_changer.rs        |  32 +-
 src/tape/drive/virtual_tape.rs           |   2 +
 www/Makefile                             |  18 +-
 www/TapeManagement.js                    |  11 -
 www/tape/BackupOverview.js               | 150 ++++++
 www/tape/ChangerStatus.js                | 631 +++++++++++++++++++++++
 www/tape/DriveConfig.js                  | 316 ++++++++++++
 www/tape/PoolConfig.js                   | 119 +++++
 www/tape/TapeManagement.js               |  35 ++
 www/tape/form/AllocationSelector.js      |  31 ++
 www/tape/form/ChangerSelector.js         |  60 +++
 www/tape/form/DriveSelector.js           |  66 +++
 www/tape/form/PoolSelector.js            |  44 ++
 www/tape/form/RetentionSelector.js       |  26 +
 www/tape/form/TapeDevicePathSelector.js  |  62 +++
 www/tape/window/ChangerEdit.js           |  50 ++
 www/tape/window/DriveEdit.js             |  77 +++
 www/tape/window/LabelMedia.js            |  47 ++
 www/tape/window/PoolEdit.js              |  64 +++
 www/tape/window/TapeBackup.js            |  43 ++
 29 files changed, 1957 insertions(+), 71 deletions(-)
 delete mode 100644 www/TapeManagement.js
 create mode 100644 www/tape/BackupOverview.js
 create mode 100644 www/tape/ChangerStatus.js
 create mode 100644 www/tape/DriveConfig.js
 create mode 100644 www/tape/PoolConfig.js
 create mode 100644 www/tape/TapeManagement.js
 create mode 100644 www/tape/form/AllocationSelector.js
 create mode 100644 www/tape/form/ChangerSelector.js
 create mode 100644 www/tape/form/DriveSelector.js
 create mode 100644 www/tape/form/PoolSelector.js
 create mode 100644 www/tape/form/RetentionSelector.js
 create mode 100644 www/tape/form/TapeDevicePathSelector.js
 create mode 100644 www/tape/window/ChangerEdit.js
 create mode 100644 www/tape/window/DriveEdit.js
 create mode 100644 www/tape/window/LabelMedia.js
 create mode 100644 www/tape/window/PoolEdit.js
 create mode 100644 www/tape/window/TapeBackup.js

-- 
2.20.1