{"id":4294,"date":"2022-05-09T07:57:27","date_gmt":"2022-05-09T07:57:27","guid":{"rendered":"https:\/\/multisite.korebots.com\/SearchAssist\/?p=4294"},"modified":"2022-08-18T09:07:34","modified_gmt":"2022-08-18T09:07:34","slug":"introduction-to-managing-searchassist-apps","status":"publish","type":"post","link":"https:\/\/multisite.korebots.com\/SearchAssist\/administration\/deploying-searchassist-app\/introduction-to-managing-searchassist-apps\/","title":{"rendered":"Deploying SearchAssist App"},"content":{"rendered":"<p class=\"w-post-elm post_title entry-title color_link_inherit\"><span style=\"font-size: 16px;\">This guide helps you deploy and integrate their SearchAssist app on their website or a channel. The SearchAssist platform includes an SDK along with a tutorial and associated API documentation.\u00a0<\/span><\/p>\n<div class=\"w-post-elm post_content\">\n<p>This tutorial provides a step-by-step guide for setting up and running an instance of the SearchAssist Web SDK, which is a collection of libraries that you can use to integrate a SearchAssist app with your other web applications.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span><span id=\"Prerequisites\" class=\"ez-toc-section\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Follow these steps prior to installing and configuring the SearchAssist Web SDK.<\/p>\n<ul>\n<li aria-level=\"1\"><b>Build a SearchAssist app for integration\u00a0\u00a0<\/b>To get started, you need to develop a SearchAssist app on\u00a0 the SearchAssist platform in business user mode and then configure the SearchAssist app to run on the Web\/Mobile Client channel.<\/li>\n<li aria-level=\"1\"><b>Create a New Credential\u00a0<\/b>\u00a0You need to create a credential while configuring the Web\/Mobile client channel.<\/li>\n<li aria-level=\"1\"><b>Configure Web\/Mobile Client channel\u00a0\u00a0<\/b>To use the SearchAssist app with the Web SDK, you must configure the app for the Web\/Mobile Client channel using the credentials created in the preceding step.<\/li>\n<li aria-level=\"1\">Copy the following details from the\u00a0<b>Web\/Mobile client<\/b>\u00a0details page\n<ul>\n<li aria-level=\"2\">SearchAssist App Name<\/li>\n<li aria-level=\"2\">SearchAssist App ID<\/li>\n<li aria-level=\"2\">Client ID<\/li>\n<li aria-level=\"2\">Client secret ID<\/li>\n<li aria-level=\"2\">Search ID<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Deploying_Your_SearchAssist_App\"><\/span><span id=\"Deploying_Your_SearchAssist_App\" class=\"ez-toc-section\"><\/span>Deploying Your SearchAssist App<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>SearchAssist grants access to the folder required for the Web SDK and a test application to run the SearchAssist app on your machine as a localhost server for testing purposes.<\/p>\n<p>Once you are satisfied with the end-user experience offered by the SearchAssist app, you can launch it in the required channel.<\/p>\n<ol>\n<li aria-level=\"1\">To get the SearchAssist Web SDK, write to &lt;emailSA&gt;@kore.ai.<\/li>\n<li aria-level=\"1\">Extract all files to your local folder.<\/li>\n<li aria-level=\"1\">From the SearchAssist Business Portal -&gt; Manage -&gt; Web\/Mobile Client Channel page on the Channels menu, copy the following: (These values need to be updated in the \u2018findly-config.js\u2019 file)\n<ul>\n<li aria-level=\"2\">App Name<\/li>\n<li aria-level=\"2\">App ID<\/li>\n<li aria-level=\"2\">Client ID<\/li>\n<li aria-level=\"2\">Client secret ID<\/li>\n<li aria-level=\"2\">Search ID<\/li>\n<\/ul>\n<\/li>\n<li aria-level=\"1\">Open the extracted folder, locate and navigate to \/web-kore-sdk-private\/demo\/findly\/folder.<\/li>\n<li aria-level=\"1\">Open \u2018<i>findly-config.js\u2019\u00a0<\/i>\u00a0file in any of the editors (e.g. Notepad++, Visual studio).<\/li>\n<\/ol>\n<p>Update the botOptions parameters botInfo, clientID and clientSecret, and your emailID as user identity. modify the host URLs as per your instance.<\/p>\n<p>&nbsp;<\/p>\n<p><code>botOptionsFindly.koreAPIUrl = \"Host URL\"; (Ex: \u2018https:\/\/searchassist.kore.ai\/\u2019)<\/code><\/p>\n<p><code>botOptionsFindly.baseAPIServer = \u201c\u201d; \u00a0 (Ex: \u2018https:\/\/searchassist.kore.ai\/\u2019)<\/code><\/p>\n<p><code>botOptionsFindly.botInfo = { chatBot: \"\", \"taskBotId\": \"\"};<\/code><\/p>\n<p><code>botOptionsFindly.clientId = \"\";<\/code><\/p>\n<p><code>botOptionsFindly.clientSecret = \"\";<\/code><\/p>\n<p><code>botOptionsFindly.searchIndexID = \"\";<\/code><\/p>\n<p><code>botOptionsFindly.reWriteSocketURL = {<\/code><\/p>\n<p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0protocol: 'wss',<\/code><\/p>\n<p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0hostname: ''\u00a0 (Ex: \u2018qa.kore.ai\u2019)<\/code><\/p>\n<p><code>\u00a0\u00a0\u00a0\u00a0};<\/code><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li aria-level=\"1\">Save the changes in the \u2018Findly-config.js\u2019 file.<\/li>\n<li aria-level=\"1\">Locate and navigate to \/<i>web-kore-sdk-private\/demo\/<\/i>\u00a0folder.<\/li>\n<li aria-level=\"1\">Right click \u201c<i>index.html<\/i>\u201d file and open it with any one of the browsers. The end-user SDK opens with the changes in the configured SearchAssist app.<\/li>\n<li aria-level=\"1\">Run a search in the SDK to display relevant results. Data searched in the End-user SDK (\u201csearches\u201d, \u201cUsers\u201d, \u201cClicks\u201d, and \u201cAppearance of Sources data\u201d) displayed in the Business user portal.<\/li>\n<\/ol>\n<p>When you host the SearchAssist app on a local system, it\u2019s deployed on a given demo website template to demonstrate functionality and lets you evaluate how it performs on your content.<\/p>\n<p>The UIs customized in the SearchAssist platform as a Business user can be viewed once the SearchAssist app is hosted with the SDK or in Test mode prior to launch.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Validation\"><\/span><span id=\"Validation\" class=\"ez-toc-section\"><\/span>Validation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>If the SearchAssist app is running in a local box, you must complete the following mandatory steps to validate the app.<\/p>\n<ol>\n<li aria-level=\"1\">Run SDK in Chrome browser in security disability mode to allow the Cross-Origin Resource Sharing (CORS).<\/li>\n<li aria-level=\"1\">Open Windows Run command and paste\u00a0<i>chrome.exe \u2013disable-web-security \u2013user-data-dir=c:\\my-chrome-data\\data.<\/i><\/li>\n<li aria-level=\"1\">Hit Enter. Chrome opens in disabled security disabled mode.<\/li>\n<li aria-level=\"1\">Paste the\u00a0<i>index.html<\/i>\u00a0path here to run the SDK.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Passing_Data_via_Web_SDK\"><\/span><span id=\"Passing_Data_via_Web_SDK\" class=\"ez-toc-section\"><\/span>Passing Data via Web SDK<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Pass additional information of the user accessing the channel by adding the custom data at botInfo inside the\u00a0<i>SearchAssist-config.js\u00a0<\/i>file.<\/p>\n<p>&nbsp;<\/p>\n<p><code>botOptionsFindly.botInfo = {<\/code><i>chatBot: \u201c&lt;App Name&gt;\u201d,<\/i><\/p>\n<p><i><code>\u00a0\u00a0\u00a0\u00a0\"taskBotId\": \"&lt;App ID&gt;\"<\/code><\/i>,<\/p>\n<p><code>\"customData\":{<\/code><\/p>\n<p><code>} };<\/code><\/p>\n<p>Example:<\/p>\n<p><code>botOptionsFindly.botInfo = {<\/code><i>chatBot: \u201c&lt;App Name&gt;\u201d,\u00a0<\/i><\/p>\n<p><i>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"taskBotId\": \"&lt;App ID&gt;\"<\/code><\/i>,<\/p>\n<p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"customData\":{\"test\":\"s\"}<\/code><\/p>\n<p><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0};<\/code><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Common_Errors\"><\/span><span id=\"Common_Errors\" class=\"ez-toc-section\"><\/span>Common Errors<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li aria-level=\"1\">A wrong URL is given in the index.html, so users see a 404 error. Double-check the URL. URL changes depending on whether you are hosting the bot on your own web SDK or on SearchAssist\u2019s web SDK.<\/li>\n<li aria-level=\"1\">User sees a\u00a0<i>Not found\u00a0<\/i>error when the wrong clientID or no clientID is given. Check the correct ClientID from Business Portal -&gt; Manage -&gt; Web\/Mobile Client Channel page on the Channels menu botOptions.clientId = \u201c{clientID}\u201d; \/\/ secure client-id.<\/li>\n<li aria-level=\"1\"><i>Error verifying the jwt\u00a0<\/i>The wrong clientSecret is given in the index.html. Check the clientSecret you get from Business Portal -&gt; Manage -&gt; Web\/Mobile Client Channel page on the Channels menu \u201cclientSecret\u201d: \u201c{clientSecret}\u201d \/\/provide clientSecret here.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Installing_SDK_in_Local_Linux_Machine\"><\/span><span id=\"Installing_SDK_in_Local_Linux_Machine\" class=\"ez-toc-section\"><\/span>Installing SDK in Local Linux Machine<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Follow these steps to host SDK locally in the \u201cLinux\u201d System<\/p>\n<ol>\n<li aria-level=\"1\">Download\u00a0the Linux version\u00a0of the\u00a0 SDK file from the source.\n<ul>\n<li aria-level=\"2\">If SDK code is in \u201crar\u201d format then unrar the file with the command\u00a0<b><i>\u201cunrar x &lt;filename&gt;.rar\u201d\u00a0<\/i><\/b>\u00a0in anyone of the Terminal.<\/li>\n<li aria-level=\"2\">If SDK code is in the \u201cZip\u201d format then Extract the file.<\/li>\n<\/ul>\n<\/li>\n<li aria-level=\"1\">In the unzip\/unrar file navigate to the\u00a0<b><i>\u201cfindly.config.js\u201d<\/i><\/b>\u00a0file.<\/li>\n<li aria-level=\"1\">In the\u00a0<b><i>\u201cfindly.config.js\u201d\u00a0<\/i><\/b>file update the app credentials as applicable<\/li>\n<li aria-level=\"1\">Change the required configs like\u00a0<b><i>KoreAPI Url &amp; baseAPIserver\u00a0<\/i><\/b>\u00a0to set it for the required\u00a0Linux\u00a0environment\u00a0 \u00a0\u00a0For QA Instance botOptionsFindly.koreAPIUrl=\u201d<a href=\"https:\/\/searchassist-qa.kore.ai\/api\/\">https:\/\/searchassist-qa.kore.ai\/api\/<\/a>\u201d<br \/>\n<a ref=\"magnificPopup\" href=\"http:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_0.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2008 size-full aligncenter\" src=\"http:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_0.png\" sizes=\"(max-width: 801px) 100vw, 801px\" srcset=\"https:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_0.png 801w, https:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_0-300x42.png 300w\" alt=\"\" width=\"801\" height=\"113\" data-pagespeed-url-hash=\"33451626\" \/><\/a><\/li>\n<li aria-level=\"1\">Add the Credential to run the search with respect to the app you want to test<br \/>\n<a ref=\"magnificPopup\" href=\"http:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2009 size-full\" src=\"http:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/xlinux_SDK_1.png.pagespeed.ic.R7AdXKIASo.webp\" sizes=\"(max-width: 712px) 100vw, 712px\" srcset=\"https:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_1.png 712w, https:\/\/docs.kore.ai\/searchassist\/wp-content\/uploads\/sites\/4\/2022\/05\/linux_SDK_1-300x63.png 300w\" alt=\"\" width=\"712\" height=\"149\" data-pagespeed-url-hash=\"327951547\" \/><\/a><\/li>\n<li aria-level=\"1\">Update the Socket connection URL<\/li>\n<li aria-level=\"1\">Save all the changes done in the SDK File<\/li>\n<li aria-level=\"1\">Run the command to disable browser security:<br \/>\n<b><i>\/usr\/bin\/google-chrome-stable \u2013disable-web-security \u2013user-data-dir=\/home\/jossnaz\/.config\/google-chrome\/<\/i><\/b>\u201d in anyone of the Terminal.<\/li>\n<li aria-level=\"1\">Open the\u00a0<b><i>\u201cIndex.html\u201d<\/i><\/b>\u00a0 file in the security disabled browser<b>Note:\u00a0<\/b>Ensure the chrome browser used is updated to the latest version.Privileges Error<br \/>\nThe users have to ensure they have administrator privileges before they log in as admin to run the above installation process.<\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This guide helps you deploy and integrate their SearchAssist app on their website or a channel. The SearchAssist platform includes an SDK along with a tutorial and associated API documentation.\u00a0 This tutorial provides a step-by-step guide for setting up and running an instance of the SearchAssist Web SDK, which is a collection of libraries that&#8230;<\/p>\n","protected":false},"author":18,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[107],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/posts\/4294"}],"collection":[{"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/comments?post=4294"}],"version-history":[{"count":5,"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/posts\/4294\/revisions"}],"predecessor-version":[{"id":4468,"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/posts\/4294\/revisions\/4468"}],"wp:attachment":[{"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/media?parent=4294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/categories?post=4294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multisite.korebots.com\/SearchAssist\/wp-json\/wp\/v2\/tags?post=4294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}