<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Zuar Rapid Portal]]></title><description><![CDATA[Help Center Documentation for Zuar's Rapid Portal. Learn how to deploy and customize your own Rapid Portal!]]></description><link>https://www.zuar.com/help/rapid-portal/</link><image><url>https://www.zuar.com/help/rapid-portal/favicon.png</url><title>Zuar Rapid Portal</title><link>https://www.zuar.com/help/rapid-portal/</link></image><generator>Ghost 2.37</generator><lastBuildDate>Thu, 04 Jun 2026 05:53:35 GMT</lastBuildDate><atom:link href="https://www.zuar.com/help/rapid-portal/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Overview]]></title><description><![CDATA[<p>Welcome to the help documentation for the <a href="https://www.zuar.com/products/portal/">Zuar Rapid Portal</a>.</p><p>For in-depth, version specific documentation of Rapid Portal components, please use <a href="https://www.zuar.com/help/rapid-portal/reference/"><strong>this reference of documents.</strong></a></p><p>Here are links to documentation for Zuar's other products:</p><ul><li><a href="https://www.zuar.com/help/mitto/">Mitto</a></li><li><a href="https://www.zuar.com/help/custom-portal/">Custom Portal</a></li><li><a href="https://www.zuar.com/help/waf/">Web Application Firewall</a></li></ul><p>More content is available on <a href="https://www.zuar.com/blog/tag/mitto/"><a href="https://www.zuar.com/blog/">Zuar's blog</a></a> including specific <a href="https://www.zuar.com/blog/tag/embedded-analytics/">embedded</a></p>]]></description><link>https://www.zuar.com/help/rapid-portal/overview/</link><guid isPermaLink="false">5e14cdadc08f620001175143</guid><category><![CDATA[Overview]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Tue, 07 Jan 2020 18:31:54 GMT</pubDate><content:encoded><![CDATA[<p>Welcome to the help documentation for the <a href="https://www.zuar.com/products/portal/">Zuar Rapid Portal</a>.</p><p>For in-depth, version specific documentation of Rapid Portal components, please use <a href="https://www.zuar.com/help/rapid-portal/reference/"><strong>this reference of documents.</strong></a></p><p>Here are links to documentation for Zuar's other products:</p><ul><li><a href="https://www.zuar.com/help/mitto/">Mitto</a></li><li><a href="https://www.zuar.com/help/custom-portal/">Custom Portal</a></li><li><a href="https://www.zuar.com/help/waf/">Web Application Firewall</a></li></ul><p>More content is available on <a href="https://www.zuar.com/blog/tag/mitto/"><a href="https://www.zuar.com/blog/">Zuar's blog</a></a> including specific <a href="https://www.zuar.com/blog/tag/embedded-analytics/">embedded analytics content</a>.</p><p>Join the <a href="https://community.zuar.com/">Zuar community</a> and <a href="https://community.zuar.com/c/rapid-portal/">discuss Rapid Portal</a>!</p>]]></content:encoded></item><item><title><![CDATA[Customization]]></title><description><![CDATA[<p>The Rapid Portal is customizable by anyone who has knowledge of HTML, CSS, and JavaScript. Some simple branding changes like swapping out images or colors require almost no front end web development knowledge. For those with more in depth knowledge of JavaScript, the Tableau JavaScript API, and the Tableau REST</p>]]></description><link>https://www.zuar.com/help/rapid-portal/customization/</link><guid isPermaLink="false">5dd30c07d1328d00012174cf</guid><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Mon, 18 Nov 2019 21:24:28 GMT</pubDate><content:encoded><![CDATA[<p>The Rapid Portal is customizable by anyone who has knowledge of HTML, CSS, and JavaScript. Some simple branding changes like swapping out images or colors require almost no front end web development knowledge. For those with more in depth knowledge of JavaScript, the Tableau JavaScript API, and the Tableau REST API, the Rapid Portal can be completely customized and extended.</p><h2 id="in-browser-editor">In browser editor</h2><p>To make prototyping and simple tweaks easier, the Rapid Portal has an in browser editor. In production, this functionality should be turned off and only enabled if and when changes need to be made (rarely).</p><p>In your browser, on your new Rapid Portal go to <code>/edit</code>.</p><p>This in browser editor allows you to change any of the Rapid Portal's files directly, save those changes, and see the changes live.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-4.png" class="kg-image"><figcaption>Rapid Portal's <code>/edit</code> feature.</figcaption></figure><!--kg-card-end: image--><p>Clicking on “Enter a file path and name to edit” shows the list of files.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-9.png" class="kg-image"><figcaption>Rapid Portal's main files.&nbsp;</figcaption></figure><!--kg-card-end: image--><p>Important files below:</p><ul><li><code>/login.mako</code> - Login page</li><li><code>/index.html</code> - Main Application page showing embedded Tableau dashboards</li><li><code>/css/style.css</code> - Cascading Style Sheet for images, logos, colors, etc. Controls styling for both the Login and Index pages.</li><li><code>/js/app.js</code> - This is the JavaScript for the Rapid Portal. It leverages the <strong>zwaf.js</strong> and <a href="https://help.tableau.com/current/api/js_api/en-us/JavaScriptAPI/js_api.htm">Tableau JavaScript API</a>.</li><li><code>/js/zwaf.js</code> - JavaScript allowing the Rapid Portal front end to communicate with the backend <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm">Tableau REST API</a>.</li></ul><h3 id="save-edits">Save edits</h3><p>You can edit any of the files and press CTRL+S or click the pink SAVE button to save. After saving, navigate to the page you edited and refresh your browser. You should see the changes reflected live.</p><p><em>HELPFUL TIP: </em>It is best practice to create new files and edit those while testing changes rather than overwriting the main pages directly.</p><h3 id="create-new-files">Create new files</h3><p>You can create a new file by typing a filename and pressing enter or clicking the black arrow.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-11.png" class="kg-image"><figcaption>Example of creating a new page in the Rapid Portal.</figcaption></figure><!--kg-card-end: image--><h2 id="branding">Branding</h2><p>The <code>/css/styles.css</code> file is your one stop shop for branding the Rapid Portal.</p><p>You can customize anything, but we have simplified the pieces that are necessary and consolidated them at the top.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-5.png" class="kg-image"><figcaption>In browser editor and editing the /css/style.css page.</figcaption></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/11/image-6_final.jpg" class="kg-image"><figcaption>Examples of where changing the <code>/css/style.css</code> affects the login page.</figcaption></figure><!--kg-card-end: image--><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-7.png" class="kg-image"><figcaption>Examples of where changing the <code>/css/style.css</code> affects the index page.</figcaption></figure><!--kg-card-end: image--><h3></h3><p><em>HELPFUL TIP: </em>Split your screen so you can edit and save in the editor and then refresh the live page.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/11/image-8_final.jpg" class="kg-image"><figcaption>Example of split screen to test edits against live Rapid Portal.</figcaption></figure><!--kg-card-end: image-->]]></content:encoded></item><item><title><![CDATA[Hosting and Deployment]]></title><description><![CDATA[When moving Rapid Portal to a production deployment, there are two major questions to answer...]]></description><link>https://www.zuar.com/help/rapid-portal/hosting-and-deployment/</link><guid isPermaLink="false">5df01059d1328d00012175d6</guid><category><![CDATA[Setup]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Tue, 10 Dec 2019 22:17:04 GMT</pubDate><content:encoded><![CDATA[<p>During the trial period, the Rapid Portal is hosted by Zuar in Zuar's <a href="https://www.digitalocean.com/">Digital Ocean</a> (DO) account. The Rapid Portal has a hostname associated with a domain that Zuar owns. For example, <code>https://yourcompany.zuarbase.net</code>.</p><p>When moving to a production deployment there are two major questions to answer:</p><ul><li>Where do you want the Rapid Portal to be <strong>hosted</strong>? </li><li>What <strong>URL</strong> do you want for the Rapid Portal?</li></ul><h2 id="where-do-you-want-the-rapid-portal-to-be-hosted">Where do you want the Rapid Portal to be <strong>hosted</strong>?</h2><p>The Rapid Portal is deployed via <a href="https://www.docker.com/">Docker</a> and therefore can be deployed on any operating system that Docker supports (Linux, MacOS, or Windows) and on either physical or virtual hardware.</p><h3 id="hosting-options">Hosting options</h3><ul><li>Self hosted in your company's public cloud (<a href="https://aws.amazon.com/">Amazon Web Services</a>, <a href="https://azure.microsoft.com/en-us/">Microsoft Azure</a>, <a href="https://cloud.google.com/">Google Cloud Platform</a>)</li><li>Self hosted by your company on-premise in DMZ or behind the firewall</li><li>Zuar hosted in Zuar's account </li></ul><h2 id="what-hostname-do-you-want-for-the-rapid-portal">What hostname do you want for the Rapid Portal?</h2><p>The Rapid Portal can be accessed via any domain your company owns.</p><p>Typical URLs include:</p><ul><li><code>https://analytics.yourcompany.com</code></li><li><code>https://reporting.yourcompany.com</code></li><li><code>https://portal.yourcompany.com</code></li></ul><p>The Rapid Portal can use your company's SSL certificates or Zuar can generate one for you. All that is needed is an existing DNS A record.</p><h2 id="deployment">Deployment</h2><p>In the case where your company is hosting the Rapid Portal, please see the <a href="https://www.zuar.com/help/rapid-portal/self-hosted-questionnaire/">Self Hosted Questionnaire</a>.</p><h2></h2>]]></content:encoded></item><item><title><![CDATA[Reverse Proxy for Tableau]]></title><description><![CDATA[Here are some basic architecture diagrams showing external access to an internal Tableau Server, with and without the Rapid Portal.]]></description><link>https://www.zuar.com/help/rapid-portal/reverse-proxy-tableau/</link><guid isPermaLink="false">5e690ebd96e5260001b886b1</guid><category><![CDATA[Architecture]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Wed, 11 Mar 2020 16:16:52 GMT</pubDate><content:encoded><![CDATA[<p>Below are some basic architecture diagrams showing external access to an internal Tableau Server with and without the Rapid Portal.</p><h2 id="without-rapid-portal">Without Rapid Portal</h2><p>Without Rapid Portal, external users (customers, partners, vendors, and external employees) must connect directly to Tableau Server inside your company's firewall.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-full"><img src="https://www.zuar.com/help/rapid-portal/content/images/2020/03/image-6.png" class="kg-image"></figure><!--kg-card-end: image--><p>From Tableau <a href="https://help.tableau.com/current/server/en-us/proxy.htm#how-a-reverse-proxy-works-with-tableau-server">documentation</a>:</p><blockquote>In most enterprises, Tableau Server needs to communicate with the internet. Tableau Server was designed to operate inside a protected internal network. Do not set up Tableau Server directly on the internet or in a DMZ. Instead, communications between your network and the internet should be mediated using proxy servers. Forward proxy servers mediate traffic from inside the network to targets on the internet. Reverse proxy servers mediate traffic from the internet to targets inside the network.</blockquote><h2 id="with-rapid-portal">With Rapid Portal</h2><p>Rapid Portal gives external users (customers, partners, vendors, and external employees) interactive access to embedded Tableau content without giving them direct access to Tableau Server. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.zuar.com/help/rapid-portal/content/images/2020/03/image-7.png" class="kg-image"></figure><!--kg-card-end: image--><p>In this use case, Rapid Portal  is serving as a <a href="https://help.tableau.com/current/server/en-us/proxy.htm#how-a-reverse-proxy-works-with-tableau-server">reverse proxy</a> for Tableau Server.</p>]]></content:encoded></item><item><title><![CDATA[Tableau Trusted Authentication]]></title><description><![CDATA[With Trusted Tickets configured for your Portal, you just need to pick a dashboard to use. ]]></description><link>https://www.zuar.com/help/rapid-portal/trusted-tickets/</link><guid isPermaLink="false">5ebee35596e5260001b88759</guid><category><![CDATA[Architecture]]></category><dc:creator><![CDATA[Andy Klier]]></dc:creator><pubDate>Fri, 15 May 2020 21:23:35 GMT</pubDate><content:encoded><![CDATA[<h2 id="configuring-tableau-server-for-trusted-authentication">Configuring Tableau Server for Trusted Authentication</h2><p>Read this Zuar WAF documentation: <a href="https://www.zuar.com/help/waf/trusted-host-for-tableau-server-trusted-authentication/">Trusted Host for Tableau Server Trusted Authentication</a></p><h2 id="get-share-link-of-the-dashboard-from-tableau">Get Share Link of the Dashboard from Tableau</h2><p>With Trusted Tickets Configured for your Portal, you just need to pick a dashboard to use. Logged into your Tableau Server, click on the dashboard you want and then click "Share" at the top right of the screen (in green below):</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2020/05/Screen-Shot-2020-05-15-at-11.56.28-AM.png" class="kg-image" alt="Share link in Tableau Server"></figure><!--kg-card-end: image--><p></p><p>The part of the share link we need starts with <code>/t</code> and ends right before <code>?</code>; in this case: <code>/t/Demo/views/Superstore-Mitto/Overview</code></p><h2 id="load-a-trusted-ticket-in-rapid-portal">Load a Trusted Ticket in Rapid Portal</h2><p>Copy the relevant part of the share link to your clipboard, then in a new browser window, add it to your Rapid Portal's hostname with a trailing <code>/z/trusted</code>. The full path in your location bar should look something like this:</p><!--kg-card-begin: markdown--><pre><code>https://rapid-portal.portaldomain.com/z/trusted/t/Demo/views/Superstore-Mitto/Overview</code></pre>
<!--kg-card-end: markdown--><p>... and the resulting Dashboard:</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2020/05/Screen-Shot-2020-05-15-at-1.24.15-PM.png" class="kg-image" alt="Tableau dashboard after Trusted Tickets are setup"></figure><!--kg-card-end: image-->]]></content:encoded></item><item><title><![CDATA[System Administration via CLI]]></title><description><![CDATA[On self-hosted Rapid and Custom Portal installs, you can SSH to the portal and manage content, and configuration.]]></description><link>https://www.zuar.com/help/rapid-portal/system-administration-via-cli/</link><guid isPermaLink="false">5ee3921396e5260001b887d7</guid><category><![CDATA[Architecture]]></category><dc:creator><![CDATA[Andy Klier]]></dc:creator><pubDate>Fri, 12 Jun 2020 15:56:00 GMT</pubDate><content:encoded><![CDATA[<p>On self-hosted Rapid and Custom Portal installs you can SSH to the portal and manage content, and configuration.</p><!--kg-card-begin: markdown--><p><code>ssh -i ~/.ssh/&lt;keyname&gt; &lt;username&gt;@&lt;portal_host_name&gt;</code></p>
<!--kg-card-end: markdown--><p>Upon SSHing into the machine you should be in the home directory of the default user. If not <code>cd ~</code>. If you list all files in the directory with <code>ls -las</code> there will be four files/directories important to the architecture of your portal.</p><!--kg-card-begin: markdown--><pre><code>-rw-rw-r--  1 ubuntu ubuntu      781 Mar 24 14:00 .env
drwxr-xr-x  4 root   root       4096 Mar 16 19:38 app
-rw-rw-r--  1 ubuntu ubuntu     1108 Mar 18 19:33 docker-compose.yaml
drwx------ 19    999 root       4096 Apr 25 00:34 pgdata
</code></pre>
<!--kg-card-end: markdown--><h2 id="docker">Docker</h2><p>Your portal is running in three docker containers. To confirm it's running and see the containers run <code>docker-compose ps</code>. </p><p>To stop all the docker containers: <code>docker-compose down</code></p><p>To start all docker containers: <code>docker-compose up -d</code> .. This will start the containers in the background.</p><p>To view logs for the running containers: <code>docker-compose logs -f --tail=100</code> or for a single container: <code>docker-compose logs -f --tail=100 auth</code> </p><p>All of the configuration for the docker containers is in the file <code>docker-compose.yaml</code>. Below is an edited version for reference:</p><!--kg-card-begin: markdown--><pre><code>version: &quot;3&quot;
services:
  zwaf:
    ...
    networks:
      - zuar
    ports:
      - &quot;80:80&quot;
      - &quot;443:443&quot;
    volumes:
      - ./app/nginx:/app/nginx
      - ./app/static:/app/static
      - ./server.key:/etc/ssl/private/server.key
      - ./server.crt:/etc/ssl/certs/server.crt
      - /etc/letsencrypt:/etc/letsencrypt
    env_file:
      - .env
    depends_on:
      - auth
  auth:
    ...
    networks:
      - zuar
    volumes:
      - ./app/static:/app/static
    env_file:
      - .env
    environment:
      - GUNICORN_CMD_ARGS=--bind=0.0.0.0:5756 --workers=4
    depends_on:
      - db
  db:
      ...
      networks:
        - zuar
      volumes:
        - ./pgdata:/var/lib/postgresql/data
      env_file:
        - .env

networks:
    zuar:
</code></pre>
<!--kg-card-end: markdown--><p>As you can see, There are three containers defined: <code>zwaf</code>, <code>auth</code>, and <code>db</code>. In the <code>zwaf</code> block we map ports using the pattern <code>- "host:container"</code>. Similarly, in all three containers we map files and directories on the host machine to directories in the docker container using the <code>volumes</code> block. </p><p>The volumes map is important, because it means that changes made to these files or directories on the host machine will also happen inside the container. </p><p>Finally, the defined <code>.env</code> file has information about the Tableau server, and PostgreSQL (more on that later).</p><h2 id="front-end-files">Front-end Files</h2><p>All front end files are located in <code>~/app/static/</code>. Any number of custom html files can be added to this directory, and they will available in the UI of your portal. Additionally, CSS styles are maintained in <code>~/app/static/css/style.css</code>, and Javascript in <code>~/app/static/js/</code>. Most of the javascript will be found in <code>app.js</code>. Images and site assets will be found in <code>~/app/static/assets/</code>.</p><h2 id="nginx">Nginx</h2><p>The server running your portal is <a href="https://www.nginx.com/">Nginx</a>. The configuration files are located in <code>~/app/nginx/nginx.conf</code> as well as any conf file included in <code>~/app/nginx/conf.d/</code>. The first file is general settings that apply to http, and the files in <code>conf.d</code> apply to the server itself, including locations, etc. Below for reference is the default nginx conf file <code>~/app/nginx/conf.d/default.conf</code> (edited):</p><!--kg-card-begin: markdown--><pre><code># SSL Redirect: 80 -&gt; 443
server {
    listen 80;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;

    server_name  _;
    root /app/static/;
    resolver 8.8.8.8;

    #charset koi8-r;
    access_log /proc/self/fd/1;

    # ENABLE SSL
    ssl_protocols TLSv1.2 TLSv1.1;
    ssl_prefer_server_ciphers on;
    ssl_ciphers &quot;EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4&quot;;
    ssl_certificate /etc/ssl/certs/server.crt;
    ssl_certificate_key /etc/ssl/private/server.key;
    ...
    ... location blocks below ...
</code></pre>
<!--kg-card-end: markdown--><p>The first server block redirects traffic from port 80 to port 443, and the second server block controls all traffic (on 443). Important settings to take note of are the <code>server_name</code> blocks, the DNS <code>resolver</code>, the <code>ssl_certificate</code> and the <code>ssl_certificate_key</code>. A <code>server_name</code> of <code>_</code> matches any hostname.</p><p>Any changes made to the Nginx configuration will require restarting Nginx inside the docker container to take effect using: <code>docker exec zwaf nginx -s reload</code></p><h2 id="env">Env</h2><p>Settings in the <code>~/.env</code> file also effects the configuration of the portal. Below is an <code>.env</code> file for reference:</p><!--kg-card-begin: markdown--><pre><code>DEBUG=True
SECRET=&lt;secret&gt;
DATABASE_URL=postgres://root:&lt;rootpass&gt;@db/portal
POSTGRES_DB=portal
POSTGRES_USER=root
POSTGRES_PASSWORD=&lt;rootpass&gt;
TABLEAU_SERVER_URL=https://tableau.yourhostname.com
TABLEAU_SERVER_SITE=Demo
LOGIN_TEMPLATE=/app/static/login.mako
TOKEN_EXPIRY=7200
PORTAL_ADMIN_USERNAME=&lt;adminusername&gt;
PORTAL_ADMIN_PASSWORD=&lt;adminpass&gt;
</code></pre>
<!--kg-card-end: markdown--><p>The most frequently changed information is probably the <code>TABLEAU_SERVER_NAME</code> and <code>TABLEAU_SERVER_SITE</code>. Any change made to this file will require restarting docker to take effect using: <code>docker-compose down &amp;&amp; docker-compose up -d</code>.</p>]]></content:encoded></item><item><title><![CDATA[Filtering Content]]></title><description><![CDATA[<p>By default, after a user logs into the Rapid Portal, a Tableau dashboard is embedded at the top of the application. Additionally, cards are displayed for every Tableau Server view that is available to the user. Clicking on a card updates the Tableau dashboard at the top.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2020/06/image.png" class="kg-image"></figure><!--kg-card-end: image--><p>The Rapid Portal</p>]]></description><link>https://www.zuar.com/help/rapid-portal/filtering-content/</link><guid isPermaLink="false">5ef93a1696e5260001b88925</guid><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Mon, 29 Jun 2020 01:06:04 GMT</pubDate><content:encoded><![CDATA[<p>By default, after a user logs into the Rapid Portal, a Tableau dashboard is embedded at the top of the application. Additionally, cards are displayed for every Tableau Server view that is available to the user. Clicking on a card updates the Tableau dashboard at the top.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2020/06/image.png" class="kg-image"></figure><!--kg-card-end: image--><p>The Rapid Portal is sending a request to the <a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api.htm">Tableau REST API</a>, specifically the "<a href="https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref.htm#query_views_for_site">Query Views for Site</a>" method.</p><h2 id="filtering-by-tableau-tags">Filtering by Tableau tags</h2><p>The "Query Views for Site" Tableau REST API method can be filtered by passing a tag or set of tags.</p><p><code>app.js</code> contains the JavaScript code that controls how the Rapid Portal application behaves. You can edit <code>app.js</code> by going to <code>https://{your_rapid_portal_url}<code>/edit/js/app.js</code></code> in your browser. Learn more about the Rapid Portal in browser editor <a href="https://www.zuar.com/help/rapid-portal/customization/">here</a>.</p><p>You will edit one specific line of code to pass the tag filter and limit the views exposed to Rapid Portal users.</p><p>Update this line:</p><!--kg-card-begin: code--><pre><code class="language-JavaScript">    zwaf.getViews().then(res =&gt; {</code></pre><!--kg-card-end: code--><p>To this:</p><!--kg-card-begin: code--><pre><code class="language-JavaScript">    zwaf.getViews({tags: ['embed']}).then(res =&gt; {</code></pre><!--kg-card-end: code--><p>This will filter the available views in the Rapid Portal to only the Tableau views that are tagged with the word <code>embed</code>. Learn more about Tableau tags <a href="https://help.tableau.com/current/pro/desktop/en-us/tags.htm">here</a>.</p><p>As another example, if you wanted to filter by views with either <code>embed</code> or <code>portal</code>, then you would update that line to this:</p><!--kg-card-begin: code--><pre><code class="language-JavaScript">    zwaf.getViews({tags: ['embed', 'portal']}).then(res =&gt; {</code></pre><!--kg-card-end: code-->]]></content:encoded></item><item><title><![CDATA[Customizer]]></title><description><![CDATA[The Rapid Portal customizer gives admin users the ability to customize the branding and user experience for all users.]]></description><link>https://www.zuar.com/help/rapid-portal/customizer/</link><guid isPermaLink="false">6082f703aed1d9000128d31f</guid><category><![CDATA[Customize]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Fri, 23 Apr 2021 20:18:15 GMT</pubDate><content:encoded><![CDATA[<p>The Rapid Portal customizer gives admin users the ability to customize the branding and user experience for all users.</p><p>The customizer includes two sections:</p><ul><li><strong>Theme</strong> - Brand the Rapid Portal's logo, login background, colors, and dashboard tags.</li><li><strong>Layout</strong> - Select from existing page layout <a href="https://www.zuar.com/help/rapid-portal/templates/">templates</a> and/or edit HTML, CSS, and JavaScript for a completely customized user experience.</li></ul><p><em>This feature requires Rapid Portal v2.0+.</em></p><h2 id="how-do-i-open-the-customizer">How Do I Open the Customizer?</h2><p>After logging into the Rapid Portal, admin users have access to the customizer via their user menu and the "Customize" button. </p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-2.png" class="kg-image"></figure><!--kg-card-end: image--><p>Users without admin access will not see the "Admin" or "Customize" buttons in their user menu.</p><h2 id="how-do-i-customize-the-theme">How Do I Customize the Theme?</h2><p>The first section of the customizer includes quick options for changing:</p><ul><li><strong>Logo</strong> - This is the image that can appear on the login page (depending on the template) and that appears in the header of the app page.</li><li><strong>Login Background</strong> - This is the background image/video displayed on the login page.</li><li><strong>Primary color</strong> - This is the primary color of the Rapid Portal. It appears in multiple places (login page’s log in button, dashboard loading icon, etc.).</li><li><strong>Login form background color</strong> - This is the color of the background of the login form.</li><li><strong>Header icon color </strong>- This is the color of the icons in the top right of the app page.</li><li><strong>Header background color</strong> - This is the background color of the index page's header.</li><li><strong>Dashboard tags</strong> - These tags control the filtering of dashboards in the Rapid Portal.</li></ul><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image.png" class="kg-image"></figure><!--kg-card-end: image--><h3 id="logo">Logo</h3><p>The logo can either be a relative or absolute path to an image. Drop in a file to host the file on the Rapid Portal and reference it locally.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-6.png" class="kg-image"></figure><!--kg-card-end: image--><h3 id="login-background">Login Background</h3><p>The login background image can either be a relative or absolute path to an image or video. Drop in a file to host the file on the Rapid Portal and reference it locally.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-7.png" class="kg-image"></figure><!--kg-card-end: image--><h3 id="color-picker-widgets">Color Picker Widgets</h3><p>Color picker widgets are available for:</p><ul><li>Primary color</li><li>Login form background color</li><li>Header icon color</li><li>Header background color</li></ul><p>There are several options for picking colors:</p><ul><li>RGB</li><li>HSL</li><li>HEX</li><li>Eye dropper</li></ul><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-5.png" class="kg-image"></figure><!--kg-card-end: image--><h3 id="dashboard-tags">Dashboard Tags</h3><p>Dashboard tags filter the dashboards available to each user. These filters are passed to the <a href="https://www.zuar.com/help/waf/tableau-rest-api/">Tableau REST API</a>'s list of views.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-8.png" class="kg-image"></figure><!--kg-card-end: image--><h2 id="how-do-i-customize-the-layout">How do I Customize the Layout?</h2><p>The second section of the Customizer includes options for changing the template of these pages:</p><ul><li><strong>Login</strong> - The login page for users.</li><li><strong>App</strong> - The application page that displays the embedded dashboards.</li></ul><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-1.png" class="kg-image"></figure><!--kg-card-end: image--><p>Learn more about Rapid Portal <a href="https://www.zuar.com/help/rapid-portal/templates/">templates</a>.</p><p>Next to each template is an “Advanced” link that takes the admin to the <a href="https://www.zuar.com/help/rapid-portal/editor/">editor page</a>. There the admin can edit all of the Rapid Portal code directly in the browser and make any further customizations.</p>]]></content:encoded></item><item><title><![CDATA[Editor]]></title><description><![CDATA[Rapid Portal is completely customizable using HTML, CSS & JavaScript. Simple branding changes like swapping out images & colors can be done with the UI.]]></description><link>https://www.zuar.com/help/rapid-portal/editor/</link><guid isPermaLink="false">60832de5aed1d9000128d379</guid><category><![CDATA[Administration]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Fri, 23 Apr 2021 20:28:48 GMT</pubDate><content:encoded><![CDATA[<p>The Rapid Portal is completely customizable by anyone who has knowledge of HTML, CSS, and JavaScript. </p><p>Simple branding changes like swapping out images or colors can be done with the Rapid Portal's <a href="https://www.zuar.com/help/rapid-portal/customizer/">customizer</a> in the UI.</p><p>For those with more in depth knowledge of JavaScript, the <a href="https://www.zuar.com/help/waf/tableau-javascript-api/">Tableau JavaScript API</a>, and the <a href="https://www.zuar.com/help/waf/tableau-rest-api/">Tableau REST API</a>, the Rapid Portal can be completely customized and extended.</p><h2 id="in-browser-editor">In Browser Editor</h2><p>To make prototyping and simple tweaks easier, the Rapid Portal has an in browser editor. <em>In production, this functionality should be turned off and only enabled if and when changes need to be made (rarely).</em></p><p>The editor can be opened by Rapid Portal admins through the user menu.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/04/image-3.png" class="kg-image"></figure><!--kg-card-end: image--><p>This in browser editor allows you to change any of the Rapid Portal's files directly, save those changes, and see the changes live.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-4.png" class="kg-image"><figcaption>Rapid Portal's <code>/edit</code> feature.</figcaption></figure><!--kg-card-end: image--><p>Clicking on “Enter a file path and name to edit” shows the list of files.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-9.png" class="kg-image"><figcaption>Rapid Portal's main files.&nbsp;</figcaption></figure><!--kg-card-end: image--><p>Important files below:</p><ul><li><code>/login.html</code> - Login page</li><li><code>/index.html</code> - Main Application page showing embedded Tableau dashboards</li><li><code>/css/style.css</code></li></ul><p><em>HELPFUL TIP: </em>Split your screen so you can edit and save in the editor and then refresh the live page.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/content/images/2021/11/image-8_final-1.jpg" class="kg-image"><figcaption>Example of split screen to test edits against live Rapid Portal.</figcaption></figure><!--kg-card-end: image--><h3 id="save-edits">Save edits</h3><p>You can edit any of the files and press CTRL+S or click the pink SAVE button to save. After saving, navigate to the page you edited and refresh your browser. You should see the changes reflected live.</p><p><em>HELPFUL TIP: </em>It is best practice to create new files and edit those while testing changes rather than overwriting the main pages directly.</p><h3 id="create-new-files">Create new files</h3><p>You can create a new file by typing a filename and pressing enter or clicking the black arrow.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-11.png" class="kg-image"><figcaption>Example of creating a new page in the Rapid Portal.</figcaption></figure><!--kg-card-end: image-->]]></content:encoded></item><item><title><![CDATA[Content Management]]></title><description><![CDATA[<h2 id="how-do-i-control-the-overall-set-of-content-that-is-exposed-to-users-in-my-rapid-portal">How do I control the overall set of content that is exposed to users in my Rapid Portal?</h2><p>Typically in an embedded analytics application you want to expose a subset of all content that is available in Tableau. There is a specific use case and associated dashboards you are exposing</p>]]></description><link>https://www.zuar.com/help/rapid-portal/content-management/</link><guid isPermaLink="false">5deede9ed1328d00012174de</guid><category><![CDATA[Administration]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Mon, 09 Dec 2019 23:59:04 GMT</pubDate><content:encoded><![CDATA[<h2 id="how-do-i-control-the-overall-set-of-content-that-is-exposed-to-users-in-my-rapid-portal">How do I control the overall set of content that is exposed to users in my Rapid Portal?</h2><p>Typically in an embedded analytics application you want to expose a subset of all content that is available in Tableau. There is a specific use case and associated dashboards you are exposing externally to clients or you are just trying to simplify the user experience for your internal users.</p><h3 id="tags-in-tableau">Tags in Tableau</h3><p>Using tags on Tableau content in your Tableau Server/Online is one of the ways to expose content in the Zuar Rapid Portal.</p><p>Below is a graphic showing all of the content in Tableau versus the subset of content (tagged with "embed") that shows up in the Zuar Rapid Portal.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image.png" class="kg-image"></figure><!--kg-card-end: image--><p>Tableau documentation on tags <a href="https://help.tableau.com/current/pro/desktop/en-us/tags.htm">here</a>. </p><blockquote>Authors can tag content when they publish it to a Tableau server. You can also add tags to any content you are allowed to access, and you can delete any tags you have added.</blockquote><h3 id="permissions-in-tableau">Permissions in Tableau</h3><p>The Zuar Rapid Portal leverages all of the security on the Tableau side. Specifically, users in the Rapid Portal only see content they are allowed to see in Tableau.</p><p>Below is a graphic showing all of the content in Tableau versus the subset of content that a specific user has access to and therefore that shows up in the Zuar Rapid Portal.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-1.png" class="kg-image"></figure><!--kg-card-end: image--><p>Tableau documentation on permissions from a Tableau Server/Online perspective <a href="https://help.tableau.com/current/server/en-us/permissions.htm">here</a>. Tableau documentation on setting permissions as a content creator <a href="https://help.tableau.com/current/pro/desktop/en-us/publish_workbooks_permissions_add.htm">here</a>.</p><h2 id="how-do-i-sort-the-content-that-is-exposed-in-the-portal">How do I sort the content that is exposed in the Portal?</h2><p>Now that you have content exposed in the Rapid Portal, you may want to sort that content in some way. By default, the content is sorted alphanumerically ascending.</p><h3 id="naming-convention-in-tableau">Naming convention in Tableau</h3><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-2.png" class="kg-image"></figure><!--kg-card-end: image--><h3 id="favorites-in-the-rapid-portal">Favorites in the Rapid Portal</h3><p>Individual users can favorite content they have access to in the portal to give them control over what content they want to see first.</p><p>Favoriting content can be done directly in the Rapid Portal by clicking on the star in the bottom right of any dashboard thumbnail.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://www.zuar.com/help/rapid-portal/portal/rapid/content/images/2019/12/image-3.png" class="kg-image"></figure><!--kg-card-end: image--><p>Tableau documentation on favorites <a href="https://help.tableau.com/current/pro/desktop/en-us/favorites.htm">here</a>.</p>]]></content:encoded></item><item><title><![CDATA[Tech Specs]]></title><description><![CDATA[Rapid Portal is installed on its own dedicated VM or physical server. Portal is deployed via Docker, so can be installed on any system Docker supports (Linux, MacOS, Windows).]]></description><link>https://www.zuar.com/help/rapid-portal/tech-specs/</link><guid isPermaLink="false">5dfa9ad3d1328d00012176ac</guid><category><![CDATA[Setup]]></category><dc:creator><![CDATA[Whitney Myers]]></dc:creator><pubDate>Wed, 18 Dec 2019 21:33:00 GMT</pubDate><content:encoded><![CDATA[<h2 id="minimum-tech-specs">Minimum Tech Specs</h2><p>Rapid Portal should be installed on its own dedicated server (VM or physical).</p><h3 id="operating-system">Operating System</h3><p>The Portal is deployed via <a href="https://docs.docker.com/get-docker/">Docker</a> and therefore can be installed on any system Docker supports. The following systems are supported by Zuar technical support:</p><ul><li> Linux (Ubuntu preferred)</li><li>MacOS (AMD)</li></ul><p>Prior to deploying via Docker, test to confirm Docker allows linux images:</p><!--kg-card-begin: markdown--><pre><code>docker pull alpine
docker run alpine ls -l
</code></pre>
<!--kg-card-end: markdown--><h3 id="cpu">CPU</h3><p>2 vCPU</p><h3 id="ram">RAM</h3><p>4 GB</p><h3 id="disk-space">Disk Space</h3><p>50 GB</p><h3 id="network">Network</h3><p>The Portal needs network access to any systems it is integrating with (e.g. database, Tableau, etc). </p><h3 id="inbound-ports">Inbound Ports</h3><p>End users access the Portal via a web browser. Typically the Portal is configured to listen on ports 443 (and 80 redirecting to 443).</p><h2 id="supported-web-browsers">Supported Web Browsers</h2><p>The Portal supports the last 2 major versions of the following browsers:</p><ul><li>Google Chrome</li><li>Microsoft Edge</li><li>Mozilla Firefox</li><li>Apple Safari</li></ul><p></p>]]></content:encoded></item><item><title><![CDATA[Web Application]]></title><description><![CDATA[The web application that comes with the Rapid Portal is written in pure JavaScript, and consists of both the application code and JavaScript library for accessing the Tableau REST API.]]></description><link>https://www.zuar.com/help/rapid-portal/web-application/</link><guid isPermaLink="false">5dfaa050d1328d00012176c3</guid><category><![CDATA[Architecture]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Wed, 18 Dec 2019 23:26:01 GMT</pubDate><content:encoded><![CDATA[<p>The web application that comes with the Rapid Portal is written in pure JavaScript and consists of two parts:</p><ol><li>The application code itself</li><li>A JavaScript library for accessing the Tableau REST API</li></ol><p>The web application reads the list of Tableau views from the REST API and displays thumbnails along with loading the first dashboard. The list of dashboards shown is configurable in multiple ways, including all views on a site or all views with a particular tag.</p><p>The standard Tableau actions are listed in the header bar using the standard Tableau JavaScript API.</p>]]></content:encoded></item><item><title><![CDATA[Templates]]></title><description><![CDATA[<p>This page is currently under construction as we update and reorganize our Rapid Portal documentation.</p><p>In the meantime, if you have questions on this Rapid Portal topic feel free to create a <a href="https://community.zuar.com/">community post</a>!</p>]]></description><link>https://www.zuar.com/help/rapid-portal/templates/</link><guid isPermaLink="false">60832ba7aed1d9000128d331</guid><category><![CDATA[Customize]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Fri, 23 Apr 2021 20:18:57 GMT</pubDate><content:encoded><![CDATA[<p>This page is currently under construction as we update and reorganize our Rapid Portal documentation.</p><p>In the meantime, if you have questions on this Rapid Portal topic feel free to create a <a href="https://community.zuar.com/">community post</a>!</p>]]></content:encoded></item><item><title><![CDATA[Web Application Firewall]]></title><description><![CDATA[<p>See documentation here: <a href="https://www.zuar.com/help/waf/">https://zuar.com/help/waf</a>/</p>]]></description><link>https://www.zuar.com/help/rapid-portal/web-application-firewall/</link><guid isPermaLink="false">5dfa99f0d1328d000121769d</guid><category><![CDATA[Architecture]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Wed, 18 Dec 2019 21:28:30 GMT</pubDate><content:encoded><![CDATA[<p>See documentation here: <a href="https://www.zuar.com/help/waf/">https://zuar.com/help/waf</a>/</p>]]></content:encoded></item><item><title><![CDATA[Zuar Hosted Questionnaire]]></title><description><![CDATA[If Zuar is to host your Rapid Portal in AWS in production, please perform the following actions and provide relevant information to Zuar.]]></description><link>https://www.zuar.com/help/rapid-portal/zuar-hosted-questionnaire/</link><guid isPermaLink="false">5e821cc396e5260001b8871d</guid><category><![CDATA[Setup]]></category><dc:creator><![CDATA[Justin Freels]]></dc:creator><pubDate>Mon, 30 Mar 2020 16:26:18 GMT</pubDate><content:encoded><![CDATA[<p>If Zuar is hosting your Rapid Portal in AWS in production, please perform the following actions and provide relevant information to Zuar. Zuar will use this information to configure your Rapid Portal. Root access is required for installation.</p><h2 id="action-items">Action items</h2><ol><li>Create a <a href="https://support.dnsimple.com/articles/cname-record/">DNS CNAME record</a> for the Zuar Rapid Portal pointing to the Zuar owned hostname (e.g. customer.zuarbase.net).</li><li>Send the hostname (or URL) of the DNS CNAME record to Zuar. Zuar will create SSL certificates for the hostname.</li><li>Send Tableau information (Tableau Server/Online URL, Tableau Server/Online Site, and authentication mechanism) to Zuar. Read about <a href="https://www.zuar.com/help/waf/tableau-authentication/">how Zuar uses Tableau for authentication</a>.</li></ol>]]></content:encoded></item></channel></rss>