From 033dbbf756a255f7cc10e2a499edf37c6aae1d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Grote?= Date: Tue, 15 Jun 2021 18:17:13 +0200 Subject: [PATCH] docs update add CIC oAuth support to LiveApps package --- LICENSE.md | 2 +- .../TIBCOLiveApps.unitypackage | Bin 52696 -> 52532 bytes .../2019/06/09/bike-exploration/index.html | 8 + .../12/13/initial-release-2019/index.html | 8 + .../2020/04/16/first-release-2020/index.html | 8 + .../04/16/spotfire-exploration/index.html | 8 + .../04/27/2nd-april-2020-release/index.html | 8 + .../25/3nd-september-2020-release/index.html | 10 +- .../2020/09/28/webxr-exploration/index.html | 8 + .../2020/10/08/nimbus-exploration/index.html | 8 + .../2020/12/16/marker-exploration/index.html | 8 + .../05/05/may-2021-explorations/index.html | 8 + .../2021/06/15/june-2021-release/index.html | 465 +++++++++++++++++ docs/blog/index.html | 61 ++- docs/blog/index.xml | 22 + docs/blog/page/2/index.html | 486 ++++++++++++++++++ docs/blog/releases/index.html | 29 ++ docs/blog/releases/index.xml | 22 + docs/docs/index.html | 2 +- docs/docs/index.xml | 188 +++---- docs/docs/packages/cloud-liveapps/index.html | 75 +-- docs/docs/packages/index.html | 4 +- docs/docs/packages/index.xml | 64 ++- docs/docs/samples/index.html | 4 +- docs/index.xml | 22 + docs/sitemap.xml | 15 +- 26 files changed, 1366 insertions(+), 177 deletions(-) create mode 100644 docs/blog/2021/06/15/june-2021-release/index.html create mode 100644 docs/blog/page/2/index.html diff --git a/LICENSE.md b/LICENSE.md index f6c812aa..49ca0228 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,5 +1,5 @@ BSD 3-Clause License -Copyright (c) 2020 TIBCO Software Inc. +Copyright (c) 2021 TIBCO Software Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/Unity/_Packages/TIBCO-Cloud-LiveApps/TIBCOLiveApps.unitypackage b/Unity/_Packages/TIBCO-Cloud-LiveApps/TIBCOLiveApps.unitypackage index 889ef00ba67045969dc285f09667dcf62700361d..fcaa2379210f4a26627bbade436ce6bf2a9ccc87 100644 GIT binary patch literal 52532 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

UH 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 literal 52696 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

Y8=!Ojc$s5 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 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2019/12/13/initial-release-2019/index.html b/docs/blog/2019/12/13/initial-release-2019/index.html index 9df991a0..3c42423f 100644 --- a/docs/blog/2019/12/13/initial-release-2019/index.html +++ b/docs/blog/2019/12/13/initial-release-2019/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2020/04/16/first-release-2020/index.html b/docs/blog/2020/04/16/first-release-2020/index.html index 11706ce0..dbe9838c 100644 --- a/docs/blog/2020/04/16/first-release-2020/index.html +++ b/docs/blog/2020/04/16/first-release-2020/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2020/04/16/spotfire-exploration/index.html b/docs/blog/2020/04/16/spotfire-exploration/index.html index 0760695c..5b5622fb 100644 --- a/docs/blog/2020/04/16/spotfire-exploration/index.html +++ b/docs/blog/2020/04/16/spotfire-exploration/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2020/04/27/2nd-april-2020-release/index.html b/docs/blog/2020/04/27/2nd-april-2020-release/index.html index 8b8c2f57..18698ebc 100644 --- a/docs/blog/2020/04/27/2nd-april-2020-release/index.html +++ b/docs/blog/2020/04/27/2nd-april-2020-release/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2020/09/25/3nd-september-2020-release/index.html b/docs/blog/2020/09/25/3nd-september-2020-release/index.html index 807eeeb7..f44107a4 100644 --- a/docs/blog/2020/09/25/3nd-september-2020-release/index.html +++ b/docs/blog/2020/09/25/3nd-september-2020-release/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release @@ -350,7 +358,7 @@

