Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 6606A200BEC for ; Thu, 29 Dec 2016 20:07:49 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 5E6E9160B2D; Thu, 29 Dec 2016 19:07:49 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 7EAB6160B23 for ; Thu, 29 Dec 2016 20:07:48 +0100 (CET) Received: (qmail 45599 invoked by uid 500); 29 Dec 2016 19:07:42 -0000 Mailing-List: contact user-help@guacamole.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@guacamole.incubator.apache.org Delivered-To: mailing list user@guacamole.incubator.apache.org Received: (qmail 45587 invoked by uid 99); 29 Dec 2016 19:07:42 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Dec 2016 19:07:42 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 0EFE2C0040 for ; Thu, 29 Dec 2016 19:07:42 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.021 X-Spam-Level: X-Spam-Status: No, score=-0.021 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=guac-dev-org.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id EQ2Bh3i3HT2x for ; Thu, 29 Dec 2016 19:07:39 +0000 (UTC) Received: from mail-ua0-f169.google.com (mail-ua0-f169.google.com [209.85.217.169]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 5546A5F484 for ; Thu, 29 Dec 2016 19:07:39 +0000 (UTC) Received: by mail-ua0-f169.google.com with SMTP id i68so133207062uad.0 for ; Thu, 29 Dec 2016 11:07:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=guac-dev-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=kW7LhPaNWcOHuP/LD0apBAs2/oNYmjv5SeNUI1a2BzI=; b=LFAUdq9M0LOMp7mVFqiy95duJRcIAjas7BX4D5/mhM+mzG4WWkxZv0XsvcUdcU2L3L 2t2aUiyGSQyDA3046fmG9MfQzWp1U+UO61ry4OkILDWdRXRNJUyujRAMer7isxq3MuNR pYEPWwj5KoC4p/b6I42WkSDGyfAJx178o8Ixt0pi+C4EKEvWEcvyUEyiXWtvvxwt+OT3 R128zrgzgdWasrnBoZS4iS2V03lviQUYyPW/kkA07uneNo/TDw7YFLz4imqYS4nx5DyA kT3x/mzHSBJqssK4K/eIhz3DovIK42lF3ZOoBsdluKohazQeX5O4GHeqjW30smH6v11N aypQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=kW7LhPaNWcOHuP/LD0apBAs2/oNYmjv5SeNUI1a2BzI=; b=hPo9dM9H/Wgegj2rNX2USdTqceeqUTmyd4CHd61UoE7i+Xsh9kzDKzXALs7WdZvei+ ORz5x0n87pI4vmqfKBiBxqWByUZP193nyg9lnHZeIoroMP2x30eMGK1IdO2w8A59im3Q Qu9dojtYNl2SyCePPyChzBsREjdXD2OHlTuUzoZ6vmWQjbW2sUi6fS4mTNHjkuOd+vMn 2q7iISSZAk/HpHIi0DSuFXh3T9vfL3fZqB8IaBBx64DO7xAe4D5Bl8GfAyJZE/djM79C kTEiiETND42KFyFhKn9BF27XVeDP4vWk5IjTWsEM04g58NOGpF3I42s6AeK2Y2mwkCEG R/sQ== X-Gm-Message-State: AIkVDXLludA9EJw6LJJEIyrMC+yXRA5otMe58VhmXoF40/8LPoeNM8IEPM33WAOY5ahFoh610s2gWt7HDQJJvQ== X-Received: by 10.176.2.210 with SMTP id 76mr32133275uah.117.1483038449766; Thu, 29 Dec 2016 11:07:29 -0800 (PST) MIME-Version: 1.0 Received: by 10.176.69.161 with HTTP; Thu, 29 Dec 2016 11:07:29 -0800 (PST) X-Originating-IP: [2001:470:66:aa2::2] In-Reply-To: <38CD0DCC7D847D4895BBAF0F6BAAA6F9325D02DD@JLS-MAIL.JLS.local> References: <38CD0DCC7D847D4895BBAF0F6BAAA6F93259B053@JLS-MAIL.JLS.local> <38CD0DCC7D847D4895BBAF0F6BAAA6F93259C9A1@JLS-MAIL.JLS.local> <38CD0DCC7D847D4895BBAF0F6BAAA6F9325D02DD@JLS-MAIL.JLS.local> From: Mike Jumper Date: Thu, 29 Dec 2016 11:07:29 -0800 Message-ID: Subject: Re: Scripted Branding To: Chris Cook Cc: "user@guacamole.incubator.apache.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable archived-at: Thu, 29 Dec 2016 19:07:49 -0000 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-e= xt.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 wrot= e: > Is there any guidance anywhere that I can refer to on this? Still lookin= g > for the answer=E2=80=A6 > > > > From: Chris Cook > Sent: Friday, October 21, 2016 2:14 PM > To: 'user@guacamole.incubator.apache.org'; 'mike.jumper@guac-dev.org' > Subject: RE: Scripted Branding > > > > Anything? > > > > From: Chris Cook [mailto:cookcj@jlsautomation.com] > Sent: Monday, October 17, 2016 9:24 PM > To: user@guacamole.incubator.apache.org > 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 h= is > factory... > > > > The logos and the favicons, should both be fixed assets somewhere and sho= uld > be fairly easy to copy over via script within a BASH environment, followi= ng > 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 asse= ts > are located within the default file structure... If you could provide so= me > 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 b= e a > little more complicated as they are both supposedly generated by a .css f= ile > 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 buil= d > 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 [cookcj@jlsautomation.com] > Sent: Monday, October 17, 2016 7:14 PM > To: user@guacamole.incubator.apache.org > 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 wrote: > > On Mon, Oct 10, 2016 at 10:12 AM, Chris Cook > 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 th= at > by encapsulating such changes within an extension, branding changes could > remain stable across upgrades, thus making things more convenient and doi= ng > 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 APPLICA= BLE > 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 receive= d > this communication in error, please notify us immediately by replying to > this message or by sending an e-mail to info@jlsautomation.com and destro= y > 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 APPLICA= BLE > 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 receive= d > this communication in error, please notify us immediately by replying to > this message or by sending an e-mail to info@jlsautomation.com and destro= y > 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 APPLICA= BLE > 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 receive= d > this communication in error, please notify us immediately by replying to > this message or by sending an e-mail to info@jlsautomation.com and destro= y > all copies of this message and any attachments. Thank you.