Red Hat Summit logo Red Hat logo
  • June 15-16, 2021

  • About
    • About the event
    • FAQs
  • Agenda
    • Agenda at a glance
    • Session catalog
  • Speakers
  • Sponsors
Red Hat logo
/** * options: { * enableLogs: Boolean, * intervalFrequency: Number, * logIdentifier: String, * maxIterations: Number, * onSuccess: () => void, * successCheck: () => Boolean, * } */ function waitForX(options) { var log = function log() { if (options.enableLogs) console.log.apply(console, arguments) } var logSuffix = options.logIdentifier ? ' -- [' + options.logIdentifier + ']' : '' var intervalFrequency = options.intervalFrequency || 100 var maxIterations = options.maxIterations || 100 // Do 1 immediate check before the interval starts. if (options.successCheck()) { log('SUCCESS (immediate), no interval needed' + logSuffix) options.onSuccess() return; } log('every ' + intervalFrequency + 'ms, for ' + intervalFrequency * maxIterations + 'ms' + logSuffix) var iterations = 0 var waitTimer = window.setInterval(function () { if (options.successCheck.apply(options)) { log('SUCCESS, waited: ' + ((iterations + 1) * intervalFrequency) + 'ms (' + (iterations + 1) + ' iterations)' + logSuffix) options.onSuccess.apply(options) window.clearInterval(waitTimer); log('cleared interval' + logSuffix) } if (iterations >= maxIterations) { log('TIMED OUT' + logSuffix) // Safety net to ensure this interval won't run forever. window.clearInterval(waitTimer) log('cleared interval' + logSuffix) } iterations++ }, options.intervalFrequency) } var autocompleteScript = document.createElement('script') autocompleteScript.src = 'https://api.demandbase.com/autocomplete/widget.js' document.body.appendChild(autocompleteScript)
var DEMANDBASE_FORM_SCRIPT_ID = 'demandbaseFormScript' if (data.page === 'attendeeInfo') { waitForX({ intervalFrequency: 100, maxIterations: 150, onSuccess: function () { if (!document.querySelector('#' + DEMANDBASE_FORM_SCRIPT_ID)) { var formScript = document.createElement('script') formScript.src = 'https://events.rainfocus.com/pages/redhat/global/demandbaseform' formScript.id = DEMANDBASE_FORM_SCRIPT_ID document.body.appendChild(formScript) } else { // This is terrible, but it's the only way to re-initialize the autocomplete on a SPA. // Fortunately, it is an uncommon use case. window.Demandbase.CompanyAutocomplete.setup = false window.Demandbase.CompanyAutocomplete.initialized = false window.DemandbaseForm.formConnector.form = document.querySelector('#myDynamicForm') window.DemandbaseForm.formConnector.init() } }, successCheck: function () { return document.querySelector('#formAttendee-companyname'); }, }); }
// v2 var INTERVAL_DELAY = 100; var MAX_INTERVAL_ITERATIONS = 150; // 15s at 100ms intervals var FORM_ID = 'myDynamicForm'; var rfLocale = window.rfLocale || { lang: 'en', region: 'US' }; // Only set the initial NC value once. var initialNCValueSet = false var countryOptInMap = { AF: { email: 'opt-out', phone: 'opt-out', }, AX: { email: 'opt-in', phone: 'opt-out', }, AL: { email: 'opt-in', phone: 'opt-out', }, DZ: { email: 'opt-in', phone: 'opt-out', }, AS: { email: 'opt-out', phone: 'opt-out', }, AD: { email: 'opt-in', phone: 'opt-out', }, AO: { email: 'opt-in', phone: 'opt-out', }, AR: { email: 'opt-in', phone: 'opt-out', }, AM: { email: 'opt-in', phone: 'opt-in', }, AU: { email: 'opt-in', phone: 'opt-out', }, AT: { email: 'opt-in', phone: 'opt-in', }, AZ: { email: 'opt-in', phone: 'opt-in', }, BH: { email: 'opt-out', phone: 'opt-out', }, BD: { email: 'opt-out', phone: 'opt-out', }, BY: { email: 'opt-in', phone: 'opt-out', }, BE: { email: 'opt-in', phone: 'opt-out', }, BZ: { email: 'opt-out', phone: 'opt-out', }, BJ: { email: 'opt-in', phone: 'opt-out', }, BT: { email: 'opt-out', phone: 'opt-out', }, BO: { email: 'opt-out', phone: 'opt-out', }, BA: { email: 'opt-in', phone: 'opt-out', }, BW: { email: 'opt-in', phone: 'opt-out', }, BV: { email: 'opt-in', phone: 'opt-out', }, BR: { email: 'opt-out', phone: 'opt-out', }, IO: { email: 'opt-in', phone: 'opt-out', }, BN: { email: 'opt-out', phone: 'opt-out', }, BG: { email: 'opt-in', phone: 'opt-in', }, BF: { email: 'opt-in', phone: 'opt-out', }, BI: { email: 'opt-in', phone: 'opt-out', }, KH: { email: 'opt-out', phone: 'opt-out', }, CM: { email: 'opt-in', phone: 'opt-out', }, CA: { email: 'opt-in', phone: 'opt-out', }, CV: { email: 'opt-in', phone: 'opt-out', }, CF: { email: 'opt-in', phone: 'opt-out', }, TD: { email: 'opt-in', phone: 'opt-out', }, CL: { email: 'opt-out', phone: 'opt-out', }, CN: { email: 'opt-out', phone: 'opt-out', }, CX: { email: 'opt-out', phone: 'opt-out', }, CC: { email: 'opt-out', phone: 'opt-out', }, CO: { email: 'opt-in', phone: 'opt-in', }, KM: { email: 'opt-in', phone: 'opt-out', }, CG: { email: 'opt-in', phone: 'opt-out', }, CD: { email: 'opt-in', phone: 'opt-out', }, CK: { email: 'opt-out', phone: 'opt-out', }, CR: { email: 'opt-out', phone: 'opt-out', }, HR: { email: 'opt-in', phone: 'opt-out', }, CY: { email: 'opt-in', phone: 'opt-in', }, CZ: { email: 'opt-in', phone: 'opt-in', }, DK: { email: 'opt-in', phone: 'opt-out', }, DJ: { email: 'opt-in', phone: 'opt-out', }, DO: { email: 'opt-out', phone: 'opt-out', }, EC: { email: 'opt-out', phone: 'opt-out', }, EG: { email: 'opt-out', phone: 'opt-out', }, SV: { email: 'opt-out', phone: 'opt-out', }, GQ: { email: 'opt-in', phone: 'opt-out', }, ER: { email: 'opt-in', phone: 'opt-out', }, EE: { email: 'opt-in', phone: 'opt-out', }, ET: { email: 'opt-out', phone: 'opt-out', }, FK: { email: 'opt-in', phone: 'opt-out', }, FO: { email: 'opt-in', phone: 'opt-out', }, FJ: { email: 'opt-out', phone: 'opt-out', }, FI: { email: 'opt-in', phone: 'opt-out', }, FR: { email: 'opt-in', phone: 'opt-out', }, GF: { email: 'opt-out', phone: 'opt-out', }, PF: { email: 'opt-in', phone: 'opt-out', }, TF: { email: 'opt-out', phone: 'opt-out', }, GA: { email: 'opt-in', phone: 'opt-out', }, GM: { email: 'opt-in', phone: 'opt-out', }, GE: { email: 'opt-in', phone: 'opt-out', }, DE: { email: 'opt-in', phone: 'opt-in', }, GH: { email: 'opt-in', phone: 'opt-out', }, GI: { email: 'opt-in', phone: 'opt-out', }, GR: { email: 'opt-in', phone: 'opt-out', }, GL: { email: 'opt-in', phone: 'opt-out', }, GP: { email: 'opt-out', phone: 'opt-out', }, GU: { email: 'opt-out', phone: 'opt-out', }, GT: { email: 'opt-out', phone: 'opt-out', }, GG: { email: 'opt-in', phone: 'opt-out', }, GN: { email: 'opt-in', phone: 'opt-out', }, GW: { email: 'opt-in', phone: 'opt-out', }, HT: { email: 'opt-out', phone: 'opt-out', }, HM: { email: 'opt-out', phone: 'opt-out', }, VA: { email: 'opt-in', phone: 'opt-in', }, HN: { email: 'opt-out', phone: 'opt-out', }, HK: { email: 'opt-out', phone: 'opt-out', }, HU: { email: 'opt-in', phone: 'opt-out', }, IS: { email: 'opt-in', phone: 'opt-out', }, IN: { email: 'opt-out', phone: 'opt-out', }, ID: { email: 'opt-in', phone: 'opt-out', }, IQ: { email: 'opt-out', phone: 'opt-out', }, IE: { email: 'opt-in', phone: 'opt-out', }, IM: { email: 'opt-in', phone: 'opt-out', }, IL: { email: 'opt-in', phone: 'opt-out', }, IT: { email: 'opt-in', phone: 'opt-in', }, CI: { email: 'opt-out', phone: 'opt-out', }, JM: { email: 'opt-out', phone: 'opt-out', }, JP: { email: 'opt-in', phone: 'opt-out', }, JE: { email: 'opt-in', phone: 'opt-out', }, JO: { email: 'opt-out', phone: 'opt-out', }, KZ: { email: 'opt-in', phone: 'opt-out', }, KE: { email: 'opt-in', phone: 'opt-out', }, KI: { email: 'opt-out', phone: 'opt-out', }, KR: { email: 'opt-in', phone: 'opt-in', }, KW: { email: 'opt-out', phone: 'opt-out', }, KG: { email: 'opt-in', phone: 'opt-out', }, LA: { email: 'opt-out', phone: 'opt-out', }, LV: { email: 'opt-in', phone: 'opt-in', }, LB: { email: 'opt-out', phone: 'opt-out', }, LS: { email: 'opt-in', phone: 'opt-out', }, LR: { email: 'opt-in', phone: 'opt-out', }, LY: { email: 'opt-in', phone: 'opt-out', }, LI: { email: 'opt-in', phone: 'opt-out', }, LT: { email: 'opt-in', phone: 'opt-in', }, LU: { email: 'opt-in', phone: 'opt-in', }, MO: { email: 'opt-out', phone: 'opt-out', }, MK: { email: 'opt-in', phone: 'opt-out', }, MG: { email: 'opt-in', phone: 'opt-out', }, MW: { email: 'opt-in', phone: 'opt-out', }, MY: { email: 'opt-in', phone: 'opt-out', }, MV: { email: 'opt-out', phone: 'opt-out', }, ML: { email: 'opt-in', phone: 'opt-out', }, MT: { email: 'opt-in', phone: 'opt-in', }, MH: { email: 'opt-out', phone: 'opt-out', }, MQ: { email: 'opt-out', phone: 'opt-out', }, MR: { email: 'opt-in', phone: 'opt-out', }, MU: { email: 'opt-out', phone: 'opt-out', }, YT: { email: 'opt-in', phone: 'opt-out', }, MX: { email: 'opt-out', phone: 'opt-out', }, FM: { email: 'opt-out', phone: 'opt-out', }, MD: { email: 'opt-in', phone: 'opt-out', }, MC: { email: 'opt-out', phone: 'opt-out', }, MN: { email: 'opt-out', phone: 'opt-out', }, ME: { email: 'opt-in', phone: 'opt-out', }, MA: { email: 'opt-in', phone: 'opt-out', }, MZ: { email: 'opt-in', phone: 'opt-out', }, MM: { email: 'opt-out', phone: 'opt-out', }, NA: { email: 'opt-in', phone: 'opt-out', }, NR: { email: 'opt-out', phone: 'opt-out', }, NP: { email: 'opt-out', phone: 'opt-out', }, NL: { email: 'opt-in', phone: 'opt-out', }, NC: { email: 'opt-in', phone: 'opt-out', }, NZ: { email: 'opt-in', phone: 'opt-out', }, NI: { email: 'opt-out', phone: 'opt-out', }, NE: { email: 'opt-in', phone: 'opt-out', }, NG: { email: 'opt-in', phone: 'opt-out', }, NU: { email: 'opt-out', phone: 'opt-out', }, NF: { email: 'opt-out', phone: 'opt-out', }, MP: { email: 'opt-out', phone: 'opt-out', }, NO: { email: 'opt-in', phone: 'opt-out', }, OM: { email: 'opt-out', phone: 'opt-out', }, PK: { email: 'opt-in', phone: 'opt-out', }, PW: { email: 'opt-out', phone: 'opt-out', }, PS: { email: 'opt-out', phone: 'opt-out', }, PA: { email: 'opt-out', phone: 'opt-out', }, PG: { email: 'opt-out', phone: 'opt-out', }, PY: { email: 'opt-out', phone: 'opt-out', }, PE: { email: 'opt-in', phone: 'opt-in', }, PH: { email: 'opt-in', phone: 'opt-out', }, PN: { email: 'opt-in', phone: 'opt-out', }, PL: { email: 'opt-in', phone: 'opt-in', }, PT: { email: 'opt-in', phone: 'opt-in', }, PR: { email: 'opt-out', phone: 'opt-out', }, QA: { email: 'opt-in', phone: 'opt-out', }, RE: { email: 'opt-out', phone: 'opt-out', }, RO: { email: 'opt-in', phone: 'opt-out', }, RU: { email: 'opt-in', phone: 'opt-in', }, RW: { email: 'opt-in', phone: 'opt-in', }, ST: { email: 'opt-in', phone: 'opt-out', }, SH: { email: 'opt-in', phone: 'opt-out', }, LC: { email: 'opt-out', phone: 'opt-out', }, PM: { email: 'opt-out', phone: 'opt-out', }, WS: { email: 'opt-out', phone: 'opt-out', }, SM: { email: 'opt-in', phone: 'opt-out', }, SA: { email: 'opt-in', phone: 'opt-in', }, SN: { email: 'opt-in', phone: 'opt-out', }, RS: { email: 'opt-in', phone: 'opt-out', }, SC: { email: 'opt-in', phone: 'opt-out', }, SL: { email: 'opt-in', phone: 'opt-out', }, SG: { email: 'opt-in', phone: 'opt-in', }, SK: { email: 'opt-in', phone: 'opt-out', }, SI: { email: 'opt-in', phone: 'opt-in', }, SB: { email: 'opt-out', phone: 'opt-out', }, SO: { email: 'opt-in', phone: 'opt-out', }, ZA: { email: 'opt-in', phone: 'opt-out', }, GS: { email: 'opt-in', phone: 'opt-out', }, ES: { email: 'opt-in', phone: 'opt-in', }, LK: { email: 'opt-out', phone: 'opt-out', }, SJ: { email: 'opt-in', phone: 'opt-out', }, SZ: { email: 'opt-in', phone: 'opt-out', }, SE: { email: 'opt-in', phone: 'opt-out', }, CH: { email: 'opt-in', phone: 'opt-out', }, TW: { email: 'opt-out', phone: 'opt-out', }, TJ: { email: 'opt-in', phone: 'opt-out', }, TZ: { email: 'opt-out', phone: 'opt-out', }, TH: { email: 'opt-in', phone: 'opt-out', }, TL: { email: 'opt-out', phone: 'opt-out', }, TG: { email: 'opt-in', phone: 'opt-out', }, TK: { email: 'opt-out', phone: 'opt-out', }, TO: { email: 'opt-out', phone: 'opt-out', }, TN: { email: 'opt-in', phone: 'opt-out', }, TR: { email: 'opt-in', phone: 'opt-out', }, TM: { email: 'opt-in', phone: 'opt-out', }, TV: { email: 'opt-out', phone: 'opt-out', }, UG: { email: 'opt-in', phone: 'opt-in', }, UA: { email: 'opt-in', phone: 'opt-out', }, AE: { email: 'opt-out', phone: 'opt-out', }, GB: { email: 'opt-in', phone: 'opt-out', }, US: { email: 'opt-out', phone: 'opt-out', }, UY: { email: 'opt-out', phone: 'opt-out', }, UZ: { email: 'opt-in', phone: 'opt-out', }, VU: { email: 'opt-in', phone: 'opt-out', }, VE: { email: 'opt-out', phone: 'opt-out', }, VN: { email: 'opt-in', phone: 'opt-out', }, VI: { email: 'opt-out', phone: 'opt-out', }, WF: { email: 'opt-in', phone: 'opt-out', }, EH: { email: 'opt-in', phone: 'opt-out', }, YE: { email: 'opt-out', phone: 'opt-out', }, ZM: { email: 'opt-in', phone: 'opt-out', }, ZW: { email: 'opt-in', phone: 'opt-out', }, }; function setCheckbox(box, value) { if ((box.checked && !value) || (!box.checked && value)) box.click() } function applyNoticeChoice(e) { var selectedCountry = e.target.value; var notifyMeBox = document.getElementById('1611958810124001h2d6'); var doNotNotifyMeBox = document.getElementById('1611958810124002hjoY'); var countryDefaults = countryOptInMap[selectedCountry] || { email: '', phone: '', }; setTimeout(function () { switch (countryDefaults.email) { case 'opt-in': setCheckbox(notifyMeBox, false); setCheckbox(doNotNotifyMeBox, false); break; case 'opt-out': setCheckbox(notifyMeBox, true); setCheckbox(doNotNotifyMeBox, false); break; } }) } /** * options: { * enableLogs: Boolean, * intervalFrequency: Number, * logIdentifier: String, * maxIterations: Number, * onSuccess: () => void, * successCheck: () => Boolean, * } */ function waitForX(options) { var log = function log() { if (options.enableLogs) console.log.apply(console, arguments) } var logSuffix = options.logIdentifier ? ' -- [' + options.logIdentifier + ']' : '' var intervalFrequency = options.intervalFrequency || 100 var maxIterations = options.maxIterations || 100 // Do 1 immediate check before the interval starts. if (options.successCheck()) { log('SUCCESS (immediate), no interval needed' + logSuffix) options.onSuccess() return; } log('every ' + intervalFrequency + 'ms, for ' + intervalFrequency * maxIterations + 'ms' + logSuffix) var iterations = 0 var waitTimer = window.setInterval(function () { if (options.successCheck.apply(options)) { log('SUCCESS, waited: ' + ((iterations + 1) * intervalFrequency) + 'ms (' + (iterations + 1) + ' iterations)' + logSuffix) options.onSuccess.apply(options) window.clearInterval(waitTimer); log('cleared interval' + logSuffix) } if (iterations >= maxIterations) { log('TIMED OUT' + logSuffix) // Safety net to ensure this interval won't run forever. window.clearInterval(waitTimer) log('cleared interval' + logSuffix) } iterations++ }, options.intervalFrequency) }
if (data.page === 'contactInfo' || data.page === 'createaccount' || data.page === 'attendeeInfo') { waitForX({ intervalFrequency: INTERVAL_DELAY, maxIterations: MAX_INTERVAL_ITERATIONS, onSuccess: function () { var countrySelectBox = document.querySelector('#formAttendee-countryId'); if (countrySelectBox) { if (!initialNCValueSet) { initialNCValueSet = true applyNoticeChoice({ target: countrySelectBox }) } countrySelectBox.addEventListener('change', applyNoticeChoice); } }, successCheck: function () { return document.querySelector('#' + FORM_ID); }, }); }
2021 event
  • Register
  • Session catalog
  • Speakers
  • Agenda
  • About
  • FAQs
  • Sponsors
  • Terms and conditions
Get connected
  • Stay updated
  • Contact us
Red Hat Summit

Red Hat Summit is the premier open source technology event for thousands of IT professionals to innovate and focus on high-performing Linux, cloud, automation and management, container, and Kubernetes technologies.

  • Follow
Code of behavior

Red Hat expects our attendees to adhere to our code of behavior. If you need assistance relating to conduct by an attendee, please contact the Red Hat events team.

© 2022 Red Hat, Inc.
  • Privacy statement
  • Terms of use
  • All policies and guidelines
  • |
Red Hat Summit