CINXE.COM
Cardiff University Status
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- force IE browsers in compatibility mode to use their most aggressive rendering engine --> <meta charset="utf-8"> <title>Cardiff University Status</title> <meta name="description" content="Welcome to Cardiff University's home for real-time and historical data on system performance."> <!-- Mobile viewport optimization --> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> <!-- Time this page was rendered - http://purl.org/dc/terms/issued --> <meta name="issued" content="1743780558"> <!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading --> <meta http-equiv="cleartype" content="on"> <!-- Le fonts --> <style> @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.cardiff.ac.uk'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.cardiff.ac.uk#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=status.cardiff.ac.uk') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=status.cardiff.ac.uk') format('truetype'); font-weight:300; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.cardiff.ac.uk'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.cardiff.ac.uk#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=status.cardiff.ac.uk') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=status.cardiff.ac.uk') format('truetype'); font-weight:400; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.cardiff.ac.uk'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.cardiff.ac.uk#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=status.cardiff.ac.uk') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=status.cardiff.ac.uk') format('truetype'); font-weight:400; font-style:italic; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.cardiff.ac.uk'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.cardiff.ac.uk#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=status.cardiff.ac.uk') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=status.cardiff.ac.uk') format('truetype'); font-weight:500; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.cardiff.ac.uk'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.cardiff.ac.uk#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=status.cardiff.ac.uk') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=status.cardiff.ac.uk') format('truetype'); font-weight:700; font-style:normal; } </style> <link rel="shortcut icon" type="image/x-icon" href="//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/140477/CUident_RGB_%281%29.jpg" /> <link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/140477/CUident_RGB_%281%29.jpg'> <link rel="alternate" type="application/atom+xml" href="https://status.cardiff.ac.uk/history.atom" title="Cardiff University Status History - Atom Feed"> <link rel="alternate" type="application/rss+xml" href="https://status.cardiff.ac.uk/history.rss" title="Cardiff University Status History - RSS Feed"> <!-- Canonical Link to ensure that only the custom domain is indexed when present --> <link rel="canonical" href="https://status.cardiff.ac.uk"> <meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/> <link rel="alternate" type="application/atom+xml" title="ATOM" href="https://status.cardiff.ac.uk/history.atom" /> <!-- Le styles --> <link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.076d36a21dada6e9b8ca.css" /> <link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-e5fd07250d5426b6c15214a184a78f72bd224c0f158f2ca1f35a3cf1ee9c1783.css" /> <script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script> <script> window.pageColorData = {"blue":"#3498DB","border":"#E0E0E0","body_background":"#FFFFFF","font":"#333333","graph":"#3498DB","green":"#006B47","light_font":"#383735","link":"#045BC6","orange":"#E67E22","red":"#E74C3C","yellow":"#F1C40F","no_data":"#B3BAC5"}; </script> <style> /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ body, .layout-content.status.status-api .section .example-container .example-opener .color-secondary, .grouped-items-selector, .layout-content.status.status-full-history .history-nav a.current, div[id^="subscribe-modal"] .modal-footer, div[id^="subscribe-modal"], div[id^="updates-dropdown"] .updates-dropdown-section, #uptime-tooltip .tooltip-box { background-color:#FFFFFF; } #uptime-tooltip .pointer-container .pointer-smaller { border-bottom-color:#FFFFFF; } /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ body.status, .color-primary, .color-primary:hover, .layout-content.status-index .status-day .update-title.impact-none a, .layout-content.status-index .status-day .update-title.impact-none a:hover, .layout-content.status-index .timeframes-container .timeframe.active, .layout-content.status-full-history .month .incident-container .impact-none, .layout-content.status.status-index .incidents-list .incident-title.impact-none a, .incident-history .impact-none, .layout-content.status .grouped-items-selector.inline .grouped-item.active, .layout-content.status.status-full-history .history-nav a.current, .layout-content.status.status-full-history .history-nav a:not(.current):hover, div[id^="subscribe-modal"] .modal-header .close, .grouped-item-label, #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link { color:#333333; } .layout-content.status.status-index .components-statuses .component-container .name { color:#333333; color:rgba(51,51,51,.8); } /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ small, .layout-content.status .table-row .date, .color-secondary, .layout-content.status .grouped-items-selector.inline .grouped-item, .layout-content.status.status-full-history .history-footer .pagination a.disabled, .layout-content.status.status-full-history .history-nav a, #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header { color:#383735; } /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ body.status .layout-content.status .border-color, hr, .tooltip-base, .markdown-display table, div[id^="subscribe-modal"], #uptime-tooltip .tooltip-box { border-color:#E0E0E0; } div[id^="subscribe-modal"] .modal-footer, .markdown-display table td { border-top-color:#E0E0E0; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#E0E0E0; } div[id^="subscribe-modal"] .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#E0E0E0; } #uptime-tooltip .tooltip-box .outage-field { /* Generate the background-color for the outage-field from the css_body_background_color and css_border_color. For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at the original outage-field background color (#f4f5f7). I used the formula Target Color = Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08. For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color). */ background-color: rgba(224,224,224,0.31); /* outage-field border-color alpha is inverse to the luminosity of css_body_background_color. That is to say, with a default white background this border is transparent, but on a black background, it's opaque css_border_color. */ border-color: rgba(224,224,224,0.0); } /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ .layout-content.status.status-index .status-day .update-title.impact-critical a, .layout-content.status.status-index .status-day .update-title.impact-critical a:hover, .layout-content.status.status-index .page-status.status-critical, .layout-content.status.status-index .unresolved-incident.impact-critical .incident-title, .flat-button.background-red { background-color:#E74C3C; } .layout-content.status-index .components-statuses .component-container.status-red:after, .layout-content.status-full-history .month .incident-container .impact-critical, .layout-content.status-incident .incident-name.impact-critical, .layout-content.status.status-index .incidents-list .incident-title.impact-critical a, .status-red .icon-indicator, .incident-history .impact-critical, .components-container .component-inner-container.status-red .component-status, .components-container .component-inner-container.status-red .icon-indicator { color:#E74C3C; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#E74C3C; } /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ .layout-content.status.status-index .status-day .update-title.impact-major a, .layout-content.status.status-index .status-day .update-title.impact-major a:hover, .layout-content.status.status-index .page-status.status-major, .layout-content.status.status-index .unresolved-incident.impact-major .incident-title { background-color:#E67E22; } .layout-content.status-index .components-statuses .component-container.status-orange:after, .layout-content.status-full-history .month .incident-container .impact-major, .layout-content.status-incident .incident-name.impact-major, .layout-content.status.status-index .incidents-list .incident-title.impact-major a, .status-orange .icon-indicator, .incident-history .impact-major, .components-container .component-inner-container.status-orange .component-status, .components-container .component-inner-container.status-orange .icon-indicator { color:#E67E22; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#E67E22; } /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ .layout-content.status.status-index .status-day .update-title.impact-minor a, .layout-content.status.status-index .status-day .update-title.impact-minor a:hover, .layout-content.status.status-index .page-status.status-minor, .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#F1C40F; } .layout-content.status-index .components-statuses .component-container.status-yellow:after, .layout-content.status-full-history .month .incident-container .impact-minor, .layout-content.status-incident .incident-name.impact-minor, .layout-content.status.status-index .incidents-list .incident-title.impact-minor a, .status-yellow .icon-indicator, .incident-history .impact-minor, .components-container .component-inner-container.status-yellow .component-status, .components-container .component-inner-container.status-yellow .icon-indicator, .layout-content.status.manage-subscriptions .confirmation-infobox .fa { color:#F1C40F; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#F1C40F; } /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ .layout-content.status.status-index .status-day .update-title.impact-maintenance a, .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover, .layout-content.status.status-index .page-status.status-maintenance, .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#3498DB; } .layout-content.status-index .components-statuses .component-container.status-blue:after, .layout-content.status-full-history .month .incident-container .impact-maintenance, .layout-content.status-incident .incident-name.impact-maintenance, .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a, .status-blue .icon-indicator, .incident-history .impact-maintenance, .components-container .component-inner-container.status-blue .component-status, .components-container .component-inner-container.status-blue .icon-indicator { color:#3498DB; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#3498DB; } /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ .layout-content.status.status-index .page-status.status-none { background-color:#006B47; } .layout-content.status-index .components-statuses .component-container.status-green:after, .status-green .icon-indicator, .components-container .component-inner-container.status-green .component-status, .components-container .component-inner-container.status-green .icon-indicator { color:#006B47; } /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ a, a:hover, .layout-content.status-index .page-footer span a:hover, .layout-content.status-index .timeframes-container .timeframe:not(.active):hover, .layout-content.status-incident .subheader a:hover { color:#045BC6; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#045BC6; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #383735; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #383735; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #383735; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #383735; opacity: 1; } </style> <!-- custom css --> <link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/140131/external20230602-27-19pvjva.css"> <!-- polyfills --> <script crossorigin="anonymous" src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js"></script> <!-- Le HTML5 shim --> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- injection for static --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-33366310-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-33366310-1', { 'anonymize_ip' : true}); </script> </head> <body class="status index status-none"> <div class="layout-content status status-index starter"> <div class="custom-header-container"> <header class="masthead" style="background-image: url('https://cardiff.imgix.net/__data/assets/image/0008/498329/new-comsc-masthead-2.jpg');background-color:#999999;"> <div class="container"> <div class="row"> <div class="span12"> <a class="masthead-logo" href="https://www.cardiff.ac.uk"> <svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 96.19"> <title>cu-logo</title> <rect y="49.27" width="100" height="46.92" style="fill:#d73648"></rect> <path d="M91.19,65.1c-0.54.33-2.63,0.35-3.89,0.35,0-1.52,0-3.19,0-4.76,0-.85,0-1.75.07-2.64,0-.45-0.12-0.68-0.92-0.68H85.49c0.07,1.15.12,2.26,0.12,3.35v2.46c0,0.87,0,1.74-.07,2.63,0,0.35,0,.68.85,0.68h4.2a0.72,0.72,0,0,0,.61-0.66S91.19,65.6,91.19,65.1ZM69.52,62l-1,0a9.65,9.65,0,0,1,.12,2c0,0.45,0,.9,0,1.34a5.46,5.46,0,0,1-1.94.31A3.36,3.36,0,0,1,63.18,62c0-2.09,1.2-3.73,3.4-3.73a5,5,0,0,1,3,1.27l0.28-.8a0.61,0.61,0,0,0-.31-0.8,6.79,6.79,0,0,0-3-.61c-3,0-5.28,1.43-5.28,4.67s2.28,4.65,5.21,4.65A15,15,0,0,0,70.27,66v-1.2c0-.73,0-1.38,0-2.13A0.67,0.67,0,0,0,69.52,62Zm8.92,11.15h-1.5a1.72,1.72,0,0,1-.12.75c-0.31.63-.68,1.29-1,1.92s-1.13,1.92-1.5,2.51c-0.91-1.48-1.69-3-2.51-4.53a1.19,1.19,0,0,0-1.17-.64H68.77c1.57,2.25,2.79,4.29,4.1,6.52,0,1.29,0,3-.09,4.32a0.61,0.61,0,0,0,.75.63h1.67C75,83,75,81.11,75,79.54c1.08-1.95,2.32-3.75,3.66-5.72a0.55,0.55,0,0,0,.12-0.4A0.32,0.32,0,0,0,78.43,73.11ZM54.51,59.47A1.37,1.37,0,0,1,56,58.18a2.38,2.38,0,0,1,2,1.13,2.58,2.58,0,0,0,.49-1.13c0-.77-1.76-1-2.35-1-1.57,0-3.12.87-3.12,2.58,0,3,4.27,2.2,4.27,4.2a1.5,1.5,0,0,1-1.64,1.55A3.26,3.26,0,0,1,53,64.21a5.8,5.8,0,0,0-.24,1.1,0.82,0.82,0,0,0,.49.82,4.21,4.21,0,0,0,1.92.44c1.81,0,3.54-1,3.54-3C58.76,60.71,54.51,61.58,54.51,59.47Zm-3.68-2.13-1.22,0a7.4,7.4,0,0,1-1,2.09c-0.52.82-1,1.64-1.27,2-0.73-1.17-1.43-2.37-2.13-3.54a1,1,0,0,0-1-.51H42.71c1.27,1.74,2.44,3.52,3.57,5.35v1c0,0.84-.07,1.76-0.07,2.25a0.51,0.51,0,0,0,.61.47h1.24a36.84,36.84,0,0,1-.14-3.94,36.61,36.61,0,0,1,2.16-3.26c0.31-.47.66-0.92,1-1.36a0.69,0.69,0,0,0,.12-0.31A0.28,0.28,0,0,0,50.83,57.34Zm-10.42.05H35.24c0,0.49.07,0.94,0.12,1.43,0,0.87,0,2.7,0,3.36,0,1.57-.07,2.41-0.07,3.63a0.6,0.6,0,0,0,.7.66h1.13C37.1,65.42,37,64.39,37,63.33v-1.2a20.2,20.2,0,0,1,3.61.24c0-.42.12-1.22-0.52-1.22s-1.85.14-3.1,0.14v-1.9c0-.35,0-0.7,0-1.06a14.29,14.29,0,0,1,3.87.33C40.95,58.19,41.09,57.4,40.41,57.4Zm-9.55,4.08c0-1.81.09-2.23,0.09-3.35a0.65,0.65,0,0,0-.75-0.77H29.12a38.65,38.65,0,0,1,.14,4.22c0,2.25-.09,2.75-0.09,4.13a0.66,0.66,0,0,0,.7.75H31C30.91,65.42,30.86,63.9,30.86,61.48ZM38,80.34a8.24,8.24,0,0,1-3.54.47c-0.35,0-.4-0.21-0.42-0.63V76.9a12.43,12.43,0,0,1,3.45.33l0-.73c0-.49-0.26-0.68-0.94-0.68s-1.62.12-2.58,0.12c0-.56,0-1.29,0-1.85s0-1.17,0-1.64c2.74,0,3.43.23,3.82,0.4V72.32A0.9,0.9,0,0,0,37,71.4H31.81a3.33,3.33,0,0,1,.26,1.53c0,1.38,0,3.36,0,5q0,1.48-.07,3c0,0.52.09,0.82,0.63,0.82h4.46A0.74,0.74,0,0,0,38,81.09V80.34ZM22.36,71.29A12.63,12.63,0,0,0,16.82,70C10.53,70,6.36,75.07,6.36,81.26c0,6,4.57,9.9,10.42,9.9A11,11,0,0,0,22.9,89.4l-0.24-2a7.45,7.45,0,0,1-4.69,2c-5.18,0-8.63-4.29-8.63-9.29,0-4.27,2.44-8.49,7.13-8.49a6.59,6.59,0,0,1,4.34,1.52,4.23,4.23,0,0,1,1.36,2.21,6.34,6.34,0,0,0,1.2-2.7A1.65,1.65,0,0,0,22.36,71.29Zm55.56-14c-3,0-5,1.6-5,4.67,0,2.89,2.25,4.64,5,4.64S83,64.87,83,62,80.73,57.29,77.91,57.29Zm0,8.37c-2.11,0-3.17-1.78-3.17-3.71s1.06-3.73,3.17-3.73S81.1,60,81.1,62C81.1,64.12,80.33,65.67,77.91,65.67Zm9,5.76c-1.67,0-3.4,0-5.09,0a2.48,2.48,0,0,1,.37,1.19c0.12,1.55.19,3.05,0.19,4.62-1.6,0-3.29,0-4.88,0a2.75,2.75,0,0,1,.38,1.2c0.14,1.67.19,3.24,0.19,4.9,0,2.13,0,4.29-.14,6.43a0.58,0.58,0,0,0,.64.56h3.8c4.1,0,7.15-2.21,7.36-6.33a6.2,6.2,0,0,0,4.32-6.29C94.09,73.21,91.18,71.43,87,71.43Zm2.79,11.19c-0.33-3.19-2.32-4.76-5.21-5.21,0-1.76.07-3.29,0.14-4.9a9,9,0,0,1,1.38-.12c3.38,0,5.72,2,5.72,5.49A5.52,5.52,0,0,1,89.75,82.62Zm-2.84.8h-1.6a0.56,0.56,0,0,1-.63-0.54c-0.09-1.41-.17-2.81-0.17-4.08a5,5,0,0,1,3,4.6Zm-4.29,5.84H81a0.57,0.57,0,0,1-.66-0.52c-0.09-1.55-.14-3-0.14-4.53,0-1.94,0-4,.16-5.86a9,9,0,0,1,1.38-.1,6.25,6.25,0,0,1,.68,0q0,2.85-.14,5.7a0.57,0.57,0,0,0,.63.54h3.8c0.24,0,.49,0,0.73,0C87.22,87.24,85.72,89.26,82.62,89.26ZM60,71.48c-2.09,0-4.36,0-6.17,0,0.35,0.49.49,1.43,0.59,3.33,0.07,1.38.12,2.79,0.12,4.2q0,2.57-.07,5.14c0,0.94-.12,1.85-0.12,2.79a0.7,0.7,0,0,0,.78.68h4.69c5.21,0,9.1-2.89,9.1-8.35S65.23,71.48,60,71.48Zm0,14.8h-2a0.69,0.69,0,0,1-.8-0.63c-0.07-.47-0.1-1.15-0.12-1.64,0-1.06-.07-2.63-0.07-3.94,0-2.42.12-4.83,0.21-7.22A10.6,10.6,0,0,1,59,72.69c4.18,0,7.06,2.37,7.06,6.76C66.1,83.32,64.22,86.28,60.07,86.28Zm-12.6-4.95A5.58,5.58,0,0,0,51.66,76c0-3.38-3-4.62-6-4.62-1.9,0-3.82,0-5.75.07a4.81,4.81,0,0,1,.33,1.85c0,2.32,0,4.43,0,6.05,0,4.48-.21,7.06-0.21,7.91,0,0.35.14,0.4,0.44,0.4l3,0a1.84,1.84,0,0,1-.31-0.89,36.72,36.72,0,0,1-.31-4.9c0.63,0,1.36,0,2,0,0.83,1.31,1.86,2.84,3,4.39,1.77,2.32,4.17,5,7,5A20.52,20.52,0,0,0,57,91C53.71,89.86,49.44,84.29,47.47,81.33Zm-2.93-.66-1.64,0V77.86c0-1.69,0-3.61.14-5.25,0.49,0,1.06-.1,1.6-0.1,2.39,0,4.31,1.27,4.31,3.85A4.19,4.19,0,0,1,44.53,80.67ZM23.24,62.58a2.83,2.83,0,0,0,2.27-2.67c0-1.95-1.71-2.51-3.33-2.51l-2.2,0-1.08,0a1.34,1.34,0,0,1,.21.61c0.07,1,0,2.56,0,3.82,0,0.89,0,1.81,0,2.7,0,0.45,0,.87,0,1.31a0.55,0.55,0,0,0,.66.59c0.4,0,.8,0,1.2,0a26.17,26.17,0,0,1-.17-3.54h1C22.42,64,23.1,65,23.92,66.13a2.91,2.91,0,0,0,2.63,1.31H27A28.85,28.85,0,0,1,23.24,62.58Zm-2-.49H20.73V61.18c0-.68,0-2.3,0-3l0.8,0a2.09,2.09,0,0,1,2.32,2C23.9,61.67,22.53,62.12,21.25,62.09Zm-8-4.66-3.31,0a4.89,4.89,0,0,1,.21,1.64c0,1.31,0,2.65,0,3.94,0,0.92,0,1.81,0,2.72a0.64,0.64,0,0,0,.66.75h1.13c-0.1-1.1-.12-2.37-0.12-3.54,0.28,0,.56,0,0.84,0,1.85,0,3.87-.89,3.87-3C16.47,58,14.85,57.46,13.23,57.43Zm-0.75,4.76c-0.23,0-.54,0-0.73,0V58.25l0.91,0c1.2,0,2.11.47,2.11,1.81A2.08,2.08,0,0,1,12.48,62.19ZM31.79,85L26.91,73.87a0.81,0.81,0,0,0-.8-0.7H25.81l-5.63,12a1.11,1.11,0,0,0-.14.56,0.38,0.38,0,0,0,.47.28h1.24a1,1,0,0,1,0-.28,2.06,2.06,0,0,1,.14-0.7l1.2-2.91H27.9l1.31,3.26A0.79,0.79,0,0,0,30,86h2.39A2.82,2.82,0,0,1,31.79,85Zm-8.23-4,2-4.74L27.47,81H23.56Z" transform="translate(0 -1)" style="fill:#fff"></path> <rect width="100" height="46.92" style="fill:#d73648"></rect> <path d="M93.32,6.84H83.66A68.64,68.64,0,0,1,84,16.18c0,3.21-.26,8.66-0.26,9.62a0.86,0.86,0,0,0,1,.94H87.2a4.34,4.34,0,0,1-.26-1.36c-0.21-2.89-.28-5.82-0.28-8.7l1.48-.09a13,13,0,0,1,4.57.54,2.86,2.86,0,0,0,.28-1,1.1,1.1,0,0,0-1.34-.89h-5c0-2.35.1-4.69,0.19-7h1.55c1.39,0,5,0,6.1.68a3.35,3.35,0,0,0,.09-1.08A1.1,1.1,0,0,0,93.32,6.84ZM81,7.87H72.61c0.47,0.82.44,6.64,0.44,7.84,0,2.51-.23,6.1-0.23,7.53a0.79,0.79,0,0,0,.75.92h2.49a11.92,11.92,0,0,1-.4-3.24c0-1.31,0-2.93,0-4.76,0.35,0,1-.07,1.46-0.07a9.55,9.55,0,0,1,3.82.54c0-.35.09-0.7,0.09-1.06a0.83,0.83,0,0,0-1-.77H75.63c0-1.85.09-3.68,0.16-5.54l1.62,0a13.6,13.6,0,0,1,5.07.68V9.85C82.48,8.79,82.18,7.87,81,7.87Zm-11.77,8.4c0-1.34,0-2.68.07-4,0-.7.09-1.43,0.09-2.14a0.6,0.6,0,0,0-.66-0.54H66.44a38.82,38.82,0,0,1,.31,6.22c0,1.29,0,2.6-.07,3.92,0,0.59,0,1.22,0,1.81a0.72,0.72,0,0,0,.73.77c0.73,0,1.43,0,2.16,0A38.64,38.64,0,0,1,69.19,16.27ZM91.44,31.71l-1.2,0a7.93,7.93,0,0,1-1,2.09c-0.49.82-1,1.64-1.24,1.95-0.75-1.15-1.43-2.35-2.16-3.52a1,1,0,0,0-1-.52h-1.5c1.29,1.73,2.46,3.52,3.59,5.35v1c0,0.87-.1,1.74-0.1,2.23a0.53,0.53,0,0,0,.64.47h1.22c-0.12-1.29-.14-2.58-0.14-3.89,0.66-1.13,1.41-2.21,2.16-3.26,0.33-.47.66-0.92,1-1.36A0.5,0.5,0,0,0,91.77,32,0.28,0.28,0,0,0,91.44,31.71Zm-8.86,0H75.94a0.89,0.89,0,0,0-1,.82V33a20.13,20.13,0,0,1,3-.16C78,34,78,35,78,36.1c0,1.85-.09,2.72-0.09,4.08a0.59,0.59,0,0,0,.73.61h1.13a42.61,42.61,0,0,1-.14-4.62c0-1.08,0-2.49,0-3.28,0.89,0,1.76.12,2.39,0.12a0.68,0.68,0,0,0,.56-0.82V31.73h0Zm-9.13,4.08c0-1.81.09-2.23,0.09-3.35a0.65,0.65,0,0,0-.75-0.77H71.72a39.29,39.29,0,0,1,.14,4.22c0,2.25-.09,2.77-0.09,4.13a0.66,0.66,0,0,0,.7.75h1.13C73.5,39.75,73.45,38.23,73.45,35.81Zm-8.24-2a1.35,1.35,0,0,1,1.5-1.27,2.36,2.36,0,0,1,2,1.1,2.6,2.6,0,0,0,.49-1.13c0-.77-1.76-0.94-2.32-0.94-1.59,0-3.14.85-3.14,2.56,0,3,4.27,2.21,4.27,4.2a1.52,1.52,0,0,1-1.64,1.57,3.29,3.29,0,0,1-2.6-1.36,5.81,5.81,0,0,0-.23,1.1,0.82,0.82,0,0,0,.49.82,4.24,4.24,0,0,0,1.93.47c1.81,0,3.54-1,3.54-3C69.45,35,65.21,35.91,65.21,33.8ZM52.13,39.43a7.21,7.21,0,0,1-2.74.38H48.75c-0.35,0-.35-0.19-0.35-0.49s0-1.9,0-2.13v-0.7a14,14,0,0,1,3.31.28c0-.23,0-0.49,0-0.73a0.55,0.55,0,0,0-.68-0.54c-0.87,0-1.81.09-2.68,0.09V34c0-.44,0-0.92.07-1.38a13.2,13.2,0,0,1,3.61.33c0-.54,0-1.24-0.78-1.24H46.5a1.34,1.34,0,0,1,.19.52c0.07,1.1.07,2.21,0.07,3.31,0,1.53-.07,3-0.07,4.58a0.5,0.5,0,0,0,.54.61h4.2a0.62,0.62,0,0,0,.7-0.63V39.43h0Zm-7.49-7.74H43.37a2.86,2.86,0,0,1-.31,1.45c-0.71,1.74-1.65,3.91-2.37,5.38-0.47-1-1.19-2.75-1.78-4.15-0.31-.71-0.54-1.32-0.84-2a1.07,1.07,0,0,0-1.15-.66l-1.17,0c1.41,3,2.81,6,4.06,9.13H41c1.2-2.91,2.56-5.72,3.89-8.59a0.34,0.34,0,0,0,0-.16A0.32,0.32,0,0,0,44.64,31.68ZM22.4,7.73a12.46,12.46,0,0,0-5.51-1.29C10.6,6.44,6.43,11.51,6.43,17.7c0,6,4.57,9.9,10.42,9.9A11,11,0,0,0,23,25.84l-0.24-2a7.34,7.34,0,0,1-4.72,2c-5.16,0-8.61-4.29-8.61-9.29,0-4.27,2.44-8.47,7.13-8.47a6.59,6.59,0,0,1,4.34,1.52,4.2,4.2,0,0,1,1.36,2.21,6.55,6.55,0,0,0,1.2-2.72A1.64,1.64,0,0,0,22.4,7.73ZM33.83,35.81c0-1.81.09-2.23,0.09-3.35a0.64,0.64,0,0,0-.73-0.77h-1.1a38.65,38.65,0,0,1,.14,4.22c0,2.25-.1,2.77-0.1,4.13a0.66,0.66,0,0,0,.73.75H34C33.88,39.75,33.83,38.23,33.83,35.81ZM28.9,31.73H28c0.07,1.52.09,3,.09,4.57v1.57c-2.2-2-4.25-4.13-6.4-6.24H21c0,0.42,0,.87,0,1.31,0,1.76,0,4.15-.07,5.28s-0.16,1.5-.16,2.16a0.37,0.37,0,0,0,.47.4l1,0a19.93,19.93,0,0,1-.16-2.91c0-1.12,0-2.18,0-3.31,2.18,2.13,4.34,4.13,6.41,6.38H29.2c0-1.53-.07-3-0.07-4.55,0-.85.07-1.62,0.09-2.39s0.12-1.38.12-1.78A0.41,0.41,0,0,0,28.9,31.73Zm-11.23,0H16.82A15.4,15.4,0,0,1,17,34.22c0,0.54,0,1.52,0,2.3,0,1.85-.56,3.31-2.72,3.31-2.49,0-2.74-1.5-2.74-3.61,0-1.36.14-3,.14-4.1a0.41,0.41,0,0,0-.49-0.42H9.83c0.07,1,.09,1.67.09,3.24,0,0.66,0,1.55,0,2.23,0,2.7,1.52,3.78,4.1,3.78s4-1.31,4.11-3.82,0.21-4.13.21-4.93A0.5,0.5,0,0,0,17.67,31.68ZM55.25,7.94L49.08,8c0.33,0.52.47,1.46,0.56,3.35,0.09,1.39.12,2.79,0.12,4.2,0,1.71,0,3.4-.07,5.11,0,0.94-.1,1.88-0.1,2.81a0.72,0.72,0,0,0,.77.68H55c5.23,0,9.13-2.89,9.13-8.35S60.46,7.94,55.25,7.94Zm0,14.8h-2a0.67,0.67,0,0,1-.8-0.66,12.12,12.12,0,0,1-.12-1.62c0-1.06-.07-2.63-0.07-3.94,0-2.42.09-4.83,0.19-7.25a11.24,11.24,0,0,1,1.76-.12c4.18,0,7,2.37,7,6.76C61.3,19.77,59.45,22.75,55.29,22.75Zm3.61,14.15a2.78,2.78,0,0,0,2.28-2.65c0-1.95-1.69-2.51-3.33-2.51l-2.2,0c-0.35,0-.7,0-1.08,0a1.11,1.11,0,0,1,.21.61c0.07,1,0,2.53,0,3.8,0,0.92,0,1.83,0,2.72,0,0.42,0,.87,0,1.29a0.54,0.54,0,0,0,.66.59l1.2,0a26.39,26.39,0,0,1-.16-3.54h1c0.7,1.13,1.38,2.18,2.2,3.28a2.91,2.91,0,0,0,2.63,1.31h0.49A31,31,0,0,1,58.91,36.89Zm-2-.47H56.4V35.51c0-.68,0-2.32.07-3l0.78,0a2.09,2.09,0,0,1,2.32,2C59.56,36,58.2,36.42,56.91,36.42Zm-24.16-15L27.87,10.29a0.82,0.82,0,0,0-.8-0.7l-0.31,0L21.14,21.55a1.18,1.18,0,0,0-.14.59c0,0.21.26,0.26,0.47,0.26h1.24a1.07,1.07,0,0,1,0-.28,2.08,2.08,0,0,1,.14-0.7L24,18.5h4.81l1.34,3.28a0.77,0.77,0,0,0,.82.59h2.39A2.75,2.75,0,0,1,32.75,21.46Zm-8.26-4,2.07-4.74,1.88,4.74H24.49Zm17.75,0.36a5.59,5.59,0,0,0,4.2-5.35c0-3.38-3-4.62-6-4.62-1.9,0-3.82,0-5.75.07a4.83,4.83,0,0,1,.33,1.85c0,2.32,0,4.43,0,6.05,0,4.48-.21,7.06-0.21,7.91,0,0.35.14,0.4,0.45,0.4l3,0A1.85,1.85,0,0,1,38,23.22a36.7,36.7,0,0,1-.31-4.9c0.63,0,1.36,0,2,0,0.83,1.31,1.86,2.84,3,4.39,1.77,2.32,4.17,5,7,5a20.5,20.5,0,0,0,2.08-.14C48.48,26.36,44.21,20.78,42.24,17.83Zm-2.93-.66-1.64,0V14.35c0-1.69,0-3.61.14-5.25C38.3,9.05,38.86,9,39.4,9c2.39,0,4.32,1.27,4.32,3.85A4.19,4.19,0,0,1,39.31,17.17Z" transform="translate(0 -1)" style="fill:#fff"></path> <rect y="46.92" width="100" height="2.35" style="fill:#fff"></rect> </svg> </a> <a class="masthead-title" href="https://status.cardiff.ac.uk/" style="margin-left:10px" ; margin-top:-5px>IT Service Status Page</a> <div id="replace-with-subscribe"></div> </div> </div> </div> </header> <!-- Replace "x" with the number of days you want to show + 2. --> <!-- For example, if you wanted to show the last 3 days of history, you would replace x with 5. --> <!-- Do the replacements described above and then paste the following into your Custom CSS section. --> <script> $(function() { $('.status-day:nth-child(n+3)').remove(); }); </script> <script src="https://global.localizecdn.com/localize.js"></script> <script>!function(a){if(!a.Localize){a.Localize={};for(var e=["translate","untranslate","phrase","initialize","translatePage","setLanguage","getLanguage","detectLanguage","getAvailableLanguages","untranslatePage","bootstrap","prefetch","on","off","hideWidget","showWidget","getSourceLanguage"],t=0;t<e.length;t++)a.Localize[e[t]]=function(){}}}(window);</script> <script> Localize.initialize({ key: 'kfZsAMZlEB3NO', rememberLanguage: true, // other options go here, separated by commas autoApprove: true, }); </script> <div class="updates-dropdown-container" data-js-hook="updates-dropdown-container"> <a href="#" data-js-hook="show-updates-dropdown" id="show-updates-dropdown" class="show-updates-dropdown" aria-label="Subscribe to updates" aria-expanded="false" aria-haspopup="dialog" role="button"> </a> <!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html --> <div class="updates-dropdown" data-js-hook="updates-dropdown" id="updates-dropdown" style="display:none"> <div class="updates-dropdown-nav nav-items-5" role="tablist" aria-label="Subscribe to updates"> <a href="#updates-dropdown-email" aria-controls="updates-dropdown-email" aria-label="Subscribe via email" role="tab" aria-selected="true" id="updates-dropdown-email-btn"> <span class="icon-container email"> </a> <a href="#updates-dropdown-sms" aria-controls="updates-dropdown-sms" aria-label="Subscribe via SMS" role="tab" id="updates-dropdown-sms-btn"> <span class="icon-container sms"> </a> <a href="#updates-dropdown-webhook" aria-controls="updates-dropdown-webhook" aria-label="Subscribe via webhook" role="tab" id="updates-dropdown-webhook-btn"> <span class="icon-container webhook"> </a> <a href="#updates-dropdown-support" aria-controls="updates-dropdown-support" aria-label="Contact support" role="tab" id="updates-dropdown-support-btn"> <span class="icon-container support"> </a> <button data-js-hook="updates-dropdown-close" aria-label="Close subscribe form" id="updates-dropdown-close-btn"> x </button> </div> <div class="updates-dropdown-sections-container"> <div class="updates-dropdown-section email" id="updates-dropdown-email" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-email-btn"> <div class="directions"> Get email notifications whenever Cardiff University <strong>creates</strong>, <strong>updates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-email" action="/subscriptions/new-email" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="email_otp_verify_flow" id="email_otp_verify_flow" value="false" autocomplete="off" /> <!-- make sure not to put cookie values in here since this gets cached --> <label for="email">Email address:</label> <input name="email" id="email" type="text" class="full-width" data-js-hook="email-notification-field" autocomplete="email"> <input name="email_otp_auth_token" type='hidden' id="email-otp-token-field"> <div class="opt-container-section" id="email-otp-container", style="display:none" > <label for="email-otp">Enter OTP:</label> <input name="otp" id="email-otp" type="text" value="" class="prepend full-width"> <p id="email-otp-timer">Resend OTP in: <span id="email-otp-countdown"></span> seconds </p> <p id="resend-email-otp"> Didn't receive the OTP? <a href="#" id="resend-email-otp-btn" >Resend OTP </a> </p> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Email" class="flat-button full-width g-recaptcha" id="subscribe-btn-email" data-disabled-text="Subscribing..." data-sitekey=6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callback="submitNewEmailSubscriber" data-error-callback="emailSubscriberCaptchaError" > <div class="terms_and_privacy_information bottom small"><div class="privacy_policy_information small">By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://www.cardiff.ac.uk/help/privacy">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section phone" id="updates-dropdown-sms" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-sms-btn"> <div class="directions"> Get text message notifications whenever Cardiff University <strong>creates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-sms" action="/subscriptions/new-sms" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="otp_verify_flow" id="otp_verify_flow" value="false" autocomplete="off" /> <input type="hidden" name="subscriber_code" id="subscriber_code" value="" autocomplete="off" /> <div class="control-group"> <div class="controls externalities-sms-container"> <!-- make sure not to put cookie values in here since this gets cached --> <label for="phone-country">Country code:</label> <div id="phone-number-country-code" class="phone-country-wrapper" data-otp-enabled="false"> <select name="phone_country" id="phone-country" data-js-hook="phone-country" class="phone-country"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" selected>United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" >United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> <label for="phone-number">Phone number:</label> <input name="phone_number" id="phone-number" type="text" class="prepend full-width" data-js-hook="sms-notification-field"> <div class="sms-atl-error" id="sms-atl-error"></div> <div class="clearfix"></div> <div class="opt-container-section" id="otp-container" style="display:none"> <a href="#" id="btn-subcriber-change-number">Change number</a> <label for="otp">Enter OTP:</label> <input name="otp" id="otp" type="text" class="prepend full-width"> <p id="timer">Resend OTP in: <span id="countdown">30</span> seconds </p> <p id="resend"> Didn't receive the OTP? <a href="#" id="resend-otp-btn" >Resend OTP </a> </p> </div> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Text Message" class="flat-button full-width g-recaptcha" id="subscribe-btn-sms" data-disabled-text="Subscribing..." data-sitekey=6LcH-b0UAAAAACVQtMb14LBhflMA9y0Nmu7l_W6d data-callback="submitNewSmsSubscriber" data-error-callback="smsSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small">Message and data rates may apply. By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://www.cardiff.ac.uk/help/privacy">Privacy Policy</a>, the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section webhook" id="updates-dropdown-webhook" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-webhook-btn"> <div class="directions"> Get webhook notifications whenever Cardiff University <strong>creates</strong> an incident, <strong>updates</strong> an incident, <strong>resolves</strong> an incident or <strong>changes</strong> a component status. </div> <form id="subscribe-form-webhook" action="/subscriptions/webhook.json" accept-charset="UTF-8" data-remote="true" method="post"> <div class="control-group"> <div class="controls"> <label for="endpoint-webhooks">Webhook URL:</label> <input type="text" name="endpoint" id="endpoint-webhooks" data-js-hook="endpoint" class="full-width" aria-describedby="url-help-block" /> <p class="help-block" id="url-help-block">The URL we should send the webhooks to</p> </div> </div> <div class="control-group"> <div class="controls"> <label for="email-webhooks">Email address:</label> <input type="text" name="email" id="email-webhooks" data-js-hook="email" class="full-width" aria-describedby="email-help-block" /> <p class="help-block" id="email-help-block">We'll send you email if your endpoint fails</p> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value=Subscribe To Notifications class="flat-button full-width g-recaptcha" id="subscribe-btn-webhook" data-disabled-text="Subscribing..." data-sitekey=6LcQ-b0UAAAAAJjfdwO_-ozGC-CzWDj4Pm1kJ2Ah data-callback="submitNewWebhookSubscriber" data-error-callback="webhookSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small"><div class="privacy_policy_information small">By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://www.cardiff.ac.uk/help/privacy">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section support" id="updates-dropdown-support" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-support-btn"> Visit our <a target="_blank" href="https://www.cardiff.ac.uk/help/contact-us/it-support">support site</a>. </div> </div> </div> </div> <script> $(function () { const phoneNumberInput = $('#phone-number'); const errorDiv = $('#sms-atl-error') if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = $('#phone-country').val(); const isOtpEnabled = $('#phone-number-country-code').attr('data-otp-enabled') === 'true'; const form = document.getElementById('subscribe-form-sms'); form.action = '/subscriptions/new-sms'; const isOtpFlow = document.getElementById('otp_verify_flow'); document.getElementById('otp-container').style.display = "none"; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInput.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInput.prop('readonly', false); errorDiv.html(''); if(false){ if(isOtpEnabled){ document.getElementById('subscribe-btn-sms').value = "Send OTP"; } else { isOtpFlow.value = false; document.getElementById('subscribe-btn-sms').value = "Subscribe via Text Message"; } } } } $('#phone-country').on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdown = document.querySelector('#phone-number-country-code .phone-country'); if (dropdown){ const wrapperDiv = document.getElementById('phone-number-country-code'); const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); dropdown.addEventListener('change', function() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); }); } }); var countdownTimer; var resendBtn = document.getElementById('resend'); var timer = document.getElementById('timer'); var form = document.getElementById('subscribe-form-sms'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.otp_flow === true) { document.getElementById('subscriber_code').value = data.subscriber_code document.getElementById('otp-container').style.display = "block"; $('#phone-number').prop('readonly', true); var display = document.getElementById('countdown'); disableResend(); startTimer(RESEND_TIMER, display) document.getElementById('subscribe-btn-sms').value = "Verify OTP and Subscribe"; document.getElementById('otp_verify_flow').value = true; form.action = '/subscriptions/verify-otp'; } else if (data.type === 'success' && action.includes('verify')){ document.getElementById('otp-container').style.display = "none"; $('#phone-number').val('').prop('readonly', false); $('#otp').val(''); document.getElementById('subscribe-btn-sms').value = "Send OTP"; document.getElementById('otp_verify_flow').value = false; form.action = '/subscriptions/new-sms'; SP.currentPage.updatesDropdown.hide(); } }); $("#btn-subcriber-change-number").on('click', () => { document.getElementById('otp-container').style.display = "none"; $('#phone-number').prop('readonly', false); document.getElementById('subscribe-btn-sms').value = "Send OTP"; form.action = '/subscriptions/new-sms'; return false }) $('#resend-otp-btn').on('click', function(e) { e.preventDefault(); let phoneNumber = $('#phone-number').val(); let countryCode = $('.phone-country').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, type: 'resend' }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); var display = document.getElementById('countdown'); disableResend(); timer.style.display = "none" if (data.type === 'success') { startTimer(RESEND_TIMER, display); } }) }); }) function startTimer(duration, display){ var timer = duration, seconds; clearInterval(countdownTimer); countdownTimer = setInterval(function () { seconds = parseInt(timer % 60, 10); display.textContent = seconds; if(--timer < 0){ enableResend(); clearInterval(countdownTimer); } }, 1000); disableResend(); } function enableResend(){ resendBtn.style.display = "block"; timer.style.display = "none" } function disableResend(){ resendBtn.style.display = "none"; timer.style.display = "block" } $(function() { $('#subscribe-form-email').on('submit', function() { var tokenField = document.getElementById('email-otp-token-field'); let page_code = "k1mrnq8hq4cs" let key = keyForEmailOtpToken($('#email').val(), page_code); tokenField.value = localStorage.getItem(key); }); }); var emailOtpCountdownTimer; var emailOtpResendBtn = document.getElementById('resend-email-otp'); var emailOtpTimer = document.getElementById('email-otp-timer'); var emailOtpForm = document.getElementById('subscribe-form-email'); var EMAIL_OTP_RESEND_TIMER = 600; $(function() { $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.email_otp_verify_flow === true) { document.getElementById('email-otp-container').style.display = "block"; var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display) document.getElementById('subscribe-btn-email').value = "Verify OTP and Subscribe"; document.getElementById('email_otp_verify_flow').value = true; form.action = '/subscriptions/verify-email-otp'; } else if (data.type === 'success' && action.includes('verify')){ let email = $('#email') let page_code = "k1mrnq8hq4cs" let key = keyForEmailOtpToken(email.val(), page_code); localStorage.setItem(key, data.email_otp_auth_token); document.getElementById('email-otp-container').style.display = "none"; email.val('').prop('readonly', false); $('#email-otp').val(''); document.getElementById('subscribe-btn-email').value = "Send OTP"; document.getElementById('email_otp_verify_flow').value = false; form.action = '/subscriptions/new-email'; SP.currentPage.updatesDropdown.hide(); } }); $('#resend-email-otp-btn').on('click', function(e) { e.preventDefault(); let email = $('#email').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-email", data: { email: email }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); if (data.type === 'success') { var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); emailOtpTimer.style.display = "none" startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display); } }) }); }) function startEmailOtpTimer(duration, display){ var timer = duration, seconds; clearInterval(emailOtpCountdownTimer); emailOtpCountdownTimer = setInterval(function () { seconds = parseInt(timer, 10); display.textContent = seconds; if(--timer < 0){ enableEmailOtpResend(); clearInterval(emailOtpCountdownTimer); } }, 1000); disableEmailOtpResend(); } function enableEmailOtpResend(){ emailOtpResendBtn.style.display = "block"; emailOtpTimer.style.display = "none" } function disableEmailOtpResend(){ emailOtpResendBtn.style.display = "none"; emailOtpTimer.style.display = "block" } function keyForEmailOtpToken(email, pageCode) { return email + '|' + pageCode+ '|SUBSCRIBE_VIA_EMAIL'; } </script> </div> <div class="container"> <div class="unresolved-incidents"> <div class="unresolved-incident impact-minor"> <div class="incident-title font-large"> <a class="whitespace-pre-wrap actual-title with-ellipsis" href="/incidents/h7gp18lgvg40">Teams Telephony</a> <a data-toggle="modal" role="button" class="subscribe" id="btn-subscribe-modal-h7gp18lgvg40" href="#subscribe-modal-h7gp18lgvg40">Subscribe</a> </div> <div class="updates font-regular"> <div class="update"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">We are actively monitoring the telephony services, and it appears that service has been restored. If anyone is still experiencing issues with external calls to the university, please contact the service desk at <a target="_blank" href="mailto:it-support@cardiff.ac.uk">it-support@cardiff.ac.uk</a> or +44 (0)29 2251 1111.<br /><br />Apologies for any inconvenience this may have caused.</span> <br> <small><span class="ago" data-datetime-unix="1743686335000"></span>Apr <var data-var='date'>03</var>, <var data-var='year'>2025</var> - <var data-var='time'>14:18</var> BST</small> </div> <div class="update"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">University IT has been made aware of an intermittent issue external to the university which is impacting Teams telephony audio, both internally and externally. Users are reporting they cannot hear the audio of participants in their telephone conversations. This has been escalated to our service provider.<br /><br />We apologise for any inconvenience this may be causing.</span> <br> <small><span class="ago" data-datetime-unix="1743607440000"></span>Apr <var data-var='date'>02</var>, <var data-var='year'>2025</var> - <var data-var='time'>16:24</var> BST</small> </div> </div> </div> <div class="modal hide fade modal-open-incident-subscribe" id="subscribe-modal-h7gp18lgvg40" style="display: none" data-js-hook="incident-subscription-modal" role="dialog" aria-labelledby="incident-subscription-dialog-header" aria-describedby="incident-subscription-dialog-description" aria-modal="true"> <form class="modal-content" id="subscribe-form-h7gp18lgvg40" action="/subscriptions/incident.json" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="incident_code" id="incident_code" value="h7gp18lgvg40" autocomplete="off" /> <div class="modal-header"> <a href="#" data-dismiss="modal" class="close" data-js-hook="incident-modal-close" aria-label="close" role="button">×</a> <h4 id="incident-subscription-dialog-header"> Subscribe to Incident </h4> </div> <div class="modal-body"> <p style="margin-bottom:25px" id="incident-subscription-dialog-description"> Subscribe to updates for <strong>Teams Telephony</strong> via email and/or text message. You'll receive email notifications when incidents are updated, and text message notifications whenever Cardiff University <strong>creates</strong> or <strong>resolves</strong> an incident. </p> <div class="control-group"> <label for="email-h7gp18lgvg40">VIA EMAIL:</label> <div class="controls"> <input type="text" name="email" id="email-h7gp18lgvg40" data-js-hook="email" class="full-width" /> </div> </div> <div class="control-group"> <label class="phone-country-code" for=phone-country-h7gp18lgvg40>VIA SMS:</label> <div class="controls phone-number"> <div class="row"> <div id='phone-number-code-h7gp18lgvg40' class="phone-country-wrapper"> <select name="phone_country" id="phone-country-h7gp18lgvg40" data-js-hook="phone-country" class="span6 phone-country-dropdown"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" selected>United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" >United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> </div> </div> <label class="sub-label" for="phone-number-h7gp18lgvg40">Enter mobile number</label> <div class="controls phone-number" data-js-hook="modal-open-incident-subscribe-phone-number"> <div class="flex-container"> <input type="text" name="phone_number" id="phone-number-h7gp18lgvg40" data-js-hook="phone-number" /> <input type="hidden" name="incident-code-h7gp18lgvg40" id="incident-code-h7gp18lgvg40" value="h7gp18lgvg40" autocomplete="off" /> <a class="btn-change-number-incident" id="btn-change-number-incident-h7gp18lgvg40" style="display: none;" data-incident-code="h7gp18lgvg40" href="#"> Edit number </a> <a class="btn-subcriber-send-otp" id="btn-subcriber-send-otp-h7gp18lgvg40" style="display: none;" data-incident-code="h7gp18lgvg40" href="#"> Send OTP </a> </div> </div> <div class="sms-atl-error" id='sms-atl-error-h7gp18lgvg40'></div> <div class="opt-container-section" id='otp-container-incident-h7gp18lgvg40' style="display:none"> <label class="sub-label" for="otp">Enter the OTP sent</label> <div class="flex-container"> <input name="otp" id='otp-field-h7gp18lgvg40' type="text" class="prepend" disabled> <a class="resend-otp" id="resend-otp-h7gp18lgvg40" style="display: none;" data-incident-code="h7gp18lgvg40" href="#"> Resend OTP </a> <span class="timer-incident" id='timer-incident-h7gp18lgvg40' style="display:none"> in <span id='countdown-incident-h7gp18lgvg40'>30</span> seconds</span> </div> <div class="info-row flex-container"> <div class="info-icon"><svg width="2vh" height="2vh" viewBox="0 0 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="status-embed-svg-info-icon"> <defs> <path d="M2,12 C2,6.47666667 6.47666667,2 12,2 C17.5233333,2 22,6.47666667 22,12 C22,17.5233333 17.5233333,22 12,22 C6.47666667,22 2,17.5233333 2,12 Z M4,12 C4,16.4187638 7.58123617,20 12,20 C16.4187638,20 20,16.4187638 20,12 C20,7.58123617 16.4187638,4 12,4 C7.58123617,4 4,7.58123617 4,12 Z M11,11.0029293 C11,10.4490268 11.4438648,10 12,10 C12.5522847,10 13,10.4378814 13,11.0029293 L13,15.9970707 C13,16.5509732 12.5561352,17 12,17 C11.4477153,17 11,16.5621186 11,15.9970707 L11,11.0029293 Z M12,9 C11.4477153,9 11,8.55228475 11,8 C11,7.44771525 11.4477153,7 12,7 C12.5522847,7 13,7.44771525 13,8 C13,8.55228475 12.5522847,9 12,9 Z" id="path-info"></path> </defs> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-702.000000, -945.000000)"> <g id="global/info" transform="translate(700.500000, 943.500000)"> <mask id="mask-info" fill="white"> <use xlink:href="#path-info"></use> </mask> <use id="Combined-Shape" fill="#42526E" fill-rule="nonzero" xlink:href="#path-info"></use> <g id="Neutral-/-N000" mask="url(#mask-info)" fill-rule="evenodd"> <polygon points="0 24 24 24 24 0 0 0"></polygon> </g> </g> </g> </g> </svg> </div> <div>To receive SMS updates, please verify your number. To proceed with just email click ‘Subscribe’ </div> </div> </div> </div> </div> <div class="modal-footer incident-subscribe"> <!-- tests fail if static width isn't present ¯\_(ツ)_/¯ --> <button name="button" type="submit" class="flat-button cpt-button incident-subscribe-btn-captcha" id="subscribe-btn-h7gp18lgvg40" onclick="submitCaptchaIncidentSubscribe(event)">Subscribe to Incident</button> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" value="false" autocomplete="off" /> <div class="terms_and_privacy_information left small">Message and data rates may apply. By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://www.cardiff.ac.uk/help/privacy">Privacy Policy</a>, the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </div> </form> </div> <script> $(function () { const phoneNumberInputIncident = $('#phone-number-h7gp18lgvg40'); const phoneCountrySelect = $('#phone-country-h7gp18lgvg40'); const errorDiv = $('#sms-atl-error-h7gp18lgvg40'); const phoneCountryDiv = $('#phone-number-code-h7gp18lgvg40'); if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = phoneCountrySelect.val(); const isOtpEnabled = phoneCountryDiv.attr('data-otp-enabled') === 'true'; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInputIncident.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInputIncident.prop('readOnly', false); errorDiv.html(''); if(false){ $('#btn-change-number-incident-h7gp18lgvg40').css('display', 'none'); $('#resend-otp-h7gp18lgvg40').css('display', 'none'); $('#timer-incident-h7gp18lgvg40').css('display', 'none'); if(isOtpEnabled){ $('#otp-container-incident-h7gp18lgvg40').css('display', 'block'); $('#btn-subcriber-send-otp-h7gp18lgvg40').css('display', 'block'); } else { $('#otp-container-incident-h7gp18lgvg40').css('display', 'none'); $('#btn-subcriber-send-otp-h7gp18lgvg40').css('display', 'none'); } } } } phoneCountrySelect.on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdowns = document.querySelectorAll('.phone-country-dropdown'); if (dropdowns.length > 0) { dropdowns.forEach(function(dropdown) { const dropdownId = dropdown.id; const incidentCode = dropdownId.split('-').pop(); const wrapperDiv = $('#phone-number-code-' + incidentCode); function updateOtpEnabledAttribute() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.attr('data-otp-enabled', otpEnabled); } dropdown.addEventListener('change', updateOtpEnabledAttribute); updateOtpEnabledAttribute(); }); } }); var countdownTimers = {}; var phoneNumberInputIncident = $('#phone-number-h7gp18lgvg40'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-h7gp18lgvg40').on('ajax:success', function(e, data, status, xhr){ var $form = $(this); var formId = $form.attr('id'); var incidentCode = formId.split('-').pop(); $('#btn-change-number-incident-' + incidentCode).css('display', 'block'); if ( $('#btn-change-number-incident-'+ incidentCode).css('display') !== 'none') { $('#btn-change-number-incident-'+ incidentCode).css('display', 'none'); $('#btn-subcriber-send-otp-'+ incidentCode).css('display', 'block'); $('#otp-container-incident-'+ incidentCode).css('display', 'block'); $('#resend-otp-'+ incidentCode).css('display', 'none'); $('#timer-incident-'+ incidentCode).css('display', 'none'); $('#phone-number-' + incidentCode).prop('readOnly', false); $('#otp-field-' + incidentCode).val('').prop('disabled', true); } if(countdownTimers){ clearInterval(countdownTimers[incidentCode]); } }); $('#btn-change-number-incident-h7gp18lgvg40').on('click', function (e) { var incidentCode = $(this).data('incident-code'); showSendOTP(incidentCode); return false; }); $('#btn-subcriber-send-otp-h7gp18lgvg40').on('click', function (e) { let incidentCode = $(this).data('incident-code'); let phoneNumber = $('#phone-number-' + incidentCode).val(); let countryCode = $('#phone-country-' + incidentCode).val(); let incidentCodeField = $('#incident-code-' + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); if (data.type === 'success') { showChangeNumber(incidentCode); } }); }); $('#resend-otp-h7gp18lgvg40').on('click', function(e) { let incidentCode = $(this).data('incident-code'); let phoneNumber = $('#phone-number-' + incidentCode).val(); let countryCode = $('#phone-country-' + incidentCode).val(); let incidentCodeField = $('#incident-code-' + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); disableResendIncident(incidentCode); if (data.type === 'success') { var display = $('#countdown-incident-' + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode ); } }); }); }) function sendOtpRequest(phoneNumber, countryCode, incidentCode, onSuccess) { $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, incident_code: incidentCode, type: 'resend' }, }).done(onSuccess); } function showChangeNumber(incidentCode) { $('#btn-change-number-incident-' + incidentCode).css('display', 'block'); $('#btn-subcriber-send-otp-' + incidentCode).css('display', 'none'); $('#otp-field-' + incidentCode).val('').prop('disabled', false); $('#phone-number-' + incidentCode).prop('readOnly', true); $('#resend-otp-'+ incidentCode).css('display', 'block'); var display = $('#countdown-incident-' + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode) } function showSendOTP(incidentCode) { $('#btn-change-number-incident-' + incidentCode).css('display', 'none'); $('#btn-subcriber-send-otp-' + incidentCode).css('display', 'block'); $('#otp-field-' + incidentCode).val('').prop('disabled', true); $('#phone-number-' + incidentCode).prop('readOnly', false); $('#resend-otp-'+ incidentCode).css('display', 'none'); $('#timer-incident-'+ incidentCode).css('display', 'none'); clearInterval(countdownTimers[incidentCode]); } function startTimerIncident(duration, display, incidentCode){ var timerIncident = duration, seconds; clearInterval(countdownTimers[incidentCode]); countdownTimers[incidentCode] = setInterval(function () { seconds = parseInt(timerIncident % 60, 10); display.text(seconds); $('#timer-incident-'+ incidentCode).css('display', 'block'); if(--timerIncident < 0){ enableResendIncident(incidentCode); clearInterval(countdownTimers[incidentCode]); } }, 1000); disableResendIncident(incidentCode); } function enableResendIncident(incidentCode){ $('#resend-otp-' + incidentCode).css('color', ''); $('#resend-otp-' + incidentCode).css('pointer-events', ''); $('#timer-incident-'+ incidentCode).css('display', 'none'); } function disableResendIncident(incidentCode){ $('#resend-otp-' + incidentCode).css('color', 'grey'); $('#resend-otp-' + incidentCode).css('pointer-events', 'none'); } </script> <div class="unresolved-incident impact-minor"> <div class="incident-title font-large"> <a class="whitespace-pre-wrap actual-title with-ellipsis" href="/incidents/g4gqw00h2l3f">Android Devices - Connecting to Eduroam Wi-Fi</a> <a data-toggle="modal" role="button" class="subscribe" id="btn-subscribe-modal-g4gqw00h2l3f" href="#subscribe-modal-g4gqw00h2l3f">Subscribe</a> </div> <div class="updates font-regular"> <div class="update"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">Aruba, the manufacturer of our device registration solution, was recently acquired by Hewlett-Packard. As part of this transition, HP is rebranding the Aruba ClearPass QuickConnect software and has released an updated version on the Google Play Store. Unfortunately, this rebranding and software update have temporarily impacted the registration process for Android devices on the network. They have broken the hyperlink in their software, which still points to the older (now deleted) version of the ClearPass QuickConnect App. <br /><br />To ensure a smooth registration, we recommend that users download the new HP 'ClearPass QuickConnect' software on the Google Play Store before proceeding with the Intranet Instructions.<br /><br />We have informed Hewlett-Packard of this issue, and they are trying to resolve it.</span> <br> <small><span class="ago" data-datetime-unix="1741948156000"></span>Mar <var data-var='date'>14</var>, <var data-var='year'>2025</var> - <var data-var='time'>10:29</var> GMT</small> </div> </div> </div> <div class="modal hide fade modal-open-incident-subscribe" id="subscribe-modal-g4gqw00h2l3f" style="display: none" data-js-hook="incident-subscription-modal" role="dialog" aria-labelledby="incident-subscription-dialog-header" aria-describedby="incident-subscription-dialog-description" aria-modal="true"> <form class="modal-content" id="subscribe-form-g4gqw00h2l3f" action="/subscriptions/incident.json" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="incident_code" id="incident_code" value="g4gqw00h2l3f" autocomplete="off" /> <div class="modal-header"> <a href="#" data-dismiss="modal" class="close" data-js-hook="incident-modal-close" aria-label="close" role="button">×</a> <h4 id="incident-subscription-dialog-header"> Subscribe to Incident </h4> </div> <div class="modal-body"> <p style="margin-bottom:25px" id="incident-subscription-dialog-description"> Subscribe to updates for <strong>Android Devices - Connecting to Eduroam Wi-Fi</strong> via email and/or text message. You'll receive email notifications when incidents are updated, and text message notifications whenever Cardiff University <strong>creates</strong> or <strong>resolves</strong> an incident. </p> <div class="control-group"> <label for="email-g4gqw00h2l3f">VIA EMAIL:</label> <div class="controls"> <input type="text" name="email" id="email-g4gqw00h2l3f" data-js-hook="email" class="full-width" /> </div> </div> <div class="control-group"> <label class="phone-country-code" for=phone-country-g4gqw00h2l3f>VIA SMS:</label> <div class="controls phone-number"> <div class="row"> <div id='phone-number-code-g4gqw00h2l3f' class="phone-country-wrapper"> <select name="phone_country" id="phone-country-g4gqw00h2l3f" data-js-hook="phone-country" class="span6 phone-country-dropdown"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" selected>United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" >United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> </div> </div> <label class="sub-label" for="phone-number-g4gqw00h2l3f">Enter mobile number</label> <div class="controls phone-number" data-js-hook="modal-open-incident-subscribe-phone-number"> <div class="flex-container"> <input type="text" name="phone_number" id="phone-number-g4gqw00h2l3f" data-js-hook="phone-number" /> <input type="hidden" name="incident-code-g4gqw00h2l3f" id="incident-code-g4gqw00h2l3f" value="g4gqw00h2l3f" autocomplete="off" /> <a class="btn-change-number-incident" id="btn-change-number-incident-g4gqw00h2l3f" style="display: none;" data-incident-code="g4gqw00h2l3f" href="#"> Edit number </a> <a class="btn-subcriber-send-otp" id="btn-subcriber-send-otp-g4gqw00h2l3f" style="display: none;" data-incident-code="g4gqw00h2l3f" href="#"> Send OTP </a> </div> </div> <div class="sms-atl-error" id='sms-atl-error-g4gqw00h2l3f'></div> <div class="opt-container-section" id='otp-container-incident-g4gqw00h2l3f' style="display:none"> <label class="sub-label" for="otp">Enter the OTP sent</label> <div class="flex-container"> <input name="otp" id='otp-field-g4gqw00h2l3f' type="text" class="prepend" disabled> <a class="resend-otp" id="resend-otp-g4gqw00h2l3f" style="display: none;" data-incident-code="g4gqw00h2l3f" href="#"> Resend OTP </a> <span class="timer-incident" id='timer-incident-g4gqw00h2l3f' style="display:none"> in <span id='countdown-incident-g4gqw00h2l3f'>30</span> seconds</span> </div> <div class="info-row flex-container"> <div class="info-icon"><svg width="2vh" height="2vh" viewBox="0 0 21 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="status-embed-svg-info-icon"> <defs> <path d="M2,12 C2,6.47666667 6.47666667,2 12,2 C17.5233333,2 22,6.47666667 22,12 C22,17.5233333 17.5233333,22 12,22 C6.47666667,22 2,17.5233333 2,12 Z M4,12 C4,16.4187638 7.58123617,20 12,20 C16.4187638,20 20,16.4187638 20,12 C20,7.58123617 16.4187638,4 12,4 C7.58123617,4 4,7.58123617 4,12 Z M11,11.0029293 C11,10.4490268 11.4438648,10 12,10 C12.5522847,10 13,10.4378814 13,11.0029293 L13,15.9970707 C13,16.5509732 12.5561352,17 12,17 C11.4477153,17 11,16.5621186 11,15.9970707 L11,11.0029293 Z M12,9 C11.4477153,9 11,8.55228475 11,8 C11,7.44771525 11.4477153,7 12,7 C12.5522847,7 13,7.44771525 13,8 C13,8.55228475 12.5522847,9 12,9 Z" id="path-info"></path> </defs> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-702.000000, -945.000000)"> <g id="global/info" transform="translate(700.500000, 943.500000)"> <mask id="mask-info" fill="white"> <use xlink:href="#path-info"></use> </mask> <use id="Combined-Shape" fill="#42526E" fill-rule="nonzero" xlink:href="#path-info"></use> <g id="Neutral-/-N000" mask="url(#mask-info)" fill-rule="evenodd"> <polygon points="0 24 24 24 24 0 0 0"></polygon> </g> </g> </g> </g> </svg> </div> <div>To receive SMS updates, please verify your number. To proceed with just email click ‘Subscribe’ </div> </div> </div> </div> </div> <div class="modal-footer incident-subscribe"> <!-- tests fail if static width isn't present ¯\_(ツ)_/¯ --> <button name="button" type="submit" class="flat-button cpt-button incident-subscribe-btn-captcha" id="subscribe-btn-g4gqw00h2l3f" onclick="submitCaptchaIncidentSubscribe(event)">Subscribe to Incident</button> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response" value="false" autocomplete="off" /> <div class="terms_and_privacy_information left small">Message and data rates may apply. By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://www.cardiff.ac.uk/help/privacy">Privacy Policy</a>, the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </div> </form> </div> <script> $(function () { const phoneNumberInputIncident = $('#phone-number-g4gqw00h2l3f'); const phoneCountrySelect = $('#phone-country-g4gqw00h2l3f'); const errorDiv = $('#sms-atl-error-g4gqw00h2l3f'); const phoneCountryDiv = $('#phone-number-code-g4gqw00h2l3f'); if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = phoneCountrySelect.val(); const isOtpEnabled = phoneCountryDiv.attr('data-otp-enabled') === 'true'; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInputIncident.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInputIncident.prop('readOnly', false); errorDiv.html(''); if(false){ $('#btn-change-number-incident-g4gqw00h2l3f').css('display', 'none'); $('#resend-otp-g4gqw00h2l3f').css('display', 'none'); $('#timer-incident-g4gqw00h2l3f').css('display', 'none'); if(isOtpEnabled){ $('#otp-container-incident-g4gqw00h2l3f').css('display', 'block'); $('#btn-subcriber-send-otp-g4gqw00h2l3f').css('display', 'block'); } else { $('#otp-container-incident-g4gqw00h2l3f').css('display', 'none'); $('#btn-subcriber-send-otp-g4gqw00h2l3f').css('display', 'none'); } } } } phoneCountrySelect.on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdowns = document.querySelectorAll('.phone-country-dropdown'); if (dropdowns.length > 0) { dropdowns.forEach(function(dropdown) { const dropdownId = dropdown.id; const incidentCode = dropdownId.split('-').pop(); const wrapperDiv = $('#phone-number-code-' + incidentCode); function updateOtpEnabledAttribute() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.attr('data-otp-enabled', otpEnabled); } dropdown.addEventListener('change', updateOtpEnabledAttribute); updateOtpEnabledAttribute(); }); } }); var countdownTimers = {}; var phoneNumberInputIncident = $('#phone-number-g4gqw00h2l3f'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-g4gqw00h2l3f').on('ajax:success', function(e, data, status, xhr){ var $form = $(this); var formId = $form.attr('id'); var incidentCode = formId.split('-').pop(); $('#btn-change-number-incident-' + incidentCode).css('display', 'block'); if ( $('#btn-change-number-incident-'+ incidentCode).css('display') !== 'none') { $('#btn-change-number-incident-'+ incidentCode).css('display', 'none'); $('#btn-subcriber-send-otp-'+ incidentCode).css('display', 'block'); $('#otp-container-incident-'+ incidentCode).css('display', 'block'); $('#resend-otp-'+ incidentCode).css('display', 'none'); $('#timer-incident-'+ incidentCode).css('display', 'none'); $('#phone-number-' + incidentCode).prop('readOnly', false); $('#otp-field-' + incidentCode).val('').prop('disabled', true); } if(countdownTimers){ clearInterval(countdownTimers[incidentCode]); } }); $('#btn-change-number-incident-g4gqw00h2l3f').on('click', function (e) { var incidentCode = $(this).data('incident-code'); showSendOTP(incidentCode); return false; }); $('#btn-subcriber-send-otp-g4gqw00h2l3f').on('click', function (e) { let incidentCode = $(this).data('incident-code'); let phoneNumber = $('#phone-number-' + incidentCode).val(); let countryCode = $('#phone-country-' + incidentCode).val(); let incidentCodeField = $('#incident-code-' + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); if (data.type === 'success') { showChangeNumber(incidentCode); } }); }); $('#resend-otp-g4gqw00h2l3f').on('click', function(e) { let incidentCode = $(this).data('incident-code'); let phoneNumber = $('#phone-number-' + incidentCode).val(); let countryCode = $('#phone-country-' + incidentCode).val(); let incidentCodeField = $('#incident-code-' + incidentCode).val(); sendOtpRequest(phoneNumber, countryCode, incidentCodeField, function (data, status) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); e.preventDefault(); disableResendIncident(incidentCode); if (data.type === 'success') { var display = $('#countdown-incident-' + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode ); } }); }); }) function sendOtpRequest(phoneNumber, countryCode, incidentCode, onSuccess) { $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, incident_code: incidentCode, type: 'resend' }, }).done(onSuccess); } function showChangeNumber(incidentCode) { $('#btn-change-number-incident-' + incidentCode).css('display', 'block'); $('#btn-subcriber-send-otp-' + incidentCode).css('display', 'none'); $('#otp-field-' + incidentCode).val('').prop('disabled', false); $('#phone-number-' + incidentCode).prop('readOnly', true); $('#resend-otp-'+ incidentCode).css('display', 'block'); var display = $('#countdown-incident-' + incidentCode); startTimerIncident(RESEND_TIMER, display, incidentCode) } function showSendOTP(incidentCode) { $('#btn-change-number-incident-' + incidentCode).css('display', 'none'); $('#btn-subcriber-send-otp-' + incidentCode).css('display', 'block'); $('#otp-field-' + incidentCode).val('').prop('disabled', true); $('#phone-number-' + incidentCode).prop('readOnly', false); $('#resend-otp-'+ incidentCode).css('display', 'none'); $('#timer-incident-'+ incidentCode).css('display', 'none'); clearInterval(countdownTimers[incidentCode]); } function startTimerIncident(duration, display, incidentCode){ var timerIncident = duration, seconds; clearInterval(countdownTimers[incidentCode]); countdownTimers[incidentCode] = setInterval(function () { seconds = parseInt(timerIncident % 60, 10); display.text(seconds); $('#timer-incident-'+ incidentCode).css('display', 'block'); if(--timerIncident < 0){ enableResendIncident(incidentCode); clearInterval(countdownTimers[incidentCode]); } }, 1000); disableResendIncident(incidentCode); } function enableResendIncident(incidentCode){ $('#resend-otp-' + incidentCode).css('color', ''); $('#resend-otp-' + incidentCode).css('pointer-events', ''); $('#timer-incident-'+ incidentCode).css('display', 'none'); } function disableResendIncident(incidentCode){ $('#resend-otp-' + incidentCode).css('color', 'grey'); $('#resend-otp-' + incidentCode).css('pointer-events', 'none'); } </script> </div> <div class="text-section"> <h2 class="font-largest"> <a id="about-this-site" href="#about-this-site" class="no-link">About This Site</a> </h2> <p class="color-secondary font-regular"> This page details the current status of services maintained by Cardiff University, and select external service providers. <br> <br>If this page does not reflect your experience with our services, please contact the Service Desk at <br><a target="_blank" href="mailto:it-support@cardiff.ac.uk">it-support@cardiff.ac.uk</a> <br>+44 (0)29 2251 1111. </p> </div> <div class="components-section font-regular"> <div class="components-container one-column"> <div class="component-container border-color is-group "> <div data-component-id="gsm62cntfnwm" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Communication & Collaboration" tabindex="0"></span> <span> Communication & Collaboration </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="hl81jm3y6rf4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Email & Calendar (Outlook) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="f24h0nv170t8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Microsoft Teams </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="wy403j85t2lj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Netcall (Call Centre functionality) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zdtnbnsdspz7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Telephony (Microsoft Telephony) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="qny7vn9z05s7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Viva Engage </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="3smvg2jlvg97" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Corporate Reporting, Data and Analytics" tabindex="0"></span> <span> Corporate Reporting, Data and Analytics </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="183sghjkkpr8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Business Objects </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="yyntrcmlxb36" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Business Intelligence </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="6mlc3w1bqzw4" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Computers, Software, & Printing" tabindex="0"></span> <span> Computers, Software, & Printing </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="xw6p3g94jb7k" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Desktop, Laptops, & Mobile devices </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1l3bj1pz4wqx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Printing, Copying, & Scanning </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="78rcvm1xybr2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Published Applications (Horizon) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="szn2rt56sr1g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Remote Access to a Campus Computer </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="qs4cdnm5wq1n" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle File Storage" tabindex="0"></span> <span> File Storage </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="s9jhvxyrfyq1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Home & Shared drive (H: & S:) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="st0p1rtjywn3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Microsoft Cloud Storage </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Cloud Storage for Microsoft 365 Applications (OneDrive, Teams, Yammer etc)" data-original-title="Cloud Storage for Microsoft 365 Applications (OneDrive, Teams, Yammer etc)" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="8yh2l65w4qv4" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Finance Systems" tabindex="0"></span> <span> Finance Systems </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="sm5368s8339h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Financial and Procurement System (Oracle-EBS) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="7fl4h44yng4s" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Help & Support" tabindex="0"></span> <span> Help & Support </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="5dmfvhkd8jy9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Service Desk Support (IT single point of contact) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="0rnn0zb9ph9d" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> IT Portal (Self Service ticket logging) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="d63jpz6z0szp" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Student Enquiry (GECKO) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="rh9h4n2kx3q2" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle HR & Student Record Systems" tabindex="0"></span> <span> HR & Student Record Systems </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="rd4x8656t2mr" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> PeopleXD (Core HR) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tz0vssvj0py0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> SIMS (Admin) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="gg8vr2qmdddb" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Library Systems" tabindex="0"></span> <span> Library Systems </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="w0lz46yq07p8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Electronic Resources </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Electronic books, journal and databases" data-original-title="Electronic books, journal and databases" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="0z5mh1f279zz" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Library Management System (ALMA) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="y4cm5c7kk7lc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> LibrarySearch (Primo) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="j050hz3zf16j" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Reading Lists (Leganto) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="mppz35jxctnq" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Network" tabindex="0"></span> <span> Network </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="vssq4ymlr1sg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Wired Network Connectivity </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2bg0gqwm5424" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Wireless Network Connectivity </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="x94f0149s0bg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Virtual Private Networks (VPN) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="tbpt57rypt30" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Public Website & Intranet" tabindex="0"></span> <span> Public Website & Intranet </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="xx3vqy549hl5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Public Website (Squiz) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6t4mhwm00wfr" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Intranet (Squiz) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="zhzml386c1fh" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Research" tabindex="0"></span> <span> Research </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="khp0ry83y9dj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> ARCCA Processing and Analysis (Hawk) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1h2g341zv6py" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> ORCA & Manage My Publications </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Online Research @ Cardiff - institutional research publications repository" data-original-title="Online Research @ Cardiff - institutional research publications repository" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9yhygwx0c955" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Research Data Store </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Central file storage service for the University&apos;s research data - available to all contracted staff and postgraduate research students. Search for RDS on the intranet for more details." data-original-title="Central file storage service for the University&apos;s research data - available to all contracted staff and postgraduate research students. Search for RDS on the intranet for more details." role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="3j9p7m2m3r9j" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Research Portal (Converis) </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="The Cardiff University Research Portal is the University’s Current Research Information Management System (CRIS). It ensures that research management information across a wide range of areas is effectively captured, managed, reportable and accessible to internal and external stakeholders. The Research Portal streamlines research administration, provides tools for research management and increases the security and integrity of research information." data-original-title="The Cardiff University Research Portal is the University’s Current Research Information Management System (CRIS). It ensures that research management information across a wide range of areas is effectively captured, managed, reportable and accessible to internal and external stakeholders. The Research Portal streamlines research administration, provides tools for research management and increases the security and integrity of research information." role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8qp55tt9w5jq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Research Data Repository (Figshare) </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Cardiff University Research Data Repository (RDR) allows our researchers to publish their datasets to the world. The service is powered by Figshare for Institutions, a system designed to make research data citable, shareable, and discoverable. Guidance for staff https://intranet.cardiff.ac.uk/staff/supporting-your-work/research-support/research-data-management/research-data-repository Guidance for students https://intranet.cardiff.ac.uk/students/study/postgraduate-research-support/managing-and-sharing-your-data/research-data-repository" data-original-title="Cardiff University Research Data Repository (RDR) allows our researchers to publish their datasets to the world. The service is powered by Figshare for Institutions, a system designed to make research data citable, shareable, and discoverable. Guidance for staff https://intranet.cardiff.ac.uk/staff/supporting-your-work/research-support/research-data-management/research-data-repository Guidance for students https://intranet.cardiff.ac.uk/students/study/postgraduate-research-support/managing-and-sharing-your-data/research-data-repository" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="pc947qvp0gpz" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Room & Equipment Bookings" tabindex="0"></span> <span> Room & Equipment Bookings </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="vx3pt3253xnn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Resource Booker </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5073pcdhy0vl" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Room Bookings (Syllabus Plus / Scientia) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="10vyzr1c8895" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Student Systems" tabindex="0"></span> <span> Student Systems </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="r27pzq6lhlsc" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Learn Plus (Panopto) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ngbmk51nchn3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mahara </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k5dvzkr72cp8" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Residences Student Portal (Accommodation) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="3pmpq0l7jb1p" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Student App </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="w9s96kys8csq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Student Records (SIMS Online) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="blq4pqydr3rd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Student Timetable </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="94ltcm2w92wf" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Turnitin </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="kjb4lfzxnbky" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> VLE (Learning Central) </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> </div> <div class="component-statuses-legend font-small"> <div class="legend-item status-green"> <span class="icon-indicator fa fa-check"></span> Operational </div> <div class="legend-item status-yellow"> <span class="icon-indicator fa fa-minus-square"></span> Degraded Performance </div> <div class="legend-item status-orange"> <span class="icon-indicator fa fa-exclamation-triangle"></span> Partial Outage </div> <div class="breaker"></div> <div class="legend-item status-red"> <span class="icon-indicator fa fa-times"></span> Major Outage </div> <div class="legend-item status-blue"> <span class="icon-indicator fa fa-wrench"></span> Maintenance </div> </div> </div> <div class="incidents-list format-expanded"> <h2 class="font-largest no-link" id="past-incidents">Past Incidents</h2> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Apr <var data-var="date"> 4</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported today.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 3</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/f03w1gwqwm0h">Manage My Publications (MMP)</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">This incident has been resolved. <br /><br />We have updated the Manage My Publications interface to make clear that the Web of Science lookup and import feature is no longer available via Manage My Publications due to a change in the way Web of Science provide their records. <br /><br />The other deposit features in MMP continue to be available as normal.</span> <br> <small> Apr <var data-var='date'> 3</var>, <var data-var='time'>11:12</var> BST </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">The issue has been identified and a fix is being implemented.</span> <br> <small> Apr <var data-var='date'> 2</var>, <var data-var='time'>17:28</var> BST </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are currently investigating an issue with Manage My Publications, the research publications quick deposit application. The link to Web of Science in MMP is currently broken, and this is hampering upload of publications data to ORCA from Web of Science. Other MMP deposit functionality appears to be unaffected.<br /><br />An update will be provided as soon as more information is available.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>09:57</var> GMT </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/trzgwg9pp4gr">Hawk (University Supercomputer Service) – Planned Maintenance on Wednesday 2 April 2025</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The scheduled maintenance has been completed.</span> <br> <small> Apr <var data-var='date'> 3</var>, <var data-var='time'>00:00</var> BST </small> </div> <div class="update font-regular in progress"> <strong>In progress</strong> - <span class="whitespace-pre-wrap">Scheduled maintenance is currently in progress. We will provide updates as necessary.</span> <br> <small> Apr <var data-var='date'> 2</var>, <var data-var='time'>08:00</var> BST </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap">What is being done? <br />ARCCA are undertaking planned maintenance on the Hawk supercomputer and supporting infrastructure. <br /><br />When is this being done? <br />This will next take place on Wednesday 2 April 2025. This maintenance day is scheduled regularly for the first Wednesday of every month. This is to ensure maximum awareness and allow our service users to plan ahead. <br /><br />Who will be affected? <br />All users of the ARCCA Hawk University supercomputing service and supporting infrastructure. <br /><br />How will this affect service users? <br />Hawk and supporting infrastructure will be at risk and so we advise users to save their work regularly on this day. <br /><br />Why is this being done? <br />Hawk maintenance occurs as required on the first Wednesday of each month. This can be either be as a “Maintenance Outage” period or an “At Risk” period. This is to allow us to perform security patches, system upgrades, equipment replacements and other essential work.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>15:16</var> GMT </small> </div> </div> </div> </div> <div class="status-day font-regular"> <div class="date border-color font-large">Apr <var data-var="date"> 2</var>, <var data-var="year">2025</var></div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Apr <var data-var="date"> 1</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-critical font-large"> <a class="whitespace-pre-wrap" href="/incidents/v067b956wwm1">Resource Booker - Service outage</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">This incident has been resolved.</span> <br> <small> Apr <var data-var='date'> 1</var>, <var data-var='time'>14:11</var> BST </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">A fix has been implemented and we are monitoring the results.</span> <br> <small> Apr <var data-var='date'> 1</var>, <var data-var='time'>11:36</var> BST </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap"><h3>Resource Booker</h3> <br /><br />We are currently experiencing a technical issue which is affecting the availability of Resource Booker. We are working with the supplier to resolve the issue as soon as possible.<br /><br />Unfortunately, we are unable to approve bookings made on Resource Booker until the issue is resolved.<br /><br />We apologise for any inconvenience this might cause.</span> <br> <small> Apr <var data-var='date'> 1</var>, <var data-var='time'>10:51</var> BST </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">31</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">30</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">29</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/w2q9xg214nc8">Turnitin</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The scheduled maintenance has been completed.</span> <br> <small> Mar <var data-var='date'>29</var>, <var data-var='time'>15:30</var> GMT </small> </div> <div class="update font-regular in progress"> <strong>In progress</strong> - <span class="whitespace-pre-wrap">Scheduled maintenance is currently in progress. We will provide updates as necessary.</span> <br> <small> Mar <var data-var='date'>29</var>, <var data-var='time'>15:00</var> GMT </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap"><b>Turnitin</b><br /><br /><b>What is being done?</b><br />Emergency system maintenance conducted by the suppliers. <br /><br /><b>When is it being done?</b><br />Saturday 29 March 2025, 15:00 – 15:30. <br /><br /><b>Who will this affect?</b><br />All users of the Turnitin service. <br /><br /><b>How will this affect users of the service?</b><br />Turnitin functionality such as submissions, plagiarism checks and marking will be unavailable during the stated period. <br /><br /><b>Why is it being done?</b><br />Emergency maintenance conducted by suppliers. <br /><br />Apologies for the short notice of this work.<br /><br /><i>Paul Jones - Service Manager</i></span> <br> <small> Mar <var data-var='date'>26</var>, <var data-var='time'>15:30</var> GMT </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">28</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">27</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-major font-large"> <a class="whitespace-pre-wrap" href="/incidents/j1q8g4hql61j">Unplanned Network Outage - Guest & CU-Wireless Wi-Fi</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">This incident has been resolved.</span> <br> <small> Mar <var data-var='date'>27</var>, <var data-var='time'>09:37</var> GMT </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">A fix has been implemented and we are monitoring results. <br />We apologise for any inconvenience this may have caused.</span> <br> <small> Mar <var data-var='date'>24</var>, <var data-var='time'>11:29</var> GMT </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">University IT is aware of an issue with the University 'GUEST' and 'CU-WIRELESS' Networks and technical staff are currently investigating. <br /><br />Further updates will follow as more information becomes available.<br /><br />We apologise for any inconvenience this is causing.</span> <br> <small> Mar <var data-var='date'>24</var>, <var data-var='time'>10:10</var> GMT </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">26</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-major font-large"> <a class="whitespace-pre-wrap" href="/incidents/hm9tstpgsjq9">Issues accessing SIMS Client</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">The issue regarding accessing the SIMS Client has now been resolved.</span> <br> <small> Mar <var data-var='date'>26</var>, <var data-var='time'>11:56</var> GMT </small> </div> <div class="update font-regular monitoring"> <strong>Monitoring</strong> - <span class="whitespace-pre-wrap">A fix has been implemented and the issues affecting access to the SIMS client should now be resolved. Engineers are continuing to monitor the service.</span> <br> <small> Mar <var data-var='date'>26</var>, <var data-var='time'>09:39</var> GMT </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">University IT are aware of an issue affecting access to the SIMS Client, and technical staff are currently investigating. Note that SIMS Online is unaffected.<br /><br />An update will be provided as soon as more information is available.</span> <br> <small> Mar <var data-var='date'>26</var>, <var data-var='time'>09:21</var> GMT </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">25</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular"> <div class="date border-color font-large">Mar <var data-var="date">24</var>, <var data-var="year">2025</var></div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">23</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">22</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">21</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/wctg9j44llvc">Email - not authorized to relay error messages</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">To the best of our ability to verify, we consider that this issue has been resolved.<br />If you encounter this error, please contact University IT for support.</span> <br> <small> Mar <var data-var='date'>21</var>, <var data-var='time'>17:07</var> GMT </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We have been made aware of an issue which may be affecting the ability of users in the University to send emails to certain recipients.<br /><br />Those impacted by this have received an automated reply from Microsoft indicating that their message couldn't be delivered as they are not authorized to relay messaged through the Office 365 email servers for the receiving domain.<br /><br />We are investigating the scale of this issue, and attempting to determine the cause.</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>15:40</var> GMT </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-major font-large"> <a class="whitespace-pre-wrap" href="/incidents/1frc2dv03xly">University Wi-Fi software update</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Work was completed - waiting to see if it had any positive impact.</span> <br> <small> Mar <var data-var='date'>21</var>, <var data-var='time'>15:09</var> GMT </small> </div> <div class="update font-regular identified"> <strong>Identified</strong> - <span class="whitespace-pre-wrap">Certain areas of the university's wireless network will undergo a software update tonight to fix an issue affecting Microsoft Teams telephony and video calls. <br /><br />The update will begin at 22:00 tonight, Thursday, March 20, and is expected to be completed by 02:00 on Friday, March 21, 2025.<br /><br />Users in the affected areas (below) may experience up to 30 minutes of wireless service disruption during the update.<br /><br /><br /> Aberconway ASSL<br /> Bute Carbs building<br /> Casim stores CSL<br /> Corbett Road houses Cubric<br /> Old Cubric/CUCHDS Deri house<br /> Glamorgan Hadyn Ellis<br /> John Percival Julian Hodge<br /> Law Life sciences<br /> Main college Music<br /> 2 North road 8-10 North road<br /> Optom Park Place houses<br /> Queens Ranch basement<br /> Redwood SBARC<br /> Sir Martin Evans Tower Building<br /><br />During the update, the university’s wireless network will be unavailable for up to 30 minutes in the affected areas</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>13:47</var> GMT </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/85lt18p4f15x">Business Objects upgrade: 20th – 21st March 2025</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The scheduled maintenance has been completed and Business Objects is available for use.</span> <br> <small> Mar <var data-var='date'>21</var>, <var data-var='time'>14:54</var> GMT </small> </div> <div class="update font-regular in progress"> <strong>In progress</strong> - <span class="whitespace-pre-wrap">Scheduled maintenance is currently in progress. We will provide updates as necessary.</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>08:00</var> GMT </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap"><h3>Business Objects upgrade: 20th – 21st March 2025</h3><br /><br /><b>What is being done?</b><br />University IT is upgrading Business Objects.<br /><br /><b>When is it being done?</b><br />Between 08:00 on Thursday, 20th March and 17:00 on Friday, 21st March 2025.<br /><br /><b>Who will be affected?</b><br />All Business Objects users.<br /><br /><b>How will this affect service users?</b><br />Business Objects will be unavailable during the advertised window.<br /><br /><b>Why is it being done?</b><br />This is essential to maintain support for the platform (hardware and operating system) and for the Business Objects application.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>15:12</var> GMT </small> </div> </div> </div> </div> </div> <div class="page-footer border-color font-small"> <a href="/history" class="history-footer-link"><span style="font-family:arial">←</span> Incident History</a> <span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.cardiff.ac.uk&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span> </div> </div> <div class="custom-footer-container"> <footer class="footer-global" aria-label="Global footer"> <div class="container"> <div class="row"> <div class="span12"> <address> <p><strong>IT Service Desk</strong></p> <a href="mailto:it-support@cardiff.ac.uk">it-support@cardiff.ac.uk</a><br/> <a href="https://intranet.cardiff.ac.uk/staff/directories/university-buildings/view/40-41-park-place" target="_blank">40-41 Park Place</a><br/> <a href="tel:+44 (0)29 2251 1111" target="_blank">+44 (0)29 2251 1111</a> (available 24/7).<br/> </address> </div> </div> </div> </footer> <!-- Customize (don't change the ones you want to stay the same) the values declared in the first four lines and then paste the following into your Custom Footer section --> <script> $(function() { var operationalText = "Operational" var degradedText = "Degraded Performance" var partialText = "Partial Outage" var majorText = "Major Outage" var newText = function(str) { if (str.indexOf('Operational') != -1) { return str.replace('Operational', operationalText); } if (str.indexOf('Degraded Performance') != -1) { return str.replace('Degraded Performance', degradedText); } if (str.indexOf('Partial Outage') != -1) { return str.replace('Partial Outage', partialText); } if (str.indexOf('Major Outage') != -1) { return str.replace('Major Outage', majorText); } } $('.legend-item').each(function() { var $this = $(this); var $html = $this.html(); $this.html(newText($html)); }); $('.component-inner-container .component-status').each(function() { var $this = $(this); var $html = $this.html(); $this.html(newText($html)); }); }); </script> <!-- end of custom component status --> <!-- Custom text for All Services --> <script type="text/javascript"> $( document ).ready(function() { $("span.status:contains('All Systems Operational')").text('All Services are Operational'); }); </script> <!--end of custom All service message --> </div> </div> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js"></script> <div id="cpt-notification-container"></div> <!-- all of the content_for stuff --> <script src="https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js"></script> <script type="text/javascript"> $(function() { SP.currentPage.registerSubscriptionForm('email'); SP.currentPage.registerSubscriptionForm('sms'); SP.currentPage.registerSubscriptionForm('webhook'); }); $(function() { SP.currentPage.registerSubscriptionForm('h7gp18lgvg40'); SP.currentPage.registerSubscriptionForm('g4gqw00h2l3f'); }) </script> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js"></script> <script> SP.pollForChanges('/api/v2/status.json'); </script> <script> $(function() { $('.tool').tooltipster({ animationDuration: 100, contentAsHTML: true, delay: 100, theme: 'tooltipster-borderless', functionInit: function (instance, helper) { var $origin = $(helper.origin), dataOptions = $origin.attr('data-tooltip-config'); if (dataOptions){ dataOptions = JSON.parse(dataOptions); $.each(dataOptions, function(name, option){ instance.option(name, option); }); } } }); // clicks on first tab in subscribe popout since we won't know which is first // upon construction in the ruby code $('.updates-dropdown-nav > a').eq(0).click(); // twitter follow button needs some margin $('.twitter-follow-button').css('margin-right', '6px'); }); $(function() { // open/close component groups HRB.utils.djshook('component-group-opener').on('click', function() { var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); $(function() { HRB.utils.djshook('component-group-opener').on('keydown', function(event) { if (event.key !== "Enter" && event.key !== " ") { return; } event.preventDefault() var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); function toggleGroup(groupParentIndicator) { var isOpen = groupParentIndicator.attr('aria-expanded') if (isOpen == 'false') { groupParentIndicator.attr('aria-expanded', 'true'); } else { groupParentIndicator.attr('aria-expanded', 'false'); } } $(function() { $(document).on('ajax:complete', '.modal.in', function(e) { // Close the active modal. $('.modal.in').modal('hide'); }); }); </script> <script> /** INITIALIZATION **/ var recaptchaIds = {} // Unfortunately there's no unique selectors on the parent divs that recaptcha adds. The first unique selector // is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds // the parent div and sets the z index so that it'll render above our modals & dropdowns from the start. function setZIndex(captchaCount, startTime) { // bail after 10s just in case so we don't do this forever if something whaky happens if (new Date() - startTime > 10000) { return; } var iframes = document.querySelectorAll('iframe[title="recaptcha challenge"]'); if (iframes.length != captchaCount) { setTimeout(function() { setZIndex(captchaCount, startTime); }, 500); } for (var i = 0; i < iframes.length; i++) { // incident subscribe modal is 1050, so this has to be above that iframes[i].parentElement.parentElement.style.zIndex = "1100"; } } function updateCaptchaIframeTitle(captchaCount, startTime, updates=0) { if (new Date() - startTime > 10000 || captchaCount === updates) { return; } var iframesWithTitle = document.querySelectorAll('iframe[title="recaptcha challenge expires in two minutes"]'); if (iframesWithTitle.length != captchaCount) { setTimeout(function() { updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates); }, 500); } for (var i = 0; i < iframesWithTitle.length; i++) { iframesWithTitle[i].title = "recaptcha"; } } function addIncidentCaptcha() { var incidentCaptcha = document.createElement('div'); incidentCaptcha.setAttribute('id', 'subscribe-incident-recaptcha'); incidentCaptcha.setAttribute('class', 'g-recaptcha'); incidentCaptcha.setAttribute('data-sitekey', '6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op'); incidentCaptcha.setAttribute('data-callback', 'submitIncidentSubscriberSuccess'); incidentCaptcha.setAttribute('data-error-callback', 'submitIncidentSubscriberError'); incidentCaptcha.setAttribute('data-size', 'invisible'); document.body.appendChild(incidentCaptcha); var incidentCode = document.createElement('input'); incidentCode.setAttribute('type', 'hidden'); incidentCode.setAttribute('id', 'submit_incident_code'); document.body.appendChild(incidentCode); } var onloadCallback = function() { // if there is an incident, then add incident captcha element if (document.getElementsByClassName('modal-open-incident-subscribe').length > 0) { addIncidentCaptcha(); } var captchas = document.getElementsByClassName("g-recaptcha"); for(var i = 0; i < captchas.length; i++) { var elId = captchas[i].id; recaptchaIds[elId] = grecaptcha.enterprise.render(elId); } setZIndex(captchas.length, new Date()); updateCaptchaIframeTitle(captchas.length, new Date()); } /** SUBSCRIBE DROPDOWN */ // callbacks for captcha success function submitNewSubscriber(type, error) { if (error) document.querySelector('#subscribe-form-' + type + ' #captcha_error').value = 'true'; document.getElementById('subscribe-form-' + type).dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-btn-' + type]); } function submitNewEmailSubscriber(token) { submitNewSubscriber('email'); } function submitNewSmsSubscriber(token) { submitNewSubscriber('sms'); } function submitNewWebhookSubscriber(token) { submitNewSubscriber('webhook'); } function submitIncidentSubscriber(token, error) { var incidentCode = document.getElementById('submit_incident_code').value; var incidentForm = document.getElementById('subscribe-form-' + incidentCode); incidentForm.querySelector('input[name="captcha_error"]').value = error; incidentForm.querySelector('input[name="g-recaptcha-response"]').value = token; incidentForm.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-incident-recaptcha']); } function submitIncidentSubscriberSuccess(token) { submitIncidentSubscriber(token, 'false'); } // callbacks if we get captcha network errors function emailSubscriberCaptchaError(token) { submitNewSubscriber('email', true); } function smsSubscriberCaptchaError(token) { submitNewSubscriber('sms', true); } function webhookSubscriberCaptchaError(token) { submitNewSubscriber('webhook', true); } function submitIncidentSubscriberError(token) { submitIncidentSubscriber(token, 'true'); } // tracking clicks ['email', 'sms', 'webhook'].forEach(function(type) { var el = document.getElementById('subscribe-btn-' + type); el && el.addEventListener("click", function() { $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: type } }) }) }) // form submission success callbacks $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('email').value = ''; } }); $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success' && data.otp_flow !== true) { SP.currentPage.updatesDropdown.hide(); document.getElementById('phone-number').value = ''; } }); $('#subscribe-form-webhook').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('endpoint-webhooks').value = ''; document.getElementById('email-webhooks').value = ''; } }); $('a.subscribe').on('click', function() { document.body.style.overflow = "hidden"; document.body.style.height = "100vh"; }); $('div.modal-open-incident-subscribe').on('hidden', function(){ document.body.style.overflow = ""; document.body.style.height = ""; }); function submitCaptchaIncidentSubscribe(event) { var incidentCode = event.target.id.split('-')[2]; event.preventDefault(); $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: 'incident' } }) document.getElementById('submit_incident_code').value = incidentCode; grecaptcha.enterprise.execute(recaptchaIds['subscribe-incident-recaptcha']); } </script> <script src='https://www.recaptcha.net/recaptcha/enterprise.js?onload=onloadCallback&render=explicit' async defer></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/common-4d053c18cbeef079deb0.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-f39f1afbe40d8b149e0b.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-315523c15b4d55375eca.js"></script> <script> window.addEventListener('load', function () { const urlParams = new URLSearchParams(window.location.search); const messageToken = urlParams.get('slack_message_token'); const channelName = escape(urlParams.get('channel_name')); if(!!messageToken) { switch(messageToken) { case 'slack_auth_error': HRB.utils.notify('The Slack authorization attempt was unsuccessful. Try again.', {cssClass:'error'}); break; case 'subscribers_disabled_error': HRB.utils.notify('Slack subscriptions are not enabled on this page.', {cssClass:'error'}); break; case 'direct_message_channel_error': HRB.utils.notify('Subscriptions aren’t supported in direct messages. Try subscribing again and choose a channel instead.', {cssClass:'error'}); break case 'duplicate_error': HRB.utils.notify("You're already subscribed to get Slack notifications in that channel.", {cssClass:'error'}); break; case 'duplicate_private_channel_error': HRB.utils.notify(`You're already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: 'error'}); break; case 'default_success': HRB.utils.notify("You're now subscribed to get Statuspage updates in Slack!", {cssClass:'success'}); break; case 'private_channel_success': HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:'success'}); break; } } }); </script> <!-- FOR FLASH NOTICES --> <!-- FOR ERROR --> <script> $(function() { var $link = $('<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.cardiff.ac.uk&utm_content=SP-notifications&utm_medium=powered-by&utm_source=inapp">Powered by Atlassian Statuspage</a></span>'); var setPoweredByStyles = function() { if (!$('.powered-by').length) { $link.appendTo($('.page-footer')) } $('.powered-by').attr('style', 'display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important'); } setInterval(setPoweredByStyles, 1000); }); </script> </body> </html>