public inbox for pdm-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Stefan Hanreich <s.hanreich@proxmox.com>
To: Proxmox Datacenter Manager development discussion
	<pdm-devel@lists.proxmox.com>,
	Dominik Csapak <d.csapak@proxmox.com>
Subject: Re: [pdm-devel] [PATCH datacenter-manager v2 0/9] implement more complex search syntax
Date: Mon, 25 Aug 2025 15:48:25 +0200	[thread overview]
Message-ID: <b4ef2308-3ce2-4838-9320-adee4d9df4a4@proxmox.com> (raw)
In-Reply-To: <20250825090014.1138485-1-d.csapak@proxmox.com>

Some comments as replies w.r.t. pdm-search public API. I think the
syntax for the search itself is fine. Maybe document somewhere that this
is (at least partly) inspired by [1] and therefore in turn [2]?


Consider the patches:

Reviewed-by: Stefan Hanreich <s.hanreich@proxmox.com>


I also gave this a quick spin on my PDM instance and tried some
potential edge-cases as well.

One minor thing:

If I e.g. click on "All" in the Virtual Machines panel (or Container or
Remotes), only one search term is inserted without the required flag.
If I wanted to drill it down further (e.g. by name), it might be
convenient to make this required as well, so it doesn't turn into an OR
search then.

Tested-by: Stefan Hanreich <s.hanreich@proxmox.com>


[1] https://docs.gitlab.com/user/search/advanced_search/
[2]
https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-simple-query-string-query

On 8/25/25 11:00 AM, Dominik Csapak wrote:
> this introduces a more complex search syntax for the resources api call
> and uses that with the dashboard to show relevant resources, e.g.
> when clicking on the remotes panel when there are failed remotes, it
> adds a search to the box that filters for offline remotes. Same
> for clicking on the running vm count, etc.
> 
> The syntax is a first draft of mine, we can still tweak and change it
> as we see fit, but it's a start.
> 
> a 'normal' search term gets filtered to id/name so that does not change
> as before, but you can now specify 'categories' with `category:value`
> e.g. it's now possible to search for `type:remote` or `status:offline`
> 
> it also adds the possibility to mark terms as required like this:
> 
> +someterm
> 
> required terms have to exist in the resulting resource, while optional
> ones are OR'd (so at least one optional match must exist)
> 
> Not implemented yet are (but can be done afterwards):
> * GUI for filtering
> * Include subscription status
> 
> changes from v1:
> * added commit to improve text width
> * added commit to add clear trigger to search box
> * rebased on master
> 
> Dominik Csapak (9):
>   pdm-api-types: resources: add helper methods for fields
>   lib: add pdm-search crate
>   server: api: resources: add more complex filter syntax
>   ui: add possibility to insert into search box
>   ui: dashboard: remotes panel: open search on click
>   ui: dashboard: guest panel: search for guest states when clicking on
>     them
>   ui: dashboard: search for nodes when clicking on the nodes panel
>   ui: search box: add clear trigger
>   ui: dashboard: guest panel: improve column widths
> 
>  Cargo.toml                        |   2 +
>  lib/pdm-api-types/src/resource.rs |  27 ++++
>  lib/pdm-search/Cargo.toml         |  12 ++
>  lib/pdm-search/src/lib.rs         | 259 ++++++++++++++++++++++++++++++
>  server/Cargo.toml                 |   1 +
>  server/src/api/resources.rs       |  84 ++++++++--
>  ui/Cargo.toml                     |   1 +
>  ui/src/dashboard/guest_panel.rs   |  86 +++++++++-
>  ui/src/dashboard/mod.rs           |  46 +++++-
>  ui/src/dashboard/remote_panel.rs  |  32 +++-
>  ui/src/lib.rs                     |   3 +
>  ui/src/main.rs                    |  17 +-
>  ui/src/search_provider.rs         |  35 ++++
>  ui/src/widget/search_box.rs       |  40 ++++-
>  14 files changed, 612 insertions(+), 33 deletions(-)
>  create mode 100644 lib/pdm-search/Cargo.toml
>  create mode 100644 lib/pdm-search/src/lib.rs
>  create mode 100644 ui/src/search_provider.rs
> 



_______________________________________________
pdm-devel mailing list
pdm-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel


  parent reply	other threads:[~2025-08-25 13:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-25  8:58 Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 1/9] pdm-api-types: resources: add helper methods for fields Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 2/9] lib: add pdm-search crate Dominik Csapak
2025-08-25 13:14   ` Stefan Hanreich
2025-08-26 12:23     ` Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 3/9] server: api: resources: add more complex filter syntax Dominik Csapak
2025-08-25 13:14   ` Stefan Hanreich
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 4/9] ui: add possibility to insert into search box Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 5/9] ui: dashboard: remotes panel: open search on click Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 6/9] ui: dashboard: guest panel: search for guest states when clicking on them Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 7/9] ui: dashboard: search for nodes when clicking on the nodes panel Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 8/9] ui: search box: add clear trigger Dominik Csapak
2025-08-25  8:58 ` [pdm-devel] [PATCH datacenter-manager v2 9/9] ui: dashboard: guest panel: improve column widths Dominik Csapak
2025-08-25 13:48 ` Stefan Hanreich [this message]
2025-08-26 12:36 ` [pdm-devel] superseded: [PATCH datacenter-manager v2 0/9] implement more complex search syntax Dominik Csapak

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=b4ef2308-3ce2-4838-9320-adee4d9df4a4@proxmox.com \
    --to=s.hanreich@proxmox.com \
    --cc=d.csapak@proxmox.com \
    --cc=pdm-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