RE: Scripted Branding

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

RE: Scripted Branding

Chris Cook

Is there any guidance anywhere that I can refer to on this?  Still looking for the answer…

 

From: Chris Cook
Sent: Friday, October 21, 2016 2:14 PM
To: '[hidden email]'; '[hidden email]'
Subject: RE: Scripted Branding

 

Anything?

 

From: Chris Cook [[hidden email]]
Sent: Monday, October 17, 2016 9:24 PM
To: [hidden email]
Subject: RE: Scripted Branding

 

Sorry about the brevity of my earlier response; my better-half and I were entertaining a new client - one who is very keen on implementing and experimenting with a Guac based tablet/mobile HMI infrastructure within his factory...
 
The logos and the favicons, should both be fixed assets somewhere and should be fairly easy to copy over via script within a BASH environment, following the platform installation/build-out; something like the following should do the trick:

Logo Copyover:
 cp /media/installationID/logo.png /guacamole_fixed-asset_directory/logo_whatever.png

Favicon Copyover:
 cp /media/installationID/favicon.png /guacamole_fixed-asset_directory/favicon_whatever.png

The issue with this scripting methodology is knowing where the fixed assets are located within the default file structure...  If you could provide some illumination as to the path of these static assets, that would be awesome.

Changing the webapp display name and the browser tab display names will be a little more complicated as they are both supposedly generated by a .css file somewhere.  If this .css file is a static asset, where is it located?  If this .css file is dynamically generated, what generates it and how can I edit it to accept a one-time user entry to establish an application name?

To be clear, the project I am working on is based upon a fixed/static and non-updating, configuration-fixed, and revision-controlled appliance build model - i.e. my company builds and installs the appliance within a system which will then be revision-fixed.  If requested/required, I or another engineer would update the core platform, fault test the new core platform, press a new distribution image, and then update/upgrade the production system as specifically requested/contracted. 

As such, I am not concerned about an end-client initiated update/upgrade event as my end-client user will not have the ability to independently perform such an operation without the involvement of either myself or one the engineers that works with/for me.


From: Chris Cook [[hidden email]]
Sent: Monday, October 17, 2016 7:14 PM
To: [hidden email]
Subject: Re: Scripted Branding

Mike, 

 

Thanks for your response.  If I am understanding you correctly, I can use a BASH script that includes functions like CAT or an ECHO pipe to write out an installation specific .jar to the guacamole-home folder?

Sent from my iPhone


On Oct 17, 2016, at 18:56, Mike Jumper <[hidden email]> wrote:

On Mon, Oct 10, 2016 at 10:12 AM, Chris Cook <[hidden email]> wrote:

Greetings,

I am currently reviewing Guacamole for inclusion in an IIoT platform for industrial equipment - to allow for operator interface access via webpage.

Both I and my team LOVE the default Guac 0.9.9 webapp!

 

Thanks!

 

However, we have one hurtle that we need some help overcoming...  We are estimating approx. 100 uniquely branded deployments every year.  As such, generating a deployment specific branding extension for each and every deployment would become rather cumbersome very quickly. 

 

Branding extensions are the intended way to achieve this. The idea was that by encapsulating such changes within an extension, branding changes could remain stable across upgrades, thus making things more convenient and doing away with the need to patch the webapp itself.

 

Is there a way to change the application name, the logo, and the favicon of the default web-client without having to generate and deploy a new .war archive? 

 

There's no need to deploy a whole new .war each time (though, since you mentioned branding extensions earlier, perhaps you meant .jar).

 

It should be possible to script the generation of a branding extension if the specifics are predictable (logo, icon, changes to the strings). Have you given writing such a script a shot?

 

- Mike

 

THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.

THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.

THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: Scripted Branding

Cyle

I made a very simple modification to the docker build script over on Github to incorporate my own branding extension into the build process. It's 3 simple lines of code. You could incorporate whatever bash scripting you need to generate the extension, it's just a jar file.


build-guacamole.sh: https://gist.github.com/nozpheratu/49604355077a7ac91b31b1b3fcc68fba#file-build-guacamole-sh-L112


start.sh: https://gist.github.com/anonymous/3a56c29247774b368ee304e9271907de#file-start-sh-L178



On 2016-12-29 09:50 AM, Chris Cook wrote:

Is there any guidance anywhere that I can refer to on this?  Still looking for the answer…

 

From: Chris Cook
Sent: Friday, October 21, 2016 2:14 PM
To: '[hidden email]'; '[hidden email]'
Subject: RE: Scripted Branding

 

Anything?

 

From: Chris Cook [[hidden email]]
Sent: Monday, October 17, 2016 9:24 PM
To: [hidden email]
Subject: RE: Scripted Branding

 

Sorry about the brevity of my earlier response; my better-half and I were entertaining a new client - one who is very keen on implementing and experimenting with a Guac based tablet/mobile HMI infrastructure within his factory...
 
The logos and the favicons, should both be fixed assets somewhere and should be fairly easy to copy over via script within a BASH environment, following the platform installation/build-out; something like the following should do the trick:

Logo Copyover:
 cp /media/installationID/logo.png /guacamole_fixed-asset_directory/logo_whatever.png

Favicon Copyover:
 cp /media/installationID/favicon.png /guacamole_fixed-asset_directory/favicon_whatever.png

The issue with this scripting methodology is knowing where the fixed assets are located within the default file structure...  If you could provide some illumination as to the path of these static assets, that would be awesome.

Changing the webapp display name and the browser tab display names will be a little more complicated as they are both supposedly generated by a .css file somewhere.  If this .css file is a static asset, where is it located?  If this .css file is dynamically generated, what generates it and how can I edit it to accept a one-time user entry to establish an application name?

To be clear, the project I am working on is based upon a fixed/static and non-updating, configuration-fixed, and revision-controlled appliance build model - i.e. my company builds and installs the appliance within a system which will then be revision-fixed.  If requested/required, I or another engineer would update the core platform, fault test the new core platform, press a new distribution image, and then update/upgrade the production system as specifically requested/contracted. 

As such, I am not concerned about an end-client initiated update/upgrade event as my end-client user will not have the ability to independently perform such an operation without the involvement of either myself or one the engineers that works with/for me.


From: Chris Cook [[hidden email]]
Sent: Monday, October 17, 2016 7:14 PM
To: [hidden email]
Subject: Re: Scripted Branding

Mike, 

 

Thanks for your response.  If I am understanding you correctly, I can use a BASH script that includes functions like CAT or an ECHO pipe to write out an installation specific .jar to the guacamole-home folder?

Sent from my iPhone


On Oct 17, 2016, at 18:56, Mike Jumper <[hidden email]> wrote:

On Mon, Oct 10, 2016 at 10:12 AM, Chris Cook <[hidden email]> wrote:

Greetings,

I am currently reviewing Guacamole for inclusion in an IIoT platform for industrial equipment - to allow for operator interface access via webpage.

Both I and my team LOVE the default Guac 0.9.9 webapp!

 

Thanks!

 

However, we have one hurtle that we need some help overcoming...  We are estimating approx. 100 uniquely branded deployments every year.  As such, generating a deployment specific branding extension for each and every deployment would become rather cumbersome very quickly. 

 

Branding extensions are the intended way to achieve this. The idea was that by encapsulating such changes within an extension, branding changes could remain stable across upgrades, thus making things more convenient and doing away with the need to patch the webapp itself.

 

Is there a way to change the application name, the logo, and the favicon of the default web-client without having to generate and deploy a new .war archive? 

 

There's no need to deploy a whole new .war each time (though, since you mentioned branding extensions earlier, perhaps you meant .jar).

 

It should be possible to script the generation of a branding extension if the specifics are predictable (logo, icon, changes to the strings). Have you given writing such a script a shot?

 

- Mike

 

THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.

THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.

THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.

Reply | Threaded
Open this post in threaded view
|

Re: Scripted Branding

Mike Jumper
In reply to this post by Chris Cook
There is some basic documentation covering the layout of extensions
with respect to theming here, though please beware this should be
considered a draft until the IPMC vote regarding 0.9.10-incubating
(hopefully) passes:

http://guacamole.incubator.apache.org/doc/0.9.10-incubating/gug/guacamole-ext.html#ext-file-format

A Guacamole extension is just a .jar file containing a
guac-manifest.json along with anything else your extension uses (see
above). In the case of an extension which does nothing more than
theming/branding, the only other things within the .jar will be the
CSS, HTML, images, etc. you need.

- Mike


On Thu, Dec 29, 2016 at 7:50 AM, Chris Cook <[hidden email]> wrote:

> Is there any guidance anywhere that I can refer to on this?  Still looking
> for the answer…
>
>
>
> From: Chris Cook
> Sent: Friday, October 21, 2016 2:14 PM
> To: '[hidden email]'; '[hidden email]'
> Subject: RE: Scripted Branding
>
>
>
> Anything?
>
>
>
> From: Chris Cook [mailto:[hidden email]]
> Sent: Monday, October 17, 2016 9:24 PM
> To: [hidden email]
> Subject: RE: Scripted Branding
>
>
>
> Sorry about the brevity of my earlier response; my better-half and I were
> entertaining a new client - one who is very keen on implementing and
> experimenting with a Guac based tablet/mobile HMI infrastructure within his
> factory...
>
>
>
> The logos and the favicons, should both be fixed assets somewhere and should
> be fairly easy to copy over via script within a BASH environment, following
> the platform installation/build-out; something like the following should do
> the trick:
>
> Logo Copyover:
>  cp /media/installationID/logo.png
> /guacamole_fixed-asset_directory/logo_whatever.png
>
> Favicon Copyover:
>  cp /media/installationID/favicon.png
> /guacamole_fixed-asset_directory/favicon_whatever.png
>
> The issue with this scripting methodology is knowing where the fixed assets
> are located within the default file structure...  If you could provide some
> illumination as to the path of these static assets, that would be awesome.
>
> Changing the webapp display name and the browser tab display names will be a
> little more complicated as they are both supposedly generated by a .css file
> somewhere.  If this .css file is a static asset, where is it located?  If
> this .css file is dynamically generated, what generates it and how can I
> edit it to accept a one-time user entry to establish an application name?
>
> To be clear, the project I am working on is based upon a fixed/static and
> non-updating, configuration-fixed, and revision-controlled appliance build
> model - i.e. my company builds and installs the appliance within a system
> which will then be revision-fixed.  If requested/required, I or another
> engineer would update the core platform, fault test the new core platform,
> press a new distribution image, and then update/upgrade the production
> system as specifically requested/contracted.
>
> As such, I am not concerned about an end-client initiated update/upgrade
> event as my end-client user will not have the ability to independently
> perform such an operation without the involvement of either myself or one
> the engineers that works with/for me.
>
> ________________________________
>
> From: Chris Cook [[hidden email]]
> Sent: Monday, October 17, 2016 7:14 PM
> To: [hidden email]
> Subject: Re: Scripted Branding
>
> Mike,
>
>
>
> Thanks for your response.  If I am understanding you correctly, I can use a
> BASH script that includes functions like CAT or an ECHO pipe to write out an
> installation specific .jar to the guacamole-home folder?
>
> Sent from my iPhone
>
>
> On Oct 17, 2016, at 18:56, Mike Jumper <[hidden email]> wrote:
>
> On Mon, Oct 10, 2016 at 10:12 AM, Chris Cook <[hidden email]>
> wrote:
>
> Greetings,
>
> I am currently reviewing Guacamole for inclusion in an IIoT platform for
> industrial equipment - to allow for operator interface access via webpage.
>
> Both I and my team LOVE the default Guac 0.9.9 webapp!
>
>
>
> Thanks!
>
>
>
> However, we have one hurtle that we need some help overcoming...  We are
> estimating approx. 100 uniquely branded deployments every year.  As such,
> generating a deployment specific branding extension for each and every
> deployment would become rather cumbersome very quickly.
>
>
>
> Branding extensions are the intended way to achieve this. The idea was that
> by encapsulating such changes within an extension, branding changes could
> remain stable across upgrades, thus making things more convenient and doing
> away with the need to patch the webapp itself.
>
>
>
> Is there a way to change the application name, the logo, and the favicon of
> the default web-client without having to generate and deploy a new .war
> archive?
>
>
>
> There's no need to deploy a whole new .war each time (though, since you
> mentioned branding extensions earlier, perhaps you meant .jar).
>
>
>
> It should be possible to script the generation of a branding extension if
> the specifics are predictable (logo, icon, changes to the strings). Have you
> given writing such a script a shot?
>
>
>
> - Mike
>
>
>
> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE
> INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION
> THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE
> LAW. If the reader of this message is not the intended recipient or the
> employee or agent responsible for delivering the message to the intended
> recipient, you are hereby notified any dissemination, distribution or
> copying of this communication is strictly prohibited. If you have received
> this communication in error, please notify us immediately by replying to
> this message or by sending an e-mail to [hidden email] and destroy
> all copies of this message and any attachments. Thank you.
>
> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE
> INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION
> THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE
> LAW. If the reader of this message is not the intended recipient or the
> employee or agent responsible for delivering the message to the intended
> recipient, you are hereby notified any dissemination, distribution or
> copying of this communication is strictly prohibited. If you have received
> this communication in error, please notify us immediately by replying to
> this message or by sending an e-mail to [hidden email] and destroy
> all copies of this message and any attachments. Thank you.
>
> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF THE
> INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN INFORMATION
> THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE
> LAW. If the reader of this message is not the intended recipient or the
> employee or agent responsible for delivering the message to the intended
> recipient, you are hereby notified any dissemination, distribution or
> copying of this communication is strictly prohibited. If you have received
> this communication in error, please notify us immediately by replying to
> this message or by sending an e-mail to [hidden email] and destroy
> all copies of this message and any attachments. Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: Scripted Branding

