Collection

EdTech

Tech is the present and feature of education. Read more about the challenges of this industry and our contribution to it here.

School phishing: essential tips to win the battle

It's time to combat the rising of phishing in educational institutions. Learn how to ensure a safe environment for students and parents.

Device and cyber security in educational environments

Boost device security and cyber security in k-12 schools using IT best practices, tools, and strategies to ensure a safe digital learning space.

The critical role of cybersecurity in k-12 education

Explore the challenges faced by cybersecurity for K12 schools as they grapple with increasingly common attacks and their profound impact on students and staff.

Computer labs in schools - do they still matter?

Does the traditional computer lab in schools still matter? Mobile devices are coming to change the way schools connect students to new technologies.

Device maintenance tips for schools and educators

Discover best practices for K12 school device care that ensures smooth tech experiences for students & staff.

Device Theft in Schools? How Prey Can Help

Discover how Prey can revolutionize school device security, from real-time tracking to remote lockdown, ensuring a safer learning environment

Developing device security policies for schools

Our second mobile theft and loss statistics report offers new insights into where mobile devices are stolen and the profiles of those behind it.

var Webflow = Webflow || []; Webflow.push(() => { function changeTab(shouldScroll = false) { const hashSegments = window.location.hash.substring(1).split('/'); const offset = 90; // change this to match your fixed header height if you have one let lastTabTarget; for (const segment of hashSegments) { const tabTarget = document.querySelector(`[data-w-tab="${segment}"]`); if (tabTarget) { tabTarget.click(); lastTabTarget = tabTarget; } } } const tabs = document.querySelectorAll('[data-w-tab]'); tabs.forEach(tab => { const dataWTabValue = tab.dataset.wTab; const parsedDataTab = dataWTabValue.replace(/\s+/g,"-").toLowerCase(); tab.dataset.wTab = parsedDataTab; tab.addEventListener('click', () => { history.pushState({}, '', `#${parsedDataTab}`); }); }); if (window.location.hash) { requestAnimationFrame(() => { changeTab(true); }); } window.addEventListener('hashchange', () => { changeTab() }); }); // Date translation function from EN to ES when website is ES function translateDateToES(observer) { if (observer) observer.disconnect(); const userLang = document.documentElement.lang; const dateElements = document.querySelectorAll('.date'); if (userLang.toLowerCase().includes('es')) { dateElements.forEach(element => { const englishDate = element.textContent.trim(); const translatedDate = englishDate // Translate months .replace('Jan', 'Ene') //.replace('Feb', 'Feb') //.replace('Mar', 'Mar') .replace('Apr', 'Abr') //.replace('May', 'May') //.replace('Jun', 'Jun') //.replace('Jul', 'Jul') .replace('Aug', 'Ago') //.replace('Sep', 'Sep') //.replace('Oct', 'Oct') //.replace('Nov', 'Nov') .replace('Dec', 'Dic') element.textContent = translatedDate; }); } // Reconnect the observer after the DOM changes are made if (observer) observer.observe(document.body, { childList: true, subtree: true }); } // Function to observe DOM changes and re-run translation function observeDOMChanges() { const targetNode = document.body; const config = { childList: true, subtree: true }; // Watching for changes in the DOM subtree const callback = function(mutationsList, observer) { for (let mutation of mutationsList) { if (mutation.type === 'childList') { translateDateToES(observer); // Re-run the translation function } } }; const observer = new MutationObserver(callback); observer.observe(targetNode, config); // Initial translation on page load translateDateToES(observer); } // Start observing changes on the page observeDOMChanges(); -->