public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup 0/4] ui for group-filters
Date: Wed, 24 Nov 2021 10:04:40 +0100	[thread overview]
Message-ID: <1637743476.bmrqxyxe38.astroid@nora.none> (raw)
In-Reply-To: <20211122142024.913238-1-d.csapak@proxmox.com>

On November 22, 2021 3:20 pm, Dominik Csapak wrote:
> adds the ui for group filters for tape-backup-jobs and sync-jobs
> some labels are a bit rough ('Type'/'Options') but had no better ones
> at the moment
> 
> also one small problem, if one has many group filters for specific
> groups, a datastore change triggers an api load for every one of them
> (since thats how our normal selectors work)
> 
> if that is not acceptable, i'll find a solution on how we can only
> update it once and send a v2

thanks for working on this! :)

gave this a quick spin, some issues that probably warrant a v2 anyhow:

- in the edit dialogue the old group filter string in the first tab is 
  still there
- opening the 'add new sync job' dialogue twice in a row leads to an 
  uncaught exception and a broken/empty dialogue[0]
- adding a new sync job requires changing the source datastore after 
  initially setting it, else no 'remote groups' scan is happening
- no remote group scan happens when opening the editor for an existing 
  sync job after initially selecting a source datastore (requires a 
  second change to the datastore selector, like when editing)

the latter two mean the selection for remote groups is empty.

I'd suggest 'Filter type' and 'Filter value' for the headings, then the 
filter type selector can have 'type', 'group' (or ID? or group ID?), 
'regex' as values like the API/config file/CLI? I think it's clear 
from the context that a 'type' filter refers to the backup group type..

IMHO ideally we'd only scan once (well, once initially and then once for 
each change of remote or remote datastore) and cache that for ALL the 
group selectors. especially since the list groups API call is not that 
inexpensive at the moment, since it also returns the number of 
snapshots and the file list of the last one, so has to list all the 
snapshot dirs and their contents (and stat the protected file for each 
snapshot as well).. we could make that part optional maybe (add a new 
parameter that skips the snapshot querying and returns backup_count = 0 
and empty files - or make them optional, since we know a client 
requesting this mode must understand the missing fields)? also just 
realized the groups API call doesn't return empty groups, not sure 
whether that's ideal..

0: Uncaught TypeError: Cannot read property 'each' of null
    at ctor.cleanupReferences (proxmox-backup-gui.js:1354)
    at ctor.fire (ext-all.js:22)
    at ctor.dispatch (ext-all.js:22)
    at ctor.dispatch (ext-all.js:22)
    at ctor.b.doFireEvent (ext-all.js:22)
    at ctor.fireEventArgs (ext-all.js:22)
    at ctor.fireEvent (ext-all.js:22)
    at ctor.destroy (ext-all.js:22)
    at ctor.callParent (ext-all.js:22)
    at ctor.<anonymous> (ext-all.js:22)

> 
> Dominik Csapak (4):
>   ui: add GroupSelector
>   ui: add GroupFilter form field(container)
>   ui: tape/BackupJobEdit: add second tab with group filters
>   ui: SyncJobEdit: add second tab with group filters
> 
>  www/Makefile                     |   2 +
>  www/css/ext6-pbs.css             |   5 +
>  www/form/GroupFilter.js          | 334 +++++++++++++++++++++++++++++++
>  www/form/GroupSelector.js        |  83 ++++++++
>  www/tape/window/TapeBackupJob.js | 231 +++++++++++----------
>  www/window/SyncJobEdit.js        | 242 ++++++++++++----------
>  6 files changed, 691 insertions(+), 206 deletions(-)
>  create mode 100644 www/form/GroupFilter.js
>  create mode 100644 www/form/GroupSelector.js
> 
> -- 
> 2.30.2
> 
> 
> 
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
> 
> 
> 




      parent reply	other threads:[~2021-11-24  9:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-22 14:20 Dominik Csapak
2021-11-22 14:20 ` [pbs-devel] [PATCH proxmox-backup 1/4] ui: add GroupSelector Dominik Csapak
2021-11-22 14:20 ` [pbs-devel] [PATCH proxmox-backup 2/4] ui: add GroupFilter form field(container) Dominik Csapak
2021-11-22 14:20 ` [pbs-devel] [PATCH proxmox-backup 3/4] ui: tape/BackupJobEdit: add second tab with group filters Dominik Csapak
2021-11-22 14:20 ` [pbs-devel] [PATCH proxmox-backup 4/4] ui: SyncJobEdit: " Dominik Csapak
2021-11-24  9:04 ` Fabian Grünbichler [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1637743476.bmrqxyxe38.astroid@nora.none \
    --to=f.gruenbichler@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal