Dirección de Calidad InstitucionalResumen ejecutivo

Sistematización del proceso de observación docente

Tablero ejecutivo para cargar observaciones docentes en JSON/PDF, consolidar resultados por facultad, modalidad, docentes únicos, recurrencia de observaciones y hallazgos cualitativos relevantes para seguimiento académico.

Filtros de análisis

Facultades

Modalidades

Mes evaluado

Estado de procesamientoSin carga activa
Seleccionados0
Compatibles0
Procesados0
Aceptados0
Advertencias0
Duplicados0
Rechazados0
Total observaciones0Registros procesados
Facultades0Unidades con registros
Docentes únicos0Depurados por persona
Puntaje promedioSobre 100 puntos

Estados de observación

Lectura del desempeño obtenido en los registros cargados.

Promedio
🏅
0Sobresaliente
0Competente
🛠️
0En mejora
🚩
0Acompañamiento
Sin datos cargados.

Lectura ejecutiva

Distribución operativa e interpretación para seguimiento académico.

Comparativo por facultad

Distribución por modalidad

Mayor promedioSin datos
SeguimientoSin datos
Reevaluaciones0Docentes con más de una observación

Observaciones y docentes únicos por facultad

El comparativo distingue observaciones subidas y docentes únicos registrados para evitar inflar el dato de personas docentes.

Síntesis cualitativa de experiencias y observaciones

Comentarios de interés agrupados por aspectos clave. Se excluyen textos de plantilla y se priorizan hallazgos útiles para seguimiento.

Carga masiva de archivos

Seleccione la carpeta raíz que contiene las seis facultades o cargue archivos/ZIP. El sistema conserva la ruta interna para clasificar por facultad.

Estado de procesamientoSin carga activa
Seleccionados0
Compatibles0
Procesados0
Aceptados0
Advertencias0
Duplicados0
Rechazados0
📁

Arrastre archivos, ZIP o carpeta raíz

Formatos compatibles: JSON, PDF y ZIP con JSON/PDF. Para varias facultades, seleccione la carpeta raíz que contiene todas las subcarpetas.

Bitácora de carga

HoraArchivoTipoEstadoDetalle

Datos consolidados

DocenteNo. evaluaciónFacultadAsignaturaModalidadMesPuntajeNivelArchivo

Análisis por facultad

FacultadObservacionesDocentes únicosReevaluadosPromedioLectura

Análisis por modalidad

ModalidadObservacionesDocentes únicosPromedioLectura

Docentes con más de una observación

La tabla permite distinguir observaciones aplicadas de personas docentes únicas.

Docente depuradoObservacionesFacultadPromedioMesesVariantes detectadas

Calidad de datos

Informe PDF ejecutivo

", embed + "\n "); const blob = new Blob(["\n" + html], {type:"text/html;charset=utf-8"}); const a = document.createElement("a"); a.href = URL.createObjectURL(blob); a.download = "SOD_UNIVO_tablero_compartible_con_datos.html"; a.click(); setTimeout(()=>URL.revokeObjectURL(a.href),1000); } function ensureSharePanelV29(){ const upload = document.getElementById("view-upload"); if(!upload || document.getElementById("sharePanelV29")) return; const panel = document.createElement("div"); panel.id = "sharePanelV29"; panel.className = "share-panel-v29"; panel.innerHTML = `

Guardar y compartir tablero

Compartir tablero completo

Descarga una copia HTML con los resultados incorporados. Publique esa copia como index.html en EdgeOne para que cualquier persona vea el tablero ya tabulado.

Guardar respaldo de datos

Descarga únicamente la base procesada en JSON para resguardar o volver a cargar la información después.

Cargar respaldo

Importa un archivo JSON previamente guardado para reconstruir el tablero en este navegador.

