From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id EA3CAA922 for ; Mon, 21 Nov 2022 09:26:30 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D0B5029BE7 for ; Mon, 21 Nov 2022 09:26:30 +0100 (CET) Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 21 Nov 2022 09:26:29 +0100 (CET) Received: by mail-wm1-x32f.google.com with SMTP id i64-20020a1c3b43000000b003d016c21100so2567524wma.3 for ; Mon, 21 Nov 2022 00:26:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linbit-com.20210112.gappssmtp.com; s=20210112; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=RuKhV2zn4jChgsAaeZmV2sEj0idqbozkj+P9Hr3PoUs=; b=My89jd3Vr7CM8/l7jOho0dBJlkFHJZwEzwa3GyLyAOgnq/uuzySFq00PwJ3ljfM38r f9K/PCH1inCSaFqXowubt0Ww5OwGsfXYMVsIXmMlbiZ0FdesET2H8nMVO8h15DF2VIt3 9vjH0cgqlcFr90WXmNo7NWhNJsTZxS9a+cRWwdlAVLxAhGsHQgq4E+nreFn60Qg8nEer 0l4p+58cpIlH1iY45LUmwPyiwmaJPhU6nZW2KtoqSl9dEd0KhPokQLIC92qxlCqA/dUD YjtCipCjPbveDBjX1Nnh9nOZcONt9X5+BUaewhzdIeT3s6Vz3BLbt3SrGyQ9ftDTRCR4 aNVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RuKhV2zn4jChgsAaeZmV2sEj0idqbozkj+P9Hr3PoUs=; b=8Ii6dNksNqcAELYcXkL2P84w22lHNkzqzMOTX0crR3YtJca8W3P9iptQUhqap6o8FV LDWqi4VIDgUxiSYmIfrkKfvPdaXBGWb8zQb7wH7hIbPZILXKJ/J52xytJt8H++6MYKJK +J6iPr7IlZdfU/csyW71kd3Q0iIPkhoShjTaXA5wr1T/5aKudv1cUSHvIpVr3VghrZor myH/Z2puwNOJFG3NcZITR725Z+HM0RBDA+XHA7Xsg2WqtbIFSS+D5Y//9p4TB8oDT9Jm hoifDkihGTcN3bSXKgmrQhWQTJ69YGRwXrBPEDZrgCrzVt+nMgVmCZ5OfXwh0SqYI6TA mvZg== X-Gm-Message-State: ANoB5pl0OqR2CPbWmAAkrdFqEKDFc2xIP37Fypn8ZLRFEQTRQE5Ib4wr 9IKa/9Ekt0Anuzdd1RT9XFBjz+45DpYLQCow X-Google-Smtp-Source: AA0mqf6eBnToqsh8BdSkbbLxb9p8hvX6F9/HXXlRiBmjLjn+qb+TRwpvbBWj2aGbc/AtngyZRcnwEQ== X-Received: by 2002:a05:600c:220d:b0:3cf:633f:c570 with SMTP id z13-20020a05600c220d00b003cf633fc570mr2744869wml.110.1669019182774; Mon, 21 Nov 2022 00:26:22 -0800 (PST) Received: from localhost (static.20.139.203.116.clients.your-server.de. [116.203.139.20]) by smtp.gmail.com with ESMTPSA id b15-20020a05600010cf00b00228dbf15072sm10541433wrx.62.2022.11.21.00.26.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Nov 2022 00:26:22 -0800 (PST) Date: Mon, 21 Nov 2022 09:26:21 +0100 From: Roland Kammerer To: Proxmox VE development discussion Cc: Thomas Lamprecht , Ilya Krel Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.0.5 (2021-01-21) X-SPAM-LEVEL: Spam detection results: 0 BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] pve-manager/www: API for external plugins? X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2022 08:26:31 -0000 Hi Thomas, sorry for the long delay, and thanks for the pointers. In general we would be willing to work on that if it does not take us too much effort. We currently try to figure that out. A colleague of mine told me that the js part should not be the problem, what I am not sure about is this part: On Fri, Nov 04, 2022 at 02:46:15PM +0100, Thomas Lamprecht wrote: > If done somewhat nicely and safely we'd accept such a thing, the plugins > would get an new method (e.g., api_schema) that returns a perl hash ref > containing the properties including type, description and flags like if the > setting is editable (after storage addition), Okay, sure the plugins have to report their schema, I'm just not sure about the "perl hash ref". How/where would/are the web part and the plugins communicate? Would that be a real reference somewhere or would the plugins just output a json dict that is somewhere parsed back? > and a new API endpoint returning the schema's of all (external) > plugins similar so that they can be shown in the add Drop down and > used for creating the basic form. Also obvious in general, I have the same problem of how and where do js and perl code talk to each other. Any hints and pointers in the right direction are welcome. Best, rck