On Wed, Dec 8, 2021, 02:17 sam g <[email protected]> wrote: > Hello, > > I can't figure out how to make the simple extension describe here > https://guacamole.apache.org/doc/gug/guacamole-ext.html , "Updating > existing HTML", to work. > > ... > > The build is successful: > [INFO] Building tar: > /home/sam/guacamole-client-1.3.0/target/guacamole-client-1.3.0.tar.gz > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > ... > [INFO] guacamole-auth-saml 1.3.0 .......................... SUCCESS [ > 0.744 s] > *[INFO] guacamole-toto 1.3.0 ............................... SUCCESS [ > 0.122 s]* > [INFO] guacamole-client 1.3.0 ............................. SUCCESS [ > 2.615 s] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > > Tomcat is stopped, the war copied in the right place, Tomcat is started. > I checked and the html file and the manifest are in the war. > Still, nothing is displayed on the logon page. > > What am I missing? How can I debug this? >
There is a bit of a misunderstanding here about what an extension is. An extension does not need to be part of the guacamole-client build or source tree, nor will being part of the build have any effect on the .war, nor will the presence of a guac-manifest.json *in the .war file* have any impact on the webapp. An extension is an independent .jar file that contains a guac-manifest.json. This is part of the point of extensions: they can be developed independently of the mainline source and installed without rebuilding the source. To create an extension, you create a .jar file that follows the format described in the documentation: https://guacamole.apache.org/doc/gug/guacamole-ext.html#ext-file-format To install an extension, you copy the .jar produced into GUACAMOLE_HOME/extensions/ (typically "/etc/guacamole/extensions"), just as you would any of the standard extensions like the database support: https://guacamole.apache.org/doc/gug/configuring-guacamole.html#guacamole-home When the Guacamole webapp starts up, it will look through that directory for .jar files containing a guac-manifest.json and load those extensions. An example is provided demonstrating the basics of the extension format and how HTML can be modified: https://github.com/apache/guacamole-client/tree/master/doc/guacamole-branding-example - Mike