Procedimiento recomendado: 1) cargue y procese las guías; 2) verifique que el tablero muestre los resultados; 3) presione Descargar página compartible; 4) suba ese HTML descargado a EdgeOne Pages como index.html. Así el enlace público mostrará directamente los resultados ya tabulados.
`; const drop = upload.querySelector(".dropzone"); if(drop) drop.insertAdjacentElement("afterend", panel); else upload.insertAdjacentElement("afterbegin", panel); } function ensureShareSubmenuV29(){ if(document.getElementById("shareSubmenuButtonV29")) return; const uploadBtn = document.querySelector('nav button[data-view="upload"]'); if(!uploadBtn) return; const btn = document.createElement("button"); btn.id = "shareSubmenuButtonV29"; btn.type = "button"; btn.innerHTML = "💾 Guardar y compartir"; btn.onclick = () => { showView("upload"); setTimeout(()=>document.getElementById("sharePanelV29")?.scrollIntoView({behavior:"smooth",block:"start"}),100); }; uploadBtn.insertAdjacentElement("afterend", btn); } /* Botón superior discreto para compartir */ function ensureTopShareButtonV29(){ if(document.getElementById("topShareV29")) return; const actions = document.querySelector("header .actions"); if(!actions) return; const btn = document.createElement("button"); btn.id = "topShareV29"; btn.type = "button"; btn.innerHTML = "💾 Compartir"; btn.onclick = exportSnapshotHTMLV29; actions.appendChild(btn); } /* Carga automática si el HTML compartible trae datos embebidos */ function loadEmbeddedDatasetIfPresentV29(){ const el = document.getElementById("embeddedDatasetV29"); if(!el) return; try{ const payload = JSON.parse(el.textContent || "{}"); if(payload.records && Array.isArray(payload.records)){ state.records = payload.records; state.logs = Array.isArray(payload.logs) ? payload.logs : []; state.filters = {faculties:[],modalities:[],months:[]}; saveState(); setStatus({message:"Tablero público cargado con datos embebidos.", selected:payload.records.length, total:payload.records.length, processed:payload.records.length, accepted:payload.records.length, warnings:0, duplicates:0, rejected:0}); } }catch(e){ console.warn("No se pudo cargar dataset embebido", e); } } const previousRenderAllV29 = renderAll; renderAll = function(){ previousRenderAllV29(); ensureShareInputsV29(); ensureSharePanelV29(); ensureShareSubmenuV29(); ensureTopShareButtonV29(); }; document.addEventListener("DOMContentLoaded", () => { loadEmbeddedDatasetIfPresentV29(); ensureShareInputsV29(); ensureSharePanelV29(); ensureShareSubmenuV29(); ensureTopShareButtonV29(); renderAll(); }); ", after + "\n "); return "\n" + html.replace(/^\s*/i,""); } function downloadTextFileV31(filename, content, type){ const blob = new Blob([content], {type:type || "text/html;charset=utf-8"}); const a = document.createElement("a"); a.href = URL.createObjectURL(blob); a.download = filename; document.body.appendChild(a); a.click(); a.remove(); setTimeout(()=>URL.revokeObjectURL(a.href),1200); } // Sobrescribe el botón anterior "Compartir" para que genere un archivo de RESULTADOS publicable. function exportSnapshotHTMLV29(){ const html = buildSnapshotHTMLV31(); if(!html) return; downloadTextFileV31("resultados.html", html, "text/html;charset=utf-8"); alert("Se descargó resultados.html. Para obtener otro enlace, súbalo a EdgeOne Pages junto al index.html, o publíquelo como una segunda página. El enlace será la ruta /resultados.html del sitio publicado."); } async function exportEdgeOnePackageV31(){ const html = buildSnapshotHTMLV31(); if(!html) return; if(!window.JSZip){ downloadTextFileV31("resultados.html", html, "text/html;charset=utf-8"); return; } const zip = new JSZip(); zip.file("resultados.html", html); zip.file("LEEME_PUBLICACION_EDGEONE.txt", `PUBLICACIÓN DEL TABLERO SOD-UNIVO EN EDGEONE PAGES\n\n1. Mantenga index.html como la herramienta de carga y procesamiento.\n2. Suba resultados.html al mismo proyecto o a una segunda publicación.\n3. El enlace público de resultados será:\n https://SU-SITIO.pages.edgeone.app/resultados.html\n\nImportante: EdgeOne Pages publica archivos estáticos. El enlace principal no se actualiza solo con los datos procesados en su navegador. Para compartir resultados ya tabulados, debe publicarse este archivo resultados.html.`); const blob = await zip.generateAsync({type:"blob"}); const a = document.createElement("a"); a.href = URL.createObjectURL(blob); a.download = "SOD_UNIVO_publicar_resultados_EdgeOne.zip"; document.body.appendChild(a); a.click(); a.remove(); setTimeout(()=>URL.revokeObjectURL(a.href),1500); } function refreshSharePanelV31(){ const panel = document.getElementById("sharePanelV29"); if(!panel) return; panel.innerHTML = `

Guardar y compartir tablero

EdgeOne Pages no actualiza el enlace publicado con los datos que usted procesa en su navegador. Para compartir resultados tabulados se debe publicar una segunda página de resultados.
Generar archivo para otro enlace

Descarga resultados.html con los datos ya incorporados. Súbalo a EdgeOne y comparta la ruta pública /resultados.html.

Paquete EdgeOne

Descarga un ZIP con resultados.html y una guía breve de publicación para generar el segundo enlace.

Guardar respaldo de datos

Descarga únicamente la base procesada en JSON para resguardar o volver a cargar la información después.

Flujo correcto: cargar guías → verificar que el tablero tenga resultados → descargar resultados.html → subirlo a EdgeOne → compartir el nuevo enlace terminado en /resultados.html.
`; } const previousRenderAllV31 = renderAll; renderAll = function(){ previousRenderAllV31(); refreshSharePanelV31(); }; document.addEventListener("DOMContentLoaded", () => { setTimeout(refreshSharePanelV31, 100); });