On Thu, Nov 23, 2023 at 4:30 PM Kai <[email protected]> wrote: > I'm still struggling with the web frontend. > > Can you point me to a documentation of how to manipulate the status > messages during startup of the remote desktop connection? >
The simplest thing to do is to change the translation strings for the status message. Possibly right here: https://github.com/apache/guacamole-client/blob/687ae4976e84cb79a7de20ec35d3fe97dd30d5e2/guacamole/src/main/frontend/src/translations/en.json#L79 You could change that string to something like: "Starting up VM and connecting, this could take a few minutes..." (etc.). Beyond that, I'm not sure that there's a way to send back arbitrary information. There's a facility for requesting required information (used for authentication, mainly) and sending that information back, but that deals mostly in connection parameters used by guacd and not so much in client interaction between Tomcat and the Web UI. More on that difference, below... > > And for the web interface configuration option: > I read and searched a lot, but I'm still not sure: Do I need to adjust > the files like in src/main/frontend/src/app/settings? > Or do I create little files inside the extension to add functionality? > > Defining the configuration parameters itself can be done inside the Java > classes, if I understood correctly. > > It's important to distinguish between "Connection Attributes" and "Connection Parameters" - Parameters are passed to guacd and used to establish the connection, while Attributes remain entirely within Guacamole Client. If you're doing all of the VM startup functionality in Java classes within Guacamole Client, then these should be connection attributes. To add connection attributes you do not need to directly modify the web interface, you just need to create the correct fields in the Java class. There are some existing Java classes that make use of this that you can look at for guidance - like TOTPuser: https://github.com/apache/guacamole-client/blob/master/extensions/guacamole-auth-totp/src/main/java/org/apache/guacamole/auth/totp/user/TOTPUser.java The attributes are defined at the top of the class, but you also need to add and/or remove them in the getAttributes() and setAttributes() methods. The TOTPUser class has one exception - the TOTP secret is intentionally removed from the interface so that it cannot be viewed (= compromised), so not everything in the TOTPUser class would be something you need to do. Also, TOTPUser is, of course, a User class, not a Connection class, but it should translate over pretty easily. -Nick
