[pbs-devel] [RFC backup/proxmox-backup 0/4] fix #5463: add optional consent banner before login
Dominik Csapak
d.csapak at proxmox.com
Tue May 21 10:35:08 CEST 2024
On 5/21/24 10:22, Gabriel Goller wrote:
> On 17.05.2024 09:15, Dominik Csapak wrote:
>> thanks for tackling this
>>
>> first, while this approach seems ok to me, there are probably still some
>> things to figure out yet in the bug report (see the bug report)
>> probably the biggest thing i'd change is the need for an extra api call.
>>
>> since we already have to serve the index file,
>> we could use a similar mechanism to register the consent text
>> there (i.e. save it in memory and reread it when the mtime of the file changes)
>>
>> and render the text of the consent directly into the index template.
>> that way we can avoid an extra round trip and directly show it
>> without an api call
>
> Oooh, that's an interesting idea...
> Added these few lines to the index.hbs file. I think the only way is to
> bind the function to a window.* variable isn't there?
>
> {{#if consentText}}
> <script type='text/javascript' > window.getConsentText = function () { return
> `{{ consentText }}`; } </script>
> {{else}}
> <script type='text/javascript'> window.getConsentText = function () { return ""; } </script>
> {{/if}}
>
i don't think it has to be as complicated.
e.g. i'd just add a new property for the 'Proxmox' object in the template:
---
Proxmox = {
...
consentText: "{{ consentText }}",
};
---
and then checking in the ui if it's the non empty string ?
(maybe we could find a way to add it in a more general way instead of
adding each option we want individually
if that's possible, we wouldn't have to add a new option to the template
every time
(e.g. some kind of 'additionalData' object with keys+values ?
not sure what the templating systems of pbs and pve support)
>
> Another question is if we'd like to have customizable buttons. On
> one hand 'I agree' and 'I decline' probably cover 99% of the use-cases,
> (especially as we can translate it) but we could still add something like
> "<agree-text>|<decline-text>" to the end of the consent.txt file. For
> example:
>
> YES|NO
>
> or
> Agree|Decline
>
> or (this won't show the disagree button)
>
> Agree|
>
>
>
according to the bug report this should not be necessary, a simple box with
'OK' as only option should even be enough
that would be generic for now that others could even repurpose it for some kind of system
announcements (like outages, etc.?)
More information about the pbs-devel
mailing list