CINXE.COM
Root · Partner Portal
<!DOCTYPE html> <html lang="en-US" data-lang="en-US" crm-lang="en-US" dir="ltr" crm-lcid="1033" same-site-mode="None"> <head> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /> <script type="text/javascript" > </script> <title> Root · Partner Portal </title> <script src="/_portal/7bae41c9-c467-4ad4-b5e8-4c0a6628df00/Resources/ResourceManager?lang=en-US"></script> <script type="text/javascript"> // Refresh all powerBI Iframes on Login in one Iframe window.addEventListener('message', function (event) { if (event && event.data && event.data == 'refreshPowerBI') { $("iframe.powerbi").each(function () { this.src = this.src; }); } }); // Fix for incorrect viewport width setting in IE 10 on Windows Phone 8. if (navigator.userAgent.match(/IEMobile\/10\.0/)) { var msViewportStyle = document.createElement("style"); msViewportStyle.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")); document.getElementsByTagName("head")[0].appendChild(msViewportStyle); } </script> <link href="/bootstrap.min.css?1688296992000" rel="stylesheet" /> <link href="https://content.powerapps.com/resource/powerappsportal/dist/font-awesome.bundle-3d8a58a48f.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/font-awesome.bundle-3d8a58a48f.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> <link href="https://content.powerapps.com/resource/powerappsportal/dist/preform.bundle-8a0534540c.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/preform.bundle-8a0534540c.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> <link href="/jquery-confirm.min.css?1688296975000" rel="stylesheet" /> <link href="/theme.min.css?1688296967000" rel="stylesheet" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.css"> <link href="https://content.powerapps.com/resource/powerappsportal/dist/pwa-style.bundle-2739c60227.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/pwa-style.bundle-2739c60227.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> </head> <body data-sitemap-state="/" data-dateformat="M/d/yyyy" data-timeformat="h:mm tt" data-datetimeformat="M/d/yyyy h:mm tt" data-app-path="/" data-ckeditor-basepath="/js/BaseHtmlContentDesigner/Libs/msdyncrm_/libs/ckeditor/" data-case-deflection-url="/_services/search/7bae41c9-c467-4ad4-b5e8-4c0a6628df00"> <link href="https://content.powerapps.com/resource/powerappsportal/dist/pcf-style.bundle-373a0f4982.css" onerror="javascript: var target = event.target; var link = document.createElement('link'); link.crossOrigin = target.crossOrigin; link.href = '/dist/pcf-style.bundle-373a0f4982.css'; link.rel = 'stylesheet'; target.insertAdjacentElement('afterend',link);" rel="stylesheet" /> <div id="offlineNotificationBar" style="display: none;"> <img alt="web" id="web" onerror="javascript: var target = event.target; var img = document.createElement('img'); img.src = '/css/images/web.png'; img.alt = 'web'; img.id = 'web' ; target.insertAdjacentElement('afterend',img); target.remove();" src="https://content.powerapps.com/resource/powerappsportal/img/web.png" /> <div id="message">You’re offline. This is a read only version of the page.</div> <div id="close" onclick="this.parentElement.style.display='none';"><img alt="close" onerror="javascript: var target = event.target; var img = document.createElement('img'); img.src = '/css/images/close.png'; img.alt = 'close'; img.id = '' ; target.insertAdjacentElement('afterend',img); target.remove();" src="https://content.powerapps.com/resource/powerappsportal/img/close.png" /></div> </div> <script type="text/javascript"> window.DisableCkEditor = window.DisableCkEditor || {}; DisableCkEditor.Value = 'False'; </script> <script type="text/javascript"> var enableOmniChannelWidgetWithSiteCopilot = 'False'; if (enableOmniChannelWidgetWithSiteCopilot === "True" || enableOmniChannelWidgetWithSiteCopilot === "true") { const authUrl = window.location.origin + "/_services/auth/portalusertoken"; const fetchWithRetries = async (url, options, retries) => { try { const authResponse = await fetch(url, options); const token = await authResponse.text(); sessionStorage['c2Token'] = token; } catch (err) { if (retries === 1) throw err; return await fetchWithRetries(url, options, retries - 1); } }; fetchWithRetries(authUrl, { method: "POST" }, 4); } </script> <script type="text/javascript"> var isPvaBotAuthenticated = sessionStorage['isPvaBotAuthenticated']; var isPortalUserLoggedIn = 'False'; if ((isPvaBotAuthenticated != null || isPvaBotAuthenticated != undefined) && isPvaBotAuthenticated != isPortalUserLoggedIn) { sessionStorage['triggerPvaBotSignOut'] = true; sessionStorage.removeItem('c2Token'); sessionStorage.removeItem('directLinetoken'); sessionStorage.removeItem('conversation_Id'); } sessionStorage['isPvaBotAuthenticated'] = isPortalUserLoggedIn; </script> <script type="text/javascript"> window["Microsoft"] = window["Microsoft"] || {}; window["Microsoft"].Dynamic365 = { Portal: { User: { userName: '', contactId: '' }, version: '9.7.1.38', type: 'PartnerPortal', id: 'e54d8097-0e00-49c4-8994-7c12553f4420', geo: 'NAM', tenant: 'c44ec86f-d007-4b6c-8795-8ea75e4a6f9b', correlationId: 'b3393427-c704-4646-b62b-0cd306114b3e', orgEnvironmentId: 'b600802f-ec60-4b6b-87a9-196307f9ad2e', orgId: 'd72f4ecd-a390-424f-9a9a-1a24541e422c', portalProductionOrTrialType: 'Production', isTelemetryEnabled: 'True', InstrumentationSettings: { instrumentationKey: '197418c5cb8c4426b201f9db2e87b914-87887378-2790-49b0-9295-51f43b6204b1-7172', collectorEndpoint: 'https://us-mobile.events.data.microsoft.com/OneCollector/1.0/' }, timerProfileForBatching: 'NEAR_REAL_TIME', activeLanguages: ["en-US"] } } // Mark request not cacheable if Dynamics365PortalAnalytics cookie is being refreshed by the server or if the cookie in request header is invalid // For client side telemetry intializing Dynamics365PortalAnalytics cookie object window["Microsoft"].Dynamic365.Portal.dynamics365PortalAnalytics = 'uCaN1wrE2nhB02bgrXorJGdvX04pAbOlYGEKhoBfl_arTJ8O4HLdfLoJI_tLEeb4rtstJsTV36YhedRnEXlcEuWm68r15br7gEHdcAuCc4N5y5tgYVJ4FnRP1xCTyOMCgAqWyqgqRNxt-DulSpvo7w2'; // CodeQL [SM00430] False Positive: only alphanumeric chars allowed, for non-alphanumeric char it will return INVALID_CHARACTERS_IN_COOKIE </script> <script type="text/javascript"> </script> <head> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,700,900" rel="stylesheet"> <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script> if (window.location.pathname == "/signout-saml2") { window.location.href="https://sso.viavisolutions.com/oam/server/logout?end_url=https://sso.viavisolutions.com/oamfed/idp/initiatesso?providerid=partner_PROD&returnURL=https://partner.viavisolutions.com" } if (window.location.pathname == "/SignIn" || window.location.pathname == "/signin") { window.location.href="https://sso.viavisolutions.com/oamfed/idp/initiatesso?providerid=partner_PROD&returnURL=https://partner.viavisolutions.com" } </script> </head> <style> /* to put in theme.css */ .container { padding-left: 30px; padding-right: 30px; width: 100%; margin: 0 auto; font-family: Arial; } //old code /* .container{ width: 100% !important; margin: 0 auto; max-width: 1440px; padding-left: 15px; padding-right: 15px; } */ /* .welcome-user .container{ margin-bottom: 45px !important; } */ /* end */ /* for page-heading container */ .page-heading>.container { /* margin-right: auto; margin-left: auto; padding-left: 0px; padding-right: 0px; max-width: 100%; */ } /*for green buttons .btn-success,.btn-success:hover,.btn-success:focus { color: #fff; background-color: #500778; border-color: #500778; } .btn-danger,.btn-danger:hover,.btn-danger:focus{ color: #500778; background-color: #fff ; border-color: #500778; }*/ /*for pushing footer to bottom*/ /*body>form { min-height: calc(100vh - 90px); }*/ .page-heading::before{ content: ""; background: url(/blue-angle.png) no-repeat right 100%; max-height: 140px; position: absolute; height: 100%; width: 100%; z-index: -1; right: 9%; } /* .breadcrumb{ color: #500778; font-size: 13px; font-weight: 300; line-height: 24px; padding-left: 17%; height:40px; }*/ .breadcrumb li a{ font-size:12.8px; color:#333; font-family:Roboto; font-weight:100; } .breadcrumb>li+li:before { content:"\f054"; padding:0 10px; color: #898989; font-family:FontAwesome; font-size:7px; font-weight:300; } .navbar .nav>li>a { /* padding: 42px 5px; */ text-transform:uppercase; font-weight: 300; font-size: 16px; } /* brand image */ .navbar-brand { padding: 5px 0px; height: 60px; } .page-heading { padding-top: 0px; background-color: #f2f2f2 ; } /*removed caret arrow*/ .navbar .navbar-right .weblinks .dropdown>a>.caret{ display: none; } /*changed header arrow to font awesome*/ #navbar-profile .container #navbar .navbar-right .weblinks .dropdown>.dropdown-toggle:after{ content: "\f078"; font-family: FontAwesome; font-size:12px; } .page-header h1{ color: #500778; line-height: 61.6px; } .navbar .container .navbar-header #navbar .navbar-right .navbar-nav{ background-color:#f2f2f2; } /*-----------Profile Dropdown Navigation------------*/ .nav>li>a{ padding:10px 10px !important; } #navbar-profile{ background-color:#f2f2f2; min-height:39px; } /*---------Navigation menu bar Code----------------------*/ #navbar-menu{ min-height:90px !important; font-size:1rem; color:#500778; padding-top:2rem; } //#navbar-menu{ //padding-top:2rem; //} .navbar .container .navbar-collapse .navbar-right .navbar-nav .dropdown .dropdown-toggle .username{ text-transform:capitalize; } .tab-column div fieldset .section tbody tr td .info label{ font-size:1.6rem; } #velocity, #viavisales{ font-size:14px; color:#595959; text-transform: capitalize !important; } .container #navbar .navbar-right .navbar-nav #userdropdown a, .container #navbar .navbar-right .navbar-nav #userdropdown a:hover, .container #navbar .navbar-right .navbar-nav #userdropdown a:focus{ color: #595959; } .container #navbar .navbar-right .navbar-nav #userdropdown a:active{ color:#fff; background-color: #500778; } /*-------End Menu Bar Code--------------*/ </style> <div class="navbar navbar-static-top" id="navbar-profile" role="navigation"> <div class="container"> <div id="navbar" class="navbar-collapse collapse"> <div class="navbar-right menu-bar" > <ul class="nav navbar-nav weblinks"> <li><h4 class="text-center" style="text-transform:uppercase;text-align:left">Welcome </h4></li> <li><a href="https://viavi.seismic.com" target="_blank" id="velocity">Marketing Resources (Seismic)</a></li> <li><a href="https://viavi.docebosaas.com" target="_blank" id="viavisales">Training (Docebob)</a></li> <li> <a href="/SignIn?returnUrl=%2F"> Sign in </a> </li> </ul> </div> <div class="navbar-right hidden-xs"> <div class="xrm-editable-html xrm-attribute no-value" data-languageContext="English"><div class="xrm-attribute-value"></div></div> </div> </div> </div> </div> <div class="navbar navbar-static-top" role="navigation" id="navbar-menu"> <div class="container"> <div class="navbar-header"> <div class="visible-xs-block"> <div class="xrm-editable-html xrm-attribute" data-languageContext="English"><div class="xrm-attribute-value"><div> <table style="float:left"><tr><td> <a class="navbar-brand" href="~/" tabindex="-1" title="VIAVI Partner Resource Portal"> <img src="/home/Viavi_GlobalPartnerSmall.png" alt="VIAVI Partner Resource Portal" /> </a> </td></tr> </table> </div></div></div> </div> <div class="visible-sm-block visible-md-block visible-lg-block navbar-brand"> <div class="xrm-editable-html xrm-attribute" data-languageContext="English"><div class="xrm-attribute-value"><p><a href="/home"><img src="/home/Viavi_GlobalPartnerResize.png" style="width : 55%;"></a></p><a href="/home"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> var accountid; var partnerclass = ""; var partnertier = ""; $(document).ready(function() { //debugger; var WFId; var userName = ''; // if (userName == "") { // $('#logoId').removeAttr("src"); // $('#logoId').attr("src", "https://www.viavisolutions.com/sites/all/themes/viavi/images/logo.png"); // $('#logoId').attr("style", "height: 75px;width: 150px;"); // } else { // var userId = ''; // GetContactData(userId); // if (partnerclass != "" && partnertier != "") { // var profilePic = GetFileType(partnerclass, partnertier); // var GetWebfile = "~/_odata/webfileset/?$filter=adx_name eq '" + profilePic + "'"; // var path = "~/" + profilePic; // } // $.ajax({ // type: "GET", // async: false, // url: GetWebfile, // dataType: 'json' // }).done(function(json) { // var WFColl = json.value; // // Get Webfile Guid // if (WFColl.length == 0) { // $('#logoId').removeAttr("src"); // $('#logoId').attr("src", "https://www.viavisolutions.com/sites/all/themes/viavi/images/logo.png"); // //$('#logoId').attr("style", "height: 75px;width: 75px;"); // } else { // WFId = WFColl[0].adx_webfileid; // $('#logoId').removeAttr("src"); // $('#logoId').attr("src", path); // $('#logoId').attr("style", "height: 100px;width: 100px;"); // } // }) // } }); function GetContactData(contactid) { var url = "~/_odata/ContactSet(guid%27" + contactid + "%27)"; $.ajax({ type: "GET", async: false, url: url, dataType: 'json' }).done(function(json) { var result = JSON.stringify(json).replace("account-viavi_partnerclassification", "partnerclassification").replace("account-viavi_partnertier", "partnertier"); result = JSON.parse(result); var account = json.parentcustomerid; accountid = account.Id; var partner = result.partnerclassification; partnerclass = partner.Name; var partnerTierObj = result.partnertier; partnertier = partnerTierObj.Name; }) } function GetFileType(pclass, ptier) { var result = ""; if (pclass == "Solution Partner") { if (ptier == "Authorized") { result = "Authorized_Partner"; } else if (ptier == "Elite") { result = "Elite_Partner"; } else if (ptier == "Premier") { result = "Premier_Partner"; } else { result = "Master_Distributor"; } } else if (pclass == "Master_Distributor") { result = "Master_Distributor"; } return result; } </script> </a></div></div> </div> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" onclick="setHeight();"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div id="navbar" class="navbar-collapse collapse"> <div class="prmmenubar navbar-right menu-bar " data-weblinks-maxdepth="2"> <ul class="nav navbar-nav weblinks"> <li class="divider-vertical"></li> </ul> </div> <div class="navbar-right hidden-xs"> <div class="xrm-editable-html xrm-attribute no-value" data-languageContext="English"><div class="xrm-attribute-value"></div></div> </div> </div> </div> </div> <script type="text/javascript"> function setHeight(){ var windowHeight = window.innerHeight - 140; var navbar = document.getElementById("navbar"); if (navbar) { navbar.style.maxHeight = windowHeight + "px"; } } window.addEventListener('resize', function (event) { setHeight(); }); var partnerAccount = ""; var partnerAccountName = ""; var quoteEdgeUrl = "https://qer12prod.viavisolutions.com/"; document.body.classList.add(quoteEdgeUrl); var quoteEdgeAccess = false; var userqeAccess = "" if(userqeAccess.includes("true")) quoteEdgeAccess = true; $(document).ready(function () { if($(".breadcrumb").length >0) { $($($(".breadcrumb")[0].children[0]).find('a'))[0].href="/home"; $($($(".breadcrumb")[0].children[0]).find('a')).html("home"); $($(".breadcrumb")[0].children[1]).css("display","none"); } }); </script> <!-- add anti-forgery token--> <div id="antiforgerytoken" data-url="/_layout/tokenhtml"></div> <!-- Client Telemetry init if telemetry enabled--> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/client-telemetry.bundle-f9f45b65a6.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/client-telemetry.bundle-f9f45b65a6.js" type="text/javascript"></script> <!-- Client Telemetry Wrapper init --> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/client-telemetry-wrapper.bundle-633e70f51b.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/client-telemetry-wrapper.bundle-633e70f51b.js" type="text/javascript"></script> <script> window.clientLogWrapper = new ClientLogWrapper(); </script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/preform.moment_2_29_4.bundle-4fdd3f639b.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/preform.moment_2_29_4.bundle-4fdd3f639b.js" type="text/javascript"></script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf-dependency.bundle-805a1661b7.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf-dependency.bundle-805a1661b7.js" type="text/javascript"></script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf.bundle-582a4e04bd.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf.bundle-582a4e04bd.js" type="text/javascript"></script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf-extended.bundle-b0e01b5622.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf-extended.bundle-b0e01b5622.js" type="text/javascript"></script> <script type="text/javascript"> window.location.href = "/home/"; </script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/pcf-loader.bundle-f4a0e619b8.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/pcf-loader.bundle-f4a0e619b8.js" type="text/javascript"></script> <div id="pp-native-controls-react-root"></div> <script>window._nativeControlConfig = { "publicPath":"https://content.powerapps.com/resource/powerappsportal/controls", "versions": {"pcf_loader":"0.0.31","pcf_controls":"3.10.0","mf_shared":"0.2.11","host":"0.9.2","data_grid":"1.6.8","controls_fluent_v9":"0.0.34"} }</script> <script defer="defer" src="https://content.powerapps.com/resource/powerappsportal/controls/host/main.b26f42703f.chunk.js"></script> <head> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,700,900" rel="stylesheet"> <script> /* $(document).ready(function(){ $(".page-header").addClass("container"); });*/ </script> </head> <style> /*html{ height: 100%; }*/ footer{ clear: both; position: relative; } .view-grid table thead{ background-color:#f2f2f2; } /*.entitylist .view-grid table th, .entitylist .view-grid table td{ border: 1px solid #ddd; padding-top:2px; padding-bottom:2px; }*/ /* .page-header h1{ color: #500778; font-size: 44px; font-weight: 300; line-height: 61.6px; } */ .entitylist .view-grid table tbody tr:nth-child(odd){background-color: #ececec;} .entitylist .view-grid table tbody tr:nth-child(even){background-color: #f2f2f2;} .view-grid table tbody tr td a{ color: #00a9e0; font-family: Roboto; font-size: 14px; font-weight: 400; line-height: 24px; } .entitylist .view-grid table tbody tr td{ font-family: Roboto; font-size: 14px; font-weight: 400; line-height: 24px; } t .view-grid table thead tr th{ color:#00a9e0; font-size:14px; font-weight:700; } .view-grid table thead tr th a { color:#00a9e0; font-size:14px; font-weight:700; font-family:Roboto,Bold; } .view-grid table thead tr th a:hover{ color:#00a9e0; font-size:14px; font-weight:700; } .view-grid table thead tr th a:focus{ color:#00a9e0; font-size:14px; font-weight:700; } .tab-column label{ font-size:1.4rem; font-weight:normal; } .tab-column .form-control{ color:#808080; } #EntityListControl .input-group-btn .btn{ border:None; background:transparent; right:40px; } #EntityFormControl .input-group-btn .btn{ border:None; background:transparent; } .navbar .input-group-btn .btn{ border:None; background:transparent; } .input-group-btn .btn .fa-search,.fa-times{ color:#595959; } .entitylist .view-grid table tbody tr td .dropdown .btn { border:None; background:transparent; } .entitylist .view-grid table tbody tr td .dropdown .btn .fa-chevron-circle-down { color:#808080; } /* body{ position: relative; min-height: 100%; }*/ footer{ background-color:#f2f2f2; /* position: absolute; */ right: 0; bottom: 0; left: 0; height:80px; } .footer-bottom { padding: 15px 0 0px 0; } h1 { font-size: 48px; } .color-footer{ color: #c6c6c5; font-weight: 300; } .entitylist .view-grid table tbody tr td .dropdown .btn .fa-chevron-circle-down:before { content: "\f078"; } </style> <footer role="contentinfo"> <div class="footer-bottom hidden-print"> <div class="container"> <div class="row"> <div class="col-md-4 col-sm-12 col-xs-12 text-left color-footer"> <div class="xrm-editable-html xrm-attribute" data-languageContext="English"><div class="xrm-attribute-value"><div class="pull-right"></div> <p style="font-size:12px;color:#000">Copyright 漏 2025. All rights reserved. <br> This web site uses essential cookies to maintain your preferences. For more information,see our <a href="https://www.viavisolutions.com/en-us/corporate/legal/privacy-policy" style="text-decoration: underline;color:blue;">Privacy Policy</a> & <a href="https://www.viavisolutions.com/en-us/corporate/legal" style="text-decoration: underline;color:blue;">Terms of Use.</a><br> For questions, Please Contact <a href="mailto:GlobalPartnerNetwork@viavisolutions.com">GlobalPartnerNetwork@viavisolutions.com</a></p> </div></div> </div> </div> </div> </div> </footer> <script type="text/javascript"> function trackCopilotCustomUsage(botSchema) { const request = { botSchemaName: botSchema } var json = JSON.stringify(request); shell.ajaxSafePost({ type: "POST", contentType: "application/json", url: "/_services/copilot/TrackUsage", data: json }).done(function () { }).fail(function (jqXhr) { }); } function findAndLogCustomCopilotUsage() { const pageSource = document.documentElement.outerHTML; const customPvaBotWebchatRegex = /api\.(preprod\.|test\.)?powerplatform\.(com|us|cn|appsplatform\.us)\/powervirtualagents\/botsbyschema\/([^/]+)\/directline\/token/; const customPvaBotIframeRegex = /powerva\.microsoft\.com\/environments\/([0-9a-fA-F\-]+)\/bots\/([^/]+)\/webchat/; const omniChannelRegex = /livechatwidget\/scripts\/LiveChatBootstrapper\.js/; const matchPvaBotWebchat = pageSource.match(customPvaBotWebchatRegex); if (matchPvaBotWebchat && matchPvaBotWebchat[3]) { trackCopilotCustomUsage(matchPvaBotWebchat[3]); } const matchPvaBotIframe = pageSource.match(customPvaBotIframeRegex); if (matchPvaBotIframe && matchPvaBotIframe[2]) { trackCopilotCustomUsage(matchPvaBotIframe[2]); } const matchOmniChannel = pageSource.match(omniChannelRegex); if (matchOmniChannel && matchOmniChannel[0]) { trackCopilotCustomUsage("omnichannelWidget"); } } window.addEventListener("load", function () { findAndLogCustomCopilotUsage(); }); </script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/bootstrap.bundle-105a4995b8.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/bootstrap.bundle-105a4995b8.js" type="text/javascript"></script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/postpreform.bundle-184c77da50.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/postpreform.bundle-184c77da50.js" type="text/javascript"></script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/app.bundle-a9e4fdb602.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/app.bundle-a9e4fdb602.js" type="text/javascript"></script> <script onerror="javascript: var target = event.target; var script = document.createElement('script'); script.crossOrigin = target.crossOrigin; script.src = '/dist/default-1033.moment_2_29_4.bundle-eda4e638fd.js'; script.type = 'text/javascript'; target.insertAdjacentElement('afterend',script);" src="https://content.powerapps.com/resource/powerappsportal/dist/default-1033.moment_2_29_4.bundle-eda4e638fd.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js"></script> <script type="text/javascript"> !function(T,l,y){var S=T.location,u="script",k="instrumentationKey",D="ingestionendpoint",C="disableExceptionTracking",E="ai.device.",I="toLowerCase",b="crossOrigin",w="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"4",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[I](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,p,l,u;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");2===i.length&&(e[i[0][I]()]=i[1])}if(!e[D]){var r=e.endpointsuffix,o=r?e.location:null;e[D]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[k]||d[k]||"",p=s[D],l=p?p+"/v2/track":config.endpointUrl,(u=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=l,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),u.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,l)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:w,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(w,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(u,l))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(u);n.src=h;var e=y[b];return!e&&""!==e||"undefined"==n[b]||(n[b]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(u)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[C]&&!0!==s[C]){method="onerror",t(["_"+method]);var c=T[method];T[method]=function(e,t,n,a,i){var r=c&&c(e,t,n,a,i);return!0!==r&&m["_"+method]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);(T[t]=n).queue&&0===n.queue.length&&n.trackPageView({})}(window,document,{ src: "https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js", // The SDK URL Source //name: "appInsights", // Global SDK Instance name defaults to "appInsights" when not supplied //ld: 0, // Defines the load delay (in ms) before attempting to load the sdk. -1 = block page load and add to head. (default) = 0ms load after timeout, //useXhr: 1, // Use XHR instead of fetch to report failures (if available), //crossOrigin: "anonymous", // When supplied this will add the provided value as the cross origin attribute on the script tag cfg: { // Application Insights Configuration instrumentationKey: "8621caed-2363-4e0f-a784-ae604e7577dc", autoTrackPageVisitTime: true }}); //Add Contextual Information var telemetryInitializer = (envelope) => { envelope.tags["ai.cloud.role"] = window.Microsoft.Dynamic365.Portal.type; envelope.tags["ai.cloud.roleInstance"] = window.Microsoft.Dynamic365.Portal.version; } appInsights.addTelemetryInitializer(telemetryInitializer); //Add User Context //App Insight Examples //Log the Portal Page //appInsights.trackPageView(); //Example of CustomEvent Logging appInsights.trackEvent({name: window.Microsoft.Dynamic365.Portal.type}); </script> <script> //this event will update the title of the page based on active breadcrumb $('.breadcrumb').ready(function () { if ($('.breadcrumb').is(':visible')) { document.querySelector('title').innerHTML = ($('.breadcrumb > li.active').text() + " · Partner Portal"); } }); function GoToNewEditor() { var editCmsUrlSegment = "EditInCms"; var currentUrl = window.location.href; if (currentUrl.indexOf('?') > -1) { var urlSegments = currentUrl.split("?"); window.location.href = window.location.origin + '/' + editCmsUrlSegment + window.location.pathname + '?' + urlSegments[1]; } else { window.location.href = window.location.origin + '/' + editCmsUrlSegment + window.location.pathname; } } </script> <script> if ('serviceWorker' in navigator) { navigator.serviceWorker.getRegistrations().then(function(registrations) { for(let registration of registrations) { registration.unregister(); }}).catch(function(err) { console.log('Service Worker unregister action failed: ', err); }); } </script> <!--Start Show Session Expire Warning Popup here --> </body> </html> <!-- Generated at 3/2/2025 4:30:24 PM --> <!-- Page OK -->