Mike Jumper
In reply to this post by Cyle
On Thu, Dec 29, 2016 at 8:13 AM, Cyle <[hidden email]> wrote:

> I made a very simple modification to the docker build script over on Github
> to incorporate my own branding extension into the build process. It's 3
> simple lines of code. You could incorporate whatever bash scripting you need
> to generate the extension, it's just a jar file.
>
>
> build-guacamole.sh:
> https://gist.github.com/nozpheratu/49604355077a7ac91b31b1b3fcc68fba#file-build-guacamole-sh-L112
>
>
> start.sh:
> https://gist.github.com/anonymous/3a56c29247774b368ee304e9271907de#file-start-sh-L178
>

FYI - recent changes should make this easier going forward. We are
adding a "GUACAMOLE_HOME" environment variable which will allow you to
include arbitrary configuration and extensions within a Guacamole
Docker container, where extensions would presumably be exposed into
the container via a mount point:

https://issues.apache.org/jira/browse/GUACAMOLE-100

The above changes are on git master, though the issue remains open
until the documentation changes are complete.

- Mike
Reply | Threaded
Open this post in threaded view
|

RE: Scripted Branding

rhawkins
In reply to this post by Mike Jumper
I have read this 20 times, I am not a programmer and I really don't know what any of this means.    How about a Dummy guide for people like me.  
I am running 9.10 and it is working fine..  easy as pie..  I just can't seem to wrap my head around the branding ext.

Love the Guac!!


-----Original Message-----
From: Mike Jumper [mailto:[hidden email]]
Sent: Thursday, December 29, 2016 1:07 PM
To: Chris Cook
Cc: [hidden email]
Subject: Re: Scripted Branding

There is some basic documentation covering the layout of extensions with respect to theming here, though please beware this should be considered a draft until the IPMC vote regarding 0.9.10-incubating
(hopefully) passes:

http://guacamole.incubator.apache.org/doc/0.9.10-incubating/gug/guacamole-ext.html#ext-file-format

A Guacamole extension is just a .jar file containing a guac-manifest.json along with anything else your extension uses (see above). In the case of an extension which does nothing more than theming/branding, the only other things within the .jar will be the CSS, HTML, images, etc. you need.

- Mike


On Thu, Dec 29, 2016 at 7:50 AM, Chris Cook <[hidden email]> wrote:

