CINXE.COM

Other Select Languages – On Premise Solutions DPA - Ex Libris Knowledge Center

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Other Select Languages – On Premise Solutions DPA - Ex Libris Knowledge Center</title> <link media="screen" type="text/css" rel="stylesheet" href="https://a.mtstatic.com/@cache/layout/legacy.css?_=814adc7572602bc7c2a39e3e9899638a_a25vd2xlZGdlLmV4bGlicmlzZ3JvdXAuY29t:site_11811" id="mt-screen-css" /> <link media="print" type="text/css" rel="stylesheet" href="https://a.mtstatic.com/@cache/layout/print.css?_=a87985e947b3b92ebec6cfe4689bceb3:site_11811" id="mt-print-css" /> <script type="text/javascript" nonce="cca5780c98bc4e500e9aeba284bf98879b515c17cdc350ed2500872b464baf93" src="https://a.mtstatic.com/deki/javascript/out/grape.min.js?_=76f77a33377b2f0da26a22ff3a2c3345f92f980b:site_11811"></script><script type="application/json" id="mt-global-settings" nonce="cca5780c98bc4e500e9aeba284bf98879b515c17cdc350ed2500872b464baf93">{"apiToken":"xhr_2_1732999546_8c57658893f88dcb4f10d8ae3d2cc3e27dfda081e7ddac8c34afeed8092e331f","pageId":63593,"pageViewId":"4b86d18f-1f91-4b4b-b0d1-81e74a4fe6ae"}</script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.css" integrity="sha256-jySGIHdxeqZZvJ9SHgPNjbsBP8roij7/WjgkoGTJICk=" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.min.css" integrity="sha256-WmhCJ8Hu9ZnPRdh14PkGpz4PskespJwN5wwaFOfvgY8=" crossorigin="anonymous"> <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.js" integrity="sha256-4Cr335oZDYg4Di3OwgUOyqSTri0jUm2+7Gf2kH3zp1I=" crossorigin="anonymous"></script> <script type="text/javascript">/*<![CDATA[*/ var stIsIE = /*@cc_on!@*/false; sorttable = { init: function() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); if (!document.createElement || !document.getElementsByTagName) return; sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); }, makeSortable: function(table) { if (table.getElementsByTagName('thead').length == 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; if (table.tHead.rows.length != 1) return; // can't cope with two header rows // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i<table.rows.length; i++) { if (table.rows[i].className.search(/\bsortbottom\b/) != -1) { sortbottomrows[sortbottomrows.length] = table.rows[i]; } } if (sortbottomrows) { if (table.tFoot == null) { // table doesn't have a tfoot. Create one. tfo = document.createElement('tfoot'); table.appendChild(tfo); } for (var i=0; i<sortbottomrows.length; i++) { tfo.appendChild(sortbottomrows[i]); } delete sortbottomrows; } // work through each column and calculate its type headrow = table.tHead.rows[0].cells; for (var i=0; i<headrow.length; i++) { // manually override the type with a sorttable_type attribute if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/); if (mtch) { override = mtch[1]; } if (mtch && typeof sorttable["sort_"+override] == 'function') { headrow[i].sorttable_sortfunction = sorttable["sort_"+override]; } else { headrow[i].sorttable_sortfunction = sorttable.guessType(table,i); } // make it clickable to sort headrow[i].sorttable_columnindex = i; headrow[i].sorttable_tbody = table.tBodies[0]; dean_addEvent(headrow[i],"click", sorttable.innerSortFunction = function(e) { if (this.className.search(/\bsorttable_sorted\b/) != -1) { // if we're already sorted by this column, just // reverse the table, which is quicker sorttable.reverse(this.sorttable_tbody); this.className = this.className.replace('sorttable_sorted', 'sorttable_sorted_reverse'); this.removeChild(document.getElementById('sorttable_sortfwdind')); sortrevind = document.createElement('span'); sortrevind.id = "sorttable_sortrevind"; sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5' : '&nbsp;&#x25B4;'; this.appendChild(sortrevind); return; } if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) { // if we're already sorted by this column in reverse, just // re-reverse the table, which is quicker sorttable.reverse(this.sorttable_tbody); this.className = this.className.replace('sorttable_sorted_reverse', 'sorttable_sorted'); this.removeChild(document.getElementById('sorttable_sortrevind')); sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6' : '&nbsp;&#x25BE;'; this.appendChild(sortfwdind); return; } // remove sorttable_sorted classes theadrow = this.parentNode; forEach(theadrow.childNodes, function(cell) { if (cell.nodeType == 1) { // an element cell.className = cell.className.replace('sorttable_sorted_reverse',''); cell.className = cell.className.replace('sorttable_sorted',''); } }); sortfwdind = document.getElementById('sorttable_sortfwdind'); if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } sortrevind = document.getElementById('sorttable_sortrevind'); if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } this.className += ' sorttable_sorted'; sortfwdind = document.createElement('span'); sortfwdind.id = "sorttable_sortfwdind"; sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6' : '&nbsp;&#x25BE;'; this.appendChild(sortfwdind); // build an array to sort. This is a Schwartzian transform thing, // i.e., we "decorate" each row with the actual sort key, // sort based on the sort keys, and then put the rows back in order // which is a lot faster because you only do getInnerText once per row row_array = []; col = this.sorttable_columnindex; rows = this.sorttable_tbody.rows; for (var j=0; j<rows.length; j++) { row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]]; } /* If you want a stable sort, uncomment the following line */ //sorttable.shaker_sort(row_array, this.sorttable_sortfunction); /* and comment out this one */ row_array.sort(this.sorttable_sortfunction); tb = this.sorttable_tbody; for (var j=0; j<row_array.length; j++) { tb.appendChild(row_array[j][1]); } delete row_array; }); } } }, guessType: function(table, column) { // guess the type of a column based on its first non-blank row sortfn = sorttable.sort_alpha; for (var i=0; i<table.tBodies[0].rows.length; i++) { text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]); if (text != '') { if (text.match(/^-?[&Acirc;&pound;$&Acirc;&curren;]?[\d,.]+%?$/)) { return sorttable.sort_numeric; } // check for a date: dd/mm/yyyy or dd/mm/yy // can have / or . or - as separator // can be mm/dd as well possdate = text.match(sorttable.DATE_RE) if (possdate) { // looks like a date first = parseInt(possdate[1]); second = parseInt(possdate[2]); if (first > 12) { // definitely dd/mm return sorttable.sort_ddmm; } else if (second > 12) { return sorttable.sort_mmdd; } else { // looks like a date, but we can't tell which, so assume // that it's dd/mm (English imperialism!) and keep looking sortfn = sorttable.sort_ddmm; } } } } return sortfn; }, getInnerText: function(node) { // gets the text we want to use for sorting for a cell. // strips leading and trailing whitespace. // this is *not* a generic getInnerText function; it's special to sorttable. // for example, you can override the cell text with a customkey attribute. // it also gets .value for <input> fields. if (!node) return ""; hasInputs = (typeof node.getElementsByTagName == 'function') && node.getElementsByTagName('input').length; if (node.getAttribute("sorttable_customkey") != null) { return node.getAttribute("sorttable_customkey"); } else if (typeof node.textContent != 'undefined' && !hasInputs) { return node.textContent.replace(/^\s+|\s+$/g, ''); } else if (typeof node.innerText != 'undefined' && !hasInputs) { return node.innerText.replace(/^\s+|\s+$/g, ''); } else if (typeof node.text != 'undefined' && !hasInputs) { return node.text.replace(/^\s+|\s+$/g, ''); } else { switch (node.nodeType) { case 3: if (node.nodeName.toLowerCase() == 'input') { return node.value.replace(/^\s+|\s+$/g, ''); } case 4: return node.nodeValue.replace(/^\s+|\s+$/g, ''); break; case 1: case 11: var innerText = ''; for (var i = 0; i < node.childNodes.length; i++) { innerText += sorttable.getInnerText(node.childNodes[i]); } return innerText.replace(/^\s+|\s+$/g, ''); break; default: return ''; } } }, reverse: function(tbody) { // reverse the rows in a tbody newrows = []; for (var i=0; i<tbody.rows.length; i++) { newrows[newrows.length] = tbody.rows[i]; } for (var i=newrows.length-1; i>=0; i--) { tbody.appendChild(newrows[i]); } delete newrows; }, /* sort functions each sort function takes two parameters, a and b you are comparing a[0] and b[0] */ sort_numeric: function(a,b) { aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); if (isNaN(aa)) aa = 0; bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); if (isNaN(bb)) bb = 0; return aa-bb; }, sort_alpha: function(a,b) { if (a[0]==b[0]) return 0; if (a[0]<b[0]) return -1; return 1; }, sort_ddmm: function(a,b) { mtch = a[0].match(sorttable.DATE_RE); y = mtch[3]; m = mtch[2]; d = mtch[1]; if (m.length == 1) m = '0'+m; if (d.length == 1) d = '0'+d; dt1 = y+m+d; mtch = b[0].match(sorttable.DATE_RE); y = mtch[3]; m = mtch[2]; d = mtch[1]; if (m.length == 1) m = '0'+m; if (d.length == 1) d = '0'+d; dt2 = y+m+d; if (dt1==dt2) return 0; if (dt1<dt2) return -1; return 1; }, sort_mmdd: function(a,b) { mtch = a[0].match(sorttable.DATE_RE); y = mtch[3]; d = mtch[2]; m = mtch[1]; if (m.length == 1) m = '0'+m; if (d.length == 1) d = '0'+d; dt1 = y+m+d; mtch = b[0].match(sorttable.DATE_RE); y = mtch[3]; d = mtch[2]; m = mtch[1]; if (m.length == 1) m = '0'+m; if (d.length == 1) d = '0'+d; dt2 = y+m+d; if (dt1==dt2) return 0; if (dt1<dt2) return -1; return 1; }, shaker_sort: function(list, comp_func) { // A stable sort function to allow multi-level sorting of data // see: http://en.wikipedia.org/wiki/Cocktail_sort // thanks to Joseph Nahmias var b = 0; var t = list.length - 1; var swap = true; while(swap) { swap = false; for(var i = b; i < t; ++i) { if ( comp_func(list[i], list[i+1]) > 0 ) { var q = list[i]; list[i] = list[i+1]; list[i+1] = q; swap = true; } } // for t--; if (!swap) break; for(var i = t; i > b; --i) { if ( comp_func(list[i], list[i-1]) < 0 ) { var q = list[i]; list[i] = list[i-1]; list[i-1] = q; swap = true; } } // for b++; } // while(swap) } } /* ****************************************************************** Supporting functions: bundled here to avoid depending on a library ****************************************************************** */ // Dean Edwards/Matthias Miller/John Resig /* for Mozilla/Opera9 */ if (document.addEventListener) { document.addEventListener("DOMContentLoaded", sorttable.init, false); } /* for Internet Explorer */ /*@cc_on @*/ /*@if (@_win32) document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>"); var script = document.getElementById("__ie_onload"); script.onreadystatechange = function() { if (this.readyState == "complete") { sorttable.init(); // call the onload handler } }; /*@end @*/ /* for Safari */ if (/WebKit/i.test(navigator.userAgent)) { // sniff var _timer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) { sorttable.init(); // call the onload handler } }, 10); } /* for other browsers */ window.onload = sorttable.init; // written by Dean Edwards, 2005 // with input from Tino Zijdel, Matthias Miller, Diego Perini // http://dean.edwards.name/weblog/2005/10/add-event/ function dean_addEvent(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else { // assign each event handler a unique ID if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++; // create a hash table of event types for the element if (!element.events) element.events = {}; // create a hash table of event handlers for each element/event pair var handlers = element.events[type]; if (!handlers) { handlers = element.events[type] = {}; // store the existing event handler (if there is one) if (element["on" + type]) { handlers[0] = element["on" + type]; } } // store the event handler in the hash table handlers[handler.$$guid] = handler; // assign a global event handler to do all the work element["on" + type] = handleEvent; } }; // a counter used to create unique IDs dean_addEvent.guid = 1; function removeEvent(element, type, handler) { if (element.removeEventListener) { element.removeEventListener(type, handler, false); } else { // delete the event handler from the hash table if (element.events && element.events[type]) { delete element.events[type][handler.$$guid]; } } }; function handleEvent(event) { var returnValue = true; // grab the event object (IE uses a global event object) event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event); // get a reference to the hash table of event handlers var handlers = this.events[event.type]; // execute each event handler for (var i in handlers) { this.$$handleEvent = handlers[i]; if (this.$$handleEvent(event) === false) { returnValue = false; } } return returnValue; }; function fixEvent(event) { // add W3C standard event methods event.preventDefault = fixEvent.preventDefault; event.stopPropagation = fixEvent.stopPropagation; return event; }; fixEvent.preventDefault = function() { this.returnValue = false; }; fixEvent.stopPropagation = function() { this.cancelBubble = true; } // Dean's forEach: http://dean.edwards.name/base/forEach.js /* forEach, version 1.0 Copyright 2006, Dean Edwards License: http://www.opensource.org/licenses/mit-license.php */ // array-like enumeration if (!Array.forEach) { // mozilla already supports this Array.forEach = function(array, block, context) { for (var i = 0; i < array.length; i++) { block.call(context, array[i], i, array); } }; } // generic enumeration Function.prototype.forEach = function(object, block, context) { for (var key in object) { if (typeof this.prototype[key] == "undefined") { block.call(context, object[key], key, object); } } }; // character enumeration String.forEach = function(string, block, context) { Array.forEach(string.split(""), function(chr, index) { block.call(context, chr, index, string); }); }; // globally resolve forEach enumeration var forEach = function(object, block, context) { if (object) { var resolve = Object; // default if (object instanceof Function) { // functions have a "length" property resolve = Function; } else if (object.forEach instanceof Function) { // the object implements a custom forEach method so use that object.forEach(block, context); return; } else if (typeof object == "string") { // the object is a string resolve = String; } else if (typeof object.length == "number") { // the object is array-like resolve = Array; } resolve.forEach(object, block, context); } }; sorttable.sort_alpha = function(a,b) { return a[0].localeCompare(b[0]); } /*]]>*/</script> <!-- Google Tag Manager --> <script>/*<![CDATA[*/(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KXCRM3P');/*]]>*/</script> <!-- End Google Tag Manager --> <!-- OneTrust Cookies Consent Notice start for knowledge.exlibrisgroup.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="7286c7d4-44c2-4d10-b708-69445acbcc6a"></script> <script type="text/javascript">/*<![CDATA[*/ function OptanonWrapper() { } /*]]>*/</script> <!-- OneTrust Cookies Consent Notice end for knowledge.exlibrisgroup.com --> <!--temp baidu indexing token--> <script type="text/javascript" nonce="cca5780c98bc4e500e9aeba284bf98879b515c17cdc350ed2500872b464baf93">(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create','UA-71378210-1','knowledge.exlibrisgroup.com',{allowLinker:true});ga('send','pageview');ga('create','UA-65721316-17','knowledge.exlibrisgroup.com',{name:'mtTracker',allowLinker:true});ga('mtTracker.require','linker');ga('mtTracker.set', 'anonymizeIp', true);ga('mtTracker.send','pageview');document.addEventListener('mindtouch-web-widget:f1:loaded',function(e){var t=e.data||{},d=t.widget;d&&''!==t.embedId&&document.addEventListener('mindtouch-web-widget:f1:clicked',function(e){var t=(e.data||{}).href;if(t){var n=document.createElement('a');n.setAttribute('href',t),'expert-help.nice.com'===n.hostname&&(e.preventDefault(),ga('linker:decorate',n),d.open(n.href))}})});</script> </head> <body class="columbia-page-main columbia-article-topic-guide columbia-breadcrumb-home-cross-product-security-gdpr-03gdprdataprocessingaddendum-on-premisesolutionsdpa-otherselectlanguages%E2%80%93onpremisesolutionsdpa columbia-live no-touch columbia-lang-en-us columbia-skin-grape"> <div class="grape-messaging"> </div> <div class="grape-header-custom"><div class="elm-nav-container"><div class="elm-header-logo-container"><a title="ExLibris" href="https://knowledge.exlibrisgroup.com/" rel="internal"><img alt="ExLibris" class="internal" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/124993/ckclogonew.png?revision=1" /></a><div class="header-navigation-buttons"><div class="more-sites-container ex-dropdown"><select class="more-sites"><option value="">More Sites</option><option value="/Redirect_Corp">Exlibris Site</option><option value="http://support.proquest.com/">Support Center</option><option value="https://trust.exlibrisgroup.com/">ExLibris Trust Center</option><option value="/pageForRedirect?source=DeveloperNetwork2">Developer Network</option><option value="http://ideas.exlibrisgroup.com/">Idea Exchange</option></select></div><a href="https://status.exlibrisgroup.com/system_status" target="_blank" rel="external noopener nofollow" class="link-https"><button class="system-status-container btn-margin">System-Status</button></a><button class="submit-case">Submit a Case</button></div></div></div> <script type="text/javascript">/*<![CDATA[*/ $(function() { // MORE SITES DROPDOWN $("select.more-sites").on("click", function() { var val = $(this).val(); if (val != "") { $(this).prop("selectedIndex", 0); window.open(val, "_blank"); } }); // SYSTEM STATUS DROPDOWN $("select.system-status").on("click", function() { var val = $(this).val(); ga('send', 'event', { eventCategory: 'systemStatus', eventAction: 'systemStatusClick', eventLabel: 'systemStatus' }); if (val != "") { $(this).prop("selectedIndex", 0); window.open(val, "_blank"); } }); // SUBMIT A CASE BUTTON $(".submit-case").on("click", function() { window.open("https://support.proquest.com/s/submit-a-case", "_blank"); }); });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { var toc_container = $("#mt-toc-container"); if (toc_container.is(":visible")) { // make the contents of the TOC container visible by default $("button.mt-toggle", toc_container) .removeClass("mt-toggle-expand") .addClass("mt-toggle-collapse"); $(".mt-toc-content").show(); } }); /*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { var pagenavigation = $(".elm-meta-article-navigation"); if (pagenavigation.length) { var content_container = $("section.mt-content-container"); pagenavigation.clone().insertBefore(content_container).addClass("article-top-navigation"); } }); /*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { var email_subject = "Interesting article from the Exlibris Knowledge Center"; var body_text = "You may be interested in this resource from the Ex Libris Knowledge Center:"; var current_page = window.location.href; var meta_icons = $("ol.elm-meta-top"); if (meta_icons.length) { var new_link_container = $("<li></li>", { "class": "elm-page-share" }); var new_link = $("<a></a>", { "href": "mailto:?subject=" + email_subject + "&body=" + body_text + " " + current_page, "title": "Share page by email", "class": "elm-page-share-link" }); var new_icon = $("<span></span>", { "text": "Share page by email", "class": "mt-icon-mail5" }); new_link.append(new_icon); new_link_container.append(new_link); meta_icons.prepend(new_link_container); $("a.elm-page-share-link").on("click", function() { ga('send', 'event', { eventCategory: 'Share', eventAction: 'SharePageByEmail', eventLabel: current_page }); }); } }); /*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { if (!$("body").hasClass("columbia-article-topic")) { var Content = $("section.mt-content-container"); var PDFLink = $("a.SectionPDF", Content); var SocialLink = $(".elm-social-share"); if (PDFLink.length) { var new_link_container = $("<li></li>", { "class": "elm-pdf-download" }); var new_link = $("<a></a>", { "href": PDFLink.attr("href"), "title": "Download PDF" }); var new_icon = $("<span></span>", { "text": "Download PDF", "class": "mt-icon-file-pdf" }); new_link.append(new_icon); new_link_container.append(new_link); new_link_container.insertBefore(SocialLink); PDFLink.closest("div").hide(); } } });/*]]>*/</script> <div id="back-to-top"><a href="#"><span class="mt-icon-arrow-up7"></span></a></div> <script type="text/javascript">/*<![CDATA[*/ $(document).scroll(function() { var pageTop = $(this).scrollTop(); var backToTop = $('#back-to-top'); if (pageTop > 800) { backToTop.fadeIn(); } else { backToTop.fadeOut(); } }); /*]]>*/</script> <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script> <script type="text/javascript">/*<![CDATA[*/ let firstOpen = true; const chatWindowStateKey = "chatWindowState"; const uniqueIdKey = 'conversationInfoToken'; const uniqueIdKeyExpDate = 'conversationInfoTokenExpDate'; document.addEventListener("DOMContentLoaded", function() { const chatButton = document.getElementById("chat-button"); const chatWindow = document.getElementById("chatBody"); const chatBodyHeadingClose = document.getElementById("chatBodyHeadingClose"); const chatWindowState = localStorage.getItem(chatWindowStateKey); // This is a walkaround to the problem that the HTML editor changes the html after each edit... chatButton.innerHTML = atob("PGRpdiBjbGFzcz0iY2hhdC1idXR0b24tdGV4dCI+S05PV0xFREdFIEFTU0lTVEFOVDwvZGl2Pg0KCQk8c3BhbiBjbGFzcz0iY2hhdC1ib2R5LWhlYWRpbmctdGl0bGUtYmV0YSIgc3R5bGU9IiI+QkVUQTwvc3Bhbj4NCgkJPGRpdiBjbGFzcz0iY2hhdC1idXR0b24taWNvbiI+DQoJCQk8c3ZnIGNsYXNzPSJjaGF0LWJ1dHRvbi1pY29uLXN2ZyIgZmlsbD0iI2ZmZmZmZiIgdmlld2JveD0iMCAwIDE2IDE2Ij4gDQoJCQkJPHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNTYyNyA5LjU5ODIzQzcuNjQxMTMgOS41OTgyMyA1LjI4MTM3IDcuMjI5MTEgNS4yODEzNyA0LjMxNjg2QzUuMjgxMzcgNy4yMjkxMSAyLjkxMjI1IDkuNTk4MjMgMCA5LjU5ODIzQzIuOTEyMjUgOS41OTgyMyA1LjI4MTM3IDExLjk1OCA1LjI4MTM3IDE0Ljg3MDJDNS4yODEzNyAxMS45NTggNy42NDExMyA5LjU5ODIzIDEwLjU2MjcgOS41OTgyM1oiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPiANCgkJCQk8cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45ODQ4IDEyLjMyMzRDMTQuMzgzNSAxMi4zMjM0IDEzLjA5MTMgMTEuMDIxOCAxMy4wOTEzIDkuNDI5OUMxMy4wOTEzIDExLjAyMTggMTEuNzg5NyAxMi4zMjM0IDEwLjE5NzggMTIuMzIzNEMxMS43ODk3IDEyLjMyMzQgMTMuMDkxMyAxMy42MTU3IDEzLjA5MTMgMTUuMjE2OUMxMy4wOTEzIDEzLjYxNTcgMTQuMzgzNSAxMi4zMjM0IDE1Ljk4NDggMTIuMzIzNFoiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPiANCgkJCQk8cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC4zMTc3IDMuNTIwOTFDMTIuMzcgMy41MjA5MSAxMC43OTY4IDEuOTQ3NzQgMTAuNzk2OCAwQzEwLjc5NjggMS45NDc3NCA5LjIyMzYyIDMuNTIwOTEgNy4yNzU4OCAzLjUyMDkxQzkuMjIzNjIgMy41MjA5MSAxMC43OTY4IDUuMDk0MDkgMTAuNzk2OCA3LjA0MTgzQzEwLjc5NjggNS4wOTQwOSAxMi4zNyAzLjUyMDkxIDE0LjMxNzcgMy41MjA5MVoiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPiANCgkJCTwvc3ZnPg0KCQk8L2Rpdj4="); if (chatWindowState === "open") { openFirstChat(); firstOpen = false; chatWindow.style.display = "block"; } // Toggle chat window visibility chatBodyHeadingClose.addEventListener("click", function() { localStorage.setItem(chatWindowStateKey, "closed"); }); // Toggle chat window visibility chatButton.addEventListener("click", function() { if(firstOpen){ openFirstChat(); firstOpen = false; } localStorage.setItem(chatWindowStateKey, "open"); }); }); const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => { if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') { dispatch({ type: 'WEB_CHAT/SEND_EVENT', payload: { name: 'startConversation', value: { language: window.navigator.language } } }); } return next(action); }); const styleOptions = { // Add styleOptions to customize Web Chat canvas hideUploadButton: true, accent: '#00809d', botAvatarBackgroundColor: 'rgba(168,122,224,1)', botAvatarImage: 'https://knowledge.exlibrisgroup.com/@api/deki/files/174178/AI_Icon.png', botAvatarInitials: 'BT', userAvatarBackgroundColor: 'rgb(132 119 230)', userAvatarImage: 'https://knowledge.exlibrisgroup.com/@api/deki/files/174179/User_icon.png', userAvatarInitials: 'U', rootWidth: '360px', backgroundColor: 'transparent', sendBoxBorderTop: undefined, sendBoxBackground: 'transparent', sendBoxPlaceholderColor: '#424242', bubbleFromUserBackground: '#dae0ff', bubbleFromUserBorderRadius: '12px', bubbleFromUserBorderWidth: '0px', bubbleBorderRadius: '12px', }; // Add your BOT token endpoint below var theURL = "https://default127fa96e00b4429e95f972c2828437.a4.environment.api.powerplatform.com/powervirtualagents/botsbyschema/cr29b_knowledgeAssistantAcademic/directline/token?api-version=2022-03-01-preview"; var environmentEndPoint = theURL.slice(0, theURL.indexOf('/powervirtualagents')); var apiVersion = theURL.slice(theURL.indexOf('api-version')).split('=')[1]; var regionalChannelSettingsURL = `${environmentEndPoint}/powervirtualagents/regionalchannelsettings?api-version=${apiVersion}`; var directline; let conversationInfoStorage = sessionStorage.getItem(uniqueIdKey); let conversationInfoStorageExpDate = sessionStorage.getItem(uniqueIdKeyExpDate); function fetchConverstion() { if (!conversationInfoStorage || !conversationInfoStorageExpDate || (conversationInfoStorageExpDate < (new Date()).getTime())) { fetch(theURL) .then(response => response.json()) .then(conversationInfo => { sessionStorage.setItem(uniqueIdKey, conversationInfo.token); sessionStorage.setItem(uniqueIdKeyExpDate, (new Date()).getTime() + conversationInfo.expires_in * 1000); window.WebChat.renderWebChat({ directLine: window.WebChat.createDirectLine({ domain: `${directline}v3/directline`, token: conversationInfo.token, }), store, styleOptions }, document.getElementById('webchat') ); }) .catch(err => console.error("An error occurred: " + err)); } else { window.WebChat.renderWebChat({ directLine: window.WebChat.createDirectLine({ domain: `${directline}v3/directline`, token: conversationInfoStorage, }), styleOptions }, document.getElementById('webchat') ); } } function openFirstChat(){ fetch(regionalChannelSettingsURL) .then((response) => { return response.json(); }) .then((data) => { directline = data.channelUrlsById.directline; fetchConverstion(); }) .catch(err => console.error("An error occurred: " + err)); }/*]]>*/</script> <p><button id="chat-button" onclick="document.getElementById('chatBody').style.display = 'block'"></button></p> <div class="chat-body" id="chatBody" style="display:none"> <div class="chat-body-heading" id="heading"> <div class="chat-body-heading-title"><svg class="chat-body-heading-title-icon" fill="none" height="25" viewbox="0 0 26 25" width="26"> <path clip-rule="evenodd" d="M17.1645 15.5971C12.4168 15.5971 8.58223 11.7473 8.58223 7.01489C8.58223 11.7473 4.7324 15.5971 0 15.5971C4.7324 15.5971 8.58223 19.4317 8.58223 24.1641C8.58223 19.4317 12.4168 15.5971 17.1645 15.5971Z" fill="url(#paint0_radial_249_166)" fill-rule="evenodd"></path> <path clip-rule="evenodd" d="M25.9747 20.0256C23.3727 20.0256 21.2728 17.9105 21.2728 15.3236C21.2728 17.9105 19.1576 20.0256 16.5708 20.0256C19.1576 20.0256 21.2728 22.1255 21.2728 24.7275C21.2728 22.1255 23.3727 20.0256 25.9747 20.0256Z" fill="url(#paint1_radial_249_166)" fill-rule="evenodd"></path> <path clip-rule="evenodd" d="M23.2662 5.72148C20.1011 5.72148 17.5447 3.16508 17.5447 0C17.5447 3.16508 14.9883 5.72148 11.8232 5.72148C14.9883 5.72148 17.5447 8.27789 17.5447 11.443C17.5447 8.27789 20.1011 5.72148 23.2662 5.72148Z" fill="url(#paint2_radial_249_166)" fill-rule="evenodd"></path> <defs> <radialgradient cx="0" cy="0" gradienttransform="translate(10.8437 23.7164) rotate(-90) scale(15.9625 19.6815)" gradientunits="userSpaceOnUse" id="paint0_radial_249_166" r="1"> <stop stop-color="#B175E1"></stop> <stop offset="1" stop-color="#3595F0"></stop> </radialgradient> <radialgradient cx="0" cy="0" gradienttransform="translate(22.5118 24.482) rotate(-90) scale(8.75318 10.7829)" gradientunits="userSpaceOnUse" id="paint1_radial_249_166" r="1"> <stop stop-color="#B175E1"></stop> <stop offset="1" stop-color="#3595F0"></stop> </radialgradient> <radialgradient cx="0" cy="0" gradienttransform="translate(19.0524 11.1442) rotate(-90) scale(10.6511 13.121)" gradientunits="userSpaceOnUse" id="paint2_radial_249_166" r="1"> <stop stop-color="#B175E1"></stop> <stop offset="1" stop-color="#3595F0"></stop> </radialgradient> </defs> </svg> <div mt-section-origin="Template:Copilot_Knowledge_Assistant" class="mt-section"><h1 class="chat-body-heading-title-text editable">Knowledge Assistant</h1> <span class="chat-body-heading-title-beta" style="">BETA</span></div></div> <button aria-label="Close" class="chat-body-heading-close" id="chatBodyHeadingClose" onclick="document.getElementById('chatBody').style.display = 'none'" title="Hide Chat"><svg fill="none" height="25" viewbox="0 0 24 25" width="24"> <mask height="25" id="mask0_358_81" maskunits="userSpaceOnUse" style="mask-type:alpha" width="24" x="0" y="0"> <rect fill="#D9D9D9" height="24" width="24" y="0.360596"></rect> </mask> <g mask="url(#mask0_358_81)"> <path d="M6.4 19.3606L5 17.9606L10.6 12.3606L5 6.7606L6.4 5.3606L12 10.9606L17.6 5.3606L19 6.7606L13.4 12.3606L19 17.9606L17.6 19.3606L12 13.7606L6.4 19.3606Z" fill="#666666"></path> </g> </svg></button></div> <div id="webchat" role="main"> <div role="progressbar" aria-label="Loading..." aria-live="assertive" data-automation-id="PageSpinner" data-testid="PageSpinner" class="fui-Spinner r82apo5"><span class="fui-Spinner__spinner rvgcg50 ___1xxu43e f1d2rq10 f1szoe96 fb52u90"><span class="fui-Spinner__spinnerTail rxov3xa"></span></span></div> </div> </div> <script type="text/javascript">/*<![CDATA[*/ $(function() { var document_path = window.location.pathname.split("/"); var path_depth = document_path.length-1; // the following pages all have one additional level above the 'product page' level var second_level_product_pages = ["Intota", "360_Services"]; // the following pages are the community corner sections which should have icons var second_level_additional_icons = ["Content_Corner"]; if ((path_depth == 1 && document_path[1].length) || (second_level_product_pages.indexOf(document_path[1]) != -1 && path_depth == 2) || (second_level_additional_icons.indexOf(document_path[2]) !== -1 && path_depth ==2)) { $("body").addClass("product-page"); } });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function () { // Only display the product link area when a link exists for the current page var FeaturedTopicsContainer = $(".featured-topics"); // limit appearance to top-level product pages if ( $("body").hasClass("product-page") && $("ul", FeaturedTopicsContainer).length >= 1 ) { var DestinationElement = $(".mt-category-container", "#elm-main-content"); FeaturedTopicsContainer.insertBefore(DestinationElement); } });/*]]>*/</script> <div class="product-link featured-topics"> </div> <script type="text/javascript">/*<![CDATA[*/ $(function () { // Only display the product link area when a link exists for the current page var ProductLinkContainer = $(".product-link"); // limit appearance to top-level product pages if ( $("body").hasClass("product-page") && $("p", ProductLinkContainer).length >= 1 ) { var DestinationElement = $("#elm-main-content"); ProductLinkContainer.appendTo(DestinationElement); } });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ // This function adds a "language-options" class to the ul.sortable-listings container // which enables a class on the first-child li and makes it full width IF the page is // called "Product Documentation" (searched for in the body class) AND there is a title // containing the text "(English)" $(function() { if ( $('body').is('[class*="productdocumentation"]') ) { if ($('a[title*="(English)"]').length) { $('ul.mt-sortable-listings-container').addClass('language-options'); } } }); /*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { // RSS link icon displayed on the current page var rss_link = $("a.generate-rss"); // address of the MindTouch page that calls the FetchRSS API var generator_address = "/createRSSFeed"; // address of the current page var current_url = window.location.href; // address to redirect user to var rss_address = generator_address + "?pageurl=" + current_url; // if the RSS link icon exists set up the onclick action and relocate the // icon to its desired display position if (rss_link.length) { rss_link.on("click", function(e) { e.preventDefault(); window.open(rss_address, "_blank"); }); $(".elm-page-rss-feed").prependTo(".elm-meta-data.elm-meta-top"); } });/*]]>*/</script> <li class="elm-page-rss-feed"><a href="#" title="Subscribe by RSS" class="generate-rss" target="_blank"><span class="mt-icon-rss">Subscribe by RSS</span></a></li> <script type="text/javascript">/*<![CDATA[*/ $(function() { // RSS link icon displayed on the current page var rss_link = $("a.generate-rss"); // address of the MindTouch page that calls the FetchRSS API var generator_address = "/createRSSFeed"; // address of the current page var current_url = window.location.href; // address to redirect user to var rss_address = generator_address + "?pageurl=" + current_url; // if the RSS link icon exists set up the onclick action and relocate the // icon to its desired display position if (rss_link.length) { rss_link.on("click", function(e) { e.preventDefault(); window.open(rss_address, "_blank"); }); $(".elm-page-rss-feed").prependTo(".elm-meta-data.elm-meta-top"); } });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(window).load(function() { var DetailedListingAreas = $("body.columbia-article-topic-category").find("dl.mt-listing-detailed"); DetailedListingAreas.each(function() { var Content = $("dd.mt-listing-detailed-subpages", $(this)); // Only make the changes if there are sub-pages to be displayed if ($("li", Content).length) { var Parent = $(this).parent(); /* parent li item */ var Trigger = Parent; var Title = $(".mt-listing-detailed-title", $(this)); var LinkAddress = Title.find("a").attr("href"); // shorten titles of sub-articles if necessary $("li a", Content).each(function() { var children = $(this).children(); var text = $(this).text(); if (text.length > 35) { $(this).text(text.substr(0,32) + "..."); $(this).prepend(children); } }); // create a button linking to the immediate sub-page var AllTopicLink = $("<button />", { class: "ex-listing-all", text: "Show all topics", }).on("click", function() { window.location=LinkAddress; }); var AllTopicLinkContainer = $("<li></li>"); AllTopicLinkContainer.append(AllTopicLink); $("ul", Content).append(AllTopicLinkContainer); // add the mouse actions Trigger.on("mouseenter", function() { Content.fadeIn("fast"); }); Trigger.on("mouseleave", function() { Content.hide(); }); } }); });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(window).load(function() { if ($("body").hasClass("columbia-article-topic-guide")) { // remove the next/previous article links from the top of the page // can't be done in CSS although I can't ascertain for what reason $(".elm-meta-article-navigation").hide(); } // only apply this to Guide pages when viewed by non-administrator users if ($("body").hasClass("columbia-article-topic-guide") && !$("body").hasClass("elm-user-pro-edit")) { // hide the regular MT tabs $(".mt-guide-tabs-selectors").hide(); // hide the add tab button (not strictly necessary as it doesn't appear to non-admins, but nice for testing $(".mt-guide-add-button-container").hide(); // count the number of tabs on this page var numberOfTabs = $("li.mt-guide-tab").length; if (numberOfTabs > 1) { var guideTabContainer = $(".mt-guide-tabs-container"); // extract the link from each tab and insert it before the guide container $(".mt-guide-tab-link").each(function(index) { // get the ID of this link so that we can trigger a click event from the new element var link_id = $(this).attr("id"); // now have to remove the ID from the cloned element or we get stuck in a click-trigger loop var newLink = $(this) .clone() .removeAttr("id") .addClass("ex-tab-link"); // add an "active" class to the first of the new tab buttons if (index == 0) { newLink.addClass("active"); } // add the click trigger action to fire on the original when the new button is clicked // can't simply use a link as MT uses jQuery to load tab content newLink.on("click", function(e) { e.preventDefault(); $("a.ex-tab-link.active").not($(this)).removeClass("active"); $(this).addClass("active"); $("#" + link_id).trigger("click"); }); // finally: add the new link newLink.insertBefore(guideTabContainer); }); } } });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { var SearchTipsLink = '/Cross-Product/Knowledge_Articles/Tips_for_Advanced_Document_Searching_in_the_Customer_Knowledge_Center'; var NoResultsText = 'Search Tips:<br><br>Try using an exact phrase search ("my search") or the AND operator (my AND search).<br><br>Other useful search tips can be found <a href="' + SearchTipsLink + '">here</a>.'; function overrideSearchText() { var TextContainer = $("li.type-empty p"); if (TextContainer.length) { // override the no results found text $("li.type-empty p").html(NoResultsText).show(); // stop the task that searches for text clearInterval(TextSearch); } } if ($("body").hasClass("columbia-special-search")) { // Keep running the function in case search text appears var TextSearch = setInterval(overrideSearchText, 500); } }); /*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ $(function() { var PageRequested = window.location.href; var ReplacementHTML = "<strong>Sorry, the page </strong>" + PageRequested + "<strong> does not exist, or is no longer valid.</strong><br><br>"; ReplacementHTML = ReplacementHTML + "You may try searching the Knowledge Center for relevant information, or checking the following suggested pages:"; var Error404Container = $("#special-404"); if (Error404Container.length) { var NoticeParagraph = $("<p></p>").html(ReplacementHTML); Error404Container.prepend(NoticeParagraph); } }); /*]]>*/</script> <div class="elm-nav product-search-container"><div class="elm-nav-container product-search"><form action="/Special:Search" class="product-search-form"><div class="product-search-form-inner"><input type="text" name="search" class="product-search-text" placeholder="Search under current path"></input><button type="submit"><span class="mt-icon-search"></span></button><input type="hidden" name="path" class="page-path" value="Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum/On-Premise_Solutions_DPA/Other_Select_Languages_&ndash;_On_Premise_Solutions_DPA"></input><input type="hidden" name="product" class="page-path-product" value="Cross-Product"></input></div></form><div class="mt-page-thumbnail"><img alt="Cross-Product" class="internal" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/56994/mindtouch.page%2523thumbnail?revision=1" /></div></div></div> <script type="text/javascript">/*<![CDATA[*/ $(function() { // Some items that we'll refer to throughout the code below var SearchContainer = $(".product-search-container"); // the container that wraps the search input and select menu var SearchInput = $(".product-search-text"); // the input field for search text var PageProduct = $(".page-path-product"); // the hidden form element containing the current product name var PagePath = $(".page-path"); // the hidden form element containing the current path // if the current path matches the product name (i.e. we are on the product home page) // hide the page title if (PageProduct.val() == PagePath.val()) { $("h1#title").hide(); } // we are on a product page and need to retrieve the parent page from the hidden form field var CurrentProduct = PageProduct.val(); // only continue if there's a product path available if (CurrentProduct.length) { // set the colour style SearchContainer.attr("title", CurrentProduct); } // Now move the search from the custom header block into its final location // this will automatically "reveal" the search as it picks up global styles var DestinationElement = $(".elm-header-global-nav"); SearchContainer.insertBefore(DestinationElement); // Prevent the form from being submitted without a search term $(".product-search-form").on("submit", function(event) { // cancel if no text for searching if (!SearchInput.val().length) { event.preventDefault(); return false; } }); });/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ document.documentElement.setAttribute('lang', 'en');/*]]>*/</script> <p>&nbsp;</p> <script type="text/javascript">/*<![CDATA[*/ // Add Roboto font Deki.Fonts.addGoogleFontFamily('Roboto:r,b,i');/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ /* Parse parameters */ var documentParams; function getDocumentParams() { if (!documentParams) { documentParams = {}; if (document.location.search) { var decodedSearch = decodeURIComponent(document.location.search.substring(1).replace('+', ' ')); var searchParams = decodedSearch.split(/&/); for (var i = 0; i < searchParams.length; i++) { var param = searchParams[i]; var match = param.match(/^([^=]+)=(.*)$/); if (match) { documentParams[match[1]] = match[2]; } } } } return documentParams; } function toggle(it,min,max) { if (!min) {min = 50}; if (!max) {max = 500}; if (it.width == min) {it.width = max;} else {it.width = min;} } /* * Optional sections processing * */ function initOptional() { /* Pivot */ var uxpParam = getDocumentParams().uxp; var uxpTrueElements = document.querySelectorAll(".CallOut"); if (uxpParam != "true") { for (var i = 0; i < uxpTrueElements.length; i++) { uxpTrueElements[i].style['display'] = 'none'; } } else if (uxpParam == "true") { var hrefs = document.getElementsByTagName('a'); for (var i = 0; i < hrefs.length; i++) { if (hrefs[i]['href'].indexOf('/Pivot/Product_Documentation') != -1 && hrefs[i]['href'].indexOf('uxp') == -1) { if (hrefs[i]['href'].indexOf('?') == -1) { if (hrefs[i]['href'].indexOf('#') == -1) { hrefs[i]['href'] += '?uxp=true'; } else { hrefs[i]['href'] = hrefs[i]['href'].replace('#','?uxp=true#'); } } else { hrefs[i]['href'] = hrefs[i]['href'].replace('?','?uxp=true&'); } } } } /* Release Notes: Process MON, CAT, and SER parameters */ var monParam = getDocumentParams().mon; var catParam = getDocumentParams().cat; var serParam = getDocumentParams().ser; if (monParam && document.getElementById('rnMonthList')) { document.getElementById('rnMonthList').value=monParam; if (catParam && document.getElementById('rnCatList')) { document.getElementById('rnCatList').value=catParam; } if (serParam && document.getElementById('rnSearchList')) { document.getElementById('rnSearchList').value=serParam; } filterRN(); } else if (document.getElementById('rnMonthList')) { if (catParam && document.getElementById('rnCatList')) { document.getElementById("rnMonthList").value="All"; document.getElementById('rnCatList').value=catParam; } if (serParam && document.getElementById('rnSearchList')) { document.getElementById("rnMonthList").value="All"; document.getElementById('rnSearchList').value=serParam; } filterRN(); } }/*]]>*/</script> <script type="text/javascript">/*<![CDATA[*/ //google analytics feedback buttons $(function() { $( 'button.mt-rating-button-no' ).click(function() { ga('send', 'event', { eventCategory: 'badFeedback', eventAction: 'badFeedbackClick', eventLabel: 'badFeedback' }); }); $( 'button.mt-rating-button-yes' ).click(function() { ga('send', 'event', { eventCategory: 'goodFeedback', eventAction: 'goodFeedbackClick', eventLabel: 'goodFeedback' }); }); // See pageForRedirect and LogoAndNavigation templates for additional action captures // as these needed changing from previous onclick handlers due to alteration of elements // from javascript pop-ups to standard "select" elements });/*]]>*/</script> </div> <div class="grape-header grape-wrapper"> <div class="grape-header-container grape-wrapper-container"> <div class="grape-site-logo"> <a class="logo-anonymous" href="/" title="Ex Libris Knowledge Center"> <img class="mt-cdn" src="https://a.mtstatic.com/@public/production/site_11811/1638394879-logo.png" alt="Ex Libris Knowledge Center" title="Ex Libris Knowledge Center"> </a> </div> <div class="grape-site-navigation"> <ul class="mt-site-nav"> <li class="mt-login-sign-in"> <a class="mt-icon-quick-sign-in" href="https://knowledge.exlibrisgroup.com/Special:UserLogin?returntotitle=Cross-Product%2FSecurity%2FGDPR%2F03GDPR_Data_Processing_Addendum%2FOn-Premise_Solutions_DPA%2FOther_Select_Languages_%E2%80%93_On_Premise_Solutions_DPA" title="Sign in"> Sign in </a> </li> <li class="mt-login-forgot-password"> <a class="mt-icon-login-forgot-password" href="https://knowledge.exlibrisgroup.com/Special:UserPassword" title="Retrieve lost password"> Forgot password </a> </li> </ul> </div> <div class="grape-site-search"> <div class="mt-quick-search-container"> <form action="/Special:Search"> <input name="path" id="mt-search-path" type="hidden" value="/Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum/On-Premise_Solutions_DPA/Other_Select_Languages_–_On_Premise_Solutions_DPA" /> <label class="mt-label" for="mt-site-search-input"> Search </label> <input class="mt-text mt-search search-field" name="q" id="mt-site-search-input" placeholder="How can we help you?" type="search" /> <button class="mt-button ui-button-icon mt-icon-site-search-button search-button" type="submit"> Search </button> </form> </div> </div> </div> <div class="grape-site-nav grape-wrapper-container"> <ul class="mt-breadcrumbs"> <li> <a href="https://knowledge.exlibrisgroup.com/"> <span class="mt-icon-article-guide mt-icon-article-home"></span> Home </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/Cross-Product"> <span class="mt-icon-article-category"></span> Cross-Product </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/Cross-Product/Security"> <span class="mt-icon-article-category"></span> Security </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/Cross-Product/Security/GDPR"> <span class="mt-icon-article-category"></span> GDPR </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum"> <span class="mt-icon-article-guide"></span> GDPR Data Processing Addendum </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum/On-Premise_Solutions_DPA"> <span class="mt-icon-article-guide"></span> On-Premise Solutions DPA </a> </li> </ul> </div> </div> <div class="grape-content grape-wrapper"> <div class="grape-content-container grape-wrapper-container"> <div id="flash-messages"><div class="dekiFlash"></div></div> <h1 id="title" class="no-edit" style="visibility: visible;"> Other Select Languages – On Premise Solutions DPA </h1> <div class="mt-last-updated"> <strong>Last updated:</strong> <span class="modified mt-last-updated-timestamp" data-timestamp="2018-10-31T09:33:02Z"></span> </div> <div class="mt-content-header"></div> <div class="mt-content-side"></div> <div id="mt-toc-container" data-title="Table of contents" data-collapsed="true"> <button class="mt-toggle mt-summary-toggle ui-button-icon mt-toggle-expand">Table of contents</button> <div class="mt-toc-content mt-collapsible-section mt-toc-hide"> <em>No headers</em> </div> </div> <div id="page-top"> <div id="topic"> <div id="pageText"><p>&nbsp;</p> <div class="mt-page-summary"><div class="mt-page-overview"></div></div><ul class="p_a_list"><li><a target="_blank" rel="internal" class="iconitext-16 ext-pdf" href="https://knowledge.exlibrisgroup.com/@api/deki/files/66627/French_GDPR_On-Premise_Software_Maintenance_DPA_signed.pdf?revision=1">French GDPR On-Premise Software Maintenance DPA signed</a><br /></li><li><a target="_blank" rel="internal" class="iconitext-16 ext-pdf" href="https://knowledge.exlibrisgroup.com/@api/deki/files/66628/GDPR_Addendum_in_German_to_On-Premise_Support.pdf?revision=3">GDPR Addendum in German to On-Premise Support</a><br /></li><li><a target="_blank" rel="internal" class="iconitext-16 ext-pdf" href="https://knowledge.exlibrisgroup.com/@api/deki/files/69094/GDPR_Addendum_in_Italian_to_on-premise_support_.pdf?revision=1">GDPR Addendum in Italian to on-premise support </a><br /></li><li><a target="_blank" rel="internal" class="iconitext-16 ext-pdf" href="https://knowledge.exlibrisgroup.com/@api/deki/files/66629/GDPR_Addendum_to_Existing_Maintenance_Contracts_Spanish.pdf?revision=2">GDPR Addendum to Existing Maintenance Contracts Spanish</a><br /></li><li><a target="_blank" rel="internal" class="iconitext-16 ext-pdf" href="https://knowledge.exlibrisgroup.com/@api/deki/files/66253/GDPR_Addendum_to_On_Premises_Support_Contracts.pdf?revision=2">GDPR Addendum to On Premises Support Contracts</a><br /></li><li><a target="_blank" rel="internal" class="iconitext-16 ext-pdf" href="https://knowledge.exlibrisgroup.com/@api/deki/files/66626/GDPRAddendum_bilingual_Czech_on-premise_solutions.pdf?revision=1">GDPRAddendum bilingual Czech on-premise solutions</a><br /></li></ul> </div> </div> </div> <div class="mt-content-footer"> <div style="display: none"><a class="rss-page-link internal mt-self-link" href="https://knowledge.exlibrisgroup.com/Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum/On-Premise_Solutions_DPA/Other_Select_Languages_%E2%80%93_On_Premise_Solutions_DPA?v=3.401857" rel="internal">View article in the Exlibris Knowledge Center</a></div> </div> <ol class="grape-meta-data grape-meta-article-navigation"> <li class="grape-back-to-top"><a class="mt-icon-back-to-top" href="#title" id="mt-back-to-top" title="Jump back to top of this article">Back to top</a></li> <li class="grape-article-pagination"><ul class="mt-article-pagination"> <li class="mt-pagination-previous"> <a class="mt-icon-previous-article" href="https://knowledge.exlibrisgroup.com/Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum/On-Premise_Solutions_DPA" title="On-Premise Solutions DPA"><span>On-Premise Solutions DPA</span></a> </li> <li class="mt-pagination-next"> <a class="mt-icon-next-article" href="https://knowledge.exlibrisgroup.com/Cross-Product/Security/GDPR/03GDPR_Data_Processing_Addendum/On-Premise_Solutions_DPA/Other_Select_Languages_%E2%80%93_On_Premise_Solutions_DPA/Other_Select_Languages_%E2%80%93_On_Premise_Solutions_DPA" title="Other Select Languages – On Premise Solutions DPA"><span>Other Select Languages – On Premise Solutions DPA</span></a> </li> </ul> </li> </ol> </div> </div> <div class="grape-footer grape-wrapper"> <div class="grape-wrapper-container"> <ol> <li class="grape-footer-copyright">&copy; Copyright 2024 Ex Libris Knowledge Center</li> <li class="grape-footer-powered-by"><a href="https://mindtouch.com/demo" class="mt-poweredby product " title="MindTouch" target="_blank"> Powered by CXone Expert <span class="mt-registered">&reg;</span> </a></li> </ol> </div> </div> <div class="grape-footer-custom"><footer><div class="elm-nav-container"><div class="exlibris-footer"><ul id="useful_links"><li><a target="_self" href="https://knowledge.exlibrisgroup.com/TERMS_OF_USE" rel="internal">Term of Use</a></li><li><a target="_blank" href="https://www.exlibrisgroup.com/privacy-policy/" rel="external noopener nofollow" class="link-https">Privacy Policy</a></li><li id="teconsent"></li><li><a href="https://knowledge.exlibrisgroup.com/Cross-Product/Knowledge_Articles/How_to_contact_Ex_Libris_for_assistance_or_to_discuss_technical_matters" rel="internal">Contact Us</a></li></ul><span class="reserved">2024 Ex Libris. All rights reserved</span></div></div></footer> </div> <script>/*<![CDATA[*/ initOptional(); (function(){ var x = document.getElementsByClassName('lastModified'); for (var i = 0; i < x.length; i++) { var d = new Date(x[i].innerText); x[i].setAttribute('sorttable_customkey', d.toISOString().substring(0, 10)); } })(); /*]]>*/</script> <!--Feedback--> <script type="text/javascript">/*<![CDATA[*/ window.doorbellOptions = { "id": "2602", "appKey": "Qo1eqHoGxyAyBumYthdr9YjCAxeowyUw8hdj2EJ2bgPomMf5IeNGpABlK1QGmq42" }; (function(w, d, t) { var hasLoaded = false; function l() { if (hasLoaded) { return; } hasLoaded = true; window.doorbellOptions.windowLoaded = true; var g = d.createElement(t);g.id = 'doorbellScript';g.type = 'text/javascript';g.async = true;g.src = 'https://embed.doorbell.io/button/'+window.doorbellOptions['id']+'?t='+(new Date().getTime());(d.getElementsByTagName('head')[0]||d.getElementsByTagName('body')[0]).appendChild(g); } if (w.attachEvent) { w.attachEvent('onload', l); } else if (w.addEventListener) { w.addEventListener('load', l, false); } else { l(); } if (d.readyState == 'complete') { l(); } }(window, document, 'script')); /*]]>*/</script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KXCRM3P" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10