CINXE.COM
campusM 2021 Release Notes - 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>campusM 2021 Release Notes - 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="047cffba3f6c0532b4d47a3e4a35b0ce9e41a319340e784a673b6182fe7a4145" src="https://a.mtstatic.com/deki/javascript/out/grape.min.js?_=76f77a33377b2f0da26a22ff3a2c3345f92f980b:site_11811"></script><script type="application/json" id="mt-global-settings" nonce="047cffba3f6c0532b4d47a3e4a35b0ce9e41a319340e784a673b6182fe7a4145">{"apiToken":"xhr_2_1732783719_9cba8a53035a7fd239ca244150972969402f2ce9ab7d88c3eeca99741f33c16a","pageId":88260,"pageViewId":"2e7b9ad4-f7e3-4a5c-a704-dec794a8d916"}</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 ? ' <font face="webdings">5' : ' ▴'; 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 ? ' <font face="webdings">6' : ' ▾'; 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 ? ' <font face="webdings">6' : ' ▾'; 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(/^-?[£$¤]?[\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="047cffba3f6c0532b4d47a3e4a35b0ce9e41a319340e784a673b6182fe7a4145">(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 columbia-breadcrumb-home-campusm-campusmreleasenotes-2021-campusm2021releasenotes 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> <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[*/ $(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"><a class="back-button mt-icon-arrow-left8 internal" href="https://knowledge.exlibrisgroup.com/campusM/campusM_Release_Notes/2021" rel="internal">Back</a><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="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes"></input><input type="hidden" name="product" class="page-path-product" value="campusM"></input></div></form><div class="mt-page-thumbnail"><img alt="campusM" class="internal" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/57003/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> </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=campusM%2FcampusM_Release_Notes%2F2021%2FcampusM_2021_Release_Notes&returnquery=mon%3D202105BASE" 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="/campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" /> <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/campusM"> <span class="mt-icon-article-category"></span> campusM </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/campusM/campusM_Release_Notes"> <span class="mt-icon-article-category"></span> campusM Release Notes </a> </li> <li> <a href="https://knowledge.exlibrisgroup.com/campusM/campusM_Release_Notes/2021"> <span class="mt-icon-article-guide"></span> 2021 </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;"> campusM 2021 Release Notes </h1> <div class="mt-last-updated"> <strong>Last updated:</strong> <span class="modified mt-last-updated-timestamp" data-timestamp="2022-05-01T12:46:39Z"></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"> <ol><li><a href="#Developments" rel="internal">Developments</a><ol><li><a href="#User_Management_Enhancements" rel="internal">User Management Enhancements</a><ol><li><a href="#Registered_Users" rel="internal">Registered Users</a></li><li><a href="#Force_Login" rel="internal">Force Login</a></li></ol></li><li><a href="#campusM_URL_Scheme_Enhancements" rel="internal">campusM URL Scheme Enhancements</a></li><li><a href="#Leganto_Product_Integration" rel="internal">Leganto Product Integration</a></li><li><a href="#Generic_Live_Tile" rel="internal">Generic Live Tile</a></li><li><a href="#Gmail_Product_Integration_Live_Tile" rel="internal">Gmail Product Integration Live Tile</a></li><li><a href="#Events_Product_Integration_.E2.80.93_Remove_Mandatory_Requirement_for_a_Unique_ID_Field_for_RSS_Vendor" rel="internal">Events Product Integration – Remove Mandatory Requirement for a Unique ID Field for RSS Vendor</a></li><li><a href="#Canvas_Product_Integration_.E2.80.93_Configure_Enrollment_Type" rel="internal">Canvas Product Integration – Configure Enrollment Type</a></li><li><a href="#LMS.2FVLE_Product_Integrations_.E2.80.93_Custom_Live_Tile_Icons_for_Canvas_and_D2L" rel="internal">LMS/VLE Product Integrations – Custom Live Tile Icons for Canvas and D2L</a></li><li><a href="#LMS.2FVLE_Product_Integration_.E2.80.93_Live_Tile_Icons_for_Blackboard" rel="internal">LMS/VLE Product Integration – Live Tile Icons for Blackboard</a></li><li><a href="#ID_Card_Product_Integration_.E2.80.93_Enlarged_User_Image_and_Dynamic_Date.2FTime_Field" rel="internal">ID Card Product Integration – Enlarged User Image and Dynamic Date/Time Field</a></li><li><a href="#Timetable_Product_Integration_.E2.80.93_Banner_.E2.80.93_Enhanced_Location_Display_Configuration" rel="internal">Timetable Product Integration – Banner – Enhanced Location Display Configuration</a></li><li><a href="#Library_Product_Integration_.E2.80.93_Configurable_Icon_for_Fines_and_Fees" rel="internal">Library Product Integration – Configurable Icon for Fines and Fees</a></li><li><a href="#Directory_Search_Product_Integration_.E2.80.93_Enhanced_User_Experience" rel="internal">Directory Search Product Integration – Enhanced User Experience</a></li><li><a href="#Holds_Product_Integration_.E2.80.93_Live_Tile_Displays_Number_of_Holds" rel="internal">Holds Product Integration – Live Tile Displays Number of Holds</a></li><li><a href="#Holds_Product_Integration_.E2.80.93_BannerXE_-_Additional_Configurable_Fields_Added_for_Each_Hold" rel="internal">Holds Product Integration – BannerXE - Additional Configurable Fields Added for Each Hold</a></li><li><a href="#Product_Integrations_.E2.80.93_General_Resiliency" rel="internal">Product Integrations – General Resiliency</a></li><li><a href="#Migration_of_Attendance_Transaction_Product_Integration_to_Attendance_Configuration" rel="internal">Migration of Attendance Transaction Product Integration to Attendance Configuration</a></li><li><a href="#Timetable_Code_Restructure_(Requires_iOS_and_Android_Release)" rel="internal">Timetable Code Restructure (Requires iOS and Android Release)</a></li><li><a href="#Web_App_Blended_Calendar_View" rel="internal">Web App Blended Calendar View</a></li><li><a href="#Quick_Polls_.E2.80.93_Enhanced_Visual_Cue_Regarding_Multiple_or_Single-Selection_Responses" rel="internal">Quick Polls – Enhanced Visual Cue Regarding Multiple or Single-Selection Responses</a></li><li><a href="#Creating_App_Roles_API" rel="internal">Creating App Roles API</a></li><li><a href="#Product_Integration_Enhancements" rel="internal">Product Integration Enhancements</a><ol><li><a href="#Leganto_Product_Integration_.E2.80.93_Configurable_Live_Tile" rel="internal">Leganto Product Integration – Configurable Live Tile</a></li><li><a href="#ID_Card_Product_Integration_.E2.80.93_Enlarged_Dynamic_Date.2FTime_Display" rel="internal">ID Card Product Integration – Enlarged Dynamic Date/Time Display</a></li><li><a href="#Contact_Tracing_Product_Integration_.E2.80.93_Manual_Code_Entry_and_Improved_Feedback_when_Removing_a_Transaction" rel="internal">Contact Tracing Product Integration – Manual Code Entry and Improved Feedback when Removing a Transaction</a></li><li><a href="#Events_Product_Integration_.E2.80.93_Disable_Date_as_a_Filter_(SF:_00897476)" rel="internal">Events Product Integration – Disable Date as a Filter (SF: 00897476)</a></li><li><a href="#Blackboard_LMS.2FVLE_Product_Integration_.E2.80.93_Deep_Linking_from_the_Live_Tile_to_the_Relevant_Integration_Page" rel="internal">Blackboard LMS/VLE Product Integration – Deep Linking from the Live Tile to the Relevant Integration Page</a></li><li><a href="#List_Product_Integration_.E2.80.93_Checklists_and_Favorites" rel="internal">List Product Integration – Checklists and Favorites</a></li><li><a href="#List_Product_Integration_.E2.80.93_Live_Tile_Enhancements" rel="internal">List Product Integration – Live Tile Enhancements</a></li></ol></li><li><a href="#Managing_Key_Contract_Email_Address_in_App_Manager" rel="internal">Managing Key Contract Email Address in App Manager</a></li><li><a href="#Populate_Notification_Group_Subscriptions_Using_CSV_File" rel="internal">Populate Notification Group Subscriptions Using CSV File</a></li><li><a href="#View_Notification_History_for_API.2C_BCC.2C_and_Polls_Sent_Through_App_Manager_(SF:_00787742)" rel="internal">View Notification History for API, BCC, and Polls Sent Through App Manager (SF: 00787742)</a></li><li><a href="#Modifying_App_Manager_Login_Screen" rel="internal">Modifying App Manager Login Screen</a></li><li><a href="#CMAuth_Authentication_SAML_Token_Authentication_.E2.80.93_Self_Configuration" rel="internal">CMAuth Authentication SAML Token Authentication – Self Configuration</a></li><li><a href="#Quick_Polls_.E2.80.93_Anonymous_Polls" rel="internal">Quick Polls – Anonymous Polls</a></li><li><a href="#Product_Integration_Changes_Enhancements" rel="internal">Product Integration Changes Enhancements</a><ol><li><a href="#ID_Card_Product_Integration_.E2.80.93_Data_Caching_Configuration" rel="internal">ID Card Product Integration – Data Caching Configuration</a></li><li><a href="#List_Product_Integration_.E2.80.93_Enhanced_Live_Tile" rel="internal">List Product Integration – Enhanced Live Tile</a></li><li><a href="#List_Product_Integration_.E2.80.93_Enable_Searchable_Lists" rel="internal">List Product Integration – Enable Searchable Lists</a></li><li><a href="#Library_Product_Integration_(Primo_and_PrimoVE)_.E2.80.93_Live_Tile_Enhancements" rel="internal">Library Product Integration (Primo and PrimoVE) – Live Tile Enhancements</a></li><li><a href="#Contact_Tracing_Product_Integration_.E2.80.93_Visual_Indicator_for_Scanned_and_Manual_Entries_and_Manual_Entry_Validation" rel="internal">Contact Tracing Product Integration – Visual Indicator for Scanned and Manual Entries and Manual Entry Validation</a></li><li><a href="#Directory_Search_Product_Integration_.E2.80.93_Enabling_Multiple_Contact_Filters_(SF:_00878259)" rel="internal">Directory Search Product Integration – Enabling Multiple Contact Filters (SF: 00878259)</a></li><li><a href="#LMS.2FVLE_Product_Integration_for_Moodle_.E2.80.93_Configure_Assessment_Visibility_on_Live_Tile_(SF:_00859059)" rel="internal">LMS/VLE Product Integration for Moodle – Configure Assessment Visibility on Live Tile (SF: 00859059)</a></li></ol></li><li><a href="#Student_Attendance_Dashboard_Widget" rel="internal">Student Attendance Dashboard Widget</a></li><li><a href="#App_Center_Download_QR_Code_in_App_Manager" rel="internal">App Center Download QR Code in App Manager</a></li><li><a href="#Copy_Asset_URL_to_Clipboard_from_Asset_Manager" rel="internal">Copy Asset URL to Clipboard from Asset Manager</a></li><li><a href="#Add_the_campusM_Logo_to_the_Favicon_for_App_Manager" rel="internal">Add the campusM Logo to the Favicon for App Manager</a></li><li><a href="#Ability_to_Disable_a_Menu_Option_from_the_Web_App" rel="internal">Ability to Disable a Menu Option from the Web App</a></li><li><a href="#Contact_Tracing_Product_Integration_.E2.80.93_Enabling_Validation_on_Manual_Location_Code_Entry" rel="internal">Contact Tracing Product Integration – Enabling Validation on Manual Location Code Entry</a><ol><li><a href="#Events_Product_Integration_.E2.80.93_Saving_Event_Favorites_to_the_Ex_Libris_Cloud" rel="internal">Events Product Integration – Saving Event Favorites to the Ex Libris Cloud</a></li></ol></li><li><a href="#Bulk_Import_and_Update_App_Roles_and_Customer_Roles_Using_a_Spreadsheet" rel="internal">Bulk Import and Update App Roles and Customer Roles Using a Spreadsheet</a><ol><li><a href="#Apply_App_Role_Changes_to_All_App_Users_Using_the_addAppRole_API" rel="internal">Apply App Role Changes to All App Users Using the addAppRole API</a></li><li><a href="#Prompt_a_User_to_Initiate_a_Call_to_a_Defined_Telephone_Number_(Requires_iOS_and_Android_Release)_(SF:_00929669)" rel="internal">Prompt a User to Initiate a Call to a Defined Telephone Number (Requires iOS and Android Release) (SF: 00929669)</a></li><li><a href="#Additional_Menu_Option_Types_Available_when_Adding_Menu_Options_to_Your_App" rel="internal">Additional Menu Option Types Available when Adding Menu Options to Your App</a></li></ol></li><li><a href="#Product_Integration_Changes_and_Enhancements" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#New_Responsive_Live_Tile_Widget_for_Blackboard.2C_Canvas.2C_D2L.2C_Leganto.2C_Primo.2C_and_Primo_VE_Product_Integrations" rel="internal">New Responsive Live Tile Widget for Blackboard, Canvas, D2L, Leganto, Primo, and Primo VE Product Integrations</a></li></ol></li><li><a href="#Quick_Polls_.E2.80.93_Extract_Quick_Poll_Results_Through_App_Manager_as_CSV_File" rel="internal">Quick Polls – Extract Quick Poll Results Through App Manager as CSV File</a></li><li><a href="#Quick_Polls_.E2.80.93_Monthly_Recurrence_Pattern" rel="internal">Quick Polls – Monthly Recurrence Pattern</a></li><li><a href="#Attendance_.E2.80.93_Configurable_Behavior_for_the_Exclude_Flag_(preview_available_in_Mid-June_2021)" rel="internal">Attendance – Configurable Behavior for the Exclude Flag (preview available in Mid-June 2021)</a></li><li><a href="#Security_Enhancement_.E2.80.93_Remove_Visibility_of_Application_Server_Password_in_App_Manager" rel="internal">Security Enhancement – Remove Visibility of Application Server Password in App Manager</a></li><li><a href="#Product_Integration_Changes_and_Enhancements_2" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#Library_Product_Integration_-_Summon" rel="internal">Library Product Integration - Summon</a></li><li><a href="#Student_Engagement_and_Retention_Product_Integration_.E2.80.93_UniWellBeing_Vendor_Support" rel="internal">Student Engagement and Retention Product Integration – UniWellBeing Vendor Support</a></li><li><a href="#List_Product_Integration_.E2.80.93_Add_Images_to_Your_List_Live_Tile_Items" rel="internal">List Product Integration – Add Images to Your List Live Tile Items</a></li><li><a href="#Direct_Access_to_Asset_Manager_to_Add_Assets_to_Product_Integrations" rel="internal">Direct Access to Asset Manager to Add Assets to Product Integrations</a></li><li><a href="#Resource_Book_Product_Integration_Enhancement" rel="internal">Resource Book Product Integration Enhancement</a></li><li><a href="#LMS.2FVLE_Product_Integration_.E2.80.93_Support_for_Terms_in_Blackboard_to_Define_Visible_Courses" rel="internal">LMS/VLE Product Integration – Support for Terms in Blackboard to Define Visible Courses</a></li><li><a href="#Retrieve_Attendees_.E2.80.93_Vendor_Support_for_PeopleSoft" rel="internal">Retrieve Attendees – Vendor Support for PeopleSoft</a></li></ol></li><li><a href="#Creative_Studio_.E2.80.93_Academic_Template_Gallery" rel="internal">Creative Studio – Academic Template Gallery</a></li><li><a href="#Support_Link_Options_Added_to_the_LDAP_Login_Page" rel="internal">Support Link Options Added to the LDAP Login Page</a></li><li><a href="#Product_Integration_Changes_and_Enhancements_3" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#List_Product_Integration_.E2.80.93_Add_and_Filter_by_Due_Dates_Against_Items" rel="internal">List Product Integration – Add and Filter by Due Dates Against Items</a></li><li><a href="#List_Product_Integration_.E2.80.93_Progress_Bars_for_Categories_and_Items" rel="internal">List Product Integration – Progress Bars for Categories and Items</a></li><li><a href="#LMS.2FVLE_Blackboard_Product_Integration_.E2.80.93_Course_List_Sort_Ordering_Configuration" rel="internal">LMS/VLE Blackboard Product Integration – Course List Sort Ordering Configuration</a></li><li><a href="#Weather_Product_Integration_.E2.80.93_Custom_Icons_for_Weather_Status" rel="internal">Weather Product Integration – Custom Icons for Weather Status</a></li><li><a href="#All_Product_Integrations_.E2.80.93_Integration_Type_Prefixed_to_Description_when_Adding_Product_Integration_Menu_Option" rel="internal">All Product Integrations – Integration Type Prefixed to Description when Adding Product Integration Menu Option</a></li></ol></li><li><a href="#App_Store_Rating_.E2.80.93_User_Prompt_and_Workflow_for_App_Rating_(Native_Release_Required)" rel="internal">App Store Rating – User Prompt and Workflow for App Rating (Native Release Required) </a></li><li><a href="#campusM_Attendance_.E2.80.93_Improved_Check-in_Validation_Outcome_Display" rel="internal">campusM Attendance – Improved Check-in Validation Outcome Display</a></li><li><a href="#Mobile_Accessibility_Android_Improvements_(Android_Release_Required)" rel="internal">Mobile Accessibility Android Improvements (Android Release Required)</a></li><li><a href="#Mobile_Accessibility_.E2.80.93_iOS_Recents_Menu_Improvements_(iOS_Release_Required)" rel="internal">Mobile Accessibility – iOS Recents Menu Improvements (iOS Release Required) </a></li><li><a href="#Product_Integration_Changes_and_Enhancements_4" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#Primo_VE_Product_Integration_.E2.80.93_Live_Tile_Badge_Color_Opacity_Configuration_and_Padding_Enhancement_(SF:_00953994)" rel="internal">Primo VE Product Integration – Live Tile Badge Color Opacity Configuration and Padding Enhancement (SF: 00953994)</a></li><li><a href="#ID_Card_Product_Integration_.E2.80.93_Support_for_Additional_Barcode_Schemas" rel="internal">ID Card Product Integration – Support for Additional Barcode Schemas</a></li><li><a href="#Generic_Live_Tile_Product_Integration_.E2.80.93_Hiding_Badge_Items_Based_on_Age" rel="internal">Generic Live Tile Product Integration – Hiding Badge Items Based on Age</a></li></ol></li><li><a href="#Events_Product_Integration_.E2.80.93_New_campusM_UX_Design_System" rel="internal">Events Product Integration – New campusM UX Design System</a></li><li><a href="#Notification_Expiration" rel="internal">Notification Expiration</a></li><li><a href="#Product_Integration_Changes_and_Enhancements_5" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#Student_Engagement_and_Retention_Product_Integration_.E2.80.93_StREAM_from_SolutionPath" rel="internal">Student Engagement and Retention Product Integration – StREAM from SolutionPath</a></li></ol></li><li><a href="#Product_Integration_Changes_and_Enhancements_6" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#Library_Product_Integration_.E2.80.93_Primo_VE_Live_Tile_Links_(Hotfix_for_August_2021)" rel="internal">Library Product Integration – Primo VE Live Tile Links (Hotfix for August 2021)</a></li><li><a href="#Generic_Live_Tile_.E2.80.93_Shorter_Update_Rate_Available_(Hotfix_for_August_2021)" rel="internal">Generic Live Tile – Shorter Update Rate Available (Hotfix for August 2021)</a></li></ol></li><li><a href="#Events_Product_Integration_.E2.80.93_Enhanced_Functionality_and_Transformational_User_Experience" rel="internal">Events Product Integration – Enhanced Functionality and Transformational User Experience</a></li><li><a href="#Creative_Studio_.E2.80.93_New_Commencement.2FGraduation_Academic_Template" rel="internal">Creative Studio – New Commencement/Graduation Academic Template</a></li><li><a href="#Product_Integration_Changes_and_Enhancements_7" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#Surveys_EvaSys_Product_Integration_.E2.80.94_Configurable_Base_URL_(Hotfix_for_September_2021)" rel="internal">Surveys EvaSys Product Integration — Configurable Base URL (Hotfix for September 2021)</a></li><li><a href="#Library_Product_Integration_.E2.80.93_Primo_VE_interface_Enhancements" rel="internal">Library Product Integration – Primo VE interface Enhancements</a></li><li><a href="#Registration_Status_Product_Integration_.E2.80.93_Peoplesoft_Vendor_Support_Added" rel="internal">Registration Status Product Integration – Peoplesoft Vendor Support Added</a></li><li><a href="#Holds_Product_Integration_.E2.80.93_Ellucian_Colleague_Vendor_Support_Added" rel="internal">Holds Product Integration – Ellucian Colleague Vendor Support Added</a></li></ol></li><li><a href="#iOS_15_Review_and_Preparations" rel="internal">iOS 15 Review and Preparations</a></li><li><a href="#campusM_Attendance_.E2.80.94_Android_Performance_Enhancements_for_Geolocation_Validation" rel="internal">campusM Attendance — Android Performance Enhancements for Geolocation Validation</a></li><li><a href="#Product_Integration_Changes_and_Enhancements_8" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#Grades_Product_Integration_.E2.80.94_PeopleSoft_Vendor_Support" rel="internal">Grades Product Integration — PeopleSoft Vendor Support</a></li></ol></li><li><a href="#Android_Whitelisting_Requirement_from_Android_11" rel="internal">Android Whitelisting Requirement from Android 11</a></li><li><a href="#RoleSync_.E2.80.93_Configurable_Refresh_Period_to_Trigger_RoleSync" rel="internal">RoleSync – Configurable Refresh Period to Trigger RoleSync</a></li><li><a href="#Configuring_the_Timetable_Refresh_Period" rel="internal">Configuring the Timetable Refresh Period</a></li><li><a href="#Product_Integration_Changes_and_Enhancements_9" rel="internal">Product Integration Changes and Enhancements</a><ol><li><a href="#LMS.2FVLE_Product_Integration_.E2.80.93_Blackboard" rel="internal">LMS/VLE Product Integration – Blackboard</a></li><li><a href="#LMS.2FVLE_Product_Integration_.E2.80.93_Blackboard_2" rel="internal">LMS/VLE Product Integration – Blackboard</a></li><li><a href="#Events_Product_Integration_.E2.80.93_Allow_for_All_Day_and_Multiple_Day_Events" rel="internal">Events Product Integration – Allow for All Day and Multiple Day Events</a></li><li><a href="#Events_Product_Integration_.E2.80.93_RSS_Support_for_Dynamic_Data" rel="internal">Events Product Integration – RSS Support for Dynamic Data</a></li><li><a href="#Events_Directory_Product_Integration_.E2.80.93_Sunsetting_Creation_of_Legacy_Events_Directory" rel="internal">Events Directory Product Integration – Sunsetting Creation of Legacy Events Directory</a></li></ol></li></ol></li><li><a href="#Resolved_Issues" rel="internal">Resolved Issues</a></li></ol> </div> </div> <div id="page-top"> <div id="topic"> <div id="pageText"> <div class="mt-contentreuse-widget" data-page="Media_Repository/campusM_Header_Form_2021" data-section="" data-show="false"> <div class="mt-include" id="s88588"> <div class="BodyText" style="line-height: 50%;"><span class="ScreenElement">Search for what you need</span></div> <div class="BodyText" style="height: 90px; line-height: 90px; background-color: #EFEFEF; border: 1px solid #DDDDDD; border-radius: 5px; margin: 0px; padding: 0px;"> <div class="BodyText" style="height: 15px; line-height: 15px; text-align: center; margin: 0px; padding: 0px;"></div> <div class="BodyText" style="height: 30px; line-height: 30px; text-align: center; margin: 0px; padding: 0px;"> <span style="white-space:nowrap;">Search: <input id="rnCatList" type="hidden" value="All"></input><input id="rnSearchList" onkeyup="filterRN()" placeholder="Minimum 3 chars. Search by text, SF case #, ..." style="vertical-align: bottom; border-radius: 4px 4px 4px 4px; background-image: url('https://knowledge.exlibrisgroup.com/@api/deki/files/61024/magnifying-glass-gray.png?revision=1'); background-repeat: no-repeat; background-position: 373px; height:30px; line-height:30px; width:400px" type="text"></input> Release: <select id="rnMonthList" onchange="filterRN()" style="vertical-align: bottom; height:30px; line-height:30px; width:200px" title="Select a release to display only relevant features."> <option value="All">All</option> <optgroup label="December"> <option value="202112BASE" selected="selected">December 2021 - General Release</option> </optgroup> <optgroup label="November"> <option value="202111BASE">November 2021 - General Release</option> </optgroup> <optgroup label="October"> <option value="202110BASE">October 2021 - General Release</option> </optgroup> <optgroup label="September"> <option value="202109BASE">September 2021 - General Release</option> </optgroup> <optgroup label="August"> <option value="202108BASE">August 2021 - General Release</option> </optgroup> <optgroup label="July"> <option value="202107BASE">July 2021 - General Release</option> </optgroup> <optgroup label="June"> <option value="202106BASE">June 2021 - General Release</option> </optgroup> <optgroup label="May"> <option value="202105BASE">May 2021 - General Release</option> </optgroup> <optgroup label="April"> <option value="202104BASE">April 2021 - General Release</option> </optgroup> <optgroup label="March"> <option value="202103BASE">March 2021 - General Release</option> </optgroup> <optgroup label="February"> <option value="202102BASE">February 2021 - General Release</option> </optgroup> <optgroup label="January"> <option value="202101BASE">January 2021 - General Release</option> </optgroup> </select></span> </div> <div class="BodyText" style="height: 15px; line-height: 15px; text-align: center; margin: 0px; padding: 0px;"></div> <div class="BodyText" style="background-color: #DDDDDD; height: 30px; line-height: 30px; border: 1px solid #DDDDDD; margin: 0px; padding: 0px;"> Showing results for: <a href="#Developments" rel="internal">Developments</a>: <span style="background-color:honeydew;" id="rn_highlighted_count"></span> | <a href="#Resolved_Issues" rel="internal">Resolved Issues</a>: <span style="background-color:honeydew;" id="rn_issues_count"></span> </div> </div> <div class="BodyText" style="line-height: 50%;"></div> </div> </div> <div class="mt-contentreuse-widget" data-page="Media_Repository/RN_Header_Script" data-section="" data-show=""> <div class="mt-include" id="s59333"><p><script>/*<![CDATA[*/ if (document.getElementById("mt-toc-container")) { document.getElementById("mt-toc-container").style.display="none"; } var AlmaRNURMTags = document.getElementsByClassName("AlmaRNURMTag"); var rnsubs = document.getElementsByClassName("rnsub"); var rnsublis = document.getElementsByClassName("rnsubli"); var rnissues = document.getElementsByClassName("rnissue"); var makethemosts = document.getElementsByClassName("makethemost"); var stripper = new RegExp('<span class="rnSearchMatch">([^<]*)</span>', 'gi'); var matchedSubsTotal = 0; var matchedSublisTotal = 0; var matchedIssuesTotal = 0; // Event listeners for rnSearchList var sli = document.getElementById("rnSearchListImage"); if (sli) { sli.addEventListener("click", function(e){ filterRN(); }); sli.addEventListener("mouseover", function(e){ sli.src = "https://knowledge.exlibrisgroup.com/@api/deki/files/66625/magnifying-glass-grayer.png?revision=1"; }); sli.addEventListener("mouseout", function(e){ sli.src = "https://knowledge.exlibrisgroup.com/@api/deki/files/61024/magnifying-glass-gray.png?revision=1"; }); } var sl = document.getElementById("rnSearchList"); if (sl) { sl.addEventListener("keydown", function(e){ if (e.key == 'Enter') { filterRN(); } }); } // Wrap matching non-hidden text function wrapText(node, str, cls) { if (str.length < 3) { return true; } var match = false; var matcher = RegExp('(' + str + ')', "gi"); var tempDiv = document.createElement("DIV"); var cn = node.firstChild; while (cn) { var nn = cn.nextSibling; if (cn.nodeType == 1 && cn.style.display != "none") { if (wrapText(cn, str, cls)) { match = true; } } else if (cn.nodeType == 3 && matcher.test(cn.textContent)) { // debugger; match = true; tempDiv.innerHTML = cn.textContent.replace(matcher, '<span class="' + cls + '">$1</span>'); while (tempDiv.childNodes.length > 0) { node.insertBefore(tempDiv.firstChild, cn); } node.removeChild(cn); } cn = nn; } return match; } function filterRN() { var searchStr = document.getElementById("rnSearchList").value.trim(); var matchedSubsCount = 0; var matchedSublisCount = 0; var matchedIssuesCount = 0; matchedSubsTotal = 0; matchedSublisTotal = 0; matchedIssuesTotal = 0; // Check URM-, PRM-, CDI-, NGS-, CAM- tags var urmmatch = new RegExp(/URM-|PRM-|CDI-|NGS-|CAM-/, "gi"); if (urmmatch.test(searchStr)) { for (var i=0;i<AlmaRNURMTags.length;i++) { AlmaRNURMTags[i].style.display="inline"; } } else { for (var i=0;i<AlmaRNURMTags.length;i++) { AlmaRNURMTags[i].style.display="none"; } } var mon = document.getElementById("rnMonthList").value; var cat = document.getElementById("rnCatList").value; var stateObj = { mon: mon, }; history.replaceState(stateObj, "Release Notes", "?mon=" + mon); // If mon and cat not selected, hide by search string and hide all makethemost if (mon == "All" && cat == "All") { matchedSubsTotal = rnsubs.length; matchedSublisTotal = rnsublis.length; matchedIssuesTotal = rnissues.length; for (var i=0;i<rnsubs.length;i++) { var elem = rnsubs[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (wrapText(elem,searchStr,'rnSearchMatch')) { matchedSubsCount++; elem.style.display="block"; } else { elem.style.display="none"; } } for (var i=0;i<rnsublis.length;i++) { var elem = rnsublis[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (wrapText(elem,searchStr,'rnSearchMatch')) { matchedSublisCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<rnissues.length;i++) { var elem = rnissues[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (wrapText(elem,searchStr,'rnSearchMatch')) { matchedIssuesCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<makethemosts.length;i++) { makethemosts[i].style.display="none"; } // If cat is selected, hide non-matching elements and by search string, and hide all makethemost } else if (mon == "All") { matchedSubsTotal = rnsubs.length; matchedSublisTotal = rnsublis.length; matchedIssuesTotal = rnissues.length; for (var i=0;i<rnsubs.length;i++) { var elem = rnsubs[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.classList.contains(cat) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedSubsCount++; elem.style.display="block"; } else { elem.style.display="none"; } } for (var i=0;i<rnsublis.length;i++) { var elem = rnsublis[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.classList.contains(cat) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedSublisCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<rnissues.length;i++) { var elem = rnissues[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.classList.contains(cat) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedIssuesCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<makethemosts.length;i++) { makethemosts[i].style.display="none"; } // If mon is selected, hide non-matching elements and by search string, and non-matching makethemost if there is a search string } else if (cat == "All") { for (var i=0;i<rnsubs.length;i++) { var elem = rnsubs[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.className.includes(mon)) { matchedSubsTotal++; } if (elem.className.includes(mon) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedSubsCount++; elem.style.display="block"; } else { elem.style.display="none"; } } for (var i=0;i<rnsublis.length;i++) { var elem = rnsublis[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.className.includes(mon)) { matchedSublisTotal++; } if (elem.className.includes(mon) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedSublisCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<rnissues.length;i++) { var elem = rnissues[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.className.includes(mon)) { matchedIssuesTotal++; } if (elem.className.includes(mon) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedIssuesCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } if (searchStr.length > 2) { for (var i=0;i<makethemosts.length;i++) { makethemosts[i].style.display="none"; } } else { for (var i=0;i<makethemosts.length;i++) { if (makethemosts[i].classList.contains(mon)) { makethemosts[i].style.display="block"; } else { makethemosts[i].style.display="none"; } } } // If mon and cat are selected, hide non-matching elements and by search string, and hide all makethemost } else { for (var i=0;i<rnsubs.length;i++) { var elem = rnsubs[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.className.includes(mon)) { matchedSubsTotal++; } if (elem.className.includes(mon) && elem.classList.contains(cat) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedSubsCount++; elem.style.display="block"; } else { elem.style.display="none"; } } for (var i=0;i<rnsublis.length;i++) { var elem = rnsublis[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.className.includes(mon)) { matchedSublisTotal++; } if (elem.className.includes(mon) && elem.classList.contains(cat) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedSublisCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<rnissues.length;i++) { var elem = rnissues[i]; elem.innerHTML = elem.innerHTML.replace(stripper,'$1'); elem.normalize; if (elem.className.includes(mon)) { matchedIssuesTotal++; } if (elem.className.includes(mon) && elem.classList.contains(cat) && wrapText(elem,searchStr,'rnSearchMatch')) { matchedIssuesCount++; elem.style.display="list-item"; } else { elem.style.display="none"; } } for (var i=0;i<makethemosts.length;i++) { makethemosts[i].style.display="none"; } } // Display a message if all elements in area are hidden // ... highlighted var rn_no_highlighted = document.getElementById("rn_no_highlighted"); if (rn_no_highlighted) { if (matchedSubsCount > 0) { rn_no_highlighted.style.display="none"; } else { rn_no_highlighted.style.display="block"; } document.getElementById('rn_highlighted_count').innerHTML=matchedSubsCount + ' / ' + matchedSubsTotal; } // ... additional var rn_no_additional = document.getElementById("rn_no_additional"); if (rn_no_additional) { if (matchedSublisCount > 0) { rn_no_additional.style.display="none"; } else { rn_no_additional.style.display="block"; } document.getElementById('rn_additional_count').innerHTML=matchedSublisCount + ' / ' + matchedSublisTotal; } // ... resolved issues var rn_no_issues = document.getElementById("rn_no_issues"); if (rn_no_issues) { if (matchedIssuesCount > 0) { rn_no_issues.style.display="none"; } else { rn_no_issues.style.display="block"; } document.getElementById('rn_issues_count').innerHTML=matchedIssuesCount + ' / ' + matchedIssuesTotal; } } /*]]>*/</script></p> </div> </div> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section" id="section_1"><span id="Developments"></span><h2 class="editable">Developments</h2> <div class="BodyText" id="rn_no_highlighted" style="display: none;">No developments match your criteria.</div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="User_Management_Enhancements"></span><h3 class="editable">User Management Enhancements</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p><strong>User Roles</strong> was moved from <span class="AlmaMainMenu">App Settings > App Settings to App Settings > User Management</span>. In addition, the new <span class="ScreenElement">Registered Users</span> and <span class="ScreenElement">Force Login </span>options were added under User Management.</p> <div class="ImageBorder style-wrap"> <p><img alt="User Management .png" class="internal default" style="width: 575px; height: 137px;" width="575px" height="137px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107211/User_Management_.png?revision=1&size=bestfit&width=575&height=137" /></p> </div> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Registered_Users"></span><h4 class="editable">Registered Users</h4> <p>We added the ability to view, search, and filter by date range for groups or specific app users to view the date and time they registered in the app. The interface also enables you to download a CSV file with the data for external use.</p> <div class="ImageBorder style-wrap"> <p><img alt="App Manager Registered Users.png" class="internal default" style="width: 726px; height: 265px;" width="726px" height="265px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107212/App_Manager_Registered_Users.png?revision=1&size=bestfit&width=726&height=265" /></p> </div> </div><div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Force_Login"></span><h4 class="editable">Force Login</h4> <p>We added the ability to force a user or group of users to reauthenticate their credentials each time they log in to the app. You can apply this feature to all users, users with specific roles, or specific user email addresses.</p> <div class="Note">When selecting Email Addresses, separate multiple email addresses with commas.</div> <div class="ImageBorder style-wrap"> <p><img alt="App Manager App Settings.png" class="internal default" style="width: 822px; height: 104px;" width="822px" height="104px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107213/App_Manager_App_Settings.png?revision=1&size=bestfit&width=822&height=104" /></p> </div> </div></div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="campusM_URL_Scheme_Enhancements"></span><h3 class="editable">campusM URL Scheme Enhancements</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>By customer request, we added the ability to link directly to the Search and Feedback areas of the app using the following campusM URLs:</p> <ul> <li>campusm://search – loads the home page and opens the search tab to allow you to perform a search</li> <li>campusm://feedback – grants the ability to leave feedback without selecting the <strong>Send Feedback</strong> option from the Settings menu</li> </ul> <p>These URLs can be used on the home page as well as in content pages and in notifications to encourage user interaction with these sections of your app.</p> <p>For further information on the campusM URL Scheme, see <a class="link-https" target="_blank" title="Working with App URLs" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Appendixes/B_Working_with_App_URLs#Linking_to_a_Service_or_Area_in_the_campusM_App" rel="internal">Working with App URLs</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Leganto_Product_Integration"></span><h3 class="editable">Leganto Product Integration</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added a new product integration that enables users to benefit from having Leganto built into campusM. This configurable product integration provides users with a seamless experience of their Leganto reading list and collections through campusM.</p> <div class="ImageBorder style-wrap"> <p><img alt="Product Integration.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107214/Product_Integration.png?revision=1" /></p> </div> <p>For further information on Leganto product integrations, see <a target="_blank" title="Leganto" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Leganto" rel="internal">Leganto</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Generic_Live_Tile"></span><h3 class="editable">Generic Live Tile</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added the ability to deploy a Generic Live Tile that enables customers to display a configurable tile displaying labels and live counters driven by a defined Restful API. Using the product integration configuration, administrators can define what numerical data displays from the Restful service, along with the icons and labels. Use this feature to create your own live tiles from API data sources without the need for coding.</p> <p>For further information on the Generic Live Tile product integration, see <a target="_blank" title="Generic Live Tile" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Generic_Live_Tile" rel="internal">Generic Live Tile</a>.</p> <div class="ImageBorder style-wrap"> <table class="mt-responsive-table"> <tbody> <tr> <td class="mt-noheading">Badge View</td> <td class="mt-noheading"> <p>List View (1 width x 1 height with just one item configured in the list)</p> </td> </tr> <tr> <td class="mt-noheading"><img alt="Campus Alerts.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107215/Campus_Alerts.png?revision=1" /></td> <td class="mt-noheading"><img alt="Dining Dollars.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107216/Dining_Dollars.png?revision=1" /></td> </tr> <tr> <td class="mt-noheading">List View (1 width x 1 height with more than one item configured in the list)</td> <td class="mt-noheading">List View (2 width x 1 height with more than one item configured in the list)</td> </tr> <tr> <td class="mt-noheading"><img alt="List View.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107217/List_View.png?revision=1" /></td> <td class="mt-noheading"><img alt="List View Wide.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107218/List_View_Wide.png?revision=1" /></td> </tr> </tbody> </table> </div> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Gmail_Product_Integration_Live_Tile"></span><h3 class="editable">Gmail Product Integration Live Tile</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added a new product integration for Gmail. The product integration provides a Live Tile with a dynamic badge that displays the number of unread emails in your inbox. Selecting the tile opens your Gmail inbox.</p> <div class="ImageBorder style-wrap"> <p><img alt="Gmail.png" class="internal default" style="width: 221px; height: 218px;" width="221px" height="218px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107219/Gmail.png?revision=1&size=bestfit&width=221&height=218" /></p> </div> <p>A future release will contain a fully-fledged email client as part of this product integration (similar to the Outlook365 product integration).</p> <p>For further information, see <a target="_blank" title="Email" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Email" rel="internal">Email</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_Remove_Mandatory_Requirement_for_a_Unique_ID_Field_for_RSS_Vendor"></span><h3 class="editable">Events Product Integration – Remove Mandatory Requirement for a Unique ID Field for RSS Vendor</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We removed the mandatory requirement to provide a unique identifier for each event when using an RSS feed as the vendor for the data. campusM now creates a unique internal reference to manage the integration, though customers can still add their own ID if desired. We also now allow usage of the <strong>/</strong> character in the customer identifier.</p> <p>For further information on the Events product integration, see <a target="_blank" title="Events" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Events" rel="internal">Events</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Canvas_Product_Integration_.E2.80.93_Configure_Enrollment_Type"></span><h3 class="editable">Canvas Product Integration – Configure Enrollment Type</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added the ability to define the enrollment type as part of the Canvas product integration. The following enrollment types are available:</p> <ul> <li>Student</li> <li>Teacher</li> <li>Teaching Assistant</li> <li>Observer</li> <li>Designer</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="" class="internal default" src="/" /><img alt="Live Tile.png" class="internal default" style="width: 538px; height: 428px;" width="538px" height="428px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107220/Live_Tile.png?revision=1&size=bestfit&width=538&height=428" /></p> </div> <p>This selection defines the courses visible for each user based on their enrollments in Canvas. You can create additional instances of the Canvas product integration for each of the enrollment types.</p> <p>For further information on the Canvas product integration, see <a target="_blank" title="Canvas" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Canvas" rel="internal">Canvas</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Product_Integrations_.E2.80.93_Custom_Live_Tile_Icons_for_Canvas_and_D2L"></span><h3 class="editable">LMS/VLE Product Integrations – Custom Live Tile Icons for Canvas and D2L</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added the ability to upload custom icons to be used for elements within the Live Tile for Canvas and D2L. Image URLs can be added to the product integration configuration. To add custom images, administrators must first select <strong>Use Custom Icons</strong> in the Live Tile configuration. If <strong>Use Custom Icons</strong> is not selected, the default icon appears.</p> <div class="ImageBorder style-wrap"> <p><img alt="" class="internal default" src="/" /><img alt="Icons.png" class="internal default" style="width: 787px; height: 539px;" width="787px" height="539px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107221/Icons.png?revision=1&size=bestfit&width=787&height=539" /></p> </div> <p>For further information on the LMS/ VLE product integrations, see<a target="_blank" title="LMS/VLE" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE" rel="internal"> LMS/VLE</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Product_Integration_.E2.80.93_Live_Tile_Icons_for_Blackboard"></span><h3 class="editable">LMS/VLE Product Integration – Live Tile Icons for Blackboard</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added a Live Tile for the Blackboard product integration that provides dynamic information and prompts the user to take action regarding the user's Blackboard courses. Within the product integration configuration, you can select the Announcements, Courses, Assignments, Grades, and Events elements to have them displayed as well as define their order and labels.</p> <div class="ImageBorder style-wrap"> <p><img alt="Blackboard" class="internal default" style="width: 421px; height: 278px;" width="421px" height="278px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107222/Blackboard.png?revision=1&size=bestfit&width=421&height=278" /></p> </div> <p>For further information on the Blackboard product integration, see<a target="_blank" title="Blackboard" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Blackboard" rel="internal"> Blackboard</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="ID_Card_Product_Integration_.E2.80.93_Enlarged_User_Image_and_Dynamic_Date.2FTime_Field"></span><h3 class="editable">ID Card Product Integration – Enlarged User Image and Dynamic Date/Time Field</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added the following enhancements to improve the ID Card usability and security:</p> <ul> <li>We enabled users to enlarge the image on the card. This is useful in socially distanced environments when displaying your ID to security. You can select the enlarge button to scale the image and improve visibility.</li> <li>We added the ability to display the current date and time, including seconds to provide a dynamic element to the ID card and prevent using a screenshot. When enabled, security staff can confirm the validity of the ID Card by referring to the date and time.</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="ID Card" class="internal default" style="width: 473px; height: 442px;" width="473px" height="442px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107223/ID_Card.png?revision=1&size=bestfit&width=473&height=442" /></p> </div> <p>For further information on the ID Card product integration, see <a target="_blank" title="ID Card" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/ID_Card" rel="internal">ID Card</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Timetable_Product_Integration_.E2.80.93_Banner_.E2.80.93_Enhanced_Location_Display_Configuration"></span><h3 class="editable">Timetable Product Integration – Banner – Enhanced Location Display Configuration</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We enhanced the Timetable product integration for Banner to enable configuration of location information for events. Customers can configure whether to display the Location, Campus, and Room Description for the events.</p> <div class="ImageBorder style-wrap"> <p><img alt="General" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107224/General.png?revision=2" /></p> </div> <p>For further information on the Timetable product integrations, see <a target="_blank" title="Timetable" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Timetable" rel="internal">Timetable</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Library_Product_Integration_.E2.80.93_Configurable_Icon_for_Fines_and_Fees"></span><h3 class="editable">Library Product Integration – Configurable Icon for Fines and Fees</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>You can now add custom icons for Fines and Fees found on the landing page and in the Library Card, reflecting the symbol of the local currency.</p> <div class="ImageBorder style-wrap"> <p><img alt="Library Product Integration" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107225/Library_Product_Integration.png?revision=1" /></p> </div> <p>For further information on the Library product integration, see <a target="_blank" title="Library" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library" rel="internal">Library</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Directory_Search_Product_Integration_.E2.80.93_Enhanced_User_Experience"></span><h3 class="editable">Directory Search Product Integration – Enhanced User Experience</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We made the following enhancements to the Directory Search product integration:</p> <ul> <li>If a search term provides more results than can be displayed on one page, clicking <strong>Show More</strong> adds the results to the bottom of the existing page rather than replacing the current list.</li> <li>The Directory entries now support displaying special characters within the returned data field.</li> </ul> <p>For further information on the Directory Search product integrations, see<a target="_blank" title="campusM/Product_Documentation/Product_Integrations/Directory_Search" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Directory_Search" rel="internal"> Directory Search</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Holds_Product_Integration_.E2.80.93_Live_Tile_Displays_Number_of_Holds"></span><h3 class="editable">Holds Product Integration – Live Tile Displays Number of Holds</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added the ability to enable a Live Tile for the Holds product integration that displays a live badge showing the count of hold rows returned for the end-user. This prompts the user to take action on the homepage.</p> <div class="ImageBorder style-wrap"> <p><img alt="Holds" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107226/Holds.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Holds_Product_Integration_.E2.80.93_BannerXE_-_Additional_Configurable_Fields_Added_for_Each_Hold"></span><h3 class="editable">Holds Product Integration – BannerXE - Additional Configurable Fields Added for Each Hold</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>We added the ability to provide additional data fields against each hold listing, using code/label pairs from the product integration configuration. This enables customers to define their own fields to display based on field keys returned from the service.</p> <div class="ImageBorder style-wrap"> <p><img alt="Holds Page" class="internal default" style="width: 387px; height: 482px;" width="387px" height="482px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107227/Holds_Page.png?revision=1&size=bestfit&width=387&height=482" /></p> </div> <p>For further information on the Holds product integrations, see <a target="_blank" title="Holds" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Holds" rel="internal">Holds</a>.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integrations_.E2.80.93_General_Resiliency"></span><h3 class="editable">Product Integrations – General Resiliency</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>After receiving reports that optional/unexpected data fields were causing product integrations to fail, we improved our handling to enhance resiliency for optional/unexpected data items being returned by services generally across our integrations range.</p> </div></div> <div class="rnsub 202101BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Migration_of_Attendance_Transaction_Product_Integration_to_Attendance_Configuration"></span><h3 class="editable">Migration of Attendance Transaction Product Integration to Attendance Configuration</h3> <p><span class="AlmaRNTag">January 2021</span></p> <p>By customer request, we moved the Attendance Transaction view from product integrations to the Attendance configuration area, bringing attendance deployment/configuration and transaction viewer configuration into one area of App Manager.</p> <div class="ImageBorder style-wrap"> <p><img alt="Attendance.png" class="internal default" style="width: 986px; height: 152px;" width="986px" height="152px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107228/Attendance.png?revision=2&size=bestfit&width=986&height=152" /></p> </div> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Timetable_Code_Restructure_(Requires_iOS_and_Android_Release)"></span><h3 class="editable">Timetable Code Restructure (Requires iOS and Android Release)</h3> <p><span class="AlmaRNTag">February 2021</span></p> <p>We have restructured the Calendar/Timetable code to improve both performance and resilience, as well as providing consistent behavior across all platforms.</p> <p>The restructuring includes the following benefits:</p> <ul> <li>Reduced number of service calls to retrieve timetable data</li> <li>Enhanced handling of cached timetable data and refresh mechanisms</li> <li>Improved handling of week/month transitions</li> <li>Consistency across platforms – includes bringing Blended Calendar to the Web App</li> </ul> <div class="Important style-wrap"> <p>Due to the nature of this code restructure, we can only enable the new enhanced behavior for native apps with the February 2021 release and onwards. Therefore, as part of a customer’s next release of the native app (iOS and Android) from February 2021, we will implement a mechanism to force end-users to update their apps from the app store to get the latest version. This will ensure alignment with the new timetable mechanisms.</p> </div> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Web_App_Blended_Calendar_View"></span><h3 class="editable">Web App Blended Calendar View</h3> <p><span class="AlmaRNTag">February 2021</span></p> <p>As part of the Timetable restructuring enhancement, we are aligning the Calendar/Timetable across all the platforms, which means we are bringing Blended Calendar to the Web App.</p> <p>This Blended Calendar view provides a single, color-coded view of multiple calendar feeds on one screen, providing students with a holistic view of their scheduled events.</p> <p>We have retained the ability for Web App users to access either a monthly or weekly view of their calendar. Each event has a defined color identifying the source calendar from where the event is fed. Update this view using the refresh icon in the bottom left-hand corner of the screen. The time when the screen was updated also appears here. Selecting an event directs the user to the Event Detail screen.</p> <div class="ImageBorder style-wrap"> <p><img alt="blendedTimetableWeb1.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106574/blendedTimetableWeb1.png?revision=1" /></p> </div> <p>Click <strong>Calendar</strong> to view the available Calendar feeds (and the color coding associated with each feed) and select which events to display in their blended view. This view also provides details about when each Calendar view has been updated.</p> <div class="ImageBorder style-wrap"> <p><img alt="blendedTimetableWeb2.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106575/blendedTimetableWeb2.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Quick_Polls_.E2.80.93_Enhanced_Visual_Cue_Regarding_Multiple_or_Single-Selection_Responses"></span><h3 class="editable">Quick Polls – Enhanced Visual Cue Regarding Multiple or Single-Selection Responses</h3> <p><span class="AlmaRNTag">February 2021</span></p> <p>We improved the visual cues to make a clear distinction between a single selection (using radio buttons) and a multi-selection (using checkboxes) multiple-choice question type.</p> <div class="ImageBorder style-wrap"> <p><img alt="QuickPolls.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106576/QuickPolls.png?revision=1" /></p> </div> <p>For further information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/campusM_Quick_Polls" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/campusM_Quick_Polls" rel="internal">Quick Polls</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Creating_App_Roles_API"></span><h3 class="editable">Creating App Roles API</h3> <p><span class="AlmaRNTag">February 2021</span></p> <p>Following last month's ability to add App Roles to end-users using the addRole API, we have now added the ability to create or remove App Roles programmatically using the createAppRole API.</p> <p>For further information on how to use this API, see <a target="_blank" title="https://developers.exlibrisgroup.com/campusm/apis/" href="https://developers.exlibrisgroup.com/campusm/apis/" rel="external noopener nofollow" class="link-https">App Roles API</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Enhancements"></span><h3 class="editable">Product Integration Enhancements</h3> <p><span class="AlmaRNTag">February 2021</span></p> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Leganto_Product_Integration_.E2.80.93_Configurable_Live_Tile"></span><h4 class="editable">Leganto Product Integration – Configurable Live Tile</h4> <p>Following the initial release of the Leganto Product Integration in the January 2021 release, we added a configurable Live Tile to the integration, providing a range of data elements to display on the app home screen, including:</p> <ul> <li>number of lists</li> <li>unread notifications</li> <li>due dates</li> </ul> <p>As with other product integration Live Tiles, you can configure the labels and order of the element on the tile, as well as the tile size in App builder.</p> <div class="ImageBorder style-wrap"> <p><img alt="Leganto Live Tile.jpg" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106577/Leganto_Live_Tile.jpg?revision=1" /></p> </div> <p>For further information on configurable live tiles, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Product_Integrations/Leganto" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Leganto" rel="internal">Leganto</a>.</p> </div></div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="ID_Card_Product_Integration_.E2.80.93_Enlarged_Dynamic_Date.2FTime_Display"></span><h4 class="editable">ID Card Product Integration – Enlarged Dynamic Date/Time Display</h4> <p><span class="AlmaRNTag">February 2021</span></p> <p>We enlarged and increased the prominence of the dynamic date/time field shown on the ID card to improve visibility when validating a user’s credentials.</p> <div class="ImageBorder style-wrap"> <p><img alt="IDCard.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106578/IDCard.png?revision=1" /></p> </div> <p>For further information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Product_Integrations/ID_Card" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/ID_Card" rel="internal">ID Card</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Contact_Tracing_Product_Integration_.E2.80.93_Manual_Code_Entry_and_Improved_Feedback_when_Removing_a_Transaction"></span><h4 class="editable">Contact Tracing Product Integration – Manual Code Entry and Improved Feedback when Removing a Transaction</h4> <p><span class="AlmaRNTag">February 2021</span></p> <p>We added the ability for a student to enter a manual location code rather than scanning a QR code. This is specifically targeted at students using the Web App for devices without working cameras. This can be selectively enabled within the product integration configuration screen. We also added clear notifications when canceling scanned/entered locations:</p> <div class="ImageBorder style-wrap"> <p><img alt="ContactTracing.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106579/ContactTracing.png?revision=1" /></p> </div> <p>For further information on the Contact Tracing product integration, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Product_Integrations/Contact_Tracing" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Contact_Tracing" rel="internal">Contact Tracing</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_Disable_Date_as_a_Filter_(SF:_00897476)"></span><h4 class="editable">Events Product Integration – Disable Date as a Filter (SF: 00897476)</h4> <p><span class="AlmaRNTag">February 2021</span></p> <p>We added the ability to enable or disable Dates as a filter for events' lists. This is useful if you have many single date events. Disable the Initial Date Filter to make these events easier to navigate.</p> <div class="ImageBorder style-wrap"> <p><img alt="GeneralSettings.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106580/GeneralSettings.png?revision=1" /></p> </div> <p>For further information on the Events product integration, see <a target="_blank" title="Events" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Events" rel="internal">Events</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Blackboard_LMS.2FVLE_Product_Integration_.E2.80.93_Deep_Linking_from_the_Live_Tile_to_the_Relevant_Integration_Page"></span><h4 class="editable">Blackboard LMS/VLE Product Integration – Deep Linking from the Live Tile to the Relevant Integration Page</h4> <p><span class="AlmaRNTag">February 2021</span></p> <p>We have enhanced the action of the Blackboard Live Tile to enable deep linking into the relevant area of the product integration pages when clicking an icon on a tile. For example, if you click <strong>Courses</strong> on the Live Tile, you are directed to the <strong>Courses</strong> page.</p> <p>For further information on the Blackboard product integration, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Product_Integrations/LMS%2F%2FVLE/Blackboard" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Blackboard" rel="internal">Blackboard</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Checklists_and_Favorites"></span><h4 class="editable">List Product Integration – Checklists and Favorites</h4> <p><span class="AlmaRNTag">February 2021</span></p> <p>We added the ability to configure Lists as Checklists, providing end-users with the ability to mark items as complete. These checked items can be configured to be stored on the local device (and potentially lost when the users log out or changes devices) or stored in the Ex Libris cloud where they can be retrieved and synced on any device. Enabling this also saves a user's favorites to the cloud so that they are available going forward.</p> <div class="ImageBorder style-wrap"> <p><img alt="ToDoListCheckboxes.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106581/ToDoListCheckboxes.png?revision=1" /></p> </div> <p>For further information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Product_Integrations/List" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" rel="internal">List</a>.</p> </div></div> <div class="rnsub 202102BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Live_Tile_Enhancements"></span><h4 class="editable">List Product Integration – Live Tile Enhancements</h4> <p><span class="AlmaRNTag">February 2021</span></p> <p>By customer request, we have added a number of interface enhancements to the List product integration Live Tile:</p> <ul> <li>Enabled the ability to control the text size using the App Builder Font Size (min), Font Size (max) properties</li> <li>Added padding to the left and right of the Live Tile</li> <li>Added the ability to add or remove dividers between the items under a category on the Live Tile</li> <li>Added the ability to configure the Category and URL link text color to a different value</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="ListLiveTile.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/106582/ListLiveTile.png?revision=1" /></p> </div> <p>For further information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Product_Integrations/List" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" rel="internal">List</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Managing_Key_Contract_Email_Address_in_App_Manager"></span><h3 class="editable">Managing Key Contract Email Address in App Manager</h3> <p><span class="AlmaRNTag">March 2021</span></p> <p>To ensure we maintain a key contact address for customers, we have added the ability to add and maintain an email address for ongoing communications from the campusM team to your key app contact. You can update this in App Manager, within the <span class="ScreenElement">App Settings</span> > <span class="ScreenElement">General settings</span>. We suggest that you add a contact list email address to this field to ensure we can maintain interactions.</p> <p><span class="ScreenElement"><img alt="ContactEmail.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108537/ContactEmail.png?revision=1" /></span></p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Populate_Notification_Group_Subscriptions_Using_CSV_File"></span><h3 class="editable">Populate Notification Group Subscriptions Using CSV File</h3> <p><span class="AlmaRNTag">March 2021</span></p> <p>We added the ability to upload a CSV file or email addresses to bulk populate Notification Groups. This removes the need to manually search and select users for subscriptions.</p> <p>Clicking <span class="ScreenElement">Upload File</span> displays the file upload selector, along with the ability to either add (appending the list of users to the existing Notification Group subscriptions) or Replace (replacing all existing Notification Group subscribers with the users in the file) for the group.</p> <p>Once the import is complete, you can download results for users who were added successfully and those that were not (either because they do not exist within the system or had an invalid email format).</p> <div class="ImageBorder style-wrap"> <p><img alt="NotificationSubsCSV.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108538/NotificationSubsCSV.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="View_Notification_History_for_API.2C_BCC.2C_and_Polls_Sent_Through_App_Manager_(SF:_00787742)"></span><h3 class="editable">View Notification History for API, BCC, and Polls Sent Through App Manager (SF: 00787742)</h3> <p><span class="AlmaRNTag">March 2021</span></p> <p>We added the ability to view the notification history from all of the available routes to send – App Manager, BCC, API, and Polls. We also include these notifications in the Overall totals for notifications sent and notification engagement statistics.</p> <div class="ImageBorder style-wrap"> <p><img alt="NotificationsHistorySelection.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108539/NotificationsHistorySelection.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Modifying_App_Manager_Login_Screen"></span><h3 class="editable">Modifying App Manager Login Screen</h3> <p><span class="AlmaRNTag">March 2021</span></p> <p>We made a minor UI enhancement to the login screen to enhance the look and feel on entry into App Manager.</p> <div class="ImageBorder style-wrap"> <p><img alt="AppManagerLogin.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108540/AppManagerLogin.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="CMAuth_Authentication_SAML_Token_Authentication_.E2.80.93_Self_Configuration"></span><h3 class="editable">CMAuth Authentication SAML Token Authentication – Self Configuration</h3> <p><span class="AlmaRNTag">March 2021</span></p> <p>We have enabled customers to configure SAML authentication using CMAuth for themselves, removing the need for campusM Professional Services involvement.</p> <p>For more information on how to configure Token-Based Authentication, see <a target="_blank" title="Managing Token Based Authentication" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Token_Based_Authentication" rel="internal">Managing Token Based Authentication</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Quick_Polls_.E2.80.93_Anonymous_Polls"></span><h3 class="editable">Quick Polls – Anonymous Polls</h3> <p><span class="AlmaRNTag">March 2021</span></p> <p>We have enabled the ability to undertake Anonymous Polls with your users. This can be enabled on a per Poll basis when creating a new Poll and the user's identity is not stored with the transaction.</p> <div class="ImageBorder style-wrap"> <p><img alt="PollsAnonymous.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108541/PollsAnonymous.png?revision=1" /></p> </div> <p>When retrieving the data from the getPollResults API, the personID and personEmail objects will be empty. You cannot query the API using an email address for an anonymous Poll.</p> <p>For more information on Quick Polls, see <a target="_blank" title="campusM Quick Polls" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/campusM_Quick_Polls" rel="internal">Quick Polls</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_Enhancements"></span><h3 class="editable">Product Integration Changes Enhancements</h3> <p><span class="AlmaRNTag">March 2021</span></p> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="ID_Card_Product_Integration_.E2.80.93_Data_Caching_Configuration"></span><h4 class="editable">ID Card Product Integration – Data Caching Configuration</h4> <p>By customer request, we added the ability to configure how long the ID card data is cached for on the user's device before fetching an update. Caching is enabled by default to reduce load on the configured API server; however, this configuration enables customers to define the time period before the data is considered stale.</p> <div class="ImageBorder style-wrap"> <p><img alt="IDCardCaching.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108542/IDCardCaching.png?revision=1" /></p> </div> <p>The configuration enables customers to specify caching duration (the Time to Live) before the data is refreshed.</p> <p>For more information on ID Card product integration, see <a target="_blank" title="ID Card" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/ID_Card" rel="internal">ID Card</a>.</p> </div></div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Enhanced_Live_Tile"></span><h4 class="editable">List Product Integration – Enhanced Live Tile</h4> <p><span class="AlmaRNTag">March 2021</span></p> <p>We added the ability to configure how list items are configured as URL links are displayed on the live tile. The configuration enables you to underline the links and to include or exclude a chevron at the end.</p> <div class="ImageBorder style-wrap"> <p><img alt="ListsLiveTileURL.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108544/ListsLiveTileURL.png?revision=1" /></p> </div> <p>For more information on List product integration, see <a target="_blank" title="List" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" rel="internal">List</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Enable_Searchable_Lists"></span><h4 class="editable">List Product Integration – Enable Searchable Lists</h4> <p><span class="AlmaRNTag">March 2021</span></p> <p>We added the ability to enable search within the list, enabling end-users to search for text and numbers within the listed items. The search queries the following fields: Category Title, Item Title, Item Description, and URL.</p> <div class="ImageBorder style-wrap"> <p><img alt="EnableSearchableLists.png" class="internal default" style="width: 930px; height: 460px;" width="930px" height="460px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108548/ListsSearch.png?revision=1&size=bestfit&width=930&height=460" /></p> </div> <p>For more information on List product integration, see <a target="_blank" title="List" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" rel="internal">List</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Library_Product_Integration_(Primo_and_PrimoVE)_.E2.80.93_Live_Tile_Enhancements"></span><h4 class="editable">Library Product Integration (Primo and PrimoVE) – Live Tile Enhancements</h4> <p><span class="AlmaRNTag">March 2021</span></p> <p>We aligned the configuration of our Library product integration Live Tile with that of our LMS/VLE Live tiles. This enables customers to configure the icons used and their ordering on the tile. This is all managed through the Product Integration Configuration screen.</p> <div class="ImageBorder style-wrap"> <p><img alt="PrimoLiveTile.png" class="internal default" style="width: 1007px; height: 677px;" width="1007px" height="677px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108545/PrimoLiveTile.png?revision=1&size=bestfit&width=1007&height=677" /></p> </div> <p>For customers who have already deployed the Library Product Integration Live Tile, the tile does not change until enabled within the product Integration screen. For customers with the legacy tile, the new form can be enabled by selecting the <span class="ScreenElement">Enable Latest Live Tile Design</span> in the <span class="ScreenElement">Design</span> dropdown in the Live Tile section and save to make this available to end-users.</p> <div class="ImageBorder style-wrap"> <p><img alt="PrimoLegacy.png" class="internal default" style="width: 753px; height: 232px;" width="753px" height="232px" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108547/PrimoLegacy.png?revision=1&size=bestfit&width=753&height=232" /></p> </div> <p>For more information on Library product integration, see <a target="_blank" title="Library" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library" rel="internal">Library</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Contact_Tracing_Product_Integration_.E2.80.93_Visual_Indicator_for_Scanned_and_Manual_Entries_and_Manual_Entry_Validation"></span><h4 class="editable">Contact Tracing Product Integration – Visual Indicator for Scanned and Manual Entries and Manual Entry Validation</h4> <p><span class="AlmaRNTag">March 2021</span></p> <p>We added improved visual cues to indicate when a contact tracing entry was made by scanning a QR code or by manually entering a code.</p> <div class="ImageBorder style-wrap"> <p><img alt="ContactTrace.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108549/ContactTrace.png?revision=1" /></p> </div> <p>We have also restricted the Manual Entry code to ONLY contain alphanumerical characters and the following special characters -./_"</p> <p>For more information on Contact Tracing product integration, see <a target="_blank" title="Contact Tracing" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Contact_Tracing" rel="internal">Contact Tracing</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Directory_Search_Product_Integration_.E2.80.93_Enabling_Multiple_Contact_Filters_(SF:_00878259)"></span><h4 class="editable">Directory Search Product Integration – Enabling Multiple Contact Filters (SF: 00878259)</h4> <p><span class="AlmaRNTag">March 2021</span></p> <p>By customer request, we enabled the ability to add a comma-delimited list to the filter codes and descriptions for the Directory Search product integration. This helps customers refine the experience.</p> <div class="ImageBorder style-wrap"> <p><img alt="DirctorySearchFilter.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/108550/DirctorySearchFilter.png?revision=1" /></p> </div> <p>For more information on Directory Search product integration, see <a target="_blank" title="Directory Search" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Directory_Search" rel="internal">Directory Search</a>.</p> </div></div> <div class="rnsub 202103BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Product_Integration_for_Moodle_.E2.80.93_Configure_Assessment_Visibility_on_Live_Tile_(SF:_00859059)"></span><h4 class="editable">LMS/VLE Product Integration for Moodle – Configure Assessment Visibility on Live Tile (SF: 00859059)</h4> <p><span class="AlmaRNTag">March 2021</span></p> <p>We added the ability to suppress Assessments that do not have due dates configured from showing on the Moodle Live Tile. This can be enabled or disabled based on the customer’s preference within the product integration configuration.</p> <p>For more information on LMS/VLE product integration for Moodle, see <a target="_blank" title="Moodle" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Moodle" rel="internal">LMS/VLE – Moodle</a>.</p> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Student_Attendance_Dashboard_Widget"></span><h3 class="editable">Student Attendance Dashboard Widget</h3> <p><span class="AlmaRNTag">April 2021</span></p> <p>To enhance the visibility of attendance data to aid the student to understand their general levels of attendance and engagement in class, we added the ability to display a summary of the student’s check-in transactions at the top of their Check-in History. This optional component displays the current proportion of attendance in class, with a graphical breakdown of the check-in outcomes for the selected period.</p> <div class="ImageBorder style-wrap"> <p><img alt="AttendDashboard.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110920/AttendDashboard.png?revision=1" /></p> </div> <p>As part of this development, we have also increased the viewable Check-in History period from 2 weeks to 4 weeks, to provide improved longer-term visibility of attendance trends for the student and lecturers.</p> <p>For more information campusM Attendance, see <a target="_blank" title="Managing campusM Attendance" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_campusM_Attendance" rel="internal">Managing campusM Attendance</a>.</p> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="App_Center_Download_QR_Code_in_App_Manager"></span><h3 class="editable">App Center Download QR Code in App Manager</h3> <p><span class="AlmaRNTag">April 2021</span></p> <p>To improve ease of access to the App Center to download the Release Candidate, Sandbox, and Preview Apps, we have incorporated a QR code on your App Manager home screen that, when scanned, directs you to the appropriate areas of App Center to download the app.</p> <div class="Note style-wrap"> <p>There are separate QR codes for iOS and Android.</p> </div> <div class="ImageBorder style-wrap"> <p><img alt="AppCenterQR.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110921/AppCenterQR.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Copy_Asset_URL_to_Clipboard_from_Asset_Manager"></span><h3 class="editable">Copy Asset URL to Clipboard from Asset Manager</h3> <p><span class="AlmaRNTag">April 2021</span></p> <p>By customer request, we have added a button against assets within the Asset Manager to copy the full URL address to the clipboard for the selected asset. This helps to link and use the asset in features like Creative Studio or App Builder.</p> <div class="ImageBorder style-wrap"> <p><img alt="AssetURLCopy.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110922/AssetURLCopy.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Add_the_campusM_Logo_to_the_Favicon_for_App_Manager"></span><h3 class="editable">Add the campusM Logo to the Favicon for App Manager</h3> <p><span class="AlmaRNTag">April 2021</span></p> <p>We have added the campusM logo to the favicon for browsers, to assist with identifying the App Manager when multiple tabs are open.</p> <div class="ImageBorder style-wrap"> <p><img alt="AppManagerFavicon.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110923/AppManagerFavicon.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Ability_to_Disable_a_Menu_Option_from_the_Web_App"></span><h3 class="editable">Ability to Disable a Menu Option from the Web App</h3> <p><span class="AlmaRNTag">April 2021</span></p> <p>We added the ability to selectively disable Menu Options (tiles) exclusively for the Web App, rather than requiring the use of the Override property. This enables users to exclude menu options so that the value is no longer searchable and streamlines the option with existing options to disable Menu Options for iOS and Android.</p> <div class="ImageBorder style-wrap"> <p><img alt="WebDisable.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110924/WebDisable.png?revision=1" /></p> </div> <div class="Important style-wrap"> <p>From April 2021, we will no longer actively support Internet Explorer 11. This means that we will no longer use Internet Explorer as part of our QA suite and if a customer finds an issue in this legacy browser, we will advise customers to use Microsoft Edge or an alternative browser rather than correcting the product for use in Internet Explorer. This is in line with Microsoft's guidance and their migration to Edge as their supported browser. See <a href="https://urldefense.com/v3/__https:/docs.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge__;!!NkSChLMW7qAT!pSOtET-fLjCvYoAcg0c3cVuVqL1ncuTVLvRElYS0hxPWw6pTudHzw52yjMkx0f90Kd16mCpPZw$" target="_blank" rel="external noopener nofollow" class="link-https">Microsoft: Lifecycle FAQ - Internet Explorer and Edge</a></p> </div> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Contact_Tracing_Product_Integration_.E2.80.93_Enabling_Validation_on_Manual_Location_Code_Entry"></span><h3 class="editable">Contact Tracing Product Integration – Enabling Validation on Manual Location Code Entry</h3> <p><span class="AlmaRNTag">April 2021</span></p> <p>We added the ability to enable input validation on the Location Codes entered through the Contact Tracing Product Integration. When enabled, the user must enter a valid location code to complete the contact tracing check-in. The valid set of Location Codes can be entered manually into the product integration configuration.</p> <div class="ImageBorder style-wrap"> <p><img alt="ContactTracingLocCode.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110925/ContactTracingLocCode.png?revision=1" /></p> </div> <p>For more information on the Contact Tracing product integration, see <a target="_blank" title="Contact Tracing" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Contact_Tracing" rel="internal">Contact Tracing</a>.</p> </div></div> <div class="rnsub 202104BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_Saving_Event_Favorites_to_the_Ex_Libris_Cloud"></span><h4 class="editable">Events Product Integration – Saving Event Favorites to the Ex Libris Cloud</h4> <p><span class="AlmaRNTag">April 2021</span></p> <p>We added the ability to configure where your users' event favorites are saved – either locally on the users' device (which means they are lost if the user logs out or removed the app) or to the Ex Libris Cloud, where they are managed regardless of where the user added the event or logged out.</p> <p>To enable cloud storage, select ‘Database’ from the ‘Selection Storage’ drop down in the Vendor/Data Source configuration within the Events Product Integration.</p> <div class="ImageBorder style-wrap"> <p><img alt="EventsFavSaves.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/110926/EventsFavSaves.png?revision=1" /></p> </div> <p>For more information on the Events product integration, see <a target="_blank" title="Events" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Events" rel="internal">Events</a>.</p> </div></div> <div class="rnsub 202105BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Bulk_Import_and_Update_App_Roles_and_Customer_Roles_Using_a_Spreadsheet"></span><h3 class="editable">Bulk Import and Update App Roles and Customer Roles Using a Spreadsheet</h3> <p><span class="AlmaRNTag">May 2021</span></p> <p>To accelerate customer implementations generally and the deployment of RoleSync and the use of roles more specifically in campusM apps, we added the ability to upload an Excel spreadsheet with your Customer and/or App Roles through the App Manager.</p> <p>Customers can export an Excel template that contains all current Customer and App Roles, modify and append to the template, and import the template apply bulk changes.</p> <div class="ImageBorder style-wrap"> <p><img alt="Roles.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/113039/Roles.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202105BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Apply_App_Role_Changes_to_All_App_Users_Using_the_addAppRole_API"></span><h4 class="editable">Apply App Role Changes to All App Users Using the addAppRole API</h4> <p><span class="AlmaRNTag">May 2021</span></p> <p>We modified the addAppRole API to include an optional Boolean that, when true, applies the selected Role changes to all App Users. This removes the need to define individual users in the request.</p> <p>For example, when an App Role was applied as part of a Quick poll, use this API to remove these roles for the users.</p> <p>For more information, see <a target="_blank" title="https://developers.exlibrisgroup.com/campusm/apis/change-app-roles/" href="https://developers.exlibrisgroup.com/campusm/apis/change-app-roles/" rel="external noopener nofollow" class="link-https">addAppRole</a>.</p> </div></div> <div class="rnsub 202105BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Prompt_a_User_to_Initiate_a_Call_to_a_Defined_Telephone_Number_(Requires_iOS_and_Android_Release)_(SF:_00929669)"></span><h4 class="editable">Prompt a User to Initiate a Call to a Defined Telephone Number (Requires iOS and Android Release) (SF: 00929669)</h4> <p><span class="AlmaRNTag">May 2021</span></p> <p>We added the ability to define an ActionURL for a Menu Option (tile) that initiates a prompt to a user to make a call to a defined telephone number on a mobile device. Use this to speed up calls to support services or security services where a phone call is required. The ActionURL is taken from tel:<phone number="number">.</phone></p> <div class="ImageBorder style-wrap"> <p><img alt="PhoneCall.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/113040/PhoneCall.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202105BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Additional_Menu_Option_Types_Available_when_Adding_Menu_Options_to_Your_App"></span><h4 class="editable">Additional Menu Option Types Available when Adding Menu Options to Your App</h4> <p><span class="AlmaRNTag">May 2021</span></p> <p>To simplify deployment of Attendance and Calendar features to your apps, we added the ability to directly select these options when selecting a Menu Option Type to add to your homescreen in App Builder. Selecting the +Add in the Menu Option pane in app builder displays the Menu Option Type Selector.</p> <div class="ImageBorder style-wrap"> <p><img alt="MenuOptions.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/113041/MenuOptions.png?revision=1" /></p> </div> <p>We added the following Menu Option Types:</p> <ul> <li>Calendar Tile – Used to deploy a menu option (tile) that links to the campusM Calendar/Timetable function.</li> <li>Attendance Student Tile – Available from the Product Features Tiles and is used to deploy the student check-in attendance tile to your homescreen.</li> <li>Attendance Lecturer Tile – Available from the Product Features Tiles and is used to deploy the Lecturer check-in attendance tile to your homescreen.</li> <li>Attendance Transaction Viewer Tile – Available from the Product Features Tiles and is used to deploy the Transaction Viewer for attendance administrators.</li> </ul> </div></div> <div class="rnsub 202105BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="New_Responsive_Live_Tile_Widget_for_Blackboard.2C_Canvas.2C_D2L.2C_Leganto.2C_Primo.2C_and_Primo_VE_Product_Integrations"></span><h4 class="editable">New Responsive Live Tile Widget for Blackboard, Canvas, D2L, Leganto, Primo, and Primo VE Product Integrations</h4> <p><span class="AlmaRNTag">May 2021</span></p> <p>To improve how the Product Integrating Live Tiles are displayed at various tiles dimensions and screen sizes, we created a new Live Tile Widget used to deliver the tiles for Blackboard, Canvas, D2L, Leganto, Primo, and Primo VE if enabled. While the functionality offered is largely the same, migration to the new widget will enhance performance and provide a better response to tile dimensions.</p> <p>Customers may note some minor user experience changes, with subtle differences in font sizes and icon sizes because of this enhancement.</p> <p>For more information on configuring live tiles, see <a target="_blank" title="campusM/Product_Documentation/Managing_Product_Integrations" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations" rel="internal">Product Integrations</a>.</p> </div></div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Quick_Polls_.E2.80.93_Extract_Quick_Poll_Results_Through_App_Manager_as_CSV_File"></span><h3 class="editable">Quick Polls – Extract Quick Poll Results Through App Manager as CSV File</h3> <p><span class="AlmaRNTag">June 2021</span></p> <p>We added the ability to extract the results for individual responses through App Manager as a CSV file that can then be manipulated in external reporting tools such as Excel.</p> <p>The export process can be triggered within the ‘View Results’ screen for a specific Quick Poll. Within this screen, we have added the ‘Export Poll Results’ button that displays the Export popup where you can define filtering parameters for the export. You can define a date range for the results (using the date selection wizard available on selection) or filter by defining a single email address for the user of interest. If you leave these optional parameters blank, all results are extracted.</p> <div class="ImageBorder style-wrap"> <p><img alt="Quick_Poll_changes.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114173/Quick_Poll_changes.png?revision=1" /></p> </div> <p>The data is exported as a CSV file and downloaded through your browser. You can then open and review/edit the data within your own reporting toolset.</p> <p>For more information on extracting quick poll results, see <a target="_blank" title="Viewing and Extracting Quick Poll Data" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/campusM_Quick_Polls/3_Viewing_and_Extracting_Quick_Poll_Data" rel="internal">Viewing and Extracting Quick Poll Data</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Quick_Polls_.E2.80.93_Monthly_Recurrence_Pattern"></span><h3 class="editable">Quick Polls – Monthly Recurrence Pattern</h3> <p><span class="AlmaRNTag">June 2021</span></p> <p>We added the ability to define a monthly recurrence pattern for your Quick Polls. This enables you to poll your students on longer intervals than the current weekly recurrence, while still grouping the occurrences under one Quick Poll configuration. This has the additional benefit of enabling roles to be changed from one Poll occurrence to another.</p> <div class="ImageBorder style-wrap"> <p><img alt="Enable_Reoccurrence.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114174/Enable_Reoccurrence.png?revision=1" /></p> </div> <p>To enable Monthly Recurrence, select <span class="ScreenElement">Enable re-occurrence</span> in the Quick Poll configuration and then select <span class="ScreenElement">Monthly</span> > <span class="ScreenElement">Recurrence Pattern</span>. You can choose to select either a specific day of each month or a day of a week within the month.</p> <p>For more information on Quick Polls configuration, see <a target="_blank" title="Deploying and Configuring" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/campusM_Quick_Polls/2_Deploying_and_Configuring" rel="internal">Deploying and Configuring</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Attendance_.E2.80.93_Configurable_Behavior_for_the_Exclude_Flag_(preview_available_in_Mid-June_2021)"></span><h3 class="editable">Attendance – Configurable Behavior for the Exclude Flag (preview available in Mid-June 2021)</h3> <p><span class="AlmaRNTag">June 2021</span></p> <p>We added the ability to define how the Attendance Exclude Flag operates. Currently, a timetabled event with the Exclude Flag marked as True is visible in the check-in screen but does not trigger a reminder notification. Students can check in to the event if they choose to since it is optional.</p> <p>To enable customers to change this behavior and to exclude the selected events completely from the check-in process and screens, we added the ‘Suppress Attendance Excluded Events’ checkbox to the General setting in the attendance configuration screen.</p> <div class="ImageBorder style-wrap"> <p><img alt="General.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107224/General.png?revision=2" /></p> </div> <p>When the ‘Suppress Attendance Excluded Events’ is checked, the behavior changes so that the excluded events are not displayed in the check-in screens and do not trigger a notification. Flagged events are completely excluded from the check-in process.</p> <p>For more information on configuring attendance, see <a target="_blank" title="Managing campusM Attendance" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_campusM_Attendance" rel="internal">Managing campusM Attendance</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Security_Enhancement_.E2.80.93_Remove_Visibility_of_Application_Server_Password_in_App_Manager"></span><h3 class="editable">Security Enhancement – Remove Visibility of Application Server Password in App Manager</h3> <p><span class="AlmaRNTag">June 2021</span></p> <p>To enhance the overall security of the platform for customers with Connect Layers, we have obscured the password for the Application Server in the <span class="AlmaMainMenu">App Manager > App Settings > Application Servers</span>. Customer admins can change the password by selecting <span class="ScreenElement">Reset Password</span> but cannot see its current configuration.</p> <p><span class="ScreenElement"><img alt="Change_Application_Server.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114175/Change_Application_Server.png?revision=1" /></span></p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_2"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Library_Product_Integration_-_Summon"></span><h4 class="editable">Library Product Integration - Summon</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>The Summon Product Integration grants users the ability to search for a wealth of academic content by directly integrating with the Summon Discovery solution. Users can search for a variety of resources, using either simple or advanced search mechanisms. The integration interface also enables administrators to configure a range of useful links within the Product Integrations screens, to signpost additional services and information.</p> <div class="ImageBorder style-wrap"> <p><img alt="Summon.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114176/Summon.png?revision=1" /></p> </div> <p>For more information on the Library Summon product integration, see <a target="_blank" title="Summon" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library/Summon" rel="internal">Summon</a>.</p> </div></div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Student_Engagement_and_Retention_Product_Integration_.E2.80.93_UniWellBeing_Vendor_Support"></span><h4 class="editable">Student Engagement and Retention Product Integration – UniWellBeing Vendor Support</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>We added a live tile for UniWellBeing support that displays a carousel of the Call to Actions (CTA) set for the end-user. Use this to get your end-users to engage with UniWellBeing and prompt them to access this service on a regular basis.</p> <div class="ImageBorder style-wrap"> <p><img alt="Wellbeing.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114177/Wellbeing.png?revision=1" /></p> </div> <p>Users can scroll through the CTAs if enabled in the configuration. When a user selects the Live Tile, they are directed directly to the UniWellBeing App, or prompted to install the app if they have not yet done so (on the campusM Native App). When selecting the Live Tile in the campusM Web App, they are directed to a webpage with information about how to get the app on their mobile device.</p> <p>For more information on UniWellBeing, see <a target="_blank" title="Student Engagement and Retention" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Student_Engagement_and_Retention" rel="internal">Student Engagement and Retention</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Add_Images_to_Your_List_Live_Tile_Items"></span><h4 class="editable">List Product Integration – Add Images to Your List Live Tile Items</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>To enhance the live tile for the List product integration, we added the ability to configure an image to be displayed against the list items.</p> <div class="ImageBorder style-wrap"> <p><img alt="Items.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114178/Items.png?revision=1" /></p> </div> <p>For more information, see <a target="_blank" title="List" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" rel="internal">List</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Direct_Access_to_Asset_Manager_to_Add_Assets_to_Product_Integrations"></span><h4 class="editable">Direct Access to Asset Manager to Add Assets to Product Integrations</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>We added direct access to the Asset Manager within a range of Product Integrations (Greetings, ID Card, Laundry, LMS/VLE product integrations) when adding icons or default images to the configuration. It is now easier to configure the product integrations.</p> <div class="ImageBorder style-wrap"> <p><img alt="Image.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114179/Image.png?revision=1" /></p> </div> <p>For more information, see <a target="_blank" title="Managing Product Integrations" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations" rel="internal">Product Integrations</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Resource_Book_Product_Integration_Enhancement"></span><h4 class="editable">Resource Book Product Integration Enhancement</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>We modified the resource booking cancellation screen so that the cancel button is no longer visible for bookings that have expired (the date of the booking has passed). This ensures that the booking data remains accurate.</p> <p>We have also modified the message for cancelling a booking to confirm the successful outcome of the cancellation.</p> <p>For more information, see <a target="_blank" title="Resource Booking" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Resource_Booking" rel="internal">Resource Booking</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Product_Integration_.E2.80.93_Support_for_Terms_in_Blackboard_to_Define_Visible_Courses"></span><h4 class="editable">LMS/VLE Product Integration – Support for Terms in Blackboard to Define Visible Courses</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>We have enabled the ability to define Term IDs within the Blackboard product integration that determine the visibility of courses.</p> <div class="ImageBorder style-wrap"> <p><img alt="Courses.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114181/Courses.png?revision=2" /></p> </div> <p>To enable, check <span class="ScreenElement">Filter Courses By Term</span> and then add the Term ID that will be used to filter your courses.</p> <p>For more information, see <a target="_blank" title="Blackboard" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Blackboard" rel="internal">LMS/VLE – Blackboard</a>.</p> </div></div> <div class="rnsub 202106BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Retrieve_Attendees_.E2.80.93_Vendor_Support_for_PeopleSoft"></span><h4 class="editable">Retrieve Attendees – Vendor Support for PeopleSoft</h4> <p><span class="AlmaRNTag">June 2021</span></p> <p>We now provide support for the Retrieve Attendees product integration for Peoplesoft. This enables support for campusM attendance, in combination with the existing PeopleSoft Timetable product integration.</p> <p>For more information, see <a target="_blank" title="Retrieve Attendees" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Retrieve_Attendees" rel="internal">Retrieve Attendees</a>.</p> </div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Creative_Studio_.E2.80.93_Academic_Template_Gallery"></span><h3 class="editable">Creative Studio – Academic Template Gallery</h3> <p><span class="AlmaRNTag">July 2021</span></p> <p>The Academic Template Gallery is a new content template type that enables the quick creation of configurable landing pages that aggregate links to key app services, content, and integrations. Using the new Create Page template guide, a content owner can quickly author an attractive landing page that brings together relevant areas of the app, making it easier for the user to engage and consume content.</p> <p>Our first Academic Template is Welcome Week. To add a new Welcome Week landing page, when adding a new page, select the Academic template from the template gallery. You are directed to the Welcome Week page.</p> <div class="ImageBorder style-wrap"> <p><img alt="CreateANewPage.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115322/CreateANewPage.png?revision=1" /></p> </div> <p>The template guide walks you through the population of the page, with a suggested structure. Select each section link to access the campusM URL Wizard and search for content, product integrations, or other services to link to.</p> <p><img alt="CreateNewPage.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115323/CreateNewPage.png?revision=1" /></p> <p>Upon selecting <span class="ScreenElement">Create</span>, a new page generates using the configuration provided. You can now configure the page similar to any other Creative Studio page – editing images, removing any unused sections, etc. Save and publish the page to make it available to your end-users.</p> <div class="ImageBorder style-wrap"> <p><img alt="CreativeStudio.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115324/CreativeStudio.png?revision=1" /></p> </div> <p>We will be adding more academic templates in future releases.</p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Creative_Studio" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Creative_Studio" rel="internal">Creative Studio</a>.</p> </div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Support_Link_Options_Added_to_the_LDAP_Login_Page"></span><h3 class="editable">Support Link Options Added to the LDAP Login Page</h3> <p><span class="AlmaRNTag">July 2021</span></p> <p>To support students who have forgotten their username or password, and/or link to further information about the app on the login screen, we have introduced the ability to add a URL and text to the LDAP login page. Additionally, you can configure the placeholder text that is displayed in the username and password field to help a student format their entry.</p> <p>The configuration of these elements can be found in <span class="AlmaMainMenu">App Settings > Profile Registration Authentication</span>, within LDAP authenticated profile.</p> <p><img alt="AppSettingsProfile.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115325/AppSettingsProfile.png?revision=1" /></p> </div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_3"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Add_and_Filter_by_Due_Dates_Against_Items"></span><h4 class="editable">List Product Integration – Add and Filter by Due Dates Against Items</h4> <p><span class="AlmaRNTag">July 2021</span></p> <p>Following requests from customers, we have added the ability to define Due Dates against checkable List Items, to encourage action by the end-user. This can be enabled in the configuration, with labels, timing for Due Soon, and colors all configurable (note that this option is only visible if the Enable Checklist option has been enabled for the list).</p> <p><img alt="EnableDueDates.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115326/EnableDueDates.png?revision=1" /></p> <p>To enable and configure, check the Enable Due Date options in the Product Integration Configuration screen.</p> <p>On entry into the List Product Integration in the app, the user will be presented with an in-app notification if they have any outstanding items due soon or overdue. A filter option had been provided to enable the end-user to filter their list by items Done, Due, Due Soon, or Overdue. As the student checks items off, a visual indicator is shown against the due date indicating completion.</p> </div></div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="List_Product_Integration_.E2.80.93_Progress_Bars_for_Categories_and_Items"></span><h4 class="editable">List Product Integration – Progress Bars for Categories and Items</h4> <p><span class="AlmaRNTag">July 2021</span></p> <p>We added the ability to enable and configure progress bars against item categories and category lists. This provides an easy-to-read visual and numerical indication of progress against items. Note that this option is only visible if the <span class="ScreenElement">Enable Checklist</span> option has been enabled for the list.</p> <p><img alt="EnableProgresssBar.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115327/EnableProgresssBar.png?revision=1" /></p> <p>To enable and configure, check the <span class="ScreenElement">Enable Due Date</span> options in the product integration Configuration screen. Progress bars can be added against each category, showing progress as items are checked, and against the overall categories progress, show progress against completing all items within categories.</p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/List" rel="internal">List</a>.</p> </div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Blackboard_Product_Integration_.E2.80.93_Course_List_Sort_Ordering_Configuration"></span><h4 class="editable">LMS/VLE Blackboard Product Integration – Course List Sort Ordering Configuration</h4> <p><span class="AlmaRNTag">July 2021</span></p> <p>We added the ability to configure the user's Course List to be sorted alphabetically by Course Name rather than the default behavior which is by Course Number.</p> <p><img alt="Courses.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/114181/Courses.png?revision=2" /></p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Blackboard" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Blackboard" rel="internal">Blackboard</a>.</p> </div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Weather_Product_Integration_.E2.80.93_Custom_Icons_for_Weather_Status"></span><h4 class="editable">Weather Product Integration – Custom Icons for Weather Status</h4> <p><span class="AlmaRNTag">July 2021</span></p> <p>We added the ability to configure custom icons for each of the available weather statuses. Customers can configure images from the asset manager or URLs to substitute for the default icons used.</p> <p><img alt="CustomIcons.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115328/CustomIcons.png?revision=1" /></p> <p>To enable this option, check <span class="ScreenElement">Use Custom Icons</span> and then browse or enter the URL for which icons to substitute.</p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Weather" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Weather" rel="internal">Weather</a>.</p> </div></div> <div class="rnsub 202107BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="All_Product_Integrations_.E2.80.93_Integration_Type_Prefixed_to_Description_when_Adding_Product_Integration_Menu_Option"></span><h4 class="editable">All Product Integrations – Integration Type Prefixed to Description when Adding Product Integration Menu Option</h4> <p><span class="AlmaRNTag">July 2021</span></p> <p>We prefixed the product integration type to the Description when adding a product integration Menu Option type. This makes it easier to identify which product integration instance you are assigning to a tile when adding it App Builder.</p> <p><img alt="CreateNewMenuOption.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/115329/CreateNewMenuOption.png?revision=1" /></p> </div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="App_Store_Rating_.E2.80.93_User_Prompt_and_Workflow_for_App_Rating_(Native_Release_Required)"></span><h3 class="editable">App Store Rating – User Prompt and Workflow for App Rating (Native Release Required) </h3> <p><span class="AlmaRNTag">August 2021</span></p> <p>To encourage users to rate the app if they are enjoying their experience, we added a proactive prompt and a direct rating interface in-app for submission in the App Store or Google Play store (device dependent).</p> <div class="ImageBorder style-wrap"> <p><img alt="appReviews.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/117492/appReviews.png?revision=1" /></p> </div> <p>This prompt appears between two and five days following an initial successful login, to ensure the user has had enough time to experience and evaluate the app. Once triggered, the App rating overlay appears asking if the student is enjoying the app. They can dismiss this screen or select to rate the app. They can also provide constructive feedback using the in-app feedback form if not satisfied, enabling you to review feedback in the <span class="AlmaMainMenu">App Settings > Feedback</span> section.</p> <p>You can enable or disable this rating functionality with the <span class="AlmaMainMenu">App Settings > Feedback Configuration</span> in App Manager.</p> </div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="campusM_Attendance_.E2.80.93_Improved_Check-in_Validation_Outcome_Display"></span><h3 class="editable">campusM Attendance – Improved Check-in Validation Outcome Display</h3> <p><span class="AlmaRNTag">August 2021</span></p> <p>We improved the feedback on the validation status of the current check-in directly on the check-in homepage, rather than requiring the user to view their check-in history. The colors and terms used to reflect the check-in status are configured as per the Check-in History colors and labels.</p> <div class="ImageBorder style-wrap"> <p><img alt="Attendance1.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/117493/Attendance1.png?revision=1" /></p> </div> <div class="ImageBorder style-wrap"> <p>You can also configure the image and text on the check-in card when the check-in transaction is triggered.</p> </div> <p><img alt="Attendance2.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/117494/Attendance2.png?revision=1" /></p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_campusM_Attendance " href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_campusM_Attendance" rel="internal">Managing campusM Attendance</a>.</p> </div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Mobile_Accessibility_Android_Improvements_(Android_Release_Required)"></span><h3 class="editable">Mobile Accessibility Android Improvements (Android Release Required)</h3> <p><span class="AlmaRNTag">August 2021</span></p> <p>In line with WCAG Guidelines (1.3.2 Meaningful Sequence Level A and 2.4.6 Headings and Labels Level AA), we improved how heading elements are identified to screen readers in our Android apps.</p> <p>For more information about campusM Accessibility, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Materials/Accessibility_Statement" href="https://knowledge.exlibrisgroup.com/campusM/Product_Materials/Accessibility_Statement" rel="internal">Accessibility Statement</a>.</p> </div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Mobile_Accessibility_.E2.80.93_iOS_Recents_Menu_Improvements_(iOS_Release_Required)"></span><h3 class="editable">Mobile Accessibility – iOS Recents Menu Improvements (iOS Release Required) </h3> <p><span class="AlmaRNTag">August 2021</span></p> <p>The Recents menu control is announced to screen readers on the iOS app. </p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Materials/Accessibility_Statement " href="https://knowledge.exlibrisgroup.com/campusM/Product_Materials/Accessibility_Statement" rel="internal">Accessibility Statement</a>.</p> </div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_4"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Primo_VE_Product_Integration_.E2.80.93_Live_Tile_Badge_Color_Opacity_Configuration_and_Padding_Enhancement_(SF:_00953994)"></span><h4 class="editable">Primo VE Product Integration – Live Tile Badge Color Opacity Configuration and Padding Enhancement (SF: 00953994)</h4> <p><span class="AlmaRNTag">August 2021</span></p> <p>We added the ability to configure the color opacity on the Legacy Live tile for the Primo VE Product Integration. We also modified the padding of the Live Tile elements to equalize the padding of the margins on the left and right of the tile.</p> <p><img alt="LibraryLiveTile.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/117495/LibraryLiveTile.png?revision=1" /></p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library/Primo_VE" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library/Primo_VE" rel="internal">Primo VE</a>.</p> </div></div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="ID_Card_Product_Integration_.E2.80.93_Support_for_Additional_Barcode_Schemas"></span><h4 class="editable">ID Card Product Integration – Support for Additional Barcode Schemas</h4> <p><span class="AlmaRNTag">August 2021</span></p> <p>We added encoding for a number of additional barcode schema’s (including Code39) within the ID Card screens. Supported schemas now include:</p> <ul> <li>Codabar</li> <li>CODE128</li> <li>EAN13</li> <li>UPC</li> <li>EAN8</li> <li>CODE39</li> <li>ITF14</li> <li>MSI</li> <li>Pharmacode</li> </ul> <p><img alt="IDCardBarcodes.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/117497/IDCardBarcodes.png?revision=1" /></p> <p>This provides broader support for additional barcode schemas in operation across the customer base. The encoding is selected from within the product integration configuration.</p> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/ID_Card" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/ID_Card" rel="internal">ID Card</a>.</p> </div></div> <div class="rnsub 202108BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Generic_Live_Tile_Product_Integration_.E2.80.93_Hiding_Badge_Items_Based_on_Age"></span><h4 class="editable">Generic Live Tile Product Integration – Hiding Badge Items Based on Age</h4> <p><span class="AlmaRNTag">August 2021</span></p> <p>We provided the ability to define an age in hours for items after which they will no longer be included in the count shown in the badge on the Live Tile. This enables customers to show the count of new items within a timeframe based on an identified source date field.</p> <p><img alt="GenericLiveTile.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/117496/GenericLiveTile.png?revision=1" /></p> </div></div> <div class="rnsub 202109BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_New_campusM_UX_Design_System"></span><h3 class="editable">Events Product Integration – New campusM UX Design System</h3> <p><span class="AlmaRNTag">September 2021</span></p> <p>We are excited to share a sneak peek of our first deliverable of the new campusM User Experience initiative, being implemented as part of a completely new Events Product Integration look. The design system used here will be utilized in other features as we modernize our interface as part of our UX Roadmap.</p> <p>In our Events product integration, we focused on making the experience much more delightful and engaging, using intuitive interface cues and design elements to guide students through browsing and discovering events. We also made the experience adapt to the available screen space, with a different but connected experience for the web app vs the native apps.</p> <div class="ImageBorder style-wrap"> <p><img alt="Events_On_Campus.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118067/Events_On_Campus.png?revision=1" /></p> <p><img alt="Event_Details.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118068/Event_Details.png?revision=1" /></p> </div> <p>We are releasing this functionality to your Preview Environment in the second half of August (August 15, 2021). Several features, such as reminder notifications, event recommendations, and coming next will follow in the October 2021 release, but we want you to have access to review the new look as soon as we can.</p> <p>The Event product integration documentation will be updated to reflect the changes in time for the August 15 release to Preview.</p> <p>Look out for more enhancements to the app features and user experience through the second half of the year.</p> </div></div> <div class="rnsub 202109BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Notification_Expiration"></span><h3 class="editable">Notification Expiration</h3> <p><span class="AlmaRNTag">September 2021</span></p> <p>We modified the Notification Expiration behavior to remove expired notifications from the user’s inbox rather than labeling them as expired alongside their expiry date.</p> <p>Expiry dates are set in the <span class="ScreenElement">Notification Center</span> when sending individual or group notifications.</p> <div class="ImageBorder style-wrap"> <p><img alt="Expiry_Date.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118069/Expiry_Date.png?revision=1" /></p> </div> <p>For more information about the Notification Center, see our new training video <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Training/campusM_Essentials/10_Sending_Notifications_to_Users" href="https://knowledge.exlibrisgroup.com/campusM/Training/campusM_Essentials/D_Notification_Center/A_Sending_Notifications_to_Users" rel="internal">Sending Notifications to Users</a>.</p> </div></div> <div class="rnsub 202109BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_5"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Student_Engagement_and_Retention_Product_Integration_.E2.80.93_StREAM_from_SolutionPath"></span><h4 class="editable">Student Engagement and Retention Product Integration – StREAM from SolutionPath</h4> <p><span class="AlmaRNTag">September 2021</span></p> <p>As a growing number of our customers now have or are deploying the Student Engagement Analytics Software StREAM from Solutionpath, we created a call-to-action Live Tile product integration that displays a number of key metrics from a user’s StREAM dashboard elements: Their Engagement Rating, the current Trajectory of their Engagement Rating, and the number of outstanding Interventions they have.</p> <p>You can configure user's clicks to direct a user to their StREAM dashboard.</p> <div class="ImageBorder style-wrap"> <p><img alt="StREAM.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118070/StREAM.png?revision=1" /></p> </div> <p>For more information, see <a target="_blank" title="StREAM" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Student_Engagement_and_Retention/StREAM" rel="internal">StREAM Student Engagement and Retention</a>.</p> </div></div></div> <div class="rnsub 202109BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_6"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Library_Product_Integration_.E2.80.93_Primo_VE_Live_Tile_Links_(Hotfix_for_August_2021)"></span><h4 class="editable">Library Product Integration – Primo VE Live Tile Links (Hotfix for August 2021)</h4> <p><span class="AlmaRNTag">September 2021</span></p> <p>We enhanced the Primo VE product integration Live Tile to link to the Library Card screens when selecting the relevant elements on the tile itself.</p> <p>Enable this option by selecting <span class="ScreenElement">Enable Integration Deep Linking</span> within the product integration Configuration when the Latest Live Tile Design is also selected.</p> <div class="ImageBorder style-wrap"> <p><img alt="Deep_Linking.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118071/Deep_Linking.png?revision=1" /></p> </div> <p>Once checked, the Charges, To Pick Up, Due Soon, and Overdue tile elements, if enabled, direct the user to the Library Card screen within the product integration:</p> <div class="ImageBorder style-wrap"> <p><img alt="PrimoVE.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118072/PrimoVE.png?revision=1" />Selecting the header image/label directs the user to the search screen.</p> </div> <div class="ImageBorder style-wrap"> <p><img alt="PrimoVE2.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118073/PrimoVE2.png?revision=1" /></p> </div> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library/Primo_VE" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library/Primo_VE" rel="internal">Library Mobile Primo VE</a>.</p> </div></div></div> <div class="rnsub 202109BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Generic_Live_Tile_.E2.80.93_Shorter_Update_Rate_Available_(Hotfix_for_August_2021)"></span><h4 class="editable">Generic Live Tile – Shorter Update Rate Available (Hotfix for August 2021)</h4> <p><span class="AlmaRNTag">September 2021</span></p> <p>We enabled the configuration for shorter refresh periods for the Generic Live Tile (from 30 minutes down to once per minute) to ensure the latest data is available while accounting for request volumes.</p> <div class="ImageBorder style-wrap"> <p><img alt="UpdateRate.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118074/UpdateRate.png?revision=1" /></p> </div> <p>For more information, see <a target="_blank" title="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Generic_Live_Tile" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Generic_Live_Tile" rel="internal">Generic Live Tile</a>.</p> </div></div> <div class="rnsub 202110BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_Enhanced_Functionality_and_Transformational_User_Experience"></span><h3 class="editable">Events Product Integration – Enhanced Functionality and Transformational User Experience</h3> <p><span class="AlmaRNTag">October 2021</span></p> <p>Following our announcement last month of the new look for the Event product integration, we are leaving this in Preview for another month as we finalize the experience. We will therefore make this feature available in Product for the October 2021 release. This also includes the ability for students to set reminders for events, so they can receive push notifications to remind them of upcoming events they have selected.</p> <div class="ImageBorder style-wrap"> <p><img alt="Events_On_Campus.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/118067/Events_On_Campus.png?revision=1" /></p> </div> </div></div> <div class="rnsub 202110BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Creative_Studio_.E2.80.93_New_Commencement.2FGraduation_Academic_Template"></span><h3 class="editable">Creative Studio – New Commencement/Graduation Academic Template</h3> <p><span class="AlmaRNTag">October 2021</span></p> <p>Adding to our new, longer form landing page templates for key academic milestones in Creative Studio, we added a Commencement/Graduation as a new template. This provides a simple but attractive landing page pointing to key services and information that a student may need as part of their commencement ceremony. Similar to the Welcome Week template, customers can complete the predefined fields when setting up the template to create a landing page linking to critical information, such as maps, checklists, dress code content, and more.</p> <p>To use this new template, add a new page through Creative Studio and select the <span class="PaneTabName">Academic Templates</span> tab to view the new <span class="ScreenElement">Commencement</span> template. Select this template to show the configuration screen for setting up your own commencement page.</p> <div class="ImageBorder style-wrap"> <p><img alt="Creating_Content_Pages.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/119208/Creating_Content_Pages.png?revision=1" /></p> </div> <p>For more information about Creative Studio and templates, see <a target="_blank" title="Creating Content Pages (NEW)" href="https://knowledge.exlibrisgroup.com/campusM/Training/campusM_Essentials/F_Product_Features/A_Creating_Content_Pages" rel="internal">Creating Content Pages</a>.</p> </div></div> <div class="rnsub 202110BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_7"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Surveys_EvaSys_Product_Integration_.E2.80.94_Configurable_Base_URL_(Hotfix_for_September_2021)"></span><h4 class="editable">Surveys EvaSys Product Integration — Configurable Base URL (Hotfix for September 2021)</h4> <p><span class="AlmaRNTag">October 2021</span></p> <p>As part of a strategic realignment by Evasys this summer, the vendor is renaming and rebranding <span class="ScreenElement">EvaMetrics</span> to <span class="ScreenElement">evasys+</span> with associated domain changes for access to the survey data. We are therefore enabling the configuration of the endpoint within the product integration to enable customers to define the domain used by their EvaSys implementation within the product integration configuration screen.</p> <div class="ImageBorder style-wrap"> <p><img alt="Evasys.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/119209/Evasys.png?revision=1" /></p> </div> <p>Your Evasys rep can provide you with the <span class="ScreenElement">Base URL</span> and <span class="ScreenElement">customer ID</span> for your implementation.</p> <p>For more information, see <a target="_blank" title="Surveys" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Surveys" rel="internal">Surveys</a>.</p> </div></div></div> <div class="rnsub 202110BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Library_Product_Integration_.E2.80.93_Primo_VE_interface_Enhancements"></span><h4 class="editable">Library Product Integration – Primo VE interface Enhancements</h4> <p><span class="AlmaRNTag">October 2021</span></p> <p>We enhanced the Primo VE interface experience for end-users as follows:</p> <ul> <li>Removal of white space below the links navigation bar (highlighted below):</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="White_Space.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/119210/White_Space.png?revision=1" /></p> </div> <ul> <li>Ability to configure the<span class="ScreenElement"> On Hold Shelf </span>live tile badge to count only items that are available and ready for pick up (Status: <span class="ScreenElement">On Hold items only</span>) rather than items that are also being processed or are in transit.</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="On_Hold_Shelf_Live_Tile.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/119211/On_Hold_Shelf_Live_Tile.png?revision=1" /></p> </div> <ul> <li> Ability to display the number of total resources currently on loan on the live tile as a new widget. This shows the total count, including resources that are overdue. As with the other items on the live tile, the icons and labeling can be enabled/disabled and configured.</li> </ul> <p><img alt="On_Loan.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/119212/On_Loan.png?revision=1" /></p> <ul> <li>Ability to configure the link <span class="ScreenElement">Navigation Bar</span> text to truncate (the default action) or let the text-overflow the margins of the navigation boxes. Note we recommend using this option carefully as removing the truncation may cause the text to overflow into adjacent navigation boxes.</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="Navigation_Bar.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/119213/Navigation_Bar.png?revision=1" /></p> </div> <p>For more information on the Library product integration, see <a target="_blank" title="Library" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Library" rel="internal">Library</a>.</p> </div></div> <div class="rnsub 202110BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Registration_Status_Product_Integration_.E2.80.93_Peoplesoft_Vendor_Support_Added"></span><h4 class="editable">Registration Status Product Integration – Peoplesoft Vendor Support Added</h4> <p><span class="AlmaRNTag">October 2021</span></p> <p>We added support for Peoplesoft as a vendor to supply registration information through the product integration. This includes additional course information that is available through Peoplesoft.</p> <p>For more information on the Registration Status product integration, see <a target="_blank" title="Registration Status" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Registration_Status" rel="internal">Registration Status</a>.</p> </div></div> <div class="rnsub 202110BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Holds_Product_Integration_.E2.80.93_Ellucian_Colleague_Vendor_Support_Added"></span><h4 class="editable">Holds Product Integration – Ellucian Colleague Vendor Support Added</h4> <p><span class="AlmaRNTag">October 2021</span></p> <p>We added support for Ellucian Colleague as a vendor to supply <span class="ScreenElement">Holds</span> information through the product integration.</p> <p>For more information on the Holds product integration, see <a target="_blank" title="Holds" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Holds" rel="internal">Holds</a>.</p> </div></div> <div class="rnsub 202111BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="iOS_15_Review_and_Preparations"></span><h3 class="editable">iOS 15 Review and Preparations</h3> <p><span class="AlmaRNTag">November 2021</span></p> <p>We have undertaken the necessary due diligence testing and regression examinations to ensure your apps are compatible with the latest iOS release made available on 20th September 2021. As in previous years, our structured approach to reviewing beta releases and the gold master took place and the app has passed testing. As a result of the preparation for the iOS, this month’s release has been kept to a minimum.</p> <div class="ImageBorder style-wrap"><img alt="iOS15.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/120534/iOS15.jpg?revision=1" /></div> <p>We will continue to monitor support calls to ensure we identify any edge cases that may be a result of the operating system update. See <a target="_blank" title="Preparing for iOS Updates" href="https://knowledge.exlibrisgroup.com/campusM/Knowledge_Articles/Preparing_for_iOS_Updates" rel="internal">Preparing for iOS Updates</a>.</p> </div></div> <div class="rnsub 202111BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="campusM_Attendance_.E2.80.94_Android_Performance_Enhancements_for_Geolocation_Validation"></span><h3 class="editable">campusM Attendance — Android Performance Enhancements for Geolocation Validation</h3> <p><span class="AlmaRNTag">November 2021</span></p> <p>To improve the user experience and speed up the collection of validation data for the Android app when enabling Geolocation as a capture/validation mechanism, we have improved the mechanism used to resolve the location coordinates for the device. This results in a much quicker submission of the check-in from a user’s perspective. To improve performance, we reduced the sampling rate of the location when checking in. This may have a small impact on the overall accuracy of the captured location for Android but will significantly improve the user experience.</p> <div class="ImageBorder style-wrap"> <p><img alt="Attendance.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/107228/Attendance.png?revision=2" /></p> </div> <p>For more information, see <a target="_blank" title="Managing campusM Attendance" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_campusM_Attendance" rel="internal">campusM Attendance</a>.</p> </div></div> <div class="rnsub 202111BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_8"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Grades_Product_Integration_.E2.80.94_PeopleSoft_Vendor_Support"></span><h4 class="editable">Grades Product Integration — PeopleSoft Vendor Support</h4> <p><span class="AlmaRNTag">November 2021</span></p> <p>We developed a PeopleSoft vendor connect for our Grades product integration enabling campusM to list a user's grades per course and per term, driven by Peoplesoft.</p> <div class="ImageBorder style-wrap"> <p><img alt="Grades.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/120535/Grades.png?revision=1" /></p> </div> <p>For more information, see <a target="_blank" title="Grades" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Grades" rel="internal">Grades</a>.</p> </div></div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Android_Whitelisting_Requirement_from_Android_11"></span><h3 class="editable">Android Whitelisting Requirement from Android 11</h3> <p><span class="AlmaRNTag">December 2021</span></p> <p>Beginning with Android 11, Google considers the apps installed on a user's device to be sensitive information. Therefore, they have stipulated that when looking to deep link out to other apps requires those apps to be added to the build manifest, effectively creating a whitelist for saving deep links.</p> <p>If you have issues linking to other apps from Android 11, you need to request a new build through Salesforce with permission changes to allow whitelisting.</p> </div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="RoleSync_.E2.80.93_Configurable_Refresh_Period_to_Trigger_RoleSync"></span><h3 class="editable">RoleSync – Configurable Refresh Period to Trigger RoleSync</h3> <p><span class="AlmaRNTag">December 2021</span></p> <p>With the RoleSync product integration now available, we added the ability to configure set days/times in the week to flag all users for RoleSync. When flagged, a user entering the app triggers a RoleSync call and updates their roles. This enables customers to determine when RoleSync happens without the need to call the setRolesUpdated API.</p> <p>The new configuration can be found within <span class="AlmaMainMenu">App Manager > App Settings</span> in the <span class="ScreenElement">Enterprise Roles</span> panel:</p> <p><img alt="Refresh Roles1.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/123934/Refresh_Roles1.png?revision=1" /></p> <p>Once enabled, the configuration enables you to select the refresh days and times (HH) for to flag all users for RoleSync. You also can configure the time zone (default is UTC):</p> <p><img alt="refresh Roles 2.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/123935/refresh_Roles_2.png?revision=1" /></p> </div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Configuring_the_Timetable_Refresh_Period"></span><h3 class="editable">Configuring the Timetable Refresh Period</h3> <p><span class="AlmaRNTag">December 2021</span></p> <p>In February 2021 release, we modified the timetable refresh behavior to reduce the number of unnecessary calls. We also introduced the concept of a ‘stale’ period that determined how the timetable would be refreshed automatically on entry into the app if said stale period had expired (i.e. the time between the last update and the next entry into the app exceeds the stale period).</p> <p>We enabled the <span class="ScreenElement">Timetable Refresh Stale Period</span> to be configured within the CAL web service endpoint (<span class="AlmaMainMenu">App Manager > App Settings > Web Service Endpoints</span>).</p> <p>The minimum time that can be confirmed is one hour, meaning that after one hour, the next entry into the app updates the timetable data.</p> <p><img alt="Timetable Refresh.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/123937/Timetable_Refresh.png?revision=1" /></p> <p>For more information about the timetable refresh mechanisms, see <a target="_blank" title="campusM/Knowledge_Articles/Timetable_Data_Refresh_Mechanisms" href="https://knowledge.exlibrisgroup.com/campusM/Knowledge_Articles/Timetable_Data_Refresh_Mechanisms" rel="internal">Timetable Data Refresh Mechanisms</a>.</p> </div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Product_Integration_Changes_and_Enhancements_9"></span><h3 class="editable">Product Integration Changes and Enhancements</h3> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Product_Integration_.E2.80.93_Blackboard"></span><h4 class="editable">LMS/VLE Product Integration – Blackboard</h4> <p><span class="AlmaRNTag">December 2021</span></p> <p>We added direct support from URLs being returned in resource lists. Where a lecturer adds links in their resource content, this will now be active, taking the user to the linked item. By default, the native apps attempt to deep link to the Blackboard app installed. However, we enabled the option to change the default behavior to link straight to the web app rather than attempting to deep link.</p> <div class="ImageBorder style-wrap"> <p><img alt="Blackboard Links 1.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/123936/Blackboard_Links_1.png?revision=1" /></p> </div> </div></div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="LMS.2FVLE_Product_Integration_.E2.80.93_Blackboard_2"></span><h4 class="editable">LMS/VLE Product Integration – Blackboard</h4> <p><span class="AlmaRNTag">December 2021</span></p> <p>We added links to the Blackboard Application across more resources. These resources include:</p> <ul> <li>All Grades</li> <li>All Courses</li> <li>Course Overview</li> <li>Course Grades user profile</li> </ul> <div class="ImageBorder style-wrap"> <p><img alt="Blackboard Links.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/123938/Blackboard_Links.png?revision=1" /></p> </div> <p>For more information about the Blackboard product integration, see <a class="link-https" target="_blank" title="Blackboard" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/LMS%2F%2FVLE/Blackboard" rel="internal">Blackboard</a>.</p> </div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_Allow_for_All_Day_and_Multiple_Day_Events"></span><h4 class="editable">Events Product Integration – Allow for All Day and Multiple Day Events</h4> <p><span class="AlmaRNTag">December 2021</span></p> <p>We removed the mandatory need for a start time and End Time for events and added in a Start Date and End Date to enable multiple day events as well.</p> <p>Where no start time and or end time is provided, the respective attributes are shown. The template Excel sheet is updated to reflect the new attributes. For more information about the Events product integration, see <a class="link-https" target="_blank" title="Events" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Events" rel="internal">Events</a>.</p> </div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Product_Integration_.E2.80.93_RSS_Support_for_Dynamic_Data"></span><h4 class="editable">Events Product Integration – RSS Support for Dynamic Data</h4> <p><span class="AlmaRNTag">December 2021</span></p> <p>To provide dynamic events data, we added support for RSS feeds to drive the experience.</p> <p><img alt="Events RSS.png" class="internal default" loading="lazy" src="https://knowledge.exlibrisgroup.com/@api/deki/files/123939/Events_RSS.png?revision=1" /></p> <p>For more information on how to configure your Events product integration to consume an RSS feed, see <a class="link-https" target="_blank" title="Events" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Events" rel="internal">Events</a>.</p> </div></div> <div class="rnsub 202112BASE"> <div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section"><span id="Events_Directory_Product_Integration_.E2.80.93_Sunsetting_Creation_of_Legacy_Events_Directory"></span><h4 class="editable">Events Directory Product Integration – Sunsetting Creation of Legacy Events Directory</h4> <p><span class="AlmaRNTag">December 2021</span></p> <p>With the release of the new Events product integration, we are sunsetting the legacy Events Directory. As of the December 2021 release, customers will no longer be able to create new instances of this older Events directory. Existing instances will continue to operate and be configurable.</p> <p>For more information about the new Events product integration, see <a class="link-https" target="_blank" title="Events" href="https://knowledge.exlibrisgroup.com/campusM/Product_Documentation/Managing_Product_Integrations/Events" rel="internal">Events</a>.</p> </div></div> </div><div mt-section-origin="campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes" class="mt-section" id="section_2"><span id="Resolved_Issues"></span><h2 class="editable">Resolved Issues</h2> <div class="BodyText" id="rn_no_issues" style="display: none;">No resolved issues match your criteria.</div> <ul> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00884803 00893002 00899757 </span><br /> Login Method: Resolved the login servlet to use POST rather GET requests to enhance security and logging on the Connect Layer. HOTFIX FOR DECEMBER 2020.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span><br /> Quick Polls: Resolved an issue where the Answer text was not being returned in the getPollResults API response. The API now returns the Answer ID as the Answer Text.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span><br /> Language Packs: Resolved an issue that prevented the Home label in the left navigation element in the portal view from being configured through language packs.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 iOS</span><br /> Live Tiles: Resolved behavior regarding Live Tile refreshing on iOS when the app is moved from the background to the foreground. The iOS app will now refresh all live tiles when moved into the foreground, consistent with the Android app.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00895424</span><br /> App Manager User Permissions: Resolved an issue with the user permissions that allowed users to access the asset manager event though they did not have permission to create/edit content.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span><br /> Product Integration – Events RSS Vendor: Resolved an issue where an <span class="EnteredText">undefined</span> label was added to the date subtitle when looking at all events AND where only one campus has been defined for the events.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 iOS App Android App</span><br /> Product Integration – Email Outlook 365: Resolved an issue that prevented the cached access token for Outlook 365 from being removed when logged out of the native app.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 iOS App Android App</span><br /> Product Integration – Lists: Resolved an issue that prevented linking to other product integrations from the List product integration when using the campusM URL scheme (<span class="EnteredText">campusm://menu?menucode=123</span>) or Pocket Guides (<span class="EnteredText">campusm://pocketguide?pg_code=[static content service ID]</span>).</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span><br /> Product Integration – Registration Status: Resolved an issue where unexpected/optional data elements in the response caused an error and resulted in registration data not being shown. As a result, we have improved our handling to enhance resiliency for optional/ unexpected data items being returned by services.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00891526</span><br /> Product Integrations – Moodle: Resolved an issue where the Android app was unable to open links to external apps from Moodle. The app now opens the link as expected if the app is installed; otherwise, the user is notified that the link cannot open.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span><br /> Product Integration – Directory Search: Resolved an issue where the Test API Connection wizard did not return an accurate connection status when testing the Directory Search API configuration.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00895434</span><br /> Product Integrations – General: Resolved an issue on the Android App that prevented Recent icons from populating the swipe from the left Recents menu.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00894662</span><br /> Product Integrations – Timetable Live Tile: Resolved an issue where the language pack translations were not being used within the live tile when displaying coming class events.</li> <li class="rnissue 202101BASE"><span class="AlmaRNTag">January 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00865113</span><br /> Product Integration – Primo with Alma/Voyager: Resolved an issue where the Author field was not displayed on the Item in Search page.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00908728 00909584</span><br /> App Manager: Resolved an issue when using App Manager in Chrome that displayed the message 'The information that you’re about to submit is not secure'. Resolved by modification of redirect location headers to ensure that the URL protocol (http/https) is the same as the originating request.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00887716</span><br /> Attendance: Resolved an issue that prevented the Attendee list in the lecturer check-in screens from being sorted according to check-in ‘Status’.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00904203</span><br /> addPoll API: Resolved an issue where the addPoll API was not returning the ID of the Poll created. The PollID is now returned in the ‘desc’ field of the API response if successful. HOTFIXED TO JANUARY 2021.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00902459</span><br /> Product Integration – Primo: Resolved a spelling mistake in the My Request date field.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – Events: Resolved an issue where the ‘Continue’ button is active even if an initial filter option is not selected. HOTFIXED TO JANUARY 2021.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – Events: Resolved an issue where once the initial filter is selected then the subsequent filter options disappear. HOTFIXED TO JANUARY 2021.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – Events: Resolved an issue where the Export File options failed to operate on the following fields were left with their default value: Date Format, Time Format, or Time Zone.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – Canvas and D2L LMS: Resolved an issue where the Menu Options for these Live Tile Product Integrations were not displaying in the Portal view Left Hand Side navigation. Customers can now use the Action URL for the Menu Option to configure the action when clicking on the entry in the navigation bar. HOTFIXED TO JANUARY 2021.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – ID Card: Resolved an issue when using custom fields and selecting to "Display if empty" that entries that were empty were removed from the view.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – ID Card – IdP Vendor: Resolved an issue when the Product Integration fails to get the token details for the IdP vendor, a blank screen is shown. An error message is now shown providing an explanation. HOTFIXED TO JANUARY 2021.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Android App</span><br /> Product Integration – ID Card: Resolved an issue on the Android that prevented the user’s image and the barcode from being cached effectively and displayed if the user had no connectivity.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span><br /> Product Integration – Weather: Resolved an issue that prevented you from entering zeros after decimal points in the Latitude and Longitude fields.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00891629</span><br /> Product Integration – Contact Tracing: Resolved an issue with the Android App where the QR failed to scan when using HTML white space characters in the JSON encoded.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00895607</span><br /> Notification Center: Resolved an issue that delayed the loading of sent notifications when selecting date filters. Response times have been enhanced.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00885509</span><br /> Notifications: Resolved an issue where markup text used in Notifications text was not being actioned in the Web App. the following tags have been enabled: bold - "strong"; italic - "em"; underline - "u"; numbered list - "ol" and "li"; bullet list - "ul" and "li".</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00895424</span><br /> App Manager User Permissions: Resolved an issue with the user permissions that allowed users to access the asset manager event though they did not have permission to create/edit content.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00897387</span><br /> Portal View Breadcrumbing: Resolved an issue with navigational breadcrumbs in Portal View when nesting pages greater than 2 levels.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 iOS App</span> <span class="AlmaRNSFTag">SF: 00751836 00872095</span><br /> Location Categories: Resolved an issue with how Location Categories are sorted in iOS. These now reflect the order defined in App Manager.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00717775</span><br /> Report a Problem: Resolved an issue where a user could report a problem without selecting a category.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00894778</span><br /> App Feedback: Resolved an issue that resulted in the ‘send' button was higher than the 'cancel' button in the Android App when providing feedback in app.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Platform</span> <span class="AlmaRNSFTag">SF: 00718152</span><br /> App Feedback: Resolved an issue that allowed students to provide an empty feedback comment only containing space characters.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 iOS App</span> <span class="AlmaRNSFTag">SF: 00586062</span><br /> Language Packs: Resolved an issue in the Location Favorites screen where the Edit button in the navigation bar was not localized according to the selected language pack.</li> <li class="rnissue 202102BASE"><span class="AlmaRNTag">February 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00663790</span><br /> Splash Screen: Resolved the missing splash screens on entry into the Android App.</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 Platform</span><br /> Holds Product Integration: Resolved an issue displaying the hold ‘Reason’. We have added the ‘reason’ attribute returned by the Elucian Banner Holds API to the standard list of expected fields (HOTFIXED TO FEBRUARY 2021).</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 iOS App</span><br /> Insight Analytics: Resolved an issue where the iOS app was not consistently recording the start of a new session in the Insight logs.</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 iOS App Android App</span> <span class="AlmaRNSFTag">SF: 00906331 00915964</span><br /> Force Logout: Resolved an issue where the Force Logout function was not working for LDAP authenticated profiles.</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 Platform</span><br /> App Builder: Resolved an issue when deleting one or more of a tile’s properties and clicking Save and ‘Publish’ resulted in the save button still being active, despite the change being successfully saved.</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 Platform</span> <span class="AlmaRNSFTag">SF: 008995064</span><br /> Portal View – Pocket Guide Pages: Resolved an issue where the nesting navigation sidebar disappeared when linking to other content within the same content node.</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 Platform</span><br /> Attendance – Live Tile: Resolved an issue that may result in some event descriptions flowing outside of the tile boundary when the live tile is enabled.</li> <li class="rnissue 202103BASE"><span class="AlmaRNTag">March 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00901080</span><br /> Problems & Feedback: Resolved the behavior when completing a reported problem description was not mandatory for the Android app.</li> <li class="rnissue 202104BASE"><span class="AlmaRNTag">April 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00925305</span><br /> General: Resolved an issue when opening PDFs from AEK screens in the Android App.</li> <li class="rnissue 202104BASE"><span class="AlmaRNTag">April 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00915588</span><br /> O365 Email Product Integration: Removed the opacity from the unread email badge to ensure color consistency.</li> <li class="rnissue 202104BASE"><span class="AlmaRNTag">April 2021 Android App</span> <span class="AlmaRNSFTag">SF: 00895609</span><br /> O365 Email Product Integration: Resolved an issue that resulted in a user’s authentication token used for access to O365 Email not effectively being removed from local storage when the user logged out. The local cache is now completely cleared.</li> <li class="rnissue 202104BASE"><span class="AlmaRNTag">April 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 009330423</span><br /> Leganto Product Integration: Resolved an issue where an "Illegal Institution" error message was shown if using a custom domain name for access to Leganto.</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform</span><br /> App Builder: Resolved an issue when editing menu option properties where the app review scrolled to the top of the screen and scrolled to the bottom of the screen on each click within the Menu Option Config panel.</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00936811</span><br /> General: Resolved an issue when selecting the ‘Raise a Ticket’ link in App Manager that directed the user to the wrong webpage for logging into Salesforce which resulted in a ERR_CERT_COMMON_NAME_INVALID error being thrown on the browser page.</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform</span><br /> List Product Integration: Resolved a spelling mistake in the configuration for the word ‘Categorys’ resolved to ‘Categories’.</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform</span><br /> Primo Product Integration: Resolved a spelling mistake in the configuration for the wording ‘The Life Tile refresh rate in minutes; must be between 60 and 360.’ to ‘The live Tile refresh rate in minutes; must be between 60 and 360.’</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform</span><br /> Primo Product Integration: Resolved a spelling mistake in the configuration for the wording ‘The Life Tile refresh rate in minutes; must be between 60 and 360.’ to ‘The live Tile refresh rate in minutes; must be between 60 and 360.’</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform</span><br /> Celcat Timetable Product Integration: Resolved an issue with the data fetch for iPad that resulted in issues displaying timetables for the first week of the year.</li> <li class="rnissue 202105BASE"><span class="AlmaRNTag">May 2021 </span><span class="AlmaRNTag">Platform</span><br /> campusM Attendance: Resolved an issue where only the Course_Timetable endpoint was used to drive the Attendance Live Tile. The Live Tile now uses the configured timetable endpoint for the student check-in tile.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00939247</span><br /> Events Product Integration: Resolved an issue when using an RSS feed to populate the events listing where NO nonmandatory fields were configured. You can now add an RSS without the need for any non-mandatory fields.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00936622</span><br /> Attendance Transaction Viewer: Resolved an issue when attempting to deploy the Attendance Transaction Viewer being unable to save the configuration and deploy the menu option to the app.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><br /> Resource Booking Product Integration: Resolved an issue with the Test API function in the configuration that failed to concatenate the defined parameters as part of the test request.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Web App </span><br /> Timetable: Resolved an issue with duplicate timetable events displaying incorrectly and rendering poorly in the timetable view. To resolve this, we have implemented data cleansing that removed any duplicate data from the incoming event information.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00935061</span><br /> Personalization Enablement: Resolved an issue when enabling Personalization on a new or existing Profile that resulted in the arrange button/option not appearing reliably in the user interface.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">iOS App </span><span class="AlmaRNSFTag">SF: 00936873</span><br /> App Builder: Resolved an issue where the Header Color property for iOS was not being used when linking out to an external resource using the in-app browser.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Android App </span><span class="AlmaRNSFTag">SF: 00934681</span><br /> Switching Profiles: Resolved an issue for a small range of scenarios where the option to switch from one profile to another in the Android App Settings was not visible.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 iOS App Android App</span> <span class="AlmaRNSFTag">SF: 00913327</span><br /> Email Product Integration – Gmail: Resolved an issue with the Oath authentication workflow not correctly initiating on the iOS and Android app, resulting in blank pages when selecting the Gmail Live Tile.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><br /> Account Product Integration – Banner: Resolved an issue when the account balance for the user is zero, resulting in no account information displaying.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00789216</span><br /> Creative Studio: Resolved an issue that prevented the Asset Manager from displaying when selecting an image with the Creative Studio editor in Full Screen mode.</li> <li class="rnissue 202106BASE"><span class="AlmaRNTag">June 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00789216</span><br /> Creative Studio: Resolved an issue when attempting to move or delete content created in the legacy content manager within campusM.</li> <li class="rnissue 202107BASE"><span class="AlmaRNTag">July 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00956034</span><br /> Asset Manager Permissions: Resolved an issue with the Add Resource permission that overly restricted the administrator’s ability to add and remove assets to the Asset Manager without being given All Permissions. Now this permission allows asset management within asset manager</li> <li class="rnissue 202107BASE"><span class="AlmaRNTag">July 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00947717</span><br /> Attendance — Check-in Report API: Resolved an issue where erroneous check-in data was returned for certain queries with check-in dates years in the future. Enhanced validation has now been added.</li> <li class="rnissue 202107BASE"><span class="AlmaRNTag">July 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00935307</span><br /> Notifications: Resolved an issue where notifications sent via the Notification API were not appearing accurately in the notification Center dashboard.</li> <li class="rnissue 202107BASE"><span class="AlmaRNTag">July 2021 </span><span class="AlmaRNTag">iOS App </span><span class="AlmaRNSFTag">SF: 00931497</span><br /> Notifications: Resolved an issue where unread notifications were taking an extended period to load. The UX has now been adjusted to allow the screen to be responsive while the notification information is being loaded.</li> <li class="rnissue 202107BASE"><span class="AlmaRNTag">July 2021 Platform iOS App Android App </span><span class="AlmaRNSFTag">SF: 00930033</span><br /> Insight Analytics: Resolved an issue where page hits for AEK2 screens were not being recorded and reported accurately. AEK2 screen page hits are now being captured consistently across platforms.</li> <li class="rnissue 202107BASE"><span class="AlmaRNTag">July 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00947241</span><br /> Events Product Integration: Resolved an issue that prevented the filters from being displayed immediately on selecting the filter button. Only by selecting Home would the filters appear. HOTFIX FOR JUNE 2021.</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Android App </span><span class="AlmaRNSFTag">SF: 00959798</span><br /> Notifications: Resolved an issue that resulted in the push notification appearing on the user’s device but, on click, the notification was not shown immediately in the users Alerts inbox. We have since implemented Notification Updates in-app on receipt of a notification and on entry into the Alert inbox.</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00956592</span><br /> App Manager – App Center QR Code for App Download: Resolved an issue that prevented the QR code from quickly linking to the App Center download page and appearing to all admin users.</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00954763 00967026</span><br /> Role Sync Product Integration: Resolved an issue that restricted the number of Groups returned for a user to 100, which prevented the full roster of Customer Roles being processes accurately for end users. HOTFIX FOR JULY 2021</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00966144</span><br /> Quick Polls: Resolved an issue retrieving free text responses through the Get Poll results API. HOTFIX FOR JULY 2021</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00935424</span><br /> LMS/VLE Product Integration – Blackboard: Resolved an issue where the screens were not being populated with courses and content information as a result of not having the Terms filtering functionality enabled. HOTFIX FOR JULY 2021</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00965817 00966318</span><br /> Print Credit Product Integration – Papercut: Resolved an issue where only the test user credentials were being returned for the print credit balance. HOTFIX FOR JULY 2021</li> <li class="rnissue 202108BASE"><span class="AlmaRNTag">August 2021 </span><span class="AlmaRNTag">Platform</span><br /> Event Product Integration: Resolved an issue that resulted in the wrong time being displayed in the Event Live Tile when an event was added to the user's Favorites. HOTFIX FOR JULY 2021</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00967259</span><br /> App Builder: Resolved an issue with saving and publishing changes to a profile in App Builder if the profile name contained a non-ASCII character.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00958475</span><br /> Group Notifications: Resolved an issue where multiple group notifications sent to the same group with the same title and content were grouped into one reporting row within the Notification Center History rather than as a row per repeat message.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00955625</span><br /> Modal Background Colors: Resolved an issue where the app background color was impacting the background color of Modal screens in the web app such as the Terms and Conditions screen or Timetable. This could render the text unreadable with dark background colors. Modals are now fixed with a white background.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">iOS App </span><br /> Greetings product integration: Resolved an issue where the user's name in the Welcome PI was cached on logout and subsequently shown in the Guest profile or other open profiles in the iOS app.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00966579</span><br /> ID Card product integration: Resolved an issue with the user image not being cached, resulting in the loss of the picture when not connected to a network/receiving data.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00963088</span><br /> Library Primo VE Product Integration: Resolved an issue that removed ALL default icons when enabling the <span class="ScreenElement">Use Custom Icon</span> configuration and replacing one or more of the icons with a new asset.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00950179 00954341</span><br /> Attendance Transaction Viewer: Resolved an issue when attempting to add the <span class="ScreenElement">Attendance Transaction Viewer Product Feature</span> tile resulting in an incorrect message that Attendance was not enabled.</li> <li class="rnissue 202109BASE"><span class="AlmaRNTag">September 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00970305</span><br /> Attendance Check-in Report API: Resolved an intermittent issue resulting in a 502 error when trying to retrieve data from a check-in report API.</li> <li class="rnissue 202110BASE"><span class="AlmaRNTag">October 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF:</span><span class="AlmaRNSFTag"> 00978228</span><br /> Timetable: Resolved an issue where a comma was appended to each location address attribute, even if the address attribute just had whitespace. This resulted in oddly formatted location information with multiple commas showing without any data following.</li> <li class="rnissue 202110BASE"><span class="AlmaRNTag">October 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF:</span><span class="AlmaRNSFTag"> 00972861</span><br /> Asset Manager: Resolved an issue where the <span class="ScreenElement">Asset Manager</span> option was missing from the quick launch menu in the top right corner of <span class="ScreenElement">App Manager</span>.</li> <li class="rnissue 202110BASE"><span class="AlmaRNTag">October 2021 </span><span class="AlmaRNTag">Platform </span><br /> Change App Roles API: Resolved an issue where the removal of a role through the API was not updated and reflected in the user’s app unless they logged out and logged back in. Changes are now visible at the start of a new app session.</li> <li class="rnissue 202110BASE"><span class="AlmaRNTag">October 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF:</span><span class="AlmaRNSFTag"> 00982850</span><br /> Events Directory product integration: Resolved an issue with the <span class="ScreenElement">Back</span> button behavior not returning the user to the home screen as expected.</li> <li class="rnissue 202110BASE"><span class="AlmaRNTag">October 2021 </span><span class="AlmaRNTag">Platform </span><br /> Maps and Locations: Resolved an issue with an enforced 100-character limitation for the <span class="ScreenElement">Image</span> icon field under <span class="ScreenElement">Location Categories</span>.</li> <li class="rnissue 202111BASE"><span class="AlmaRNTag">November 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00992632</span><br /> Library product integration – PrimoVE: resolved an issue with non-functioning links in the quick link menus at the bottom of the screen because of white space (space characters) being passed from the Primo configuration.</li> <li class="rnissue 202111BASE"><span class="AlmaRNTag">November 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00968841</span><br /> AEK – GPOS client tool: Resolved an issue with the GPS library on Android that caused the app to crash when requesting permission to retrieve location coordinates if called as part of an AEK project.</li> <li class="rnissue 202111BASE"><span class="AlmaRNTag">November 2021 </span><span class="AlmaRNTag">Platform </span><br /> Maps – web app: Resolved an issue with boundary management on the 'map' view within the web app that would result in a slow or unresponsive view when panning outside of the initial boundaries.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">iOS </span><span class="AlmaRNTag">App </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00990162 01004338</span><br /> Attendance – Resolved an issue where the Geolocation and IP Address were captured and recorded in the check-in transaction, even though the capture or validation of these mechanisms was not configured.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">iOS </span><span class="AlmaRNTag">App </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00999080</span><br /> Attendance – Resolved an issue with the check-in screen not displaying where the student has many events. The processing was streamlined to ensure the screen is displayed in a timely fashion. HOTFIX FOR NOVEMBER 2021</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform</span><br /> Leganto Product Integration – Resolved an issue where the Leganto Live Tile was blank (no live elements) when all counters were zero or empty. HOTFIX FOR NOVEMBER 2021</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00999336</span><br /> Leganto Product Integration – Resolved an issue where the Leganto Live tile failed to load due to 3rd party cookies not being accepted by the browser/in-app browser. HOTFIX FOR NOVEMBER 2021</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00994681</span><br /> Leganto Product Integration – Resolved an issue where the "Physical" section of book data was noting being found. This was due to an inconsistency in the resource path for Primo VE and non-Primo VE customers. HOTFIX FOR NOVEMBER 2021</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 01005554</span><br /> Notifications – Resolved an issue that prevented manually or bulk subscribing users to Notification groups. HOTFIX FOR NOVEMBER 2021</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Android </span><span class="AlmaRNTag">App </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00993955 01001392 01008199</span><br /> Maps – Resolved an issue on the Android App where the Map images and overlays were not being rendered. Position images were incorrectly replaced with placeholder images. HOTFIX FOR NOVEMBER 2021</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Android </span><span class="AlmaRNTag">App </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 01000837</span><br /> General – Resolved an issue when linking to files using a URL in the app with Android 11 Operating System that prevented the file from being displayed and resulted in an error message. Resolved by modifying the scope of local storage for the Android App to enable external file loading.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Android </span><span class="AlmaRNTag">App </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00987608</span><br /> Login – Resolved an issue on the Android App that, if the Timetable Service returned no data (null), then a blank screen was shown following login rather than the Homescreen.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 00998315</span><br /> Banner Tiles – Resolved an issue preventing the Corner Radius property from being applied to Homescreen Banner tiles.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF</span><span class="AlmaRNSFTag">: 01003755</span><br /> campusM URL Schema – Resolved an issue with the Switch Profile URL (<a title="campusm://switchprofile" href="campusm://switchprofile" target="_blank" rel="external noopener nofollow" class="external">campusm://switchprofile</a>) that created an error message and failed to enable profile switching in the app.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">iOS App Android App </span><span class="AlmaRNSFTag">SF: 00992814 00994056</span><br /> Timetable – Resolved an issue with handling Null Returns from the timetable services that resulted in the apps crashing. This is now handled with an error message for the end-user rather than a crash.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00998022</span><br /> Primo VE Product Integration – Resolved an issue when setting the Library Card as the landing page for the live tile AND enabling deep linking, the landing page configuration was ignored and went to the Search page instead when selecting the Live Tile header.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00995417</span><br /> Primo Product Integration – Resolved an issue where the menu click for the new Primo Live tile was not captured in Insight Analytics.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><br /> Primo VE Product Integration – Resolved an issue where the customer’s Primo CSS was not applied in the product integration screen, resorting back to the default styling and colors.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><br /> List Product Integration – Resolved an issue that prevented mailto URLs from working in the External URL configuration.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><br /> Product Integration Configuration: Test Wizard – Resolved an issue when an invalid endpoint URL was added to a product integration and then using the Test Wizard resulted in a 404 error.</li> <li class="rnissue 202112BASE"><span class="AlmaRNTag">December 2021 </span><span class="AlmaRNTag">Platform </span><span class="AlmaRNSFTag">SF: 00964752</span><br /> Moodle Product Integration – Resolved an issue with links to assignments were resulting in an error message being shown. The link now operates correctly.</li> </ul> </div></div> </div> </div> <div class="mt-content-footer"> <div style="display: none"><a href="https://knowledge.exlibrisgroup.com/campusM/campusM_Release_Notes/2021/campusM_2021_Release_Notes?v=55" rel="internal" class="rss-page-link 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/campusM/campusM_Release_Notes/2021/2021_Release_Schedule" title="2021 Release Schedule"><span>2021 Release Schedule</span></a> </li> <li class="mt-pagination-next"> <a class="mt-icon-next-article" href="https://knowledge.exlibrisgroup.com/campusM/campusM_Release_Notes/2020" title="2020"><span>2020</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">© 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">®</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>