> Is there any guidance anywhere that I can refer to on this?  Still
> looking for the answer…
>
>
>
> From: Chris Cook
> Sent: Friday, October 21, 2016 2:14 PM
> To: '[hidden email]'; '[hidden email]'
> Subject: RE: Scripted Branding
>
>
>
> Anything?
>
>
>
> From: Chris Cook [mailto:[hidden email]]
> Sent: Monday, October 17, 2016 9:24 PM
> To: [hidden email]
> Subject: RE: Scripted Branding
>
>
>
> Sorry about the brevity of my earlier response; my better-half and I
> were entertaining a new client - one who is very keen on implementing
> and experimenting with a Guac based tablet/mobile HMI infrastructure
> within his factory...
>
>
>
> The logos and the favicons, should both be fixed assets somewhere and
> should be fairly easy to copy over via script within a BASH
> environment, following the platform installation/build-out; something
> like the following should do the trick:
>
> Logo Copyover:
>  cp /media/installationID/logo.png
> /guacamole_fixed-asset_directory/logo_whatever.png
>
> Favicon Copyover:
>  cp /media/installationID/favicon.png
> /guacamole_fixed-asset_directory/favicon_whatever.png
>
> The issue with this scripting methodology is knowing where the fixed
> assets are located within the default file structure...  If you could
> provide some illumination as to the path of these static assets, that would be awesome.
>
> Changing the webapp display name and the browser tab display names
> will be a little more complicated as they are both supposedly
> generated by a .css file somewhere.  If this .css file is a static
> asset, where is it located?  If this .css file is dynamically
> generated, what generates it and how can I edit it to accept a one-time user entry to establish an application name?
>
> To be clear, the project I am working on is based upon a fixed/static
> and non-updating, configuration-fixed, and revision-controlled
> appliance build model - i.e. my company builds and installs the
> appliance within a system which will then be revision-fixed.  If
> requested/required, I or another engineer would update the core
> platform, fault test the new core platform, press a new distribution
> image, and then update/upgrade the production system as specifically requested/contracted.
>
> As such, I am not concerned about an end-client initiated
> update/upgrade event as my end-client user will not have the ability
> to independently perform such an operation without the involvement of
> either myself or one the engineers that works with/for me.
>
> ________________________________
>
> From: Chris Cook [[hidden email]]
> Sent: Monday, October 17, 2016 7:14 PM
> To: [hidden email]
> Subject: Re: Scripted Branding
>
> Mike,
>
>
>
> Thanks for your response.  If I am understanding you correctly, I can
> use a BASH script that includes functions like CAT or an ECHO pipe to
> write out an installation specific .jar to the guacamole-home folder?
>
> Sent from my iPhone
>
>
> On Oct 17, 2016, at 18:56, Mike Jumper <[hidden email]> wrote:
>
> On Mon, Oct 10, 2016 at 10:12 AM, Chris Cook
> <[hidden email]>
> wrote:
>
> Greetings,
>
> I am currently reviewing Guacamole for inclusion in an IIoT platform
> for industrial equipment - to allow for operator interface access via webpage.
>
> Both I and my team LOVE the default Guac 0.9.9 webapp!
>
>
>
> Thanks!
>
>
>
> However, we have one hurtle that we need some help overcoming...  We
> are estimating approx. 100 uniquely branded deployments every year.  
> As such, generating a deployment specific branding extension for each
> and every deployment would become rather cumbersome very quickly.
>
>
>
> Branding extensions are the intended way to achieve this. The idea was
> that by encapsulating such changes within an extension, branding
> changes could remain stable across upgrades, thus making things more
> convenient and doing away with the need to patch the webapp itself.
>
>
>
> Is there a way to change the application name, the logo, and the
> favicon of the default web-client without having to generate and
> deploy a new .war archive?
>
>
>
> There's no need to deploy a whole new .war each time (though, since
> you mentioned branding extensions earlier, perhaps you meant .jar).
>
>
>
> It should be possible to script the generation of a branding extension
> if the specifics are predictable (logo, icon, changes to the strings).
> Have you given writing such a script a shot?
>
>
>
> - Mike
>
>
>
> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF
> THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN
> INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM
> DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not
> the intended recipient or the employee or agent responsible for
> delivering the message to the intended recipient, you are hereby
> notified any dissemination, distribution or copying of this
> communication is strictly prohibited. If you have received this
> communication in error, please notify us immediately by replying to
> this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.
>
> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF
> THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN
> INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM
> DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not
> the intended recipient or the employee or agent responsible for
> delivering the message to the intended recipient, you are hereby
> notified any dissemination, distribution or copying of this
> communication is strictly prohibited. If you have received this
> communication in error, please notify us immediately by replying to
> this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.
>
> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF
> THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN
> INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM
> DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not
> the intended recipient or the employee or agent responsible for
> delivering the message to the intended recipient, you are hereby
> notified any dissemination, distribution or copying of this
> communication is strictly prohibited. If you have received this
> communication in error, please notify us immediately by replying to
> this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: Scripted Branding