3nd September 2020 Release

  • Previous
  • - Next + Next diff --git a/docs/blog/2020/09/28/webxr-exploration/index.html b/docs/blog/2020/09/28/webxr-exploration/index.html index cd73f3db..65b97f9f 100644 --- a/docs/blog/2020/09/28/webxr-exploration/index.html +++ b/docs/blog/2020/09/28/webxr-exploration/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2020/10/08/nimbus-exploration/index.html b/docs/blog/2020/10/08/nimbus-exploration/index.html index 19d332c9..7075575c 100644 --- a/docs/blog/2020/10/08/nimbus-exploration/index.html +++ b/docs/blog/2020/10/08/nimbus-exploration/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2020/12/16/marker-exploration/index.html b/docs/blog/2020/12/16/marker-exploration/index.html index a7cc136c..a67c6c15 100644 --- a/docs/blog/2020/12/16/marker-exploration/index.html +++ b/docs/blog/2020/12/16/marker-exploration/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2021/05/05/may-2021-explorations/index.html b/docs/blog/2021/05/05/may-2021-explorations/index.html index 2a874ab3..03d1b53c 100644 --- a/docs/blog/2021/05/05/may-2021-explorations/index.html +++ b/docs/blog/2021/05/05/may-2021-explorations/index.html @@ -188,6 +188,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release diff --git a/docs/blog/2021/06/15/june-2021-release/index.html b/docs/blog/2021/06/15/june-2021-release/index.html new file mode 100644 index 00000000..5fcaea68 --- /dev/null +++ b/docs/blog/2021/06/15/june-2021-release/index.html @@ -0,0 +1,465 @@ + + + + + + + + + + + + + + + + + + + +June 2021 Release | Project ART + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    +
    +
    +
    + + + + + +
    + + + + +
    + + + + +
    +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + +
    +
    + + RSS + + +
    +

    June 2021 Release

    +
    public June 2021 Release.
    + + +

    public release Implementation Packages update for Unity of the TIBCO LABS™ Project ART, containing:

    +
      +
    • add CIC oAuth implementation support to TIBCO Cloud™ Live Apps - Unity3D Package
    • +
    • work in progress details about upcoming Unity3D Package
    • +
    • ongoing Exploration updates
    • +
    +
    +

    please have a look back soon here, and check our Roadmap.

    +
    + + + + + +
    + + +
    +
    +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/blog/index.html b/docs/blog/index.html index 404aa2e9..7858475f 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -178,6 +178,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release @@ -325,6 +333,22 @@

    Posts in 2021

      +
    • +
      +
      June 2021 Release
      +

      Tuesday, June 15, 2021 in Releases

      + + + + + + +

      public release Implementation Packages update for Unity of the TIBCO LABS™ Project ART, containing: + add CIC oAuth implementation support to TIBCO Cloud™ Live Apps - Unity3D Package work in progress details about upcoming Unity3D Package ongoing …

      +

      Read more

      +
      +
    • +
    • May 2021 Explorations
      @@ -484,23 +508,6 @@
      -
      -
      Bike Exploration
      -

      Sunday, June 09, 2019 in Blog

      - - - - - - -

      check out our Bike Exploration for the international women pro cycling team “Team TIBCO Silicon Valley Bank” - based on Hololens 1 connected to TIBCO Cloud Services. -

      -

      Read more

      -
      -
    • -
    @@ -510,6 +517,26 @@
    + diff --git a/docs/blog/index.xml b/docs/blog/index.xml index d862dcb5..72b1aaa1 100644 --- a/docs/blog/index.xml +++ b/docs/blog/index.xml @@ -13,6 +13,28 @@ + + Blog: June 2021 Release + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + Tue, 15 Jun 2021 00:00:00 +0000 + + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + + + + <p>public release Implementation Packages update for Unity of the TIBCO LABS™ Project ART, containing:</p> +<ul> +<li>add CIC oAuth implementation support to TIBCO Cloud™ Live Apps - Unity3D Package</li> +<li>work in progress details about upcoming Unity3D Package</li> +<li>ongoing Exploration updates</li> +</ul> +<blockquote> +<p>please have a look back soon here, and check our Roadmap.</p> +</blockquote> + + + + Blog: May 2021 Explorations https://tibcosoftware.github.io/Augmented-Reality/blog/2021/05/05/may-2021-explorations/ diff --git a/docs/blog/page/2/index.html b/docs/blog/page/2/index.html new file mode 100644 index 00000000..c3ae235f --- /dev/null +++ b/docs/blog/page/2/index.html @@ -0,0 +1,486 @@ + + + + + + + + + + + + + + + + + + + + +Blog | Project ART + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    +
    +
    +
    +
    + + + + + +
    + + + + +
    + + + + +
    +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + +
    +
    + + RSS + + + + + + +
    +
    + +

    Posts in 2019

    +
      + +
    • +
      +
      Bike Exploration
      +

      Sunday, June 09, 2019 in Blog

      + + + + + + +

      check out our Bike Exploration for the international women pro cycling team “Team TIBCO Silicon Valley Bank” + based on Hololens 1 connected to TIBCO Cloud Services. +

      +

      Read more

      +
      +
    • + +
    + + +
    +
    +
    +
    + + + + + + +
    +
    + +
    +
    +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/blog/releases/index.html b/docs/blog/releases/index.html index 4a1f1461..40af2bd5 100644 --- a/docs/blog/releases/index.html +++ b/docs/blog/releases/index.html @@ -178,6 +178,14 @@ + June 2021 Release + + + + + + + 3nd September 2020 Release @@ -322,6 +330,27 @@
    +

    Posts in 2021

    +
      + +
    • +
      +
      June 2021 Release
      +

      Tuesday, June 15, 2021 in Releases

      + + + + + + +

      public release Implementation Packages update for Unity of the TIBCO LABS™ Project ART, containing: + add CIC oAuth implementation support to TIBCO Cloud™ Live Apps - Unity3D Package work in progress details about upcoming Unity3D Package ongoing …

      +

      Read more

      +
      +
    • + +
    +

    Posts in 2020

      diff --git a/docs/blog/releases/index.xml b/docs/blog/releases/index.xml index 7fa0ad90..16a61636 100644 --- a/docs/blog/releases/index.xml +++ b/docs/blog/releases/index.xml @@ -13,6 +13,28 @@ + + Blog: June 2021 Release + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + Tue, 15 Jun 2021 00:00:00 +0000 + + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + + + + <p>public release Implementation Packages update for Unity of the TIBCO LABS™ Project ART, containing:</p> +<ul> +<li>add CIC oAuth implementation support to TIBCO Cloud™ Live Apps - Unity3D Package</li> +<li>work in progress details about upcoming Unity3D Package</li> +<li>ongoing Exploration updates</li> +</ul> +<blockquote> +<p>please have a look back soon here, and check our Roadmap.</p> +</blockquote> + + + + Blog: 3nd September 2020 Release https://tibcosoftware.github.io/Augmented-Reality/blog/2020/09/25/3nd-september-2020-release/ diff --git a/docs/docs/index.html b/docs/docs/index.html index 5c8265d0..dd5ba747 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -626,7 +626,7 @@
      -
      Last modified April 16, 2020: init (f0953ff) +
      Last modified June 9, 2021: add image (b3c49b1)
      diff --git a/docs/docs/index.xml b/docs/docs/index.xml index 131ffc50..be8ac2c2 100644 --- a/docs/docs/index.xml +++ b/docs/docs/index.xml @@ -404,72 +404,10 @@ Here you can place the Object anywhere, <i>without the need for a printed
      - - Docs: Hololens 2 TIBCO Cloud Messaging integration - https://tibcosoftware.github.io/Augmented-Reality/docs/samples/cloud-messaging-hololens2/ - Mon, 27 Apr 2020 00:00:00 +0000 - - https://tibcosoftware.github.io/Augmented-Reality/docs/samples/cloud-messaging-hololens2/ - - - - <h2 id="purpose">Purpose</h2> -<p>This Project is using our Unity3D packages in a simple demo app.</p> -<p><code>CloudMessagingObserverScene</code> contains a simple object (from MRTK samples) and a Connection to TIBCO Cloud Messaging service under the <code>MainController</code> object.</p> -<p>The App will publish messages when some interaction happen on the object. At the moment the app is detection the following events</p> -<ul> -<li>BecameVisible and BecameInvisble</li> -<li>HasFocus and LostFocus</li> -<li>[PointerName]Down</li> -<li>[PointerName]Clicked</li> -</ul> -<p>PointerName is <em>PokePointer</em> or <em>DefaultControllerPointer</em>.</p> -<p>You can see the messages in the TIBCO Cloud Messaging &ldquo;Demo application&rdquo; : -from <a href="https://messaging.cloud.tibco.com/">https://messaging.cloud.tibco.com/</a> one the Help panel (question mark in the page header) and select <em>Run the Demo</em> link.</p> -<p>From the same &ldquo;Demo Application&rdquo; you can send messages to change the color of the object. -Just enter</p> -<ul> -<li>set color red</li> -<li>set color blue</li> -<li>set color green</li> -</ul> -<p>It is a sample application, so we have implemented a very simple, text based set of commands. The sample can be extended to implement solutions using elaborated JSON messages.</p> -<p>A panel in the Scene is also displaying received messages.</p> -<h2 id="install">Install</h2> -<ul> -<li>Open the project in Unity 2019.2.17f1</li> -<li>Import MRTK 2.3.0 foundation</li> -<li>Import TIBCOFTL Package (from this repository under Packages folder)</li> -<li>Set your Credentials</li> -</ul> -<p>You can test in Unity Editor.</p> -<p>Deploy on Hololens and enjoy.</p> -<p><strong>Set credentials</strong></p> -<p>For security reasons, credential are stored as property keys in a resource file named <em>TIBCO-credentials.txt</em> which is ignored from git so credentials are not checked in.</p> -<p>The directory <em>TIBCOLabs &gt; Utils &gt; Resources</em> contains a sample resource file. You can copy it with a the correct name or just create <em>TIBCO-credentials.txt</em> resource and have the following lines :</p> -<ul> -<li>eftl.socketurl = Web Socket URI</li> -<li>eftl.authkey = your authentication key</li> -</ul> -<p><strong>Prerequisite</strong></p> -<p>Get a TIBCO Cloud Account with TIBCO Cloud Messaging subscription.</p> -<p>Obtain the channel URL and one Authentication key.</p> -<h2 id="details">Details</h2> -<p>Check the script <code>InteractionEventPublisher</code> attached to the object.</p> -<h2 id="next-steps">Next Steps</h2> -<p>Receiving and sending messages is a very powerful capability to implement the business logic of your application outside the Unity code. In an other sample we will show how to use a rule engine (based on complex event processing capabilities offered by TIBCO Cloud Events) to detect some interaction patterns and udpate the scene.</p> -<p>Messaging can also be used for inter application communication scenario.</p> -<p>We will also add events to the InteractionEventPublisher. (IsTouched, GetCloser, &hellip;).</p> -<h2 id="source">Source</h2> -<p>Implementation, as Unity Project <a href="https://github.com/TIBCOSoftware/Augmented-Reality/tree/master/Unity/Hololens2/Messaging-SampleApp">Source</a></p> - - - - Docs: TIBCO Cloud™ LiveApps - Unity3D Package https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-liveapps/ - Sun, 05 Jan 2020 00:00:00 +0000 + Tue, 15 Jun 2021 00:00:00 +0000 https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-liveapps/ @@ -507,6 +445,24 @@ In the MainController, you can update the Connection property prefix (default is <br><sup>TIBCO LiveApps cases in Unity Editor</sup></p> <p>The sample application is creating a Card for &ldquo;ant&rdquo; if the card does not exist so you can see how to create LiveApps cases and attach documents.</p> <h2 id="api-details">API details</h2> +<h3 id="authentication">Authentication</h3> +<p>This Implementation supports two ways of Authentication to TIBCO Cloud.</p> +<p>Both can be defined via a resource file in Unity &lsquo;Resources&rsquo; Folder, called &lsquo;TIBCO-credentials.txt&rsquo;.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">liveapps.user <span style="color:#ce5c00;font-weight:bold">=</span> someone@domain.com +liveapps.method <span style="color:#ce5c00;font-weight:bold">=</span> oauth <span style="color:#ce5c00;font-weight:bold">||</span> password +liveapps.region <span style="color:#ce5c00;font-weight:bold">=</span> US <span style="color:#ce5c00;font-weight:bold">||</span> EU <span style="color:#ce5c00;font-weight:bold">||</span> EA + +<span style="color:#8f5902;font-style:italic"># via &#39;oauth&#39;</span> + +liveapps.oauth <span style="color:#ce5c00;font-weight:bold">=</span> CIC~...&lt;your CIC oAuth Key&gt; + +<span style="color:#8f5902;font-style:italic"># via &#39;password&#39;</span> + +liveapps.password <span style="color:#ce5c00;font-weight:bold">=</span> &lt;your CIC password&gt; +liveapps.clientID <span style="color:#ce5c00;font-weight:bold">=</span> Jsf95ioVIq...&lt;your CIC Org Client ID&gt;...73iI +</code></pre></div><blockquote> +<p>We stored a sample of it into &lsquo;Assets\TIBCOLabs\LiveApps\Resources&rsquo; folder.</p> +</blockquote> <h3 id="connection-to-liveapps">connection to LiveApps</h3> <p>Just add TIBCOLiveAppsConnector script in your scene and set the credentials to be connected to your LiveApps instance.</p> <p>Create a controller script by extending &ldquo;TIBCOLiveAppsHandler&rdquo;. @@ -514,10 +470,8 @@ Have a look at the sample <i>BoardViewController</i>.</p> <p>ConnectionReady is invoke when the connector successfully connects to LiveApps.</p> <p>The connector object has the following public methods :</p> <h3 id="read-liveapps-cases">read LiveApps cases</h3> -<blockquote> -<p>public void GetAllCases(string applicationName, string stateName, string searchString, bool getArtifacts = false, Action<CaseInfoWrapper> onComplete=null)</p> -</blockquote> -<p>To get a list all cases in a LiveApps application,</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"><span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">void</span> <span style="color:#000">GetAllCases</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">applicationName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">stateName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">searchString</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">bool</span> <span style="color:#000">getArtifacts</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#204a87;font-weight:bold">false</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Action</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">CaseInfoWrapper</span><span style="color:#000;font-weight:bold">&gt;</span> <span style="color:#000">onComplete</span><span style="color:#000;font-weight:bold">=</span><span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">)</span> +</code></pre></div><p>To get a list all cases in a LiveApps application,</p> <ul> <li>in the given state if state is not null.</li> <li>matching the searchString if not null</li> @@ -527,32 +481,26 @@ Have a look at the sample <i>BoardViewController</i>.</p> <p>The implementation is asynchronous and will call the onComplete callback on completion. The callback has a parameter of type <i>CaseInfoWrapper</i> holding the cases.</p> <p>You may check the structures in <i>TIBCOLiveAppsConnector.cs</i></p> <p>To Manipulate the case data easily create a class representing the LiveApps case information. in our example we are using :</p> -<pre><code>public class ElementData - { - public string Name; - public string Description; - public UnityEngine.Texture2D texture; - } -</code></pre> -<p>We have the 2 fields from LiveApps application and we have added a texture to store the first document of type image.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"> <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">class</span> <span style="color:#000">ElementData</span> + <span style="color:#000;font-weight:bold">{</span> + <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">Name</span><span style="color:#000;font-weight:bold">;</span> + <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">Description</span><span style="color:#000;font-weight:bold">;</span> + <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#000">UnityEngine</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Texture2D</span> <span style="color:#000">texture</span><span style="color:#000;font-weight:bold">;</span> + <span style="color:#000;font-weight:bold">}</span> +</code></pre></div><p>We have the 2 fields from LiveApps application and we have added a texture to store the first document of type image.</p> <p>In the OnCase callback you can create instances from the CaseInfoWrapper data :</p> -<pre><code>foreach (CaseInfo item in data.items) { - ElementData card = JsonUtility.FromJson&lt;ElementData&gt;(item.casedata); - ... -</code></pre> -<h3 id="create-a-liveapps-case">create a LiveApps case</h3> -<blockquote> -<p>public void CreateCase(string applicationName, System.Object data, string creatorName = null, Action<ActionResponse> onComplete = null)</p> -</blockquote> -<p>See the sample on how to create the data object.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"> <span style="color:#204a87;font-weight:bold">foreach</span> <span style="color:#000;font-weight:bold">(</span><span style="color:#000">CaseInfo</span> <span style="color:#000">item</span> <span style="color:#204a87;font-weight:bold">in</span> <span style="color:#000">data</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">items</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> + <span style="color:#000">ElementData</span> <span style="color:#000">card</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#000">JsonUtility</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">FromJson</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">ElementData</span><span style="color:#000;font-weight:bold">&gt;(</span><span style="color:#000">item</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">casedata</span><span style="color:#000;font-weight:bold">);</span> + <span style="color:#000;font-weight:bold">...</span> +</code></pre></div><h3 id="create-a-liveapps-case">create a LiveApps case</h3> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"><span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">void</span> <span style="color:#000">CreateCase</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">applicationName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">System</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Object</span> <span style="color:#000">data</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">creatorName</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Action</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">ActionResponse</span><span style="color:#000;font-weight:bold">&gt;</span> <span style="color:#000">onComplete</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">)</span> +</code></pre></div><p>See the sample on how to create the data object.</p> <p>If the creatorName is null, the connector will use the first creator.</p> <p>The onComplete callback has an <i>ActionResponse</i> parameter.</p> <h3 id="attach-a-document-to-an-existing-case-instance">attach a document to an existing case instance</h3> -<blockquote> -<p>public void AttachDocument(string caseReference, string documentName, string description, byte[] data, string mimeType,Action onComplete=null)</p> -</blockquote> -<h2 id="target-devices">Target Devices</h2> -<p>Tested with Microsoft Hololens, Android Smartphones and Unity Editor on Windows 10.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"><span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">void</span> <span style="color:#000">AttachDocument</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">caseReference</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">documentName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">description</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">byte</span><span style="color:#000;font-weight:bold">[]</span> <span style="color:#000">data</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">mimeType</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">Action</span> <span style="color:#000">onComplete</span><span style="color:#000;font-weight:bold">=</span><span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">)</span> +</code></pre></div><h2 id="target-devices">Target Devices</h2> +<p>Tested with Microsoft Hololens 1 &amp; 2, Android Smartphones and Unity Editor on Windows 10.</p> <h2 id="used-versions">Used Versions</h2> <ul> <li>Unity (2019.4.10f1)</li> @@ -573,6 +521,68 @@ Have a look at the sample <i>BoardViewController</i>.</p> + + Docs: Hololens 2 TIBCO Cloud Messaging integration + https://tibcosoftware.github.io/Augmented-Reality/docs/samples/cloud-messaging-hololens2/ + Mon, 27 Apr 2020 00:00:00 +0000 + + https://tibcosoftware.github.io/Augmented-Reality/docs/samples/cloud-messaging-hololens2/ + + + + <h2 id="purpose">Purpose</h2> +<p>This Project is using our Unity3D packages in a simple demo app.</p> +<p><code>CloudMessagingObserverScene</code> contains a simple object (from MRTK samples) and a Connection to TIBCO Cloud Messaging service under the <code>MainController</code> object.</p> +<p>The App will publish messages when some interaction happen on the object. At the moment the app is detection the following events</p> +<ul> +<li>BecameVisible and BecameInvisble</li> +<li>HasFocus and LostFocus</li> +<li>[PointerName]Down</li> +<li>[PointerName]Clicked</li> +</ul> +<p>PointerName is <em>PokePointer</em> or <em>DefaultControllerPointer</em>.</p> +<p>You can see the messages in the TIBCO Cloud Messaging &ldquo;Demo application&rdquo; : +from <a href="https://messaging.cloud.tibco.com/">https://messaging.cloud.tibco.com/</a> one the Help panel (question mark in the page header) and select <em>Run the Demo</em> link.</p> +<p>From the same &ldquo;Demo Application&rdquo; you can send messages to change the color of the object. +Just enter</p> +<ul> +<li>set color red</li> +<li>set color blue</li> +<li>set color green</li> +</ul> +<p>It is a sample application, so we have implemented a very simple, text based set of commands. The sample can be extended to implement solutions using elaborated JSON messages.</p> +<p>A panel in the Scene is also displaying received messages.</p> +<h2 id="install">Install</h2> +<ul> +<li>Open the project in Unity 2019.2.17f1</li> +<li>Import MRTK 2.3.0 foundation</li> +<li>Import TIBCOFTL Package (from this repository under Packages folder)</li> +<li>Set your Credentials</li> +</ul> +<p>You can test in Unity Editor.</p> +<p>Deploy on Hololens and enjoy.</p> +<p><strong>Set credentials</strong></p> +<p>For security reasons, credential are stored as property keys in a resource file named <em>TIBCO-credentials.txt</em> which is ignored from git so credentials are not checked in.</p> +<p>The directory <em>TIBCOLabs &gt; Utils &gt; Resources</em> contains a sample resource file. You can copy it with a the correct name or just create <em>TIBCO-credentials.txt</em> resource and have the following lines :</p> +<ul> +<li>eftl.socketurl = Web Socket URI</li> +<li>eftl.authkey = your authentication key</li> +</ul> +<p><strong>Prerequisite</strong></p> +<p>Get a TIBCO Cloud Account with TIBCO Cloud Messaging subscription.</p> +<p>Obtain the channel URL and one Authentication key.</p> +<h2 id="details">Details</h2> +<p>Check the script <code>InteractionEventPublisher</code> attached to the object.</p> +<h2 id="next-steps">Next Steps</h2> +<p>Receiving and sending messages is a very powerful capability to implement the business logic of your application outside the Unity code. In an other sample we will show how to use a rule engine (based on complex event processing capabilities offered by TIBCO Cloud Events) to detect some interaction patterns and udpate the scene.</p> +<p>Messaging can also be used for inter application communication scenario.</p> +<p>We will also add events to the InteractionEventPublisher. (IsTouched, GetCloser, &hellip;).</p> +<h2 id="source">Source</h2> +<p>Implementation, as Unity Project <a href="https://github.com/TIBCOSoftware/Augmented-Reality/tree/master/Unity/Hololens2/Messaging-SampleApp">Source</a></p> + + + + Docs: TIBCO Cloud™ Messaging - Unity3D Package https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-messaging/ diff --git a/docs/docs/packages/cloud-liveapps/index.html b/docs/docs/packages/cloud-liveapps/index.html index 61da603f..9fce7e39 100644 --- a/docs/docs/packages/cloud-liveapps/index.html +++ b/docs/docs/packages/cloud-liveapps/index.html @@ -22,14 +22,14 @@ " /> - - + + - - - + + + @@ -474,6 +474,7 @@
    • API details
        +
      • Authentication
      • connection to LiveApps
      • read LiveApps cases
      • create a LiveApps case
      • @@ -564,6 +565,24 @@

        Use the Sample scene


        TIBCO LiveApps cases in Unity Editor

        The sample application is creating a Card for “ant” if the card does not exist so you can see how to create LiveApps cases and attach documents.

        API details

        +

        Authentication

        +

        This Implementation supports two ways of Authentication to TIBCO Cloud.

        +

        Both can be defined via a resource file in Unity ‘Resources’ Folder, called ‘TIBCO-credentials.txt’.

        +
        liveapps.user = someone@domain.com
        +liveapps.method = oauth || password
        +liveapps.region = US || EU || EA
        +
        +# via 'oauth'
        +
        +liveapps.oauth = CIC~...<your CIC oAuth Key>
        +
        +# via 'password'
        +
        +liveapps.password = <your CIC password>
        +liveapps.clientID = Jsf95ioVIq...<your CIC Org Client ID>...73iI
        +
        +

        We stored a sample of it into ‘Assets\TIBCOLabs\LiveApps\Resources’ folder.

        +

        connection to LiveApps

        Just add TIBCOLiveAppsConnector script in your scene and set the credentials to be connected to your LiveApps instance.

        Create a controller script by extending “TIBCOLiveAppsHandler”. @@ -571,10 +590,8 @@

        connection to LiveApps

        ConnectionReady is invoke when the connector successfully connects to LiveApps.

        The connector object has the following public methods :

        read LiveApps cases

        -
        -

        public void GetAllCases(string applicationName, string stateName, string searchString, bool getArtifacts = false, Action onComplete=null)

        -
        -

        To get a list all cases in a LiveApps application,

        +
        public void GetAllCases(string applicationName, string stateName, string searchString, bool getArtifacts = false, Action<CaseInfoWrapper> onComplete=null)
        +

        To get a list all cases in a LiveApps application,

        • in the given state if state is not null.
        • matching the searchString if not null
        • @@ -584,32 +601,26 @@

          read LiveApps cases

          The implementation is asynchronous and will call the onComplete callback on completion. The callback has a parameter of type CaseInfoWrapper holding the cases.

          You may check the structures in TIBCOLiveAppsConnector.cs

          To Manipulate the case data easily create a class representing the LiveApps case information. in our example we are using :

          -
          public class ElementData
          -  {
          -    public string Name;
          -    public string Description;
          -    public UnityEngine.Texture2D texture;
          -  }
          -
          -

          We have the 2 fields from LiveApps application and we have added a texture to store the first document of type image.

          +
              public class ElementData
          +      {
          +        public string Name;
          +        public string Description;
          +        public UnityEngine.Texture2D texture;
          +      }
          +

          We have the 2 fields from LiveApps application and we have added a texture to store the first document of type image.

          In the OnCase callback you can create instances from the CaseInfoWrapper data :

          -
          foreach (CaseInfo item in data.items) {
          -  ElementData card = JsonUtility.FromJson<ElementData>(item.casedata);
          -  ...
          -
          -

          create a LiveApps case

          -
          -

          public void CreateCase(string applicationName, System.Object data, string creatorName = null, Action onComplete = null)

          -
          -

          See the sample on how to create the data object.

          +
              foreach (CaseInfo item in data.items) {
          +      ElementData card = JsonUtility.FromJson<ElementData>(item.casedata);
          +      ...
          +

          create a LiveApps case

          +
          public void CreateCase(string applicationName, System.Object data, string creatorName = null, Action<ActionResponse> onComplete = null)
          +

          See the sample on how to create the data object.

          If the creatorName is null, the connector will use the first creator.

          The onComplete callback has an ActionResponse parameter.

          attach a document to an existing case instance

          -
          -

          public void AttachDocument(string caseReference, string documentName, string description, byte[] data, string mimeType,Action onComplete=null)

          -
          -

          Target Devices

          -

          Tested with Microsoft Hololens, Android Smartphones and Unity Editor on Windows 10.

          +
          public void AttachDocument(string caseReference, string documentName, string description, byte[] data, string mimeType,Action onComplete=null)
          +

          Target Devices

          +

          Tested with Microsoft Hololens 1 & 2, Android Smartphones and Unity Editor on Windows 10.

          Used Versions

          • Unity (2019.4.10f1)
          • @@ -691,7 +702,7 @@
            -
            Last modified September 24, 2020: update doc for LiveApps connector (fb83fdb) +
            Last modified June 15, 2021: update with CIC oauth details (910758c)
            diff --git a/docs/docs/packages/index.html b/docs/docs/packages/index.html index c6d4684a..7a515d3a 100644 --- a/docs/docs/packages/index.html +++ b/docs/docs/packages/index.html @@ -531,8 +531,6 @@
            - -
            TIBCO Cloud™ LiveApps - Unity3D Package @@ -542,6 +540,8 @@
            + +
            TIBCO Cloud™ Messaging - Unity3D Package diff --git a/docs/docs/packages/index.xml b/docs/docs/packages/index.xml index b9f1df8a..d8a99b46 100644 --- a/docs/docs/packages/index.xml +++ b/docs/docs/packages/index.xml @@ -83,7 +83,7 @@ Implementation <a href="https://github.com/TIBCOSoftware/Augmented-Realit Docs: TIBCO Cloud™ LiveApps - Unity3D Package https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-liveapps/ - Sun, 05 Jan 2020 00:00:00 +0000 + Tue, 15 Jun 2021 00:00:00 +0000 https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-liveapps/ @@ -121,6 +121,24 @@ In the MainController, you can update the Connection property prefix (default is <br><sup>TIBCO LiveApps cases in Unity Editor</sup></p> <p>The sample application is creating a Card for &ldquo;ant&rdquo; if the card does not exist so you can see how to create LiveApps cases and attach documents.</p> <h2 id="api-details">API details</h2> +<h3 id="authentication">Authentication</h3> +<p>This Implementation supports two ways of Authentication to TIBCO Cloud.</p> +<p>Both can be defined via a resource file in Unity &lsquo;Resources&rsquo; Folder, called &lsquo;TIBCO-credentials.txt&rsquo;.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">liveapps.user <span style="color:#ce5c00;font-weight:bold">=</span> someone@domain.com +liveapps.method <span style="color:#ce5c00;font-weight:bold">=</span> oauth <span style="color:#ce5c00;font-weight:bold">||</span> password +liveapps.region <span style="color:#ce5c00;font-weight:bold">=</span> US <span style="color:#ce5c00;font-weight:bold">||</span> EU <span style="color:#ce5c00;font-weight:bold">||</span> EA + +<span style="color:#8f5902;font-style:italic"># via &#39;oauth&#39;</span> + +liveapps.oauth <span style="color:#ce5c00;font-weight:bold">=</span> CIC~...&lt;your CIC oAuth Key&gt; + +<span style="color:#8f5902;font-style:italic"># via &#39;password&#39;</span> + +liveapps.password <span style="color:#ce5c00;font-weight:bold">=</span> &lt;your CIC password&gt; +liveapps.clientID <span style="color:#ce5c00;font-weight:bold">=</span> Jsf95ioVIq...&lt;your CIC Org Client ID&gt;...73iI +</code></pre></div><blockquote> +<p>We stored a sample of it into &lsquo;Assets\TIBCOLabs\LiveApps\Resources&rsquo; folder.</p> +</blockquote> <h3 id="connection-to-liveapps">connection to LiveApps</h3> <p>Just add TIBCOLiveAppsConnector script in your scene and set the credentials to be connected to your LiveApps instance.</p> <p>Create a controller script by extending &ldquo;TIBCOLiveAppsHandler&rdquo;. @@ -128,10 +146,8 @@ Have a look at the sample <i>BoardViewController</i>.</p> <p>ConnectionReady is invoke when the connector successfully connects to LiveApps.</p> <p>The connector object has the following public methods :</p> <h3 id="read-liveapps-cases">read LiveApps cases</h3> -<blockquote> -<p>public void GetAllCases(string applicationName, string stateName, string searchString, bool getArtifacts = false, Action<CaseInfoWrapper> onComplete=null)</p> -</blockquote> -<p>To get a list all cases in a LiveApps application,</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"><span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">void</span> <span style="color:#000">GetAllCases</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">applicationName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">stateName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">searchString</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">bool</span> <span style="color:#000">getArtifacts</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#204a87;font-weight:bold">false</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Action</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">CaseInfoWrapper</span><span style="color:#000;font-weight:bold">&gt;</span> <span style="color:#000">onComplete</span><span style="color:#000;font-weight:bold">=</span><span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">)</span> +</code></pre></div><p>To get a list all cases in a LiveApps application,</p> <ul> <li>in the given state if state is not null.</li> <li>matching the searchString if not null</li> @@ -141,32 +157,26 @@ Have a look at the sample <i>BoardViewController</i>.</p> <p>The implementation is asynchronous and will call the onComplete callback on completion. The callback has a parameter of type <i>CaseInfoWrapper</i> holding the cases.</p> <p>You may check the structures in <i>TIBCOLiveAppsConnector.cs</i></p> <p>To Manipulate the case data easily create a class representing the LiveApps case information. in our example we are using :</p> -<pre><code>public class ElementData - { - public string Name; - public string Description; - public UnityEngine.Texture2D texture; - } -</code></pre> -<p>We have the 2 fields from LiveApps application and we have added a texture to store the first document of type image.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"> <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">class</span> <span style="color:#000">ElementData</span> + <span style="color:#000;font-weight:bold">{</span> + <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">Name</span><span style="color:#000;font-weight:bold">;</span> + <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">Description</span><span style="color:#000;font-weight:bold">;</span> + <span style="color:#204a87;font-weight:bold">public</span> <span style="color:#000">UnityEngine</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Texture2D</span> <span style="color:#000">texture</span><span style="color:#000;font-weight:bold">;</span> + <span style="color:#000;font-weight:bold">}</span> +</code></pre></div><p>We have the 2 fields from LiveApps application and we have added a texture to store the first document of type image.</p> <p>In the OnCase callback you can create instances from the CaseInfoWrapper data :</p> -<pre><code>foreach (CaseInfo item in data.items) { - ElementData card = JsonUtility.FromJson&lt;ElementData&gt;(item.casedata); - ... -</code></pre> -<h3 id="create-a-liveapps-case">create a LiveApps case</h3> -<blockquote> -<p>public void CreateCase(string applicationName, System.Object data, string creatorName = null, Action<ActionResponse> onComplete = null)</p> -</blockquote> -<p>See the sample on how to create the data object.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"> <span style="color:#204a87;font-weight:bold">foreach</span> <span style="color:#000;font-weight:bold">(</span><span style="color:#000">CaseInfo</span> <span style="color:#000">item</span> <span style="color:#204a87;font-weight:bold">in</span> <span style="color:#000">data</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">items</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span> + <span style="color:#000">ElementData</span> <span style="color:#000">card</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#000">JsonUtility</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">FromJson</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">ElementData</span><span style="color:#000;font-weight:bold">&gt;(</span><span style="color:#000">item</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">casedata</span><span style="color:#000;font-weight:bold">);</span> + <span style="color:#000;font-weight:bold">...</span> +</code></pre></div><h3 id="create-a-liveapps-case">create a LiveApps case</h3> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"><span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">void</span> <span style="color:#000">CreateCase</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">applicationName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">System</span><span style="color:#000;font-weight:bold">.</span><span style="color:#000">Object</span> <span style="color:#000">data</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">creatorName</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">Action</span><span style="color:#000;font-weight:bold">&lt;</span><span style="color:#000">ActionResponse</span><span style="color:#000;font-weight:bold">&gt;</span> <span style="color:#000">onComplete</span> <span style="color:#000;font-weight:bold">=</span> <span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">)</span> +</code></pre></div><p>See the sample on how to create the data object.</p> <p>If the creatorName is null, the connector will use the first creator.</p> <p>The onComplete callback has an <i>ActionResponse</i> parameter.</p> <h3 id="attach-a-document-to-an-existing-case-instance">attach a document to an existing case instance</h3> -<blockquote> -<p>public void AttachDocument(string caseReference, string documentName, string description, byte[] data, string mimeType,Action onComplete=null)</p> -</blockquote> -<h2 id="target-devices">Target Devices</h2> -<p>Tested with Microsoft Hololens, Android Smartphones and Unity Editor on Windows 10.</p> +<div class="highlight"><pre style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-C#" data-lang="C#"><span style="color:#204a87;font-weight:bold">public</span> <span style="color:#204a87;font-weight:bold">void</span> <span style="color:#000">AttachDocument</span><span style="color:#000;font-weight:bold">(</span><span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">caseReference</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">documentName</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">description</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">byte</span><span style="color:#000;font-weight:bold">[]</span> <span style="color:#000">data</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">string</span> <span style="color:#000">mimeType</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">Action</span> <span style="color:#000">onComplete</span><span style="color:#000;font-weight:bold">=</span><span style="color:#204a87;font-weight:bold">null</span><span style="color:#000;font-weight:bold">)</span> +</code></pre></div><h2 id="target-devices">Target Devices</h2> +<p>Tested with Microsoft Hololens 1 &amp; 2, Android Smartphones and Unity Editor on Windows 10.</p> <h2 id="used-versions">Used Versions</h2> <ul> <li>Unity (2019.4.10f1)</li> diff --git a/docs/docs/samples/index.html b/docs/docs/samples/index.html index 90d62b70..984865e5 100644 --- a/docs/docs/samples/index.html +++ b/docs/docs/samples/index.html @@ -514,6 +514,8 @@

            Samples

            + + @@ -539,8 +541,6 @@
            - -
            diff --git a/docs/index.xml b/docs/index.xml index c857bd55..828f1bb0 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -12,6 +12,28 @@ + + Blog: June 2021 Release + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + Tue, 15 Jun 2021 00:00:00 +0000 + + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + + + + <p>public release Implementation Packages update for Unity of the TIBCO LABS™ Project ART, containing:</p> +<ul> +<li>add CIC oAuth implementation support to TIBCO Cloud™ Live Apps - Unity3D Package</li> +<li>work in progress details about upcoming Unity3D Package</li> +<li>ongoing Exploration updates</li> +</ul> +<blockquote> +<p>please have a look back soon here, and check our Roadmap.</p> +</blockquote> + + + + Blog: May 2021 Explorations https://tibcosoftware.github.io/Augmented-Reality/blog/2021/05/05/may-2021-explorations/ diff --git a/docs/sitemap.xml b/docs/sitemap.xml index eb8cfa30..d3cfb4dd 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -53,13 +53,13 @@ - https://tibcosoftware.github.io/Augmented-Reality/docs/samples/cloud-messaging-hololens2/ - 2020-04-28T09:18:17+02:00 + https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-liveapps/ + 2021-06-15T18:01:25+02:00 - https://tibcosoftware.github.io/Augmented-Reality/docs/packages/cloud-liveapps/ - 2020-09-24T15:36:24-07:00 + https://tibcosoftware.github.io/Augmented-Reality/docs/samples/cloud-messaging-hololens2/ + 2020-04-28T09:18:17+02:00 @@ -79,7 +79,7 @@ https://tibcosoftware.github.io/Augmented-Reality/docs/ - 2020-04-16T12:02:41+02:00 + 2021-06-09T15:28:43+02:00 @@ -102,6 +102,11 @@ 2021-05-05T16:29:25+02:00 + + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/06/15/june-2021-release/ + 2021-06-15T00:00:00+00:00 + + https://tibcosoftware.github.io/Augmented-Reality/blog/2021/05/05/may-2021-explorations/ 2021-05-05T16:45:08+02:00