<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Qlik Sense Client Managed: How to create a Nebula.js mashup in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-Client-Managed-How-to-create-a-Nebula-js-mashup/ta-p/1911207</link>
    <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;P&gt;This article is a step-by-step on how to create a nebula.js mashup for Qlik Sense Client managed and is based on the tutorial to create a nebula.js mashup for Qlik Sense SaaS, which can be found &lt;A href="https://qlik.dev/tutorials/build-a-simple-mashup-using-nebulajs" target="_self"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Please also make sure all requirements have been fulfilled based on article:&amp;nbsp;&lt;A href="https://community.qlik.com/t5/Knowledge/Qlik-Sense-for-Windows-All-you-need-to-know-to-start-using/ta-p/1758478" target="_blank"&gt;https://community.qlik.com/t5/Knowledge/Qlik-Sense-for-Windows-All-you-need-to-know-to-start-using/ta-p/1758478&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Requirements:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;- &lt;LI-PRODUCT title="Qlik Sense Enterprise on Windows" id="qlikSenseEnterpriseWindows"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;April 2020 or higher&lt;/P&gt;
&lt;P&gt;- Node.js 10.0.0 or higher&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Create a simple web project&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;npx @nebula.js/cli create mashup hello-cm&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit the index.js file in the src folder and input your Qlik Sense server url and the app ID you want to connect to, the result should look as below:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;const app = await connect({
  url: 'qlikserver1.example.local',
  appId: '7fc4d85c-0e07-4160-90a9-c2ca4a45fd81',
});&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit the connect.js in the src folder and replace the whole content by the following:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;import enigma from 'enigma.js';

export default function connectLocal({ url , appId }) {
  const loadSchema = () =&amp;gt;
    fetch('https://unpkg.com/enigma.js/schemas/12.612.0.json').then((response) =&amp;gt; response.json());

  const createConnection = () =&amp;gt;
    loadSchema().then((schema) =&amp;gt;
      enigma
        .create({
          schema,
          url: `wss://${url}/app/${appId}`,
        })
        .open()
        .then((qix) =&amp;gt; qix.openDoc(`${appId}`))
    );

  return createConnection().then(
    (app) =&amp;gt; app
  );
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Back to index.js, add the following lines to render the object you want:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;n.render({
  element: document.querySelector('.object'),
  id: 'EAjjuyE',
});&lt;/LI-CODE&gt;
&lt;P&gt;See tutorial &lt;A href="https://qlik.dev/tutorials/build-a-simple-mashup-using-nebulajs" target="_self"&gt;here&lt;/A&gt;&amp;nbsp;in the "Visualize data" section on how to fetch the ID for the wanted object.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Configure package.json to use https&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In order to follow best practices on embedded contents, we are now going to modify package.json in order to enable https. Please note that you need to bring your own certificates in pem format.&lt;/P&gt;
&lt;P&gt;On line 12 in package.json, add the following argument to the "parcel" command line:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;  "scripts": {
    "start": "parcel src/index.html --open --no-hmr --port 444 --https --cert server.pem --key server_key.pem --host dc1.example.local",
    "build": "parcel build src/index.html --dist-dir ./dist"
  },&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Run the project&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Go to the project folder root and run this command:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;npm run start
&lt;/LI-CODE&gt;
&lt;P&gt;The server runs on &lt;A href="https://dc1.example.local:444/" target="_blank"&gt;https://dc1.example.local:444/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that this sample doesn't handle authentication and you might need to first log in to Qlik Sense in your browser before opening the page to see the charts.&lt;/P&gt;
&lt;/DIV&gt;</description>
    <pubDate>Tue, 29 Mar 2022 12:54:47 GMT</pubDate>
    <dc:creator>Damien_V</dc:creator>
    <dc:date>2022-03-29T12:54:47Z</dc:date>
    <item>
      <title>Qlik Sense Client Managed: How to create a Nebula.js mashup</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-Client-Managed-How-to-create-a-Nebula-js-mashup/ta-p/1911207</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;P&gt;This article is a step-by-step on how to create a nebula.js mashup for Qlik Sense Client managed and is based on the tutorial to create a nebula.js mashup for Qlik Sense SaaS, which can be found &lt;A href="https://qlik.dev/tutorials/build-a-simple-mashup-using-nebulajs" target="_self"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Please also make sure all requirements have been fulfilled based on article:&amp;nbsp;&lt;A href="https://community.qlik.com/t5/Knowledge/Qlik-Sense-for-Windows-All-you-need-to-know-to-start-using/ta-p/1758478" target="_blank"&gt;https://community.qlik.com/t5/Knowledge/Qlik-Sense-for-Windows-All-you-need-to-know-to-start-using/ta-p/1758478&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Requirements:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;- &lt;LI-PRODUCT title="Qlik Sense Enterprise on Windows" id="qlikSenseEnterpriseWindows"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;April 2020 or higher&lt;/P&gt;
&lt;P&gt;- Node.js 10.0.0 or higher&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Create a simple web project&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;npx @nebula.js/cli create mashup hello-cm&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit the index.js file in the src folder and input your Qlik Sense server url and the app ID you want to connect to, the result should look as below:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;const app = await connect({
  url: 'qlikserver1.example.local',
  appId: '7fc4d85c-0e07-4160-90a9-c2ca4a45fd81',
});&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit the connect.js in the src folder and replace the whole content by the following:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;import enigma from 'enigma.js';

export default function connectLocal({ url , appId }) {
  const loadSchema = () =&amp;gt;
    fetch('https://unpkg.com/enigma.js/schemas/12.612.0.json').then((response) =&amp;gt; response.json());

  const createConnection = () =&amp;gt;
    loadSchema().then((schema) =&amp;gt;
      enigma
        .create({
          schema,
          url: `wss://${url}/app/${appId}`,
        })
        .open()
        .then((qix) =&amp;gt; qix.openDoc(`${appId}`))
    );

  return createConnection().then(
    (app) =&amp;gt; app
  );
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Back to index.js, add the following lines to render the object you want:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;n.render({
  element: document.querySelector('.object'),
  id: 'EAjjuyE',
});&lt;/LI-CODE&gt;
&lt;P&gt;See tutorial &lt;A href="https://qlik.dev/tutorials/build-a-simple-mashup-using-nebulajs" target="_self"&gt;here&lt;/A&gt;&amp;nbsp;in the "Visualize data" section on how to fetch the ID for the wanted object.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Configure package.json to use https&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In order to follow best practices on embedded contents, we are now going to modify package.json in order to enable https. Please note that you need to bring your own certificates in pem format.&lt;/P&gt;
&lt;P&gt;On line 12 in package.json, add the following argument to the "parcel" command line:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;  "scripts": {
    "start": "parcel src/index.html --open --no-hmr --port 444 --https --cert server.pem --key server_key.pem --host dc1.example.local",
    "build": "parcel build src/index.html --dist-dir ./dist"
  },&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Run the project&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Go to the project folder root and run this command:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;npm run start
&lt;/LI-CODE&gt;
&lt;P&gt;The server runs on &lt;A href="https://dc1.example.local:444/" target="_blank"&gt;https://dc1.example.local:444/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that this sample doesn't handle authentication and you might need to first log in to Qlik Sense in your browser before opening the page to see the charts.&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 29 Mar 2022 12:54:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-Client-Managed-How-to-create-a-Nebula-js-mashup/ta-p/1911207</guid>
      <dc:creator>Damien_V</dc:creator>
      <dc:date>2022-03-29T12:54:47Z</dc:date>
    </item>
  </channel>
</rss>