Cyle
If it was so easy that everyone could do it developers would be out of a
job. :)

Have a look at the jar file the user shared in this thread:
https://sourceforge.net/p/guacamole/discussion/1110834/thread/be2a6785/

Download that jar file, open it with an archive manger of your choice
and replace the images / CSS as needed. It should be pretty trivial to
automate this process in a bash script if you just need to swap out the
logo and favicon.

But I don't think you can replace assets on the fly, this extension
needs to be incorporated into the build process. I trust you know how to
build guacamole from source? You're using v9.10 after all.

On 2016-12-29 01:16 PM, Hawkins, Richard wrote:

> I have read this 20 times, I am not a programmer and I really don't know what any of this means.    How about a Dummy guide for people like me.  
> I am running 9.10 and it is working fine..  easy as pie..  I just can't seem to wrap my head around the branding ext.
>
> Love the Guac!!
>
>
> -----Original Message-----
> From: Mike Jumper [mailto:[hidden email]]
> Sent: Thursday, December 29, 2016 1:07 PM
> To: Chris Cook
> Cc: [hidden email]
> Subject: Re: Scripted Branding
>
> There is some basic documentation covering the layout of extensions with respect to theming here, though please beware this should be considered a draft until the IPMC vote regarding 0.9.10-incubating
> (hopefully) passes:
>
> http://guacamole.incubator.apache.org/doc/0.9.10-incubating/gug/guacamole-ext.html#ext-file-format
>
> A Guacamole extension is just a .jar file containing a guac-manifest.json along with anything else your extension uses (see above). In the case of an extension which does nothing more than theming/branding, the only other things within the .jar will be the CSS, HTML, images, etc. you need.
>
> - Mike
>
>
> On Thu, Dec 29, 2016 at 7:50 AM, Chris Cook <[hidden email]> wrote:
>> Is there any guidance anywhere that I can refer to on this?  Still
>> looking for the answer…
>>
>>
>>
>> From: Chris Cook
>> Sent: Friday, October 21, 2016 2:14 PM
>> To: '[hidden email]'; '[hidden email]'
>> Subject: RE: Scripted Branding
>>
>>
>>
>> Anything?
>>
>>
>>
>> From: Chris Cook [mailto:[hidden email]]
>> Sent: Monday, October 17, 2016 9:24 PM
>> To: [hidden email]
>> Subject: RE: Scripted Branding
>>
>>
>>
>> Sorry about the brevity of my earlier response; my better-half and I
>> were entertaining a new client - one who is very keen on implementing
>> and experimenting with a Guac based tablet/mobile HMI infrastructure
>> within his factory...
>>
>>
>>
>> The logos and the favicons, should both be fixed assets somewhere and
>> should be fairly easy to copy over via script within a BASH
>> environment, following the platform installation/build-out; something
>> like the following should do the trick:
>>
>> Logo Copyover:
>>  cp /media/installationID/logo.png
>> /guacamole_fixed-asset_directory/logo_whatever.png
>>
>> Favicon Copyover:
>>  cp /media/installationID/favicon.png
>> /guacamole_fixed-asset_directory/favicon_whatever.png
>>
>> The issue with this scripting methodology is knowing where the fixed
>> assets are located within the default file structure...  If you could
>> provide some illumination as to the path of these static assets, that would be awesome.
>>
>> Changing the webapp display name and the browser tab display names
>> will be a little more complicated as they are both supposedly
>> generated by a .css file somewhere.  If this .css file is a static
>> asset, where is it located?  If this .css file is dynamically
>> generated, what generates it and how can I edit it to accept a one-time user entry to establish an application name?
>>
>> To be clear, the project I am working on is based upon a fixed/static
>> and non-updating, configuration-fixed, and revision-controlled
>> appliance build model - i.e. my company builds and installs the
>> appliance within a system which will then be revision-fixed.  If
>> requested/required, I or another engineer would update the core
>> platform, fault test the new core platform, press a new distribution
>> image, and then update/upgrade the production system as specifically requested/contracted.
>>
>> As such, I am not concerned about an end-client initiated
>> update/upgrade event as my end-client user will not have the ability
>> to independently perform such an operation without the involvement of
>> either myself or one the engineers that works with/for me.
>>
>> ________________________________
>>
>> From: Chris Cook [[hidden email]]
>> Sent: Monday, October 17, 2016 7:14 PM
>> To: [hidden email]
>> Subject: Re: Scripted Branding
>>
>> Mike,
>>
>>
>>
>> Thanks for your response.  If I am understanding you correctly, I can
>> use a BASH script that includes functions like CAT or an ECHO pipe to
>> write out an installation specific .jar to the guacamole-home folder?
>>
>> Sent from my iPhone
>>
>>
>> On Oct 17, 2016, at 18:56, Mike Jumper <[hidden email]> wrote:
>>
>> On Mon, Oct 10, 2016 at 10:12 AM, Chris Cook
>> <[hidden email]>
>> wrote:
>>
>> Greetings,
>>
>> I am currently reviewing Guacamole for inclusion in an IIoT platform
>> for industrial equipment - to allow for operator interface access via webpage.
>>
>> Both I and my team LOVE the default Guac 0.9.9 webapp!
>>
>>
>>
>> Thanks!
>>
>>
>>
>> However, we have one hurtle that we need some help overcoming...  We
>> are estimating approx. 100 uniquely branded deployments every year.  
>> As such, generating a deployment specific branding extension for each
>> and every deployment would become rather cumbersome very quickly.
>>
>>
>>
>> Branding extensions are the intended way to achieve this. The idea was
>> that by encapsulating such changes within an extension, branding
>> changes could remain stable across upgrades, thus making things more
>> convenient and doing away with the need to patch the webapp itself.
>>
>>
>>
>> Is there a way to change the application name, the logo, and the
>> favicon of the default web-client without having to generate and
>> deploy a new .war archive?
>>
>>
>>
>> There's no need to deploy a whole new .war each time (though, since
>> you mentioned branding extensions earlier, perhaps you meant .jar).
>>
>>
>>
>> It should be possible to script the generation of a branding extension
>> if the specifics are predictable (logo, icon, changes to the strings).
>> Have you given writing such a script a shot?
>>
>>
>>
>> - Mike
>>
>>
>>
>> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF
>> THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN
>> INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM
>> DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not
>> the intended recipient or the employee or agent responsible for
>> delivering the message to the intended recipient, you are hereby
>> notified any dissemination, distribution or copying of this
>> communication is strictly prohibited. If you have received this
>> communication in error, please notify us immediately by replying to
>> this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.
>>
>> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF
>> THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN
>> INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM
>> DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not
>> the intended recipient or the employee or agent responsible for
>> delivering the message to the intended recipient, you are hereby
>> notified any dissemination, distribution or copying of this
>> communication is strictly prohibited. If you have received this
>> communication in error, please notify us immediately by replying to
>> this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.
>>
>> THIS E-MAIL MESSAGE AND ANY ATTACHMENTS ARE INTENDED FOR THE USE OF
>> THE INDIVIDUAL OR ENTITY TO WHICH IT IS ADDRESSED AND MAY CONTAIN
>> INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM
>> DISCLOSURE UNDER APPLICABLE LAW. If the reader of this message is not
>> the intended recipient or the employee or agent responsible for
>> delivering the message to the intended recipient, you are hereby
>> notified any dissemination, distribution or copying of this
>> communication is strictly prohibited. If you have received this
>> communication in error, please notify us immediately by replying to
>> this message or by sending an e-mail to [hidden email] and destroy all copies of this message and any attachments. Thank you.