# Sommario — documentazione utente Omniscol Canonical Omniscol user documentation, generated from the maintained `help/it/` corpus. This is the authoritative reference and supersedes any older PDF manual. Authoring directives (UI labels, i18n strings, feature gating) are resolved to their real it wording. Internal cross-references link to `#page-` anchors within this file. Interactive step-by-step walkthroughs are omitted. ## Contents **1. Per iniziare** - [1.1 Che cos'è Omniscol?](#page-overview.what-is-omniscol) - [1.2 Filosofia generale di Omniscol](#page-overview.philosophy) - [1.3 Visita guidata in cinque minuti](#page-overview.quick-tour) - [1.4 Architettura, moduli e ruoli](#page-overview.architecture-and-roles) - [1.5 Piani e opzioni di Omniscol](#page-overview.plans-and-options) - [1.6 Scegliere il tipo di orario giusto: settimanale, ciclico, calendario](#page-overview.timetable-modes) - [1.7 Primo accesso](#page-getting-started.first-login) - [1.8 Configurare l'account della scuola](#page-getting-started.setup-school) - [1.9 Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) - [1.10 Preparare i propri dati per un'importazione massiva (in blocco)](#page-getting-started.preparing-data) - [1.11 Visita guidata di avvio (le 6 fasi del modulo Pagina Iniziale)](#page-getting-started.onboarding-tour) **2. Concetti chiave** - [2.1 Organizzazione dei dati: materie, professori, classi, orari](#page-core-concepts.data-model) - [2.2 Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [2.3 Partizioni di classe](#page-core-concepts.class-divisions) - [2.4 Allineamenti di gruppi](#page-core-concepts.alignments) - [2.5 Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [2.6 Gerarchia di gruppi: genitori, figli, vincoli ereditati](#page-core-concepts.group-hierarchy) - [2.7 Gruppi liberi](#page-core-concepts.free-groups) - [2.8 Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types) - [2.9 Lezioni complesse: alternate, concatenate, associate, in compresenza](#page-core-concepts.complex-lessons) - [2.10 Campus, siti, aule, risorse, più aule](#page-core-concepts.sites-rooms-resources) - [2.11 Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) - [2.12 Specializzazioni delle aule](#page-core-concepts.classroom-specializations) - [2.13 Disponibilità e vincoli orari dei professori](#page-core-concepts.wishes-and-availability) - [2.14 Vincoli orari: classi, materie, gruppi, aule e griglia](#page-core-concepts.time-constraints) - [2.15 Anno scolastico, settimane alternate, vacanze](#page-core-concepts.school-year) - [2.16 Linea del tempo e navigazione temporale](#page-core-concepts.timeline-navigation) - [2.17 Cercare e filtrare negli elenchi](#page-core-concepts.search-and-filter) - [2.18 Collaborazione tra amministratori](#page-core-concepts.collaboration) **3. Creazione di un orario (modulo Gestione degli orari)** - [3.1 Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [3.2 Prerequisiti per creare un orario](#page-timetables.prerequisites) - [3.3 Modalità calendario — opzioni avanzate](#page-timetables.calendar-mode) - [3.4 Disponibilità e vincoli in modalità calendario](#page-timetables.calendar-wishes) - [3.5 Finestre di date](#page-timetables.date-windows) - [3.6 Passaggio 1 — Parametri generali](#page-timetables.general-settings) - [3.7 Passo 2 — Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - [3.8 Passaggio 3 — Assegnare i professori](#page-timetables.assigning-teachers) - [3.9 Passaggio 4 — Creare le classi e i loro gruppi](#page-timetables.creating-classes) - [3.10 Passaggio 5 — Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) - [3.11 Fase 6 — Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - [3.12 Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) - [3.13 Fase 6 bis — Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) - [3.14 Passaggio 7 — Generazione automatica](#page-timetables.generation) - [3.15 Passo 8 — Pubblicare (attivare) un orario](#page-timetables.publication) - [3.16 Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [3.17 Posizionamento manuale delle lezioni](#page-timetables.manual-placement) - [3.18 Modifica di una lezione](#page-timetables.lesson-edit) - [3.19 Lezioni e classi fuori dalla griglia oraria](#page-timetables.off-grid-lessons) - [3.20 Bloccare il posizionamento di una lezione](#page-timetables.lesson-lock) - [3.21 Rilevare e risolvere i conflitti (alla generazione)](#page-timetables.conflicts) - [3.22 Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) - [3.23 Visualizzare, duplicare, riorganizzare un orario](#page-timetables.visualize-duplicate) - [3.24 Preparare il nuovo anno scolastico](#page-timetables.next-school-year) **4. Dashboard** - [4.1 Panoramica del modulo Dashboard](#page-dashboard.overview) - [4.2 Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) - [4.3 Statistiche professori](#page-dashboard.teachers) - [4.4 Statistiche aule](#page-dashboard.classrooms) - [4.5 Statistiche materie](#page-dashboard.subjects) - [4.6 Statistiche classi](#page-dashboard.classes) - [4.7 Statistiche studenti e risorse](#page-dashboard.students-resources) **5. Uso quotidiano (modulo Orario)** - [5.1 Consultare e filtrare gli orari](#page-schedules.consult-and-filter) - [5.2 Visualizzazione degli orari: griglia, elenco, tabella, planning, mese, affiancamento](#page-schedules.schedule-display) - [5.3 Modifiche puntuali a un orario pubblicato](#page-schedules.ad-hoc-changes) - [5.4 Eventi puntuali (fuori orario)](#page-schedules.events) - [5.5 Stampare e condividere](#page-schedules.print-and-export) - [5.6 Condividere un orario tramite link pubblico](#page-schedules.share-link) **6. Assenze e sostituzioni** - [6.1 Panoramica del modulo Assenze](#page-absences.overview) - [6.2 Dichiarare un'assenza (amministratore / professore / studente)](#page-absences.declaring) - [6.3 Politiche di sostituzione](#page-absences.substitution-policies) - [6.4 Sostituzione puntuale di una lezione](#page-absences.single-lesson-replacement) - [6.5 Assenze su più giorni](#page-absences.multi-day) - [6.6 Assenze classi e studenti](#page-absences.class-and-student-absences) - [6.7 Monitoraggio ed esportazione delle assenze](#page-absences.statistics) **7. Servizio del personale** - [7.1 Panoramica del Servizio del personale](#page-staffing.overview) - [7.2 Costruire una griglia di servizio](#page-staffing.building-grids) - [7.3 Definire i compiti da coprire](#page-staffing.assignments) - [7.4 Assegnare il personale](#page-staffing.planner) - [7.5 Creare e condividere i turni di servizio](#page-staffing.roster) **8. Amministrazione** - [8.1 Utenti e ruoli](#page-admin.users-and-roles) - [8.2 Gestire gli amministratori](#page-admin.admins) - [8.3 Ruoli personalizzati di amministrazione](#page-admin.customroles) - [8.4 Gestire i professori](#page-admin.teachers) - [8.5 Gestire gli studenti](#page-admin.students) - [8.6 Gestire i membri del personale](#page-admin.staff) - [8.7 Gestire le materie (ufficiali e personalizzate)](#page-admin.subjects) - [8.8 Tipi di lezione](#page-admin.lesson-types) - [8.9 Anno scolastico e vacanze](#page-admin.school-year) - [8.10 Parametri generali della scuola](#page-admin.parameters) - [8.11 Parametri avanzati e personalizzazione](#page-admin.advanced-parameters) - [8.12 Restrizioni di visibilità e di accesso](#page-admin.visibility-restrictions) - [8.13 Importazione ed esportazione](#page-admin.import-export) - [8.14 Punti di backup](#page-admin.snapshots) - [8.15 Registro delle attività (logs)](#page-admin.logs) **9. Integrazioni** - [9.1 Panoramica delle integrazioni](#page-integrations.overview) - [9.2 Come funziona Omniscol — una sola API, un'unica fonte di verità](#page-integrations.architecture) - [9.3 iCal — abbonamento e link dinamico](#page-integrations.ical) - [9.4 API Omniscol — token di autenticazione](#page-integrations.api-tokens) - [9.5 OAuth2 / OIDC — collegare un servizio a Omniscol](#page-integrations.oauth-server) - [9.6 Personalizzazione dell'API: override degli endpoint e hook](#page-integrations.api-customization) - [9.7 Modello di dati completo: entità JSON, relazioni e ontologia](#page-integrations.data-model-full) - [9.8 Interrogazione avanzata — filtrare, proiettare e paginare l'API](#page-integrations.advanced-queries) - [9.9 L'API delle lezioni — recuperare le lezioni per qualsiasi data](#page-integrations.lessons-api) - [9.10 MCP — collegare un agente IA esterno a Omniscol](#page-integrations.mcp) - [9.11 Assistente IA integrato](#page-integrations.ai-assistant) - [9.12 OIDC / SSO — accesso tramite provider di identità](#page-integrations.oauth2) - [9.13 Sincronizzazione con sistemi esterni (ERP)](#page-integrations.extsync) - [9.14 OneRoster (1.2 e gruppi avanzati)](#page-integrations.oneroster) - [9.15 Account collegati e risorse condivise](#page-integrations.linked-accounts) **10. Portali** - [10.1 Portale dello studente](#page-portal.student-portal) - [10.2 Portale del professore](#page-portal.teacher-portal) - [10.3 Portale ospite (link pubblici)](#page-portal.guest-portal) - [10.4 Link di condivisione pubblici](#page-portal.share-links) **11. Pannelli di affissione** - [11.1 Configurare un pannello informativo per un atrio o un corridoio](#page-panels.lobby-panel) - [11.2 Configurare un pannello informativo davanti a un'aula](#page-panels.room-panel) - [11.3 Personalizzazione visiva dei pannelli informativi](#page-panels.customization) **12. Migrazione da un altro software** - [12.1 Migrazione da un altro programma — Panoramica](#page-migration.overview) - [12.2 Migrare da Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [12.3 Migrare da EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [12.4 Migrare da aSc Timetables](#page-migration.from-asc) - [12.5 Migrare da ADE / ADE Campus](#page-migration.from-ade) - [12.6 Migrare da un foglio di calcolo Excel artigianale](#page-migration.from-spreadsheet) **13. Specificità dell'istruzione superiore** - [13.1 Specificità dell'istruzione superiore — panoramica](#page-higher-ed.overview) - [13.2 Sessioni, coorti, programmi, percorsi](#page-higher-ed.sessions-and-tracks) - [13.3 Docenti esterni (a contratto, visiting)](#page-higher-ed.external-faculty) - [13.4 Aule sdoppiate ed esami in più aule](#page-higher-ed.multi-room-exams) - [13.5 Co-docenza e alternanza di docenti](#page-higher-ed.co-teaching) - [13.6 Modalità calendario per i percorsi senza ricorrenza](#page-higher-ed.calendar-mode) - [13.7 Link alla videoconferenza per corso](#page-higher-ed.videoconference-links) - [13.8 Multi-sito nell'istruzione superiore](#page-higher-ed.multi-site) **14. Specificità primaria / secondaria (scuola)** - [14.1 Specificità primaria / secondaria — panoramica](#page-k12.overview) - [14.2 Mezze classi e opzionali in partizione di classe](#page-k12.half-classes-and-options) - [14.3 Studio assistito e studio sorvegliato (scolastico)](#page-k12.study-halls) - [14.4 Classi multilivello](#page-k12.multi-grade-classes) **15. Scenari di casi d'uso** - [15.1 Scenari di casi d'uso — panoramica](#page-use-cases.overview) - [15.2 Scenari — Creazione e generazione degli orari](#page-use-cases.creation-and-generation) - [15.3 Scenari — Posizionamento e modifica quotidiani](#page-use-cases.placement-and-modification) - [15.4 Scenari — Multi-gruppo, multi-aula, multi-docente](#page-use-cases.multi-entities) - [15.5 Scenari — Operazioni in massa](#page-use-cases.mass-operations) - [15.6 Scenari — Esami ed eventi](#page-use-cases.exams-and-events) - [15.7 Scenari — Assenze e sostituzioni](#page-use-cases.absences-and-substitutions) - [15.8 Scenari — Reportistica e statistiche](#page-use-cases.reporting-and-stats) - [15.9 Scenari — Diffusione e condivisione](#page-use-cases.diffusion-and-sharing) **16. FAQ — domande frequenti** - [16.1 FAQ — domande generali](#page-faq.general) - [16.2 FAQ — Creazione di orari](#page-faq.timetables) - [16.3 FAQ — Importazione dei dati](#page-faq.data-import) - [16.4 FAQ — Comportamento dell'algoritmo di generazione](#page-faq.solver-behavior) - [16.5 FAQ — Visualizzazione e interfaccia](#page-faq.display-and-ux) - [16.6 FAQ — casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) - [16.7 FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) - [16.8 FAQ — Sicurezza e hosting](#page-faq.security-and-hosting) - [16.9 FAQ — Tariffe e licenze](#page-faq.pricing-and-licenses) - **[Glossario](#chapter-glossary)** (51 terms) - **[Index](#chapter-index)** --- ## 1. Per iniziare ### 1.1 Che cos'è Omniscol? *Source: `help/it/overview/what-is-omniscol.md` · id: overview.what-is-omniscol · Updated: 2026-06-13* Omniscol è un **software online di pianificazione sotto vincoli**, progettato per istituti che vanno dalla primaria all'istruzione superiore e alla formazione continua. Permette di creare orari settimanali, ciclici o calendario (datati, non ricorrenti), per poi pubblicarli verso gli utenti interessati. Il prodotto combina inserimento manuale, diagnostica dei conflitti e generazione automatica tramite [solver](#page-glossary.solver). I dettagli di dominio sono documentati nelle pagine specializzate. #### Come funziona, in generale Il flusso di lavoro standard con Omniscol: ``` 1. Inserire i dati (utenti, materie, siti/aule, classi) ↓ 2. Configurare l'orario (volumi orari, allineamenti, vincoli) ↓ 3. Generare o posizionare (solver automatico o posizionamento manuale) ↓ 4. Verificare e arbitrare (conflitti, aggiustamenti, blocchi) ↓ 5. Pubblicare (l'orario diventa visibile lato utenti) ↓ 6. Vivere con l'orario (modifiche quotidiane, assenze, sostituzioni) ``` Ogni fase ha un modulo dedicato. Le fasi da 1 a 5 sono puntuali (prima di un inizio d'anno, di un semestre o di una revisione). La fase 6 corrisponde all'uso quotidiano. #### I tipi di orario Omniscol gestisce **tre tipi** di orario. La disponibilità di ciascun tipo dipende dal piano sottoscritto. - **Settimanale** — lezioni ricorrenti su una settimana tipo, con o senza alternanza A/B. È il caso standard dell'istruzione primaria e secondaria. Disponibile su tutti i piani. - **Ciclico** — lezioni ricorrenti su un ciclo di N giorni numerati (tipicamente 6 o 8), diverso dalla settimana di 5 o 7. Comune nei sistemi nordamericani. Disponibile sugli account Premium. - **Calendario** — lezioni datate una per una, senza ricorrenza. Modalità privilegiata dell'istruzione superiore e della formazione continua. Disponibile sugli account Premium. Su un account Premium, tutti e tre i tipi possono essere utilizzati. E grazie a [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables), funzione inclusa in Premium, possono persino essere combinati sugli stessi periodi. Vedere [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) per l'aiuto alla decisione. #### Filosofia: il dato prima di tutto Omniscol parte da una constatazione: un orario non è una tabella da riempire, è un **problema di ottimizzazione sotto vincoli**. Il software è progettato attorno a cinque principi: 1. **Il dato prima del calcolo**: siti, aule, professori, classi, gruppi, materie e volumi orari devono essere affidabili prima di avviare una generazione. 2. **Separazione struttura / quotidiano**: costruire un orario e gestire i cambiamenti del giorno sono due attività diverse, con interfacce diverse. 3. **Vincoli espliciti**: le impossibilità sono segnalate sotto forma di [conflitti](#page-glossary.conflict) o di lezioni non posizionate; l'utente mantiene l'arbitrato di dominio. 4. **Bozze e versioni**: un orario non pubblicato può essere testato, duplicato o ricostruito senza modificare ciò che gli utenti vedono. 5. **Controllo dei dati**: esportazione JSON o tramite foglio di calcolo interno e reversibilità. Pagina di riferimento: [Filosofia generale di Omniscol](#page-overview.philosophy). #### Dati di ingresso / uscita Lato **ingresso**, Omniscol accetta: - l'inserimento unitario nell'interfaccia; - l'importazione massiva tramite copia-incolla da un foglio di calcolo, con verifica prima dell'applicazione; - migrazioni assistite a seconda delle esportazioni disponibili lato sorgente; - connettori ERP/SI tramite la [sincronizzazione con sistemi esterni](#page-integrations.extsync) (Aurion, Auriga; aggiunta di un nuovo ERP su progetto); - l'[API Omniscol](#page-integrations.api-tokens) a seconda dei diritti e delle opzioni dell'account; - [OIDC / SSO](#page-integrations.oauth2) a seconda del contratto e della configurazione. Lato **uscita**: - consultazione web responsive; - abbonamenti [iCal](#page-integrations.ical); - link pubblici firmati e con scadenza; - pannelli informativi; - esportazioni Excel / CSV / PDF / JSON a seconda delle schermate; - API REST documentata, con perimetro limitato dagli endpoint e dalle opzioni autorizzati; - [MCP](#page-integrations.mcp) per agenti IA compatibili sugli account Premium. #### Organizzazione modulare Il software si articola in due famiglie di moduli. ##### Moduli del quotidiano - **Pagina Iniziale** — vista sintetica del giorno e checklist di avvio. - **Orario** — consultazione e modifiche puntuali. - **Dashboard** — statistiche di occupazione e di servizio. - **Gestione delle assenze & sostituzioni** — dichiarazioni di indisponibilità e assegnazione di sostituti. ##### Moduli di configurazione - **Gestione degli orari** — creazione, configurazione, generazione e pubblicazione degli orari. - **Amministrazione** — utenti, materie, anni scolastici, impostazioni, importazione / esportazione e integrazioni. - **Servizio del personale** — pianificazione del personale per compiti quando il modulo è attivo; può anche essere venduto come offerta autonoma. #### Ruoli e accessi Quattro profili strutturano l'accesso lato scuola. Gli **Amministratori** (responsabili della pianificazione, direzione, DSI) configurano l'account e costruiscono gli orari. I **Professori** consultano il proprio planning, inseriscono le proprie disponibilità e dichiarano le proprie assenze. Gli **Studenti** consultano il proprio orario personale. Il **Personale** (vita scolastica, sorveglianti) interviene quando il Servizio del personale è utilizzato. Link di condivisione firmati offrono in aggiunta un accesso senza account a un perimetro preciso. I ruoli sono cumulabili: un professore che partecipa alla pianificazione può essere al contempo Professore e Amministratore. Il dettaglio dei ruoli è presentato in [Architettura e ruoli](#page-overview.architecture-and-roles). L'opzione [Ruoli personalizzati](#page-admin.customroles) permette di limitare i diritti di un account amministratore modulo per modulo e operazione per operazione. #### Piani e opzioni Omniscol propone diversi piani: **Lite** (indipendenti, formatori singoli, istituti molto piccoli), **Staffing** (solo il Servizio del personale), **Standard** (istituto scolastico classico), **Standard Plus** (Standard + Servizio del personale) e **Premium** (istruzione superiore, formazione continua, organizzazioni multi-sito complesse). Alcune funzioni sono incluse di base in Premium — tipi di orario ciclico e calendario, disponibilità calendario, più orari attivi — mentre altre si attivano a seconda del contratto (snapshot, log, collaborazione in tempo reale, account collegati, ruoli personalizzati…). Il dettaglio dei piani, delle opzioni e della loro modalità di attivazione è centralizzato in [Piani e opzioni di Omniscol](#page-overview.plans-and-options). #### Punti di differenziazione - **Generazione automatica**: il solver posiziona le lezioni rispettando i vincoli rigidi e ottimizzando le preferenze. - **Controllo manuale**: l'utente può sempre ispezionare, spostare, bloccare o arbitrare. - **Diffusione multi-supporto**: web, iCal, esportazioni, link pubblici e pannelli informativi. - **Reporting**: dashboard ed esportazioni per monitorare le ore, l'occupazione delle aule e gli indicatori utili agli audit. #### Architettura e hosting Gli aspetti di architettura, sicurezza e hosting sono descritti in [Architettura e ruoli](#page-overview.architecture-and-roles) e [FAQ — Sicurezza e hosting](#page-faq.security-and-hosting). #### E poi - Per una visita interattiva: [Visita guidata in cinque minuti](#page-overview.quick-tour). - Per configurare il Suo account: [Primo accesso](#page-getting-started.first-login) poi [Configurare l'account della scuola](#page-getting-started.setup-school). - Per comprendere i concetti di dominio: [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups). - Per creare il Suo primo orario: [Modulo Gestione degli orari](#page-timetables.overview). - Per le domande frequenti: [FAQ generale](#page-faq.general). #### Vedi anche - [Filosofia generale di Omniscol](#page-overview.philosophy) - [Architettura e ruoli](#page-overview.architecture-and-roles) - [Scegliere il tipo di orario giusto: settimanale, ciclico, calendario](#page-overview.timetable-modes) - [Piani e opzioni di Omniscol](#page-overview.plans-and-options) - [Visita guidata in cinque minuti](#page-overview.quick-tour) ### 1.2 Filosofia generale di Omniscol *Source: `help/it/overview/philosophy.md` · id: overview.philosophy · Updated: 2026-06-13* Prima delle funzionalità, alcuni principi strutturano l'esperienza Omniscol e spiegano perché il software prende certe decisioni piuttosto che altre. #### Il contesto operativo L'orario non è una semplice tabella da riempire. È un **problema di ottimizzazione sotto vincoli**: - vincoli numerosi e spesso impliciti; - vincoli a volte contraddittori; - forte posta in gioco operativa: l'inizio dell'anno, il semestre o il periodo deve funzionare. Omniscol è concepito come un **assistente di pianificazione sotto vincoli**: accelera il lavoro, segnala le impossibilità e lascia all'utente le decisioni operative. #### Che cosa Omniscol non è | Categoria | Che cosa fa | Omniscol? | | --- | --- | --- | | ERP scolastico / SIS | Fascicoli amministrativi, iscrizioni | No. Omniscol consuma o sincronizza questi dati. | | Ambiente digitale / LMS | Didattica, contenuti dei corsi, comunicazione | No. | | Voti / presenze | Valutazioni, firme, registro di classe | No. | | Omniscol | Organizzazione del tempo: chi, cosa, dove, quando | Sì. | Omniscol è pensato per interfacciarsi con altri sistemi tramite importazioni, esportazioni, iCal, API REST documentata, OIDC / SSO in base al contratto e [sincronizzazione con sistemi esterni](#page-integrations.extsync). Non cerca di sostituire gli strumenti operativi che coprono altri perimetri. Vedere anche [integrations.partners](#page-integrations.partners). #### I cinque principi fondanti ##### 1. Il dato prima del calcolo Non è possibile generare un orario affidabile senza dati integri: siti, aule, professori, classi, gruppi, materie, monte ore, disponibilità e vincoli. ##### 2. Separazione struttura / vita quotidiana Costruire un orario e convivere con un orario pubblicato sono due attività diverse. La prima avviene soprattutto in [Gestione degli orari](#page-timetables.overview), la seconda in [Orario](#page-schedules.consult-and-filter), [Assenze](#page-absences.overview) e [Dashboard](#page-dashboard.overview). ##### 3. Vincoli rigidi e vincoli di ottimizzazione Alcuni vincoli rendono un orario non valido e sono trattati come vincoli stretti: un professore in un solo luogo nello stesso momento, una classe senza sovrapposizioni salvo i gruppi in partizione, un'aula standard assegnata a una sola lezione, le indisponibilità, le capacità, le risorse materiali e gli spostamenti tra siti. Altri vincoli servono a migliorare la soluzione: disponibilità sconsigliate, buchi, equilibrio delle giornate, ordine didattico tra materie, massimi o minimi di ore, numero di giorni di presenza. Sono valutati come penalità che il solver cerca di ridurre. ##### 4. Bozze e versioni Un orario non pubblicato non ha alcun impatto su ciò che vedono gli utenti. Può duplicare, testare, confrontare, bloccare alcune lezioni, avviare di nuovo una generazione e pubblicare solo quando il risultato è soddisfacente. Gli snapshot, quando sono attivati, aggiungono una rete di sicurezza per tornare indietro o ripristinare alcuni dati. ##### 5. L'utente resta padrone del dato Omniscol consente l'esportazione JSON completa, le esportazioni operative in base agli schermi e la reversibilità. Le automazioni non sostituiscono la decisione umana. #### I conflitti sono un'informazione, non un errore Nell'inserimento manuale, Omniscol segnala i conflitti ma lascia all'utente la decisione. È utile per i casi particolari reali: aula per tempi supplementari, superamento consapevole di una capacità teorica, assegnazione di un'aula fuori specializzazione per un motivo locale. Nella generazione automatica, il solver non produce volontariamente sovrapposizioni gravi. Se non viene trovata alcuna soluzione completa, conserva il miglior orario calcolato e lascia le lezioni impossibili da collocare nella lista dei post-it non posizionati. Il [blocco di una lezione](#page-timetables.lesson-lock) consente di ancorare una collocazione desiderata: la generazione successiva regola le altre lezioni attorno a questo blocco. #### Multi-orario come principio di modellazione Omniscol è nativamente **multi-orario**. Più orari possono coesistere per uno stesso istituto: - anni scolastici distinti; - semestri o periodi; - separazione logica per campus, dipartimento o ciclo; - combinazione di tipi diversi, per esempio settimanale ricorrente e calendario datato. In Premium, più orari possono essere [attivi in parallelo](#page-timetables.multiple-active-timetables) — una attivazione specifica è possibile anche su alcuni account Standard. Una scuola può avere un ciclo preparatorio in due orari settimanali per ogni semestre, un ciclo di grande scuola in calendario non ricorrente e contemporaneamente, un programma ExecMBA di 18 mesi, che inizia e termina in modo sfalsato rispetto agli altri planning e all'anno scolastico. Con Omniscol si può creare ogni orario separatamente, ma beneficiare della gestione dei conflitti incrociati durante la pianificazione, per poi attivare tutto in parallelo, contemporaneamente, così che il risultato finale sia una vista fusa, trasparente per gli utenti finali. #### IA di ottimizzazione e agenti esterni Il [solver](#page-glossary.solver) è un'IA di ottimizzazione **metaeuristica Monte-Carlo neuro-simbolica**. Il motore esplora collocazioni sotto vincoli, cerca una soluzione valida poi ottimizza le penalità, con una rapidità impressionante (es.: meno di un minuto per una scuola media di 16 classi). Se non viene trovata una soluzione valida, un sistema di rilassamento sacrifica le lezioni in modo intelligente, e procede comunque all'ottimizzazione del risultato. Omniscol è una società AI-first, nata da una lunga fase di R&S "deeptech". Omniscol dispone anche di altri algoritmi di tipo IA simbolica, per verificare i conflitti, rilevare le incoerenze di configurazione, formulare proposte di miglioramento o avvisi di configurazione, prefiltrare la migliore soluzione in una lista di proposte, oppure allocare automaticamente un sottoinsieme di aule a un sottoinsieme di lezioni, il tutto nel browser, immediatamente. Omniscol espone anche strumenti API ad agenti compatibili tramite [MCP](#page-integrations.mcp) quando l'opzione e i diritti sono attivi. Ciò consente di interagire con Omniscol in linguaggio naturale, per estendere le possibilità offerte dall'interfaccia grafica, recuperando direttamente i dati pertinenti dal server di Omniscol. Questi agenti agiscono nel perimetro del token fornito; gli usi di consultazione sono i più sicuri, e ogni azione di scrittura deve restare verificata dall'utente. Attualmente, il miglior agente IA per interagire con Omniscol è Claude, in versione Desktop. #### Vedi anche - [Che cos'è Omniscol?](#page-overview.what-is-omniscol) - [Architettura e ruoli](#page-overview.architecture-and-roles) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Conflitto](#page-glossary.conflict) - [Risolutore](#page-glossary.solver) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) ### 1.3 Visita guidata in cinque minuti *Source: `help/it/overview/quick-tour.md` · id: overview.quick-tour · Updated: 2026-06-25* Questa visita guidata Le fa scoprire i principali moduli di Omniscol in pochi minuti. Se si avvicina al software per la prima volta, questo è il punto giusto da cui iniziare. #### Il menu dei moduli a sinistra A sinistra di ogni schermata, un menu verticale elenca i moduli disponibili per il Suo ruolo. Dall'alto verso il basso, nell'ordine d'uso quotidiano: 1. **Pagina Iniziale** (l'icona [house]) — guida di avvio finché non è pubblicato alcun orario, altrimenti schermata iniziale personalizzata. 2. **Orario** — la Sua vista principale nel quotidiano. 3. **Dashboard** — statistiche. 4. **Gestione delle assenze** — gestione delle assenze e delle sostituzioni. 5. **Gestione degli orari** — creazione e struttura degli orari. 6. **Amministrazione** — utenti, materie, impostazioni. A seconda del Suo contratto, possono comparire altri moduli, per esempio **Servizio del personale** (griglie di compiti e di sorveglianza, per le squadre di vita scolastica). #### La linea del tempo In alto nella maggior parte delle schermate, una **linea del tempo** (per settimane o per mesi) rappresenta l'anno scolastico. Le permette di navigare temporalmente e di vedere a colpo d'occhio i periodi in cui alcuni orari sono pubblicati (settimane colorate) e le vacanze (settimane in grigio). Questa linea del tempo è ricca di opzioni e di usi. Può trasformarsi in vista per mesi o per anni (o anche: da data a data, in modo esplicito). Nella gestione degli orari, si colora in base agli orari pubblicati — i vuoti sono le settimane bianche. Durante la visualizzazione di un orario di tipo calendario, alcune indicazioni azzurre, in alto, segnalano dove si trovano lezioni sulle viste planning mostrate a schermo. Le frecce `◀` e `▶︎` alle estremità fanno passare da un anno scolastico all'altro. #### Segua la guida! Benvenuto in Omniscol. Questa panoramica Le presenta i moduli del software e come si integrano tra loro. 1. Il **pulsante di aiuto** in alto a destra apre questo aiuto in qualsiasi momento, su qualsiasi schermata. Sa su quale schermata si trova e propone la pagina più pertinente. Accanto, il pulsante di legenda mostra una descrizione degli elementi a schermo. 2. **Pagina Iniziale** (icona [house]): finché non ha pubblicato il Suo primo orario, questo modulo La guida passo dopo passo. Segua [i passaggi](#page-getting-started.setup-school), spunti le caselle, torni quando desidera. 3. **Orario**: la consultazione quotidiana. Tutti i filtri (classe, professore, aula, gruppo, materia, studente). Diverse modalità di visualizzazione: griglia standard, elenco, tabella tipo foglio di calcolo, planning, planning per ore, giorno, mese e affiancamento. Un planning compare solo dopo aver pubblicato un primo orario contenente lezioni posizionate. 4. **Dashboard**: le statistiche dell'orario effettivo (operativo). Ore per professore, per classe, per aula, per materia. Filtrabile per periodo. Esportabile in CSV ed Excel. API con ancora più dettaglio. 5. **Gestione delle assenze**: gestione centralizzata. Dichiarazioni da parte dei professori o degli studenti (con convalida amministrativa), oppure direttamente da parte dell'amministrazione. Assegnazione di sostituti ai professori assenti. Assenza di classe (stage, uscita scolastica...). 6. **Gestione degli orari**: la creazione degli orari veri e propri. Siti, classi, gruppi, professori, materie, lezioni. Generazione automatica o posizionamento manuale. Pubblicazione, affinché un orario teorico diventi operativo. 7. **Servizio del personale** (se il modulo è attivato): la pianificazione dei sorveglianti. Definizione dei compiti e delle loro specificità, assegnazione del personale. Foglio di servizio da distribuire. 8. **Amministrazione**: utenti, materie, anni scolastici, impostazioni, importazione/esportazione. Soprattutto all'avvio dell'account. #### E poi - Per configurare il Suo account da zero: [Primo accesso](#page-getting-started.first-login). - Per comprendere i concetti di dominio (classe, gruppo, partizione, allineamento, ecc.): [Concetti di dominio](#page-core-concepts.classes-and-groups). - Per creare il Suo primo orario: [Panoramica del modulo Gestione degli orari](#page-timetables.overview). - Per vedere come Omniscol si integra con il Suo sistema informativo: [Panoramica delle integrazioni](#page-integrations.overview). #### Vedi anche - [Che cos'è Omniscol?](#page-overview.what-is-omniscol) - [Architettura e ruoli](#page-overview.architecture-and-roles) ### 1.4 Architettura, moduli e ruoli *Source: `help/it/overview/architecture-and-roles.md` · id: overview.architecture-and-roles · Updated: 2026-06-13* Questa pagina riassume l'architettura applicativa di Omniscol e i ruoli visibili lato scuola. Gli impegni contrattuali precisi (disponibilità, backup, conservazione, monitoraggio) sono definiti nei documenti giuridici o commerciali approvati. #### Hosting e affidabilità Omniscol è ospitato nell'Unione europea, più precisamente su AWS Parigi e Scaleway Parigi. Il prodotto utilizza meccanismi di backup, di monitoraggio e di isolamento logico tra gli account degli istituti; i dettagli applicabili a un account dipendono dal contratto e dall'ambiente interessato. Vedere [FAQ — Sicurezza e hosting](#page-faq.security-and-hosting) per il dettaglio lato utente. #### Architettura software - **Applicazione web**: l'applicazione si carica una sola volta, poi le schermate vengono generate dinamicamente con scambi REST/JSON (Single Page Application). - **CouchDB** come database principale. - **Redis** come database per la sincronizzazione lato applicazione e i log. - **TypeScript** per l'interfaccia (webapp). - **Backend Node.js / Express** che orchestra gli engine interni (api, webapp, portal, panel, ical, mcp, oauth2, ecc.). - **C++** per l'algoritmo di generazione, eseguito su VM dedicate avviate su richiesta. #### Sicurezza - **HTTPS** per le comunicazioni esposte. - **Cloudflare** come unico punto di ingresso (protezione anti-DDOS). - **Password pre-cifrate lato client con scrypt**, poi ricifrate e salate lato server. Non vengono memorizzate né trasmesse in chiaro. - **Autenticazione JWT** con chiavi di firma e durata di vita breve; una rotazione o revoca di chiave può invalidare i token firmati. - **[Link di condivisione](#page-glossary.share-link)** firmati, con scadenza, legati all'account che li ha generati e invalidabili con la modifica della password o la disattivazione di tale account. - **[Token API](#page-glossary.api-token)** con chiave radice e token derivati, scope di endpoint e scadenze. - **OIDC / SSO** disponibile in base al contratto e alla configurazione dell'account. - **Esportazione e backup interni JSON** per la reversibilità dei dati. #### Ruoli utente Omniscol distingue diversi ruoli lato scuola: | Ruolo | Uso tipico | | --- | --- | | Amministratore | Responsabili della pianificazione, direzione, servizio IT | | Professore | Professori, docenti esterni, formatori | | Studente | Studenti, alunni, corsisti | | Personale | Vita scolastica, coordinatori educativi, assistenti educativi, sorveglianti se il Servizio del personale è attivo | | Link di condivisione | Accesso tramite URL firmato a un perimetro preciso | La corrispondenza tra queste etichette e gli identificativi tecnici dei ruoli è descritta in [Utenti e ruoli](#page-admin.users-and-roles). Uno stesso utente può **cumulare più ruoli**. Per esempio, un professore che partecipa alla pianificazione può essere allo stesso tempo Professore e Amministratore. Il ruolo Link di condivisione non corrisponde a un account utente classico. Si tratta di link firmati: i link web dell'orario sono in sola lettura, mentre alcuni link mirati possono autorizzare un'azione limitata, come l'inserimento delle disponibilità di un professore fino a una data di scadenza. Esistono inoltre ruoli interni riservati ai team di Omniscol: amministrazione della piattaforma, traduzione, attività commerciali e partner rivenditori. Alcuni di questi account sono autorizzati a connettersi agli account delle scuole, per motivi di manutenzione. Intervengono allora come superamministratori della scuola, con più possibilità di un amministratore: importazione di dati grezzi nel database, attivazione o disattivazione di opzioni a pagamento, connessione a nome di un utente. Questi accessi generano avvisi di connessione visibili e i relativi token scadono molto rapidamente. Da grandi poteri derivano grandi responsabilità. > _Option: Ruoli personalizzati_ #### Ruoli personalizzati L'opzione [Ruoli personalizzati](#page-admin.customroles) consente di restringere i diritti di un account amministratore modulo per modulo e operazione per operazione. Serve a delegare una parte dell'amministrazione senza concedere tutti i diritti globali. #### Moduli I moduli visibili in un account standard: - **Home** (`home`) — pagina d'ingresso e sintesi della giornata. - **Orario** (`schedules`) — consultazione e modifiche puntuali. - **Dashboard** (`dashboard`) — statistiche di occupazione e di servizio. - **Gestione delle assenze** (`absences`) — dichiarazioni e sostituzioni. - **Gestione degli orari** (`timetables`) — costruzione, generazione e pubblicazione degli orari. - **Amministrazione** (`admin`) — utenti, parametri, importazione / esportazione e integrazioni. In base al contratto, possono comparire altri moduli, in particolare **Servizio del personale** per la pianificazione delle attività di vita scolastica e di sorveglianza. #### Multi-scuola Ogni scuola è isolata logicamente lato server e accede al proprio dominio. I dati di una scuola non sono visibili alle altre scuole dall'applicazione. Su richiesta, è però possibile attivare un canale di comunicazione tra gli account distinti, per condividere i conflitti di occupazione delle aule e dei professori. È molto utile nel contesto di edifici condivisi, o per un gruppo di scuole che condividono risorse. #### Vedi anche - [Presentazione generale](#page-overview.what-is-omniscol) - [Visita guidata](#page-overview.quick-tour) - [Utenti e ruoli](#page-admin.users-and-roles) - [Ruoli personalizzati](#page-admin.customroles) - [Piani e opzioni di Omniscol](#page-overview.plans-and-options) - [Sicurezza e hosting](#page-faq.security-and-hosting) ### 1.5 Piani e opzioni di Omniscol *Source: `help/it/overview/plans-and-options.md` · id: overview.plans-and-options · Updated: 2026-06-13* Omniscol viene venduto secondo un modello semplice: **più piani**, alcune **funzioni Premium di base**, alcune **attivazioni contrattuali** e un'offerta autonoma **Servizio del personale**. Il prezzo e il perimetro esatto dipendono dal contratto con il Suo istituto. #### I piani | Piano | Per chi? | Incluso | | --- | --- | --- | | **Lite** | Istituti molto piccoli, indipendenti, formatori singoli, prove | Generazione dell'orario e stampa. **Nessuna pubblicazione, nessun anno scolastico, nessun multi-sito, nessuna gestione degli studenti**, risorse limitate. Moduli visibili: Gestione degli orari + Amministrazione minima. | | **Staffing** | Istituti che necessitano solo del servizio del personale | Solo il modulo Servizio del personale, per la sorveglianza, le permanenze e la vigilanza | | **Standard** | Istituto classico (scuola primaria, media, superiore), team di pianificazione unico, orario settimanale | Lite + pubblicazione, anni scolastici, multi-sito, gestione degli studenti, planning quotidiano, assenze, dashboard, pannelli informativi, iCal, API limitata in lettura | | **Standard Plus** | Istituti che necessitano dello Standard e del Servizio del personale | Standard + Servizio del personale | | **Premium** | Istruzione superiore, formazione continua, organizzazioni multi-sito o multi-percorso più complesse | Orario di tipo settimanale, ciclico o calendario, disponibilità datate, più orari attivi, più opzioni di configurazione (stato delle lezioni, collocazione fuori griglia, eventi puntuali, modalità della lezione, link di videoconferenza...), API completa tramite token, MCP, OIDC / SSO, sincronizzazione esterna, opzioni avanzate in base al contratto (collaborazione, snapshot, ruoli personalizzati). | Le funzionalità non si attivano tutte allo stesso modo: - alcune funzioni sono **incluse di base in Premium** (modalità calendario, disponibilità calendario, più orari attivi); - altre sono **attivate in base al Suo contratto**, il più delle volte su account Premium; - alcuni casi restano **attivabili in via eccezionale** su un account Standard quando c'è un'esigenza precisa; - il **Servizio del personale** segue anch'esso la propria logica, poiché può essere venduto da solo. #### Offerta autonoma Servizio del personale Il modulo Servizio del personale è commercializzato anche **senza il resto di Omniscol** per gli istituti che necessitano solo della gestione della sorveglianza / vigilanza. L'account espone allora soltanto il modulo Servizio del personale, le assenze del personale assegnabile e le schermate utente necessarie. Nessun orario, nessuna dashboard didattica, nessun pannello informativo. Vedere [Panoramica del Servizio del personale](#page-staffing.overview). #### Attivazioni contrattuali | Funzione | Descrizione | Attivazione | | --- | --- | --- | | Ruoli personalizzati | Ruoli personalizzati con matrice di permessi granulari. | In base al contratto dell'account | | Snapshot | Punti di backup, digest, ripristino e rotazione secondo la quota contrattuale attivata da Omniscol. | In base al contratto dell'account | | Collaborazione | Collaborazione tra amministratori, presenza in tempo reale in base alla configurazione. | In base al contratto dell'account | | Logs | Schermata di consultazione dei registri con profondità di conservazione attivata da Omniscol in base al contratto. | In base al contratto dell'account | | Account collegati | Diversi account Omniscol collegati per condividere occupazioni di aule, professori o classi tra istituti dotati ciascuno di un sottodominio Omniscol separato. | Su richiesta, dopo definizione del perimetro | | Più orari attivi su account Standard | Caso eccezionale per alcuni account scolastici realmente separati (per esempio scuola media-superiore autonoma o primaria-media-superiore). | Attivazione specifica, con definizione del perimetro e fatturazione adeguate | | Assegnazione diretta degli studenti a classi e gruppi negli orari | Di solito, le scuole pianificano senza avere la lista precisa degli studenti e delle loro assegnazioni. Lavorano quindi con le classi e i gruppi tramite un numero teorico di studenti attesi, precisando le logiche organizzative; una volta terminato l'orario, gli studenti vengono (eventualmente) assegnati alle classi e ai gruppi, a posteriori. Esiste però un altro modo di funzionamento, frequente negli organismi di formazione, in cui serve la lista precisa degli studenti su ogni classe e ogni gruppo, a priori, in fase di progettazione dell'orario; la logica di non conflitto tra i gruppi (esclusione reciproca) viene allora dedotta automaticamente da Omniscol. Questo cambia il modello di dati e il modo di funzionamento, ed è quindi attivabile solo su opzione dal team Omniscol. | Su richiesta, dopo valutazione della particolare modalità di pianificazione | | Servizio del personale | Modulo di gestione della sorveglianza / vigilanza (esami, permanenze). Venduto anche in offerta autonoma. | In offerta autonoma, in Standard Plus o in base al contratto | | Moduli complementari | Eventuali moduli aggiuntivi. | In base al modulo e al contratto | #### Funzionalità notevoli spiegate ##### Modalità calendario Consente di collocare le lezioni **data per data** anziché su una settimana tipo. È una funzione **inclusa di base in Premium**, indispensabile per l'istruzione superiore, la formazione continua, i centri di formazione. Vedere [Modalità Calendario](#page-glossary.calendar-mode). ##### Gruppi di gruppi Raggruppare più gruppi — di una stessa classe o di classi diverse — in un'entità pianificabile in un unico blocco. **Disponibile su tutti gli account, indipendentemente dal piano**, e su tutti i tipi di orario (settimanale, ciclico, calendario); non è richiesta alcuna attivazione particolare. Vedere [Gruppi di gruppi](#page-core-concepts.groups-of-groups). ##### Più orari attivi in parallelo Pubblicare più orari contemporaneamente sulle stesse settimane, fusi dinamicamente. È incluso di base in Premium. Omniscol può anche attivarlo in via eccezionale su alcuni account Standard o scolastici misti quando l'esigenza e la fatturazione lo giustificano. Vedere [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). ##### Account collegati Collegare più account Omniscol per condividere le occupazioni di risorse comuni: professori, aule, edifici o classi a seconda dei casi. L'attivazione avviene su richiesta da parte di Omniscol, perché occorre definire il perimetro degli account collegati e delle risorse condivise. Vedere [Account collegati e risorse condivise](#page-integrations.linked-accounts). ##### Ruoli personalizzati Limitare in modo granulare i diritti di un account amministratore — modulo per modulo, con scelta delle operazioni (consultazione / modifica / eliminazione) e disattivazione di un intero modulo con un clic. Vedere [Ruoli personalizzati](#page-admin.customroles). ##### Punti di backup Salvare lo stato dell'account in un dato momento e ripristinarlo successivamente. Prezioso prima di un'operazione rischiosa (revisione massiccia, importazione voluminosa, inizio dell'anno). Vedere [Punti di backup](#page-admin.snapshots). ##### Collaborazione in tempo reale Più amministratori possono lavorare sullo stesso account con indicatori di presenza quando l'opzione è attivata. Vedere [Collaborazione in tempo reale](#page-core-concepts.collaboration). ##### MCP Il **MCP** consente di collegare un agente IA compatibile come Claude (consigliato), con la sua identificazione dell'account tramite OAuth2. Vedere [MCP](#page-integrations.mcp). ##### Logs Quando l'opzione è attivata da Omniscol, la schermata Logs consente di consultare ed esportare le voci registrate da Omniscol. Non va presentata come un audit completo con diff prima/dopo o riesecuzione delle richieste. Vedere [Registro delle attività (logs)](#page-admin.logs). ##### Sincronizzazione ERP La sincronizzazione con sistemi esterni rientra in un'attivazione contrattuale, generalmente su account Premium, quando un connettore è configurato. Esistono i connettori Aurion e Auriga; l'aggiunta di un nuovo ERP viene trattata su progetto, con API documentata, sandbox e definizione del mapping. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). ##### Servizio del personale autonomo Il modulo Servizio del personale è disponibile separatamente, anche in offerta autonoma (senza il resto di Omniscol). Vedere [Panoramica del Servizio del personale](#page-staffing.overview). #### Come sapere quale piano e quali opzioni sono attivi Visibile in Parametri — sezione in fondo al pannello, che mostra il piano attivo e le opzioni sottoscritte. Il piano + le opzioni determinano quali moduli sono disponibili nel menu di sinistra. #### Vedi anche - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [Account collegati e risorse condivise](#page-integrations.linked-accounts) - [Modalità calendario](#page-timetables.calendar-mode) - [Ruoli personalizzati](#page-admin.customroles) - [Snapshots](#page-admin.snapshots) - [Collaborazione in tempo reale](#page-core-concepts.collaboration) - [MCP — collegare un agente IA esterno](#page-integrations.mcp) ### 1.6 Scegliere il tipo di orario giusto: settimanale, ciclico, calendario *Source: `help/it/overview/timetable-modes.md` · id: overview.timetable-modes · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Su un account Premium, ha la possibilità di scegliere tra tre tipi di orario al momento della creazione. La distinzione fondamentale contrappone la **ricorrenza** (Settimanale e Ciclico: uno schema si ripete) alla **non ricorrenza** (Calendario: ogni lezione è datata individualmente). La scelta struttura tutto ciò che segue; è quindi importante comprenderla prima di creare un orario. La **generazione automatica** tramite solver è disponibile per tutti e tre i tipi; i vantaggi e i limiti propri di ciascun tipo sono descritti di seguito. #### In una frase | Tipo | Ricorrenza | Quando usarlo | | --- | --- | --- | | **[Settimanale](#page-glossary.weekly-timetable)** | Ricorrente (settimana tipo) | Lezioni ricorrenti su una **settimana tipo**. Primaria / secondaria. | | **[Ciclico](#page-glossary.cyclic-timetable)** | Ricorrente (ciclo di N giorni) | Lezioni ricorrenti su un **ciclo di N giorni** (diverso dalla settimana di 5 o 7). Sistemi nordamericani, scuole internazionali. | | **[Calendario](#page-glossary.calendar-mode)** | Non ricorrente | Lezioni **datate una per una**, senza ricorrenza. Istruzione superiore, formazione continua. | #### Settimanale — il caso standard È la modalità predefinita. Si adatta a qualsiasi scuola le cui lezioni seguono una **settimana tipo ricorrente**, con o senza alternanza A/B. Vantaggi: - Logica semplice: inserisce una settimana tipo, poi sceglie le settimane in cui si applica. - Vacanze rimosse automaticamente. Limiti: - Non adatto agli istituti in cui ogni settimana è diversa (lezioni occasionali, docenti esterni che si alternano). - Le lezioni che si svolgono una sola volta (una conferenza, un esame a una data precisa) devono essere aggiunte come modifiche puntuali o tramite un orario separato. #### Ciclico — per i cicli non settimanali La modalità ciclica si adatta agli istituti che organizzano le lezioni su un **ciclo di N giorni** (tipicamente 6 o 8) diverso dalla settimana di 5 o 7 — comune nei sistemi nordamericani e in alcune scuole internazionali. Il funzionamento è simile a quello settimanale, con un ciclo di N giorni numerati (Giorno 1, Giorno 2…). La mappatura ciclo ↔ giorni della settimana si costruisce dinamicamente a partire dalla **pubblicazione dell'orario**, ossia al momento della scelta delle settimane in cui il ciclo si applica. #### Calendario — per l'istruzione superiore e la formazione continua La modalità calendario differisce sensibilmente dalle altre due: ogni lezione è posizionata su **una data precisa**, senza ricorrenza. È la modalità privilegiata di: - l'istruzione superiore (scuole di business, scuole di ingegneria, università), - la formazione continua, - i centri di formazione in cui le lezioni non ritornano ogni settimana. Rispetto a un'agenda classica o a un ERP/software di vita scolastica, si beneficia allora delle specificità tipiche dell'istruzione superiore (vedere [modalità calendario](#page-timetables.calendar-mode) per il dettaglio): - **Assistenza all'inserimento molto completa** — conflitti in tempo reale, filtri delle aule, disponibilità consolidate… - **Disponibilità consolidate in tempo reale** — le variazioni di disponibilità dei docenti si ripercuotono immediatamente come conflitti potenziali o effettivi. - **Pubblicazione binaria** — l'orario è pubblicato oppure no, senza scelta di intervalli. Limite attuale — la **semi-ricorrenza**: alcune scuole hanno settimane complessivamente simili ma costellate di irregolarità (lezioni che si interrompono prima delle altre, giornate festive, docenti occasionali…). Alcuni pulsanti permettono di **duplicare manualmente** una lezione su uno schema ricorrente, ma il solver non gestisce ancora questo caso; la generazione automatica resta pienamente disponibile su calendari senza uno schema ricorrente sottostante, o al contrario, per gli orari totalmente ricorrenti (settimanali). **Generazione parziale** — la generazione automatica può essere ristretta a un sottoinsieme del perimetro tramite il pannello delle opzioni. Sono disponibili tre filtri: - **Classi**: selezione delle classi da generare. - **Materie**: selezione delle materie da generare. - **Intervallo di date**: proprio della modalità Calendario. Permette di trattare un periodo alla volta (per esempio, il trimestre successivo). Ciò è particolarmente utile in Calendario: si può costruire l'orario **per iterazioni successive** — un trimestre, poi il successivo; un indirizzo, poi gli altri; ecc. #### Scegliere la propria modalità: guida rapida ```mermaid flowchart TD Q1{{"Le Sue lezioni seguono
uno schema ricorrente?"}} Q2{{"Lo schema è la settimana
(da 5 a 7 giorni)?"}} H([Settimanale]) Cy([Ciclico]) Ca([Calendario]) Q1 -->|Sì| Q2 Q1 -->|No| Ca Q2 -->|Sì| H Q2 -->|No| Cy ``` #### Trasformare un orario in un altro tipo Se desidera convertire un orario esistente da un tipo a un altro, può **duplicarlo trasformandolo** dall'azione Duplicare dell'elenco degli orari, nel modulo Gestione degli orari. Le sei conversioni sono supportate: Settimanale ↔ Ciclico, Settimanale ↔ Calendario, Ciclico ↔ Calendario. A seconda del tipo di destinazione, viene richiesto un parametro aggiuntivo: - **Calendario**: intervallo di date (inizio / fine) su cui distribuire le lezioni. La finestra propone in modo predefinito la prima e l'ultima settimana dell'anno scolastico. - **Ciclico**: lunghezza del ciclo, in giorni (12 per impostazione predefinita). - **Settimanale**: nessun parametro aggiuntivo. Ciò che viene rimappato durante la trasformazione: - **Posizioni delle lezioni** — ogni posizione è tradotta dal sistema di origine al sistema di destinazione (giorno della settimana ↔ numero di ciclo ↔ data). - **Settimanale → Calendario**: ogni lezione è moltiplicata su tutte le date corrispondenti dell'intervallo di destinazione, e i **volumi orari delle materie** sono moltiplicati per il numero di settimane per preservare il totale. L'**alternanza A/B** è applicata automaticamente a ciascuna data materializzata. - **Disponibilità orarie**: conservate e migrate solo da una sorgente **Settimanale**. Una sorgente Ciclica o Calendario le elimina — le disponibilità datate o in numeri di ciclo non si riproiettano correttamente su una settimana tipo o su un altro ciclo. Il risultato è un **orario autonomo**, indipendente dall'originale — può rielaborarlo a parte, pubblicarlo da solo o in parallelo alla versione di origine. #### Combinare le modalità Può **pubblicare contemporaneamente più orari di tipi diversi** sulle stesse settimane. Casi tipici: - **Tronco comune ricorrente + eventi occasionali**: un orario settimanale per le lezioni regolari + un orario [calendario](#page-timetables.calendar-mode) per le masterclass, conferenze o esami datati. - **Ritmi diversi sulle stesse classi**: un orario settimanale per le mattine (materie fondamentali molto regolari) + un orario calendario per i pomeriggi (sport, club, laboratori che cambiano da una settimana all'altra). - **Funzionamento diverso a seconda delle classi**: un percorso preparatorio integrato settimanale, contro un ciclo di scuola superiore non ricorrente con numerosi docenti esterni che insegnano la stessa lezione agli stessi studenti per più giorni consecutivi. Se più orari pubblicati condividono un professore o un'aula, Omniscol **fonde dinamicamente le viste** lato consultazione. Durante la modifica di un orario, mentre un altro orario è già pubblicato, Omniscol tiene conto, per impostazione predefinita, delle occupazioni dei professori, delle aule e delle classi da parte di quell'orario pubblicato (questa funzionalità può essere disattivata). #### Vedi anche - [Settimanale](#page-glossary.weekly-timetable) - [Ciclico](#page-glossary.cyclic-timetable) - [Calendario](#page-glossary.calendar-mode) - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) ### 1.7 Primo accesso *Source: `help/it/getting-started/first-login.md` · id: getting-started.first-login · Updated: 2026-05-10* Per accedere a Omniscol, vada all'URL della sua scuola — di norma nella forma `https://.omniscol.com`. La pagina di accesso richiede un identificativo e una password. #### Credenziali Le sue credenziali le sono state comunicate dal suo istituto. La sintassi predefinita è `nome.cognome` o `cognome.nome` (a seconda della configurazione della scuola nei [Parametri generali](#page-admin.parameters)), ma può anche essere un numero di matricola. #### Password dimenticata Clicchi su Password dimenticata? Inserisca il suo identificativo di accesso. Se è stato registrato un indirizzo e-mail, riceverà un link di reimpostazione. Segua le istruzioni. Se non ha ricevuto alcuna e-mail: - verifichi che l'identificativo inserito corrisponda a quello definito in Omniscol (in caso di dubbio, contatti l'amministratore della sua scuola), - controlli nella posta indesiderata / spam, - verifichi che il suo istituto abbia effettivamente registrato la sua e-mail nella scheda utente del suo account. #### Primo accesso Se è il suo primo accesso, il sistema può chiederle immediatamente di **cambiare la password**. Ne scelga una solida e unica (Omniscol non ha alcun modo di recuperarla — viene resa illeggibile ancora prima di essere trasmessa). #### Accesso tramite un fornitore di identità Se il suo istituto utilizza [OIDC / SSO](#page-integrations.oauth2) (Google Workspace, Azure AD/Microsoft Entra, Keycloak, fornitore SSO interno), un pulsante dedicato compare sulla pagina di accesso. Clicchi e si autentichi tramite il suo consueto servizio di identità. #### Restrizioni per profilo L'amministratore può decidere di **bloccare l'accesso** a determinati profili (per esempio, disattivare l'accesso degli studenti nel corso dell'anno, oppure disattivare un particolare account professore). Se il suo profilo è soggetto a restrizioni, visualizza un messaggio che glielo indica. Vedere Restrizione di accesso all’applicazione. #### Vedi anche - [Configurare l'account della scuola](#page-getting-started.setup-school) - [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) - [OIDC / SSO](#page-integrations.oauth2) ### 1.8 Configurare l'account della scuola *Source: `help/it/getting-started/setup-school.md` · id: getting-started.setup-school · Audience: admin · Updated: 2026-05-10* Alla creazione del suo account Omniscol, la schermata iniziale la guida passo dopo passo. Segua l'ordine proposto: è il percorso più fluido. Questa pagina riepiloga la sequenza da **destra verso sinistra** nel menu Amministrazione (meno un accesso è frequente, più si colloca a destra). #### Fase 1 — Parametri Il modulo Parametri contiene l'intera configurazione dell'account. Molti valori sono precompilati in funzione del **paese** della sua scuola, sulla base delle abitudini locali osservate da Omniscol — di norma ha solo poche cose da regolare. Da verificare in via prioritaria: - Nome della scuola — visualizzato nella pagina di accesso. - **Livelli di classe** (1ª media, 2ª media, L1, M2…) — servono da riferimento ovunque. Da adattare alla sua nomenclatura. - **Modalità di inserimento delle disponibilità dei professori** — settimanale, calendario (sugli account Premium), calendario + settimanale (sugli account Premium), oppure disattivata. - **Restrizione della visibilità degli orari da parte degli studenti** — quante settimane in anticipo gli studenti possono vedere il proprio orario (utile per ritardare la diffusione di un orario non definitivo). - **Identificativo di accesso** — il formato di generazione automatica dei login (`nome.cognome`, `cognome.nome`, matricola…). - Primo giorno della settimana — importante per i paesi che iniziano di domenica (paesi arabi, Israele). - Settimane alternate (per gli orari settimanali) — A/B, 1/2 (ossia modalità di visualizzazione in lettere o in cifre), oppure disattivate. - **Logo della scuola** — visualizzato al posto del logo Omniscol nella pagina di accesso e nel banner superiore. Per i dettagli, vedere [Parametri generali](#page-admin.parameters). #### Fase 2 — Anno scolastico Prima di poter pubblicare un orario, deve avere almeno **un anno scolastico** dichiarato in Anni scolastici. Da compilare: - **Nome** — per convenzione, le date: «2025-2026». - **Date di inizio e di fine**. - **Vacanze** — o tramite copia-incolla da una tabella, oppure importando le date precompilate per il suo paese (proposto alla creazione), oppure manualmente. - **Anno corrente** — designare l'anno attualmente in uso. È quello che si vede per impostazione predefinita e che viene diffuso in via esclusiva. Vedere [Anno scolastico e vacanze](#page-admin.school-year). #### Fase 3 — Materie Se Omniscol precompila già una **base di materie comuni** per il suo paese, è possibile che non debba fare nulla. Altrimenti, o per le discipline specifiche del suo istituto: - Crei le **materie personalizzate** in Creare. - Definisca i **tipi di lezione** (per esempio lezione, laboratorio, esame, conferenza) in Creare se la sua nomenclatura didattica ne fa uso. - Facoltativo: configuri le **famiglie di materie** per raggruppare le materie affini. ⚠ **Attenzione all'ortografia** delle materie personalizzate: Omniscol ne fa una copia interna al momento dell'assegnazione a un orario, e una correzione a posteriori non si propaga negli orari già configurati in passato (solo negli orari del presente, del futuro e non pubblicati). #### Fase 4 — Utilizzatori È qui che si creano i professori, gli studenti e gli amministratori. Vedere [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) per i dettagli. Al termine di questa fase, potrà creare il suo primo orario. Segua allora [Panoramica del modulo Gestione degli orari](#page-timetables.overview). #### Vedi anche - [Parametri generali](#page-admin.parameters) - [Anno scolastico](#page-admin.school-year) - [Gestire le materie](#page-admin.subjects) - [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) ### 1.9 Invitare e attivare i propri utilizzatori *Source: `help/it/getting-started/inviting-users.md` · id: getting-started.inviting-users · Audience: admin · Updated: 2026-06-13* Quattro ruoli utente lato scuola strutturano l'avvio: **Amministratore**, **Professore**, **Studente** e **Personale**. Ogni ruolo dà accesso a un perimetro diverso. #### Quale schermata per quale ruolo | Ruolo | Schermata | Obbligatorio? | | --- | --- | --- | | Amministratore | Amministratori | Almeno l'amministratore principale. | | Professore | Professori | Essenziale, per poter creare e pubblicare lezioni con i professori. | | Studente | Studenti | Opzionale: Omniscol può funzionare senza conoscere gli studenti e senza dare loro accesso al portale di consultazione. | | Personale | Membri del personale | Utile solo se si utilizza il Servizio del personale. | Il dettaglio dei diritti di ciascun ruolo e la loro corrispondenza tecnica sono descritti in [Utenti e ruoli](#page-admin.users-and-roles). #### Creazione singola o creazione in massa **Singola**: pulsante Aggiungere sulla schermata del ruolo interessato. Apre il modulo di un singolo utente e ne inserisce le informazioni di base. **Massa (in blocco)**: pulsante Importare dati sulla schermata del ruolo interessato. Crea o modifica più righe in una tabella, a partire da un file preparato in Excel, Google Sheets, Numbers o Calc. Vedere [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data). #### Attivazione di un utente Un utente attivo può accedere, comparire nelle schermate che lo riguardano e ricevere assegnazioni. Per rendere un utente inattivo senza eliminarlo, utilizzi la sua scheda o l'azione di massa. Un account inattivo non può più accedere né essere assegnato a nuovi orari, ma la sua cronologia resta consultabile. #### Invitare tramite e-mail Il pulsante Invitare uno user, su una selezione di utenti, invia un'e-mail a ciascun destinatario con un link di primo accesso. Verifichi prima che le e-mail siano registrate; in caso contrario l'invito non può partire. #### Definire delle password iniziali Se l'invito tramite e-mail non è adatto, può definire delle password manualmente con Cambia la password. Da riservare piuttosto agli account pilota, agli account di servizio o alle situazioni in cui l'istituto gestisce autonomamente la distribuzione delle credenziali. La password così definita manualmente (eventualmente con l'aiuto del pulsante di generazione casuale) è in realtà temporanea: al primo accesso, l'utente dovrà inserirne una nuova, personalizzata. #### Collocare gli studenti nelle classi e nei gruppi I collocamenti si gestiscono dalla schermata Studenti: 1. In Studenti, selezioni gli studenti interessati. 2. Clicchi su Assegna a una classe. 3. Scelga l'anno scolastico, la classe e le date se necessario. 4. Utilizzi Gruppi per i gruppi (lingue, opzioni, esercitazioni, mezze classi). I collocamenti possono essere effettuati in più fasi, per esempio per livello o man mano che arrivano le iscrizioni. Esiste un'opzione affinché gli studenti siano assegnati direttamente nelle classi e nei gruppi a livello degli orari, a priori, e non nel modulo Amministrazione, a posteriori. Contatti il team Omniscol se è interessato a questa modalità di funzionamento. > _Option: Ruoli personalizzati_ #### Ruoli personalizzati L'opzione **Ruoli personalizzati** permette di limitare i diritti di un account amministratore modulo per modulo e operazione per operazione. Vedere [Ruoli personalizzati](#page-admin.customroles). #### Procedura — Avvio degli utenti all'inizio dell'anno 1. Prepari i file o le tabelle degli utenti: amministratori, professori, studenti e personale se necessario. 2. Importi o crei gli account dalle schermate del modulo Amministrazione. 3. Verifichi le e-mail, i login e i ruoli. 4. Invii gli inviti con Invitare uno user. 5. Collochi gli studenti nelle loro classi e gruppi una volta pubblicato un primo orario sull'anno scolastico. 6. A fine anno disattivi gli account che non devono più accedere, piuttosto che eliminare immediatamente la cronologia. #### Vedi anche - [Configurare l'account della scuola](#page-getting-started.setup-school) - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Utenti e ruoli](#page-admin.users-and-roles) - [Gestire i professori](#page-admin.teachers) - [Gestire gli studenti](#page-admin.students) ### 1.10 Preparare i propri dati per un'importazione massiva (in blocco) *Source: `help/it/getting-started/preparing-data.md` · id: getting-started.preparing-data · Audience: admin · Updated: 2026-06-03* Inserire manualmente diverse centinaia o migliaia di righe (professori, studenti, aule, lezioni…) è raramente opportuno. Omniscol propone delle **importazioni in massa** tramite copia-incolla da qualsiasi foglio di calcolo (Excel, Google Sheets, Numbers, Calc…), in formato CSV o TSV. Queste importazioni si effettuano cliccando sui pulsanti [table], generalmente in cima agli elenchi delle entità. Alcuni servono solo a esportare i dati, ma la maggior parte accetta l'importazione. #### Che cosa si può importare? | Entità | Schermata | Volume tipico | | --- | --- | --- | | **Professori** | Esportare i dati in formato CSV | 10 - 1000 | | **Studenti** | Esportare i dati in formato CSV | 50 - 10 000 | | **Aule** | Esportare i dati in formato CSV | 10 - 500 | | **Materie personalizzate** | Esportare i dati in formato CSV | 10 - 1000 | | **Lezioni di un orario** | Esportare i dati in formato CSV | 100 - 10 000 | #### Preparare i propri file **Regole d'oro**: 1. **Una riga = un'entità.** Nessuna riga unita, nessuna intestazione multi-riga. 2. **Rispettare l'ordine delle colonne atteso da Omniscol.** La schermata di importazione mostra il canovaccio con le colonne nell'ordine di destinazione e può **riorganizzare queste colonne** lato Omniscol per adeguarsi all'ordine del suo foglio di calcolo di partenza — il che rende il copia-incolla da Excel o Google Sheets pulito, senza riscrivere il suo file. 3. **Alcune colonne sono in sola lettura.** Sono allora in grigio, destinate unicamente all'esportazione dei dati. La prima colonna è generalmente l'identificativo del dato già registrato nel database. 4. **Le colonne contrassegnate da un "*" sono obbligatorie.** Se manca un campo obbligatorio, la riga viene ignorata (non importata alla creazione, oppure eliminata se esisteva già nel database). 5. **I separatori interni di una cella sono liberi** negli elenchi (multi-professore, multi-gruppo, multi-aula di una lezione): virgola, punto e virgola, barra. 6. **L'IA integrata pulirà i dati** ma fino a un certo punto: cerchi di avere dati puliti e non ambigui, altrimenti potrebbe avere qualche brutta sorpresa. #### Campi tipici per entità ##### Professori - Nome, Cognome (obbligatori). - E-mail (raccomandata per gli inviti). - Matricola / ID esterno (opzionale ma utile per la tracciabilità). - Materie insegnate (elenco, separatori liberi). - Servizio orario (numero di ore settimanali previste). - Sito principale (se multi-sito). ##### Studenti - Nome, Cognome (obbligatori). - E-mail (raccomandata). - Matricola SIS (utile per evitare le omonimie). - Livello / Classe. - Gruppi (opzione, sottogruppo). - Stato (attivo, in pre-iscrizione, inattivo). ##### Aule - Nome (obbligatorio). - Sito (obbligatorio se multi-sito — altrimenti Omniscol assegna al sito predefinito). - Capienza. - Specializzazioni (elenco). - Edificio (libero). - Tag / commenti. ##### Lezioni - Classe + materia (come minimo). - Durata (altrimenti dedotta dagli orari di inizio/fine). - Giorno, ora di inizio, ora di fine (per pre-posizionare; altrimenti lasciare vuoto e posizionare in seguito). - Gruppo (opzionale). - Tipo di lezione (esercitazione, laboratorio, lezione frontale, esame…). - Professore/i (separatori liberi). - Aula/e (separatori liberi — sì, [più aule](#page-glossary.multi-room) su una stessa lezione sono supportate). - Risorsa/e. - Settimane alternate (formato `A/B`, `1/2`, ecc.). - Commento libero. #### Dopo la preparazione Lo svolgimento dell'importazione dipende dalla schermata di destinazione. Generalmente, la schermata si aggiorna integralmente con i nuovi dati. Per le **lezioni di un orario**, vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import), che documenta l'assistente dedicato in quattro fasi. #### Esportazione Lo stesso procedimento di foglio di calcolo interno permette di estrarre i dati. A tale scopo, diverse opzioni: - Copia-incolla verso un foglio di calcolo esterno (formato TSV, automatico). - Utilizzare i pulsanti in basso per esportare direttamente in un file PDF, CSV o Excel (XLSX). #### Reimportazione L'importazione non è limitata a un'importazione iniziale. È possibile importare in massa in più fasi. La prima colonna, denominata "id", contiene l'identificativo in sola lettura di ciascuna entità nel database, che si può ritrovare negli URL. Se si modifica una riga corrispondente a un dato identificativo, allora i dati dell'entità vengono modificati. Per aggiungere nuovi dati, basta andare in fondo al foglio di calcolo, dove ci sono sempre alcune righe vuote, senza identificativo associato. Incollare nuovi dati, come all'importazione iniziale, riallarga la tabella di altrettanto. Le entità reimportate possono contenere dati complessi, che non sono idonei all'importazione/esportazione (a volte, si può avere una colonna in sola lettura che serve unicamente all'esportazione di questi dati). È per esempio il caso dei vincoli orari sui professori, sulle aule, sulle classi, ecc. In questo caso, la reimmissione identica è automatica. Questo sistema permette così di importare in massa in più volte senza perdere dati arricchiti sulle entità esistenti, potendo al contempo crearne di nuove o eliminarne altre. #### Eliminazione massiva Come visto per la reimportazione, la prima colonna "id" serve a individuare le diverse entità. Se si elimina una riga, come minimo le colonne obbligatorie contrassegnate da un "*", allora l'importazione eliminerà le entità svuotate. Dato che si possono selezionare più righe e colonne, come su un foglio di calcolo standard, basta premere il tasto Canc della tastiera per cancellare tutte le righe desiderate, e quindi eliminare dal database le entità corrispondenti, in massa. #### Vedi anche - [Importazione ed esportazione](#page-admin.import-export) - [Importazione massiva delle lezioni di un orario](#page-timetables.mass-import) - [Migrazione da un altro software](#page-migration.overview) ### 1.11 Visita guidata di avvio (le 6 fasi del modulo Pagina Iniziale) *Source: `help/it/getting-started/onboarding-tour.md` · id: getting-started.onboarding-tour · Audience: admin · Updated: 2026-05-10* Quando accede per la prima volta a un account vuoto, il modulo **Pagina Iniziale** le propone una **checklist in sei fasi** — ognuna spuntata automaticamente quando la sua pre-condizione è soddisfatta (✓ verde) oppure segnalata come bloccante (✗ rossa) finché non è ancora stato inserito nulla. Le fasi sono in un ordine logico fortemente consigliato, ma può sempre saltare una fase e tornarci più tardi. In un momento o nell'altro, mancherà un dato che la costringerà a tornare sui suoi passi. Questa pagina di aiuto illustra la stessa sequenza, fase per fase; una **visita guidata cliccabile** la riepiloga in fondo alla pagina. #### Panoramica — messaggio di benvenuto > Benvenuto su Omniscol, il software online di generazione e gestione degli orari! Se vede questo messaggio, vuol dire che è alla sua prima connessione o che non ha ancora configurato un primo orario. Segua le tappe sottostanti per muovere i suoi primi passi nel software. L'ordine qui presentato è quello consigliato, però può ritornare su ogni tappa in qualsiasi momento. > **Consiglio di organizzazione**: il modulo Pagina Iniziale si nasconde > automaticamente non appena il suo **primo orario è pubblicato**. Finché > è visibile, è la sua bussola. Il link > visualizzare nuovamente lo mostra di nuovo se necessario > dopo la pubblicazione: > > > Il Suo account è configurato e funzionante. Tuttavia, può visualizzare nuovamente le fasi di configurazione. #### Fase 1 — Inserire gli utenti > Inserire innanzitutto gli user: professori e studenti. L'inserimento degli studenti è opzionale, si possono creare orari in un secondo momento specificando solo il numero di studenti presenti in classi e gruppi. E' anche possibile inserirli più tardi ed assegnarli a classi e gruppi. > Suggerimento: può inserire dati in massa facendo copia-incolla da un foglio tipo Excel, cliccando sull'icona. **Azione**: - Inserire i professori *(obbligatorio — spunta rossa finché nessun professore è creato)* - Inserire gli studenti *(opzionale — nessuna spunta rossa, solo un cerchio se non compilato)* Vedere [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) per il dettaglio (creazione singola vs importazione in massa, inviti tramite e-mail, password iniziali, operazioni di massa). #### Fase 2 — Compilare i parametri > Compilare i parametri del Suo account, in particolare i livelli di classe. **Azione**: Compila i parametri Vedere [Parametri generali](#page-admin.parameters). Da adattare in via prioritaria: livelli di classe, modalità delle disponibilità, primo giorno della settimana (per i paesi che iniziano di domenica), sintassi dell'identificativo. La maggior parte degli altri valori è precompilata per il suo paese. #### Fase 3 — Creare un primo anno scolastico > Un anno scolastico è un periodo compreso tra le date di inizio e fine, comprendente le vacanze, durante il quale gli orari saranno pubblicati. È indispensabile per accedere ai moduli di uso quotidiano (consultazione degli orari, dashboard, gestione delle assenze…). **Azione**: Crea il primo anno scolastico Vedere [Anno scolastico e vacanze](#page-admin.school-year). Gli dia un nome (« 2025-2026 »), delle date di inizio e fine, e importi le vacanze precompilate per il suo paese se proposte. È la fase che sbloccherà l'accesso alla pubblicazione nel modulo di gestione degli orari. #### Fase 4 — Creare le materie personalizzate (opzionale) > Definire le particolari materie insegnate che non saranno presenti nel database comune di default. Questo passaggio è opzionale. **Azione**: Creare le materie personalizzate Vedere [Gestire le materie](#page-admin.subjects). Il database delle materie comuni per paese è già precompilato; qui crea soltanto le materie **specifiche del suo istituto** che non sono nel database. #### Fase 5 — Creare (poi configurare) un orario La fase 5 ha due varianti a seconda dello stato dell'account: ##### 5a — Finché nessun orario è creato > Creare un nuovo orario. Consigliamo di procedere passo passo, inserendo ogni linguetta da sinistra verso destra. Per finire, cliccare sul bottone di generazione. **Azione**: Creare un orario Clicchi su Creare un orario nel modulo [Gestione degli orari](#page-timetables.overview). Se il suo account propone più modalità, scelga la [modalità di orario](#page-overview.timetable-modes) (settimanale, ciclica, calendario). ##### 5b — Una volta creato l'orario, in via di configurazione > Un orario è in via di configurazione ma non è ancora stato generato. Le suggeriamo di concludere la configurazione passo passo, inserendo ogni linguetta da sinistra verso destra. Per finire, clicchi sul bottone di generazione. **Azione**: Continuare la configurazione dell'orario Segua le linguette dell'orario **da sinistra verso destra**: [Generale](#page-timetables.general-settings) → [Siti](#page-timetables.sites-rooms) → [Professori](#page-timetables.assigning-teachers) → [Classi](#page-timetables.creating-classes) → [Allineamenti](#page-timetables.alignments-and-groups-of-groups) → [Distribuzione delle ore](#page-timetables.hour-distribution) → [Generazione](#page-timetables.generation). #### Fase 6 — Distribuire (pubblicare) l'orario > Una volta configurato e generato interamente l'orario, esso deve essere distribuito su tutte le settimane dell'anno scolastico o su una parte di esse. Cliccare sul bottone di distribuzione sulla schermata di gestione degli orari. Questa schermata permette anche di ritrovare gli orari in via di configurazione o già generati. **Azione**: Gestire gli orari Vedere [Pubblicare (attivare) un orario](#page-timetables.publication). È la fase spesso dimenticata: finché l'orario non è distribuito sulle settimane dell'anno scolastico, resta una bozza invisibile agli utenti finali. La pubblicazione è necessaria affinché i moduli di uso quotidiano (consultazione, dashboard, assenze) siano pienamente operativi. Attiva anche le eventuali esportazioni in tempo reale verso l'esterno dell'applicazione: iCal, software esterni collegati, ecc. #### Il seguito Una volta che la checklist è verde da un capo all'altro, con un orario interamente configurato e pubblicato: - **Assegnare gli studenti** alle loro classi / gruppi (cfr. [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users)). - **Invitare gli utenti** tramite e-mail (Invitare lo user). - **Configurare i pannelli di affissione** nei locali (cfr. [Pannelli di affissione](#page-panels.lobby-panel)). - **Impostare gli abbonamenti iCal** dei professori e degli studenti (cfr. [iCal](#page-integrations.ical)). - **Testare l'accesso studente** da un account di prova. - **Configurare le integrazioni** (vita scolastica, ERP…) se applicabile (cfr. [Panoramica delle integrazioni](#page-integrations.overview)). #### Vedi anche - [Visita guidata in cinque minuti](#page-overview.quick-tour) - [Primo accesso](#page-getting-started.first-login) - [Configurare l'account della scuola](#page-getting-started.setup-school) - [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [Pubblicare (attivare) un orario](#page-timetables.publication) --- ## 2. Concetti chiave ### 2.1 Organizzazione dei dati: materie, professori, classi, orari *Source: `help/it/core-concepts/data-model.md` · id: core-concepts.data-model · Audience: admin · Updated: 2026-06-13* Omniscol distingue due livelli di organizzazione: un **repertorio scuola** gestito dal modulo Amministrazione (materie, utenti, anni scolastici…), che descrive in modo duraturo il Suo istituto, e degli **orari** che ne utilizzano gli elementi per costruire una pianificazione coerente su un periodo determinato. Comprendere questa dualità è la chiave per gestire con serenità i cambiamenti (rinominare una materia, far evolvere un professore, archiviare un orario) senza compromettere lo storico. #### Panoramica: due livelli, due logiche ```mermaid flowchart LR subgraph A["Livello scuola — modulo Amministrazione"] AS["Materie"] AU["Utenti professori"] end subgraph E["Livello orario — pianificazione"] C["Classi"] G["Gruppi
(facoltativi)"] M["Corsi
= materie delle classi
(copia locale, tipizzata)"] T["Professori dell'orario
copia parziale"] S["Lezioni
durata, classe, gruppo facoltativo,
professori, aula, posizione"] end AS -.->|funge da modello| M AU -.->|funge da modello| T C -->|contiene| G C -->|materie assegnate| M T -->|professori assegnati| M M -->|materia insegnata| S C -->|classe interessata| S G -.->|gruppo facoltativo| S T -->|professori della lezione| S ``` **Livello scuola**: un repertorio globale, con un ciclo di vita lungo, gestito nel modulo Amministrazione. Contiene ciò che è vero per l'istituto indipendentemente da un orario particolare — il calendario degli anni scolastici, il catalogo delle materie (comuni al paese + personalizzate della scuola) e l'elenco degli utenti (con i loro ruoli). **Livello orario**: una pianificazione coerente su un periodo. Ogni orario ha il proprio elenco di professori, classi, gruppi, materie associate alle classi e lezioni. Questi oggetti non sono semplici riferimenti al repertorio scuola: sono **copie locali**, che possono essere arricchite senza modificare il repertorio. Viceversa, il repertorio di livello scuola può evolvere (eliminazione di materie, di professori) senza compromettere gli orari passati. Il seguito descrive in dettaglio ogni tipo di collegamento. #### L'anno scolastico: il quadro temporale L'**anno scolastico** definisce un intervallo `data di inizio → data di fine` e l'elenco delle vacanze (vedere [Anno scolastico](#page-core-concepts.school-year)). Non « contiene » direttamente gli orari: sono gli orari che si **dispiegano** su settimane (modalità settimanale / ciclica) o su date (modalità calendario) appartenenti a un anno scolastico. Ciò consente diverse configurazioni: - **Un solo orario per anno scolastico** (caso standard): l'orario copre tutte le settimane lavorative dell'anno. - **Più orari successivi** nello stesso anno: un orario per trimestre ad esempio, che si passano il testimone alle date di transizione. - **Più orari in parallelo** sullo stesso periodo (funzione inclusa in Premium; su alcuni account Standard può essere attivata nell'ambito di un accordo contrattuale adeguato), ad esempio: - un orario per il tronco comune ricorrente - un orario calendario per le masterclass, uniti in fase di consultazione. Vedere [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). L'anno scolastico rimane quindi un quadro — non un contenitore. Modificarne i limiti o le vacanze aggiorna il calendario utilizzato dagli orari a esso collegati, senza modificarne il contenuto. #### Le materie: dal catalogo scuola alle lezioni di una classe ```mermaid flowchart TD CatM["Catalogo delle materie
es. Matematica"] CatT["Tipi di lezione
es. lezione frontale, esercitazione, laboratorio"] Classe["Classe nell'orario
es. 2A"] Prof["Professori dell'orario
es. Prof.ssa Martin"] MC["Materia di classe (= corso)
Matematica [Esercitazione]
monte ore, professori,
vincoli, aula specializzata"] S["Lezioni
durata, data/fascia oraria,
gruppo eventuale, aula,
professore(i)"] CatM -->|materia scelta| MC CatT -->|tipo eventuale| MC Classe -->|classe interessata| MC Prof -->|professori assegnati| MC MC -->|serve a creare| S Prof -->|può essere modificato su| S ``` ##### Livello 1 — Il catalogo nel modulo Amministrazione A livello scuola coesistono due origini: - **Materie comuni**: il repertorio di Omniscol per il paese configurato (codici ufficiali, denominazioni normate). Il catalogo è di sola lettura per la scuola. - **Materie personalizzate**: ciò che la scuola crea autonomamente, gestito dalla [schermata Materie](#page-admin.subjects). Ogni materia personalizzata ha un nome, un codice (breve) e, facoltativamente: un nome breve, un colore specifico, una materia principale, una famiglia. Questo catalogo non dice nulla sulle classi che insegnano tali materie — dice soltanto che esistono. Le famiglie di materie possono provenire anche da un repertorio condiviso per paese, in sola lettura, oppure da un repertorio personalizzato, locale alla scuola. ##### Livello 2 — Assegnazione a una classe (con o senza tipo) Quando **assegna una materia a una classe** in un orario, viene creata una **copia locale** della materia nella classe, arricchita di campi propri della pianificazione (monte ore previsto, peso pedagogico, incompatibilità, professori predefiniti, specializzazione dell'aula…). Se assegna la materia **con un tipo di lezione** (`lezione frontale`, `esercitazione`, `laboratorio`, `esame` — vedere [Tipi di lezione](#page-admin.lesson-types)), ogni tipo crea una **voce distinta** nella classe: | Materia nella classe | Origine | Tipo | | --- | --- | --- | | Matematica | Matematica | nessuno | | Matematica [Lezione frontale] | Matematica | lezione frontale | | Matematica [Esercitazione] | Matematica | esercitazione | È voluto: ogni variante (Matematica frontale, Matematica esercitazione) diventa una copia locale distinta, con il proprio monte ore, i propri professori e le proprie incompatibilità. Il collegamento con il catalogo non è una dipendenza rigida: la copia locale conserva l'origine della materia se questa esiste ancora nel catalogo. Se la materia viene eliminata dal catalogo, le copie locali degli orari restano valide. ##### Livello 3 — Dai parametri del corso alle lezioni In Omniscol, ciò che si chiama comunemente un [corso](#page-glossary.course) corrisponde generalmente a una materia assegnata a una classe, eventualmente associata a un tipo di lezione (lezione frontale, esercitazione, laboratorio…), e poi arricchita di informazioni di pianificazione: monte ore, professori, gruppi, vincoli di posizionamento, aule o risorse. Questa definizione indica ciò che deve essere pianificato. Le **lezioni** sono le occorrenze effettivamente collocate nell'orario, su una settimana o una data determinata. Esempio: una materia di classe come **Matematica [Esercitazione]** può definire un monte ore, dei professori, dei gruppi, dei vincoli di posizionamento e delle preferenze di aula. Le lezioni vengono poi create a partire da questa definizione. Vedere [Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types). #### I professori: repertorio scuola → copia orario arricchita ```mermaid flowchart LR U["Utente (modulo Amministrazione)
ruolo teacher
nome · login · email · disponibilità globali"] Aff{Assegnazione a un orario} T["Professore nell'orario
nome (copiato) · idnumber
servizio orario (copiato, sovrascrivibile)
disponibilità proprie dell'orario · aula preferita"] Se["Lezioni assegnate"] U --> Aff Aff -->|copia parziale arricchita| T T --> Se ``` ##### Il professore a livello scuola A livello scuola, un professore è un **utente** dotato del ruolo `teacher` (uno stesso utente può cumulare più ruoli — vedere [Utenti e ruoli](#page-admin.users-and-roles)). Gestito dalla [schermata Professori](#page-admin.teachers), porta le informazioni identificative durature: cognome, nome, login, e-mail, numero di identificazione, oltre alle sue **disponibilità globali** (ricorrenti) e al suo servizio orario di riferimento. ##### Il professore assegnato a un orario Quando assegna questo professore a un orario, Omniscol crea una **copia parziale arricchita** nell'orario. La copia riprende solo una selezione di campi dal repertorio scuola e vi aggiunge campi propri della pianificazione: | Campo | Livello scuola (repertorio) | Livello orario (copia) | | --- | --- | --- | | Identificativo | l'identificativo dell'utente | identico (collegamento implicito) | | Cognome, nome, secondo nome | origine | copiato all'assegnazione | | Numero di identificazione | origine | copiato all'assegnazione | | E-mail, telefono, login | origine | **non copiato** (rimane solo nel modulo Amministrazione) | | Servizio orario di riferimento | origine | copiato, **sovrascrivibile per orario** | | Aula preferita | non gestita nel repertorio | propria dell'orario | | Disponibilità | « disponibilità globali » dell'utente | modalità ricorrente: copia locale convalidata o rilassata; modalità calendario: origine condivisa, consultabile e modificabile dall'Amministrazione o dagli orari interessati | Questa dualità è importante: lo **stesso professore** può avere un **servizio orario diverso** a seconda del perimetro pianificato, oppure un'**aula preferita diversa** in un determinato momento (ad esempio a causa di un'invalidità temporanea). Per le disponibilità, la logica dipende dalla modalità di pianificazione: - in modalità ricorrente, le disponibilità inserite dal professore passano per una fase di accettazione da parte dell'amministrazione. Possono essere adattate localmente nell'orario, ad esempio trasformando un'indisponibilità rigida in una fascia oraria non desiderata; - in modalità calendario, le disponibilità del professore sono considerate come un'unica fonte di verità, in particolare per gli insegnanti esterni. Possono essere consultate e modificate dalla scheda utente o da qualsiasi orario calendario a cui il professore è assegnato. In entrambi i casi, alcuni parametri restano propri dell'orario e possono arricchire localmente tali disponibilità. ##### I professori virtuali Una variante: si può creare in un orario un **professore virtuale** — un posto da coprire, senza un utente reale dietro (« il futuro professore di matematica »). Non ha corrispondenza a livello scuola. Al momento dell'assunzione, può sostituire questo professore virtuale con un vero utente professore (vedere [Assegnare i professori a un orario](#page-timetables.assigning-teachers)). #### Il principio della copia locale, in sintesi La stessa logica governa le materie in una classe e i professori in un orario: **una copia locale viene creata al momento dell'assegnazione**, ed è questa copia locale a portare i campi specifici dell'orario. Perché questa scelta progettuale: - **Indipendenza temporale.** Un orario chiuso l'anno scorso non deve cambiare quando rinomina una materia o un professore quest'anno. Le copie locali garantiscono l'**integrità storica**: ciò che è stato pianificato resta esattamente come all'epoca. - **Arricchimento contestuale.** Un professore non ha le stesse disponibilità né lo stesso servizio orario a seconda del perimetro pianificato; una materia non ha lo stesso peso né le stesse incompatibilità a seconda della classe che la insegna. La copia locale è il luogo naturale in cui portare queste variazioni. - **Pulizia senza rotture.** Eliminare o rielaborare una materia a livello scuola non cancella gli orari che la utilizzavano — le loro copie locali restano valide. Come contropartita, le ridenominazioni lato scuola non si propagano silenziosamente ovunque. È l'oggetto della sezione successiva. #### Conseguenze pratiche: ridenominazioni, eliminazioni, storico Quando modifica un'entità a livello scuola, Omniscol applica una regola chiara di propagazione: | Azione a livello scuola | Orari passati (chiusi) | Orari in corso / futuri | | --- | --- | --- | | Rinominare una materia personalizzata (nome, codice breve, codice) | **Invariati** — storico preservato | Nome propagato nelle copie locali corrispondenti | | Cambiare il colore di una materia personalizzata | **Invariati** | Colore aggiornato se il colore precedente non era stato sovrascritto localmente | | Rinominare un professore (cognome, nome) | **Invariati** | Nome propagato nelle copie locali | | Modificare l'e-mail o il telefono di un professore | Nessun effetto (non copiato) | Nessun effetto (non copiato) | | Modificare le disponibilità globali di un professore | Nessun effetto | Modalità ricorrente: indicatore di aggiornamento se le disponibilità erano già state accettate; modalità calendario: aggiornamento dell'origine condivisa delle disponibilità | | Eliminare una materia personalizzata | Copie locali preservate | Copie locali preservate; la materia scompare solo dal catalogo | | Disattivare il ruolo `teacher` di un utente | Invariati | Le copie negli orari restano al loro posto | La distinzione « passati » / « in corso o futuri » viene fatta rispetto alla **data odierna**: un orario pubblicato la cui ultima settimana attiva è anteriore a oggi è considerato passato e non viene più modificato dalle ridenominazioni. ##### Quando ripercuotere manualmente La propagazione automatica resta **deliberatamente ristretta**: nome, codice e colore delle materie; nome e identificativo dei professori. Il nome e il codice di una materia copiata localmente non si modificano nell'orario; solo il suo colore può essere ridefinito localmente. Gli altri campi (incompatibilità, peso pedagogico, servizio orario, disponibilità per orario…) non si sincronizzano, perché sono **per natura propri dell'orario**. Se un cambiamento più profondo deve applicarsi a più orari esistenti (ad esempio: rivedere il servizio orario di un professore su tutti gli orari attivi, oppure aggiungere una nuova incompatibilità di materia ovunque), occorre intervenire orario per orario. Per le operazioni massive, lo strumento più rapido resta l'**importazione tramite copia-incolla da foglio di calcolo** sulla schermata interessata di ciascun orario. #### Vedi anche - [Anno scolastico](#page-core-concepts.school-year) - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Corso (definizione del glossario)](#page-glossary.course) - [Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types) - [Gestire le materie](#page-admin.subjects) - [Gestire i professori](#page-admin.teachers) - [Tipi di lezione](#page-admin.lesson-types) - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) ### 2.2 Classe, gruppo, sottogruppo *Source: `help/it/core-concepts/classes-and-groups.md` · id: core-concepts.classes-and-groups · Updated: 2026-05-20* Le classi rappresentano insiemi distinti di studenti che condividono lo stesso percorso scolastico e che di norma seguono i loro corsi insieme (stesse materie, professori e aule), con un'unica eccezione: la suddivisione in gruppi, ossia sottoinsiemi personalizzati con un percorso marginalmente adattato (suddivisione per opzioni, livelli, sesso, ordine alfabetico…). Due classi diverse non hanno mai studenti in comune. In Omniscol si parte sempre dalla **classe**, poi, all'interno di ciascuna, si creano **gruppi** quando l'intera classe non segue lo stesso corso. I **sottogruppi** servono ad affinare questa suddivisione quando un gruppo deve a sua volta essere suddiviso: un gruppo collegato a un altro gruppo, in una relazione padre-figlio, diventa un sottogruppo. Le nozioni di **partizione di classe**, **allineamento** e **gruppo di gruppi** non sono livelli aggiuntivi nella gerarchia. Sono modi di organizzare o collegare i gruppi a seconda del caso d'uso. #### Panoramica ```mermaid %%{init: {"flowchart": {"defaultRenderer": "elk"}}}%% flowchart TB subgraph C1["Classe 3ª A"] direction TB A1["Gruppo Spagnolo"] A2["Gruppo Tedesco"] P["Gruppo Laboratorio-A"] Q["Gruppo Laboratorio-B"] P1["Sottogruppo Laboratorio-A1"] P2["Sottogruppo Laboratorio-A2"] P --> P1 P --> P2 end subgraph C2["Classe 3ª B"] direction TB B1["Gruppo Tedesco"] B2["Gruppo Italiano"] B4["Gruppo Tecnologia 1 (20 studenti)"] B5["Gruppo Tecnologia 2 (10 studenti)"] B3["Gruppo Latinisti"] end subgraph C3["Classe 3ª C"] direction TB C4G["Gruppo Spagnolo"] C5G["Gruppo Italiano"] C2G["Gruppo Tecnologia 1 (20 studenti)"] C3G["Gruppo Tecnologia 2 (10 studenti)"] C1G["Gruppo Latinisti"] end A1 -. "partizione" .- A2 P -. "partizione" .- Q B1 -. "partizione" .- B2 B4 -. "partizione" .- B5 C2G -. "partizione" .- C3G C4G -. "partizione" .- C5G A2 <== "allineamento" ==> B1 B5 <== "allineamento" ==> C3G B3 <== "allineamento" ==> C1G linkStyle 0,1 stroke:#475569,stroke-width:1.5px linkStyle 2,3,4,5,6,7 stroke:#15803d,stroke-width:1.8px linkStyle 8,9,10 stroke:#1d4ed8,stroke-width:2.8px ``` Da leggere così: - una **classe** contiene gruppi; - un **gruppo** può contenere **sottogruppi**; - una **partizione di classe** organizza gruppi di una stessa classe che si ripartiscono gli studenti; - un **allineamento** collega gruppi di classi diverse per un corso comune; - un **gruppo di gruppi** serve a costruire un raggruppamento esplicito e riutilizzabile, soprattutto quando il raggruppamento deve evolvere. In questo schema si vedono più classi, con più gruppi, alcuni in partizione, altri allineati, a volte entrambe le cose. La seconda lingua straniera è un'opzione esclusiva: uno studente frequenta il corso di tedesco, di spagnolo oppure di italiano. È per questo che le diverse opzioni di lingua sono dichiarate in partizione: è possibile pianificarle simultaneamente (a condizione che siano professori diversi a insegnare ciascuna delle lingue). Ci sono pochi studenti in tedesco nella 3ª A e nella 3ª B: li si riunisce quindi affinché seguano gli stessi corsi, ed è lo scopo dell'allineamento; le lezioni sono create in modo speculare in ciascuna delle classi, in modo che siano pianificate simultaneamente. Lo stesso vale per i latinisti della 3ª B e della 3ª C. Questo schema illustra anche un classico schema di risparmio di risorse, il **«3 gruppi su 2 classi»**: le classi 3ª B e 3ª C sono ciascuna suddivisa in Tecnologia 1 (20 studenti) e Tecnologia 2 (10 studenti). **Allineando** le due Tecnologia 2, l'istituto riunisce i due piccoli gruppi per avere solo **tre corsi di tecnologia** anziché quattro — tutti a effettivo equivalente (20 studenti), con un professore e un'aula in meno da impegnare. #### Classe: il livello di base Una [classe](#page-glossary.class) è l'entità di riferimento predefinita. A seconda dei contesti, può rappresentare: - una classe scolastica, - una coorte annuale, - una coorte, - una sessione, - un percorso. Quando un corso riguarda **l'intera classe**, non occorre un gruppo aggiuntivo: il corso è semplicemente collegato alla classe. #### Gruppo: suddivisione di una classe Un [gruppo](#page-glossary.group) è sempre una **suddivisione di una stessa classe**. Tutti i suoi studenti restano studenti della classe genitrice. Esempi classici: - `Gruppo A` / `Gruppo B` per una ripartizione alfabetica; - `Laboratorio-A` / `Laboratorio-B` per mezzi gruppi di attività di laboratorio; - `Spagnolo` / `Tedesco` / `Italiano` per opzioni esclusive di seconda lingua; - `Inglese avanzato` / `Inglese intermedio` / `Inglese base` se l'istituto lavora con gruppi di livello; - `Maschi` / `Femmine` nei contesti in cui questa suddivisione esiste; - `Elective Marketing`, `Elective Finance`, `Elective Data` in un insieme di opzioni dell'istruzione superiore. **Raccomandazione forte**: crei un gruppo per ogni uso pedagogico chiaro, anche se gli studenti sono a volte gli stessi. Ad esempio, è meglio `Latinisti` e `Grecisti` che riutilizzare un gruppo generico `Opzioni`. Altrimenti la lettura degli orari, le diagnosi e i raggruppamenti tra classi diventano rapidamente ambigui. > _Premium_ #### Sottogruppo: suddivisione di un gruppo Un **sottogruppo** è un gruppo figlio collegato a un gruppo genitore. Esempio: - la classe è suddivisa in `Laboratorio-A` e `Laboratorio-B`; - poi `Laboratorio-A` è a sua volta suddiviso in `Laboratorio-A1` e `Laboratorio-A2` per rotazioni più fini. ```mermaid flowchart TD C["Classe BTS 1"] A["Laboratorio-A"] B["Laboratorio-B"] A1["Laboratorio-A1"] A2["Laboratorio-A2"] B1["Laboratorio-B1"] B2["Laboratorio-B2"] B3["Laboratorio-B3"] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 B --> B3 ``` Conseguenze importanti: - i sottogruppi restano nel perimetro della classe; - ereditano la logica del loro genitore; - sono utili quando ha più livelli di suddivisione; - hanno senso solo se la struttura resta leggibile. I sottogruppi sono molto pratici quando sono utilizzati anche con le partizioni di classe: - gruppi A e B in partizione; - gruppi A1 e A2 in partizione; - gruppi B1, B2 e B3 in partizione. Automaticamente, A1 e B3 sono in partizione, così come A2 e B1, ecc. Questa relazione è dedotta dalla doppia logica tra partizioni e legami padre-figlio. I sottogruppi sono gruppi che sono stati trascinati su un gruppo genitore. La pagina [Gerarchia di gruppi](#page-core-concepts.group-hierarchy) approfondisce gli usi avanzati: partizioni ereditate, vincoli ereditati e maschere orarie. #### Partizione: ripartire una stessa classe in gruppi esclusivi Una [partizione di classe](#page-glossary.class-division) si utilizza tra gruppi di **una stessa classe** quando gli studenti si ripartiscono tra più gruppi esclusivi. Essendo Omniscol un software di pianificazione sotto vincoli, i gruppi sono per impostazione predefinita ritenuti potenzialmente in possesso di almeno uno studente in comune: la dichiarazione di una partizione tra gruppi rimuove il vincolo. Esplicitamente, i gruppi di una stessa partizione non sono in conflitto. L'idea da ricordare: - ogni studente deve appartenere a **un solo (o a nessun)** gruppo della partizione; - questi gruppi possono quindi portare corsi diversi in parallelo; - Omniscol sa che non si tratta di un conflitto tra studenti. Esempi: - `Laboratorio-A` e `Laboratorio-B` svolgono due attività di laboratorio diverse nello stesso momento; - `Spagnolo`, `Tedesco` e `Italiano` condividono la stessa fascia oraria di opzioni; - `Gruppo A` e `Gruppo B` alternano attività simultanee in due aule; - `Inglese avanzato`, `Inglese intermedio`, `Inglese base` seguono tre corsi diversi in parallelo. ```mermaid flowchart LR subgraph CL["Classe 4ª B"] E["Spagnolo"] A["Tedesco"] I["Italiano"] end E -. "partizione" .- A A -. "partizione" .- I E -. "partizione" .- I ``` Per una stessa classe, la partizione è quindi lo strumento giusto quando vuole dire: «questi gruppi si ripartiscono gli studenti, possono essere collocati in parallelo». Nota: esiste un funzionamento di Omniscol, opzionale, in cui gli studenti sono assegnati direttamente alle classi e ai gruppi a livello degli orari. In questo caso, le partizioni possono essere dedotte automaticamente (nessuna intersezione di studenti tra gruppi = partizione). ##### Sottogruppi e partizione Con i sottogruppi, la logica di partizione si propaga lungo la gerarchia. Se `Laboratorio-A` e `Laboratorio-B` sono in partizione, i sottogruppi di `Laboratorio-A` e quelli di `Laboratorio-B` ereditano questa separazione tra i rami. Esempio: - `Laboratorio-A` e `Laboratorio-B` sono in partizione; - `Laboratorio-A1` e `Laboratorio-A2` sono sottogruppi di `Laboratorio-A`. Omniscol sa allora che un corso su `Laboratorio-A1` non entra in conflitto con un corso su `Laboratorio-B`, senza che debba ridichiarare ogni combinazione a mano. Se invece vuole suddividere `Laboratorio-A` in più rami che si ripartiscono a loro volta gli studenti, occorre definire esplicitamente questa suddivisione nella gerarchia e, se necessario, la sua partizione propria. #### Allineamento: un corso comune tra più classi Un [allineamento](#page-glossary.alignment) serve quando più gruppi di **classi diverse** seguono in realtà **lo stesso corso**, nella **stessa fascia oraria**, con lo **stesso professore** e nella **stessa aula**. Esempio classico: i `Latinisti` della `1ª A`, `1ª B` e `1ª C` hanno un solo corso di latino comune. ```mermaid flowchart LR subgraph A["Classe 1ª A"] GA["Latinisti"] end subgraph B["Classe 1ª B"] GB["Latinisti"] end subgraph C["Classe 1ª C"] GC["Latinisti"] end COURSE["Un solo corso di latino"] GA --> COURSE GB --> COURSE GC --> COURSE ``` L'allineamento è molto utile per le opzioni o gli elettivi tra classi, ma è più rigido di un semplice gruppo: tutto ciò che è allineato vive insieme. Condizione importante: deve trattarsi della **stessa materia** tra le classi coinvolte. In altre parole, se vuole un corso comune tra più classi, occorre che queste classi condividano realmente la materia utilizzata da questa lezione. Esempio: - `Marketing` comune a più classi: sì; - `Marketing B3` in una classe e `Marketing M1 opzione` in un'altra: no, non se si tratta di due materie distinte nella struttura dell'orario. Nell'istruzione superiore, questo porta spesso a evitare materie troppo specifiche di un solo percorso quando si sa che ci saranno corsi condivisi. È preferibile prevedere una materia comune alle classi che devono condividere lezioni. Gli allineamenti sono più adatti alle scuole del secondario: si tratta di creare lezioni speculari e di indicare la logica di raggruppamento dinamico. Lo svantaggio è dover rispettare questo mirroring: occorre creare tante lezioni quanti sono i gruppi nell'allineamento, con i gruppi giusti assegnati in ciascuna classe e tutto deve essere simmetrico: professore/i, aula, risorse, ecc. Se una lezione avente un gruppo in un allineamento è posizionata, si deve trovare una lezione speculare in ciascuna classe, con il suo gruppo allineato corrispondente. Il vantaggio è la possibilità di creare corsi complessi con gli allineamenti. Si può avere un corso di latino comune nella settimana A, e un corso non raggruppato diverso in ciascuna classe. Se questi vincoli non sono compensati dai vantaggi, è preferibile considerare i gruppi di gruppi. #### Gruppo di gruppi: raggruppamento esplicito e modificabile Il [gruppo di gruppi](#page-glossary.groups-of-groups) serve a riunire più gruppi in un raggruppamento denominato, modificabile e riutilizzabile. Il gruppo di gruppi si utilizza quindi come un gruppo qualsiasi. È particolarmente utile: - nell'istruzione superiore e nella formazione continua; - quando la composizione di un raggruppamento può evolvere; - quando vuole mantenere una struttura leggibile e tracciabile. Esempio: un seminario comune riunisce studenti di `M1 Marketing`, `M1 Finance` ed `Elective Data`. Le lezioni sono pianificate con il gruppo di gruppi, poi, più tardi, un quarto gruppo si aggiunge al dispositivo: è sufficiente aggiungerlo al gruppo di gruppi affinché tutte le lezioni gli siano collegate. Come per gli allineamenti, occorre che le lezioni comuni si basino su una **materia comune** tra le classi coinvolte. Il gruppo di gruppi consente di riunire i pubblici; non sostituisce la coerenza della materia utilizzata per il corso. Se deve raggruppare **classi intere**, crei prima in ciascuna classe un gruppo che rappresenti questa classe intera, poi utilizzi questi gruppi nell'allineamento o nel gruppo di gruppi. Non si allineano direttamente delle classi senza passare per dei gruppi. #### Assegnare più gruppi direttamente a una lezione È possibile assegnare **più gruppi direttamente a una lezione**, senza creare preventivamente un gruppo di gruppi denominato. È utile: - per un'esigenza occasionale; - per testare rapidamente un raggruppamento; - per una lezione eccezionale che non giustifica una struttura dedicata. Ma non è la scelta migliore come modellazione di fondo: - è meno leggibile nel tempo; - è meno tracciabile di un raggruppamento denominato; - diventa più difficile comprendere l'intento pedagogico se questo schema si ripete spesso. In pratica: - per un uso duraturo, preferisca un **gruppo di gruppi** esplicito; - per un'esigenza occasionale, l'assegnazione diretta di più gruppi è molto pratica. ```mermaid flowchart LR subgraph X["Gruppi esistenti"] G1["M1 Marketing - Elective Data"] G2["M1 Finance - Elective Data"] G3["M2 Controllo di gestione - Elective Data"] end S["Lezione occasionale Data"] G1 --> S G2 --> S G3 --> S ``` Eviti invece di mescolare, su una stessa lezione, un **gruppo genitore** e uno dei suoi **sottogruppi**: in generale non è una modellazione pulita del pubblico interessato. #### Tabella riepilogativa | Concetto | Perimetro | A cosa serve | Esempio | | --- | --- | --- | --- | | [**Classe**](#page-glossary.class) | Insieme di riferimento | Portare i corsi seguiti da tutti | `6ª A`, `BTS 1`, `M1 Marketing` | | [**Gruppo**](#page-glossary.group) | Suddivisione di una classe | Isolare un sottoinsieme di studenti | `Laboratorio-A`, `Latinisti`, `Spagnolo` | | [**Sottogruppo**](#page-core-concepts.group-hierarchy) | Suddivisione di un gruppo | Affinare un'organizzazione già suddivisa | `Laboratorio-A1`, `Laboratorio-A2` | | [**Partizione di classe**](#page-glossary.class-division) | Gruppi di una stessa classe | Ripartire studenti esclusivi su corsi in parallelo | `Laboratorio-A` / `Laboratorio-B`, `Tedesco` / `Spagnolo` | | [**Allineamento**](#page-glossary.alignment) | Gruppi di classi diverse | Far seguire un solo corso comune | `Latinisti` di più classi | | [**Gruppo di gruppi**](#page-glossary.groups-of-groups) | Più gruppi, stesse o diverse classi | Costruire un raggruppamento esplicito e modificabile | Seminario comune multi-percorso | | **Multi-gruppi** | Più gruppi, stesse o diverse classi | Assegnazione dinamica di più gruppi, al volo | Lezione occasionale d'interesse per popolazioni varie | | [**Gruppo libero**](#page-glossary.free-group) | Composizione aperta | Gestire iscrizioni non fisse | Laboratorio, club, attività aperta | #### Vedi anche - [Partizioni di classe](#page-core-concepts.class-divisions) - [Allineamenti di gruppi](#page-core-concepts.alignments) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Gerarchia di gruppi](#page-core-concepts.group-hierarchy) - [Gruppi liberi](#page-core-concepts.free-groups) - [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) ### 2.3 Partizioni di classe *Source: `help/it/core-concepts/class-divisions.md` · id: core-concepts.class-divisions · Updated: 2026-05-20* Una **partizione** dichiara al risolutore che più [gruppi](#page-glossary.group) di una stessa [classe](#page-glossary.class) possono trovarsi nella **stessa fascia oraria** senza entrare in conflitto — perché nessuno studente fa parte di più di uno di questi gruppi. #### Perché è necessario — la filosofia « tutto è conflitto per impostazione predefinita » Omniscol è un software di pianificazione **sotto vincoli**. Conseguenza diretta: **tutto ciò che può essere fonte di conflitto è considerato tale per impostazione predefinita**, salvo che l'utente precisi esplicitamente altrimenti. - Tra **due classi distinte**: nessuno studente in comune per ipotesi, quindi nessun conflitto da segnalare. (I corsi trasversali / condivisi si modellano a parte tramite gli [allineamenti](#page-core-concepts.alignments) o i [gruppi di gruppi](#page-core-concepts.groups-of-groups).) - All'interno di **una stessa classe**, il risolutore non ha **alcun modo logico** di indovinare quali gruppi possono coesistere nello stesso slot senza sovrapporsi. Considera quindi due gruppi di una stessa classe come **suscettibili di avere studenti in comune**. Senza dichiarazione di partizione, pianificare due lezioni nello stesso slot per due gruppi della stessa classe genera un conflitto. Spetta all'autore dell'orario **dire al risolutore**: « questi gruppi sono mutuamente esclusivi, potete pianificarli simultaneamente ». La partizione è questa dichiarazione. Il risolutore cercherà il più possibile di posizionare simultaneamente le lezioni con gruppi in partizione, ma potrebbe non riuscirci a causa di altri vincoli (mancanza di aula, vincoli orari incompatibili tra professori o materie, entità comune come l'aula specializzata o il professore in comune tra le lezioni). In tal caso, il risolutore rileverà che una parte della classe non ha lezione e applicherà una penalità proporzionale (opzione predefinita: ridurre i buchi per gli studenti), spingendolo a pianificare tali lezioni a inizio o a fine giornata, oppure durante la pausa di mezzogiorno se possibile. #### Casi d'uso tipici - **Mezze classi alfabetiche**: gruppi A e B (secondo ordine alfabetico o sorteggio) — uno studente è nell'uno O nell'altro, mai in entrambi. - **Mezze classi per livello**: gruppi Inglese Potenziato vs Inglese Standard; uno studente è nell'uno O nell'altro. - **Mezze classi per sesso** (caso particolare di alcuni istituti per l'educazione fisica, ad esempio). - **Opzioni esclusive**: Francese seconda lingua / Spagnolo seconda lingua / Tedesco seconda lingua — uno studente sceglie **una sola** delle tre lingue. - **Pacchetti di opzioni simultanee**: un ventaglio di opzioni in cui l'istituto decide di pianificare tutte le opzioni nello stesso slot bloccato (`Venerdì 14\:00-16\:00 = slot opzioni`), e gli studenti scelgono la propria opzione nel pacchetto — tutte esclusive nel senso « uno studente segue una sola opzione ». - **Esercitazioni / laboratori in mezzi gruppi**: Laboratorio-A e Laboratorio-B nello stesso slot in due aule diverse con due professori. #### Creazione Passaggi: 1. Vada alla pagina dei gruppi di una classe (scheda Gruppi). 2. Selezioni i gruppi interessati. 3. Faccia clic su Aggiungere una partizione. 4. Confermi. Più partizioni possono coesistere in una stessa classe: una per i laboratori di scienze (Laboratorio-A, Laboratorio-B), una per le lingue (Francese seconda lingua, Spagnolo seconda lingua), una per le opzioni di specializzazione (Filosofia specializzazione, Storia-geografia specializzazione, Matematica specializzazione). Ogni partizione è indipendente dalle altre. Quando un gruppo è in partizione, appare in tutte le schermate pertinenti con un'icona [link-slash]. #### Sicurezza per impostazione predefinita: un gruppo in una sola partizione Per impostazione predefinita, l'interfaccia applica una sicurezza semplice: un gruppo appartiene a una sola partizione. È il caso più frequente, e questo evita molti errori. Questo filtraggio può tuttavia essere rimosso quando la realtà delle utenze lo giustifica. Esempio: - solo gli studenti di `Spagnolo seconda lingua` fanno anche `Latino`; - gli studenti di `Francese seconda lingua` non fanno `Latino`. Può allora creare: - una partizione `Spagnolo seconda lingua` / `Francese seconda lingua`; - una partizione `Latino` / `Francese seconda lingua`. Il vantaggio è dare più libertà al motore per collocare certe lezioni una di fronte all'altra e ridurre i buchi per una parte della classe. Da usare con rigore: occorre che la distribuzione reale degli studenti sia perfettamente sotto controllo. #### Criterio di validità **Nessuno studente deve appartenere a due gruppi della stessa partizione.** È la definizione matematica di una partizione — gli insiemi sono disgiunti. Se uno studente figura in due gruppi di una stessa partizione, Omniscol emette un avviso di coerenza (il risolutore non può inviarlo in due luoghi contemporaneamente). #### Conseguenza sull'algoritmo Con una partizione dichiarata, il risolutore: - **autorizza** la pianificazione simultanea dei gruppi della partizione (mentre altrimenti sarebbe un conflitto), - **verifica comunque le altre risorse**: servono tante aule diverse quanti sono i gruppi simultanei, tanti professori diversi. La partizione rimuove solo il conflitto studente — non i conflitti aula / professore, che restano rigorosi. #### Errore frequente — tre corsi nello stesso slot in una classe Se vuole **tre corsi diversi simultanei** in una classe (Filosofia, Storia-geografia, Matematica spec.) perché i suoi studenti hanno opzioni esclusive, crei **tre gruppi** (Filosofia, Storia-geografia, Matematica-spec.) e li metta in partizione. Non tre corsi senza gruppo — altrimenti il risolutore non avrà alcuna informazione sui vincoli di simultaneità, e ciascuno sarà collocato separatamente, su orari diversi. #### Differenza con un'altra costruzione | Vuole… | Utilizzi | | --- | --- | | Più gruppi di **una stessa classe** nello stesso slot (corsi diversi, studenti disgiunti) | **Partizione** (questa pagina) | | Più gruppi di **classi diverse** nello stesso slot (stesso corso, stesso professore, stessa aula) tramite una logica che collega gruppi semplici | [Allineamento](#page-core-concepts.alignments) | | Come l'allineamento, ma facilmente modificabile a posteriori, creando un'entità autonoma di raggruppamento | [Gruppo di gruppi](#page-core-concepts.groups-of-groups) | | Un gruppo a composizione non fissa (laboratorio, iscrizione libera) | [Gruppo libero](#page-core-concepts.free-groups) | #### Vedi anche - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Allineamenti](#page-core-concepts.alignments) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Gruppi liberi](#page-core-concepts.free-groups) - [Partizione di classe](#page-glossary.class-division) ### 2.4 Allineamenti di gruppi *Source: `help/it/core-concepts/alignments.md` · id: core-concepts.alignments · Updated: 2026-05-20* Un **allineamento** collega più [gruppi](#page-glossary.group) appartenenti a **classi diverse**: devono seguire **lo stesso corso**, nello **stesso slot**, nella **stessa aula**, con lo **stesso professore**. Condizione importante: questo allineamento deve basarsi sulla **stessa materia** nelle diverse classi. Se due classi hanno materie distinte, anche molto vicine dal punto di vista didattico, l'allineamento non costituisce una buona modellazione. Concretamente, laddove una [partizione](#page-glossary.class-division) resta all'interno di una classe, l'allineamento attraversa più classi. #### Casi d'uso Gli allineamenti servono a creare corsi trasversali in cui più classi hanno un numero ridotto di studenti da riunire (allineare) per uno specifico corso comune, che seguiranno insieme. È ad esempio il caso di: - **Latinisti** di 5A, 5B e 5C che seguono insieme il corso di latino. - **Opzioni tra classi** al liceo: Scienze Politiche, Storia dell'arte, terza lingua, ecc. - **Insegnamenti di specializzazione**. - **Tronco comune multi-percorso** nell'istruzione superiore: un corso introduttivo comune a più master. Se deve allineare **classi intere**, crei prima in ogni classe un gruppo che rappresenti l'intera classe, poi allinei tali gruppi. #### Creazione 1. Crei prima, in ciascuna classe interessata, **un gruppo**, preferibilmente con lo stesso nome (esempio: « Latinisti » in 5A, in 5B e in 5C). 2. Vada alla scheda Allineamento dei gruppi. 3. Faccia clic su Aggiungere un allineamento e selezioni i gruppi delle diverse classi. Quando un gruppo è interessato da un allineamento, appare in tutte le schermate pertinenti, con un'icona di collegamento [link]. #### Conseguenze Una volta allineato, il gruppo di ogni classe è **collegato** al corso comune. Concretamente: - Le lezioni del corso devono essere create nelle classi in modo speculare, in particolare con la **stessa durata**, lo **stesso professore** ed eventualmente la **stessa aula**. - Se una lezione di una classe con gruppo allineato è posizionata in un giorno e a un'ora, allora tutte le altre classi dell'allineamento devono avere la stessa lezione speculare, ciascuna con il gruppo allineato corrispondente, nella stessa posizione. - I volumi orari e la suddivisione in lezioni con i diversi gruppi allineati devono essere **rigorosamente identici** sulla materia interessata — altrimenti Omniscol emette una diagnosi di incoerenza. - Una modifica (spostamento, cambio di aula, cambio di professore, aggiunta di un promemoria) effettuata su una lezione **deve essere propagata** a tutte le classi allineate (il sistema cerca di indovinare quali lezioni sono speculari per rendere il tutto il più automatico possibile). #### Diagnosi — incoerenze frequenti L'allineamento è sensibile agli scarti. Diagnosi tipiche: - **Volume orario divergente**: il gruppo « Latinisti » di 8A ha 3 lezioni di un'ora di latino, quello di 8B ne ha 2. O si armonizza (3 ovunque), oppure si disallinea (2 ore allineate, un'ora su un altro gruppo di latinisti non allineato). - **Aula diversa su una lezione allineata**: un allineamento implica un'unica aula. Se forza manualmente un'aula diversa su una classe per la sua lezione, la diagnosi viene segnalata. - **Professore diverso**: idem. #### Suggerimento — un gruppo per corso/materia Poiché gli allineamenti sono molto sensibili all'obbligo di creazione in perfetta specularità, è vivamente consigliato creare un gruppo per materia o corso interessato di ciascuna classe da allineare. In altre parole: non riutilizzi un gruppo generico (tipicamente: gruppi A/B) per materie diverse, con una forte logica di allineamento. Altrimenti otterrà degli allineamenti ambigui che il risolutore non può disambiguare. Crei piuttosto gruppi specializzati, che potrà collegare tra loro senza temere effetti collaterali indesiderati. #### Vedi anche - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Partizioni](#page-core-concepts.class-divisions) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Corso trasversale](#page-glossary.transverse-course) - [Allineamento dei gruppi](#page-glossary.alignment) ### 2.5 Gruppi di gruppi *Source: `help/it/core-concepts/groups-of-groups.md` · id: core-concepts.groups-of-groups · Updated: 2026-05-20* Un **gruppo di gruppi** è un super-gruppo che riunisce più [gruppi](#page-glossary.group) — che possono provenire dalla **stessa classe** o da **classi diverse**. È così che si **mettono più gruppi insieme per condividere una lezione** — riunendo diversi gruppi di studenti in un unico insieme in quella fascia oraria. Altri software di pianificazione impiegano il termine «raggruppamento» per lo stesso concetto. Come per un allineamento, le lezioni comuni devono poggiare su una **materia comune** tra le classi coinvolte. Contrariamente agli allineamenti, che indicano una logica tra gruppi, il gruppo di gruppi è un'entità autonoma che può essere utilizzata come un gruppo. Lo si può considerare come un contenitore denominato dinamico di gruppi. #### In che modo è più flessibile di un allineamento | Aspetto | [Allineamento](#page-core-concepts.alignments) | **Gruppo di gruppi** | | --- | --- | --- | | Composizione | Modificabile a posteriori ma implica la creazione delle lezioni speculari | Modificabile a posteriori molto facilmente | | Modalità di orario | Molto adatta all'orario settimanale e ciclico dell'istruzione secondaria | Utilizzabile in tutti i tipi di orario; particolarmente pratica quando i raggruppamenti evolvono | | Estrazione della lezione | Richiede un clone non allineato del gruppo | Modifica diretta della lezione, la cui appartenenza sarà fissata a una classe; è necessario ricreare le lezioni delle altre classi coinvolte | | Caso d'uso | Corso comune ricorrente, per il curriculum di classi parallele | Corsi trasversali, raggruppamenti occasionali | Il gruppo di gruppi è concepito per l'istruzione superiore e la formazione continua, dove: - la composizione dei raggruppamenti evolve spesso (un percorso che ne raggiunge un altro, un sottogruppo che si stacca per un progetto), - i corsi comuni sono datati individualmente anziché ricorrenti, - i conferenzieri o i visiting professor intervengono per un pubblico composito in date precise. Un gruppo di gruppi è più flessibile e facile da seguire di un allineamento. Il suo limite risiede nei corsi complessi, con alternanze asimmetriche di settimane. Richiede soltanto di strutturare bene le denominazioni (per esempio: "Marketing trasversale Master"). #### Creazione e utilizzo La creazione avviene dalla scheda Gruppo di gruppi dell'orario. Il gruppo di gruppi può essere assegnato a un corso **come se si trattasse di un gruppo ordinario** — la differenza è che aggrega più gruppi membri. Se vuole raggruppare **classi intere**, crei prima in ciascuna classe un gruppo che rappresenta la classe intera, poi utilizzi questi gruppi nel suo gruppo di gruppi. Un corso assegnato a un gruppo di gruppi appare in **tutte** le classi genitrici dei gruppi membri. E può modificarlo da una qualsiasi di esse. I gruppi di gruppi appaiono in tutte le schermate interessate con un'icona specifica [sitemap]. #### Modificare la composizione in seguito I gruppi membri possono essere aggiunti o rimossi in qualsiasi momento. I corsi già assegnati si adattano automaticamente (la portata si amplia o si riduce a seconda dei gruppi aggiunti / rimossi). È ciò che dà valore al concetto: si può iniziare un semestre con una composizione, aggiustarla lungo il percorso, senza compromettere la struttura. #### Considerazioni tecniche Tecnicamente, una lezione di un corso con un gruppo di gruppi è memorizzata una sola volta, in modo trasversale alle classi, quindi non assegnata a una classe precisa. Mentre una lezione senza gruppo di gruppi (compresa quella con gruppi allineati) è memorizzata nella sua classe. Con un allineamento su 3 gruppi, vi sono 3 lezioni memorizzate, una in ciascuna classe; con un gruppo di gruppi, una sola lezione è memorizzata a parte dalle classi, ma visualizzata in ciascuna classe. Quando un gruppo di gruppi viene rimosso da una lezione di un corso, il sistema indovina o chiede qual è la classe di appartenenza della lezione. È più facile modificare gli altri campi di una lezione con un gruppo di gruppi che con un allineamento: la memorizzazione unica permette di cambiare l'aula o il professore in modo immediato, senza ripercussione «speculare». #### Consolidamento delle non disponibilità Un gruppo di gruppi **consolida le non disponibilità** di tutti i suoi gruppi membri. Una non disponibilità impostata su **qualsiasi** gruppo membro — o sulla classe di quel gruppo — si applica alla lezione comune. La regola vale sia durante la generazione automatica sia a schermo durante la modifica. I vincoli flessibili (Indesiderato, rosso) si consolidano allo stesso modo; e quando più livelli si incontrano sullo stesso slot, **il più forte prevale** — Indisponibile (nero) prevale su Indesiderato (rosso). Veda [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints) per l'editor e i livelli. Poiché un gruppo di gruppi attraversa spesso più classi, questo consolidamento riunisce le non disponibilità di **ogni classe coperta**: una classe chiusa il venerdì pomeriggio chiude quello slot per ogni lezione del gruppo di gruppi che la include, anche quando le altre classi restano libere. ```mermaid flowchart TD CX["Classe X — non disponibile lunedì pomeriggio"] --> GA["Gruppo A (classe X)"] CY["Classe Y — non disponibile venerdì mattina"] --> GB["Gruppo B (classe Y)"] GA --> GG["Gruppo di gruppi"] GB --> GG GG --> SE["Lezione: non disponibile lunedì pomeriggio E venerdì mattina"] ``` Sul gruppo di gruppi stesso, l'applicazione mostra un'**anteprima consolidata, non modificabile**, di queste non disponibilità: si vedono a colpo d'occhio i vincoli di tutti i membri. Si **modificano sui gruppi membri** (o sulle loro classi), dove hanno un senso proprio — il gruppo di gruppi non ha un editor di vincoli distinto. > _Premium_ Ogni gruppo membro apporta i **propri** vincoli di gruppo, così come quelli che **eredita** dalla sua classe e dai suoi gruppi genitori (veda [Gerarchia di gruppi](#page-core-concepts.group-hierarchy)). Il consolidamento li riprende tutti: più membri un gruppo di gruppi aggrega, più la finestra di posizionamento si restringe. Per riaprire uno slot nonostante un vincolo ereditato, il livello **Lezioni autorizzate** lo riautorizza localmente, senza modificare la fonte. A schermo, questi vincoli consolidati si vedono **al momento del posizionamento**: gli slot candidati e il pannello di diagnostica segnalano il conflitto e nominano il **gruppo membro** e la **classe** in causa, per risalire direttamente alla fonte (veda [Conflitti e diagnostica](#page-timetables.conflicts)). #### Procedura — Creare un gruppo trasversale per una conferenza ospite 1. **Una conferenza ospite per un pubblico composito** (studenti di tre corsi di laurea, due opzioni): il concetto Omniscol che corrisponde è il **gruppo di gruppi**. 2. **Prerequisito**: I gruppi membri esistono già all'interno delle rispettive classi. Identifichi i gruppi da aggregare (`M1 marketing`, `M1 finanza`, `Opzione imprenditorialità`). 3. **Apra la scheda** Gruppo di gruppi dell'orario. Pulsante Aggiungi un gruppo di gruppi. Le dia un nome parlante: `Conferenza invitata Prof.ssa Lambert — pubblico M1 + opzioni`. 4. **Aggiunga i gruppi membri**: selezioni i gruppi delle tre classi / opzioni dall'elenco. Nessun limite di composizione. Nessun vincolo di esclusività dei gruppi membri tra loro (nel peggiore dei casi lo studente che appartiene a due gruppi vedrà il corso una sola volta). 5. **Crei il corso** (la conferenza) da una delle classi coinvolte, e **gli assegni il gruppo di gruppi** come se si trattasse di un gruppo ordinario. Un unico inserimento, il corso appare in **tutte le classi genitrici** dei gruppi membri. 6. **Modifiche a posteriori**: se la composizione evolve (un gruppo si ritira, un altro si aggiunge), modifichi la composizione del gruppo di gruppi — i corsi assegnati si adattano automaticamente (la portata si amplia o si riduce). È ciò che distingue questo concetto da un allineamento classico (composizione fissa). Veda anche [Allineamenti](#page-core-concepts.alignments) per il caso settimanale. #### Alternativa più flessibile: assegnazione multipla diretta di gruppi Talvolta, per lezioni occasionali, creare un gruppo di gruppi dedicato si rivela un'operazione onerosa. In questo caso, se la mancanza di strutturazione dei dati non è un ostacolo, può direttamente associare più gruppi di una o più classi a una lezione. Internamente, il trattamento è simile a un gruppo di gruppi anonimo, con una memorizzazione unica trasversale alle classi, ma non deve preoccuparsene. #### Vedi anche - [Allineamenti](#page-core-concepts.alignments) - [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints) - [Corso trasversale](#page-glossary.transverse-course) - [Modalità Calendario](#page-glossary.calendar-mode) - [Gruppo di gruppi](#page-glossary.groups-of-groups) ### 2.6 Gerarchia di gruppi: genitori, figli, vincoli ereditati *Source: `help/it/core-concepts/group-hierarchy.md` · id: core-concepts.group-hierarchy · Audience: admin · Plan: premium · Updated: 2026-05-20* > **Premium** > **Funzione Premium.** La gerarchia di gruppi e i vincoli > orari di gruppo sono inclusi nelle funzioni Premium. > _Premium_ Oltre al modello piatto «classe → gruppi», Omniscol permette di organizzare i gruppi di una classe in una **gerarchia genitore / figlio** e di associare **vincoli orari** che si propagano per ereditarietà. È utile quando la classe si struttura in diversi livelli successivi di suddivisioni. #### Creare una gerarchia tramite trascinamento Nella pagina dei gruppi di una classe, il trascinamento definisce la gerarchia: - **Trascinare un gruppo su un altro** → il figlio viene collegato al genitore. - **Trascinare un figlio in testa all'elenco dei gruppi** → il figlio viene estratto dalla sua gerarchia e ridiventa un gruppo diretto della classe. Nessun limite di profondità. Può avere catene genitore → figlio → nipote se la sua suddivisione lo giustifica. #### Esempio canonico Gerarchia tipica: ```mermaid flowchart TD C[Classe 8A] A[A — genitore] A1[A1 — figlio di A] A2[A2 — figlio di A] B[B — genitore] B1[B1 — figlio di B] B2[B2 — figlio di B] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 ``` Partizioni dichiarate: - `(A, B)` — A e B sono esclusivi al livello genitore. - `(A1, A2)` — sotto A, A1 e A2 sono esclusivi. - `(B1, B2)` — sotto B, B1 e B2 sono esclusivi. **Conseguenza automatica**: Omniscol autorizza la pianificazione simultanea di gruppi appartenenti a rami diversi — per esempio `A1` e `B2` possono stare nella stessa fascia oraria, perché nessuno studente si trova in entrambi (A1 ⊂ A, B2 ⊂ B, e A ∩ B = ∅). Non è necessario ridichiarare la partizione `(A1, B2)`: l'ereditarietà la calcola. #### Ereditarietà dei vincoli orari Oltre alle partizioni, può associare **vincoli orari** (disponibilità, incompatibilità) a un gruppo. Con la gerarchia, questi vincoli **si ereditano** dai genitori verso i figli — tramite un sistema di **maschera** che i figli possono sovrascrivere. ##### Esempio: slot riservato a educazione fisica Caso tipico: - La classe `8A` è **non disponibile il lunedì pomeriggio** (slot globale bloccato per attività collettive). - Per ereditarietà, **tutti i gruppi** della classe sono non disponibili il lunedì pomeriggio. - **Tranne** il gruppo `Sport`: si **inverte** la sua maschera per autorizzare il lunedì pomeriggio e vietare tutto il resto. Tutte le attività sportive di questo gruppo cadranno allora automaticamente su questo slot protetto. Il meccanismo è potente: **una maschera genitore + un'eccezione figlio** bastano a modellare in modo pulito slot dedicati senza dover duplicare il vincolo su ogni corso. ##### Altro esempio: un genitore `Electifs` che porta gli slot autorizzati Altro caso molto utile: l'istituto vuole che tutti gli opzionali cadano unicamente su alcuni slot riservati, per esempio: - lunedì mattina, - mercoledì prima delle 10, - venerdì mattina. Si può allora: - creare un gruppo genitore `Electifs` che non sarà esso stesso assegnato a corsi; - esprimere su questo genitore gli slot autorizzati dipingendo i vincoli orari; - creare al di sotto tutti i sottogruppi necessari: `Elective Marketing`, `Elective Finance`, `Elective Data`, ecc. Tutti questi sottogruppi ereditano allora gli stessi slot autorizzati. Se la regola cambia, si modifica un solo punto: il genitore `Electifs`. ```mermaid flowchart TD E["Electifs — gruppo genitore"] E1["Elective Marketing"] E2["Elective Finance"] E3["Elective Data"] S["Slot autorizzati: lunedì mattina, mercoledì prima delle 10, venerdì mattina"] S --> E E --> E1 E --> E2 E --> E3 ``` ##### Regole di ereditarietà - Un gruppo figlio **eredita per impostazione predefinita** i vincoli orari del suo genitore. - Il figlio può **sovrascrivere** questi vincoli: aggiungere vincoli propri o invertire la maschera. - Le **partizioni del genitore** si applicano automaticamente ai figli: se A e B sono in partizione, i figli di A sono esclusivi dei figli di B senza dichiarazione esplicita. ##### Vincoli ereditati e gruppi di gruppi Un gruppo può anche essere membro di un **gruppo di gruppi**. I suoi vincoli — i propri come quelli ereditati dalla sua classe e dai suoi gruppi genitori — sono allora **consolidati** con quelli degli altri gruppi membri: la lezione del gruppo di gruppi rispetta tutte queste non disponibilità riunite. L'ereditarietà scende lungo la gerarchia, poi il consolidamento riunisce i membri del gruppo di gruppi. ```mermaid flowchart TD C["Classe — non disponibile lunedì pomeriggio"] --> P["Gruppo genitore"] P --> E["Gruppo figlio — eredita dal genitore"] E --> GG["Gruppo di gruppi"] M["Altro gruppo membro (altra classe)"] --> GG GG --> SE["Lezione: non disponibilità consolidate"] ``` Veda [Gruppi di gruppi](#page-core-concepts.groups-of-groups) per il dettaglio del consolidamento. #### Quando usare una gerarchia - **Pacchetti di opzioni**: una classe con lingue strutturate in livelli (Inglese potenziato > A1-Conversazione, A1-Civiltà, A2-…). - **Laboratori con sotto-rotazioni**: due mezze classi per il laboratorio, ciascuna suddivisa in sottogruppi per le esperienze. - **Percorsi differenziati**: un percorso principale con moduli opzionali distinti che si pianificano all'interno del percorso. - **Sport**: un gruppo globale che raccoglie tutti gli studenti, con una maschera dedicata per gli slot sportivi. - **Opzionali su slot riservati**: un gruppo genitore `Electifs` porta gli slot autorizzati, e i suoi sottogruppi corrispondono agli opzionali reali. #### Quando non usarla - Per classi semplici senza suddivisione gerarchica — la gerarchia aggiunge complessità. - Per mischiare studenti di classi diverse — è il ruolo degli [allineamenti](#page-core-concepts.alignments) o dei [gruppi di gruppi](#page-core-concepts.groups-of-groups), non della gerarchia intra-classe. - Per iscrizioni aperte — utilizzi i [gruppi liberi](#page-core-concepts.free-groups). #### Procedura — Costruire una gerarchia genitore/figlio 1. **La gerarchia di gruppi** organizza i gruppi di una classe in genitori e figli, con **ereditarietà** dei vincoli orari. 2. **Crei prima i gruppi a livello piatto** nella pagina dei gruppi della classe: `A`, `A1`, `A2`, `B`, `B1`, `B2`, più un gruppo trasversale `Sport`. A questo punto, sono tutti allo stesso livello, collegati direttamente alla classe. 3. **Trascinamento per gerarchizzare**: trascini `A1` su `A` → `A1` diventa figlio di `A`. Lo stesso per `A2`, `B1`, `B2`. Ottiene due rami `A → A1, A2` e `B → B1, B2`. Nessun limite di profondità. Per estrarre un figlio: lo trascini in **testa all'elenco** dei gruppi della classe. 4. **Dichiari le partizioni**: `(A, B)` al livello genitore (esclusivi), `(A1, A2)` sotto A, `(B1, B2)` sotto B. Inutile ridichiarare `(A1, B2)`: tramite ereditarietà, Omniscol calcola che `A1 ⊂ A` e `B2 ⊂ B` sono compatibili (pianificabili nella stessa fascia oraria). 5. **Posi la maschera genitore**: sulla classe, contrassegni **lunedì pomeriggio non disponibile**. Tutti i gruppi la ereditano automaticamente. Verifichi consultando la griglia di ciascun gruppo: lo slot è bloccato ovunque. 6. **Inverta la maschera su `Sport`**: sulla scheda del gruppo Sport, inverta il vincolo orario — autorizzi il lunedì pomeriggio, vieti tutto il resto. Tutte le attività sportive cadono automaticamente su questo slot dedicato, senza doverlo ridichiarare su ogni corso. 7. **Ora dispone di una gerarchia attiva** con ereditarietà delle partizioni e maschera oraria dedicata. Il risolutore la utilizza durante la generazione automatica e i conflitti ereditati vengono segnalati in tempo reale. #### Vedi anche - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Partizioni di classe](#page-core-concepts.class-divisions) - [Gruppi liberi](#page-core-concepts.free-groups) - [Disponibilità, vincoli orari e incompatibilità](#page-core-concepts.wishes-and-availability) ### 2.7 Gruppi liberi *Source: `help/it/core-concepts/free-groups.md` · id: core-concepts.free-groups · Plan: premium · Updated: 2026-05-12* > **Premium** > _Premium_ Un **gruppo libero** è un **gruppo di lavoro semi-autonomo**: una parte della classe avanza sul proprio lavoro in parallelo alla lezione principale, spesso nella stessa aula e con lo stesso professore — un **gruppo satellite** del corso. Si colloca sulla griglia senza generare conflitti, e la sua composizione non deve essere fissata in anticipo. È la **carta jolly** di Omniscol: da utilizzare quando il modello rigido classe + sottogruppi in partizione non è adatto. Molto frequente in: - le **scuole d'arte** (laboratori a iscrizione libera, progetti trasversali), - i **progetti in semi-autonomia** — piccolo gruppo di studenti che lavora insieme sotto la supervisione **leggera** di un professore che si occupa principalmente della propria classe accanto e che passa regolarmente a vedere a che punto sono, - le **conferenze interclasse**, masterclass, seminari con ospiti, - i **corsi di recupero** e i **club** facoltativi, - i **progetti di ricerca e i tirocini brevi** a iscrizione libera. #### Comportamento Un gruppo libero è **collegato a una classe** come qualsiasi gruppo, con un organico e, a seconda della configurazione dell'account, un elenco di studenti. Ciò che cambia è il modo in cui Omniscol verifica i conflitti. Su una lezione di un gruppo libero, Omniscol **disattiva tre tipi di verifiche**: - conflitto con il resto della classe sulla stessa fascia oraria, - conflitto con un'altra lezione dello stesso professore, - conflitto con un'aula già occupata. È ciò che consente al gruppo libero di funzionare come un **gruppo satellite** sulla griglia della classe principale: la lezione principale ha luogo, e la lezione del gruppo libero si colloca in parallelo senza attivare alcun avviso. Le lezioni di un gruppo libero **compaiono esplicitamente** nell'orario degli studenti interessati, come tutte le altre lezioni. #### Quando usare un gruppo libero rispetto a un gruppo classico | Situazione | Gruppo classico | Gruppo libero | | --- | --- | --- | | Composizione fissata in anticipo | ✓ | ✓ (come un gruppo ordinario: organico, elenco di studenti facoltativo) | | Rilevamento dei conflitti classe / professore / aula | ✓ rigoroso | — disattivato | | Modellazione di opzioni in partizione di classe | ✓ | — no | | Lezione satellite, in parallelo alla lezione principale | — | ✓ | #### Precauzione d'uso — il limite reale > **Prima di tutto: preferisca i veri sottogruppi in > [partizione](#page-core-concepts.class-divisions)** quando è possibile. Il > gruppo libero è una **carta jolly da usare con parsimonia**, riservata > ai casi in cui nessun'altra soluzione pulita funziona. Il motivo: la messa in parallelo deve in pratica essere **gestita dal pianificatore umano**. L'algoritmo di generazione automatica non ha alcun modo di sapere che un dato gruppo in semi-autonomia deve essere pianificato **in parallelo a una precisa lezione del corso principale della classe**. Se lo lascia funzionare, le lezioni del gruppo libero possono cadere in qualsiasi momento — senza coerenza con ciò che fa il resto della classe. **Buona pratica**: posizionare manualmente la lezione del gruppo libero **di fronte** alla lezione principale mirata, poi **bloccarne la posizione** affinché la generazione automatica non la tocchi più. Vedere [Bloccare una lezione](#page-timetables.lesson-lock). #### Creazione Al momento di creare il gruppo (su Aggiungere un gruppo), selezioni l'opzione Gruppo libero. Un'icona [right-left] contrassegna poi questi gruppi negli elenchi per non confonderli con i gruppi ordinari. #### Effetti della disattivazione dei conflitti Concretamente, su una lezione di un gruppo libero: - se Alice (studentessa della classe) segue questa lezione mentre un'altra lezione principale ha luogo per il resto della classe sulla stessa fascia oraria, Omniscol non emette **alcun avviso** (mentre in teoria è attesa in due luoghi contemporaneamente); - il professore può essere assegnato a un'altra lezione sulla stessa fascia oraria, anche in questo caso senza avviso; - l'aula può essere già occupata dalla lezione principale senza avviso. Questa tolleranza è **voluta**. Spetta a Lei (pianificatore) garantire che la coabitazione abbia un senso pedagogico (tipicamente: il professore passa solo di tanto in tanto a vedere a che punto è il gruppo in semi-autonomia; gli studenti del gruppo escono dalla lezione principale senza creare problemi; l'aula accoglie entrambe le attività). #### Vedi anche - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Partizioni di classe](#page-core-concepts.class-divisions) - [Bloccare una lezione](#page-timetables.lesson-lock) - [Gruppo libero](#page-glossary.free-group) ### 2.8 Corsi, lezioni, tipi di lezione *Source: `help/it/core-concepts/lessons-and-types.md` · id: core-concepts.lessons-and-types · Updated: 2026-06-13* Tre oggetti collegati ma distinti da differenziare bene in Omniscol: il **corso** (l'unità didattica astratta), la **lezione** (un' istanza concreta del corso, in una data precisa), e il **tipo di lezione** (la classificazione: lezione frontale, esercitazione, laboratorio…). #### Corso Un **corso** è l'unità atomica di insegnamento: una materia, una classe o un gruppo, un professore, un'aula, una durata, un numero di ricorrenze settimanali (o un calendario di date in modalità calendario). Esempio: *«Matematica in 1ª media A, tenuta dal sig. Rossi, 4 ore alla settimana in aula B204».* Il corso porta la **logica didattica**: chi apprende cosa con chi. È ciò che si costruisce nel modulo Gestione degli orari. Veda anche la definizione di glossario: [Corso](#page-glossary.course). #### Lezione Una **lezione** è un'**occorrenza** concreta di un corso, con data e orario. A partire dal corso *Matematica in 1ª media A, 4h/settimana*, Omniscol genera 4 lezioni alla settimana sulle settimane attive (per esempio lunedì 8:00-9:00, martedì 10:00-11:00, mercoledì 14:00-15:00, venerdì 9:00-10:00). È la lezione a essere visibile nel modulo Orario, nei portali, negli export iCal. È anche sulla lezione che vertono le modifiche puntuali (spostare, annullare, sostituire). È il termine adottato dall'interfaccia per l'unità posta sulla griglia: ciò che colloca, sposta, blocca, modifica, annulla o sostituisce è una **lezione** (o «lezione di un corso» quando la precisione aiuta). #### Tipo di lezione Un **tipo di lezione** classifica ogni corso al di là della sua materia: lezione frontale, esercitazione, laboratorio, esame, a distanza, uscita didattica. Il tipo serve per: - la **logica applicativa** (un esame non si tratta come un'esercitazione), - le **statistiche** (ore di esercitazione vs ore di lezione frontale per professore), - la **leggibilità** (visualizzazione negli orari). Veda [Tipi di lezione (esercitazione, laboratorio, esame, lezione frontale, ecc.)](#page-admin.lesson-types) per la gestione dettagliata dei tipi. #### Dove vivono i corsi nella struttura A seconda della complessità della struttura delle classi, i corsi sono collegati o **alla loro classe** (caso standard), o **in modo trasversale alle classi** (quando si utilizzano gruppi di gruppi o quando una lezione ha più gruppi simultaneamente). È trasparente per l'utente — Omniscol commuta automaticamente a seconda della struttura. Veda [Gruppi di gruppi](#page-core-concepts.groups-of-groups). #### Corsi semplici vs complessi Un corso può essere **semplice** (un professore, una classe, una materia, un'aula, una ricorrenza regolare) o **complesso**: alternanza settimane A/B, concatenazioni (corsi doppi), associazioni (rotazione tra gruppi), co-docenze (più professori). Veda [Lezioni complesse](#page-core-concepts.complex-lessons). #### Vedi anche - [Lezione / Sessione](#page-glossary.lesson) - [Tipo di lezione](#page-glossary.lesson-type) - [Tipi di lezione (esercitazione, laboratorio, esame, lezione frontale, ecc.)](#page-admin.lesson-types) - [Lezioni complesse](#page-core-concepts.complex-lessons) ### 2.9 Lezioni complesse: alternate, concatenate, associate, in compresenza *Source: `help/it/core-concepts/complex-lessons.md` · id: core-concepts.complex-lessons · Updated: 2026-06-13* Molte lezioni sono semplici: un pubblico, un professore, un'aula, una fascia oraria ricorrente. Ma Omniscol gestisce anche configurazioni più sofisticate, combinabili tra loro. Le lezioni complesse sono lezioni di una stessa classe collegate tra loro da una configurazione speciale. Ne esistono diversi tipi. #### 1. Lezioni alternate (settimane A/B/...) Lezioni che **non ricorrono ogni settimana**, ma si alternano. Il caso classico: una lezione nella settimana A, un'altra nella settimana B, sulla stessa fascia oraria. Questa configurazione è molto diffusa in Francia e nei sistemi scolastici che vi si sono ispirati, ma molto rara altrove. **Prerequisito**: attivare le settimane alternate in Parametri (modulo Amministrazione). Può scegliere la nomenclatura (lettere A/B/C oppure numeri 1/2/3). **Sfasamento dovuto alle vacanze**: l'alternanza può essere riallineata dopo un periodo di vacanze. Questa impostazione si effettua sulla linea del tempo dello schermo [anno scolastico](#page-admin.school-year). **Creazione**: 1. Passi il cursore sulla lezione da alternare. Un'icona [plus] compare in alto a destra della lezione: la clicchi. 2. Viene aggiunta una fascia libera per la settimana alternata. 3. Crei la lezione corrispondente a questa nuova fascia. 4. La posizioni con il suo pulsante puntina [thumbtack], poi clicchi la fascia giorno/ora desiderata tra i segnaposto colorati. Può ripetere l'operazione per aggiungere altre settimane (alternanza su 3, 4 o più). #### 2. Lezioni concatenate (consecutive) Due lezioni che devono **susseguirsi nell'arco della giornata**, senza intervalli. Casi tipici: - successione di laboratori di due gruppi diversi (il professore è certo di venire per un'intera mezza giornata), - lezione frontale + esercitazione di seguito (lezione frontale introduttiva poi esercitazione applicativa), - doppia sessione d'esame. **Creazione**: trascini e rilasci una lezione sotto un'altra nella vista di distribuzione delle ore. Le due lezioni vengono così accostate, e sono considerate come un blocco unico. Si possono concatenare tutte le lezioni che si desidera, ma è ovvio che potrebbe non entrare più nella griglia oraria, se la durata totale è eccessiva. **Scollegare**: un pulsante «forbici» compare al passaggio del cursore tra le due lezioni concatenate. Separa la concatenazione. **Perché non un'unica lezione più lunga?** Perché le due lezioni possono avere: - **tipi** diversi (lezione frontale poi esercitazione), - **professori** diversi (il titolare per la lezione frontale, un assistente per l'esercitazione), - **aule** diverse. Se tutti gli attributi sono identici, allungare un'unica lezione è più semplice — la concatenazione offre flessibilità negli altri casi. #### 3. Lezioni associate (alternanza tra mezze classi) Due lezioni simultanee in **mezze classi che si scambiano** tra loro, per formarne quattro. Il caso archetipico: ``` Fascia 1: gruppo A in biologia, gruppo B in fisica Fascia 2: gruppo A in fisica, gruppo B in biologia ``` Al termine delle due fasce, entrambe le mezze classi hanno visto le due materie, ma in un ordine diverso. Lo scambio richiede quindi due professori (uno di biologia, uno di fisica) che «ruotano». Questa configurazione è abbastanza diffusa nella scuola secondaria in Francia e molto diffusa nei paesi francofoni dell'Africa. Sembra assai più rara altrove, ma la si può incontrare in Brasile, per esempio. **Creazione**: 1. Crei due lezioni [concatenate](#2-lezioni-concatenate-consecutive) (l'una sotto l'altra). 2. Passi il cursore sul confine tra le due: compare un pulsante di Associazione di lezioni. 3. Lo clicchi e designi i **due gruppi** che devono alternarsi. Idealmente, i due gruppi dovrebbero essere dichiarati in [partizione di classe](#page-core-concepts.class-divisions) nella classe. È possibile andare oltre due lezioni/due gruppi, ma questo caso resta più teorico che effettivamente incontrato nella vita reale. #### 4. Compresenza Due o più professori che tengono **la stessa lezione**, nella **stessa aula**, **simultaneamente**. Casi tipici: - supervisione rafforzata (titolare + assistente), - *visiting professor* in coppia con il titolare per alcune lezioni, - modulo multidisciplinare (un medico + un informatico per «informatica per la salute»), - co-titolari per un intero semestre. **Creazione**: nello schermo di assegnazione dei professori al corso, selezioni **più docenti**. A ciascuno viene accreditata la lezione nelle sue statistiche e nel suo servizio orario. #### 5. Combinazioni Queste complessità si **combinano**. Esempi: - **Alternata + concatenata** — una lezione nella settimana A è un doppio blocco concatenato, nella settimana B è un altro doppio blocco. - **Alternata + in compresenza** — settimana A con il titolare, settimana B con il visiting professor (alternanza di docenti). - **Concatenata + associata** — alternanza tra mezze classi su una doppia fascia oraria (il caso più comune dei laboratori di scienze in mezze classi). In Francia si trova tipicamente un modo per dichiarare le mezze ore aggiuntive di francese e matematica risolvendo al tempo stesso il problema delle tre ore di sport (fare 1 ora in media tramite 2 ore una volta su due, oltre a 2 ore ogni settimana). | Settimana A | Settimana B | | --- | --- | | Francese | Sport | | Matematica | Sport | #### Casi fuori norma Se la Sua esigenza non rientra in nessuna di queste categorie, contatti il supporto Omniscol — è probabile che si possa modellizzarla, ma può richiedere un po' di aiuto per individuare l'approccio migliore. #### Procedura — Creare un laboratorio in mezze classi associate 1. **Il caso archetipico**: un laboratorio di scienze su due fasce, dove la mezza classe A fa biologia poi fisica mentre la mezza classe B fa fisica poi biologia. Concatenazione + associazione. 2. **Presupposto**: sulla classe interessata, dichiari le due mezze classi in **partizione di classe**, per esempio `(A, B)`. Veda [Partizioni di classe](#page-core-concepts.class-divisions). È questo che consente a Omniscol di considerarle esclusive e quindi scambiabili. 3. **Crei la prima lezione** (per esempio biologia per la mezza classe A) sulla prima fascia, nella vista distribuzione delle ore. Professori e aula di biologia. 4. **Trascini e rilasci la seconda lezione** (fisica per la mezza classe B) **direttamente sotto la prima** (una posizione compare al momento di rilasciare la lezione, che si ritrova accostata). 5. **Passi il cursore sul confine** tra le due lezioni concatenate: compare un pulsante di Associazione di lezioni. Lo clicchi. Designi i due gruppi (`A` e `B`) che devono alternarsi. Omniscol crea automaticamente la **rotazione**: fascia 1 → A in biologia + B in fisica; fascia 2 → A in fisica + B in biologia. Due professori simultanei, due aule, due mezze classi che ruotano, quattro lezioni in tutto. 6. **Per regolare**: un pulsante forbici tra le due lezioni concatenate separa l'associazione. Può anche combinare con **alternanza A/B** (laboratorio diverso nella settimana A vs B) o **compresenza** (due professori sulla stessa lezione). Veda [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) per il contesto completo. #### Vedi anche - [Lezioni alternate](#page-glossary.alternate-lessons) - [Lezioni concatenate](#page-glossary.concatenated-lessons) - [Lezioni associate](#page-glossary.associated-lessons) - [Co-docenza](#page-glossary.co-teaching) - [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) ### 2.10 Campus, siti, aule, risorse, più aule *Source: `help/it/core-concepts/sites-rooms-resources.md` · id: core-concepts.sites-rooms-resources · Updated: 2026-06-13* Questa pagina riunisce la modellazione **organizzativa e fisica** di un istituto in Omniscol: quali campus strutturano le classi, dove si svolgono le lezioni, in quali aule, con quali attrezzature mobili. > _Premium_ #### Campus — la maglia organizzativa Un [campus](#page-glossary.campus) permette di distinguere più sedi, facoltà o poli all'interno di uno stesso account. È una nozione di organizzazione interna: serve a raggruppare le classi secondo la struttura dell'istituto e a facilitare determinati filtraggi. Questa nozione è **facoltativa**. Diventa utile soprattutto quando la nozione di sito non coincide bene con l'organizzazione logica dell'istituto, oppure quando vuole tenere entrambe in parallelo. Il campus è trasversale al sito. Un sito descrive piuttosto una realtà geografica o fisica: luogo, griglia oraria, aule, tempi di percorrenza. Le due nozioni non si sovrappongono necessariamente. È proprio in questo caso che diventano più utili. Per esempio: - una facoltà può utilizzare più siti ; - un sito fisico può ospitare più campus o poli ; - più facoltà possono condividere gli stessi edifici ; - più scuole di un gruppo possono condividere più siti in modo incrociato ; - un campus può servire soprattutto come filtro di analisi, senza modificare i tempi di percorrenza. Anche se campus e sito si sovrappongono quasi completamente, tenere entrambi può restare utile per i filtri, i raggruppamenti e alcune analisi. I campus si creano nei [parametri generali](#page-admin.parameters), sotto i livelli di classe. Possono poi essere indicati sulle classi. La diagnostica dei conflitti può servirsene per filtrare gli avvisi per perimetro organizzativo. #### Siti — la maglia geografica Ogni [sito](#page-glossary.site) rappresenta un luogo fisico o geografico distinto. È obbligatorio almeno un sito. Se tutte le sue lezioni si svolgono nello stesso posto, crei un solo sito. Se il suo istituto è multi-sito con docenti o studenti che si spostano, crei tutti i siti necessari **e indichi i tempi di percorrenza** tra di essi. Ogni sito ha la propria **griglia oraria** (orari di inizio/fine delle fasce orarie, pause, pausa pranzo, chiusure) — i siti possono avere griglie diverse (per esempio un edificio principale e una sede distaccata con altri orari). Il multi-sito è una pratica comune nell'**istruzione superiore** (campus multipli, sedi distaccate sul territorio), ma anche nell'**istruzione scolastica** (scuola secondaria di primo grado + secondaria di secondo grado nello stesso complesso scolastico con edifici separati, scuola con annesso dell'infanzia, ecc.). > Il multi-sito non è incluso nel piano **Lite**. È disponibile a partire > dal piano Standard. #### Multi-sito: politica e tempi di percorrenza Caso tipico: un professore termina una lezione sul sito A alle 10:00, deve trovarsi sul sito B alle 10:30, e il tragitto richiede 15 minuti. Su una griglia oraria con una pausa tra le lezioni di 30 minuti, va bene. Con una pausa di soli 10 minuti, non ci sta. ##### Indicare i tempi di percorrenza Sulla schermata **Siti** del modulo Gestione degli orari, il pulsante Distanza tra i siti apre un popup che presenta i tempi di percorrenza sotto forma di **semi-matrice triangolare**: N siti = N×(N−1)/2 caselle da compilare (nessuna diagonale, nessun duplicato — la matrice è simmetrica). Inserisca le durate in minuti per ogni coppia, confermi con Salvare. Senza questo inserimento, il risolutore considera che non sia necessario alcun tragitto tra i siti — potrà teletrasportare i professori, il che ovviamente non funziona nella pratica. ##### Politica professori: cambio di sito automatico Un **professore** può cambiare sito automaticamente da una lezione alla successiva — è l'algoritmo a gestirlo. Non deve dichiarare nulla lato professore: è sufficiente che i tempi di percorrenza tra i siti siano indicati. ##### Politica classi: sito predefinito + forzatura manuale Una **classe** è collegata per impostazione predefinita a un sito (il suo sito di iscrizione). Tutte le sue lezioni si svolgono per impostazione predefinita su questo sito. Ma può **collegare manualmente un'aula di un altro sito** a una lezione della classe — per esempio «lezione di educazione fisica nella palestra dell'annesso». In questo caso: - l'**aula preassegnata** è mantenuta dall'algoritmo (non cerca di sostituirla con un'aula del sito predefinito) ; - il risolutore calcola i **tempi di percorrenza** rispetto alle lezioni che precedono o seguono (a seconda del loro sito: per impostazione predefinita il sito della classe, altrimenti il sito dell'aula imposta su queste lezioni). Se **nessuna aula è indicata** su una lezione, l'algoritmo sceglie un'aula del **sito della classe**. È il valore predefinito. ##### Vincolo bloccante, al minuto Il vincolo tra siti è **bloccante** nell'algoritmo di generazione automatica. Se manca anche un solo minuto tra la fine di una lezione su un sito e l'inizio di una lezione su un altro sito, il posizionamento è **rifiutato** — nessun rilassamento automatico. Verifica precisa sulla **griglia oraria effettiva**: se due fasce orarie si susseguono con 15 minuti di intervallo e servono 10 minuti di tragitto, va bene; se servono 16 minuti di tragitto, non va bene. ##### Pausa pranzo su cambio di sito Quando un cambio di sito cade sulla pausa pranzo, il tempo di percorrenza è **sottratto dal tempo di pranzo reale** disponibile. L'algoritmo tiene conto di una durata minima di pranzo per i professori e per gli studenti (calibrata lato sito); se il tragitto riduce questo tempo al di sotto del minimo, il posizionamento è rifiutato. Conseguenza pratica: dichiarare correttamente i tempi di percorrenza e le durate del pranzo per sito evita gli orari teoricamente validi ma impossibili da rispettare fisicamente. ##### Conseguenza sulla diagnostica Se vede «impossibile» su posizionamenti multi-sito, verifichi in via prioritaria: - i **tempi di percorrenza** dichiarati (non teletrasportati, né sovrastimati in modo ridicolo), - le **pause tra le lezioni** sulla griglia oraria, - l'eventuale **pausa pranzo** sulla fascia oraria interessata, - le **aule preassegnate**: se una classe ha un'aula imposta su un altro sito, è questa a fissare il vincolo. In posizionamento manuale, il vincolo appare in arancione e può sempre forzare. Ma a meno che le lezioni non siano bloccate, avviare l'algoritmo di generazione automatica a posteriori avrà come conseguenza lo spostamento della o delle lezioni per risolvere questo conflitto. ##### Caso d'uso: attività esterne Al di là dei campus permanenti, il meccanismo multi-sito copre naturalmente le **attività esterne ricorrenti**: - **visita di un hotel o di un ristorante** per una scuola alberghiera / di ristorazione ; - **visita di un museo** o di un laboratorio artigianale per una scuola d'arte o di design ; - **uscita in azienda** ricorrente (visite alternate) ; - **tirocinio sul campo** su un sito esterno (cantiere, azienda agricola, laboratorio partner). Crei un sito dedicato per ogni luogo esterno ricorrente, con il suo tempo di percorrenza dal suo sito principale. Il vincolo bloccante si applica normalmente: se lo spostamento non rientra nel tempo disponibile tra due lezioni, il posizionamento è rifiutato. ##### Per approfondire: istruzione superiore Il multi-sito è particolarmente comune nell'istruzione superiore (campus multipli, sedi distaccate sul territorio, docenti che si spostano). Casi specifici (un orario per sito grazie agli orari attivi multipli — inclusi in Premium —, siti virtuali per la videoconferenza, ecc.) in [Multi-sito nell'istruzione superiore](#page-higher-ed.multi-site). #### Aule — i locali Le [aule](#page-glossary.classroom) sono collegate a un sito, che ne porta la realtà fisica: luogo, griglia oraria, tempi di percorrenza. Un'aula porta: - un **nome**, - una **capacità** (numero di studenti; campo critico per il risolutore), - eventualmente una **[specializzazione](#page-glossary.classroom-specialization)** (etichetta libera: chimica, informatica, sport…), - eventualmente un **numero massimo di classi simultanee**, per le **[aule grandi](#page-glossary.large-room)** in grado di ospitare più lezioni in parallelo (aula d'esame, palestra, piscina, spazio esterno); questo campo appare solo dopo aver impostato una specializzazione, - eventualmente dei **tag** o commenti liberi, - eventualmente un **edificio**, - eventualmente degli **orari di apertura** specifici. ##### Più aule: una lezione in più aule Omniscol **supporta** l'assegnazione di più aule a una stessa lezione. Casi d'uso: - **Esami in aule magne sdoppiate** — un esame di 200 candidati distribuito in tre aule magne (capacità 70 + 60 + 80) con un solo docente responsabile. La capacità totale è calcolata come la **somma** delle aule assegnate. - **Lezione magistrale ritrasmessa** — una lezione magistrale in un'aula magna principale, ritrasmessa in videoconferenza in un'aula satellite (su un altro sito, o addirittura in una classe interamente a distanza). - **Esercitazioni sdoppiate** — un'esercitazione di 30 studenti distribuita in due aule vicine (15 + 15) con lo stesso professore che si sposta. Limitazione: se la somma delle capacità resta **inferiore** al numero di iscritti del gruppo, Omniscol mostra un conflitto. Spetta all'amministratore decidere come risolverlo (aggiungendo un'aula, riducendo il gruppo, oppure accettando il conflitto se è deliberato — per esempio, quando si sa che non tutti gli iscritti si presenteranno). ##### Specializzazioni delle aule Le **[specializzazioni](#page-glossary.classroom-specialization)** (chimica, informatica, sport, palestra, multimedia, aula per compiti in classe) sono etichette **libere** facoltative definite dall'istituto. Lei crea le specializzazioni che corrispondono alla sua nomenclatura, per distinguere determinate aule dedicate a lezioni specifiche (una palestra per lo sport, una piscina per il nuoto, un laboratorio per un'esercitazione di chimica, ecc.). Il risolutore rispetta rigorosamente le specializzazioni: se una materia richiede «chimica», saranno utilizzate solo le aule che portano esattamente questa specializzazione. Ogni aula porta **al massimo una specializzazione**. Per un'aula polivalente tra due usi specializzati, utilizzi un'etichetta comprensiva (per esempio «informatica-multimedia») e associ questa stessa etichetta alle materie interessate. Vedere [Specializzazioni delle aule](#page-core-concepts.classroom-specializations). ##### Aula dedicata a una classe Molte configurazioni della scuola primaria/secondaria associano un'aula a ogni classe (le lezioni vi si svolgono per impostazione predefinita, si spostano solo i professori). È configurabile sulla classe — il motore dà allora priorità a questa aula per le lezioni della classe (con una priorità superiore a quella dell'aula preferita del professore, se è definita). ##### Aule in due siti virtuali Se ha due siti virtuali per un unico luogo fisico (tipico di una scuola secondaria di primo grado + secondaria di secondo grado che condividono i locali), un'aula può appartenere a un solo sito alla volta. Per renderla utilizzabile in entrambi i contesti, la duplichi nei due siti e indichi orari di apertura esclusivi («libera al mattino per la secondaria di primo grado, al pomeriggio per la secondaria di secondo grado») per evitare le doppie assegnazioni. #### Risorse — le attrezzature mobili Una [risorsa](#page-glossary.resource) è un'attrezzatura **mobile** non collegata a un'aula particolare: tre videoproiettori portatili, una valigetta di tablet, un kit di microfoni, ecc. Ogni risorsa porta: - un **nome**, - una **quantità disponibile** (la valigetta conta per 1, non per 30 — inserisca il numero di valigette, non di singoli tablet). Il risolutore garantisce che, in una stessa fascia oraria, il numero di lezioni che richiedono la risorsa non superi la quantità disponibile. È inutile modellare le risorse di cui si ha «sempre abbastanza» — lo faccia solo per i veri limiti condivisi. #### Caso particolare — videoconferenza e link per corso Il formato di una lezione — in presenza, a distanza, ibrido o in autonomia — è portato dalla sua **[modalità](#page-glossary.lesson-modality)** (Premium): è essa a determinare se la lezione impegna un'aula fisica. Per un corso a distanza o ibrido, può collegare un **link di videoconferenza** al corso (Zoom, Teams, Meet…). Vedere [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links). È più preciso rispetto al link di videoconferenza sulla classe, che è un link generale predefinito su tutte le sue lezioni. #### Vedi anche - [Specializzazione dell'aula](#page-core-concepts.classroom-specializations) - [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - [Esami in più aule nell'istruzione superiore](#page-higher-ed.multi-room-exams) - [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links) - [Modalità](#page-glossary.lesson-modality) ### 2.11 Griglia oraria, fasce orarie e durate *Source: `help/it/core-concepts/timetable-grid.md` · id: core-concepts.timetable-grid · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-07-10* La **griglia oraria** descrive le fasce orarie di un sito: orari di inizio, orari di fine, pause, pausa pranzo e chiusure. Serve al tempo stesso alla visualizzazione, al controllo delle disponibilità e alla generazione automatica. #### Archiviazione standard: la fascia oraria, non l'orario scritto Per impostazione predefinita, una lezione posizionata è collegata a una **fascia della griglia**. Omniscol conserva la posizione nella griglia, poi ricalcola gli orari visualizzati a partire dalla griglia del sito. Conseguenza utile: se la campanella d'inizio passa un giorno da `08:15` a `08:10`, le lezioni collocate su quella fascia seguono la nuova griglia senza dover modificare ogni lezione una per una. #### Modalità di visualizzazione della griglia La **modalità di visualizzazione** determina la presentazione della colonna degli orari, senza modificare in alcun modo il posizionamento delle lezioni: - **Orari delle lezioni** — ogni riga riporta l'orario reale della fascia (8:15 – 9:10, 9:15 – 10:15…), come definito dalla griglia del sito. - **Periodi** — ogni riga riporta un numero di periodo (P0, P1, P2…), convenzione diffusa negli istituti anglosassoni. - **Calendario** — visualizzazione a calendario su ore tonde (8:00, 9:00, 10:00…), indipendente dalla griglia: ogni lezione si colloca al suo orario reale su uno sfondo orario continuo. #### Durata unitaria della lezione La **durata unitaria della lezione** è la durata di riferimento di una fascia oraria. Può includere l'intervallo tra le lezioni se l'istituto lo conteggia così. Esempi: - lezioni di 55 minuti con 5 minuti di intervallo tra loro: durata unitaria di `60` minuti; - lezioni regolari di 1 ora e mezza: durata unitaria di `90` minuti; - lezioni prevalentemente di un'ora, con qualche lezione di 1 ora e mezza: durata unitaria di `60` minuti e frazionamento adeguato. Questa durata serve ai volumi orari configurati e alla generazione. Gli orari reali di inizio e di fine possono variare nella griglia: una ricreazione può far sì che una fascia visualizzata duri 55 minuti pur restando collegata a una durata di riferimento di 60 minuti. Nell'interfaccia, questa impostazione si chiama Durata della fascia oraria e si definisce sulla scheda **Generale** della modifica dell'orario (vedere [Parametri generali](#page-timetables.general-settings)). Le durate tipiche, in ordine di popolarità, sono: 60, 45, 50, 120, 90, 30, 180. A volte, negli istituti di istruzione superiore, le lezioni durano sempre più ore, ma possono iniziare in modo variabile alle 8:00 o alle 9:00, oppure possono durare 6 o talvolta 5 ore. In questo caso prevale il massimo comune divisore, e sarà generalmente una durata unitaria di 60 minuti. #### Frazionamento Il **frazionamento** indica in quante sottoparti la durata unitaria può essere suddivisa. È il passo orario minimo. Ecco alcuni esempi: - `1`: soltanto lezioni di una durata unitaria completa; - `1/2`: passo di 30 minuti se la durata unitaria è 60 minuti; - `1/4`: passo di 15 minuti se la durata unitaria è 60 minuti. Scelga la granularità più semplice che copre le esigenze reali. Un frazionamento più fine consente maggiore flessibilità, ma aumenta il numero di possibilità da testare durante la generazione. Nell'interfaccia, questa impostazione si regola sulla scheda **Generale** tramite Frazionamento della fascia oraria. Nella maggior parte dei sistemi scolastici del mondo non esiste alcuna suddivisione della griglia oraria. In Francia è generalmente 1/2 nella scuola secondaria (alcune lezioni durano 1 ora e mezza). In alcuni enti di formazione, si può scendere fino a 10 minuti di precisione: è quindi una durata unitaria di 60 minuti ma con un frazionamento 1/6. #### Posizione e durata: un'archiviazione in passi orari Una lezione non è registrata con orari « fissi » ma come un **numero di passi orari** sulla griglia. Il **passo** è la durata unitaria divisa per il frazionamento: una durata unitaria di 60 minuti con un frazionamento 1/2 dà un passo di 30 minuti. Una lezione di 1 ora occupa allora 2 passi, una lezione di 1 ora e mezza ne occupa 3. Tre nozioni coesistono, senza confondersi: - la **durata di riferimento** (la durata unitaria) serve a conteggiare i volumi orari e a **visualizzare la durata** di una lezione; - gli **orari reali** visualizzati (inizio e fine) provengono dalla **griglia del sito**, fascia per fascia; - l'**archiviazione** avviene in **passi orari**, alla finezza del frazionamento. Ecco perché una stessa fascia può visualizzare 8:15 – 9:10 (orari reali) pur contando come 1 ora (durata di riferimento). #### Divieti globali di fasce orarie Alcune fasce devono restare **vietate per tutto l'istituto**: mercoledì pomeriggio, fascia di riunione, intervallo riservato. Questi divieti si impostano **direttamente sulla griglia del sito**, contrassegnando la fascia come **non disponibile**: nessuna lezione vi sarà collocata, né nella visualizzazione né nella generazione. È un **vincolo orario portato dalla griglia**. Lo stesso meccanismo consente anche, sugli account Premium, vincoli morbidi (fasce da evitare senza chiuderle). Vedere [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints). #### Pausa pranzo e slittamenti La pausa pranzo si descrive con un **intervallo** (per esempio 12:00 – 14:00) e una **durata** di pranzo da preservare. Quando la durata da preservare è **più breve** dell'intervallo, Omniscol autorizza una lezione **su una parte** della pausa, purché la durata di pranzo resti possibile — prima o dopo la lezione intercalata. È molto frequente che la pausa pranzo duri due ore, pur essendo consentito posizionare una lezione di un'ora, generalmente opzioni in cui non tutta la classe è presente, oppure corsi trasversali in cui è complesso sincronizzare più classi. Le parti della classe che non hanno lezione non sono considerate in studio assistito (per l'algoritmo, non è un buco). La pausa pranzo è anche l'unico caso in cui una fascia irregolare è trattata come un insieme di passi orari differenti. Con un passo orario di 30 minuti, una durata unitaria della lezione di 1 ora e un intervallo di pausa dalle 12:00 alle 13:30, il software considera che si tratti di 3 × 30 minuti. Si può dichiarare o un'unica fascia di 1 ora e mezza, o 1 ora + 30 minuti, o 30 minuti + 1 ora, non importa. In questo caso, le lezioni del pomeriggio sono slittate di mezz'ora. Se si dichiara allora una durata di pranzo di mezz'ora minima, ciò lascia la possibilità di collocare una lezione di un'ora sulla pausa, lasciando gli studenti interessati pranzare prima o dopo la lezione. Si può anche indicare che la **mensa apre appena prima** della pausa ufficiale: un « buco » su questa fascia non conta allora come tempo perso per gli studenti. L'importante è modellare la regola voluta: fasce aperte, fasce chiuse, pausa pranzo flessibile, disponibilità o indisponibilità. La griglia deve riflettere ciò che l'istituto accetta realmente. ##### Scaglionare i pasti per livello per alleggerire la mensa Quando la mensa non può accogliere tutto l'istituto in una volta, si distribuiscono i livelli su **due turni** successivi. La griglia porta **una sola** pausa pranzo comune; lo slittamento si regola poi **classe per classe** con i vincoli orari. 1. Sulla griglia del sito, dichiari la pausa pranzo su **tutto** l'intervallo — per esempio **12:00 – 14:00** — con una **durata di pranzo da preservare di un'ora**. Presa da sola, ogni classe potrebbe allora pranzare o su 12:00 – 13:00, o su 13:00 – 14:00. 2. Per **fissare** il turno di ogni livello, apra i vincoli orari della classe (Vincoli orari della classe) e dipinga in **Indisponibile** (nero) la mezza fascia riservata al suo pasto. Il solver non colloca alcuna lezione lì: quel momento è garantito per il pranzo, e le lezioni della classe si spostano sull'altra mezza fascia. Per due turni: - **Livelli inferiori** — non disponibili su **12:00 – 13:00**: pranzano nel primo turno, le loro lezioni si collocano su 13:00 – 14:00. - **Livelli superiori** — non disponibili su **13:00 – 14:00**: pranzano nel secondo turno, le loro lezioni si collocano su 12:00 – 13:00. La mensa riceve così due flussi distinti invece di uno solo. Lo stesso principio copre tre turni o più: allarghi l'intervallo di mezzogiorno, poi dipinga per ogni livello la mezza fascia di pasto che gli spetta. L'editor dei vincoli è descritto in [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints). > _Premium_ #### Orari personalizzati su una lezione Una lezione può ricevere un **orario personalizzato**: inizio e fine precisi, che non corrispondono necessariamente ai limiti esatti di una fascia. Questo caso esiste in tutti i tipi di orario. La lezione si visualizza fuori griglia, con i suoi orari reali: può iniziare o terminare al di fuori dei limiti della fascia visualizzata. Omniscol utilizza questi orari personalizzati per calcolarne la sovrapposizione reale. Ogni entità assegnata alla lezione — professore, aula, classe, gruppo o risorsa — è considerata occupata non appena l'orario personalizzato intacca una fascia. Per la generazione automatica, una lezione con orario personalizzato è trattata come non spostabile: la sua posizione è bloccata automaticamente. > _Premium_ #### Classe fuori griglia La **classe fuori griglia** è un altro caso: le lezioni della classe sono archiviate con orari precisi, indipendentemente dalla griglia del sito. Questa funzione riguarda solo gli orari di tipo calendario. Serve soprattutto alle formazioni continue o ai programmi molto flessibili che condividono i locali e i professori con la formazione iniziale, senza seguire la stessa griglia oraria. L'istituto sceglie allora un passo orario predefinito, per esempio il quarto d'ora, e le lezioni sono archiviate con i loro orari di inizio e di fine. > _Premium_ #### Durate personalizzate Una lezione può anche riportare **durate personalizzate**: - **Durata calcolata**: durata dedotta dagli orari personalizzati della lezione; - **Durata reale**: durata utilizzata in via prioritaria nelle dashboard; - **Durata contabilizzata**: durata utilizzata per la fatturazione o la busta paga del professore. Esempio: un esame occupa un'aula dalle `08:30` alle `11:30` perché occorre preparare l'aula prima e liberarla dopo. La dashboard può conteggiare solo 2 ore di esame come durata reale, mentre la durata contabilizzata del professore sorvegliante può essere più elevata se l'istituto vi integra una compensazione per la correzione. #### Vedi anche - [Parametri generali](#page-timetables.general-settings) - [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - [Lezioni fuori griglia](#page-timetables.off-grid-lessons) ### 2.12 Specializzazioni delle aule *Source: `help/it/core-concepts/classroom-specializations.md` · id: core-concepts.classroom-specializations · Updated: 2026-06-13* Non tutte le aule sono uguali: un laboratorio di chimica non può accogliere una lezione di educazione fisica, un'aula informatica ha senso solo per le materie che utilizzano le sue postazioni, una palestra è riservata allo sport. La **specializzazione dell'aula** in Omniscol consente di dichiarare queste affinità affinché la generazione automatica e le diagnosi rispettino i vincoli fisici. #### Come funziona: un'etichetta condivisa tra aule e materie La specializzazione si basa su un'**etichetta libera**, definita dall'istituto secondo la propria nomenclatura, che collega due dichiarazioni: - **Lato aula** — ogni aula porta **al massimo una specializzazione** («chimica», «informatica», «palestra»…). La maggior parte delle aule non ne ha alcuna. - **Lato materia** — una materia assegnata a una classe può richiedere un'aula specializzata tramite il suo campo Aula speciale. Il valore deve corrispondere **esattamente** all'etichetta portata da almeno un'aula. Il collegamento è rigido in entrambi i sensi: una materia che richiede «chimica» viene collocata solo in un'aula che porta questa etichetta, e un'aula specializzata è **riservata** alle materie che chiedono la sua etichetta — non viene utilizzata per le lezioni ordinarie. La **capacità** dell'aula resta una verifica distinta: qualunque sia la specializzazione, l'effettivo previsto deve entrare nell'aula. #### Effetto sulla generazione Durante la generazione automatica, l'algoritmo considera, per ogni corso, solo le aule **compatibili**: etichetta di specializzazione richiesta dalla materia (ove applicabile) e capacità sufficiente per l'effettivo. Se nessuna aula compatibile è disponibile, la generazione lo segnala e la diagnosi identifica la materia, la classe e la specializzazione coinvolte. Spetta a Lei decidere: aggiungere l'etichetta a un'altra aula, rimuovere il requisito portato dalla materia, o rivedere gli effettivi. #### Aule polivalenti Un'aula porta una sola etichetta di specializzazione. Per un'aula che deve servire due usi specializzati — ad esempio l'informatica e il multimedia — crei un'etichetta onnicomprensiva («informatica-multimedia») e indichi questa stessa etichetta su tutte le materie coinvolte. #### Aule generiche Le aule **generiche** (senza specializzazione) accolgono tutte le materie che non richiedono un'aula specializzata. È il caso più comune; aggiunga una specializzazione solo quando vuole restringere. #### Aula grande: più lezioni contemporaneamente Un'aula specializzata accoglie normalmente **una lezione alla volta**. Può trasformarla in un'**[aula grande](#page-glossary.large-room)** indicando il suo **numero massimo di classi simultanee**: accoglie allora più lezioni diverse in parallelo (professori e gruppi distinti), fintanto che la somma degli effettivi rientra nella sua capacità. È il caso di un'aula d'esame, di una palestra, di una piscina o di uno spazio esterno. Questa impostazione appare **solo dopo** aver assegnato una specializzazione all'aula. #### Buone pratiche - **Parta in modo ampio** — al momento della configurazione iniziale, non metta troppi vincoli, rischia di bloccare la generazione. - **Affini dopo la prima diagnosi** — quando vede il risultato della generazione, individua i casi in cui una specializzazione mancante avrebbe evitato un cattivo posizionamento. - **Documenti lato squadra** — i professori e gli addetti alle aule devono capire perché una determinata aula è ristretta; altrimenti la aggirano a mano. #### Procedura — Configurare un laboratorio di scienze 1. **Configuri un'aula specializzata** (laboratorio di scienze, aula informatica, palestra) affinché la generazione automatica non sbagli. 2. **Apra l'aula** nella schermata Siti / Aule / Risorse dell'orario. Indichi la sua **specializzazione**: scelga un'etichetta esistente o la crei (ad esempio `scienze`). Un'aula porta una sola etichetta. 3. **Capacità**: numero di posti. La generazione verifica che l'effettivo del gruppo assegnato resti ≤ capacità. ⚠ Sia realistico — troppo rigido blocca la generazione, troppo ampio porta a sovraprenotazioni. 4. **Lato materia**: sulla o sulle materie interessate di ciascuna classe (Scienze della vita e della terra, Biologia…), indichi il campo Aula speciale con la stessa etichetta `scienze`. La corrispondenza deve essere esatta — è essa che riserva l'aula a queste materie. 5. **Parta in modo ampio** alla configurazione iniziale — meno vincoli = meno rischio di bloccare la generazione. **Affinerà dopo la prima diagnosi** quando vedrà i casi in cui una specializzazione mancante avrebbe evitato un cattivo posizionamento. 6. **Per un'aula non ristretta** (generica), non indichi alcuna specializzazione: l'aula accoglie allora tutte le materie senza requisiti particolari. È l'impostazione predefinita più semplice — aggiunga la specializzazione solo quando vuole restringere. #### Vedi anche - [Specializzazione dell'aula](#page-glossary.classroom-specialization) - [Aula grande](#page-glossary.large-room) - [Siti, aule, risorse, multi-aula](#page-core-concepts.sites-rooms-resources) - [Gestire le materie](#page-admin.subjects) ### 2.13 Disponibilità e vincoli orari dei professori *Source: `help/it/core-concepts/wishes-and-availability.md` · id: core-concepts.wishes-and-availability · Updated: 2026-06-21* Le **disponibilità** di un professore indicano al software le fasce orarie che sono **impossibili**, **indesiderate** o **preferite** per lui. L'algoritmo di generazione rispetta rigorosamente le impossibilità e tenta di ottimizzare le altre preferenze. Nella scuola secondaria si parla anche di **desiderata** — è lo stesso concetto. #### Quattro livelli | Colore | Significato | Effetto | | --- | --- | --- | | **Nero** | Impossibile | Vincolo rigido: l'algoritmo non colloca mai una lezione lì | | **Rosso** | Indesiderato | Vincolo morbido: l'algoritmo evita se possibile | | **Verde** | Preferito | L'algoritmo favorisce questa fascia se ve ne sono diverse valide | Un intervallo non contrassegnato è **neutro** — disponibile senza preferenza. #### Attivare l'inserimento delle disponibilità La modalità di inserimento si sceglie nei [parametri generali](#page-admin.parameters), sull'impostazione Disponibilità dei professori: - **Disattivato** — nessun inserimento di disponibilità da parte dei professori. - **Settimanale** — disponibilità inserite su una settimana tipo. Per gli orari settimanali e ciclici. - **Calendario** — disponibilità inserite data per data. Per gli orari a calendario, sugli account Premium. - **Calendario + Settimanale** — i due inserimenti coesistono, sugli account Premium, quando orari ricorrenti e a calendario convivono, oppure semplicemente per lasciare una possibilità più semplice ai professori di indicare che non sono mai disponibili un certo giorno della settimana, indipendentemente dalla data (è comunque possibile indicare delle eccezioni). #### Inserimento da parte del professore stesso I professori possono inserire le proprie disponibilità dal loro account [heart]. Notevole risparmio di tempo per l'amministrazione. Se la scuola non desidera che il professore acceda, è anche possibile **inviargli un link di condivisione** diretto alla sua schermata delle disponibilità, in modalità di modifica, generato da Scarica con data di scadenza. Il professore inserisce le proprie disponibilità senza nemmeno avere l'autorizzazione ad accedere al proprio account. In pratica, questo link viene spesso inviato in un messaggio personalizzato con le materie previste, il volume orario, gli spostamenti o i vincoli particolari, e una scadenza esplicita. Omniscol non effettua una stampa unione dedicata per questo caso: ogni link si inserisce nella comunicazione già preparata per il professore corrispondente. #### Convalida amministrativa nell'orario In un orario settimanale: - Le disponibilità inserite dal professore sono per impostazione predefinita in **attesa di convalida**. - Il pianificatore verifica e **convalida** (potenzialmente dopo modifica — per esempio eliminando una disponibilità troppo vincolante, o cambiando il nero in rosso). - Ogni modifica successiva del professore torna in attesa. Nella scuola secondaria, le disponibilità possono essere aperte diverse settimane prima della pianificazione. Di fatto, si inseriscono su una griglia oraria generica, e la fase di convalida adatta alla vera griglia oraria delle lezioni dell'orario: la fase di convalida serve anche ad adattare correttamente questa traslazione. Le disponibilità dei professori virtuali sono registrate direttamente. Ciò permette, per esempio, di concedere per impostazione predefinita il mercoledì. In modalità calendario ([Premium](#page-overview.plans-and-options)): - Le disponibilità sono **consolidate in tempo reale**. - I conflitti sono rilevati direttamente. Infatti, si considera che in modalità calendario vi siano meno vincoli sulla griglia (poiché esiste una moltitudine di date), e i professori sono autonomi, se non addirittura esterni alla scuola, con più incarichi e responsabilità: non è un desiderata ma una disponibilità reale. In via eccezionale, i dati delle disponibilità dei professori in modalità calendario sono quindi modificabili sia dalla schermata del modulo di amministrazione sia da un orario. #### Conflitto di disponibilità alla generazione Se le disponibilità di un professore sono **troppo restrittive** per consentire di posizionare le sue lezioni, la generazione fallisce con una diagnostica esplicita. Vedere [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). Soluzioni: - Rendere più flessibili le disponibilità (passare un intervallo in rosso anziché nero). - Ridistribuire le lezioni (un professore con 18 ore e solo 12 fasce libere non può farcela). - Assumere (caso estremo — ma a volte è la diagnosi giusta). #### Procedura — Raccogliere e convalidare le disponibilità dei professori 1. **Le disponibilità** indicano all'algoritmo di generazione quali fasce sono **impossibili** (nero — vincolo rigido), **indesiderate** (rosso — morbido) o **preferite** (verde). L'algoritmo rispetta rigorosamente il nero e ottimizza le altre. 2. **Attivi la modalità di inserimento** nei parametri generali (impostazione Disponibilità dei professori): **disattivato**, **settimanale** (disponibilità su settimana tipo, modalità classica), o **calendario** (sugli account Premium, disponibilità data per data — cumulabile con la settimanale). Scelga in base al Suo tipo di orario. 3. **Apra l'inserimento** ai professori. Due opzioni: - accedono e inseriscono dai loro account [heart]; - genera un **link di condivisione diretto** tramite Scarica con data di scadenza — senza bisogno che il professore acceda al proprio account — e lo invia a ciascuna persona interessata. 4. **Lato professore**: accede o clicca sul link, vede la sua griglia, contrassegna le fasce in nero (impossibile), rosso (indesiderato), verde (preferito). Salvataggio immediato. Il gesto è rapido. 5. **Convalida lato amministratore (modalità settimanale)**: le disponibilità inserite arrivano in **attesa di convalida**. Verifichi poi convalidi — può modificare strada facendo. Ogni modifica successiva del professore torna in attesa. In modalità calendario, è consolidato in tempo reale. ⚠ Se un professore contrassegna troppo nero, l'algoritmo non saprà posizionare le sue lezioni — la diagnostica lo segnalerà (vedere [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation)). #### Vedi anche - [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints) - [Disponibilità dei professori (desiderata)](#page-glossary.wishes) - [Incompatibilità (tra materie)](#page-glossary.incompatibility) - [Risolutore](#page-glossary.solver) - [Disponibilità in modalità calendario](#page-timetables.calendar-wishes) ### 2.14 Vincoli orari: classi, materie, gruppi, aule e griglia *Source: `help/it/core-concepts/time-constraints.md` · id: core-concepts.time-constraints · Audience: admin · Updated: 2026-06-27* I **vincoli orari** indicano al risolutore le fasce orarie da **evitare** o da **privilegiare**. Lo stesso editor serve per le **disponibilità di un professore** e per i vincoli portati da una **classe**, una **materia**, un **gruppo**, un'**aula** o la **griglia** stessa. Ogni superficie espone solo i livelli che hanno un senso per essa. Per il dettaglio del caso professore (inserimento da parte del professore, link di condivisione, convalida), vedere [Disponibilità dei professori](#page-core-concepts.wishes-and-availability). #### I quattro livelli Una fascia oraria si colora con uno di questi livelli, individuati da un colore: | Colore | Livello | Effetto sulla generazione | | --- | --- | --- | | ⚫ **Nero** | Indisponibile | Vincolo rigido: il risolutore non colloca mai una lezione lì | | 🔴 **Rosso** | Indesiderato | Vincolo flessibile forte: il risolutore evita per quanto possibile | | 🟠 **Arancione** | Poco desiderato | Vincolo flessibile leggero: da evitare se il resto lo consente | | 🟢 **Verde** | Preferito | Preferenza positiva: il risolutore favorisce questa fascia oraria | Una fascia oraria non colorata è **neutra**. La [eraser] Gomma cancella un livello posto e ritorna al neutro. #### Chi porta quali livelli Non tutti danno accesso ai quattro livelli: - **Professore** — Indisponibile, Indesiderato, Preferito (nero, rosso, verde). Sono le sue **disponibilità**. - **Classe** (Vincoli orari della classe), **materia** ([clock]), **aula** (Disponibilità) — Indisponibile e Indesiderato (nero, rosso). Vi si descrivono le fasce orarie in cui non si vuole, o preferibilmente non si vuole, che la classe lavori / la materia sia collocata / l'aula sia utilizzata. - **Gruppo** (Disponibilità) — stessi livelli nero e rosso, funzione Premium (vedere più avanti). - **Griglia oraria** (il sito) — è la **sola** superficie che propone il livello **arancione** (Poco desiderato). Vedere qui sotto. L'accesso avviene ovunque tramite il **piccolo orologio** [clock] posto sull'entità (su ogni classe, ogni materia della classe, ogni aula…). L'orologio si **colora** quando dei vincoli sono già inseriti. #### Vincoli posti sulla griglia Sulla griglia di un sito, si colorano direttamente i **vincoli globali**, validi per **tutto l'istituto**: - colorare una fascia oraria in **nero** la **chiude** per tutti — è così che si vieta globalmente una fascia oraria (mercoledì pomeriggio, pausa, fascia di riunione…). > _Premium_ In Premium, la griglia accetta inoltre dei vincoli **flessibili**: **rosso** (Indesiderato) e **arancione** (Poco desiderato), per scoraggiare una fascia oraria senza chiuderla. Vedere [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) per la struttura della griglia (fasce orarie, durate, pause). #### L'editor dei vincoli L'editor è comune a tutte le entità e tutto si fa con un clic. **Scelga prima un livello** nella barra in alto (i livelli proposti dipendono dall'entità). Diventa il «pennello» attivo e si applica a ogni fascia oraria che tocca: - **Clicchi una cella** per colorare quella sola fascia oraria; **clicchi e poi trascini** su più celle per colorarle con un solo gesto. - **Clicchi l'intestazione di un giorno** per colorare **tutta la colonna** (l'intera giornata); **clicchi l'intestazione di un'ora** per colorare **tutta la riga** (quella fascia oraria su tutti i giorni). È il modo più rapido per coprire ampie fasce. - La [eraser] Gomma è un pennello come gli altri: la selezioni, poi clicchi o trascini per ritornare al neutro. ##### Settimana tipo e vista calendario Per un orario settimanale o ciclico, i vincoli si inseriscono su una **settimana tipo**. > _Premium_ Per un orario di tipo calendario (Premium), una barra di navigazione permette di passare da **settimane**, **mesi**, **tutto l'anno** a **settimana tipo**: si inseriscono vincoli datati e si può anche dichiarare un vincolo ricorrente sulla settimana tipo. Le [finestre di date](#page-timetables.date-windows) restringono inoltre i periodi in cui determinate lezioni possono essere pianificate. Sulla **settimana tipo**, ogni fascia oraria **consolida** i vincoli di tutte le date corrispondenti del periodo (tutti i lunedì delle 8:00, per esempio). Quando queste date divergono, la fascia oraria mostra una **banda di colori proporzionale** — la larghezza di ciascun colore riflette il numero di giorni interessati — e la sua **descrizione a comparsa** fornisce il conteggio per livello (quanti giorni non disponibili, indesiderati, ecc.). **Cliccare su questa fascia oraria forza il livello scelto su tutte queste date** in una volta: è il modo generico per decidere per l'intera giornata tipo. #### Opzioni complementari > _Premium_ Sotto l'editor, un vincolo di classe o di gruppo può portare dei **limiti** (Premium): - Numero massimo di ore di insegnamento in un giorno — nel formato `HH:MM` ; - Numero massimo di ore di insegnamento in una settimana — in modalità calendario. Il risolutore rispetta questi limiti come vincoli di ottimizzazione. Lato professore, un **commento** libero permette di comunicare un'osservazione sulle sue disponibilità (spostamenti, vincolo particolare). #### Ereditarietà tra livelli > _Premium_ Un **gruppo** eredita i vincoli della sua **classe** e dei suoi **gruppi genitori** (vedere [Gerarchia di gruppi](#page-core-concepts.group-hierarchy)). Quando occorre **autorizzare** localmente una fascia oraria nonostante un vincolo ereditato, il livello **Lezioni autorizzate** neutralizza il vincolo ereditato **senza modificare la fonte**. #### Effetto alla generazione I vincoli **neri** sono **bloccanti**: una lezione non sarà mai collocata su una fascia oraria indisponibile. I livelli rosso e arancione sono dei **malus** che il risolutore cerca di minimizzare; il verde è un **bonus**. Se i vincoli rendono una lezione impossibile da collocare, la generazione lo segnala — vedere [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). #### Vedi anche - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [Gerarchia di gruppi](#page-core-concepts.group-hierarchy) - [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) - [Finestre di date](#page-timetables.date-windows) - [Disponibilità dei professori (desiderata)](#page-glossary.wishes) ### 2.15 Anno scolastico, settimane alternate, vacanze *Source: `help/it/core-concepts/school-year.md` · id: core-concepts.school-year · Plan: standard · Updated: 2026-05-12* L'**anno scolastico** è il quadro temporale entro cui si svolgono gli orari. Pone tre domande strutturanti: quando inizia e finisce l'anno, quando sono le vacanze, e — se l'istituto utilizza settimane alternate — come la loro alternanza si allinea a questo calendario. Si parla anche di calendario accademico. #### Anno scolastico e limiti Un anno scolastico ha una **data di inizio** e una **data di fine**. Su questo intervallo, le settimane sono numerate. La pubblicazione di un orario si applica a un sottoinsieme o alla totalità di queste settimane. Un orario di tipo calendario può anche essere pubblicato su un periodo superiore all'anno scolastico (tipicamente un EMBA di 18 mesi), ma solo le date dichiarate sugli anni scolastici saranno prese in considerazione. Senza un anno scolastico attivo, Omniscol non attiva i moduli quotidiani (orario, dashboard, assenze) — è un prerequisito. Veda [Anno scolastico e vacanze](#page-admin.school-year). Gli anni scolastici non possono condividere date. Generalmente, un periodo di vacanze li separa, ma è del tutto possibile concatenarli. Alcuni istituti di formazione non sono soggetti a un ciclo accademico: l'anno scolastico è allora semplicemente l'anno solare, dal 1º gennaio al 31 dicembre. #### Vacanze Le **vacanze** sono intervalli di date **inattivi**: nessuna lezione, nessun evento, nessun conteggio. Due fonti: - **Vacanze comuni** — provenienti dal calendario ufficiale del paese (Ognissanti, Natale, inverno, primavera). Omniscol può proporgliene alcune a seconda del paese configurato, sta a lei fare la sua scelta di importazione. - **Vacanze specifiche** — proprie dell'istituto (giornata pedagogica, esami, ponte locale). Le aggiunge manualmente. I due tipi si cumulano indistintamente. Le vacanze, invece, sono globali a tutto l'istituto. Se ciò riguarda solo alcune classi, utilizzi un'assenza di classe, o un periodo di indisponibilità della classe (potenzialmente riutilizzabili per più classi, per esempio quelle che si trovano all'estero). #### Settimane alternate (A/B e oltre) Alcune scuole hanno corsi che si svolgono solo una settimana su due (o anche meno): educazione fisica in doppia lezione, ora di classe in alternanza, opzionali. Omniscol gestisce ciò tramite il **conteggio delle settimane**: le settimane dell'anno non sono etichettate, sono contate in continuo. Ogni corso, invece, ruota sul proprio ciclo — una settimana su due (A/B), una su tre (A/B/C), ecc. Uno stesso slot accoglie allora lezioni diverse a seconda del rango della settimana nel ciclo, per esempio una lezione nelle settimane dispari e un'altra nelle settimane pari, nello stesso giorno e alla stessa ora. Poiché il calcolo è dinamico, corsi in A/B e corsi in A/B/C possono coesistere in una stessa classe. L'**attivazione** delle settimane alternate e il **formato di visualizzazione** dell' alternanza (`A/B`, `1/2`…) si impostano nei [parametri generali](#page-admin.parameters). La schermata dell'[anno scolastico](#page-admin.school-year) serve poi a **forzare, sulla linea del tempo, i punti in cui il conteggio riparte dalla settimana A** — per esempio per riprendere in modo pulito dopo le vacanze; per restare leggibile, la linea del tempo visualizza l'alternanza solo in A/B. Per **dichiarare lezioni alternate** su uno slot, veda [Lezioni complesse](#page-core-concepts.complex-lessons). #### Più anni in parallelo Omniscol gestisce **più anni scolastici in parallelo** nello stesso account: per esempio l'anno corrente 2026-2027 e l'anno successivo 2027-2028 in preparazione. La nozione di **anno scolastico corrente** determina ciò che vedono gli utenti nel quotidiano; gli altri restano accessibili in gestione / consultazione amministrativa. #### Vedi anche - [Anno scolastico](#page-glossary.school-year) - [Lezioni alternate](#page-glossary.alternate-lessons) - [Anno scolastico e vacanze](#page-admin.school-year) - [Pubblicazione di un orario](#page-timetables.publication) - [Lezioni complesse](#page-core-concepts.complex-lessons) ### 2.16 Linea del tempo e navigazione temporale *Source: `help/it/core-concepts/timeline-navigation.md` · id: core-concepts.timeline-navigation · Updated: 2026-05-12* Tutte le schermate di Omniscol che mostrano un orario o delle statistiche riportano una **linea del tempo** (la « barra ») nella parte superiore della pagina. È con essa che si **naviga nel tempo**: scegliere l'anno scolastico, il periodo visualizzato e — su alcune schermate — passare da una vista settimanale a una vista mensile o annuale. Questa pagina illustra i principi comuni; ogni modulo ha le sue specificità, descritte nella pagina dedicata. #### Pulsanti della linea del tempo La linea del tempo presenta delle **frecce sinistra / destra** sui due lati opposti: - la **freccia sinistra** ← torna all'**anno scolastico precedente**, - la **freccia destra** → avanza all'**anno scolastico successivo** (l'anno scolastico successivo in preparazione, per esempio). L'anno (o il periodo) **attualmente visualizzato** è generalmente indicato in chiaro sopra la linea del tempo. #### La svista classica: la freccia destra > Il modulo **Gestione degli orari** mostra **per impostazione predefinita l'anno > scolastico corrente**. Quando un pianificatore prepara l'inizio dell'anno successivo, > deve **cliccare esplicitamente la freccia destra** della > linea del tempo per passare all'anno scolastico successivo prima di > poter distribuire le ore / pubblicare il proprio orario su di esso. Su questa specifica > schermata è anche possibile navigare da un anno all'altro cliccando > sull'anno scolastico. Quello corrente è in verde, il successivo in arancione. #### Viste temporali secondo il modulo Non tutti i moduli espongono le stesse granularità: | Modulo | Vista predefinita | Altre viste | | --- | --- | --- | | **Orario** | Settimana | Giorno, mese | | **Dashboard** | Settimana | Mese, anno, intervallo libero da data a data | | **Gestione delle assenze** | Settimana | Mese, anno, intervallo libero da data a data | | **Servizio del personale** | Settimana | Giorno | | **Gestione degli orari** | Intero anno scolastico | | | **Modifica di un orario a calendario** | Settimana | Mese | | **Disponibilità orarie a calendario** | Settimana | Mese, anno scolastico, settimana tipo | I **pulsanti di cambio vista** si trovano accanto alla linea del tempo, in genere in alto a sinistra. Le viste `anno` e `intervallo libero da data a data` sono presenti soprattutto nella **dashboard**, dove servono alle statistiche tra periodi diversi. #### Anno scolastico visualizzato per impostazione predefinita L'**anno scolastico corrente** (configurato in [Amministrazione](#page-admin.school-year)) è **visualizzato per impostazione predefinita** in tutti i moduli per tutti gli utenti. - I professore e gli studente in consultazione dell'orario vedono **solo l'anno corrente**. Nessun accesso agli anni precedenti o preparatori sul lato portale. È una scelta voluta: per loro, l'orario è quello di oggi. - Le **assenze** possono essere dichiarate **solo sull'anno scolastico corrente**. Non è possibile dichiarare retroattivamente un'assenza su un anno passato, né anticiparla sull'anno successivo. - Gli **amministratori** possono invece **navigare** tra gli anni tramite la linea del tempo — ecco perché è utile comprendere le frecce. L'anno scolastico corrente è anche quello considerato per le esportazioni e la sincronizzazione con i software esterni. #### Quando si cambia l'anno scolastico corrente Sequenza tipica: 1. **Anno N in corso**. Lavora in parallelo sull'anno N+1 in [Gestione degli orari](#page-timetables.overview), tramite la freccia destra. Tutti gli utenti vedono ancora l'anno N sui loro portali e sulle loro assenze. 2. **Preparazione finale** dell'inizio dell'anno N+1: l'orario N+1 è pubblicato sulle settimane corrispondenti (ma l'anno corrente resta N). 3. **Poco prima dell'inizio dell'anno**, quando è pronto affinché tutti passino a N+1: cambio dell'anno scolastico corrente in [Amministrazione → Anno scolastico](#page-admin.school-year). 4. **Effetto immediato**: da quel momento tutti gli utenti vedono N+1 per impostazione predefinita. I professore e gli studente accedono al loro nuovo orario. Le assenze si dichiarano ora su N+1. Il momento esatto del cambio dipende dal Suo istituto — spesso **la vigilia dell'inizio dell'anno** quando tutto è convalidato, a volte **la mattina dell'inizio dell'anno** per lasciare un margine di controllo. Nessuna fretta: mantiene l'accesso in consultazione sull'anno passato come storico. #### Anno scolastico ≠ anno civile Un **anno scolastico** in Omniscol non è necessariamente allineato su settembre → agosto. Casi particolari frequenti: - **Enti di formazione continua** — spesso allineati sull'**anno civile** (1° gennaio → 31 dicembre). Definisca il Suo anno scolastico con queste date in [Amministrazione → Anno scolastico](#page-admin.school-year); tutto funziona allo stesso modo. - **Università** con semestri sfalsati o cicli lunghi (moduli intensivi su 18 mesi) — è possibile definire anni scolastici di durata non standard. #### Vedi anche - [Anno scolastico](#page-core-concepts.school-year) - [Anno scolastico e vacanze](#page-admin.school-year) - [Pubblicare (attivare) un orario](#page-timetables.publication) - [Preparare il nuovo anno scolastico](#page-timetables.next-school-year) ### 2.17 Cercare e filtrare negli elenchi *Source: `help/it/core-concepts/search-and-filter.md` · id: core-concepts.search-and-filter · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-27* La stessa barra di ricerca è presente nella maggior parte degli elenchi di Omniscol (aule, professori, classi, materie, risorse, studenti…): combina una ricerca **testuale** e, ove esista un valore numerico, una condizione **numerica**. Sulle **aule**, questa condizione riguarda la **capacità** — è l'uso più completo, descritto qui nel dettaglio. Ritrova questa barra nella scheda Aule della Dashboard come nel **selettore di aula** di una lezione, quando assegna o cambia un'aula nell'orario (Assegnare un'aula). #### Ricerca testuale La ricerca testuale funziona su **tutti questi elenchi**. Sulle aule riguarda il nome dell'aula, il sito, l'edificio, la specializzazione o i tag inseriti in Omniscol; sugli altri elenchi, i campi visualizzati (nome, codice, ecc.). Esempi: - `nord` mostra le aule le cui informazioni contengono `nord`. - `laboratoire chimie` mostra le aule che corrispondono a entrambi i termini. - `amphi, gymnase` mostra le aule che corrispondono ad `amphi` oppure a `gymnase`. #### Filtro di capacità (aule) Sugli elenchi di aule, i comparatori numerici filtrano in base alla capacità dell'aula: - `>50` : capacità strettamente superiore a 50 ; - `>=50` : capacità almeno pari a 50 ; - `<25` : capacità strettamente inferiore a 25 ; - `<=100` : capacità al massimo pari a 100 ; - `=30` : capacità esattamente pari a 30 ; - `50-100` : capacità compresa tra 50 e 100 ; - `50-` : capacità pari o superiore a 50 ; - `-25` : capacità pari o inferiore a 25. #### Combinazioni utili Gli spazi aggiungono criteri da rispettare congiuntamente. Le virgole separano le alternative. - `>50 site nord` : aule con più di 50 posti collegate al sito nord. - `<=30 laboratoire` : aule piccole di tipo laboratorio. - `amphi, >100` : aule che contengono `amphi` oppure aule con più di 100 posti. - `bâtiment A informatique` : aule collegate all'edificio A e all'informatica. #### Perché compilare bene le aule I filtri diventano più precisi quando i siti, gli edifici, le specializzazioni e i tag sono tenuti aggiornati. Queste informazioni migliorano le ricerche nell'orario, le statistiche delle aule e le analisi di occupazione degli edifici. #### Vedi anche - [Statistiche aule](#page-dashboard.classrooms) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) - [Siti, aule e risorse](#page-timetables.sites-rooms) ### 2.18 Collaborazione tra amministratori *Source: `help/it/core-concepts/collaboration.md` · id: core-concepts.collaboration · Audience: admin · Feature: collab · Updated: 2026-06-13* > **Premium** L'opzione **Collaborazione in tempo reale** consente a più amministratori di lavorare simultaneamente sullo stesso account Omniscol: ciascuno vede in diretta la presenza degli altri, e il server unisce le azioni concorrenti. #### La presenza in tempo reale In alto nello schermo, per ogni altro amministratore connesso all'account nello stesso momento in cui è connesso Lei compare un indicatore a forma di **disco con le iniziali** (il Suo è azzurro, e i dischi si sovrappongono quando siete in molti). Passi il cursore sopra di essi: una descrizione a comparsa mostra il nome di ciascuna persona e **la schermata che ha aperto in diretta**. Un indicatore diventa **rosso** quando un altro amministratore apre la **stessa schermata di modifica** che ha aperto Lei — costruzione di un orario (siti, classi, gruppi, distribuzione delle ore), riorganizzazione, servizio del personale, utenti, materie o parametri. È il segnale di un **rischio di modifica simultanea**. Nulla La blocca, tuttavia: il server **unisce le azioni concorrenti** per quanto possibile, così che ciascuno conservi le proprie modifiche senza sovrascritture silenziose. Modificare esattamente lo stesso campo di un utente o di una lezione, oppure importare dati in blocco, porta però inevitabilmente a un conflitto: vince l'ultima modifica. L'indicatore rosso è un invito a coordinarsi per non lavorare in modo concorrente nello stesso posto, sugli stessi dati, nello stesso momento. #### Quando usarla - **Grande istituto con più gestori** — ciascuno si occupa di un dipartimento, di una coorte o di un sito, ma tutti lavorano in Omniscol nello stesso momento. - **Periodi intensi** — costruzione dell'inizio dell'anno, passaggio a una sessione d'esami, gestione di un'ondata di assenze. - **Coordinamento in riunione** — il team si riunisce attorno a una decisione e più partecipanti modificano dalle proprie postazioni: i dischi di presenza consentono di ripartire le aree. #### Limite di sincronizzazione I dischi di presenza vengono trasmessi in tempo reale. La vista di lavoro aperta da un altro utente, invece, non viene necessariamente aggiornata in automatico dopo il Suo salvataggio. Se un collega ha appena modificato un dato che Lei sta consultando, ricarichi la vista o riapra l'oggetto prima di prendere una decisione al riguardo. #### Buone pratiche - **Definire dei perimetri**: chi si occupa di cosa. Il perimetro può essere informale (via e-mail), oppure formalizzato tramite i [ruoli personalizzati](#page-admin.customroles). - **Comunicare fuori dall'app** — mantenga un canale di coordinamento separato per le decisioni operative; gli indicatori di presenza non sostituiscono un'istruzione di lavoro. - **Evitare di modificare la stessa struttura nello stesso momento**: se in due modificate l'elenco degli studenti di una classe nello stesso momento, il rischio di conflitto aumenta. Suddivida le sottoattività per perimetro. #### Procedura — Coordinare un inizio d'anno con tre amministratori 1. **Nei grandi istituti**, la costruzione dell'inizio dell'anno mobilita più amministratori in parallelo. L'opzione **Collaborazione in tempo reale** aggiunge la presenza in tempo reale e l'unione delle azioni concorrenti. 2. **Definisca i perimetri** in anticipo (in riunione o via e-mail): chi gestisce quale dipartimento / coorte / sito. Può completare questa organizzazione con i [ruoli personalizzati](#page-admin.customroles), che limitano i moduli e le operazioni accessibili a ciascun account; la ripartizione per dipartimento o per sito resta invece una convenzione del team. 3. **Tutti si connettono** all'account Omniscol. In alto nello schermo, **gli indicatori con le iniziali** degli altri amministratori connessi compaiono in tempo reale. Al passaggio del cursore, il nome e la schermata corrente di ciascuno. 4. **Segnale di conflitto**: un indicatore diventa **rosso** quando due amministratori aprono la stessa schermata di modifica (le stesse classi, la stessa riorganizzazione…). È il segno di un rischio di modifica simultanea, visibile a tutti gli amministratori interessati. 5. **Il server unisce** le azioni concorrenti: nulla La blocca durante la modifica e ciascuno conserva le proprie modifiche, per quanto possibile. L'indicatore rosso La invita a coordinarsi prima di intervenire nello stesso posto. 6. **Buone pratiche**: mantenga un canale di coordinamento separato e suddivida le sottoattività per perimetro (un amministratore per dipartimento). Eviti che in due modifichiate la stessa struttura (l'elenco degli studenti di una classe, per esempio) nello stesso momento. Dopo una modifica effettuata da un collega, ricarichi la vista interessata prima di considerare aggiornati i dati visualizzati. #### Vedi anche - [Piani e opzioni di Omniscol](#page-overview.plans-and-options) - [Utenti e ruoli](#page-admin.users-and-roles) - [Ruoli personalizzati](#page-admin.customroles) --- ## 3. Creazione di un orario (modulo Gestione degli orari) ### 3.1 Panoramica del modulo Gestione degli orari *Source: `help/it/timetables/overview.md` · id: timetables.overview · Audience: admin · Updated: 2026-06-13* Il modulo **Gestione degli orari** è il cuore di Omniscol: è qui che si creano gli orari, che li si configura, che li si genera e che li si pubblica. Per un orario di tipo ricorrente (settimanale/ciclico), si utilizza **occasionalmente** (tipicamente prima dell'inizio dell'anno, al momento di creare un trimestre o semestre diverso, e in occasione di modifiche strutturali), non quotidianamente (per questo c'è il modulo [Orario](#page-schedules.consult-and-filter)). Per un orario di tipo calendario, nell'istruzione superiore, è al contrario la schermata di lavoro principale di tutto il team di pianificazione, ogni giorno. #### Flusso di pianificazione Costruire un orario non è una linea retta: dopo la creazione e la configurazione, il cuore è un **ciclo** — collocare qualche lezione, generare, analizzare, aggiustare, ripartire — prima di una sequenza lineare che inizia alla **pubblicazione** (l'inizio dell'anno). ```mermaid flowchart LR A["Creazione"] --> B["Configurazione
siti, aule, professori,
classi, gruppi, corsi"] B --> M["Posizionamento manuale
àncore, blocchi"] M --> G["Generazione
auto/manuale,
parziale o completa"] G --> J["Analisi,
aggiustamenti mirati"] J -->|ripartire| G J --> P["Pubblicazione
= inizio dell'anno scolastico"] P --> E["Utilizzo"] E --> Mod["Modifiche
nel corso dell'anno"] Mod -.->|eccezione| J ``` Può tornare indietro in qualsiasi momento, salvare strada facendo, duplicare un orario per crearne una variante. Il cuore del ciclo è descritto in [Generazione automatica](#page-timetables.generation) e [Posizionamento manuale](#page-timetables.manual-placement); dopo l'inizio dell'anno, i ritocchi passano da [Modifiche puntuali](#page-schedules.ad-hoc-changes). #### Più orari in parallelo Può avere più orari nel suo account: - delle **bozze** non pubblicate (per preparare l'inizio dell'anno mentre l'anno in corso funziona), - degli orari per **periodi** diversi (S1, S2…), - in Premium, degli orari **attivi simultaneamente** sulle stesse settimane (per esempio, un orario settimanale del mattino + un orario calendario del pomeriggio) — veda [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). Questa possibilità può anche essere aperta contrattualmente su determinati account Standard. #### Fasi dettagliate Ciascuna è oggetto di una pagina dedicata: Il **prerequisito**: [Prerequisiti per creare un orario](#page-timetables.prerequisites). In seguito, otto fasi: 1. [Parametri generali](#page-timetables.general-settings) 2. [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) 3. [Assegnare i professori](#page-timetables.assigning-teachers) 4. [Creare le classi e i loro gruppi](#page-timetables.creating-classes) 5. [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) 6. [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) 7. [Generazione automatica](#page-timetables.generation) 8. [Pubblicare (attivare) un orario](#page-timetables.publication) In qualsiasi momento, può: - **Visualizzare** un orario (modalità sola lettura), per verifica. - **Riorganizzare** un orario (modalità modifica rapida), per aggiustare le posizioni delle lezioni. - **Duplicare** un orario (creare una bozza a partire da un orario esistente). - **Importare** o **esportare** la configurazione dei corsi in foglio di calcolo (cfr. [Import massivo](#page-timetables.mass-import)). #### Avviare rapidamente Se è il suo primo orario: 1. Verifichi prima che il suo [account sia configurato](#page-getting-started.setup-school) (parametri, anno scolastico, materie, utenti). 2. Faccia clic su Creare un orario in alto a destra. 3. Scelga la [modalità di orario](#page-overview.timetable-modes) (settimanale, ciclico, calendario). 4. Segua le fasi nell'ordine. Se dispone già di dati in un foglio di calcolo (Excel, Google Sheets, export di un altro software), passi direttamente dall' [import massivo](#page-timetables.mass-import): Omniscol crea la struttura per lei, la finalizza in seguito. #### Vedi anche - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) - [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) ### 3.2 Prerequisiti per creare un orario *Source: `help/it/timetables/prerequisites.md` · id: timetables.prerequisites · Audience: admin · Updated: 2026-05-10* Prima di creare un orario, tre elementi devono esistere a livello della scuola: #### 1. Almeno un anno scolastico Senza anno scolastico, nessuna linea del tempo, quindi nessuna pubblicazione possibile. Creazione in Anni scolastici. Veda [Anno scolastico e vacanze](#page-admin.school-year). #### 2. Le materie utilizzate Omniscol precompila la base delle materie comuni per il suo paese. Per le discipline specifiche, crei le **materie personalizzate** in Creare. ⚠ Curi l'ortografia: Omniscol effettua una copia interna al momento dell'assegnazione a un orario, e una correzione non si propaga negli orari già pubblicati nel presente o nel passato. Veda [Gestire le materie](#page-admin.subjects). #### 3. I professori Crei tutti i professori in Amministrazione > Professori (uno per uno o in massa tramite [import](#page-getting-started.preparing-data)). Compili almeno nome, cognome, e-mail. Le materie insegnate e il servizio orario sono facoltativi ma utili. Veda [Gestire i professori](#page-admin.teachers). #### Facoltativo ma utile - **Studenti** — non necessari per la creazione dell'orario, ma utili per gli orari individuali dopo la pubblicazione. - **Tipi di lezione** (esercitazione, laboratorio, lezione frontale…) — se la sua nomenclatura didattica ne utilizza, li crei in Creare. - **Livelli** — verifichi che Amministrazione > Parametri contenga i livelli di classe che utilizzerà. #### Si può iniziare anche senza tutto Omniscol è **flessibile**. Se non ha tutti i professori o tutte le materie al momento di creare l'orario, può iniziare e completare strada facendo. È meno lineare, ma funziona. Tuttavia, l'**anno scolastico** è, questo sì, davvero indispensabile prima della pubblicazione. #### Avviare Una volta che questi prerequisiti sono (almeno parzialmente) presenti: 1. Vada nel modulo Gestione degli orari. 2. Faccia clic su Creare un orario. 3. Scelga la [modalità di orario](#page-overview.timetable-modes). 4. Arriva sulla pagina delle [parametri generali](#page-timetables.general-settings). 5. Le assegni un'etichetta (es. « Orario 2025-2026 », « S1 2025 ») e una descrizione. #### Procedura — Verificare i prerequisiti prima di creare un orario 1. **Tre elementi devono esistere a livello della scuola** prima che un orario sia creabile: un anno scolastico, le materie, i professori. 2. **Anno scolastico**: apra Anni scolastici. Verifichi che almeno un anno sia definito, con le sue date di inizio e fine e le vacanze. Senza anno, nessuna linea del tempo, nessuna pubblicazione. Veda [Anno scolastico e vacanze](#page-admin.school-year). 3. **Materie**: Omniscol precompila la base per il suo paese. Se il suo istituto ha materie specifiche (`Economia domestica`, `Robotica`, `Mandarino avanzato`), le crei tramite Creare. ⚠ Curi l'ortografia: Omniscol copia il nome in ciascun orario, una correzione dopo la creazione non si propagherà nelle pubblicazioni del passato e del presente. 4. **Professori**: apra Professori. Per ciascun professore, come minimo nome, cognome, e-mail. Materie insegnate e servizio orario sono facoltativi ma utili. Per molti professori: import massivo (cfr. [Preparare i dati](#page-getting-started.preparing-data)). 5. **Facoltativo ma utile**: tipi di lezione (esercitazione, laboratorio, lezione frontale…) tramite Creare se la sua nomenclatura ne utilizza. Livelli di classe da verificare nei parametri generali (Creare). 6. **È pronto**: modulo **Gestione degli orari**, pulsante Creare un orario. Scelga la modalità ([modalità di orario](#page-overview.timetable-modes)), assegni un'etichetta (`Orario 2026-2027`, `S1 2026`) e una descrizione. Fase successiva: [parametri generali](#page-timetables.general-settings). #### Vedi anche - [Configurare l'account della scuola](#page-getting-started.setup-school) - [Fase successiva — Parametri generali](#page-timetables.general-settings) ### 3.3 Modalità calendario — opzioni avanzate *Source: `help/it/timetables/calendar-mode.md` · id: timetables.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ La **modalità calendario** è uno dei tre tipi di orario supportati da Omniscol, accanto alla modalità settimanale e alla modalità ciclica. Si usa quando l'orario non segue una ricorrenza regolare: ogni lezione ha una data precisa, senza schema settimanale ripetitivo. La creazione di un orario calendario è inclusa nell'offerta Premium, allo stesso titolo delle [disponibilità in modalità calendario](#page-timetables.calendar-wishes) e della pubblicazione di [più orari attivi in parallelo](#page-timetables.multiple-active-timetables): su un account Premium, queste funzioni sono disponibili senza attivazione particolare. #### Cosa consente in particolare la modalità calendario - creare un orario le cui lezioni sono datate individualmente; - definire un intervallo di date di inizio e di fine; - utilizzare vincoli di date quando sono configurati; - generare solo una finestra target più breve dell'intervallo totale dell'orario; - chiedere al risolutore di compattare le lezioni all'inizio del periodo, alla fine del periodo o senza preferenza di posizione; - mostrare, pubblicare e consultare le lezioni come gli altri orari ma su un intervallo di date; - utilizzare la modalità fuori griglia su classi calendario, con orari di inizio e di fine espliciti su ogni lezione. #### Funzioni complementari Altre funzioni, descritte nelle loro pagine dedicate, completano naturalmente un orario calendario: - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) per pubblicare più orari nello stesso periodo; - [Disponibilità in modalità calendario](#page-timetables.calendar-wishes) per raccogliere disponibilità datate; - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) per lavorare con gruppi trasversali. #### Quando preferire il calendario al settimanale - **Formazioni non ricorrenti**: moduli intensivi, seminari, conferenze a date variabili. - **Formazione continua**: sessioni che non ruotano su una regolare annualità accademica. - **Insegnanti esterni a contratto**: ciascun collaboratore ha un calendario proprio, non un servizio settimanale fisso. - **Corsi di fine percorso**: progetti, discussioni di tesi, commissioni. Veda [Modalità calendario](#page-higher-ed.calendar-mode) per i casi tipici dell'istruzione superiore. #### Procedura — Creare un orario calendario 1. **Crei un nuovo orario** in Gestione degli orari. Nello schermo di selezione del tipo, scelga la **modalità calendario**. Indichi le date di inizio e di fine, poi confermi. 2. **Configuri il calendario**: etichetta, descrizione, giorni lavorativi e struttura oraria. Può anche dichiarare **[finestre di date](#page-timetables.date-windows)** riutilizzabili, applicate ai vincoli orari di aule, classi, materie e gruppi. 3. **Inserisca le lezioni** a date precise: data, orari, gruppo o classe, professore/i e aula/e. Se una classe è in fuori griglia, compili orari di inizio e di fine espliciti. 4. **Avvii la generazione** se utilizza il risolutore su questo orario. I vincoli disponibili dipendono dai dati inseriti: professori, aule, date, disponibilità e vincoli di calendario. Per un test o una costruzione progressiva, utilizzi le opzioni avanzate per limitare la finestra di date generata; attivi il compattamento se non vuole che l'algoritmo distribuisca le lezioni su tutto il periodo disponibile. 5. **Pubblichi e combini**: può pubblicare questo calendario in parallelo a un orario settimanale regolare. Le persone interessate vedono le lezioni fuse alla consultazione. Veda [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). #### Vedi anche - [Modalità Calendario](#page-glossary.calendar-mode) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Disponibilità in modalità calendario](#page-timetables.calendar-wishes) - [Finestre di date](#page-timetables.date-windows) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [Modalità calendario per i percorsi senza ricorrenza](#page-higher-ed.calendar-mode){append=(istruzione superiore)} ### 3.4 Disponibilità e vincoli in modalità calendario *Source: `help/it/timetables/calendar-wishes.md` · id: timetables.calendar-wishes · Audience: admin/teacher · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ In **modalità calendario**, la pianificazione avviene su **date precise** anziché su una settimana tipo ricorrente. Questo cambia il modo in cui si esprimono i **vincoli orari**, su due piani distinti: - i **vincoli interni** delle aule, delle classi, delle materie e dei gruppi; - le **disponibilità dei professori**. In modalità calendario si parla di **disponibilità**: il termine *preferenze* resta riservato all'inserimento di un professore sulla settimana tipo, a monte della pianificazione, e soggetto alla convalida del pianificatore. #### Vincoli orari delle aule, delle classi, delle materie e dei gruppi Non appena un orario è di tipo calendario, i vincoli orari **interni** di queste entità vengono automaticamente espressi **per data**, e non più su una settimana tipo. Può inoltre indicare una **ricorrenza sulla settimana tipo** quando un vincolo si ripete in modo identico da una settimana all'altra. Per periodi riutilizzabili — sessioni d'esame, vacanze proprie di determinate classi, fasce autorizzate — applichi una [finestra di date](#page-timetables.date-windows) come sovrapposizione su questi vincoli. #### Disponibilità dei professori Sulla settimana tipo, un professore dichiara una regola costante — *«non sono disponibile il mercoledì pomeriggio»*. In modalità calendario, la disponibilità si dichiara **data per data**, il che coglie situazioni più precise: - *«sono indisponibile solo la mattina di mercoledì 12 marzo»*, - *«posso tenere una lezione solo tra il 20 e il 30 gennaio»*, - *«sono disponibile 3 mezze giornate a settimana, da scegliere a seconda delle settimane»*. È la modalità da privilegiare quando le disponibilità variano a seconda delle settimane — tipico dell'istruzione superiore, dei docenti a contratto e della formazione continua. ##### Impostare la modalità di inserimento Sul lato professori, imposti il parametro Disponibilità dei professori (parametri generali della scuola) su **calendario** o **calendario + settimanale** per aderire a una pianificazione su date precise. La modalità combinata consente inoltre al professore di indicare semplicemente di non essere **mai disponibile in un certo giorno della settimana**, qualunque sia la data (restano possibili eccezioni puntuali) — l'equivalente, sul lato professori, della ricorrenza sulla settimana tipo dei vincoli interni. ##### Livelli di disponibilità La schermata di inserimento utilizza una **vista calendario**. Il pianificatore o il professore fa clic sulle date interessate e qualifica la fascia: - **Indisponibile**: indisponibilità bloccante — la generazione non vi collocherà alcuna lezione; - **Indesiderato**: vincolo forte, da evitare per quanto possibile; - **Preferito**: preferenza positiva; - **Gomma**: cancella le disponibilità già inserite sulla zona coperta. L'inserimento può avvenire per giornata, per mezza giornata o per fascia oraria a seconda della granularità configurata per la scuola. ##### Per chi - **Docenti a contratto e collaboratori esterni** — non hanno un servizio orario settimanale fisso. Vedere [Docenti esterni (a contratto, visiting)](#page-higher-ed.external-faculty). - **Professori con part-time terapeutico o adattamento specifico** — settimane variabili. - **Corsi di formazione continua** — ogni sessione è puntuale. - **Professori in anno di mobilità parziale** — disponibili solo in alcune settimane. #### Procedura — Raccogliere le disponibilità di un docente a contratto al calendario 1. **Per un docente a contratto che non ha un servizio orario settimanale fisso** (un collaboratore esterno per esempio), l'inserimento sulla settimana tipo non basta. La modalità **calendario** cattura le disponibilità data per data. 2. **Attivi la modalità adatta**: imposti il parametro Disponibilità dei professori (parametri generali della scuola) su **calendario** o **calendario + settimanale**, secondo l'esigenza dell'account. 3. **Apra l'inserimento** al docente a contratto. Può accedere con il suo account professore, oppure Lei genera un **link di condivisione diretto** verso la sua schermata di disponibilità (cfr. [Disponibilità dei professori](#page-core-concepts.wishes-and-availability)). Il link diretto evita di creare un account dedicato quando si utilizza questo flusso. Anche qualsiasi amministratore può inserire le disponibilità da sé. 4. **Sul lato docente a contratto**: vede un **calendario annuale** anziché una griglia settimanale. Fa clic sulle date (o mezze giornate, o fasce orarie a seconda della granularità della scuola) e qualifica la zona con i livelli di disponibilità proposti. 5. **Verifichi il consolidamento** sul lato amministrazione. Le disponibilità registrate vengono rilette dalle schermate dell'orario e dai diagnostici che consultano i vincoli. 6. **Avvii la generazione automatica** sulle lezioni del docente a contratto: il risolutore combina le priorità di disponibilità con gli altri vincoli della lezione. Casi d'uso coperti: docenti a contratto, part-time terapeutico, formazione continua, professori in mobilità parziale. #### Vedi anche - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [Modalità calendario](#page-timetables.calendar-mode) - [Finestre di date](#page-timetables.date-windows) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) ### 3.5 Finestre di date *Source: `help/it/timetables/date-windows.md` · id: timetables.date-windows · Audience: admin · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ Una **finestra di date** è un periodo di **inclusione** o di **esclusione** di date, **riutilizzabile**, che limita i periodi durante i quali determinate lezioni possono essere pianificate. Lo si definisce una volta, poi lo si applica come una **sovrapposizione** sui vincoli orari di più entità — classi, gruppi, materie o aule. Questa funzione riguarda unicamente gli **orari di tipo calendario**. #### Due tipi: autorizzazione o esclusione - **Lezioni autorizzate** — le lezioni possono essere pianificate **solo** durante queste date. - **Lezioni escluse** — le lezioni **non** possono essere pianificate durante queste date. #### Come si combinano Più finestre possono applicarsi a una stessa entità: - le finestre autorizzate si sommano tra loro; - le finestre escluse si sommano tra loro; - in caso di sovrapposizione, **un'esclusione prevale su un'autorizzazione**. #### Casi d'uso tipici - **Classi con lo stesso ritmo di alternanza** — più classi seguono determinati corsi solo in settimane precise (o soltanto a inizio o a fine settimane). Una finestra *autorizzata* che descrive queste settimane, applicata a tutte queste classi, evita di reinserire il ritmo classe per classe. - **Periodi d'esame** — una finestra *esclusa* che copre la sessione d'esami blocca temporaneamente le aule interessate, o le classi, affinché nessuna lezione ordinaria vi sia pianificata. - **Vacanze proprie di determinate classi** — su un campus all'estero, un insieme di classi segue un calendario di vacanze diverso dal resto dell'istituto. Una finestra *esclusa* su queste date, applicata a queste sole classi, neutralizza il periodo senza toccare le altre. #### Definire una finestra di date Nella schermata di modifica di un orario calendario, nella sezione Finestre di date: 1. Aggiungere apre il selettore di date. 2. Assegnare un'**etichetta** e scegliere il tipo — autorizzazione o esclusione. 3. Selezionare le date sulla griglia calendario: clic-trascinamento, settimana intera, colonna di un giorno, scorciatoie settimane pari / dispari, oppure inversione della selezione. 4. Salvare: la finestra entra nell'elenco riutilizzabile dell'orario. #### Applicare una finestra Una volta definita, la finestra è disponibile nei vincoli orari di **classi, gruppi, materie e aule**: selezionarvi una o più finestre. La stessa finestra può servire a quante entità servono — è tutto il vantaggio della sovrapposizione riutilizzabile. #### Alla generazione L'algoritmo di generazione tratta le finestre come vincoli: posiziona una lezione solo nelle date autorizzate, e mai nelle date escluse. #### Vedi anche - [Modalità calendario](#page-timetables.calendar-mode) - [Disponibilità in modalità calendario](#page-timetables.calendar-wishes) - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [Generazione automatica](#page-timetables.generation) - [Posizionamento manuale](#page-timetables.manual-placement) ### 3.6 Passaggio 1 — Parametri generali *Source: `help/it/timetables/general-settings.md` · id: timetables.general-settings · Audience: admin · Updated: 2026-05-18* Nella scheda **Generale**, si impostano i parametri globali che strutturano l'orario. I valori precompilati provengono dai [parametri della scuola](#page-admin.parameters), che è possibile anche regolare in anticipo. #### Campi da compilare 1. **Label** — nome dell'orario (« Orario 2025-2026 », « S1 2025 »…). Visibile ovunque. Modificabile. 2. **Descrizione** — testo libero, utile quando si dispone di più orari. 3. **Visualizzazione** — per impostazione predefinita, una riga per fascia oraria con gli orari a sinistra. È possibile scegliere uno stile anglosassone con periodi numerati, oppure una visualizzazione a calendario con ore tonde. 4. **Durata unitaria della lezione** — durata di riferimento di una fascia, eventualmente comprensiva dell'intervallo tra le lezioni. Se le Sue lezioni durano 55 min con 5 min di intervallo, inserisca **60 min**. Se le Sue lezioni regolari durano 1h30, inserisca **90 min**. 5. **Frazionamento** — in quante sotto-parti può essere suddivisa la durata unitaria? Per poter creare lezioni di 1h, 1h30 o 2h con una durata unitaria di 60 min, scelga **1/2**. Per scendere al quarto d'ora, scelga **1/4**. - **Consiglio**: non scenda più in dettaglio del necessario. Più fine è il frazionamento, più lungo è il calcolo dell'algoritmo. 6. **Giorni feriali** — spunti i giorni di lezione. Per impostazione predefinita da lunedì a venerdì (salvo impostazioni nazionali diverse — paesi arabi, Israele…). 7. **Per gli orari ciclici** — numero di giorni del ciclo. 8. **Per gli orari a calendario** — date di inizio e di fine (modificabili successivamente) ed eventualmente finestre di date. #### Salvare Il pulsante Salvare in basso salva la configurazione. #### E poi Una volta convalidati questi parametri, passi al passaggio successivo: [Sedi, aule, risorse](#page-timetables.sites-rooms). > **Suggerimento.** Se sta migrando da un altro sistema o desidera semplicemente > provare rapidamente Omniscol, per le grandi creazioni in massa di lezioni > (centinaia in una volta) l'[Import massivo tramite foglio di calcolo](#page-timetables.mass-import) > è più rapido dell'inserimento schermata per schermata. Tuttavia, più > dati strutturali inserisce a monte, migliore sarà l'importazione. #### Procedura — Configurare i parametri generali di un orario 1. **Passaggio 1 della creazione dell'orario**: fissare label, durata tipo delle lezioni, frazionamento, giorni lavorativi. Queste scelte strutturano in modo duraturo l'orario — conviene impostarle correttamente fin dall'inizio. 2. **Label e descrizione**: un nome parlante (`Orario 2026-2027`, `S1 2026 — coorte M2 commercio`) e una descrizione libera. Visibile ovunque nell'interfaccia. Modificabile, ma eviti di rinominarla in produzione. 3. **Visualizzazione**: una riga per fascia oraria (predefinita) oppure periodi numerati (stile anglosassone) oppure calendario con ore tonde. Segua la cultura del Suo istituto. 4. **Durata unitaria della lezione**: la durata di riferimento di una fascia. Lezioni di 55 min con 5 min di intervallo → **60 min**. Lezioni regolari di 1h30 → **90 min**. Se mantiene una durata unitaria di 60 min, il frazionamento consente comunque lezioni di 1h30. 5. **Frazionamento**: in quante sotto-parti può suddividersi la durata unitaria? **1/2** per passi di 30 min con una durata unitaria di 60 min, **1/4** per passi di 15 min. Più è fine, più possibilità ha l'algoritmo da testare. 6. **Giorni feriali**: spunti da lunedì a venerdì (predefinito). Paesi arabi, Israele: da domenica a giovedì. Per gli orari **ciclici**: numero di giorni del ciclo. Per gli orari **a calendario**: date di inizio e di fine (modificabili in seguito). 7. **Salvi** tramite Salvare. Passaggio successivo: [Sedi, aule, risorse](#page-timetables.sites-rooms). Per le grandi creazioni in massa, veda [Import massivo tramite foglio di calcolo](#page-timetables.mass-import). #### Vedi anche - [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) - [Passaggio precedente — Prerequisiti](#page-timetables.prerequisites) - [Passaggio successivo — Sedi](#page-timetables.sites-rooms) - [Parametri generali della scuola](#page-admin.parameters) ### 3.7 Passo 2 — Siti, griglie orarie, aule, risorse *Source: `help/it/timetables/sites-rooms.md` · id: timetables.sites-rooms · Audience: admin · Updated: 2026-06-13* È nella scheda **Siti** che modella la dimensione fisica del suo istituto. #### Creare i siti Se tutte le sue lezioni si svolgono nello stesso luogo: un sito è sufficiente. Clicchi Creare un sito, gli dia un nome. Se è multi-sito: crei un sito per ogni luogo fisico distinto. Indichi i **tempi di percorrenza** tra i siti (matrice delle durate). È essenziale — senza questi tempi, il risolutore può collocare un professore dalle 9:00 alle 10:00 sul sito A e alle 10:05 sul sito B distante 5 km, cosa che è fisicamente impossibile. Non confonda sito e campus: un [campus](#page-glossary.campus) è un raggruppamento organizzativo configurato nei parametri generali; un sito porta la griglia oraria, le aule e i tempi di percorrenza. Veda [Sito](#page-glossary.site) per i casi d'uso e i limiti (due siti virtuali per uno stesso luogo, scelta tra multi-sito e multi-account, ecc.). #### Configurare la griglia oraria Ogni sito porta la propria **griglia oraria**: - orari di inizio / fine delle fasce, - pause, - pausa pranzo, - chiusure (mercoledì pomeriggio, sabato…). Le lezioni standard sono agganciate alle fasce di questa griglia. Se in seguito modifica l'orario di una fascia, le lezioni collocate su di essa seguono la nuova griglia. Gli orari personalizzati e le classi fuori griglia sono casi particolari descritti in [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid). Omniscol indovina automaticamente la griglia a partire dalle informazioni inserite, ma la rilegga e la personalizzi — è importante per la visualizzazione e per l'algoritmo. Le fasce dovrebbero corrispondere alla durata unitaria di lezione indicata nella schermata precedente. Se ha indicato 60 minuti, per esempio, per una lezione standard, allora ogni fascia sarà considerata della durata di 1 ora, indipendentemente dagli orari effettivamente indicati — talvolta 50 o 55 minuti, cosa che può variare marginalmente a causa delle pause. Se lo scarto teorico/pratico è troppo grande, su una data fascia, gli orari potrebbero passare in rosso per avvisarla di una configurazione errata. Non dichiari le pause come fasce! Qualsiasi fascia può accogliere lezioni (a meno che il periodo non sia indicato come non disponibile). Un errore frequente è credere che gli orari abbiano un impatto diretto: non è così, Omniscol colloca le lezioni sulle fasce, e le visualizza poi con gli orari indicati per ogni fascia interessata. #### Inserire le aule Per ogni sito, crei le [aule](#page-glossary.classroom). Campi: - **Nome** (obbligatorio), - **Capienza** (obbligatorio — senza questo campo, il risolutore non può verificare il dimensionamento), - **[Specializzazioni](#page-glossary.classroom-specialization)** (chimica, informatica, sport… libere), - Numero massimo di classi per una **[grande aula](#page-glossary.large-room)** (aula d'esame, teatro, palestra, piscina, spazio esterno). Questo campo appare solo una volta inserita una specializzazione, - **Uno o più campus** se l'aula deve essere privilegiata per un polo, una facoltà o una scuola nell'assegnazione automatica, e per certi filtri, - **Edificio** (facoltativo), - **Vincoli orari** (utile per le aule condivise con un altro istituto, o per gli impianti sportivi esterni), - **Tag / commento** (lavagna a fogli mobili, prese, computer… liberi). L'associazione di un'aula a uno o più campus resta una **preferenza di ripartizione**. Se nessuna aula del campus è compatibile o disponibile, Omniscol può assegnarne un'altra. Può creare le aule **in blocco** tramite copia-incolla da un foglio di calcolo. > _Premium_ ##### Multi-aula Omniscol permette di assegnare più aule a una stessa lezione, con capienza totale = somma delle aule. Veda [Più aule](#page-glossary.multi-room) per i casi d'uso tipici (esami in aule magne sdoppiate, lezioni cattedratiche ritrasmesse, esercitazioni sdoppiate, ecc.). ##### Specializzazioni Le **specializzazioni** (campo libero) servono a indicare che una materia richiede un tipo di aula particolare. Il risolutore le rispetta rigorosamente. ##### Grande aula Un'aula specializzata può diventare una **[grande aula](#page-glossary.large-room)**: indichi il suo Numero massimo di classi affinché accolga più lezioni diverse nello stesso momento (professori e gruppi distinti), entro il limite di tale numero e della sua capienza. È il caso delle aule d'esame, dei teatri, delle palestre, delle piscine o degli spazi esterni. Il campo appare solo dopo aver dato una specializzazione all'aula. #### Inserire le risorse Le [risorse](#page-glossary.resource) sono le attrezzature mobili non agganciate a un'aula particolare (videoproiettori portatili, valigette di tablet, kit…). Per ogni risorsa: - **Nome**, - **Quantità disponibile**. Una valigetta di 30 tablet conta per 1 (non 30) — inserisce il numero di valigette. È inutile modellare le risorse di cui ha « sempre abbastanza » — lo faccia solo per i veri limiti condivisi. > _Premium_ I **siti**, le **aule** e le **risorse** possono essere sincronizzati da un sistema esterno — ogni elenco propone allora il proprio pulsante di sincronizzazione (Sincronizzare, Sincronizzare, Sincronizzare). Veda [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### E poi Passo successivo: [Assegnare i professori](#page-timetables.assigning-teachers). #### Procedura — Creare un sito e la sua griglia oraria 1. **Un sito** modella un luogo fisico distinto, con la propria griglia oraria (fasce, pause, pranzo). Almeno un sito è obbligatorio. Questa procedura descrive la creazione di un sito e le sue dipendenze minime (aule, risorse). 2. **Clicchi su Creare un sito** e gli dia un nome (`Bâtiment principal`, `Antenne Paris`…). Se parte da mono-sito, un solo sito è sufficiente. Per il multi-sito, ne aggiunga tanti quanti sono i luoghi fisici da distinguere. 3. **Configuri la griglia oraria**: orari di inizio / fine delle fasce, pause tra le lezioni, pausa pranzo, chiusure (mercoledì pomeriggio, sabato…). 4. **Inserisca le aule**: nome, capienza (campo critico per il risolutore), specializzazioni (chimica, informatica, sport…), orari di apertura, campus se la sua organizzazione ne utilizza. Il campus su un'aula serve a privilegiarla per certe classi, senza bloccare le altre aule compatibili. Un'aula appartiene a un solo sito — per un'aula utilizzata da più siti virtuali, veda [Siti, aule, risorse — concetti](#page-core-concepts.sites-rooms-resources). 5. **Inserisca le risorse** (attrezzature mobili): nome + quantità disponibile. Modelli solo le risorse con un vero limite condiviso (videoproiettori nomadi, valigetta di tablet, kit di microfoni), non quelle di cui ha « sempre abbastanza ». 6. **Se multi-sito, indichi i tempi di percorrenza** tramite la finestra delle distanze (semi-matrice triangolare). Senza questi tempi, il risolutore teletrasporta — veda [Multi-sito: politica e tempi di percorrenza](#page-core-concepts.sites-rooms-resources) per le sfumature. #### Vedi anche - [Siti, aule, risorse — concetti](#page-core-concepts.sites-rooms-resources) - [Campus](#page-glossary.campus) - [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) - [Più aule](#page-glossary.multi-room) - [Specializzazione dell'aula](#page-glossary.classroom-specialization) ### 3.8 Passaggio 3 — Assegnare i professori *Source: `help/it/timetables/assigning-teachers.md` · id: timetables.assigning-teachers · Audience: admin · Updated: 2026-06-13* Nella scheda **Professori**, indica quali professori sono **coinvolti** in questo orario — a differenza di quelli semplicemente dichiarati a livello di scuola. #### Assegnare Clicchi su Assegnare professori. Viene visualizzato l'elenco dei professori disponibili. Selezioni quelli interessati. Può **assegnare a scaglioni**: iniziare con i professori assunti in via definitiva, poi aggiungere i nuovi man mano che procedono le assunzioni. > _Premium_ I professori possono essere sincronizzati da un sistema esterno: Sincronizzare apre la riconciliazione. Veda [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Professori virtuali Il pulsante Virtuale crea un **professore virtuale** per rappresentare provvisoriamente un posto da coprire. Comodo per preparare l'inizio dell'anno scolastico senza attendere che le assunzioni siano finalizzate. Un'icona [ghost] appare accanto al nome. Quando l'assunzione è finalizzata, il pulsante Trasformare a fine riga « reifica » il professore virtuale: scelga il professore reale nell'elenco, e tutti i suoi riferimenti passano a lui — le assegnazioni alle materie nelle classi come tutte le lezioni. Il professore virtuale scompare allora definitivamente. **L'azione è irreversibile.** #### Sostituzione definitiva di un professore Lo stesso pulsante Trasformare si applica anche a un professore **reale**: trasferisce la totalità dei suoi corsi a un altro professore dell'elenco — già assegnato a questo orario oppure semplicemente dichiarato a livello di scuola — poi rimuove il professore d'origine dall'orario. È il gesto della **sostituzione definitiva**, utile quando un professore previsto viene a mancare, è trasferito o deve abbandonare i suoi corsi: tutte le lezioni e le assegnazioni passano al sostituto in una sola operazione. **L'azione è irreversibile.** #### Disponibilità Se ha attivato l'inserimento delle disponibilità tramite il parametro Disponibilità dei professori (cfr. [Disponibilità dei professori](#page-core-concepts.wishes-and-availability)), è qui che **verifica e convalida** le disponibilità inserite dai professori. Può anche: - modificare le **ore di servizio** (numero di ore settimanali previste, riportate nei nuovi orari), - attribuire un'**aula preferita** (usata come priorità dal risolutore per le lezioni del professore, salvo se la classe ha la propria aula dedicata). #### Distinzione scuola / orario Importante: la scheda del professore **a livello di scuola** porta le informazioni identificative (nome, e-mail, login) e resta stabile. La scheda del professore **a livello di orario** porta le informazioni *legate a questo orario* (disponibilità, aula preferita, ore di servizio). Conseguenza: se corregge il nome di un professore in Professori dopo la creazione dell'orario, l'orario mantiene il nome storico. È una scelta volontaria per la tracciabilità, ma presuppone che il nome sia scritto correttamente al momento della creazione dell'orario. #### Insegnanti esterni (a contratto) Per gli insegnanti esterni, veda il [glossario](#page-glossary.external-teacher). Si creano come professori ordinari. > _Premium_ Il contrassegno **Insegnante esterno** della scheda utente aggiunge una piccola icona [user-tie] che distingue gli insegnanti esterni dai permanenti in alcuni schermi. Per i visiting professor che intervengono in modo puntuale (una o due lezioni), può a seconda dei casi: - aggiungerli come co-conduttore di una lezione (cfr. [Co-docenza](#page-glossary.co-teaching)), - creare un corso separato per il loro intervento (modalità calendario soprattutto). #### E poi Passaggio successivo: [Creare le classi e i loro gruppi](#page-timetables.creating-classes). #### Procedura — Assegnare i professori a un orario 1. **Passaggio 3 della creazione dell'orario**: indichi quali professori sono **coinvolti** in questo orario (a differenza di tutti quelli dichiarati a livello di scuola). 2. **Assegni i professori assunti in via definitiva** tramite Assegnare professori. Viene visualizzato l'elenco dei professori dichiarati a livello di scuola. Selezioni quelli interessati da questo orario. Può **assegnare a scaglioni**: inizi con i permanenti, aggiunga i nuovi man mano che procedono le assunzioni. 3. **Per ogni posto da coprire**, crei un **professore virtuale** tramite Virtuale. Un'icona [ghost] lo distingue. Comodo per preparare l'inizio dell'anno scolastico senza bloccarsi sulle assunzioni. Quando l'assunzione è finalizzata, il pulsante Trasformare a fine riga sposta tutti i suoi riferimenti verso il professore reale scelto nell' elenco. Le lezioni già posizionate sono conservate. Lo stesso pulsante serve alla **sostituzione definitiva** di un professore reale con un altro (trasferimento, rinuncia…). **Precisi le materie insegnate** dal professore virtuale su questo orario: sarà proposto in via prioritaria per quelle materie, durante le assegnazioni. 4. **Disponibilità**: per un orario settimanale, **verifica e convalida** gli inserimenti. Per qualsiasi tipo di orario, può **consultare e compilare** tutte le disponibilità. Veda [Disponibilità dei professori](#page-core-concepts.wishes-and-availability). 5. **Aula preferita** (facoltativo): se il professore ha un'aula dedicata, la attribuisca qui tramite [location-pin]. Il risolutore la privilegia per le sue lezioni, salvo se la classe ha già la propria aula dedicata (priorità classe > priorità professore). 6. **Passaggio successivo**: [creare le classi e i loro gruppi](#page-timetables.creating-classes). #### Vedi anche - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [Gestire i professori a livello di scuola](#page-admin.teachers) - [Professore](#page-glossary.teacher) - [Insegnante esterno](#page-glossary.external-teacher) ### 3.9 Passaggio 4 — Creare le classi e i loro gruppi *Source: `help/it/timetables/creating-classes.md` · id: timetables.creating-classes · Audience: admin · Updated: 2026-05-10* È il passaggio più strutturante. Nella scheda **Classi**, si creano le classi, i loro gruppi e si inseriscono i volumi orari per materia. #### 1. Creare le classi Fare clic su Creare una classe. Per ciascuna classe: - **Nome** (obbligatorio), - **Livello** (tra i livelli esistenti; fare clic su Creare per aggiungerne uno), - **Campus** se il Suo istituto adotta questa organizzazione, - **Sito** predefinito (l'algoritmo di generazione cercherà solo tra le aule di questo sito, salvo assegnazione esplicita di una lezione a un altro sito), - **Aula dedicata** (facoltativa — le lezioni vi si svolgeranno per impostazione predefinita), - **Effettivo teorico** (facoltativo ma consigliato per il dimensionamento delle aule). Il campus e il sito rispondono a due domande diverse: il campus indica a quale entità dell'istituto appartiene la classe; il sito indica dove è fisicamente situata e quali aule sono utilizzate per impostazione predefinita. ⚠ Se si dimentica di assegnare il sito, le lezioni non potranno essere posizionate (per mancanza di aule e di griglia oraria). Un avviso lo ricorda. #### 2. Creare i gruppi per ciascuna classe Fare clic sul pulsante Aggiungere un gruppo di una classe. Creare tanti gruppi quanti sono i corsi in cui gli studenti non seguono la lezione a classe intera. Per ciascun gruppo: - **Nome** e **codice** (usare entrambi per identificarlo facilmente), - **Effettivo teorico**, - Se più gruppi devono o possono trovarsi nella **stessa fascia oraria** (Laboratorio-A e Laboratorio-B, oppure Francese seconda lingua e Spagnolo seconda lingua), creare una [partizione di classe](#page-core-concepts.class-divisions) tramite Aggiungere una partizione. Suggerimento: se i gruppi di una classe sono (quasi) identici a quelli di un'altra, usare il pulsante Importare da un'altra classe per importare la configurazione e adattarla. > _Premium_ Le **classi** e i **gruppi** possono essere sincronizzati da un sistema esterno: Sincronizzare e Sincronizzare aprono la riconciliazione. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### 3. Configurare le materie per classe (i corsi) Andare nella scheda **Materie** (oppure sul pulsante Corsi di una classe). Ogni materia che si assegna così a una classe — con il suo volume orario ed eventualmente il suo tipo (esercitazione, laboratorio, lezione frontale…) — costituisce un **[corso](#page-glossary.course)**: l'unità di base della Sua offerta formativa («la matematica in 2A, 4 h a settimana, come esercitazione»). A questo punto l'interfaccia parla di «materie», ma ciò che si costruisce è proprio la nozione di corso; l'insieme dei corsi di una classe ne forma il **programma** (il suo piano di studi, la sua brochure). Le [lezioni](#page-glossary.lesson) che si posizioneranno poi sulla griglia ne sono le occorrenze. Per ciascun corso, indicare: - **Numero di ore** a settimana, - Eventuale **tipo di lezione** (esercitazione, laboratorio, lezione frontale…), - **Professore/i** assegnato/i, - **Peso pedagogico** (l'algoritmo di generazione tenta di equilibrare la materia sui giorni), - **Aula speciale richiesta** (tra le [specializzazioni](#page-glossary.classroom-specialization) del sito), - **Preferenze di posizionamento** (evitare la matematica a fine giornata, sport nelle ore più calde…). Suggerimento: usare Importare da un'altra classe per riutilizzare la configurazione delle materie di un'altra classe. La finestra di dialogo permette persino di importare una classe di un altro orario, ed è possibile ampliare il perimetro: con o senza sostituzione dell'elenco esistente, e con o senza i professori associati, i gruppi, le incompatibilità, i vincoli orari della classe. Si può arrivare fino a duplicare la ripartizione in lezioni, anche in questo caso scegliendo l'estensione dell'importazione. Per quanto riguarda le posizioni delle lezioni, su un orario di tipo calendario è possibile sfalsare le giornate (ciò ricalcola la successione secondo i giorni lavorativi della sorgente e della destinazione). È molto pratico per gli organismi che hanno sessioni complete ricorrenti, ad esempio di sei o otto settimane consecutive, più volte nell'anno. #### 4. Incompatibilità tra materie Un'[incompatibilità](#page-glossary.incompatibility) vieta a una materia di **seguire** un'altra. La regola è **orientata**: «la materia A non deve essere seguita dalla materia B» non è la stessa cosa dell'inverso. Il caso tipico: «niente matematica subito dopo lo sport». Dichiararle nella scheda **Incompatibilità** della classe. Al momento di creare la regola, scegliere la **finestra** di applicazione: - **Consecutivo** — non nella lezione immediatamente successiva, lo stesso giorno. Es.: non concatenare una materia impegnativa a una faticosa, «niente matematica subito dopo lo sport». - **Mezza giornata** — non più tardi nella stessa mezza giornata. Es.: alternare le lingue, «niente spagnolo dopo l'inglese» — e, per un'esclusione reciproca, aggiungere la regola inversa «niente inglese dopo lo spagnolo». - **Giornata** — non più tardi nella stessa giornata. Es.: distribuire gli apprendimenti artistici, «niente disegno dopo la musica lo stesso giorno». Per questo tipo di equilibratura, il **peso pedagogico** della materia è spesso un'opzione più semplice. - **Settimana** — non più tardi nella stessa settimana. Es.: rispettare l'ordine lezione teorica poi esercitazioni pratiche, «niente esercitazioni pratiche di chimica prima della lezione teorica di chimica». - **Sempre** *(orario calendario)* — mai dopo, sull'intero periodo: lo strumento di **sequenziamento** dei prerequisiti. Es.: «niente C++ prima del C», «niente finanza prima della contabilità». Alcuni riferimenti per non sbagliare impostazione: - **Una materia da non collocare in un momento preciso** («niente matematica in prima ora», «niente sport a metà giornata») **non** è un'incompatibilità: usare i **vincoli orari della materia** ([clock]), che riguardano il posizionamento assoluto di una singola materia. - **Impedire che una materia ricorra due volte lo stesso giorno** si regola più semplicemente con l'opzione globale di **auto-incompatibilità** che con regole a due a due. - Un'incompatibilità è un vincolo **flessibile** (un malus che l'algoritmo di generazione cerca di eliminare), non un blocco: può sussistere nell'orario generato, dove la [diagnostica](#page-glossary.diagnostic) la segnala. Evitare di accumularle — ciascuna riduce la libertà dell'algoritmo di generazione. #### E poi Passaggio successivo: [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups), se ha corsi comuni tra classi ([corsi trasversali](#page-glossary.transverse-course)). Altrimenti, passare direttamente a [Distribuire le ore](#page-timetables.hour-distribution). #### Procedura — Creare una classe con i suoi gruppi e partizioni 1. **Una classe** raggruppa gli studenti di uno stesso percorso. Si scompone in **gruppi** (mezze classi, opzioni, livelli), con delle **partizioni** per dichiarare i gruppi mutuamente esclusivi all'interno della classe. 2. **Fare clic su Aggiungere una classe.** Inserire nome (`2A`, `L1-Informatica`…), livello (tra quelli configurati), campus se lo si utilizza, sito predefinito, eventualmente aula dedicata + effettivo teorico. Senza sito, le lezioni non potranno essere posizionate — avviso esplicito. 3. **Creare i gruppi** della classe. Un gruppo per ogni uso pedagogico distinto: `Laboratorio-A`, `Laboratorio-B` (mezze classi laboratori), `Francese seconda lingua`, `Spagnolo seconda lingua` (opzioni), `Inglese Potenziato`, `Inglese Standard` (livelli). Raccomandazione forte: **un gruppo per corso distinto**, anche se gli studenti sono gli stessi. 4. **Dichiarare le partizioni** — gruppi mutuamente esclusivi. Selezionare i gruppi (es. `Francese seconda lingua` + `Spagnolo seconda lingua`), fare clic su Aggiungere una partizione. Senza partizione, l'algoritmo di generazione tratta due gruppi di una stessa classe come potenzialmente in conflitto. 5. **Configurare le materie per classe**: volumi orari settimanali, professori assegnati, tipo di lezione predefinito. Le materie sono selezionate dal repertorio della scuola (ufficiali o personalizzate). 6. **Passaggio successivo**: [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) se ha corsi comuni tra più classi, altrimenti direttamente [Distribuire le ore](#page-timetables.hour-distribution). #### Vedi anche - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Partizioni di classe](#page-core-concepts.class-divisions) - [Campus](#page-glossary.campus) - [Classe](#page-glossary.class) - [Gruppo](#page-glossary.group) ### 3.10 Passaggio 5 — Allineamenti e gruppi di gruppi *Source: `help/it/timetables/alignments-and-groups-of-groups.md` · id: timetables.alignments-and-groups-of-groups · Audience: admin · Updated: 2026-05-10* Questo passaggio è **facoltativo** — lo salti se non ha corsi comuni interclasse. Diventa necessario non appena alunni di classi diverse devono seguire **uno stesso corso insieme** (latinisti di più classi, opzioni interclasse, specialità, ecc.). #### Allineamenti Utilizzabili in **tutti** i tipi di orario, ma soprattutto pertinenti per gli orari **ricorrenti** (settimanale / ciclico) con classi parallele di struttura identica. Veda la pagina di riferimento: [Allineamenti di gruppi](#page-core-concepts.alignments). In sintesi: - Crei prima, in ciascuna classe interessata, un **gruppo** con lo stesso nome (« Latinistes » in 8A, in 8B, in 8C). - Poi, nella scheda **Allineamento dei gruppi**, clicchi su Aggiungere un allineamento e colleghi i gruppi delle tre classi. - Verifichi che i **volumi orari siano identici** tra i gruppi allineati (altrimenti Omniscol emetterà una diagnosi di incoerenza). #### Gruppi di gruppi Veda la pagina di riferimento: [Gruppi di gruppi](#page-core-concepts.groups-of-groups). In sintesi: - Scheda **Gruppo di gruppi**. - Crei il gruppo di gruppi selezionando i gruppi membri (della stessa classe o di classi diverse). - Assegni poi i corsi al gruppo di gruppi — appariranno in tutte le classi parenti. - Modificabile in qualsiasi momento (aggiunta / rimozione di gruppi membri). #### Assegnazione diretta di più gruppi a una lezione Esiste anche una scorciatoia per **assegnare più gruppi direttamente a una lezione**, senza creare un gruppo di gruppi con nome. Questa modalità è comoda per un'esigenza **puntuale** o esplorativa: - spunta più gruppi nel selettore di gruppo della lezione; - la lezione è allora condivisa tra questi gruppi senza creare un'entità dedicata con nome; - può tornare in seguito a un gruppo semplice, oppure formalizzare il caso in un gruppo di gruppi se l'esigenza diventa duratura. Per contro, è **meno leggibile** e **meno riutilizzabile** di un gruppo di gruppi con nome: si perde l'intenzione gestionale esplicita ed è più difficile individuare, rieditare o riapplicare lo stesso raggruppamento su più lezioni. #### Quando usare l'uno o l'altro | Situazione | Strumento | | --- | --- | | Corso comune ricorrente in modalità settimanale / ciclica | **Allineamento** | | Corso comune puntuale o evolutivo | **Gruppo di gruppi** | | Composizione soggetta a cambiamenti | **Gruppo di gruppi** | | Esigenza puntuale senza struttura con nome | **Assegnazione diretta di più gruppi** | | Configurazione fissa definitiva | **Allineamento** o **gruppo di gruppi** | #### Errori tipici - **Volumi diversi tra i gruppi allineati.** Se un gruppo ha 3 ore di latino e un altro 2, l'allineamento emette una diagnosi. O si armonizza, o si toglie l'allineamento. - **Corso comune a 2 sole classi** su 3 allineate. Perché una delle classi abbia il proprio corso indipendente in quello slot, occorre duplicare il suo gruppo e togliere l'allineamento del clone. - **Alunni con doppia iscrizione** (per esempio un alunno che segue il latino in 8A ma è iscritto in 8B). Soluzione: creare un gruppo « Latinistes » in 8A *e* in 8B con lo stesso alunno in entrambi, poi allineare. #### E poi Passaggio successivo: [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution). #### Procedura — Creare un allineamento interclasse 1. **Un allineamento** dichiara che più gruppi di **classi diverse** devono seguire uno stesso corso, alla stessa ora, nella stessa aula, con lo stesso professore. Caso tipico: i latinisti di 8A, 8B, 8C. 2. **Prerequisito**: crei prima, **in ciascuna classe interessata**, un gruppo con lo **stesso nome logico** (`Latinistes` in 8A, in 8B, in 8C). Veda [Creare una classe con i suoi gruppi](#page-timetables.creating-classes). 3. **Scheda Allineamento dei gruppi** → clicchi su Aggiungere un allineamento. Selezioni i gruppi delle classi interessate (`Latinistes 8A`, `Latinistes 8B`, `Latinistes 8C`). Confermi. 4. **Verifichi i volumi orari**: devono essere identici tra i gruppi allineati (3 ore di latino ovunque, per esempio). Altrimenti, Omniscol emette una diagnosi di incoerenza. 5. **Modalità calendario**: preferisca i [gruppi di gruppi](#page-core-concepts.groups-of-groups) che sono più flessibili (modificabili a posteriori, aggiunta / rimozione di gruppi senza duplicare). Pulsante Aggiungi un gruppo di gruppi nella scheda dedicata. Se l'esigenza è **puntuale**, può anche assegnare più gruppi direttamente alla lezione dal selettore di gruppo, senza creare un gruppo di gruppi con nome. 6. **Passaggio successivo**: [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution). #### Vedi anche - [Allineamenti di gruppi](#page-core-concepts.alignments) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Corso trasversale](#page-glossary.transverse-course) - [Allineamento dei gruppi](#page-glossary.alignment) - [Gruppo di gruppi](#page-glossary.groups-of-groups) ### 3.11 Fase 6 — Ripartire le ore e creare le lezioni *Source: `help/it/timetables/hour-distribution.md` · id: timetables.hour-distribution · Audience: admin · Updated: 2026-06-25* Ha già dichiarato i volumi orari per materia su ciascuna classe (fase 4). È qui che si scompongono questi volumi in **lezioni individuali**. La schermata si articola in due parti: - **A sinistra**: l'elenco delle classi e dei loro **corsi** (le materie della classe, eventualmente declinati per tipo), con un contatore dinamico delle ore già create per corso. - **A destra**: le lezioni create per la classe selezionata. #### Tre modalità di visualizzazione Il pannello di destra si lavora in **tre modalità**, che si commutano con il selettore in alto a sinistra del pannello. Ciascuna ha la sua ragion d'essere, e si passa dall'una all'altra **senza perdere il lavoro in corso**. ##### Post-it (predefinito) Le lezioni appaiono come **schede** ordinate per materia o per data (per gli orari di tipo calendario). È la modalità dettagliata in tutto il resto di questa pagina: doppio clic per creare, trascinare il bordo per la durata, icone della scheda per gli attributi. - **Vantaggi**: molto visivo; ideale per **creare** le lezioni, scomporre i volumi, regolare le durate trascinando e gestire le lezioni complesse (alternate, concatenate…) direttamente sulla scheda. - **Svantaggi**: poco pratico per agire su **molte** lezioni in una volta, per ottenere una vista d'insieme filtrata con precisione, vedere i posizionamenti e posizionare rapidamente le lezioni. ##### Orari (riorganizzazione) Le lezioni si visualizzano in una disposizione vicina all'orario, pronte per essere **riorganizzate in blocco**. - **Selezione**: un clic seleziona una lezione e apre una scheda interattiva. - **Multi-selezione**: **Maiusc+clic** estende la selezione a un **intervallo**. Le lezioni selezionate si modificano allora **insieme** su una scheda comune (durata in blocco, attributi comuni…). - **Filtri dinamici** e **scelta delle giornate da visualizzare** restringono la visualizzazione a ciò che sta trattando. - **Filtri «in attesa»**: isoli le lezioni **in attesa di aula** o **in attesa di professore** per completare le assegnazioni mancanti; delle pastiglie di avviso segnalano ciò che resta da completare. - Una **commutazione giorni / entità** riorienta l'asse della pianificazione in base a ciò che sta confrontando. - **Vantaggi**: posizionamento manuale molto efficace, viste incrociate (classe + professore, per esempio), riorganizzazione di numerose lezioni, filtraggio mirato per trattare le mancanze, modifica **in blocco** rapida direttamente su un calendario. - **Svantaggi**: meno diretto dei post-it per la creazione iniziale, nessuna creazione di lezioni complesse, meno filtraggio fine per la visione e la modifica in blocco. ##### Elenco Una **vista a tabella** delle lezioni: una **riga per lezione**, una **colonna per informazione** (stato, classe, materia, durata, posizione, settimana alternata, professore, gruppo, aula, organico, risorsa, promemoria). - **Ordinamento**: **ogni colonna** è ordinabile — faccia clic sulla sua intestazione per ordinare, faccia di nuovo clic per invertire il senso (crescente / decrescente). - **Filtraggio per colonna**: sotto ogni intestazione, un **menu a discesa a scelta multipla** filtra la colonna (a volte **due** menu per una colonna composta come giorno + ora; un campo a intervalli `>=10, <5, 10-20` per l'organico). Più valori in **uno stesso menu** si combinano in **OPPURE**, salvo che siano valori di tipi diversi (per esempio, sulle aule: tra le etichette, la videoconferenza, la dimensione e il nome), nel qual caso è una **E**; dei filtri posti su **più colonne** si sommano in **E**. Un pulsante reimposta tutti i filtri. - **Impaginazione**: per i grossi volumi, l'elenco si impagina; la dimensione della pagina si **adatta automaticamente** (da qualche centinaio a qualche migliaio di righe) per restare fluido. - **Modifica di massa semplificata**: spunti le lezioni volute (colonna di selezione), poi utilizzi il **pulsante d'azione nell'intestazione** della colonna (durata, professore, gruppo, aula…) per applicarlo **in una volta** a tutta la selezione. - **Allocazione automatica delle aule**: scelga un **insieme di lezioni** e un **insieme di aule**; l'algoritmo propone un'**assegnazione ottimale** (organici, vincoli delle aule, disponibilità), che **regola riga per riga** prima di confermare. Veda [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment). - **Vantaggi**: vista d'insieme ordinabile, **filtraggio fine per colonna**, modifica e assegnazione di aule **in massa**. - **Svantaggi**: meno contesto visivo temporale rispetto alle altre due modalità, nessuna creazione di lezioni complesse. #### Creare una lezione Una *lezione* è un'occorrenza individuale di un **corso** (la sua materia, una durata, a volte un gruppo, generalmente un professore e un'aula), posizionata poi sull'orario. Selezioni una classe, poi **faccia doppio clic su un corso**: viene creata una lezione della materia con i valori predefiniti (durata = unità di tempo della classe, professore/i del corso, aula predefinita se prevista). Nasce **senza posizione** e raggiunge le **lezioni non ancora posizionate**, pronta per essere posizionata dall'algoritmo o a mano. Il doppio clic funziona nelle tre modalità; l'elenco dei corsi si trova semplicemente in un punto diverso: al centro nei post-it, **sotto ciascuna classe nel pannello di sinistra** negli orari e nell'elenco. Per poi **regolare** la lezione (durata, gruppo, professore, aula, risorsa), l'interfaccia dipende dal modo in cui si visualizza: - **Finché è una scheda** — nei post-it, oppure non ancora posizionata nella vista orari — trascini il **bordo inferiore** per la durata e faccia clic sulle **icone** della scheda per gli attributi. - **Una volta posizionata sul calendario, o nell'elenco**, le regolazioni passano da un **menu a discesa**: la scheda *Modifica della lezione* (clic sulla lezione del calendario), oppure i menu di riga e di colonna dell'elenco — questi ultimi che permettono in più la modifica **in massa**. #### Scomporre un volume orario Esempio: le 4 h settimanali di un corso di matematica possono dare: - 4 lezioni da 1 h, oppure - 2 lezioni da 2 h, oppure - 1 lezione da 2 h + 2 lezioni da 1 h. Sta a Lei scegliere in base al Suo ritmo pedagogico. Il contatore del corso segue il Suo avanzamento in continuo (veda più sotto). ##### Distribuzione automatica Il menu Azioni propone una **Distribuzione automatica** che colma in una volta il **volume mancante** di ciascun corso: aggiunge lezioni della durata scelta (1 o 2 fasce della griglia, 3 e 4 in calendario — il valore in ore dipende quindi dalla durata della fascia dell'orario) e termina con una lezione più breve se il resto non è intero. Rispetta le lezioni già create, imposta i professori e l'aula predefinita, e lascia tutto **non posizionato**. Agisce solo sui **corsi visibili**: la combini con il **filtro** (Filtrare) per materia o per tipo per ripartire, per esempio, solo i «Corsi teorici». In **elenco**, tratta **tutte le classi** in una volta; altrove, la **classe selezionata**. #### Il contatore delle ore per corso Ciascun corso, a sinistra, porta un contatore che oppone le **ore create** al **volume obiettivo** dichiarato alla fase 4 (per esempio `3 h / 4 h`). È l'**aspetto della scheda** che segnala il Suo avanzamento: - **Sotto il volume**: aspetto normale — restano ore da creare. - **Esattamente al volume**: la scheda **si attenua** (opacità ridotta), segno che è completata. - **Al di sopra del volume**: **bordo rosso** — ha creato troppe ore. La pastiglia del contatore, invece, riprende semplicemente il **colore della materia** (può quindi essere verde, blu… senza rapporto con l'avanzamento); al passaggio del mouse, la scheda si sottolinea con il colore d'accento dell'interfaccia. Il passaggio del mouse mostra anche una bolla che dettaglia la **ripartizione** delle lezioni create (durate, tipi, settimane alternate, bozze / annullate). ##### Sottogruppi e indicatore di equilibrio Quando un corso è suddiviso in **partizione** (più sottogruppi che hanno lezione **contemporaneamente**, tipicamente uno sdoppiamento), il contatore non **moltiplica** per il numero di gruppi: una partizione conta **una sola volta** — altrimenti il totale mostrerebbe `n × volume`, che non avrebbe senso. Resta da verificare che tutti i sottogruppi ricevano lo stesso volume: è il ruolo dell'icona [scale-balanced] che compare allora a destra del corso. - **Bilancia verde** — *Gruppi in partizione in equilibrio*: tutti i sottogruppi hanno lo stesso numero di ore. - **Bilancia arancione** — *Gruppi in partizione in disequilibrio*: un sottogruppo ha più o meno ore degli altri. Il passaggio del mouse sull'icona elenca il **dettaglio per gruppo** (ore di ciascun sottogruppo), per individuare immediatamente quello da recuperare. #### Duplicare una lezione Coesistono due livelli di duplicazione. **Clone rapido.** L'icona Duplicare — presente sulla scheda post-it come su ciascuna riga dell'elenco — crea **una copia** della lezione nella **zona temporanea** (non posizionata), attributi compresi. Ideale per creare in serie lezioni identiche. **Duplicazione avanzata.** Nella scheda della lezione (popup *Modifica della lezione*), il pulsante copia con chevron apre un menu ben più ricco, sfruttato soprattutto nella vista **orari / calendario**. Si sceglie prima **quante** copie (da 1 a 999) — oppure, su un orario di tipo calendario, **fino a una data** — poi **come** posizionarle: - **Nuova lezione nella zona temporanea** — copie lasciate non posizionate. - **Stessa fascia oraria** — ripete la lezione sulla stessa fascia. - **Prossima/e fascia/e libera/e** — cerca automaticamente le fasce compatibili con la durata. - **Giorno/i successivo/i** / **precedente/i** — sposta sui giorni vicini. - **Settimana/e successiva/e** / **precedente/e** — *(solo calendario)* riporta da una settimana all'altra. - **Scegliere le fasce** — indica Lei stesso le fasce libere sulla pianificazione. Sulle opzioni per giorno o per settimana, un pulsante **«libera/e»** limita la ricerca alle sole fasce non occupate. In calendario, questa ricerca può persino estendersi oltre l'orario corrente quando è attivo un confronto tra orari. #### Promemoria Può allegare un **promemoria** (commento libero) a una lezione tramite l'icona Commento. Sono possibili più promemoria, con **livelli di visibilità** diversi: - solo amministratori, - amministratori + professori, - tutti (visibile agli studenti e sul pannello informativo). I promemoria appaiono nelle bolle al passaggio del mouse sulle lezioni negli orari. #### Lezioni complesse Per le configurazioni sofisticate, veda la pagina dedicata: [Lezioni complesse](#page-core-concepts.complex-lessons). In sintesi: - **Alternate** (settimana A/B) — Aggiungere una settimana in alto a destra della lezione, aggiunge una settimana alternata. - **Concatenate** (consecutive) — trascinare e rilasciare una lezione sotto un'altra. - **Associate** (alternanza mezze classi) — pulsante che compare tra due lezioni concatenate. - **In compresenza** (più professori sulla stessa lezione) — selezione multi-professore su Assegnare i professori. #### Azioni di massa Il menu Azioni in alto a destra dà accesso alle operazioni massive: - **Annullare il posizionamento** di tutte le lezioni (tranne quelle bloccate), - **Annullare i blocchi** di posizionamento, - **Cancellare le assegnazioni di aule**, - **Assegnare le aule preconfigurate** (della classe o del professore predefinita, escluse le aule speciali), - **Distribuzione automatica** delle lezioni su 1 o 2 periodi, - **Import / export foglio di calcolo** (cfr. [Import massivo](#page-timetables.mass-import)), - **Eliminare tutte le lezioni** di una classe ⚠. #### Rilevamento dinamico degli errori A ogni modifica, Omniscol verifica la coerenza e mostra gli avvisi in alto sullo schermo e sulle classi / lezioni interessate. Veda [Diagnostica](#page-glossary.diagnostic). #### Salvare ⚠ L'eliminazione di una lezione è **immediata e definitiva** (salvo che non abbia ancora salvato). Salvi regolarmente con Salvare. Non esiste una funzione Annulla / Ripeti globale su questa schermata. Prima di registrare, rilegga le eliminazioni e le azioni di massa. #### E poi Fase successiva: [Generazione automatica](#page-timetables.generation). #### Procedura — Ripartire le ore di un corso 1. **Ha dichiarato i volumi orari di ciascun corso** sulle sue classi alla fase 4. Questa fase **scompone** questi volumi in lezioni individuali (una lezione = una fascia posizionata poi dall'algoritmo o a mano). 2. **Selezioni una classe a sinistra.** Il pannello di destra mostra le lezioni già create per questa classe, raggruppate per corso. Il contatore di ciascun corso oppone le ore create al volume obiettivo (`3 h / 4 h`): la scheda si attenua quando il volume è raggiunto, passa a bordo rosso se è superato. 3. **Faccia doppio clic su un corso** per aggiungere una lezione con i parametri predefiniti (durata, tipo). Trascini il **bordo inferiore** della lezione per regolare la durata. Faccia clic sulle **icone** nella scheda per modificare gruppo, professore, aula, risorse. 4. **Scomponga il volume come vuole**: un corso di 4 h = 4 lezioni da 1 h, oppure 2 lezioni da 2 h, oppure un misto. La scheda del corso si attenua non appena è esattamente al volume obiettivo. In partizione (sottogruppi simultanei), un'icona [scale-balanced] verde / arancione segnala se tutti i sottogruppi ricevono lo stesso volume. 5. **Per lezioni identiche in serie**, crei la prima poi **duplichi**: clone rapido verso la zona temporanea tramite Duplicare, oppure duplicazione avanzata dalla scheda (stessa fascia, giorni / settimane vicini, fasce libere…), soprattutto nella vista calendario. 6. **Lezioni complesse** (alternate A/B, concatenate in doppio periodo, associate con rotazione, in compresenza con più professori): veda le icone dedicate sulla scheda della lezione e la pagina [Lezioni complesse](#page-core-concepts.complex-lessons). 7. **Fase successiva**: [Generazione automatica](#page-timetables.generation). #### Vedi anche - [Lezioni complesse](#page-core-concepts.complex-lessons) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) - [Corso](#page-glossary.course) - [Lezione / Sessione](#page-glossary.lesson) ### 3.12 Assegnazione automatica delle aule *Source: `help/it/timetables/auto-room-assignment.md` · id: timetables.auto-room-assignment · Audience: admin · Updated: 2026-06-27* L'**assegnazione automatica delle aule** attribuisce **in una sola volta** un'aula a un insieme di lezioni selezionate. Lei sceglie un **insieme di aule candidate**, l'algoritmo propone un'assegnazione ottimale e Lei **convalida dopo la rilettura** — riga per riga se necessario. È uno strumento di **sola ripartizione delle aule**. Non sposta le lezioni nel tempo, non ne cambia la durata, non assegna risorse e non rilancia la generazione completa dell'orario. Per far collocare le aule **durante** la generazione, veda piuttosto [Generazione automatica](#page-timetables.generation). #### Dove trovarla Questo strumento vive nella **modalità elenco** dello schermo [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) (la vista a tabella, una riga per lezione). 1. Visualizzi le lezioni in **modalità elenco**. 2. **Spunti** almeno due lezioni (colonna di selezione). Se necessario, si serva dell'**ordinamento** e dei **filtri per colonna** per isolare le lezioni da trattare — per esempio quelle **in attesa di aula**. 3. Apra l'azione di aula raggruppata dell'intestazione, Assegnare un'aula. 4. Nel selettore di aule, attivi la modalità Assegnazione automatica delle aule. Le lezioni in **remoto** o in **autonomia** (secondo la loro [modalità](#page-glossary.lesson-modality)) sono ignorate: non hanno bisogno di un'aula fisica. Le lezioni **ibride** restano prese in considerazione. Lasci **fuori dalla selezione** le lezioni la cui aula è **bloccata**: lo strumento non forza un blocco. #### Scegliere l'insieme di aule candidate In modalità automatica, il selettore mostra le aule raggruppate per **sito** poi per **edificio**, con caselle di spunta a tre livelli: - spuntare un **sito** prende tutte le sue aule idonee; - spuntare un **edificio** prende tutte le aule di quell'edificio; - spuntare un'**aula** la aggiunge singolarmente. Le aule già assegnate alle lezioni selezionate sono **pre-spuntate**. Un' aula la cui **specializzazione** non corrisponde ad alcuna lezione selezionata, o **troppo piccola** per tutte le lezioni compatibili, è **disattivata**. La capienza passa al **rosso** quando l'aula non può accogliere alcuna delle lezioni compatibili, all'**arancione** quando ne accoglie solo una parte. Confermi l'insieme per avviare il calcolo. #### Cosa fa l'algoritmo A partire dall'insieme scelto, l'algoritmo attribuisce **un'aula per lezione** rispettando **regole rigide** e ottimizzando il resto: - la **specializzazione** richiesta dalla materia della lezione; - la **capienza** dell'aula rispetto all'organico della lezione; - l'**occupazione esistente** dell'aula nello slot — lezioni di altri orari o di altri account collegati, eventi, vincoli orari di aula, [aule grandi](#page-glossary.large-room) condivise; - una **preferenza per il sito** di riferimento della lezione; - le **settimane alternate**: due lezioni che non cadono mai nella stessa settimana possono riutilizzare la stessa aula. L'algoritmo può **riorganizzare le aule tra le lezioni selezionate** per sistemarle meglio, e preferisce la **più piccola aula adatta**. Quando l'aula attuale è già adatta e un'altra apporterebbe solo un guadagno marginale, la **mantiene** anziché produrre un cambiamento inutile. Se **nessuna** aula dell'insieme è adatta, la lezione è lasciata **senza soluzione**. #### Rileggere, regolare, applicare Il calcolo apre una **finestra di anteprima**: finché è aperta, l'orario reale **non viene modificato**. Ogni riga porta uno **stato** — assegnata, invariata, senza soluzione, o regolata manualmente — nonché l'aula **prima** e l'aula **proposta**. - **Regolare una riga**: clicchi la sua aula proposta per aprire il selettore classico. La scelta manuale **non è limitata** all'insieme candidato di partenza; la riga passa allo stato « regolata » e gli eventuali conflitti si ricalcolano subito su tutte le righe. - **Reimpostare**: un pulsante ripristina la proposta dell'algoritmo sulle righe regolate. - **Deselezionare** una riga la **esclude** dall'applicazione. - **Convalida** applica le righe spuntate all'orario; **Annulla** chiude senza cambiare nulla. Dopo l'applicazione, le lezioni modificate **lampeggiano** e un riepilogo indica il **numero di lezioni modificate, invariate e senza soluzione**. #### Da notare - Una lezione che portava **più aule** può essere ricondotta a **una sola** dall'assegnazione automatica. - Una lezione **senza slot posizionato** può comunque ricevere un'aula (per insieme, specializzazione, capienza e sito), ma nessun conflitto orario può allora essere verificato per essa. - Per **collocare solo le aule predefinite** (della classe o del professore, escluse le aule speciali) o **cancellare** delle assegnazioni, il menu Azioni propone azioni di massa dedicate — veda [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution). #### Vedi anche - [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - [Specializzazioni delle aule](#page-core-concepts.classroom-specializations) - [Aula grande](#page-glossary.large-room) ### 3.13 Fase 6 bis — Importazione massiva dei corsi da foglio di calcolo *Source: `help/it/timetables/mass-import.md` · id: timetables.mass-import · Audience: admin · Updated: 2026-06-02* Se ha già l'elenco dei suoi corsi in un foglio di calcolo — un export dal suo SIS, un orario preparato in anticipo su Excel, o addirittura un export di un altro software come Hyperplanning o Aurion — può **copiarlo e incollarlo** direttamente in Omniscol. #### Accedere all'importazione Nel menu Azioni (sulla schermata di distribuzione delle ore), scelga **« Tabella - importare / esportare »**. Se non è ancora stata creata alcuna classe, è disponibile anche un link diretto. L'importazione si svolge in **quattro fasi**. #### Fase 1 — Incollare la tabella Si apre un'area modificabile con un **modello di colonne predefinito** da Omniscol. Le colonne sono tipizzate per posizione (3ª colonna = materia, ecc.); può **riorganizzare le colonne del modello** affinché corrispondano all'ordine del suo foglio di calcolo di origine — il che rende pulito il copia-incolla da Excel o Google Sheets, senza riscrivere il suo file. Campi riconosciuti: - **Classe** + **materia** (come minimo, affinché un corso sia valido), - **Durata**, oppure **ora di inizio + ora di fine** (e **giorno** per le lezioni pre-posizionate), - **Gruppo** (separatori liberi per i multi-gruppi), - **Tipo di lezione** (esercitazione, laboratorio, lezione frontale…), - **Professore/i** (separatori liberi), - **Sito** + **Aula/e** (sono possibili più aule per lezione, cfr. [multi-aula](#page-glossary.multi-room)), - **Risorsa/e**, - **Settimane alternate** (formato `A/B`, `1/2`…), - **Commento**. Può anche importare l'**elenco dei corsi già creati** (ciò che fa l'export) se vuole rielaborarli in Excel e reimportarli. #### Fase 2 — Verifica dell'orario e dei siti Omniscol mostra le ore rilevate (ancora modificabili). Se vengono ipotizzati più siti, può **trascinare** le classi, le aule e le risorse assegnate erroneamente sul sito corretto. Se è stato creato un sito superfluo, lo svuoti e scomparirà. #### Fase 3 — Disambiguazione Dopo l'analisi dei valori importati, la tabella riappare con **menu a discesa** sui campi ambigui. Verifichi e corregga le corrispondenze proposte. È qui che si decide, per esempio: - « Maths » = quale materia esatta (con o senza tipo)? - « M. Dupont » = quale dei tre M. Dupont? - « A102 » = l'aula A102 del sito Lyon, del sito Avignon, o un'altra? #### Fase 4 — Creazione delle entità sconosciute Se l'importazione ha rilevato entità che non esistono nella base dati (classi, gruppi, gruppi di gruppi, professore, materia personalizzata, tipo di lezione, sito, aula, risorsa…), un'ultima fase le chiede: - di **confermare la creazione** nell'orario, - per le **materie personalizzate** e alcuni **professori**, di richiedere se necessario una creazione lato **Amministrazione** per renderle disponibili in tutta la scuola. #### Limiti L'importazione automatizza la preparazione, ma non sostituisce una verifica umana: - I **corsi complessi** (alternanze multiple, concatenazioni, associazioni) sono a volte ricostruiti in modo imperfetto — preveda una passata manuale di rifinitura. - Su nomenclature interne molto specifiche, alcune colonne resteranno ambigue — deciderà alla fase 3. - Per le **migrazioni dedicate** da un software preciso (Aurion, ASC…), esistono degli [adattatori specializzati](#page-migration.overview). #### Procedura — Preparare e poi importare i corsi 1. **Prima di fare clic su Importa**, dedichi 10 minuti a preparare il file di origine. Un file pulito = un'importazione senza andirivieni. In Excel o Google Sheets, elimini le righe unite, le intestazioni multi-riga e i subtotali. **Una riga = una lezione.** Mantenga etichette coerenti per classi, materie, professori, gruppi, siti, aule e risorse. 2. **Apra la schermata di importazione** dalla schermata di distribuzione delle ore, menu *Azioni → Tabella - importare / esportare*. Riorganizzi le colonne del modello affinché corrispondano all'ordine del suo foglio di calcolo, poi **incolli la tabella** nell'area modificabile. Questa è la fase 1. 3. **Fase 2 — verifica dell'orario e dei siti.** Omniscol mostra le ore rilevate e i siti ipotizzati. Se necessario, trascini le classi, le aule e le risorse sul sito corretto, oppure svuoti un sito superfluo per farlo scomparire. 4. **Fase 3 — disambiguazione.** La tabella riappare con menu a discesa sui campi ambigui: materia esatta, professore omonimo, aula omonima, ecc. Decide qui. 5. **Fase 4 — creazione delle entità sconosciute.** Confermi le creazioni proposte in base al suo file: classi, gruppi, gruppi di gruppi, professori, materie e tipi, siti, aule, risorse. Per le materie personalizzate e alcuni professori, può anche richiedere una creazione lato Amministrazione. I corsi vengono poi inseriti nell'orario. 6. **In uscita**, ottiene un orario parzialmente configurato. Preveda una passata manuale di rifinitura per i casi complessi (alternanze multiple, concatenazioni, associazioni) che l'importazione non ricostruisce sempre completamente. Per le migrazioni da un altro software, veda [Migrazione da un altro software](#page-migration.overview). #### Vedi anche - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Migrazione da un altro software](#page-migration.overview) - [Fase precedente — Distribuire le ore](#page-timetables.hour-distribution) - Fase successiva — [Generazione automatica](#page-timetables.generation) ### 3.14 Passaggio 7 — Generazione automatica *Source: `help/it/timetables/generation.md` · id: timetables.generation · Audience: admin · Updated: 2026-06-24* Una volta create le lezioni, le si posiziona sulla griglia. Costruire un orario è nella pratica un **ciclo**, non un gesto unico: 1. si **collocano alcune lezioni a mano** — per ancorare gli elementi immutabili o bloccare vincoli forti (interventi datati, esami, fissaggi manuali); 2. si **genera** (tutto o in parte) affinché l'algoritmo collochi il resto sotto vincoli; 3. si **regola ai margini** — correggere un caso particolare, spostare una lezione, cambiare idea; 4. e il tutto **può ripetersi**: si rigenera man mano (lezioni aggiunte, oppure — in modalità calendario — per intervalli di date, per lotti di classi o di sedi). Si può anche fare tutto **100% a mano**, senza algoritmo. Il posizionamento manuale (collocare, spostare, bloccare, una a una o in lotto) ha la sua pagina dedicata: [Posizionamento manuale](#page-timetables.manual-placement). Per il flusso d'insieme, veda [Panoramica del modulo](#page-timetables.overview). Questa pagina tratta la **generazione automatica**. #### Disponibilità Disponibile sugli orari [settimanali](#page-glossary.weekly-timetable), [ciclici](#page-glossary.cyclic-timetable) e [a calendario](#page-glossary.calendar-mode). In modalità calendario, le lezioni sono collocate su date reali e le opzioni possono limitare l'intervallo di date da generare. #### Preparazione Prima di cliccare Generare un orario: - espanda la scheda **Generazione** (denominata Verifica su un orario a calendario) per verificare le statistiche globali, - corregga le **allerte critiche** (rosse) — bloccano la generazione, - rilegga gli **avvertimenti** (arancioni) — non bloccano ma segnalano un rischio (disponibilità troppo vincolanti, capacità al limite, ecc.). La schermata indica anche: - numero di lezioni create vs lezioni posizionate, - volumi orari inseriti vs servizi orari dei professori, - gruppi assegnati ad almeno una lezione (per individuare i gruppi dimenticati o inutilizzati). #### Avvio Clicchi su Generare un orario. Omniscol avvia un ambiente di calcolo dedicato e parallelizzato. La durata dipende dalla dimensione dell'orario, dal numero di vincoli e dalle opzioni scelte. Non c'è alcuna coda da gestire sul lato scuola; l'inizializzazione richiede spesso circa una decina di secondi prima che il calcolo cominci realmente. Il calcolo è **limitato a venti minuti**, ma nella pratica è ben oltre il necessario: un orario di circa 200 lezioni risponde spesso in una ventina di secondi — l'algoritmo è quasi istantaneo, è soprattutto l'avvio della macchina a pesare — e circa 600 lezioni in un minuto circa. Per un istituto molto grande che si avvicinasse a questo limite, il team Omniscol può aumentare la potenza della macchina di calcolo, su richiesta. #### Opzioni di generazione Per impostazione predefinita, la generazione colloca tutte le lezioni create e non posizionate. Può anche spostare lezioni già posizionate se ciò migliora l'orario. Le lezioni bloccate mantengono la loro posizione. Il menu delle opzioni consente in particolare di: - gestire le aule con tre scelte: assegnazione ottimizzata per impostazione predefinita, sola verifica, oppure ignorare completamente le aule; - selezionare solo determinate classi o determinate materie; - limitare un orario a calendario a una finestra di date mirata; - ignorare le aule già assegnate o i posizionamenti attuali; - assegnare solo le aule senza ricalcolare l'intero posizionamento; - avviare una generazione rapida senza ottimizzazione; - consentire il posizionamento flessibile sulle sotto-fasce della griglia oraria quando l'orario utilizza sotto-fasce. I parametri avanzati di ottimizzazione consentono inoltre di ridurre i buchi, evitare due lezioni della stessa materia lo stesso giorno, distribuire le lezioni, fissare minimi o massimi di ore, o scegliere il numero di giorni di presenza dei professori. Gli usi variano a seconda dei paesi: in Francia, alcuni istituti cercano di ridurre il numero di giorni di presenza dei professori; in altri contesti, si può al contrario preferire distribuire tali giorni, ad esempio per organizzare altri incarichi in sede. #### Opzioni specifiche della modalità calendario In modalità calendario, le opzioni avanzate possono limitare la generazione a una **finestra di date mirata** più breve dell'intervallo totale dell'orario. È utile per generare solo una parte dell'anno: test su un mese, costruzione progressiva di un semestre, o ripresa di un periodo già preparato. L'altra opzione importante è il **compattamento delle giornate** per le classi. Per impostazione predefinita, l'algoritmo cerca piuttosto un equilibrio sui giorni disponibili; se si genera solo una parte delle lezioni dell'anno, questo comportamento può distribuire artificialmente le lezioni. Il compattamento consente di richiedere un raggruppamento: - a inizio finestra; - a fine finestra; - senza preferenza di inizio o fine, ma mantenendo le giornate il più compatte possibile. #### Come lavora la generazione Comprendere la logica dell'algoritmo aiuta ad anticipare ciò che collocherà, ciò che sacrificherà e come orientarlo. Persegue **due obiettivi, in quest'ordine**: 1. **Far entrare tutto** — la priorità assoluta: posizionare *tutte* le lezioni rispettando i vincoli rigidi. 2. **Ottimizzare la qualità** — una volta che tutto entra, ridurre i buchi, uniformare le giornate, onorare le preferenze. Parte da uno stato pulito (le lezioni **bloccate** mantengono il loro posto, le altre vengono rigiocate) e colloca **dalla lezione più difficile alla più facile**. La difficoltà deriva soprattutto dalla **ristrettezza dei vincoli**: una lezione il cui professore è disponibile solo un pomeriggio a settimana, o un **blocco di quattro ore** da collocare in un solo pezzo, passa in testa. A parità di difficoltà, alterna le materie e tratta **le più rare prima delle più comuni**, per distribuire equamente le possibilità di ciascuna. ##### Quando non entra tutto: il sacrificio Se l'orario è troppo vincolato per collocare tutto, l'algoritmo **non rinuncia**: sceglie il più piccolo insieme di lezioni da **mettere da parte** affinché il resto entri, poi ottimizza questo orario parziale. Le lezioni sacrificate restano nella barra dei post-it da posizionare. Poiché l'ordinamento ha dato priorità al più difficile e al più raro, sono piuttosto lezioni **facili e numerose** a cedere: la 5ª ora di una materia ad alto volume prima dell'unica ora di una materia rara. Lei mantiene il controllo su questi arbitrati: **blocchi** le lezioni che non devono mai spostarsi — collocate in via prioritaria, non vengono sacrificate — e **allenti il sovravincolo** (fasce aperte, disponibilità) dove è possibile, affinché l'insieme entri. ##### Vincoli rigidi e vincoli flessibili Non tutti i vincoli hanno lo stesso valore: - **Rigidi** — mai violati: l'**occupazione** (un professore, una classe, un gruppo, un'aula o una risorsa non è utilizzata due volte nello stesso momento), le fasce contrassegnate **Indisponibile** (in nero) su un professore, una classe, un'aula, una materia o un gruppo, l'**assenza di un'aula o di una risorsa libera** sulla fascia, i **giorni chiusi**, le **posizioni bloccate** e gli **allineamenti**. - **Flessibili** — tutto il resto, che l'algoritmo può **infrangere** al prezzo di una penalità per riuscire a collocare tutto: le fasce contrassegnate **Indesiderato** (in rosso — da evitare, non vietate) e le preferenze di ottimizzazione (compattezza, distribuzione, raggruppamento per giorno…). Un vincolo di priorità *elevata* pesa di più di uno di priorità *bassa*, ma nessuno è bloccante. L'algoritmo tenta anche allentamenti puntuali (posizionamento sulle sotto-fasce della griglia…) quando è il prezzo da pagare per non sacrificare alcuna lezione. ##### Verificare senza ottimizzare L'opzione di **generazione rapida** (senza ottimizzazione) avvia una passata alleggerita che risponde soprattutto a una domanda: *entra tutto?* Utile per testare la fattibilità di una configurazione prima di investire il tempo di un'ottimizzazione completa. #### Risultato - **Banner verde**: generazione riuscita. Le lezioni del perimetro richiesto hanno potuto essere posizionate e il risultato può essere ispezionato. - **Banner rosso**: non è stata trovata alcuna soluzione completa. Il miglior orario calcolato resta visualizzabile e le lezioni non posizionate compaiono nella barra dei post-it per la diagnosi. Veda [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). #### Consolidare o copiare Dopo una generazione riuscita, Omniscol propone due opzioni: - **Consolidare** nell'orario in corso (il posizionamento sostituisce quello esistente). - **Creare una copia** (l'orario attuale resta intatto, il risultato ottimizzato diventa un nuovo orario). Se prevede di rigenerare in seguito (perché sta costruendo in modo incrementale, ad esempio), **non consolidi**: altrimenti le lezioni già posizionate diventerebbero punti di partenza per la nuova generazione. #### Bloccare una lezione prima di riavviare una generazione Su una lezione già posizionata, utilizzi il **lucchetto** di posizione per bloccarla. La generazione successiva non la sposterà ma regolerà le altre lezioni attorno. Comodo per ancorare le lezioni « immutabili » (interventi esterni fissati, esami datati, aggiustamenti manuali…). Dettagli completi in [Bloccare una lezione](#page-timetables.lesson-lock): blocco in massa, effetti sulla diagnosi (rosso → arancione), comportamento dell'algoritmo. #### Esportare un orario in JSON Il pulsante [download] esporta **solo l'orario corrente** in formato JSON. Non è l'export completo dell'account documentato in [Importazione ed esportazione](#page-admin.import-export). Casi tipici: - conservare una traccia di una bozza o di uno scenario prima dell'eliminazione; - archiviare uno stato intermedio prima di una riorganizzazione importante; - trasmettere questo orario specifico al team Omniscol nell'ambito del supporto. Come per l'esportazione completa dell'account scuola in JSON, la reimportazione non è un uso standard liberamente accessibile sul lato scuola. #### E poi Passaggio finale: [Pubblicare (attivare) un orario](#page-timetables.publication). #### Procedura — Avviare una generazione automatica 1. **La generazione automatica** posiziona le lezioni sulla griglia rispettando decine di vincoli (disponibilità, capacità, allineamenti, specializzazioni, alternanze). Disponibile su orari settimanale, ciclico e a calendario. 2. **Verifichi la scheda Generazione.** Le statistiche globali vi compaiono: lezioni create vs posizionate, volumi orari inseriti vs servizi dei professori, allerte critiche (rosso — bloccano), avvertimenti (arancione — avvisano senza bloccare). 3. **Corregga le allerte rosse** prima di avviare. Finché ne restano, la generazione non può partire — salvo forzare tramite il menu "altre opzioni", ma ciò non è raccomandato. Le arancioni vanno arbitrate ma non impediscono la generazione. 4. **Imposti le opzioni di generazione** se necessario: aule da assegnare, solo verificare o ignorare; classi o materie mirate; generazione rapida senza ottimizzazione; ignorare le aule già assegnate o le posizioni attuali. In modalità calendario, le opzioni avanzate consentono anche di limitare la finestra di date generata e di compattare le lezioni a inizio periodo, a fine periodo o senza preferenza. 5. **Clicchi su Generare un orario.** L'elaborazione gira in background; la schermata indica lo stato della generazione e consente di ispezionare il risultato quando è disponibile. 6. **Salvi** quando il punteggio Le va bene. L'orario è posizionato. Passaggio successivo: passi in rassegna gli eventuali conflitti, regoli a mano i casi particolari (veda [Posizionamento manuale](#page-timetables.manual-placement)), poi pubblichi. 7. **E poi**: [Pubblicare (attivare) un orario](#page-timetables.publication). #### Vedi anche - [Posizionamento manuale](#page-timetables.manual-placement) - [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) - [Risolutore](#page-glossary.solver) - [Rilevare e risolvere i conflitti](#page-timetables.conflicts) ### 3.15 Passo 8 — Pubblicare (attivare) un orario *Source: `help/it/timetables/publication.md` · id: timetables.publication · Audience: admin · Plan: standard · Updated: 2026-06-13* ⚠ Passo **spesso dimenticato**: un orario generato **non viene pubblicato automaticamente**. Finché non è pubblicato, è una bozza — visibile solo nel modulo Gestione degli orari dagli amministratori. È soltanto dopo la pubblicazione che l'orario appare nel modulo [Orario](#page-schedules.consult-and-filter) consultato da tutti gli utenti autorizzati. #### Come pubblicare Nella pagina iniziale del modulo Gestione degli orari: 1. Selezioni l'**anno scolastico** interessato nella **linea del tempo in alto**. Per impostazione predefinita è visualizzato l'**anno scolastico corrente**. Se sta preparando l'inizio dell'anno successivo, clicchi la **freccia destra della linea del tempo** per passare all'anno N+1 — altrimenti tenterà di pubblicare sulle settimane dell'anno in corso, dove le settimane sono già assegnate all'orario attuale. Veda [Linea del tempo e navigazione temporale](#page-core-concepts.timeline-navigation) per il concetto generale. 2. Clicchi su Ripartizione degli orari (Ripartizione degli orari). 3. Appare una griglia: gli orari in righe, le settimane in colonne. 4. Per ogni orario, **selezioni le settimane** in cui si applica (clicchi o trascini sulla striscia). Il pulsante Aggiungere un periodo aggiunge un intervallo supplementare per un orario. 5. Salvi con Salvare. #### Account standard: un orario per settimana Con un account standard è consentita **una sola pubblicazione** per settimana. Se vuole pubblicare due orari diversi, questi devono coprire intervalli disgiunti (per esempio semestre 1 e semestre 2). > _Option: Più orari attivi in parallelo_ #### Pubblicazioni simultanee Quando il suo account dispone di questa capacità (inclusa in Premium), può pubblicare **più orari in parallelo** sulle stesse settimane. Il motore fonde dinamicamente le viste: se due orari pubblicati condividono un professore o un'aula, il suo orario consolidato mostra le lezioni dei due orari. Caso d'uso tipico: un orario settimanale per i corsi ricorrenti del tronco comune + un orario calendario per le masterclass occasionali. #### Orario calendario: pubblicazione binaria Un orario in modalità [calendario](#page-glossary.calendar-mode) non si pubblica per intervalli di settimane (le lezioni sono già datate individualmente). La pubblicazione è binaria — l'orario è pubblicato, oppure non lo è. #### Orario settimanale / ciclico: pubblicazione per intervalli Per gli orari settimanali e ciclici, aggiunge **uno o più intervalli** di pubblicazione, poi salva. Le modifiche in corso appaiono tratteggiate per le aggiunte e in trasparenza per le rimozioni. #### Settimane alternate: quali lezioni su quali date Quando un orario a settimane alternate entra in servizio, ogni settimana reale conserva solo la lezione il cui rango nel ciclo corrisponde al **conteggio delle settimane**. Le vacanze possono sfasare questo conteggio: la **fascia** della schermata [anno scolastico](#page-admin.school-year) permette di forzare i punti in cui riparte in settimana A, affinché le lezioni alternate corrette siano mantenute a ogni data. #### Assegnare gli studenti dopo la pubblicazione Una volta pubblicato l'orario per l'anno scolastico in corso, può **assegnare gli studenti alle loro classi e ai loro gruppi**: 1. Modulo Studenti. 2. Selezioni gli studenti interessati. 3. Assegna a una classe. Gli studenti vedranno il loro orario personalizzato solo una volta effettuata questa assegnazione — e dopo il cambio dell'anno corrente se sta preparando il successivo. #### Procedura — Pubblicare un orario in 5 passi 1. **La pubblicazione rende un orario visibile** nel modulo Orario di tutti gli utenti autorizzati. Finché non è pubblicato, l'orario resta una bozza visibile ai soli amministratori. 2. **Verifichi l'anno scolastico visualizzato** nella linea del tempo in alto. Per impostazione predefinita è l'anno corrente. Per pubblicare sull'anno successivo, clicchi la **freccia destra della linea del tempo** per passare a N+1 prima di continuare. 3. **Clicchi su Ripartizione degli orari.** Appare una griglia con gli orari in righe e le settimane dell'anno scolastico in colonne. 4. **Selezioni le settimane** in cui l'orario deve applicarsi. Clicchi o trascini sulla striscia. Le settimane scelte appaiono colorate; le altre restano bianche. 5. **Salvi la pubblicazione.** L'orario passa immediatamente in produzione: diventa visibile nel modulo Orario di tutti gli utenti autorizzati. 6. **Passo successivo: assegnare gli studenti** alle loro classi e ai loro gruppi. Questa assegnazione può essere effettuata solo dopo una prima pubblicazione. Gli studenti vedranno allora il loro orario personalizzato. #### Vedi anche - [Pubblicazione / Attivazione di un orario](#page-glossary.publication) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [Preparare il nuovo anno scolastico](#page-timetables.next-school-year) ### 3.16 Più orari attivi in parallelo *Source: `help/it/timetables/multiple-active-timetables.md` · id: timetables.multiple-active-timetables · Audience: admin · Options: multiple-active-timetables · Updated: 2026-06-13* > **Option: Più orari attivi in parallelo** Al livello standard, **un solo orario** può essere pubblicato per volta su un dato periodo. È sufficiente per un funzionamento classico di una scuola secondaria di primo o secondo grado. In alcuni contesti — tipicamente istruzione superiore, formazioni modulari, scuole a percorsi multipli — sorge l'esigenza di **pubblicare più orari in parallelo** che si completano a vicenda. Questa capacità è inclusa di base con gli account Premium. In alcuni account scolastici misti, per esempio scuola secondaria di primo e secondo grado, o primaria-secondaria di primo e secondo grado con più orari realmente separati, Omniscol può attivare questa capacità in modo specifico. Il dimensionamento e la fatturazione vengono allora adattati all'esigenza reale. #### Perché più orari in parallelo Alcuni scenari tipici: - **Tronco comune + specializzazioni** — un orario settimanale copre il tronco comune (materie condivise da tutte le promozioni), degli orari per specialità o per percorso si aggiungono sopra con i propri vincoli. - **Regolare + calendario occasionale** — un orario settimanale regolare porta la maggior parte dei corsi, un orario calendario porta le lezioni datate (conferenze, esami, commissioni). - **Siti multipli** — un orario per sito con gestione locale, fusione alla consultazione per gli studenti che passano da un sito all'altro. - **Programmi di durate diverse** — per esempio un percorso EMBA su 18 mesi, un ciclo Grande École in semestri calendario e una preparatoria settimanale, con professori e aule condivisi. Senza questa opzione, questi casi obbligano a fondere tutta la complessità in un solo orario, cosa che diventa rapidamente ingestibile. #### Funzionamento Crea più orari nel modulo Gestione degli orari, come al solito. Al momento della **pubblicazione** sulle settimane, la schermata di distribuzione accetta più orari sulle stesse settimane anziché uno solo. Sul versante del consumo (portali, pannelli informativi, iCal, API), gli orari pubblicati su una settimana sono **fusi dinamicamente**: uno studente vede tutte le lezioni che lo riguardano, indipendentemente da quale orario provengano. All'interno di uno stesso account, gli orari attivi in parallelo condividono le occupazioni delle risorse interessate: aule, professori e, nei casi in cui è pertinente, classi. Ciò permette di evitare che uno stesso professore o una stessa aula sia prenotato due volte da due orari attivi. Il caso delle classi condivise tra più orari esiste anch'esso, ma resta più marginale e dipende fortemente dall'organizzazione pedagogica. #### Rilevamento di conflitti tra orari Due meccanismi si completano a vicenda, a seconda del punto in cui si lavora. ##### Durante la costruzione dell'orario Quando costruisce o riorganizza un orario in Gestione degli orari, il pulsante Sincronizzazione (barra degli strumenti sia della riorganizzazione sia della modifica di un orario calendario, sulle **date condivise**) confronta il suo lavoro con gli **altri orari pubblicati**. Considera automaticamente quelli le cui **date si sovrappongono** a quelle dell'orario in corso e che condividono almeno un **professore**, un'**aula** o una **classe** — in locale (stesso account) come con gli **[account collegati](#page-integrations.linked-accounts)**. Si attiva quindi da sé non appena ci sono risorse comuni (arancione = attivo). Questo accoppiamento automatico collega gli orari **datati (calendario)**. Un'eccezione gradita: **ignora una semplice copia** dell'orario in corso (stesse lezioni). Può così lavorare su una **bozza duplicata** senza essere messo in conflitto con sé stesso. L'occupazione di questi orari entra allora nel motore dei conflitti: - le **fasce candidate** al posizionamento (pastiglie colorate) passano in arancione o rosso se il professore o l'aula è già occupato altrove; - la **diagnostica** segnala le doppie prenotazioni tra orari. Il conflitto segnalato precisa allora chiaramente che proviene da un orario esogeno con il suo riferimento preciso. Il menu a discesa del pulsante elenca gli orari e gli account considerati: deselezioni quelli che non vuole sorvegliare, per esempio per accettare volontariamente una sovrapposizione. ##### Alla consultazione (orario operativo) Una volta pubblicati, gli orari si **fondono** in un orario **operativo** unico — la vista di consultazione in Omniscol (il modulo Orario), e tutto ciò che consuma l'orario (portali, pannelli informativi, iCal, API). I conflitti tra orari vi si leggono naturalmente: un professore (o un'aula) occupato su due lezioni simultanee provenienti da due orari pubblicati le vede sovrapposte sulla griglia fusa. È la logica della fusione: forma l'orario realmente vissuto, **tutti i tipi compresi** (un orario settimanale e un orario calendario inclusi). Nella vista riorganizzazione, questo crea un conflitto. In entrambi i casi, la risoluzione resta un'azione di pianificazione: spostare, adattare o accettare il conflitto a seconda del caso. #### Procedura — Pubblicare un orario regolare + un orario calendario in parallelo 1. **Il caso ibrido classico**: un orario **settimanale** regolare per la maggior parte dei corsi, più un orario **calendario** per le lezioni datate (conferenze invitate, esami, commissioni). 2. **Prerequisito**: due orari creati in Gestione degli orari — uno settimanale con i corsi regolari, uno calendario con le lezioni datate. Li configuri in modo indipendente. Veda anche [Modalità calendario](#page-timetables.calendar-mode). 3. **Avvii la generazione** su ciascun orario separatamente se utilizza il risolutore. Verifichi innanzitutto i conflitti propri di ciascun orario. 4. **Pubblichi l'orario settimanale** sulle settimane desiderate (tipicamente: tutto l'anno). Veda [Pubblicazione](#page-timetables.publication). Poi **pubblichi il secondo orario** (calendario) sulle **stesse settimane**. La schermata di distribuzione accetta più orari in parallelo (contro uno solo al livello standard). 5. **Verifichi la fusione**: apra il portale studente o professore — le lezioni dei due orari appaiono sulla stessa griglia, fuse dinamicamente. iCal, API, pannelli informativi vedono lo stesso. 6. **Conflitti tra orari**: tra un orario settimanale e un orario calendario, la sovrapposizione si vede soprattutto sull'**orario operativo fuso** (consultazione, portali) — se una conferenza (calendario) cade sulla fascia di un corso regolare (settimanale) per lo stesso professore o la stessa aula, le due lezioni vi si sovrappongono. Risoluzione come un conflitto ordinario: spostare, adattare o accettare. #### Vedi anche - [Pubblicazione di un orario](#page-timetables.publication) - [Modalità calendario](#page-timetables.calendar-mode) - [Account collegati e risorse condivise](#page-integrations.linked-accounts) - [Piani e opzioni di Omniscol](#page-overview.plans-and-options) ### 3.17 Posizionamento manuale delle lezioni *Source: `help/it/timetables/manual-placement.md` · id: timetables.manual-placement · Audience: admin · Updated: 2026-06-23* Posizionare una lezione **a mano** significa scegliere lei stesso la fascia oraria, invece di lasciare che sia l'algoritmo a decidere. Questo si combina quasi sempre con la [Generazione automatica](#page-timetables.generation): la costruzione di un orario è un **ciclo** (collocare alcune lezioni → generare → correggere), descritto in [Panoramica del modulo](#page-timetables.overview). #### Quando collocare a mano - **Ancorare gli elementi immutabili prima di generare** — un intervento datato, un esame, una collocazione imposta: lo si colloca (e spesso lo si **blocca**, veda [Bloccare una lezione](#page-timetables.lesson-lock)) affinché la generazione costruisca *intorno* a esso. - **Correggere ai margini dopo una generazione** — spostare una lezione, sistemare un caso particolare, cambiare idea su una fascia oraria. - **Costruire interamente a mano** — su un orario piccolo, o quando si preferisce mantenere il controllo dall'inizio alla fine (veda più sotto). #### Il gesto: puntina, poi fascia oraria colorata Posizionare una lezione **non è mai un trascinamento**. Faccia clic sul pulsante di posizionamento (la puntina, Posizionare sull'orario) della lezione — sulla sua scheda post-it, sulla sua riga di elenco, o nel suo dettaglio (Posizionare sull'orario) se è già collocata. Omniscol mostra allora **tutte le fasce orarie possibili**, colorate in base al livello di conflitto: - **verde** — nessun conflitto; - **giallo** poi **arancione** — conflitti da minori a moderati (il motivo viene mostrato); - **rosso** — conflitto bloccante. Il dettaglio di ogni livello e l'elenco completo dei rilevamenti si trovano in [Conflitti e diagnostica](#page-timetables.conflicts). Le fasce orarie compaiono sulla classe **e** sul professore o sui professori interessati, insieme alle altre lezioni già collocate per aiutare a scegliere. **Faccia clic sulla fascia oraria scelta** per collocarvi la lezione. Per rimuoverla, faccia doppio clic su una lezione già posizionata (torna nell'area delle lezioni non collocate, senza essere eliminata). #### Collocare in blocco — vista orario Faccia clic su Griglia: compare la griglia oraria delle classi / dei professori, comoda per concatenare i posizionamenti. Il gesto non cambia — puntina [thumbtack] di una lezione, poi clic su una fascia oraria colorata. È utile in modalità calendario per fissare date imposte o riprendere localmente il risultato di una generazione. #### Bloccare per fissare un posizionamento manuale Una lezione collocata a mano resta, per impostazione predefinita, spostabile dalla prossima generazione. Affinché **non si sposti più**, blocchi la sua posizione (lucchetto): la generazione costruisce allora intorno a essa. Dettagli (blocco di massa, effetto sulla diagnostica): [Bloccare una lezione](#page-timetables.lesson-lock). #### Fare tutto a mano (senza generazione) Nulla obbliga ad avviare il risolutore. Su un orario settimanale di piccole dimensioni, o quando il posizionamento è molto vincolato da scelte umane, può posizionare **ogni lezione** una a una (o in blocco nella vista orario) e non generare mai. La diagnostica in tempo reale resta attiva: i conflitti (professore, aula, classe, risorsa) sono segnalati man mano, come in generazione. Successivamente pubblica normalmente. Per le lezioni che escono dalla griglia (orari espliciti, esami estesi), veda [Lezioni fuori griglia](#page-timetables.off-grid-lessons). #### E poi Una volta posizionato l'orario — a mano, per generazione, o entrambi — [Pubblicare (attivare) un orario](#page-timetables.publication). #### Vedi anche - [Generazione automatica](#page-timetables.generation) - [Bloccare una lezione](#page-timetables.lesson-lock) - [Lezioni fuori griglia](#page-timetables.off-grid-lessons) - [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) ### 3.18 Modifica di una lezione *Source: `help/it/timetables/lesson-edit.md` · id: timetables.lesson-edit · Audience: admin · Updated: 2026-06-12* Una volta creata la lezione (veda [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution)), ne regola i **campi** uno per uno: materia, gruppo, professore, aula, risorse, durata, promemoria, e — a seconda della Sua offerta — stato e modalità. Questa pagina riepiloga **tutti i campi** di una lezione e come modificarli. #### Dove si modifica una lezione Gli stessi campi si impostano in **tre modi**, a seconda della modalità di visualizzazione della distribuzione delle ore (veda [Tre modalità di visualizzazione](#page-timetables.hour-distribution)): - **Post-it**: ogni scheda di lezione porta una fila di **icone** (una per campo); un clic apre il selettore corrispondente. - **Riorganizzazione**: un clic su una lezione apre una **scheda di corso** che raccoglie questi stessi campi; una multi-selezione li modifica in blocco. - **Elenco**: una **colonna per campo**, con modifica di massa dall'intestazione di colonna sulle lezioni spuntate. Qualunque sia il percorso, è la **stessa lezione** che modifica: i valori sono coerenti da una modalità all'altra, e nulla viene pubblicato finché non ha salvato. #### Campi standard Disponibili su tutte le offerte: - **Materia** Modifica — la materia collegata alla lezione, tra quelle dichiarate sulla classe. - **Gruppo** Assegnare un gruppo — il gruppo o sottogruppo interessato quando la classe è partizionata. - **Professore** Assegnare i professori — il professore o i professori. Selezionare **più** professori sulla stessa lezione corrisponde alla **compresenza** (veda [Lezioni complesse](#page-core-concepts.complex-lessons)). - **Aula** Assegnare un'aula — scelga l'aula principale della lezione; le varianti avanzate sono dettagliate più sotto a seconda delle funzioni attive sull'account. - **Risorse** Assegnare risorse — il materiale impiegato (videoproiettore, tablet, ecc.), con controllo di disponibilità. - **Durata** — trascini il **bordo inferiore** della scheda (modalità post-it) per allungare o accorciare la lezione. - **Posizione e blocco** Posizionare sull'orario — fissi una lezione affinché la generazione non la sposti (veda [Bloccare una lezione](#page-timetables.lesson-lock)). - **Promemoria** Commento — un commento libero, con livelli di visibilità (veda [Promemoria](#page-timetables.hour-distribution)). #### Aula e assegnazione L'assegnazione di un'aula Assegnare un'aula è aperta a tutte le offerte: scelga un'aula dall'elenco, oppure lasci che la **modalità automatica** proponga un'aula compatibile (capienza, etichette, disponibilità). > _Premium_ #### Funzioni avanzate della lezione ##### Stato della lezione Lo **stato** Stato indica a che punto è una lezione nel ciclo di pianificazione. Quattro valori: - **Pianificato** — lo stato normale di una lezione posizionata. - **Bozza** — lezione **nascosta** e **ignorata dalla generazione automatica**: utile per preparare una lezione senza ancora imporla all'orario. - **Annullato** — lezione **visualizzata come annullata** ma conservata per memoria; è **ignorata dalla generazione**. - **Realizzato** — lezione **realizzata**, presa in considerazione nelle dashboard e nella fatturazione. Questo stato è proposto sugli orari di tipo calendario, dove il monitoraggio delle lezioni effettive ha un senso. Lo stato è portato dalla **lezione intera** (e non da una variante di settimana alternata). Lo si cambia lezione per lezione, oppure **in blocco** dalla modalità elenco. ##### Modalità La **modalità** precisa come si svolge la lezione: - **In presenza**; - **A distanza**; - **Ibrido**; - **Studio autonomo**. La modalità si sceglie nel selettore di aula, accanto all'assegnazione. Ha un effetto concreto: una lezione **a distanza** o in **studio autonomo** non richiede **alcuna aula**, e la generazione non gliene chiede una. L'icona della lezione riflette la modalità scelta. ##### Multi-aula Una stessa lezione può ricevere **più aule**: mantenga premuto **Maiusc ⇧** mentre fa clic per estendere la selezione. Comodo quando una coorte si ripartisce su due aule vicine, o quando una lezione occupa uno spazio raddoppiato. Le aule scelte sono tutte prenotate e partecipano ai conflitti. ##### Durate e orari personalizzati Oltre alla durata letta sulla griglia, una lezione può portare **durate personalizzate** (durata reale per le dashboard, durata conteggiata per la fatturazione) e un **orario fuori griglia** (ore di inizio e di fine esplicite). Queste regolazioni, così come le classi fuori griglia, sono dettagliate sulla loro pagina dedicata: [Lezioni fuori griglia](#page-timetables.off-grid-lessons). #### Modificare più lezioni contemporaneamente Per applicare uno stesso valore a un lotto di lezioni: - in **riorganizzazione**, **Maiusc+clic** estende la selezione a un intervallo; la scheda comune modifica allora tutte le lezioni insieme; - in **elenco**, spunti le lezioni volute poi utilizzi il **pulsante d'azione nell'intestazione** della colonna (durata, professore, gruppo, aula, stato…). È la via rapida per, per esempio, portare un insieme di lezioni a **Bozza** o assegnare loro un'aula comune. #### Eliminare una lezione L'icona Eliminare rimuove la lezione. L'eliminazione diventa **definitiva** al salvataggio: prima di salvare, rilegga le eliminazioni, perché non esiste un annullamento globale su questa schermata. #### Procedura — Cambiare lo stato di una lezione 1. Apra la distribuzione delle ore della classe ([Fase 6](#page-timetables.hour-distribution)). 2. Faccia clic sull'icona di **stato** Stato della lezione (oppure apra la sua scheda in modalità riorganizzazione). 3. Scelga lo stato voluto — per esempio **Bozza** per nasconderla dalla generazione. 4. Per trattare un lotto, passi in **elenco**, spunti le lezioni e applichi lo stato dall'intestazione della colonna. 5. **Salvi** per pubblicare i cambiamenti. #### Vedi anche - [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - [Lezioni fuori griglia](#page-timetables.off-grid-lessons) - [Bloccare una lezione](#page-timetables.lesson-lock) - [Lezioni complesse](#page-core-concepts.complex-lessons) - [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - [Rilevare e risolvere i conflitti](#page-timetables.conflicts) ### 3.19 Lezioni e classi fuori dalla griglia oraria *Source: `help/it/timetables/off-grid-lessons.md` · id: timetables.off-grid-lessons · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Una **lezione fuori dalla griglia oraria** è una lezione collocata con orari di inizio e di fine espliciti, anziché seguire esattamente i limiti di una fascia della griglia. Questa possibilità esiste negli orari settimanali, ciclici e calendario. La **classe fuori griglia** è un'impostazione distinta: è una proprietà della classe, disponibile per gli orari di tipo calendario. #### Lezione con orario personalizzato Utilizzi un orario personalizzato quando una lezione occasionale non cade esattamente sulla griglia: un esame che inizia alle `08:30`, un intervento serale, una lezione che intacca una pausa, una prenotazione che inizia prima della lezione effettiva. La lezione resta visibile nell'orario e continua a partecipare ai conflitti. Ogni entità utilizzata dalla lezione — professore, aula, classe, gruppo o risorsa — è considerata occupata non appena l'orario personalizzato intacca una fascia oraria. Per la generazione automatica, la lezione è trattata come non spostabile: la sua posizione è bloccata automaticamente. #### Quando utilizzare un evento anziché una lezione Utilizzi piuttosto un [evento occasionale](#page-schedules.events) se il bisogno non è una lezione dell'orario: una riunione, una prenotazione semplice, la manutenzione di un'aula, una giornata speciale senza volume didattico da contabilizzare. Mantenga una lezione quando il volume deve restare collegato a un corso, una materia, una classe, un professore, un gruppo o una dashboard didattica. #### Classe fuori griglia La classe fuori griglia serve ai programmi le cui lezioni devono tutte essere memorizzate con orari precisi, indipendentemente dalla griglia del sito. Si configura alla creazione o alla modifica della classe, unicamente negli orari di tipo calendario. Caso tipico: una formazione continua utilizza le stesse aule e gli stessi professori della formazione iniziale, ma funziona con orari molto diversi. La classe può allora essere configurata fuori griglia, con un passo orario predefinito, per esempio il quarto d'ora. In questa modalità, le lezioni della classe portano direttamente i loro orari di inizio e di fine. Esse **prenotano** i professori, le aule, le classi, i gruppi e le risorse interessate: una sovrapposizione con un'altra lezione è segnalata come **conflitto** — non bloccante per il posizionamento manuale, ma la generazione automatica, invece, non collocherà nulla su una fascia in conflitto. #### Durate personalizzate Una lezione può anche portare delle durate personalizzate: - **Durata calcolata**: durata dedotta dagli orari di inizio e di fine; - **Durata reale**: durata utilizzata in via prioritaria nelle dashboard; - **Durata contabilizzata**: durata utilizzata per la fatturazione o la retribuzione del professore. Esempio: per un esame, può prenotare l'aula prima e dopo la prova, contando solo la durata reale dell'esame nella Dashboard. Per un sorvegliante, la durata contabilizzata può essere più elevata se l'istituto compensa anche la correzione degli elaborati. #### Punti di attenzione - Una lezione con orario personalizzato può sovrapporsi a una pausa o a una fascia normalmente libera; verifichi che sia proprio questa l'intenzione. - Poiché la lezione è bloccata per la generazione, può vincolare fortemente i posizionamenti automatici attorno a essa. - Una classe fuori griglia è strutturante: deve essere scelta prima di creare in massa le lezioni della classe. - Le **lezioni complesse** (alternanze, concatenazioni, associazioni) sono **disattivate** non appena vi sono orari espliciti o una classe fuori griglia: la funzionalità non è disponibile in questo caso. #### Procedura — Creare una lezione con orario personalizzato 1. Collochi o apra la lezione nell'orario. 2. Apra la modifica dell'orario personalizzato della lezione. 3. Inserisca l'orario di inizio e l'orario di fine. 4. Verifichi i conflitti sui professori, aule, classi, gruppi e risorse interessate. 5. Riavvii la generazione se necessario: la lezione resterà bloccata e l'algoritmo collocherà il resto attorno a essa. #### Vedi anche - [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) - [Parametri generali](#page-timetables.general-settings) - [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - [Generazione automatica](#page-timetables.generation) - [Eventi puntuali](#page-schedules.events) ### 3.20 Bloccare il posizionamento di una lezione *Source: `help/it/timetables/lesson-lock.md` · id: timetables.lesson-lock · Audience: admin · Updated: 2026-06-13* **Bloccare una lezione** significa bloccarne la **posizione** nell'orario. La lezione resta considerata dal risolutore, ma la generazione automatica non può più spostarla. Il segnale visivo da cercare è un **lucchetto chiuso** [lock]. Al contrario, un **lucchetto aperto** [unlock] indica che la posizione può ancora essere spostata da una generazione o da un'operazione di riorganizzazione. Da non confondere: l'icona di **posizionamento** [thumbtack] serve a collocare una lezione sull'orario. Apre o attiva il posizionamento; non è il marcatore di blocco. #### Quando bloccare una lezione Casi tipici: - **Collaboratore esterno** il cui orario è imposto. - **Esame datato** la cui fascia oraria o la cui aula sono già stabilite. - **Uscita scolastica o visita** programmata su una fascia oraria ben precisa. - **Aula esterna a orario imposto** (palestra, piscina…): possibile con il blocco, ma è spesso preferibile ricorrere ai **vincoli orari dell'aula**, che guidano il risolutore senza fissare ogni lezione una a una. - **Lezione di un [gruppo libero](#page-core-concepts.free-groups)** collocata manualmente accanto a una lezione principale. - **Posizione ottenuta da una generazione precedente** che si vuole conservare prima di rilanciare una generazione più ampia. #### Come bloccare 1. Collochi la lezione sull'orario se non è già stato fatto. 2. Apra il dettaglio di posizione della lezione. 3. Attivi il **lucchetto chiuso** per bloccare la posizione. 4. Verifichi che la lezione mostri un lucchetto sulla propria posizione. Per liberare la posizione, utilizzi il **lucchetto aperto**. La lezione può allora essere spostata da una generazione o da alcune operazioni di riorganizzazione. #### Azioni di massa Nella distribuzione delle ore, il menu Azioni propone anche operazioni globali: - Bloccare tutte le posizioni di lezione blocca le lezioni già posizionate; - Sbloccare tutte le posizioni di lezione rimuove il blocco senza togliere la posizione; - Annullare tutte le posizioni di lezione rimuove il blocco e toglie la posizione. Quest'ultima opzione è utile prima di una nuova generazione pulita, quando si vuole ripartire da lezioni non posizionate. #### Effetti sulla generazione e sulla diagnostica Una lezione bloccata resta un vincolo forte per il risolutore. Le altre lezioni devono collocarsi intorno a essa. Conseguenza importante: se blocca una lezione su una fascia oraria molto vincolata, Omniscol rispetta questa decisione. I conflitti o gli avvisi restano visibili, ma il blocco indica che la posizione è voluta. Nella diagnostica, un problema portato da una lezione bloccata viene così retrocesso da allarme bloccante (rosso) ad avviso (arancione): Omniscol segnala il punto senza più imporlo come blocco da correggere. #### Da non confondere - **Blocco di posizione di una lezione**: la lezione mantiene la propria fascia oraria durante la generazione. - **Blocco collaborativo**: meccanismo legato alla modifica simultanea da parte di più amministratori. Veda [Collaborazione in tempo reale](#page-core-concepts.collaboration). - **Posizione senza aula bloccata**: caso particolare in cui una lezione deve restare senza aula assegnata automaticamente, tramite Bloccare. #### Buona prassi - Prima di rilanciare una generazione, verifichi le lezioni bloccate: troppe posizioni fisse riducono il margine di ottimizzazione. - Dopo una fase di test, sblocchi ciò che non deve essere conservato. - Per i gruppi liberi, collochi la lezione manualmente e poi blocchi la sua posizione. Veda [Gruppi liberi](#page-core-concepts.free-groups). #### Vedi anche - [Generazione automatica](#page-timetables.generation) - [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) - [Gruppi liberi](#page-core-concepts.free-groups) - [Rilevare e risolvere i conflitti](#page-timetables.conflicts) - [Risolutore](#page-glossary.solver) ### 3.21 Rilevare e risolvere i conflitti (alla generazione) *Source: `help/it/timetables/conflicts.md` · id: timetables.conflicts · Audience: admin · Plan: standard · Updated: 2026-06-23* Omniscol rileva i conflitti **in continuo** durante la **preparazione** di un orario e a ogni **posizionamento manuale**. La diagnostica distingue i **conflitti bloccanti** dai **vincoli non rispettati** e dagli **avvertimenti** che richiedono un arbitrato, e codifica questa gravità con un **colore** — sulle fasce candidate e sugli elenchi di selezione quando posiziona una lezione, e su ogni riga del pannello di diagnostica. La **generazione automatica** è un calcolo separato (il risolutore posiziona sotto vincoli, oppure lascia una lezione non posizionata): la sua diagnostica è trattata in [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). #### Cosa verifica la diagnostica - **Occupazione (doppia prenotazione)** — un professore, una classe, un gruppo, uno studente, un'aula o una risorsa non può servire per due lezioni che si sovrappongono, salvo modellazione esplicita (gruppi compatibili, partizioni, aule grandi). - **Disponibilità e vincoli orari** — periodo dichiarato indisponibile, oppure vincolo orario non rispettato (professore, classe, gruppo, aula, materia, sito), graduato secondo la priorità del vincolo. Una finestra di date imposta, invece, è sempre bloccante. - **Capacità e servizio** — sovraffollamento di un'aula, risorsa richiesta in troppi esemplari, aula inadatta (capacità, specializzazione, sito), oppure ore di servizio di un professore superate. - **Traboccamento della griglia** — le ore di lezione da posizionare superano, o si avvicinano, al numero di fasce aperte della griglia, per un professore o per un'intera classe. - **Luoghi e spostamenti** — tempo di percorrenza insufficiente tra due siti per un professore o una classe, oppure due materie dichiarate incompatibili posizionate nello stesso momento. - **Calendario** — lezione posizionata su un'assenza (professore o classe), un giorno chiuso / le vacanze, oppure un evento incompatibile. - **Modellazione** — allineamento rotto (gruppi allineati senza lezione comune), numero di lezioni diverso tra gruppi di una stessa partizione o di uno stesso allineamento, professore o aula mancante, oppure configurazione incompleta (sito, griglia, parametro necessario prima della generazione). #### Livelli di gravità La stessa scala di gravità — verde, giallo, arancione, rosso — colora diversi punti della modifica. **Sulle fasce candidate**, quando posiziona una lezione (vedere [Posizionamento manuale](#page-timetables.manual-placement)). **E su ogni opzione degli elenchi di selezione**: quando sceglie un professore, un'aula, una risorsa, un gruppo o dei partecipanti per una lezione, ogni voce porta un'icona di calendario colorata secondo il suo livello nella fascia mirata — verde se l'entità è libera, rossa se è occupata — con il dettaglio al passaggio del mouse. Solo un'indisponibilità **rossa** (occupato, periodo chiuso) impedisce la scelta; un'aula troppo piccola o mal specializzata resta selezionabile, con avvertimento. | Colore | Significato | | --- | --- | | **verde** | nessun conflitto — l'entità è libera (o una risorsa resta sotto il suo limite) | | **giallo** | lieve disturbo, non bloccante (vincolo orario di priorità media, assenza interamente sostituita, aula corretta ma non ideale) | | **arancione** | vincolo forte (vincolo orario di priorità elevata, aula riempita fino al 110 % della sua capacità, ore di servizio fino al 110 %, percorrenza tra siti troppo breve, materie incompatibili, giorno chiuso) | | **rosso** | conflitto bloccante (doppia prenotazione, vincolo orario obbligatorio o finestra di date imposta, aula oltre il 110 % della sua capacità, assenza non coperta, allineamento rotto) | **Nel pannello di diagnostica.** Ogni problema elencato porta un livello, ripreso dal filtro. Il pannello raggruppa l'arancione e il giallo sotto un unico livello «importante», e aggiunge un livello «consiglio» per le informazioni non bloccanti: | Livello | Senso | Colori di fascia corrispondenti | | --- | --- | --- | | **rosso** | Conflitto bloccante | rosso | | **giallo** | Vincolo non rispettato / Avvertimento | arancione + giallo | | **blu** | Consiglio / Limite prossimo | pressione della griglia, partizioni | Quando l'opzione Blocco delle scelte in conflitto (vincoli forti) è attiva, Omniscol impedisce le scelte che creerebbero un vincolo forte; altrimenti, l'avviso resta visibile affinché l'amministratore possa arbitrare. ##### Traboccamento e pressione della griglia Omniscol confronta in permanenza le **ore di lezione da posizionare** con il **numero di fasce aperte** della griglia — per ogni professore (per classe e per sito) e per ogni intera classe. Il messaggio indica i due valori, per esempio «18 h / 16 h». Tre soglie, secondo il riempimento: | Soglia | Riempimento | Lettura | | --- | --- | --- | | **blu** — pressione | griglia riempita al 90–100 % | i limiti saranno presto raggiunti; il posizionamento è già serrato | | **arancione** — traboccamento lieve | 100–110 % (ore > fasce fino al 110 %) | un orario valido sarà *probabilmente* impossibile | | **rosso** — traboccamento forte | oltre il 110 % | un orario valido sarà *quasi certamente* impossibile | Questo calcolo gira solo se almeno un sito è configurato, e non segnala nulla finché la griglia resta sotto il 90 %. Misura le ore richieste rispetto alle fasce disponibili — da non confondere con il **superamento delle ore di servizio** di un professore (ore insegnate rispetto alle ore contrattuali), che condivide gli stessi colori ma resta una rilevazione distinta. ##### Tutte le rilevazioni | Rilevazione | Famiglia di filtro | Livello | | --- | --- | --- | | Professore, classe o gruppo già occupato | Conflitti | rosso | | Aula già occupata | Conflitti | rosso | | Allineamento rotto (gruppi allineati senza lezione comune) | Conflitti | rosso (arancione se differisce solo l'aula o la risorsa) | | Vincolo orario non rispettato (professore, classe, gruppo, aula, materia, sito) | Vincoli orari | obbligatorio → rosso, elevato → arancione, medio → giallo (finestra di date → sempre rosso) | | Sovraffollamento di un'aula | Capacità | arancione fino al 110 % della capacità, rosso oltre | | Risorsa in sovrannumero | Capacità | arancione | | Aula inadatta (capacità, specializzazione, sito) | Capacità | giallo — forzabile | | Ore di servizio di un professore superate | Capacità | arancione fino al 110 %, rosso oltre | | Traboccamento / pressione della griglia | Traboccamento della griglia | blu → arancione → rosso (vedere sopra) | | Tempo di percorrenza insufficiente tra siti (professore, classe) | Distanza | arancione | | Materie incompatibili nello stesso momento | Compatibilità | arancione | | Nessuna aula disponibile tra le aule autorizzate | Aula mancante | giallo (rosso se nessuna) | | Professore mancante (lezione senza professore assegnato) | Professore mancante | giallo | | Aula mancante (lezione posizionata senza aula richiesta) | Aula mancante | giallo | | Numero di lezioni diverso tra gruppi di una partizione | Partizioni | blu (indicativo) | | Numero di lezioni diverso tra gruppi allineati | Allineamenti | rosso (configurazione bloccante) | | Professore assente sulla sua lezione | Assenze | non coperto → rosso, sostituito → giallo, parziale (compresenza) → arancione | | Classe assente | Assenze | rosso | | Lezione in un giorno chiuso / vacanze | Calendario | arancione (talvolta forzato a rosso) | | Configurazione incompleta (sito, griglia, parametro) | — | bloccante prima della generazione | ##### Navigare da un avviso Ogni riga del pannello è **cliccabile**: la lente [magnifying-glass] porta direttamente alla lezione, al gruppo o alla classe interessati — il modo più rapido per isolare il contesto di un conflitto. Per un conflitto di **gruppi** (partizione, allineamento), l'icona [link] mantiene solo i gruppi in relazione, il che fa risaltare il vincolo quando la diagnostica grezza non basta. > _Premium_ #### Filtrare la diagnostica Il pulsante Filtri diagnostici (triangolo di avviso, in cima al pannello) apre un menu per mantenere solo gli avvisi utili all'analisi in corso. La sua icona diventa arancione finché un filtro resta attivo. Vi si regolano: - **Livelli** — mostrare o nascondere il rosso (bloccante), il giallo (importante / da verificare), il blu (consiglio / limite prossimo). - **Entità** — classi, professori, aule, risorse, gruppi, e i tipi di eventi di calendario (eventi, vacanze, assenze). - **Livelli di classe**, **campus**, **siti** — restringere a un perimetro. Il campus isola un'entità organizzativa (sede, facoltà, polo); il sito riguarda il luogo fisico. - **Motivi** — attivare o disattivare ogni famiglia di rilevazione: vincoli orari, conflitti, capacità, distanza, professore mancante, aula mancante, compatibilità, partizioni, allineamenti. - **Intervallo** (orario calendario) — limitare alle prossime settimane o mesi, e nascondere il passato. - **Comportamento** — Blocco delle scelte in conflitto (vincoli forti) impedisce attivamente i posizionamenti che creerebbero un conflitto forte. - **Reimpostare** — mostrare di nuovo tutto. Un filtro non risolve un conflitto: nasconde soltanto ciò che non aiuta l'analisi in corso. #### Risolvere un conflitto Le correzioni più frequenti sono: - spostare una lezione; - cambiare professore, aula o risorsa; - regolare un vincolo troppo forte; - correggere un'indisponibilità o un'assenza inserita per errore; - creare o correggere i gruppi, le partizioni o gli allineamenti; - aggiungere un'aula compatibile, una capacità o una specializzazione; - bloccare una lezione che deve restare fissa prima di rilanciare una generazione. Se la generazione non trova una soluzione completa, può restituire un orario parziale: le lezioni non posizionate restano nella barra dei post-it delle lezioni da posizionare. Corregga i diagnostici prioritari, poi rilanci o posizioni manualmente i casi restanti. #### Casi che richiedono un arbitrato Alcuni segnali corrispondono a una decisione gestionale anziché a un errore di inserimento. Esempi: - esame con un'aula principale e un'aula per il tempo aggiuntivo; - capacità dichiarata superiore ai posti inseriti quando l'istituto sa che una parte degli iscritti non sarà presente; - aula annessa non modellata in Omniscol. In questi casi è meglio modellare esplicitamente la situazione quando è possibile: più aule, gruppi adattati, capacità corretta o evento separato. Lasciare un avviso volontario deve restare una decisione nota all'équipe, non un rumore permanente. #### Procedura 1. Apra la diagnostica dell'orario. 2. Filtri se necessario per livello, campus, sito, entità o tipo di problema. 3. Tratti dapprima i conflitti bloccanti. 4. Apra il dettaglio del problema per identificare le lezioni e le risorse coinvolte. 5. Corregga la lezione, il vincolo o la modellazione. 6. Rilanci la diagnostica o la generazione per verificare che il problema sia scomparso. #### Vedi anche - [Conflitto](#page-glossary.conflict) - [Diagnostica](#page-glossary.diagnostic) - [Campus](#page-glossary.campus) - [Generazione automatica](#page-timetables.generation) - [Posizionamento manuale](#page-timetables.manual-placement) - [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) ### 3.22 Diagnosticare una generazione che fallisce *Source: `help/it/timetables/diagnosing-generation.md` · id: timetables.diagnosing-generation · Audience: admin · Updated: 2026-06-24* La generazione «fallisce» quando l'algoritmo di generazione non riesce a **sistemare tutto**: restituisce il miglior orario parziale trovato, e le lezioni che ha dovuto **sacrificare** restano nella barra dei post-it da posizionare (un banner rosso riassume il blocco). Il problema è quasi sempre una **sovravincolazione**: troppi corsi per le fasce orarie aperte, oppure vincoli troppo stretti per incastrarsi. Il rimedio consiste nel **rilassare** ciò che è possibile — è l'oggetto di questa pagina. Per capire come l'algoritmo di generazione stabilisce le priorità e cosa sacrifica, vedere [Generazione automatica](#page-timetables.generation); per il catalogo dei conflitti su un orario già impostato, vedere [Conflitti e diagnostica](#page-timetables.conflicts). #### La diagnostica è una pista, non un verdetto Quando una lezione non può essere posizionata, Omniscol mette in evidenza **l'entità che ha creato più problemi** nel corso dei tentativi — «questo professore non ha abbastanza fasce orarie», «questa classe non entra nella sua griglia». **È un'euristica**: l'entità segnalata è quella che ricorre più spesso nei blocchi, non necessariamente *la* causa unica. I vincoli sono **incrociati** — allentare altrove può sbloccare tutto. Prenda quindi il messaggio come una **direzione di ricerca**: il vero rimedio è spesso **distendere la sovravincolazione generale** (un po' più di fasce orarie, disponibilità meno rigide) piuttosto che accanirsi sull'entità indicata. #### Cause più frequenti ##### 1. Disponibilità troppo restrittive Un professore ha contrassegnato così tante fasce come **impossibili** che non restano abbastanza fasce orarie per posizionare le sue lezioni. **Diagnosi**: esaminare la schermata delle disponibilità del professore interessato. Contare le fasce orarie libere e confrontarle con il suo volume orario. **Soluzioni**: - Allentare alcune fasce (passare dal nero al rosso — indesiderabile ma non impossibile), - Ridistribuire i corsi (attribuirne una parte a un altro professore), - Discutere con il professore se la disponibilità è negoziabile. ##### 2. Nessuna aula compatibile Una materia richiede una **specializzazione** per la quale non è stata creata alcuna aula, oppure tutte le aule corrispondenti sono occupate nelle uniche fasce orarie possibili. **Soluzioni**: - Creare la specializzazione mancante su un'aula adeguata, - Ridurre il vincolo di specializzazione, - Aggiungere un'aula. ##### 3. Capacità insufficiente L'effettivo di un gruppo / di una classe supera la capacità di tutte le aule candidate. **Soluzioni**: - Assegnare un'aula più grande, - Assegnare [più aule](#page-glossary.multi-room) a uno stesso corso (la capacità totale è la somma), - Suddividere la classe / il gruppo. ##### 4. Allineamento strutturalmente impossibile I volumi orari dei gruppi allineati differiscono, oppure le classi madri hanno griglie orarie incompatibili, oppure un professore allineato può trovarsi in un solo luogo. **Soluzioni**: - Armonizzare i volumi orari tra i gruppi allineati, - Disallineare e creare un corso per classe, - Verificare che i siti delle classi allineate condividano una griglia oraria comune sulla fascia oraria di destinazione. ##### 5. Troppe lezioni di corso per la griglia Quando una classe o un professore ha manifestamente più ore che fasce orarie aperte, un **avviso lo segnala a monte** (scheda **Generazione**, contatori ore vs fasce orarie). Il caso perverso è più subdolo: preso isolatamente, nessuno sconfinamento evidente, ma l'**accumulo** dei vincoli tra professori e classi — e i loro **incroci** — finisce per non entrare più. **Soluzioni**: - Ridurre i volumi orari inseriti, - Estendere la griglia oraria (aprire il mercoledì pomeriggio, ad esempio), - Allentare alcune indisponibilità, puntando alle **fasce che molte entità evitano contemporaneamente**: il cumulo satura la griglia. ##### 6. Incompatibilità troppo numerose Accumulare i vincoli «niente X dopo Y» può creare un sistema senza soluzione. **Soluzione**: sostituire alcune incompatibilità con **pesi pedagogici** più flessibili. ##### 7. Non abbastanza aule (collo di bottiglia) Molto frequente: anche se ciascuna aula è adatta, il loro **numero** non basta ad assorbire la domanda nello stesso momento. Le lezioni di corso si accumulano sulle stesse fasce orarie e la mancanza di aule diventa il **collo di bottiglia** che impedisce all'insieme di entrare. **Soluzioni**: - Aggiungere aule (o condividerle tra classi), - Distribuire la domanda ampliando la griglia oraria, - Ridurre i vincoli che concentrano i corsi su poche fasce orarie. ##### 8. Più siti: gli spostamenti erodono le ore Con più siti, i **tempi di spostamento** tra le sedi riducono le fasce orarie realmente utilizzabili da un professore (o da una classe): cambiare sito costa tempo, che non è più disponibile per posizionare una lezione. Le disponibilità effettive si restringono e il rompicapo si complica. **Soluzioni**: - Raggruppare i corsi di un professore su uno stesso sito nella giornata, - Verificare i tempi di spostamento dichiarati tra siti, - Limitare gli spostamenti tra siti nella stessa giornata. #### Checklist prima di rilanciare una generazione - Tutte le classi hanno un sito assegnato? - Tutte le classi hanno le loro materie e i loro professori? - Tutti i gruppi utilizzati nei corsi hanno un effettivo teorico o una capacità gestibile? - Le disponibilità di tutti i professori sono validate? - Nessun avviso critico (rosso) nella scheda **Generazione**? #### Strumenti di diagnostica integrati - **Scheda Generazione** — *a monte*: statistiche (corsi / ore per professore, per classe, per sito) e avvisi (ore vs fasce orarie, avvisi critici da correggere prima di lanciare). - **Lezioni non posizionate** (post-it, a destra) — *dopo un fallimento*: il risultato di una generazione incompleta. Il pulsante di posizionamento (puntina) su ciascuna mostra, attraverso le fasce orarie colorate, perché nessun posto è adatto. - **Rilevamento di gruppi dimenticati**: gruppi definiti ma senza alcun corso assegnato. #### Procedura — Diagnosticare una generazione che fallisce 1. **Quando la generazione fallisce**, Omniscol mostra un banner rosso, mantiene visibile l'orario parziale e colloca le lezioni che non ha potuto sistemare nella **barra dei post-it**, a destra. 2. **Leggere il banner**: fornisce una **direzione** (euristica, cfr. più sopra), non un verdetto. 3. **Partire dalle lezioni non posizionate, non dai «conflitti».** La generazione non crea mai un conflitto: lascia semplicemente da parte ciò che non entra. Prendere una lezione tra i post-it e fare clic sul suo pulsante di posizionamento (puntina, Posizionare sull'orario). 4. **Leggere le fasce orarie colorate.** Omniscol mostra tutte le fasce orarie candidate; per una lezione impossibile da posizionare, sono tutte bloccate. Cercare **perché**, nell'ordine dei tre bloccanti abituali: il **professore** occupato o indisponibile, la **classe** (o il gruppo) occupata, oppure **nessuna aula** libera e compatibile. Il motivo compare al passaggio del cursore sulla fascia oraria. 5. **Rilasciare il vincolo che blocca** — a seconda del caso: allentare disponibilità, aggiungere o liberare un'aula, armonizzare un allineamento, ampliare la griglia (cfr. le cause qui sopra) — poi rilanciare. 6. **Prima di rilanciare**, scorrere la checklist qui sopra (siti assegnati, materie e professori a posto, effettivi inseriti, disponibilità validate, nessun avviso critico nella scheda **Generazione**). #### Vedi anche - [Generazione automatica](#page-timetables.generation) - [Conflitti e diagnostica](#page-timetables.conflicts) - [Diagnostica](#page-glossary.diagnostic) - [Conflitto](#page-glossary.conflict) - [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) ### 3.23 Visualizzare, duplicare, riorganizzare un orario *Source: `help/it/timetables/visualize-duplicate.md` · id: timetables.visualize-duplicate · Audience: admin · Updated: 2026-06-25* Una scuola dispone spesso di **più orari** in stadi diversi: l'orario attivo sull'anno corrente, una bozza per il rientro successivo, uno scenario di prova per esplorare una riorganizzazione. Questa pagina riassume come gestire queste molteplici versioni senza confusione, e a cosa servono le schermate **Visualizzare** e **Riorganizzare** un orario una volta generato. #### Vedere l'elenco degli orari Il modulo **Gestione degli orari** si apre sull'elenco degli orari dell'account: attivi e bozze. Per ogni orario, vede: - la sua **etichetta** (`Anno 2026-2027`, `Bozza rientro 2027`, `Scenario fusione 1ª/2ª media`), - il suo **stato** (pubblicato o non pubblicato), - l'**intervallo di settimane** su cui è pubblicato (se applicabile), - le **statistiche rapide** (numero di classi, numero di lezioni, numero di professori). Le azioni disponibili permettono in particolare di aprire, duplicare o eliminare un orario. L'eliminazione è disattivata su un orario pubblicato. #### Visualizzare un orario generato Il pulsante Visualizzare apre l'orario in **sola lettura**: guarda l'orario finale senza poterlo modificare. È la schermata da privilegiare per **rileggere** prima della pubblicazione, **verificare** una settimana o una successione di lezioni, **mostrare** l'orario senza dare accesso alle funzioni di modifica, **esportare** o **condividere**. ##### Un'ispezione senza rischi La schermata riprende il motore di visualizzazione abituale degli orari, ma in modalità **sicura**: nessuno spostamento di lezione, nessun salvataggio, nessuna correzione involontaria. Vi ritrova i filtri di visualizzazione, il selettore di giorni, le diverse modalità di visualizzazione (griglia, elenco, tabella, calendario, giorno, mese, affiancato — dettagliate in [Visualizzazione degli orari](#page-schedules.schedule-display)) e la chiusura rapida di più calendari aperti fianco a fianco. ##### Settimane alternate e varianti È particolarmente utile quando l'orario gestisce **settimane alternate**: visualizza la vista **Tutte le settimane**, poi le **varianti** una alla volta tramite le schede dedicate (A/B, 1/2, ecc.). È spesso il modo più semplice di verificare che un orario ricorrente sia coerente sull'insieme delle sue varianti, senza il rumore degli strumenti di modifica. ##### Condividere in sola lettura Da questa schermata, apre la funzione di **condivisione**: diffonde il planning teorico completo in sola lettura a una terza parte (partner esterno, direzione, responsabile di sito), tramite un link web, senza aprire l'accesso all'account Omniscol. Per un orario di tipo calendario, è disponibile anche un link **iCal**. Dettagli in [Condividere un orario tramite link pubblico](#page-schedules.share-link). ##### Esportare (PDF, Excel, stampa) La schermata Visualizzare è il punto naturale per estrarre un file dell'orario visualizzato: - Esportare i dati in formato PDF per generare un **PDF**, - Esportare i dati in formato Excel per esportare in **Excel / XLSX**, - Stampare per la **stampa**. Per gli orari di classi e di professori, è generalmente il modo più diretto per produrre un documento pulito da trasmettere. #### Riorganizzare rapidamente un orario finalizzato Il pulsante Riorganizzare apre lo stesso orario in modalità **modifica rapida**. L'idea non è di rifare tutta la costruzione dell'orario, ma di correggere rapidamente casi marginali su un planning già completato. Casi tipici: - spostare una lezione già generata, - cambiare un'aula, una fascia oraria o un'assegnazione puntuale, - aggiungere una lezione isolata, - correggere qualche conflitto residuo senza ripassare per tutta la catena **ripartizione delle ore → generazione**. In questa schermata, ritrova la griglia, i filtri, il pannello delle fasce orarie disponibili, il pulsante Aggiungere e il pulsante Salvare per salvare le modifiche. Se la modifica diventa **strutturale** (classi, gruppi, materie, volumi orari, vincoli globali), torni piuttosto alle tappe di costruzione dell'orario oppure duplichi l'orario per lavorare su una bozza. #### Duplicare un orario Tre casi tipici: - **Preparare l'anno successivo** dall'orario attivo — vedere [Preparare il nuovo anno scolastico](#page-timetables.next-school-year). - **Creare uno scenario di prova** dall'orario attivo per esplorare una modifica strutturante senza rischi (fusione di classi, riorganizzazione dei siti, aggiunta di un nuovo indirizzo). - **Ripartire da un vecchio orario conservato nell'account** — recuperare una struttura di un anno passato come base per una nuova. L'azione Duplicare apre una finestra di dialogo. La copia creata è sempre una **bozza non pubblicata**: diventa attiva solo quando la pubblica esplicitamente. La finestra presenta un albero di caselle **tutte spuntate per impostazione predefinita**: lasciare tutto spuntato produce una copia identica; deselezionare una casella toglie l'elemento corrispondente dalla copia. ##### Scegliere ciò che viene ripreso L'albero segue la struttura dell'orario; deselezioni un ramo per ricostruirlo da zero: - **Siti** — con le loro aule e le loro risorse. Deselezionare i siti toglie anche le aule e le risorse portate dalle lezioni **e i posizionamenti delle lezioni**: la copia riparte allora da una griglia da riposizionare. - **Professori** — il bacino di professori dell'orario. Deselezionare il bacino toglie al contempo le assegnazioni professore-classe-materia e i professori portati dalle lezioni. - **Classi** — con i loro gruppi, le loro disponibilità, le loro incompatibilità e la ripartizione delle ore. Ogni sotto-ramo si deseleziona separatamente: gruppi, disponibilità di classe, incompatibilità, o il dettaglio delle lezioni (gruppi, aule, risorse, modalità, commento, posizioni…). - **Posizioni delle lezioni** — deselezionata da sola, la copia conserva tutta la struttura ma **la griglia è vuota**: è il modo pulito di clonare una preparazione per rilanciare una generazione da zero. Le dipendenze sono applicate automaticamente: non può mantenere un'aula su una lezione togliendo l'insieme dei siti, per esempio. E qualunque sia il livello di dettaglio deselezionato, Omniscol pulisce i riferimenti diventati orfani — una classe che puntava a un sito tolto, per esempio. ##### Trasformare il tipo di orario > _Premium_ La stessa finestra di dialogo può **convertire** la copia verso un tipo diverso dall'originale. Il selettore propone solo i due **altri** tipi. Convertire riallinea le lezioni sulla nuova rappresentazione. - **Verso un calendario** (da un settimanale o un ciclico) — indica un **periodo** (data di inizio e di fine). Ogni lezione ricorrente è **dispiegata in una lezione datata per ogni giorno lavorativo corrispondente** del periodo; i giorni festivi, le chiusure e le assenze sono saltati. Il volume orario di ogni materia è adeguato al numero di settimane del periodo, e le settimane alternate sono risolte data per data sulla variante giusta (A/B, A/B/C…). - **Verso un ciclo** — indica la **lunghezza del ciclo** in giorni lavorativi; ogni posizione diventa un numero di giorno nel ciclo. - **Verso un settimanale** (da un ciclico o un calendario) — ogni lezione ricade sul suo **giorno della settimana**. Convertire verso un settimanale o un ciclo è volontariamente semplificatorio: più lezioni che cadevano lo stesso giorno della settimana si raggruppano su una stessa fascia oraria, e le disponibilità datate di un calendario non sono riportate. Riservi la conversione verso un calendario ai casi in cui vuole realmente delle date esplicite. > _Premium_ ##### Spostare le date (orario calendario) Per un orario di tipo **calendario**, la duplicazione può **riallineare tutte le lezioni** su una nuova data di inizio — comodo per riproporre la stessa organizzazione sull'anno successivo. Spunta l'opzione di spostamento, indica la nuova data di inizio, e Omniscol sposta il periodo poi riallinea ogni lezione. Il principio: Omniscol **conserva la successione delle giornate di lezione**. La N-esima giornata di lezione del periodo d'origine diventa la N-esima giornata di lezione del nuovo periodo — il riallineamento segue i giorni lavorativi, e non la data di calendario grezza. Una lezione può quindi **cambiare giorno della settimana**, per due ragioni. Innanzitutto perché la nuova data di inizio non cade necessariamente lo stesso giorno della vecchia: se l'origine inizia un lunedì e la destinazione un mercoledì, tutto scivola di due giorni. Poi — ed è il caso più frequente — perché i giorni festivi e le chiusure dei due periodi non coincidono. Le lezioni che cadono fuori dal nuovo periodo **ritornano non posizionate**: le lezioni e tutti i loro dettagli restano, solo il posizionamento è perso. #### Riorganizzare una scuola in Omniscol Per una riorganizzazione strutturante (passaggio da un funzionamento in classi tradizionali a una modalità per gruppi, fusione di livelli, apertura di un nuovo sito), lavori su un **orario bozza** dedicato: 1. Duplichi l'orario attivo verso `Scenario riorganizzazione 2027-2028`. 2. Modifichi la struttura (classi, gruppi, siti) nella bozza. 3. Lanci la diagnostica e la generazione per misurare la fattibilità. 4. Iteri senza toccare l'account di produzione. 5. Quando lo scenario è convalidato, può passare alla pubblicazione. Il vantaggio: finché lo scenario resta bozza, gli utenti finali (studente, professore) non vedono nulla. Solo gli amministratori hanno accesso alla bozza. #### Eliminare una bozza inutile Un orario non pubblicato può essere eliminato dall'elenco. Per conservare una traccia prima dell'eliminazione, apra prima l'orario poi lo esporti in JSON tramite [download]. Dettagli in [Generazione automatica](#page-timetables.generation). Un orario pubblicato non deve essere eliminato direttamente: ritiri prima la sua pubblicazione nella griglia di ripartizione se deve davvero toglierlo dall'operativo. #### Procedura — Creare uno scenario di prova a partire da un orario attivo 1. **Per esplorare una riorganizzazione** (fusione di classi, nuovo sito, passaggio a gruppi) senza toccare l'account di produzione: lavori su una **bozza di scenario** duplicata dall'orario attivo. Gli utenti non vedono nulla finché resta bozza. 2. **Apra il modulo Gestione degli orari**: l'elenco visualizza gli orari dell' account con il loro stato pubblicato/non pubblicato, i loro intervalli di settimane e le loro statistiche rapide (classi, lezioni, professori). 3. **Clicchi su [copy] Duplicare** sull'orario attivo. Finestra di dialogo: spunti ciò che viene ripreso — **siti** (aule, risorse), **professori**, **classi** (gruppi, disponibilità), **lezioni** e i loro dettagli. Per uno scenario, mantenga spesso struttura e lezioni, deselezionando le assegnazioni di professori da rifare. 4. **Dia un'etichetta significativa**: `S1 26-27`, `T3 2027`, `Prova nuovo sito Parigi`, `Riorg gruppi opzioni`. Più l'etichetta è esplicita, meno rischia di confondersi tra 3 mesi. 5. **Modifichi la struttura nella bozza**: crei o fonda le classi, aggiunga il sito, riorganizzi i gruppi. **Lanci la generazione** per misurare la fattibilità. Iteri con tranquillità — zero impatto sull'orario attivo. 6. **Se lo scenario è convalidato**, passi alla pubblicazione (vedere [Pubblicazione](#page-timetables.publication)). Altrimenti, lo mantenga come bozza o lo esporti in JSON prima dell'eliminazione. #### Vedi anche - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [Visualizzazione degli orari](#page-schedules.schedule-display) - [Condividere un orario tramite link pubblico](#page-schedules.share-link) - [Preparare il nuovo anno scolastico](#page-timetables.next-school-year) - [Pubblicazione di un orario](#page-timetables.publication) ### 3.24 Preparare il nuovo anno scolastico *Source: `help/it/timetables/next-school-year.md` · id: timetables.next-school-year · Audience: admin · Plan: standard · Updated: 2026-06-25* La costruzione di un orario per l'anno successivo può iniziare da sei a nove mesi prima, in parallelo alla gestione corrente. Il principio è di duplicare l'orario attivo per creare una bozza, poi lavorare su questa bozza senza modificare l'orario pubblicato. #### Tre elementi da trasporre Tre famiglie di dati da riportare dall'anno corrente all'anno successivo: 1. **Struttura** — siti/aule, classi, gruppi, partizioni, allineamenti, gruppi di gruppi. Spesso riutilizzabile all'80-90 % da un anno all'altro, con qualche aggiustamento ai margini. 2. **Lezioni** — l'elenco dei corsi da programmare (materia, classe, professore, durata, numero di occorrenze settimanali). Riutilizzabile al 70-80 %, con le evoluzioni del programma. 3. **Assegnazioni professore-classe-materia** — chi insegna che cosa. Più volatile (partenze, arrivi, cambiamenti di servizio orario). #### Avviare la duplicazione Dal modulo Gestione degli orari, utilizzi l'azione Duplicare sull'orario che servirà da base. La finestra di dialogo seleziona tutto per impostazione predefinita; deselezioni ciò che preferisce ricostruire: - **Siti** — con le loro aule e le loro risorse. - **Professori** — l'assegnazione dei professori all'orario; le loro disponibilità seguono. A seconda della sua politica, in un orario ricorrente, può preferire richiedere loro nuovamente le disponibilità per il nuovo anno anziché riprendere quelle vecchie. - **Classi** — con i loro corsi, gruppi, allineamenti, disponibilità e incompatibilità. - **Lezioni** (distribuzione delle ore) — con il dettaglio da conservare o meno: assegnazioni dei professori alle lezioni, gruppi, aule, risorse, posizioni. Spesso da rivedere, perché i professori e gli studenti cambieranno. La bozza creata non è pubblicata: non tocca l'orario attivo sull'anno corrente. Per gli orari settimanali o ciclici, la pubblicazione sulle settimane dell'anno successivo si effettua poi nella griglia di distribuzione. La duplicazione può anche, allo stesso tempo, **spostare le date** delle lezioni (per un orario calendario) o **trasformare il tipo di orario**: queste due opzioni e i loro effetti — in particolare il riallineamento delle lezioni e i raggruppamenti — sono descritti in [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate). #### Lavorare sulla bozza L'orario preparato compare nell'elenco come bozza. Lo rinomini con un'etichetta esplicita, per esempio `S1 27-28`. Può: - aprirlo per modificare le classi, aggiungere i nuovi professori, rimuovere quelli in uscita, - richiedere ai professori in servizio le loro disponibilità per il nuovo anno (invio massivo tramite il modulo Amministrazione), - avviare la generazione automatica per verificare la fattibilità, - iterare con calma per mesi. #### Pubblicazione all'inizio dell'anno Quando la bozza dell'orario è pronta e il nuovo anno scolastico arriva, la **pubblica** sulle settimane desiderate. Veda [Pubblicazione](#page-timetables.publication). La bozza diventa l'orario attivo, il vecchio orario resta consultabile come storico. #### Procedura — Preparare l'anno N+1 1. **Avviare N+1 in parallelo alla gestione corrente**: Omniscol isola la bozza dall'orario corrente. Itera con serenità per mesi senza rompere nulla. 2. **Prerequisito**: crei l'anno scolastico N+1 in [Amministrazione → Anno scolastico](#page-admin.school-year) con le sue date e le sue vacanze. Sarà necessario al momento di pubblicare sulle settimane di quell'anno. 3. **Lato Gestione degli orari**, utilizzi l'azione Duplicare sull'orario di riferimento. Tutto è selezionato per impostazione predefinita; deselezioni ciò che sarà ricostruito: - **Siti**, aule e risorse. - **Professori** assegnati all'orario (le loro disponibilità seguono) — spesso da rivedere, o addirittura da richiedere nuovamente per l'anno nuovo. - **Classi**, gruppi e allineamenti — riutilizzabili all'80-90 %. - **Lezioni** e i loro dettagli (assegnazioni, aule, posizioni…) — da rivedere, professori e studenti cambieranno. 4. **La bozza è creata**. La rinomini chiaramente, la apra, poi sistemi le classi (arrivi, partenze, fusioni), aggiunga i nuovi professori e rimuova quelli in uscita. 5. **Richieda le disponibilità** ai professori in servizio tramite invio massivo da Amministrazione. **Avvii la generazione automatica** per verificare la fattibilità il prima possibile — iteri sui vincoli, sui volumi, sui professori. 6. **Quando è pronto all'inizio dell'anno**, **pubblichi** la bozza sulle settimane desiderate (veda [Pubblicazione](#page-timetables.publication)). La bozza diventa l'orario attivo su N+1, il vecchio orario N resta consultabile come storico. ⚠ Non dimentichi la **freccia destra** della linea del tempo o di cambiare l'anno tramite il selettore, altrimenti resta sull'anno N (cfr. [Linea del tempo e navigazione temporale](#page-core-concepts.timeline-navigation)). #### Vedi anche - [Anno scolastico e vacanze](#page-admin.school-year) - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [Pubblicazione di un orario](#page-timetables.publication) - [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate) --- ## 4. Dashboard ### 4.1 Panoramica del modulo Dashboard *Source: `help/it/dashboard/overview.md` · id: dashboard.overview · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-25* Il modulo **Dashboard** (icona [gauge-high] nel menu di sinistra) raggruppa le statistiche calcolate sull'orario operativo (lezioni realmente posizionate e pubblicate, tenendo conto delle [assenze](#page-glossary.absence) e delle [sostituzioni](#page-glossary.substitution)). È uno strumento di **reportistica** e di **pilotaggio**: quante ore ha insegnato ciascun professore, qual è l'occupazione delle aule, quale volume orario per materia per classe, quanti giorni di presenza per studente. #### Indicatori disponibili Sei assi di analisi, accessibili tramite le schede del modulo: - Professori — materie insegnate, numero di classi, ore contabilizzate, ore straordinarie, ore annullate. - Aule — ore occupate, giorni di apertura, ore al giorno, studenti accolti. - Risorse — ore di utilizzo, giorni di utilizzo, quantità al giorno. - Materie — ore di lezione, giorni, lezioni, dettaglio per classe. - Classi — ore totali (con la proporzione per gruppo), giorni, dettaglio per materia e per professore. - Studenti — lezioni, ore, giorni di presenza, dettaglio per materia. #### Periodo di analisi Filtrabile per **settimana**, **mese**, **anno scolastico** o **intervallo di date personalizzato**. La linea del tempo in alto serve a navigare temporalmente. #### Esportazione Il pulsante Stampare apre una tabella copiabile, stampabile o esportabile in CSV. Per trasmettere queste cifre, vedere [Link di condivisione](#page-glossary.share-link). Un link iCal non ha senso qui: la Dashboard contiene solo statistiche, non lezioni datate. #### Condivisione Il pulsante Condivisione genera un link pubblico in sola lettura sulle statistiche del periodo. Utile per i revisori esterni, i responsabili pedagogici senza account Omniscol, ecc. #### Vedi anche - [Dashboard](#page-glossary.dashboard) - [Stato](#page-glossary.lesson-status) - [Consultare e filtrare](#page-schedules.consult-and-filter) - [Gestione degli orari](#page-timetables.overview) ### 4.2 Utilizzare tabelle e grafici *Source: `help/it/dashboard/tools-and-filters.md` · id: dashboard.tools-and-filters · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Le schede della **Dashboard** combinano una tabella e dei grafici. La tabella serve a controllare il dettaglio; i grafici servono a visualizzare rapidamente la distribuzione o i valori estremi. #### Ricerca e grafici La ricerca filtra le righe della tabella. I grafici si ricalcolano sulle righe visibili: se cerca una materia, un sito o un professore, i grafici riflettono unicamente quel perimetro. La ricerca è tollerante rispetto a maiuscole, accenti e spazi superflui. Più parole nella stessa ricerca sono interpretate come criteri da rispettare insieme. Una virgola permette di cercare più possibilità. Esempi: - `math durand` mostra le righe che contengono sia `math` sia `durand`. - `amphi, laboratoire` mostra le righe corrispondenti all'uno o all'altro termine. - `site nord >50` può servire, in un elenco di aule, a isolare le aule del sito nord la cui capienza supera i 50 posti. #### Ordinamento delle colonne Le intestazioni di colonna ordinabili permettono di riordinare la tabella: ordine alfabetico per i nomi, ordine numerico per i contatori, ordine cronologico per le durate. Clicchi di nuovo sulla stessa intestazione per invertire l'ordinamento. L'ordinamento è utile prima di un'esportazione: può ad esempio far risalire i professori con il maggior numero di ore aggiunte, le aule più occupate o le classi con il volume orario più elevato. #### Copiare un grafico Per riutilizzare un grafico in un documento, un'e-mail o una presentazione: 1. filtri la tabella se necessario; 2. verifichi che il grafico mostri il perimetro corretto; 3. faccia clic destro sul grafico; 4. scelga **Copia immagine** nel browser. Il grafico copiato corrisponde allo stato visualizzato sullo schermo. #### Esportare o condividere Il pulsante Stampare apre le opzioni di copia, stampa o esportazione proposte per la tabella visualizzata. A seconda della scheda, l'esportazione può servire a preparare un file Excel per la contabilità, a trasmettere un prospetto a un responsabile pedagogico o a conservare una traccia per l'audit. Il pulsante Condivisione crea un link di condivisione in sola lettura. Il destinatario consulta le statistiche del periodo senza poter modificare l'orario. #### Vedi anche - [Ricerca e filtri](#page-core-concepts.search-and-filter) - [Statistiche professori](#page-dashboard.teachers) - [Statistiche aule](#page-dashboard.classrooms) ### 4.3 Statistiche professori *Source: `help/it/dashboard/teachers.md` · id: dashboard.teachers · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* La scheda Professori consolida le ore realmente contabilizzate sul periodo visualizzato. Serve al monitoraggio del servizio, alla preparazione della retribuzione, alle esportazioni contabili e al controllo delle sostituzioni. #### Indicatori principali - **Ore contabilizzate**: volume considerato per il monitoraggio amministrativo e, a seconda dell'organizzazione dell'istituto, per la retribuzione. - **Ore supplementari** (Ore supplementari): ore derivanti da una sostituzione nel modulo Gestione delle assenze o da un'aggiunta manuale su una lezione datata di un orario ricorrente. - **Ore annullate** (Ore annullate): ore ritirate da un'assenza o dall'eliminazione manuale di una lezione datata di un orario ricorrente. - **Classi e materie**: perimetro di insegnamento del professore sul periodo. - **Tipi di lezione**: dettaglio dei volumi per tipo di lezione quando le lezioni sono tipizzate. Le ore supplementari e annullate permettono di distinguere il servizio previsto dal servizio effettivamente svolto sul periodo. #### Dettaglio per tipo di lezione Il dettaglio per tipo di lezione è utile quando la contabilizzazione dipende dal formato didattico: lezione frontale, esercitazione, laboratorio, tutorato, atelier o qualsiasi altra tipologia configurata dall'istituto. Questo dettaglio aiuta a verificare i volumi retribuibili, le regole interne di valorizzazione e le necessità di giustificazione presso la contabilità o un organismo di audit. #### Esportazione, condivisione e contabilità La tabella può essere copiata, stampata o esportata per un'elaborazione in Excel o in uno strumento contabile. Il link di condivisione in sola lettura permette di trasmettere un prospetto senza dare accesso alla modifica dell'orario. Per un collegamento ricorrente con un software di contabilità, un flusso ETL o un'integrazione dedicata può riprendere queste statistiche secondo il formato atteso dall'istituto. > _Premium_ Su un account **Premium**, l'esportazione di questa tabella aggiunge due colonne derivanti dal monitoraggio dettagliato delle lezioni: **Durata effettiva** (durata realmente svolta, distinta dalla durata contabilizzata) e **Realizzato** (volume di cui la lezione è marcata come realizzata). Utile per riconciliare servizio previsto, servizio contabilizzato e servizio effettivamente svolto. Al contrario, le lezioni in **Bozza** o **Annullato** sono escluse da queste cifre. Vedere [Stato](#page-glossary.lesson-status). #### Punti di controllo Prima di utilizzare queste cifre per la retribuzione, verifichi che il periodo sia corretto, che le assenze siano state convalidate, che le sostituzioni siano correttamente registrate e che le lezioni datate aggiunte o ritirate riflettano la realtà operativa. #### Vedi anche - [Monitoraggio ed esportazione delle assenze](#page-absences.statistics) - [Stato](#page-glossary.lesson-status) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) - [Panoramica del modulo Dashboard](#page-dashboard.overview) ### 4.4 Statistiche aule *Source: `help/it/dashboard/classrooms.md` · id: dashboard.classrooms · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* La scheda Aule analizza l'utilizzo reale delle aule sul periodo visualizzato. Serve a individuare le aule sottoutilizzate, le aule troppo sollecitate e gli squilibri per sito o edificio. #### Indicatori seguiti La tabella mostra in particolare il numero di lezioni, le ore occupate, i giorni di utilizzo, le ore al giorno e il numero di persone accolte. Quando i dati sono compilati, le colonne di sito, edificio, specializzazione e tag facilitano le analisi per zona o per tipo di aula. I grafici aiutano a visualizzare la distribuzione dell'occupazione, i volumi di ore e gli scarti di frequenza. #### Sottoutilizzo e sovrautilizzo Un'aula riempita molto poco rispetto alla sua capienza può segnalare una cattiva assegnazione, un'aula specializzata mal sfruttata o un possibile riequilibrio. Le aule utilizzate a meno del 25% della loro capienza meritano generalmente una verifica. Al contrario, un'aula utilizzata oltre la sua capienza segnala un rischio operativo: numero di persone troppo elevato, aula mal assegnata o dati di capienza da correggere. #### Analisi degli edifici La scheda permette di rispondere a domande come: - quali edifici concentrano l'occupazione; - quali aule restano poco utilizzate; - quali specializzazioni di aule mancano o sono sovradimensionate; - quali siti potrebbero essere riorganizzati. Per analisi più dettagliate, ad esempio confrontare le ore occupate con le ore di apertura di un edificio o con le fasce di lezione possibili, l'istituto può esportare la tabella e rielaborarla in uno strumento esterno, oppure interrogare l'account da un agente IA esterno collegato in [MCP](#page-integrations.mcp), a seconda del profilo, dei diritti e degli strumenti esposti. #### Filtrare le aule La ricerca accetta i comparatori di capienza (`>50`, `<=100`, ecc.) e i termini di sito, edificio, specializzazione o tag. I grafici si ricalcolano sulle aule filtrate. #### Vedi anche - [Ricerca e filtri](#page-core-concepts.search-and-filter) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) - [Siti, aule e risorse](#page-timetables.sites-rooms) ### 4.5 Statistiche materie *Source: `help/it/dashboard/subjects.md` · id: dashboard.subjects · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* La scheda Materie mostra come i volumi di insegnamento si distribuiscono sul periodo visualizzato: complessivamente, per classe, per professore e per tipo di lezione quando questa informazione è compilata. #### Ciò che la pagina permette di verificare - il volume totale dedicato a ciascuna materia; - la distribuzione per classe; - la distribuzione per professore; - la quota di ciascun tipo di lezione, ad esempio esercitazioni pratiche, esercitazioni, lezioni frontali o laboratori; - le eventuali modalità utilizzate dall'istituto. #### Analisi pedagogica Questa vista aiuta a controllare che i volumi realmente programmati restino coerenti con i piani di studio, gli impegni di formazione e le distribuzioni attese tra i tipi di insegnamento. È particolarmente utile per rispondere a domande come: quante ore di esercitazioni pratiche sono state pianificate, quale classe riceve il maggior numero di ore in una materia, o quali professori assicurano una materia sul periodo. #### Grafici e filtri La ricerca permette di isolare una materia, una classe, un professore o un tipo di lezione. I grafici si ricalcolano sulle righe visibili, il che permette di produrre rapidamente una vista mirata prima della copia o dell'esportazione. #### Vedi anche - [Statistiche classi](#page-dashboard.classes) - [Statistiche professori](#page-dashboard.teachers) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) ### 4.6 Statistiche classi *Source: `help/it/dashboard/classes.md` · id: dashboard.classes · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* La scheda Classi consolida i volumi seguiti da ciascuna classe sul periodo visualizzato. Serve a controllare il carico reale di formazione, le distribuzioni per materia e i giustificativi richiesti in occasione di accreditamenti o certificazioni. #### Indicatori seguiti La pagina consente in particolare di seguire: - le ore totali della classe; - il numero di studenti teorico e reale quando i gruppi sono compilati; - i giorni di lezione; - la distribuzione per materia; - la distribuzione per professore; - il dettaglio per tipo di lezione; - i gruppi e i sottogruppi coinvolti. #### Accreditamenti e certificazioni Le statistiche classi aiutano a documentare i volumi erogati in un programma. Possono essere utili per procedure come Qualiopi o CTI in Francia, o AMBA, EQUIS e AACSB a livello internazionale, quando l'istituto deve giustificare i volumi, i formati e le distribuzioni di insegnamento. #### Qualità dei dati La precisione dipende dalla qualità delle classi, dei gruppi, delle materie, dei tipi di lezione e delle assegnazioni dei professori nell'orario. I gruppi ben compilati permettono di ottenere cifre più affidabili sui volumi realmente seguiti dagli studenti interessati. #### Vedi anche - [Statistiche materie](#page-dashboard.subjects) - [Statistiche professori](#page-dashboard.teachers) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) ### 4.7 Statistiche studenti e risorse *Source: `help/it/dashboard/students-resources.md` · id: dashboard.students-resources · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Le schede Studenti e Risorse completano l'analisi del Dashboard. Sono più mirate rispetto alle viste professori, aule, materie o classi, ma restano utili per controllare i dati operativi. #### Studenti La scheda Studenti presenta le lezioni, le ore e i giorni seguiti per studente sul periodo visualizzato. Quando le classi, i gruppi e i sottogruppi sono correttamente compilati, le statistiche riflettono più precisamente i volumi realmente interessati da ciascuno studente. Le assenze sono prese in considerazione con colonne dedicate, in particolare il numero di ore, di lezioni e di giorni di assenza. Questa vista aiuta a individuare le situazioni individuali che richiedono una verifica o un monitoraggio amministrativo. #### Risorse La scheda Risorse segue l'utilizzo delle risorse materiali: ore di utilizzo, giorni di utilizzo e quantità mobilitata al giorno. Serve soprattutto a verificare che un materiale condiviso sia effettivamente utilizzato e a individuare i periodi o le risorse poco sollecitate. #### Utilizzo Come nelle altre schede, la ricerca filtra le righe visibili, i grafici si adattano al perimetro visualizzato e i dati possono essere copiati, stampati, esportati o condivisi in sola lettura. #### Vedi anche - [Statistiche classi](#page-dashboard.classes) - [Assenze classi e studenti](#page-absences.class-and-student-absences) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) --- ## 5. Uso quotidiano (modulo Orario) ### 5.1 Consultare e filtrare gli orari *Source: `help/it/schedules/consult-and-filter.md` · id: schedules.consult-and-filter · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* Il modulo **Orario** (icona [calendar-days] nel menu di sinistra) è la schermata di consultazione quotidiana. Mostra gli orari pubblicati sul periodo selezionato, con tutti i filtri e tutte le viste utili. #### Filtri disponibili - **Classe**, **professore**, **gruppo** (con o senza la classe intera), - **Aula**, **risorsa**, - **Professori per materia**, **squadra pedagogica** (tutti i professori di una classe), **materia**, - **Tipo di lezione** (esercitazione, laboratorio, esame, lezione frontale…) se configurato, - **Studente** (se gli studenti sono inseriti e assegnati a classi). Può **impilare più orari uno di seguito all'altro**: comodo per avere davanti agli occhi la classe e un professore in particolare, oppure più classi in parallelo. #### Viste Il componente di visualizzazione combina due livelli: - una **modalità di resa**: **griglia**, **lista** o **tabella** in stile foglio di calcolo; - un'**organizzazione temporale**: **settimana**, **giorno**, **mese**, **planning** (e **planning per ore**) o **fronte a fronte**. La griglia è la vista calendario standard. La tabella, invece, serve a presentare la vista corrente in un formato tabulare più vicino a un foglio di calcolo; non è la vista di base. Vedere [Visualizzazione degli orari](#page-schedules.schedule-display). #### Linea del tempo e navigazione La **linea del tempo** in alto indica: - le **vacanze** come barre orizzontali grigie, - il **periodo selezionato** (settimana, mese, talvolta anno scolastico) come area verde con le date in sovrimpressione, - la **navigazione**: tasti sinistra/destra della tastiera, swipe su smartphone, oppure pulsanti `◀ ▶︎`. I pulsanti `◀` e `▶︎` alle **estremità** della linea del tempo consentono di **cambiare anno scolastico**. #### Cache e prestazioni Omniscol sfrutta intensamente la cache del browser. L'applicazione ricarica gli orari solo quando cambia settimana: fare di nuovo clic sulla settimana attiva **forza un aggiornamento**. Questo permette a Omniscol di funzionare anche su connessione 2G (Edge), e di continuare a funzionare durante le micro-interruzioni di internet (le richieste saranno rieseguite al ripristino). #### Modalità di modifica Il pulsante Riorganizzazione fa passare in modalità di modifica: vedere [Modifiche puntuali](#page-schedules.ad-hoc-changes). #### Esportare / condividere - Stampare — stampare la selezione corrente (o salvarla in PDF tramite il browser). - Condivisione — aprire la finestra di condivisione: [link web](#page-glossary.share-link) pubblico, abbonamento [iCal](#page-glossary.ical) o rappresentazione JSON (API) a seconda dei suoi diritti. #### Vedi anche - [Modifiche puntuali](#page-schedules.ad-hoc-changes) - [Conflitti e diagnostica](#page-timetables.conflicts) - [Visualizzazione degli orari](#page-schedules.schedule-display) - [Stato](#page-glossary.lesson-status) - [Stampare e condividere](#page-schedules.print-and-export) ### 5.2 Visualizzazione degli orari: griglia, elenco, tabella, planning, mese, affiancamento *Source: `help/it/schedules/schedule-display.md` · id: schedules.schedule-display · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* Questa pagina descrive la **visualizzazione comune degli orari** in Omniscol. La si ritrova in **Orario**, nella schermata **Distribuzione delle ore** quando si passa alla vista **orari**, nelle schermate **Visualizzare** e **Riorganizzare** di **Gestione degli orari**, e più in generale nelle altre schermate che aprono un calendario di orari con lo stesso motore di visualizzazione. Le stesse lezioni possono essere lette in diverse presentazioni senza cambiare i dati mostrati: si cambia la visualizzazione, non l'orario. #### Cambiare visualizzazione Le icone di trasformazione sono collegate a **ogni orario mostrato**. Per farle comparire, **passi il puntatore sul titolo dell'orario**: la barra del titolo rivela allora le icone di trasformazione della vista. Clicchi quella che desidera: - [calendar] per la **griglia**, [table-list] per l'**elenco**, [table] per la **tabella** (riservata agli amministratori, su computer); - su un **planning per ore**, [up-down] **inverte i giorni e le colonne**. La barra del titolo comprende anche la condivisione e la chiusura del calendario. Poiché ogni orario mantiene la propria visualizzazione, su più calendari sovrapposti può leggerne uno in elenco e un altro in griglia. #### Tre modalità di rendering per uno stesso orario Il primo livello di commutazione riguarda il **rendering** delle stesse lezioni. ##### Griglia La **griglia** (Vista a griglia) è la vista calendario standard: giorni in colonne, fasce orarie o ore in righe, lezioni collocate nelle loro celle. È la vista di riferimento per leggere un orario settimana per settimana. È particolarmente utile per: - individuare immediatamente i buchi, le sovrapposizioni e le ampiezze, - confrontare visivamente una classe, un professore o un'aula, - modificare o rileggere un orario in un riferimento temporale familiare. ##### Elenco L'**elenco** (Visualizzazione in elenco) mostra le lezioni una sotto l'altra, in ordine cronologico. È particolarmente utile per: - scorrere velocemente un lungo periodo su schermo piccolo, - cercare una lezione precisa con i filtri, - rileggere in sequenza gli orari, le aule e le assegnazioni. ##### Tabella La **tabella** è un **rendering di tipo foglio di calcolo** della vista in corso. Serve a controllare, stampare, copiare i dati verso un foglio di calcolo o, a seconda della schermata, avviare direttamente un'esportazione su file. **Non** è la vista calendario standard. A seconda del contesto, può riprendere: - una griglia giorni × fasce orarie in un formato più tabellare, - oppure una lezione per riga quando la visualizzazione di origine è già in elenco. È particolarmente utile per: - controllo amministrativo, - copia-incolla verso un software per fogli di calcolo, - esportazione diretta in **PDF**, **CSV** o **Excel / XLSX** quando la schermata lo propone, - verifiche riga per riga. #### Portata temporale: settimana, giorno, mese Il secondo livello di commutazione riguarda il **periodo mostrato**. - **Settimana**: vista predefinita nella maggior parte dei casi. - **Giorno**: stessa logica della griglia standard, ma ristretta a una sola giornata per leggere in modo più fine un planning carico. - **Mese**: visione a lungo raggio. In modalità calendario, la visualizzazione assume la forma di una griglia mensile matriciale; in modalità tabella, si resta su un rendering tabellare dello stesso contenuto. Il selettore Scelta dei giorni da mostrare consente inoltre di nascondere o mostrare determinati giorni nelle viste interessate. #### Planning Un **planning** si compone dal menu dei filtri: giustappone più entità o più giorni in una stessa vista, per ragionare su insiemi. Due varianti, a seconda dell'asse che desidera leggere: - **Aggiungere un planning** (icona [table-cells]) colloca un'**entità per riga** (classe, professore, aula, materia) e le ore di ogni giorno in colonne — per confrontare più entità in una stessa giornata. - **Aggiungere un planning per ore** (icona [table-columns]) colloca le **ore sull'asse verticale** (alla scala del tempo) e una **colonna per entità e per giorno** — per leggere l'occupazione e le concatenazioni su una vera scala oraria. Un pulsante [up-down] inverte al bisogno i giorni e le colonne. Il planning serve in particolare a: - mostrare **più entità affiancate per una stessa giornata**, - mostrare **più giorni per una o più entità**, - leggere l'occupazione al mese, - controllare le concatenazioni, le transizioni o le disponibilità. Completa la griglia calendario e risponde ad altre domande: lo scelga per ragionare su insiemi di entità o di giorni. #### Affiancamento La funzione Dividere lo schermo apre un **affiancamento**: da due a quattro orari mostrati fianco a fianco, ciascuno con i propri filtri e la propria modalità di visualizzazione. È utile per: - confrontare due classi o due professori, - collocare una lezione comune o una sorveglianza condivisa, - verificare che una fascia oraria libera esista simultaneamente su entrambi i lati. #### Ciò che resta identico quando si cambia visualizzazione Passare da una modalità all'altra non modifica le lezioni. Mantiene lo stesso patrimonio di dati, con a seconda dei casi: - gli stessi filtri di entità, - lo stesso periodo selezionato, - gli stessi conflitti o assenze visibili, - le stesse azioni di stampa, esportazione o condivisione secondo i diritti dell'utente. #### Procedura — Scegliere la visualizzazione giusta secondo il compito 1. **Per leggere rapidamente un orario**: parta dalla **griglia**. È la vista calendario standard, la più leggibile per una settimana di lezioni. 2. **Per scorrere le lezioni una a una**: passi all'**elenco**. Utile su schermo piccolo o per ritrovare una lezione precisa. 3. **Per copiare, stampare, esportare o controllare in modalità foglio di calcolo**: utilizzi la **tabella**. È un rendering tabellare della vista in corso, non la vista di base dell'orario. 4. **Per ingrandire su una sola giornata**: scelga la portata **giorno**. 5. **Per prendere le distanze su più settimane o più date**: passi al **mese** o apra un **planning** a seconda della domanda da trattare. 6. **Per incrociare più entità o più giorni in una stessa lettura**: aggiunga un **planning** (o un **planning per ore** per una scala oraria). 7. **Per confrontare due orari separati**: utilizzi l'**affiancamento**. #### Vedi anche - [Consultare e filtrare](#page-schedules.consult-and-filter) - [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate) - [Modalità di visualizzazione dell'orario](#page-glossary.schedule-view-mode) ### 5.3 Modifiche puntuali a un orario pubblicato *Source: `help/it/schedules/ad-hoc-changes.md` · id: schedules.ad-hoc-changes · Audience: admin · Plan: standard · Updated: 2026-06-26* Omniscol non è soltanto un generatore di orari da preparare prima dell'inizio dell'anno: è anche uno strumento operativo per gestire le modifiche quotidiane nel corso dell'anno. #### Attivare la modalità di modifica Faccia clic su Riorganizzazione. Tutti i calendari aperti passano in modalità di riorganizzazione. Anche i calendari aperti successivamente sono direttamente modificabili. Si posizioni sulla settimana da modificare (linea del tempo in alto). #### Modificare una lezione Faccia clic su una lezione: compare un pannello (che può spostare o rendere semitrasparente) con tutti gli attributi modificabili: - professore/i, - eventuale gruppo, - risorse, - aula/e (vedere [aule multiple](#page-glossary.multi-room)), - promemoria. #### Modificare più lezioni contemporaneamente In modalità di riorganizzazione, **Maiusc+clic** su più lezioni le seleziona insieme (a partire da due, risaltano evidenziate). Il pannello diventa allora una **scheda comune**: l'aula, il o i professori, le risorse, il promemoria o la durata che vi imposta si applicano a **tutte le lezioni selezionate** al salvataggio, comodo per cambiare aula a un blocco di lezioni in una sola volta. Vedere [Modifica di una lezione](#page-timetables.lesson-edit). Invece di fare clic su ogni lezione, il menu Selezione della scheda **amplia la selezione** con un solo clic: - per **finestra temporale**: l'intera **giornata**, la **settimana** o il **mese** (a seconda del tipo di orario); - per **somiglianza**: le **lezioni successive simili** (stessa classe, materia, gruppo e fascia oraria: la ricorrenza di un corso); - per **partizione**: le lezioni dello stesso gruppo in partizione. Ogni voce indica il numero di lezioni che aggiunge, e un interruttore limita l'ambito al planning corrente oppure lo estende a **tutti** i calendari aperti. Il menu di **duplicazione** adiacente ([copy]) ricopia la o le lezioni, in più esemplari oppure fino a una data su un orario di tipo calendario. Il suo funzionamento dettagliato è descritto in [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution). #### Staccare o eliminare una lezione Per **staccare** una lezione dalla griglia faccia clic sull'icona [scissors] del pannello oppure faccia doppio clic su di essa. La lezione raggiunge l'area delle lezioni non posizionate a destra, dove può anche modificarla. Per **eliminarla**, apra il suo pannello e faccia clic su Eliminare: mentre lo stacco conserva la lezione nell'area da riposizionare, l'eliminazione la rimuove dall'orario. Come ogni modifica, compare nel registro delle modifiche, dove può annullarla (vedere più avanti). #### Spostare una lezione Apra la lezione e faccia clic sul suo pulsante di posizionamento (Posizionare sull'orario, la puntina): le fasce orarie possibili compaiono come pastiglie colorate (verde → rosso a seconda dei conflitti). Faccia clic sulla nuova fascia oraria. Per spostare tra settimane, due opzioni: - **vista mese**: visualizzi più settimane contemporaneamente, poi riposizioni la lezione sulla fascia oraria desiderata; - **staccare / cambiare settimana / riposizionare**: estragga la lezione, cambi la settimana attiva, la riposizioni. #### Differenza con gli orari di tipo calendario Su un orario di tipo [calendario](#page-glossary.calendar-mode), una modifica **incide direttamente sulla lezione datata** (già unica per quella data). Su un orario [settimanale](#page-glossary.weekly-timetable) o [ciclico](#page-glossary.cyclic-timetable), una modifica puntuale **non** intacca la settimana tipo: viene registrata come un'eccezione sulla data interessata. Le altre settimane continuano a seguire la settimana tipo. #### Vedere e annullare le modifiche Il pulsante Visualizzare la lista delle modifiche apportate elenca le modifiche in corso sul periodo. Può annullarle singolarmente. Su un orario **settimanale o ciclico**, una modifica puntuale è registrata come un'eccezione sulla sua data: rimane annullabile **in qualsiasi momento** da questo registro. ⚠ Su un orario **di tipo calendario**, invece, le modifiche sono **consolidate definitivamente al salvataggio**: le annulli **prima di salvare**. Queste modifiche riguardano **una data precisa**, non la struttura dell'orario. La struttura (classi, gruppi, **settimana tipo**) si modifica alla **costruzione dell'orario**, non qui. Modificare una data **passata** corregge quindi lo storico di quella singola data: lo faccia con cognizione di causa. #### Rilevamento dei conflitti Il rilevamento dei conflitti funziona in modalità di modifica come nel modulo Gestione degli orari: non appena sposta o modifica una lezione, Omniscol verifica in tempo reale le doppie prenotazioni, i superamenti di capienza, i vincoli orari e le assenze. Sul calendario, una lezione in conflitto presenta un **doppio contorno colorato**: rosso per un conflitto bloccante, arancione o giallo per un disagio da valutare. Il dettaglio (tipo di conflitto, lezioni coinvolte e, ad esempio, un'aula mancante) compare nella **descrizione** al passaggio del mouse sulla lezione. L'elenco completo dei tipi di conflitto, i livelli di gravità e il pannello di diagnostica sono descritti in [Conflitti e diagnostica](#page-timetables.conflicts). #### Vedi anche - [Consultare e filtrare gli orari](#page-schedules.consult-and-filter) - [Conflitti e diagnostica](#page-timetables.conflicts) - [Eventi puntuali](#page-schedules.events) ### 5.4 Eventi puntuali (fuori orario) *Source: `help/it/schedules/events.md` · id: schedules.events · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Un **evento puntuale** è una lezione che non fa parte della struttura regolare dell'orario: una riunione eccezionale, un'uscita scolastica, un esame su una giornata, una giornata di porte aperte, un consiglio di classe. Invece di toccare la struttura regolare delle lezioni, crea un evento datato che si posa **al di sopra della** griglia su un intervallo preciso. La creazione di eventi puntuali è disponibile sugli account **Premium**. #### Quando creare un evento anziché una lezione - **Corso regolare**: si ripete ogni settimana (o una settimana sì e una no) per tutto l'anno. Gestito nel modulo Gestione degli orari, integrato nella generazione automatica. - **Evento puntuale**: si svolge su un intervallo datato, senza logica di ricorrenza regolare. Gestito direttamente nel modulo Orario. Regola pratica: se lo scriverebbe a mano su un calendario anziché nella griglia settimanale, è un evento. #### Creare un evento — l'agenda degli eventi Un evento non si inserisce in un modulo isolato: si traccia **direttamente sull'agenda**, come in un calendario. Sulla griglia degli eventi, **faccia clic e trascini** per disegnare un intervallo su una giornata (durante il tracciamento compare un'anteprima). Al rilascio, si apre una scheda, ancorata alla selezione, con le date e gli orari **già precompilati**; lei completa: - **Titolo** — `Consiglio di classe 2B`, `Uscita al museo della scienza`, `Simulazione di esame di italiano`. - **Inizio** e **fine** — data, ora di inizio, ora di fine. - **Partecipanti** — classi, gruppi, professori, studenti, oppure partecipanti in **testo libero**. - **Luogo** — aula nota a Omniscol o luogo inserito in **testo libero**. - **Risorse** — materiale o risorsa da prenotare se necessario. - Link alla videoconferenza — opzionale, per seguire l'evento a distanza. - **Commento** — nota libera che compare con l'evento. - **Colore** — aiuto visivo per distinguerlo nella griglia. La selezione con il mouse resta **contenuta in una stessa giornata**. ##### Dove si trova l'agenda - **Nel modulo Orario**. Visualizzi il filtro **Eventi**: l'agenda è modificabile (tracciamento con il mouse attivo) solo in modalità **riorganizzazione**; in semplice consultazione, resta in sola lettura. - **Nella modifica di un orario di tipo calendario.** Il filtro **Eventi** vi è proposto solo per un orario **di tipo calendario**; non compare su un orario a griglia settimanale. #### Un salvataggio diretto, in parallelo all'orario Un evento si salva **immediatamente e separatamente**, non appena conferma la sua scheda: creare, spostare o eliminare un evento innesca subito il proprio salvataggio (confermato da una notifica). **Non ha bisogno** del pulsante **Salva** globale della riorganizzazione né della modifica dell'orario: gli eventi sono già salvati. Viceversa, salvare la riorganizzazione o la ripartizione oraria di un orario riguarda le **lezioni**, non gli eventi: è un sottosistema parallelo, persistito man mano. #### Conflitti con le lezioni dell'orario Un evento fa riferimento **alle stesse entità** dell'orario — professori, classi, gruppi, aule, risorse — il che consente a Omniscol di rilevare le sovrapposizioni con le lezioni regolari. Quando compila la scheda, ogni partecipante e ogni aula o risorsa è verificato rispetto a ciò che è già posizionato sull'intervallo: - per un **professore**, una **classe** o un **gruppo**, l'evento è confrontato con le lezioni **e con gli altri eventi**; - le **aule** e le **risorse** sono verificate per individuare un'occupazione già esistente sulla fascia oraria. Queste verifiche alimentano le indicazioni di disponibilità nei selettori e risalgono come conflitti nella vista di riorganizzazione. L'evento si sovrappone alla griglia: **segnala** il conflitto ma non libera da solo le lezioni con cui si sovrappone. Le tratti separatamente (spostamento, modifica puntuale, assenza…). #### Partecipanti: tutti, o chiunque Oltre ai partecipanti nominativamente designati, esistono due partecipanti particolari — e non si comportano allo stesso modo di fronte ai conflitti: - **Tutti** — l'evento riguarda **l'intera scuola**, a titolo **obbligatorio**. Si visualizza in tutti gli orari **ed entra in conflitto** con le lezioni esistenti: da tenere presente per una giornata di porte aperte o un evento che mobilita realmente tutto l'istituto. - **Chiunque** — l'evento è aperto a chi lo desidera, a titolo **facoltativo**. Si visualizza anch'esso in tutti gli orari, ma **non genera alcun conflitto**: per una proposta facoltativa che non deve bloccare la griglia di nessuno. Entrambi si visualizzano ovunque; solo **Tutti** provoca conflitti, perché rende la presenza obbligatoria. #### Proiezione negli orari Una volta creato, un evento è **proiettato in ogni orario interessato**: compare nell'orario di ciascuno dei suoi professori, classi, gruppi e studenti partecipanti, oltre che in quello di ciascuna aula e risorsa selezionata (e ovunque, per **Tutti** e **Chiunque**). È lo stesso evento visto sotto diversi angoli — è quindi normale ritrovarlo al contempo nell'orario della classe, del professore e dell'aula; non sono duplicati. Un evento non ha un campo « tipo »: si distingue da un corso regolare per il titolo, le date, i partecipanti e l'eventuale colore. #### Spostare, incastrare, liberare gli orari Sull'agenda degli eventi, a differenza delle lezioni, un evento si **sposta e si ridimensiona con il trascinamento**. La **fascia oraria visualizzata** dall'agenda segue gli **orari di apertura** dell'istituto: si estende dall'apertura più mattutina alla chiusura più tardiva configurate, e ripiega su 07:00 – 20:00 se non è definito nulla. La scheda comprende anche un pulsante **puntina**: passa al posizionamento per fasce orarie libere, e un clic sulla fascia scelta riporta la sua data e i suoi orari nella scheda — un'alternativa al tracciamento con il mouse per incastrare in modo pulito l'evento. Infine, gli orari di inizio e di fine sono **del tutto liberi**: non sono vincolati a cadere sulle fasce orarie della griglia. Un evento può iniziare alle 09:50 e finire alle 11:34 anche se le lezioni regolari sono incastrate su fasce piene: è tutto il vantaggio di un evento sovrapposto alla griglia. #### Modificare o annullare L'evento si modifica come lo si è creato: spostarlo nel tempo, cambiare aula, aggiungere o rimuovere partecipanti. #### Procedura — Creare un evento puntuale 1. **Un evento puntuale** si posa **al di sopra della** griglia su un intervallo datato: consiglio di classe, uscita, esame di prova, giornata di porte aperte, riunione. Nessuna ricorrenza regolare da modellare. 2. **Faccia clic e trascini sull'agenda degli eventi** per tracciare l'intervallo (in modalità riorganizzazione). La scheda si apre con le date precompilate; inserisca il titolo (`Consiglio di classe 2B`, `Uscita al museo della scienza`). 3. **Selezioni i partecipanti**: classi, gruppi, professori interessati, studenti se disponibili, o partecipanti liberi. 4. **Aggiunga luogo, risorse, link di videoconferenza e commento** se necessario. Questi campi descrivono l'evento; non trasformano le lezioni regolari. 5. **Salvi.** L'evento compare negli orari interessati. Se Omniscol segnala un conflitto con lezioni regolari, corregga le lezioni interessate nella vista Riorganizzazione. #### Vedi anche - [Lezioni fuori griglia](#page-timetables.off-grid-lessons) - [Modifiche puntuali](#page-schedules.ad-hoc-changes) - [Consultare e filtrare gli orari](#page-schedules.consult-and-filter) - [FAQ — casi particolari](#page-faq.edge-cases) ### 5.5 Stampare e condividere *Source: `help/it/schedules/print-and-export.md` · id: schedules.print-and-export · Plan: standard · Updated: 2026-06-25* Tutti gli orari consultabili nel modulo Orario possono essere **stampati** o **condivisi** in diversi formati. La scelta dipende dal destinatario: carta per un uso offline, PDF per una diffusione via posta elettronica, iCal per un'agenda elettronica, link web per una consultazione diretta. Per un'analisi numerica dei volumi in un foglio di calcolo, la **Dashboard** aggrega le ore e le esporta in CSV / XLSX. #### Stampare Il pulsante Stampare (in alto nella vista) apre l'anteprima di stampa con un'impaginazione ottimizzata per la carta: - le lezioni sono **svuotate**: Omniscol ne stampa solo il **contorno colorato** su sfondo bianco, per risparmiare inchiostro mantenendo il riferimento visivo dei colori, - i margini, l'orientamento e le dimensioni sono adattati al formato A4 / Letter, - l'intestazione contiene il nome dell'istituto, l'etichetta dell'orario consultato (studente, classe, aula…) e l'intervallo di date. L'anteprima utilizza il sistema di stampa del browser — quindi tutto ciò che questo sa fare (esportazione PDF nativa, selezione della stampante, fronte-retro, ecc.) è accessibile. #### Esportare in PDF Omniscol propone **pulsanti di esportazione PDF dedicati**, che impaginano un orario in modo pulito. Il più completo si trova nella schermata Visualizzare di Gestione degli orari (vedere [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate)). Anche la vista **tabella** di un orario (vedere [Visualizzazione degli orari](#page-schedules.schedule-display)) propone un'esportazione PDF, accanto al CSV e all'Excel. In alternativa, sulla maggior parte dei browser moderni, la stampa consente di produrre un PDF (`Microsoft Print to PDF`, `Save as PDF`, `Stampa su file`). Buona pratica: utilizzi il PDF per le comunicazioni occasionali (invio di un orario settimanale a un genitore, per esempio) e il link di condivisione per le comunicazioni ricorrenti (il PDF è fisso, il link segue le modifiche). #### Analizzare in un foglio di calcolo (CSV / XLSX) Due vie conducono al foglio di calcolo. **Dalla schermata di consultazione**, trasformi la vista dell'orario in **tabella** (vedere [Visualizzazione degli orari](#page-schedules.schedule-display)): questo rendering di tipo foglio di calcolo si stampa, si copia-incolla e si esporta direttamente in **CSV**, **Excel / XLSX** o **PDF**. **Per un'analisi aggregata dei volumi**, passi dalla **Dashboard**, che calcola le ore per professore, per materia, per classe o per aula sul periodo scelto e propone la stessa esportazione in **CSV** (universale) o **XLSX** (preformattato per Excel). Usi tipici di questa esportazione su foglio di calcolo: - conteggiare le ore svolte per professore, per materia, per classe; - alimentare uno strumento esterno per le risorse umane (paghe, monitoraggio del tempo di lavoro); - individuare scarti tra servizio previsto e servizio svolto. Vedere [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) e [Statistiche professori](#page-dashboard.teachers). Per recuperare le lezioni stesse in formato macchina, la condivisione propone una rappresentazione **JSON (API)**; vedere [Condividere un orario tramite link pubblico](#page-schedules.share-link). #### Esportare in iCal Per condividere dinamicamente un orario con un'agenda elettronica (Google Calendar, Apple Calendar, Outlook), utilizzi l'**abbonamento iCal** anziché un'esportazione occasionale. Il destinatario vede le modifiche in continuo. Vedere [iCal — abbonamento e link dinamico](#page-integrations.ical). La finestra di condivisione mostra anche un **QR code** pronto da scansionare: il destinatario punta il telefono sullo schermo del computer per abbonarsi all'agenda senza digitare un indirizzo. Se desidera comunque un file `.ics` fisso per l'archiviazione, l'esportazione occasionale è disponibile anch'essa dalla finestra di condivisione. #### Filtrare prima di esportare Le esportazioni rispettano i **filtri attivi** della vista corrente: se ha filtrato su una classe o un intervallo di date preciso, l'esportazione conterrà solo quel perimetro. Per un'esportazione più ampia (tutto l'anno, tutte le classi), modifichi i filtri di conseguenza prima di avviare l'esportazione. #### Procedura — Stampare o condividere un orario 1. **Due uscite dalla schermata di consultazione**: la stampa (PDF) per una diffusione fissa, e la condivisione (Web, iCal, JSON) per una diffusione dinamica. L'analisi numerica su foglio di calcolo passa, invece, dalla Dashboard. 2. **Filtri prima** la vista secondo il perimetro voluto: classe, professore, aula, intervallo di date, tipo di lezione. La stampa e la condivisione rispettano i filtri attivi — un filtro stretto = un'uscita stretta. 3. **Per un PDF** (invio via posta elettronica, archiviazione): il più completo è l'esportazione PDF della schermata Visualizzare (cfr. [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate)); dalla consultazione, il pulsante Stampare apre l'anteprima di stampa (lezioni svuotate, intestazione istituto + etichetta orario + intervallo di date), da cui è possibile anche produrre un PDF. 4. **Nella finestra di stampa del browser**, selezioni **Save as PDF** / **Microsoft Print to PDF** / **Stampa su file**. Il PDF è fisso: non segue le modifiche future dell'orario. Per un risultato dinamico, preferisca il **link di condivisione** (vedere [Link di condivisione pubblici](#page-schedules.share-link)). 5. **Per un'analisi su foglio di calcolo**: converta l'orario in **tabella** per un'esportazione diretta (CSV / XLSX / PDF, cfr. [Visualizzazione degli orari](#page-schedules.schedule-display)), oppure apra la **Dashboard** per i volumi aggregati — ore per professore / materia / classe — quindi esporti in CSV o XLSX (cfr. [Statistiche professori](#page-dashboard.teachers)). 6. **Per un'agenda elettronica**, preferisca l'**abbonamento iCal** al file fisso: il destinatario vede gli aggiornamenti in continuo (cfr. [iCal](#page-integrations.ical)). #### Vedi anche - [Visualizzazione degli orari](#page-schedules.schedule-display) - [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Condividere un orario tramite link pubblico](#page-schedules.share-link) - [Importazione ed esportazione](#page-admin.import-export) ### 5.6 Condividere un orario tramite link pubblico *Source: `help/it/schedules/share-link.md` · id: schedules.share-link · Audience: admin/teacher · Plan: standard · Updated: 2026-05-15* Il modulo **Orario** propone un pulsante Condivisione che genera URL firmati per l'orario consultato. Il destinatario apre il link web e vede l'orario in sola lettura, senza doversi connettere. È il percorso più rapido per comunicare un orario a qualcuno che non ha un account Omniscol — tipicamente un genitore di uno studente, un partner esterno o un ufficio amministrativo. #### Formati generati dalla condivisione A seconda del contesto e dei suoi diritti, la finestra modale di condivisione può proporre diversi URL: - **pagina web responsive** — visualizzazione navigabile in stile portale, viste settimana / giorno / elenco, - **flusso iCal `.ics`** — per abbonarsi da Google Calendar, Apple Calendar, Outlook, - **JSON (API)** — per gli sviluppatori e le integrazioni macchina-a-macchina, quando questo formato è autorizzato. Il destinatario sceglie ciò che gli è più comodo: un genitore aprirà la pagina web o si abbonerà in iCal, uno sviluppatore utilizzerà il JSON. #### Che cosa si può condividere? La condivisione non si limita alla schermata di consultazione degli orari: la stessa icona Condivisione compare su numerose schermate di Omniscol. **In sola lettura**, può condividere: - l'**orario individuale** di uno studente o di un professore, - l'**orario di una classe** intera, di un'**aula** o di una **materia**, - i **quadri di servizio** del modulo Servizio del personale, - la **dashboard** e il **monitoraggio delle assenze**, - le schermate di **visualizzazione** e di **riorganizzazione** di un orario. **In lettura-scrittura** — caso unico — può condividere la schermata di **inserimento delle disponibilità** dei professori (e del personale): il link dedicato consente a ciascuno di indicare le proprie disponibilità fino alla data di scadenza, **senza account né password** Omniscol. È l'unica condivisione che autorizza un inserimento, e non una semplice consultazione. Ogni URL firmato porta il perimetro richiesto e una data di scadenza. #### Creare il link Dalla schermata di consultazione, clicchi su Condivisione nella barra degli strumenti. La finestra modale propone: - **Data di scadenza** — data fino alla quale i link generati restano validi. - **Schede Web, iCal e JSON** — visibili a seconda dei formati generati per la selezione corrente. Copi quindi l'URL desiderato. Per i link web e iCal, la finestra modale può anche mostrare un **QR code** stampabile. #### Limitare una condivisione Scelga una data di scadenza breve per gli usi occasionali. Un link è portato dall'account che lo ha generato. Per invalidare i link esistenti generati da un account, utilizzi le leve reali: - cambiare o reimpostare la password dell'account portatore; - disattivare o eliminare l'account portatore. Suggerimento: per le condivisioni gestite da un team di pianificazione, si può utilizzare un **account di servizio chiaramente identificato** (per esempio `diffusione-orari`) anziché l'account personale di un collega. Questo account porta allora la responsabilità dei link emessi; i suoi accessi e la sua password devono essere gestiti come un accesso amministrativo. I link web sono in sola lettura, tranne il link di **inserimento delle disponibilità** dei professori descritto sopra, che autorizza l'inserimento fino alla data di scadenza senza dare accesso all'account Omniscol. #### Sicurezza - Il link contiene un token firmato altamente sicuro. - Dà accesso **unicamente alla risorsa condivisa** (orario o schermata), non all'account globale. - La validità è limitata dalla data di scadenza scelta. - I link sono invalidati se la password dell'account portatore cambia, anche se la nuova password è identica in chiaro. - I link cessano di funzionare se l'account portatore è disattivato o eliminato. - Chiunque possieda l'URL può consultare il perimetro condiviso fino alla scadenza o all'invalidazione. #### Differenza con un account Omniscol limitato Per condividere i dati tra i team, per esempio con un ufficio contabilità, le due opzioni possono apparire concorrenti. - **Link pubblico firmato** = nessuna identificazione, accesso semplice, condivisione rapida. - **Account Omniscol limitato** = identificazione dedicata, durata più lunga, gestione di un account utente, con l'opzione dei [ruoli personalizzati](#page-admin.customroles). Preferisca il link per gli usi occasionali e un account limitato per gli usi strutturati nel tempo. #### Procedura — Creare un link di condivisione 1. **Un link di condivisione** dà accesso a un orario in sola lettura senza login. Ideale per un genitore, un partner esterno, un ufficio amministrativo. 2. **Apra l'orario da condividere** nel modulo Orario: studente, classe, aula, professore o materia. La pagina di consultazione è il punto di partenza. 3. Clicchi su Condivisione nella barra degli strumenti. Si apre una finestra modale con le opzioni della condivisione. 4. **Scelga la data di scadenza.** Più il link circola ampiamente, più questa data dovrebbe essere vicina. 5. **Copi il formato utile.** Web per una consultazione diretta, iCal per un abbonamento a un calendario, JSON se è prevista l'integrazione API. L'URL è utilizzabile immediatamente: la persona che lo apre vede il perimetro condiviso in sola lettura, senza connessione. 6. **In caso di diffusione non desiderata**, crei un nuovo link più limitato con un altro account e invalidi i link portati dall'account di origine cambiandone la password o disattivandolo se è opportuno. #### Vedi anche - [Link di condivisione pubblici](#page-portal.share-links) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Portale ospite (link pubblici)](#page-portal.guest-portal) --- ## 6. Assenze e sostituzioni ### 6.1 Panoramica del modulo Assenze *Source: `help/it/absences/overview.md` · id: absences.overview · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* Il modulo **Gestione delle assenze** centralizza la dichiarazione e il monitoraggio delle indisponibilità che devono modificare la visualizzazione degli orari: professori, classi, studenti e, se il Servizio del personale è attivato, membri del personale. #### Entità gestite | Entità assente | Effetto sull'orario | | --- | --- | | **Professore** | Lezione **annullata** quando il professore assente ne è l'unico docente, salvo se un **sostituto** è designato (compare allora accanto al titolare barrato). In **co-docenza**, la lezione è **mantenuta**: solo il professore assente viene rimosso, l'altro o gli altri docenti la assicurano. | | **Classe** | Le lezioni della classe assente vengono rimosse dalla visualizzazione nel periodo interessato. | | **Studente** | Le lezioni restano al loro posto per la classe; l'assenza riguarda la vista e il monitoraggio dello studente. | | **Personale** | Disponibile solo quando il Servizio del personale è attivo; funziona come un'assenza di entità di pianificazione del personale. | Le vacanze scolastiche dell'anno non vengono inserite come assenze: sono gestite nell'anno scolastico. #### Documenti giustificativi Il modulo non gestisce un **deposito di giustificativi**: la gestione degli orari non ha lo scopo di conservare dati sensibili (certificati medici, segreti professionali), si concentra sulla pianificazione. Se occorre comunque allegare un documento, depositarlo sul proprio spazio di archiviazione abituale e incollare il **link nel campo commento** dell'assenza. #### Stati - **accettato**: l'assenza è convalidata e considerata nelle visualizzazioni. - **in sospeso**: richiesta dichiarata dall'utente interessato, da convalidare da parte di un amministratore. - **respinto**: richiesta rifiutata. - **abbandonato**: richiesta annullata da chi l'ha dichiarata. Solo le assenze allo stato **accettato** producono un effetto: modificano la visualizzazione degli orari, contrassegnano le lezioni interessate (annullate all'occorrenza) e alimentano le **statistiche** e le **esportazioni** delle assenze (cfr. [Monitoraggio ed esportazione delle assenze](#page-absences.statistics)). Gli altri stati — in sospeso, respinto, abbandonato — restano senza effetto sull'orario. #### Organizzazione delle schermate Il modulo espone delle schede per tipo di entità: - **Professori**: assenze dei professori e gestione delle sostituzioni. - **Classi**: assenze delle classi, gestite dagli amministratori. - **Studenti**: assenze individuali degli studenti. - **Personale**: assenze del personale, se il Servizio del personale è attivato. Ogni schermata presenta le assenze del periodo, il loro stato, le lezioni interessate quando l'informazione è disponibile, una navigazione temporale e una lista esportabile per gli amministratori. #### Prerequisiti - Almeno un orario pubblicato sull'anno scolastico interessato. - Per le assenze dei professori: i professori devono essere assegnati a delle lezioni. - Per le assenze degli studenti: gli studenti devono essere assegnati a delle classi. - Per le assenze del personale: il Servizio del personale deve essere attivo. #### Procedura — Scoprire il modulo Assenze 1. Aprire il modulo **Assenze** dalla navigazione principale. 2. Scegliere la scheda corrispondente all'entità interessata: professori, classi, studenti o personale a seconda dei moduli attivati. 3. Utilizzare Dichiara un'assenza per aprire il modulo: entità assente, date, intervallo orario, motivo, commento e stato a seconda dei propri diritti. 4. Su un'assenza di professore accettata, aprire Gestione delle sostituzioni per vedere le lezioni interessate e assegnare sostituti puntuali o regole di sostituzione. 5. Per gli amministratori, il pulsante Tabella consente di esportare la tabella visualizzata. #### Vedi anche - [Dichiarare un'assenza](#page-absences.declaring) - [Politiche di sostituzione](#page-absences.substitution-policies) - [Assenza](#page-glossary.absence) - [Sostituzione / Supplenza](#page-glossary.substitution) ### 6.2 Dichiarare un'assenza (amministratore / professore / studente) *Source: `help/it/absences/declaring.md` · id: absences.declaring · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* #### Chi può dichiarare? | Ruolo | Per chi? | Stato iniziale | | --- | --- | --- | | **Amministratore** | Professore, classe, studente o membro del personale | accettato per impostazione predefinita, modificabile | | **Professore** | Solo se stesso | in sospeso | | **Studente** | Solo se stesso | in sospeso | | **Personale** | Solo se stesso, se il Servizio del personale è attivo | in sospeso | Le assenze delle classi sono operazioni amministrative: le route di creazione e di modifica sono riservate agli amministratori. #### Campi del modulo Il pulsante Dichiara un'assenza apre il modulo. Il salvataggio si effettua con Aggiungere. - **Entità**: visibile agli amministratori; gli altri ruoli possono dichiarare solo la propria assenza. - **Intervallo di date**: data di inizio e data di fine. Per un'assenza di una giornata, utilizzare la stessa data. Se la fine non è indicata dall'interfaccia, Omniscol adotta la fine dell'anno scolastico come limite tecnico: non utilizzarla per documentare un'assenza realmente aperta. - **Intervallo orario**: intera giornata per impostazione predefinita, o fasce precise. - **Filtri opzionali**: - **Classe** per limitare un'assenza di professore a determinate classi. - **Materia** per riguardare solo le lezioni di una data materia. - **Assegnazione** per le assenze di personale, se il Servizio del personale è attivo. - **Motivo**: scelto dalla lista proposta; gli amministratori possono anche inserire un motivo personalizzato. - **Commento**: testo libero breve. - **Stato**: solo gli amministratori possono impostare liberamente lo stato (stato **accettato** per impostazione predefinita). Per gli altri ruoli, la richiesta assume lo stato **in sospeso** e attende la convalida di un amministratore; chi dichiara può tuttavia portare la propria richiesta allo stato **abbandonato** per abbandonarla. #### Procedura — Prima assenza di professore 1. Aprire la scheda Professori del modulo Gestione delle assenze. 2. Fare clic su Dichiara un'assenza. 3. Selezionare il professore interessato se si è amministratore. Un professore che dichiara la propria assenza non ha accesso al selettore di altri professori. 4. Indicare le date. Per una giornata, inserire la stessa data all'inizio e alla fine. 5. Lasciare **Tutto il giorno** o definire le fasce interessate se l'assenza riguarda solo una parte della giornata. 6. Scegliere il motivo, aggiungere un commento se necessario, quindi salvare con Aggiungere. 7. Se l'assenza è accettata e riguarda un professore, aprire la gestione delle sostituzioni con Gestione delle sostituzioni per assegnare un sostituto o definire una regola di sostituzione. #### Convalida di una richiesta in sospeso Quando un professore, uno studente o un membro del personale dichiara la propria assenza, la richiesta è in sospeso. Gli amministratori possono accettarla o rifiutarla dalle scorciatoie accettato e respinto, oppure aprendo la scheda. #### Modifiche successive - Un amministratore può modificare le date, gli orari, il motivo, il commento e lo stato. - Chi dichiara può modificare un'assenza futura di propria pertinenza; la modifica ritorna allo stato in sospeso. - Chi dichiara può abbandonare la propria richiesta. #### Visibilità Il fatto che un'entità sia assente può essere visibile negli orari o nel modulo Assenze a seconda dei diritti di consultazione. Il dettaglio del motivo, del commento, dei metadati di creazione e dello stato non è esposto allo stesso modo a tutti i ruoli: gli utenti non amministratori non vedono necessariamente i dettagli delle assenze altrui. #### Vedi anche - [Politiche di sostituzione](#page-absences.substitution-policies) - [Sostituzione puntuale di una lezione](#page-absences.single-lesson-replacement) - [Assenza](#page-glossary.absence) ### 6.3 Politiche di sostituzione *Source: `help/it/absences/substitution-policies.md` · id: absences.substitution-policies · Audience: admin · Plan: standard · Updated: 2026-06-13* Una **politica di sostituzione** consente di coprire più lezioni interessate dalla stessa assenza di un professore. Evita di scegliere un sostituto lezione per lezione quando è sufficiente una regola semplice. #### Accesso Sulla riga di un'assenza di un professore, aprire Gestione delle sostituzioni. Il pannello mostra le lezioni interessate dall'assenza e le regole di sostituzione registrate. Le lezioni senza sostituto restano contrassegnate come interessate dall'assenza del titolare. #### Due livelli di regola ##### Sostituzione puntuale Su una lezione precisa, Assegna un sostituto consente di scegliere un sostituto solo per quella lezione. Questa assegnazione ha priorità sulle politiche lunghe. ##### Politica lunga Nella sezione Lunghe sostituzioni del pannello, il pulsante Assegna un sostituto crea una regola di sostituzione. Per ogni regola, si compila: - il **sostituto**; - una **data di inizio** e una **data di fine** di validità; - degli **intervalli orari** se la regola non vale per l'intera giornata; - eventualmente delle **materie**; - eventualmente delle **classi**; - un **commento** interno. Più regole possono coesistere. Si applicano nell'ordine visualizzato; riordinarle mediante trascinamento se la priorità cambia. #### Lettura del pannello L'elenco delle lezioni mostra quale sostituto copre ciascuna di esse. Se una regola non corrisponde ad alcuna lezione dell'assenza, il pannello mostra un avviso su quella regola: correggere le date, gli intervalli orari, le materie o le classi. #### Caso tipico: assenza lunga con ripartizione Per un'assenza di più settimane: 1. Creare una prima regola con il sostituto principale, senza filtro di materia né di classe. 2. Aggiungere una seconda regola più mirata, ad esempio limitata a una materia o a un intervallo orario. 3. Collocare la regola più specifica prima della regola generale se deve prevalere. #### Procedura — Ripartire un'assenza lunga 1. Aprire l'assenza del professore con Gestione delle sostituzioni. 2. Fare clic su Assegna un sostituto. 3. Scegliere il sostituto principale, definire le date di validità, quindi salvare. 4. Aggiungere una regola complementare se alcune lezioni devono essere assicurate da un altro sostituto. 5. Controllare l'elenco delle lezioni interessate. Devono mostrare il sostituto previsto; le lezioni non coperte restano visibili come non sostituite. 6. Confermare il pannello con Assegnare. #### Vedi anche - [Dichiarare un'assenza](#page-absences.declaring) - [Sostituzione puntuale di una lezione](#page-absences.single-lesson-replacement) - [Sostituzione / Supplenza](#page-glossary.substitution) ### 6.4 Sostituzione puntuale di una lezione *Source: `help/it/absences/single-lesson-replacement.md` · id: absences.single-lesson-replacement · Audience: admin · Plan: standard · Updated: 2026-06-13* Una **sostituzione puntuale** assegna un sostituto a una sola lezione interessata da un'assenza di professore. Si imposta nel pannello di gestione delle sostituzioni dell'assenza. Questo meccanismo non sposta la lezione, non crea una notifica di per sé e non propone diversi scenari di annullamento. Aggiunge un sostituto sulla lezione interessata; il titolare assente resta visibile come professore sostituito. #### Accesso 1. Aprire la scheda Professori del modulo Gestione delle assenze. 2. Sull'assenza interessata, fare clic su Gestione delle sostituzioni. 3. Nella lista delle lezioni interessate, utilizzare Assegna un sostituto sulla lezione da sostituire. Il pannello mostra le lezioni coperte dall'assenza e le regole di sostituzione già definite. #### Effetto della sostituzione puntuale - Il sostituto scelto è applicato unicamente a questa lezione. - L'aula, la classe, la data e l'orario della lezione non vengono modificati da questa azione. - La sostituzione puntuale prevale sulle regole generali di sostituzione della stessa assenza. - Se nessun sostituto è assegnato, la lezione resta interessata dall'assenza del professore. #### Scegliere il sostituto La lista di selezione si basa sui professori disponibili per la fascia interessata. Verificare manualmente che la scelta sia coerente con la materia, il sito e l'organizzazione interna dell'istituto prima di confermare. #### Rimuovere una sostituzione puntuale Se una sostituzione puntuale è stata aggiunta per errore, utilizzare [xmark]. La lezione ricade allora sulla regola lunga applicabile, o resta senza sostituto se nessuna regola corrisponde. #### Procedura — Sostituire una lezione 1. Creare o aprire un'assenza di professore accettata. 2. Fare clic su Gestione delle sostituzioni. 3. Individuare la lezione da trattare nella lista delle lezioni interessate. 4. Fare clic su Assegna un sostituto, scegliere il sostituto, quindi confermare il pannello con Assegnare. 5. Controllare la visualizzazione della lezione: il titolare assente deve restare barrato e il sostituto deve comparire sulla lezione. #### Vedi anche - [Politiche di sostituzione](#page-absences.substitution-policies) - [Dichiarare un'assenza](#page-absences.declaring) - [Assenze su più giorni](#page-absences.multi-day) - [Sostituzione / Supplenza](#page-glossary.substitution) ### 6.5 Assenze su più giorni *Source: `help/it/absences/multi-day.md` · id: absences.multi-day · Audience: admin · Plan: standard · Updated: 2026-06-13* Un'**assenza su più giorni** è un'assenza dichiarata con una data di inizio e una data di fine. Consente di coprire un periodo continuo senza creare un'assenza per ogni lezione. Omniscol calcola poi le lezioni interessate dal periodo. Per un'assenza di professore, queste lezioni possono essere lasciate senza sostituto, coperte da una politica di sostituzione, o adeguate con sostituzioni puntuali. #### Dichiarare il periodo Dalla scheda Professori del modulo Gestione delle assenze: - selezionare il professore interessato; - indicare la data di inizio e la data di fine; - lasciare l'intera giornata o precisare le fasce interessate; - scegliere il motivo; - aggiungere un commento se necessario; - salvare con Aggiungere. #### Gestire le lezioni interessate Dopo la dichiarazione: - aprire Gestione delle sostituzioni; - verificare la lista delle lezioni interessate dall'assenza; - creare una o più regole con Assegna un sostituto se una logica di sostituzione si ripete; - utilizzare Assegna un sostituto su una lezione particolare per le eccezioni lezione per lezione. Le **regole di sostituzione** sono il meccanismo previsto per le assenze lunghe. Una regola **senza filtro** si applica a **tutte** le lezioni del periodo; aggiungere una classe, una materia, delle fasce o delle date per riguardare solo un sottoinsieme. Per **lasciare tutto senza sostituzione**, non creare alcuna regola: le lezioni in cui il professore assente è l'unico docente vengono allora annullate sul periodo. #### Assenza su fasce ricorrenti Un'assenza che riguarda solo determinate fasce di un lungo periodo — per esempio tutti i lunedì mattina per due mesi — si dichiara in **una sola volta**: indicare un ampio intervallo di date, quindi precisare le **fasce orarie** interessate (e all'occorrenza una classe o una materia). Omniscol seleziona allora, su tutto il periodo, le sole lezioni che ricadono su queste fasce: non è necessario inserire ogni occorrenza. #### Monitoraggio ed esportazione La tabella delle assenze consente agli amministratori di esportare le righe visualizzate con Tabella. Per il monitoraggio disponibile nel modulo, vedere [Monitoraggio ed esportazione delle assenze](#page-absences.statistics). #### Procedura — Gestire un'assenza lunga 1. Dichiarare l'assenza con una data di inizio e una data di fine. 2. Se l'assenza non copre tutte le giornate, precisare le fasce interessate. 3. Salvare la dichiarazione. 4. Aprire Gestione delle sostituzioni. 5. Aggiungere le regole di sostituzione necessarie, quindi controllare la lista delle lezioni interessate. 6. Utilizzare le sostituzioni puntuali solo per le lezioni che devono derogare alle regole generali. #### Vedi anche - [Dichiarare un'assenza](#page-absences.declaring) - [Politiche di sostituzione](#page-absences.substitution-policies) - [Sostituzione puntuale di una lezione](#page-absences.single-lesson-replacement) - [Monitoraggio ed esportazione delle assenze](#page-absences.statistics) ### 6.6 Assenze classi e studenti *Source: `help/it/absences/class-and-student-absences.md` · id: absences.class-and-student-absences · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* Il modulo Gestione delle assenze distingue le assenze di **classi intere** e le assenze di **studenti individuali**. Entrambe seguono lo stesso principio di dichiarazione, ma il loro effetto sull'orario non è lo stesso. #### Assenza di una classe intera Casi tipici: uscita scolastica, gita, stage collettivo, giornata d'esami. Le assenze delle classi sono gestite dagli amministratori. Dalla scheda Classi, il modulo consente di indicare: - la classe interessata; - l'intervallo di date; - l'intervallo orario se l'assenza non copre l'intera giornata; - eventualmente una materia per limitare l'effetto alle lezioni interessate; - un motivo; - un commento. Per un orario ricorrente, un'assenza di classe accettata rimuove le lezioni di quella classe dalla visualizzazione nel periodo interessato. #### Assenza di uno studente individuale Casi tipici: malattia, appuntamento medico, motivo familiare, assenza giustificata o non giustificata. Un'assenza di studente: - riguarda lo studente selezionato; - contrassegna le lezioni del periodo come **annullate** sull'orario dello studente, senza rimuovere quelle della classe né quelle dei professori; - può essere dichiarata da un amministratore o dallo studente interessato a seconda dei suoi diritti; - passa in sospeso quando è dichiarata dallo studente stesso. #### Visibilità Gli amministratori dispongono della vista completa. Gli altri ruoli vedono una versione limitata a seconda dei loro diritti: l'esistenza di un'assenza può essere visibile senza esporre il motivo, il commento o i metadati di convalida. #### Procedura — Dichiarare un'assenza di classe 1. Aprire la scheda Classi del modulo Assenze. 2. Fare clic su Dichiara un'assenza. 3. Selezionare la classe, le date e gli orari interessati. 4. Aggiungere il motivo e, se necessario, un commento. 5. Salvare. Le lezioni di quella classe vengono rimosse dalla visualizzazione per il periodo accettato; le altre classi conservano le loro lezioni. #### Procedura — Dichiarare un'assenza di studente 1. Aprire la scheda **Studenti**. 2. Selezionare lo studente interessato se si è amministratore. 3. Indicare le date, gli orari, il motivo e il commento. 4. Salvare. Se lo studente ha creato la richiesta autonomamente, rimane in sospeso fino alla convalida. 5. Una volta accettata, le lezioni del periodo vengono contrassegnate come **annullate** sull'orario dello studente e conteggiate nel suo monitoraggio e nelle sue statistiche. Gli altri studenti della classe non sono interessati. #### Vedi anche - [Dichiarare un'assenza](#page-absences.declaring) - [Monitoraggio ed esportazione delle assenze](#page-absences.statistics) - [Assenze su più giorni](#page-absences.multi-day) - [Eventi puntuali](#page-schedules.events) ### 6.7 Monitoraggio ed esportazione delle assenze *Source: `help/it/absences/statistics.md` · id: absences.statistics · Audience: admin · Plan: standard · Updated: 2026-06-13* Il monitoraggio delle assenze si consulta in più punti complementari: il modulo Gestione delle assenze per il monitoraggio operativo, la **Dashboard** per le statistiche aggregate e il modulo Amministrazione per lo storico di uno studente. Queste ultime due viste conteggiano solo le assenze con stato **accettato**. #### Monitoraggio nel modulo Assenze A seconda della scheda e del periodo scelto, la schermata mostra: - le entità assenti nel periodo; - gli stati delle richieste, con contatori; - le lezioni interessate dalle assenze con stato accettato; - una navigazione per settimana, mese, anno scolastico o intervallo di date; - l'elenco tabellare delle assenze. Per un'assenza di un professore, la gestione delle sostituzioni (Gestione delle sostituzioni) aggiunge le lezioni interessate e i sostituti assegnati. Gli amministratori esportano la tabella visualizzata con Tabella: entità, date, orari, eventuale materia, motivo, commento e stato in base ai diritti — utile per un bilancio interno o una rielaborazione al di fuori di Omniscol. #### Statistiche nella Dashboard Per i **volumi e i tassi**, aprire la **Dashboard**. La scheda Studenti totalizza, per studente e sul periodo, le **ore**, le **lezioni** e i **giorni di assenza**, oltre alla **percentuale di assenza** corrispondente, esportabile in CSV / XLSX (vedere [Statistiche studenti e risorse](#page-dashboard.students-resources)). Sul versante **professori**, la scheda Professori riflette l'effetto delle assenze sul servizio: la colonna **Ore annullate** conteggia le ore sottratte (un'assenza non sostituita annulla la lezione) e **Ore supplementari** le ore supplementari. Ogni colonna indica il numero di lezioni interessate e propone una descrizione a comparsa che le dettaglia (materia, classe, giorno e ora); per una lezione annullata da un'assenza, il motivo vi figura quando è compilato. Anche questa scheda si esporta in CSV / XLSX (vedere [Statistiche professori](#page-dashboard.teachers)). #### Storico nell'Amministrazione Nel modulo Amministrazione, la scheda di uno **studente** come quella di un **professore** riepiloga le sue assenze dell'anno scolastico e propone la propria esportazione della tabella — utile per un monitoraggio individuale o uno scambio (con la famiglia per uno studente, con l'interessato per un professore). #### Limiti da conoscere - Solo le assenze con stato **accettato** contano nella visualizzazione e nelle statistiche; quelle con stato **in sospeso**, **respinto** o **abbandonato** restano informative. - I motivi e i commenti possono essere nascosti in base al ruolo del lettore. #### Procedura — Produrre un'esportazione di monitoraggio 1. Aprire la scheda interessata del modulo Gestione delle assenze. 2. Selezionare il periodo da controllare. 3. Verificare gli stati e le lezioni interessate, se necessario. 4. Fare clic su Tabella. 5. Utilizzare il file esportato per i controlli interni o le rielaborazioni. 6. Per **volumi e una percentuale di assenza** per studente, aprire la Dashboard, scheda Studenti (cfr. [Statistiche studenti e risorse](#page-dashboard.students-resources)). #### Vedi anche - [Panoramica del modulo Assenze](#page-absences.overview) - [Assenze classi e studenti](#page-absences.class-and-student-absences) - [Politiche di sostituzione](#page-absences.substitution-policies) - [Statistiche studenti e risorse](#page-dashboard.students-resources) --- ## 7. Servizio del personale ### 7.1 Panoramica del Servizio del personale *Source: `help/it/staffing/overview.md` · id: staffing.overview · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Servizio del personale** Il **Servizio del personale** serve a pianificare il personale **per compiti** invece che per lezione: ragionare in termini di «chi copre quale postazione in quale momento» invece di «chi insegna che cosa». Completa gli orari didattici quando l'istituto deve gestire la vita scolastica, delle sorveglianze, delle aule studio, degli esami o delle attività di supervisione. #### Caso d'uso principale: vita scolastica e assistenti educativi Il modulo è stato creato per rispondere all'esigenza storica delle squadre di vita scolastica: coordinatori educativi, assistenti educativi, personale di sorveglianza e personale che assicura una moltitudine di postazioni nel corso della giornata, indipendentemente dalle lezioni. Esempi: - sorvegliare i corridoi; - filtrare gli ingressi e le uscite dell'istituto; - assicurare l'accoglienza; - sorvegliare il cortile della ricreazione durante le pause; - sorvegliare la mensa a mezzogiorno; - assicurare le aule studio e la sala studio; - animare o sorvegliare la biblioteca, la sala comune o uno spazio di lavoro; - accompagnare gli studenti all'esterno, per esempio per un'uscita di scienze motorie affidata alle sole persone abilitate; - coprire gli intervalli occasionali tra le lezioni; - sorvegliare esami, concorsi o giornate particolari. Un compito descrive un'esigenza di presenza. Non reca una materia, un programma didattico o un gruppo di studenti obbligatorio come una lezione. La griglia è spesso molto più fine di un orario didattico: in una vita scolastica, il quarto d'ora è comune. L'esigenza può cambiare fortemente nella giornata: 0 persone nel cortile durante le lezioni, 3 persone a mezzogiorno, 1 persona in biblioteca per tutto il pomeriggio. #### Le schermate del modulo ##### Griglia La griglia definisce il quadro temporale del servizio: giorni lavorativi, fasce orarie — spesso più fini di una griglia delle lezioni — e periodi dell'anno in cui essa si applica. Serve da modello di lavoro prima di nominare le persone. I siti e le loro distanze si dichiarano nello stesso punto: servono a segnalare le assegnazioni incompatibili tra luoghi distanti. Vedi [Costruire una griglia di servizio](#page-staffing.building-grids). ##### Assegnazioni La schermata Assegnazioni definisce le postazioni o i compiti da coprire: etichetta, numero di persone richiesto e ideale, priorità, sito, personale autorizzato e compatibilità tra compiti — per esempio due corridoi contigui che una stessa persona può coprire su una fascia tranquilla in carenza di organico. Le esigenze possono variare fascia per fascia. Vedi [Definire i compiti da coprire](#page-staffing.assignments). ##### Pianificatore Il pianificatore assegna i membri del personale ai compiti reali di una settimana o di un intervallo di date. L'assegnazione si fa per selezione, spostamento, duplicazione e correzione manuale. Le assenze, le indisponibilità, i conflitti e le assegnazioni di persone non autorizzate compaiono come avvisi. Vedi [Assegnare il personale](#page-staffing.planner). ##### Turni Il tabellone dei turni fornisce a ciascuna persona il proprio elenco di compiti o la propria settimana sotto forma di griglia. Può essere stampato, esportato o condiviso a seconda dei diritti e della modalità di diffusione scelta dall'istituto. Mostra i totali utili alla lettura della settimana e conserva i segnali di assenza o di indisponibilità. Vedi [Turni di servizio](#page-staffing.roster). #### Che cosa verifica il modulo - disponibilità delle persone; - assenze dichiarate; - carico di lavoro assegnato; - personale autorizzato su ciascun compito; - conflitti con altri compiti o presenze; - coerenza delle esigenze per sito e per fascia, tenendo conto delle distanze tra siti. La pianificazione del personale è **manuale**: la griglia, gli avvisi e gli strumenti di correzione guidano ciascuna assegnazione, che Lei mantiene sotto controllo. Omniscol non colloca il personale automaticamente. #### Beneficio operativo Il vantaggio deriva soprattutto dalla centralizzazione: - una griglia delle esigenze condivisa invece di un foglio di calcolo isolato; - assegnazioni modificabili settimana per settimana; - la duplicazione delle settimane stabili; - le assenze visibili nella pianificazione del personale; - tabelloni dei turni stampabili o condivisibili; - meno andirivieni tra la vita scolastica, le persone assegnate e l'amministrazione. Su un istituto di un migliaio di studenti, il riscontro d'esperienza indica circa 20 ore di lavoro amministrativo risparmiate a settimana. > «Abbiamo scelto Omniscol per digitalizzare la gestione dei > planning del nostro servizio di vita scolastica (orario degli > assistenti educativi). La soluzione si è rivelata intuitiva, > completa e perfettamente adatta alle nostre esigenze. Ognuno vede chiaramente > dove è assegnato.» > > — Jeanne Weeber, Vicedirettrice collège Sévigné (fondato 1880), Parigi #### Altri usi - **Sorveglianza degli esami**: sessioni di prove parziali, esami di maturità, concorsi, più giorni, più aule, esigenze di sorveglianti per prova. - **Aule studio e studio assistito**: postazioni di sorveglianza variabili a seconda del numero di studenti attesi. - **Supervisione Montessori e pedagogie attive**: attività o laboratori da coprire senza imporre la struttura di una lezione classica. - **Planning di animatori e di compiti**: centro ricreativo, attività extrascolastiche, convitto, pianificazione organizzata per missione. - **Supervisione di uscite**: viaggio scolastico, uscita didattica, visita d'istituto. - **Presenze occasionali**: accoglienza genitori, giornata porte aperte, consiglio di classe. #### Differenza rispetto a una lezione Una lezione reca una materia, un gruppo di studenti e un professore qualificato. Un compito del Servizio del personale reca un'**esigenza di presenza**: serve qualcuno su questa postazione, con la giusta disponibilità e, se necessario, l'autorizzazione ad assicurare questa postazione. Questa differenza spiega perché il modulo funziona con griglie di esigenze, assegnazioni di persone e tabelloni dei turni, invece di partire da una ripartizione materia / classe / professore. #### Perimetro del modulo Un account con Servizio del personale comprende: - il modulo Servizio del personale: griglie, compiti, pianificatore, tabelloni dei turni; - il modulo Gestione delle assenze per il personale assegnabile; - le schermate di amministrazione necessarie agli account e ai ruoli; - la ricerca trasversale, a seconda dei diritti dell'account. #### Ruolo *Personale* Il ruolo **Personale** è concepito per le squadre di vita scolastica (coordinatori educativi, assistenti educativi, personale di sorveglianza, custodi). A seconda dei diritti dell'account, dà accesso al Servizio del personale, alla pianificazione personale e alle assenze del personale, senza aprire l'intera configurazione globale della scuola. Uno stesso utente può cumulare più ruoli: per esempio un professore coinvolto in una pedagogia attiva può essere al contempo professore e membro del personale pianificato per compiti. #### Vedi anche - [Costruire una griglia di servizio](#page-staffing.building-grids) - [Definire i compiti da coprire](#page-staffing.assignments) - [Assegnare il personale](#page-staffing.planner) - [Turni di servizio](#page-staffing.roster) - [Panoramica del modulo Assenze](#page-absences.overview) - [Servizio del personale](#page-glossary.staffing) - [Studio assistito e studio sorvegliato (scolastico)](#page-k12.study-halls) ### 7.2 Costruire una griglia di servizio *Source: `help/it/staffing/building-grids.md` · id: staffing.building-grids · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-26* > **Option: Servizio del personale** Una **griglia di servizio** definisce il quadro temporale del servizio: i giorni lavorativi, le fasce orarie e i periodi dell'anno in cui essa si applica. È la fase che si svolge **prima** di nominare le persone — Lei imposta il quadro, i compiti da coprire si descrivono in seguito nella schermata Assegnazioni, e il riempimento si fa nel pianificatore. Combinata con le esigenze dichiarate su ciascun compito, la griglia risponde a domande come «quante persone nel cortile alle 10:00?» oppure «quali fasce deve coprire la vita scolastica questa settimana?». #### Creare una griglia La scheda Griglia del Servizio del personale mostra le griglie esistenti e la loro ripartizione sull'anno. Per ciascuna griglia, Lei inserisce: - il **nome** — breve e riconoscibile, per esempio `Settimana tipo`, `Esami T1`, `Vacanze`; - i **Giorni feriali** — per esempio lunedì-venerdì per la settimana tipo, oppure una scelta specifica per una settimana d'esami; - la **Griglia oraria** — le fasce orarie della griglia, che Lei definisce liberamente. Nella vita scolastica, il quarto d'ora è comune, e queste fasce possono essere più fini della griglia delle lezioni didattiche. Il pulsante Ripartizione delle griglie assegna poi ciascuna griglia alle settimane o agli intervalli di date dell'anno che essa copre. Alla prima apertura, viene proposta una griglia vuota. Per creare una griglia supplementare, duplichi una griglia esistente con Duplicare, la rinomini, poi la adatti. #### Definire i compiti e le loro esigenze I compiti stessi — etichetta, numero di persone, sito, personale autorizzato — si definiscono nella schermata Assegnazioni: vedi [Definire i compiti da coprire](#page-staffing.assignments). Per ciascun compito, l'editor delle esigenze precisa poi, fascia per fascia sulla griglia, quante persone sono attese (0 = nessuna esigenza). L'esigenza può variare fortemente a seconda dell'ora: 0 persone nel cortile durante le lezioni, 3 persone a mezzogiorno per la mensa, 1 persona in biblioteca per tutto il pomeriggio. #### Siti e distanze Se il Suo istituto conta più siti, li dichiari in fondo alla schermata Griglia con le loro distanze. Un compito localizzato su un sito distante fa scattare un avviso se la stessa persona è attesa altrove senza un tempo di percorrenza sufficiente. #### Compatibilità in carenza di organico Quando l'organico disponibile è più scarso dell'ideale (caso frequente: assenze a catena, periodi d'esame), Lei può dichiarare delle **compatibilità** tra compiti vicini: una stessa persona può allora coprire due compiti in parallelo. Esempio tipico: `corridoio 2` + `corridoio 3` sono fondibili — la stessa persona può sorvegliare entrambi. Lo dichiari sul compito, nella schermata Assegnazioni, per guidare le scelte di assegnazione. Non dichiari una compatibilità per nascondere in modo duraturo una carenza di organico. La compatibilità deve corrispondere a una situazione che l'istituto accetta realmente sul campo. #### Modelli di griglia Se gestisce la stessa struttura di pianificazione ogni settimana, Lei può **duplicare una griglia esistente** per ripartire da una base. Casi ricorrenti: - **Settimana tipo** — la griglia di riferimento (dall'inizio alla fine dell'anno). - **Settimana di vacanze** — meno compiti, squadra ridotta. - **Settimana d'esami** — sorveglianza di aule magne che si aggiunge ai compiti correnti. - **Giornata speciale** — porte aperte, uscita, evento interno, consiglio o accoglienza particolare. #### Verificare la coerenza prima di assegnare Prima di passare alla fase di assegnazione, utilizzi la griglia come lista di controllo operativa: - i compiti coprono bene ogni periodo utile? - le esigenze sono realistiche rispetto alla squadra disponibile? - le postazioni multi-sito tengono conto dei tempi di percorrenza? - le restrizioni di personale autorizzato corrispondono alle persone realmente abilitate? - le compatibilità tra compiti restano accettabili anche in carenza di organico? Una volta convalidata la griglia, passi alla fase di **assegnazione**. Vedi [Assegnare il personale](#page-staffing.planner). #### Procedura — Costruire una griglia di servizio 1. **Una griglia di servizio** descrive il quadro del servizio sull'anno: giorni lavorativi, fasce orarie, siti. 2. **Crei una griglia.** Le assegni un nome breve (`Settimana tipo`). Selezioni i giorni lavorativi, poi definisca le fasce orarie — tipicamente al quarto d'ora per gli assistenti educativi. Può anche duplicare una griglia esistente per ripartire da una base. 3. **Ripartisca la griglia sull'anno** con Ripartizione delle griglie: ciascuna griglia copre le settimane o gli intervalli di date in cui essa si applica (settimana tipo, esami, vacanze). 4. **Dichiari i siti** se il Suo istituto ne conta più d'uno. Le distanze tra siti permettono di segnalare le assegnazioni incompatibili. 5. **Salvi la griglia**, poi descriva i compiti e le loro esigenze fascia per fascia nella schermata Assegnazioni. Vedi [Definire i compiti da coprire](#page-staffing.assignments). 6. **Fase successiva: assegnare il personale** nel pianificatore. Vedi [Assegnare il personale](#page-staffing.planner). #### Vedi anche - [Panoramica del Servizio del personale](#page-staffing.overview) - [Definire i compiti da coprire](#page-staffing.assignments) - [Assegnare il personale](#page-staffing.planner) ### 7.3 Definire i compiti da coprire *Source: `help/it/staffing/assignments.md` · id: staffing.assignments · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Servizio del personale** La schermata Assegnazioni serve a definire i compiti o le postazioni che il Servizio del personale dovrà coprire. È una fase di configurazione: si descrivono le esigenze, prima di assegnare le persone nel [Pianificatore](#page-staffing.planner). La **diffusione** al personale viene in seguito, tramite il Turni (vedi [Turni di servizio](#page-staffing.roster)). #### Che cosa descrive un compito Un compito può recare: - un'etichetta chiara: `Accoglienza`, `Cortile`, `Mensa`, `Sorveglianza esame aula magna A`; - un numero minimo di persone richiesto e un numero ideale; - un livello di priorità; - un sito o un luogo; - l'elenco specifico dei membri del personale autorizzati ad assicurarlo (vuoto = tutto il personale); - regole di compatibilità con altri compiti; - esigenze dettagliate fascia per fascia sulla griglia di servizio. Il compito deve essere sufficientemente preciso per essere compreso nel pianificatore e nel tabellone dei turni consegnato al personale. Esempi frequenti: - `Corridoio 2`; - `Accoglienza portone nord`; - `Cortile della ricreazione`; - `Mensa`; - `Aula studio B12`; - `Sorveglianza esame aula magna A`; - `Uscita scienze motorie stadio Charcot`. #### Esigenze e personale autorizzato Le esigenze indicano quante persone devono coprire un compito, fascia per fascia sulla griglia di servizio (0 = nessuna esigenza), in aggiunta al minimo richiesto e all'organico ideale del compito. L'elenco del personale autorizzato limita le persone idonee: lo riservi alle postazioni che richiedono un'abilitazione o una competenza particolare — uscita di scienze motorie, sorveglianza specifica, accoglienza particolare, accesso a un sito. Queste informazioni evitano di trasformare l'assegnazione in un semplice elenco di nomi: Omniscol mantiene il legame tra la postazione, l'esigenza e le persone autorizzate a coprirla. Per un compito sensibile, limiti il personale autorizzato invece di contare su una disposizione verbale: il pianificatore segnala allora ogni assegnazione di una persona non autorizzata. #### Compatibilità tra compiti Alcuni compiti vicini possono essere coperti dalla stessa persona se l'istituto lo consente. Esempio: due corridoi contigui durante una fascia tranquilla. Dichiari queste compatibilità solo quando corrispondono a una regola operativa reale. Una compatibilità troppo ampia rende la pianificazione meno leggibile e può nascondere una carenza di organico. Caso da evitare: unire postazioni distanti solo perché manca qualcuno. #### Importazione e recupero della struttura Quando esistono già molti compiti, la schermata permette di guadagnare tempo con gli strumenti di importazione e di recupero della struttura disponibili nel modulo. Dopo l'importazione, verifichi le etichette, le esigenze e il personale autorizzato prima di passare al pianificatore. Un'importazione pulita deve produrre etichette direttamente leggibili dalle persone assegnate. Se importa codici interni, li rinomini prima della diffusione. #### Perché separare compiti e pianificatore La separazione evita di mescolare due decisioni: - **definire l'esigenza**: quali postazioni esistono, dove, con quali regole; - **assegnare le persone**: chi copre queste postazioni su una settimana o un periodo determinato. Quando la struttura cambia poco, questa separazione permette di riutilizzare gli stessi compiti e di modificare solo le persone o le eccezioni. #### Procedura 1. Apra Servizio del personale > Assegnazioni. 2. Crei o importi i compiti da coprire. 3. Verifichi le etichette visibili dalla squadra. 4. Inserisca le esigenze, i siti e il personale autorizzato. 5. Dichiari solo le compatibilità realmente accettate. 6. Salvi, poi apra il pianificatore per nominare le persone. #### Vedi anche - [Costruire una griglia di servizio](#page-staffing.building-grids) - [Assegnare il personale](#page-staffing.planner) - [Turni di servizio](#page-staffing.roster) - [Panoramica del Servizio del personale](#page-staffing.overview) - [Panoramica del modulo Assenze](#page-absences.overview) ### 7.4 Assegnare il personale *Source: `help/it/staffing/planner.md` · id: staffing.planner · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Servizio del personale** Il Pianificatore serve a nominare le persone che coprono i compiti definiti nella griglia di servizio. È la schermata di lavoro operativa: scegliere una settimana, riempire le caselle, correggere gli avvisi, poi salvare. #### Assegnazione manuale Per ciascuna fascia e ciascun compito, Lei colloca i membri del personale disponibili nella casella corrispondente. Omniscol segnala le situazioni da verificare: - persona assente; - indisponibilità o vincolo dichiarato; - persona già assegnata altrove; - persona non autorizzata sul compito; - carico settimanale da sorvegliare. Il pianificatore è pensato per i casi reali di vita scolastica: assistenti educativi studenti le cui disponibilità cambiano, periodi d'esame, assenze dichiarate al mattino, postazioni da ricoprire rapidamente e squadre da ripartire equamente. La pianificazione è **manuale**: gli avvisi, la duplicazione e gli strumenti di correzione guidano la costruzione della pianificazione. Omniscol non colloca il personale automaticamente. #### Leggere gli avvisi I colori e i suggerimenti indicano perché un'assegnazione merita una verifica: assenza, indisponibilità, altro compito sulla stessa fascia, persona non autorizzata o superamento del servizio orario. Il riepilogo settimanale permette di tornare alla casella interessata. Gli avvisi si graduano per gravità: un conflitto rosso richiede una correzione immediata; un avvertimento segnala una situazione da arbitrare secondo le regole dell'istituto. #### Strumenti di correzione Il pianificatore permette in particolare: - di navigare per settimana e per giorno; - di visualizzare una giornata o l'intera settimana secondo il bisogno; - di duplicare una settimana verso un'altra quando la struttura si ripete, filtrando all'occorrenza i giorni o i compiti ricopiati; - di attivare una modalità gomma per cancellare una casella, una riga o una colonna; - di annullare una correzione recente; - di salvare le modifiche. Le persone bloccate su una casella restano fissate durante le correzioni manuali successive. #### Duplicare senza ripartire da zero Quando la struttura è stabile, duplichi la settimana precedente poi corregga solo le eccezioni: assenza, indisponibilità occasionale, cambio d'esame, uscita o esigenza rafforzata su una postazione. È il metodo comune per evitare di ricostruire tutta la vita scolastica a mano ogni settimana. Per le settimane atipiche, utilizzi una griglia adeguata: vacanze, esami, porte aperte o periodo con squadra ridotta. #### Assenze Le assenze del personale dichiarate nel modulo Gestione delle assenze sono prese in considerazione nell'assegnazione. Una persona assente può comparire in avviso sui compiti già collocati, il che permette di individuare le postazioni da ricoprire. Le assenze rendono il problema visibile nel posto giusto: l'amministratore o il coordinatore riassegna allora il compito con piena cognizione di causa. #### Carico di lavoro Il pianificatore calcola informazioni di servizio per persona e per giornata, in particolare i periodi coperti e le durate. Utilizzi queste indicazioni per evitare che una persona assorba troppe fasce o che i compiti gravosi siano sempre concentrati sulla stessa squadra. #### Condivisione Il pianificatore può essere condiviso a seconda delle opzioni di condivisione disponibili sull'account. Per trasmettere la pianificazione individuale a ciascuna persona, utilizzi piuttosto il [tabellone dei turni](#page-staffing.roster), più leggibile e previsto per la stampa o la diffusione. #### Procedura 1. Apra Servizio del personale > Pianificatore. 2. Scelga la settimana o l'intervallo su cui lavorare. 3. Verifichi che sia attiva la griglia di servizio corretta. 4. Assegni le persone alle caselle. 5. Gestisca gli avvisi di disponibilità, di assenza o di persona non autorizzata. 6. Duplichi la settimana se la struttura si ripete. 7. Salvi, poi apra il tabellone dei turni per la diffusione. #### Vedi anche - [Costruire una griglia di servizio](#page-staffing.building-grids) - [Definire i compiti da coprire](#page-staffing.assignments) - [Turni di servizio](#page-staffing.roster) - [Panoramica del modulo Assenze](#page-absences.overview) ### 7.5 Creare e condividere i turni di servizio *Source: `help/it/staffing/roster.md` · id: staffing.roster · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-05-18* > **Option: Servizio del personale** I Turni presentano i compiti assegnati a una persona o all'intero personale nel periodo selezionato. Servono a diffondere la pianificazione una volta terminato il lavoro di assegnazione. È la schermata pensata per rispondere in modo semplice alla domanda: «dove devo essere, a che ora e per quale compito?» #### Due visualizzazioni - **Visualizzazione in elenco**: compiti ordinati per giorno e in ordine cronologico, con le informazioni utili alla lettura individuale. - **Vista a griglia**: la settimana in tabella, con le fasce orarie in righe e i giorni in colonne. Le assenze, le indisponibilità e i commenti utili restano visibili per evitare di diffondere un tabellone incoerente. La visualizzazione in elenco mostra i totali per giorno e per settimana. #### Stampa ed esportazione Il tabellone dei turni può essere stampato. La vista a griglia propone anche un'esportazione in una tabella leggibile, con la possibilità di produrre un PDF dalla finestra di esportazione. A seconda dell'organizzazione dell'istituto, il tabellone può essere: - stampato per l'affissione; - esportato in PDF; - inviato per e-mail al di fuori di Omniscol; - consultato direttamente dal personale collegato; - condiviso tramite link quando questa opzione è attiva sull'account. La stampa resta frequente per un servizio di vigilanza scolastica; la stessa schermata serve anche a preparare un PDF nominativo, a trasmettere una vista a una persona o a lasciare che il personale consulti la propria pianificazione con il proprio account. #### Condivisione e calendario La condivisione può includere un link web e un abbonamento iCal a seconda delle opzioni disponibili. Come per gli altri link di condivisione, imposti una data di scadenza adeguata al periodo trasmesso. Per una comunicazione nominativa, verifichi sempre che la persona selezionata sia quella corretta prima di stampare, esportare o condividere. #### Tutto il personale o una singola persona Può consultare una persona specifica o l'intero personale. La vista individuale è adatta alla diffusione nominativa; la vista globale serve piuttosto al controllo interno prima della diffusione. #### Procedura 1. Apra Servizio del personale > Turni. 2. Scelga una persona o l'intero personale. 3. Selezioni il periodo. 4. Scelga Visualizzazione in elenco o Vista a griglia. 5. Verifichi le assenze e le eventuali segnalazioni. 6. Stampi, esporti o condivida secondo la modalità di diffusione prevista. #### Vedi anche - [Assegnare il personale](#page-staffing.planner) - [Definire i compiti da coprire](#page-staffing.assignments) - [Link di condivisione pubblici](#page-glossary.share-link) --- ## 8. Amministrazione ### 8.1 Utenti e ruoli *Source: `help/it/admin/users-and-roles.md` · id: admin.users-and-roles · Audience: admin · Updated: 2026-05-15* L'amministrazione degli utenti raggruppa gli account che possono connettersi a Omniscol. Le viste principali sono gli amministratori, i professori, gli studenti e, se il Servizio del personale è attivo, il personale. #### Ruoli principali | Ruolo tecnico | Etichetta interfaccia | Uso | | --- | --- | --- | | `admin` | Amministratore | Amministrazione dell'account della scuola. | | `teacher` | Professore | Portale professore, disponibilità, orario personale, assenze proprie. | | `student` | Studente | Portale studente, orario personale, assenze proprie. | | `staff` | Personale | Personale pianificato dal Servizio del personale, se questo modulo è attivo. | Un utente può cumulare più ruoli. Il menu visualizza allora i moduli corrispondenti all'insieme dei suoi diritti. Il ruolo tecnico `share` esiste per alcuni link firmati. Non è un account utente classico: serve ad aprire un perimetro preciso, spesso in sola lettura, a partire da un URL di condivisione. #### Schermate disponibili - Amministratori: account amministratori. - Membri del personale: personale dell'istituto (se il modulo è attivo). - Professori: professori e collaboratori. - Studenti: studenti, alunni o allievi secondo il vocabolario dell'istituto. - Tutti gli utenti: vista consolidata di tutti gli account. #### Campi comuni Il modulo utente gestisce in particolare: - nome, cognome e genere; - data di nascita; - e-mail e telefono; - identificativo esterno / matricola; - login, generato secondo i parametri dell'account; - ruoli; - commento. Campi supplementari compaiono a seconda del ruolo: ore di servizio, materie e stato esterno per i professori; inserimenti nelle classi e nei gruppi per gli studenti; parametri di servizio per il personale. #### Azioni di elenco A seconda del ruolo selezionato, la schermata propone: - Importare dati per l'importazione o la modifica in blocco; - Invitare uno user per inviare inviti; - Cambia la password per definire delle password; - Inviare una mail per inviare un messaggio; - Assegna a una classe e Gruppi per gli studenti. Le azioni visibili dipendono dalle API disponibili, dal tipo di account e dai diritti dell'utente connesso. > _Option: Ruoli personalizzati_ #### Ruoli personalizzati L'opzione **Ruoli personalizzati** aggiunge dei ruoli di amministrazione ristretti per gli account amministratori. Permette di escludere certi moduli o certe operazioni per un account che deve amministrare solo una parte del perimetro. Vedere [Ruoli personalizzati](#page-admin.customroles). #### Link di condivisione I link pubblici e le condivisioni firmate non implicano necessariamente la creazione di un account utente. I link web degli orari sono in sola lettura; alcuni link mirati possono tuttavia autorizzare un'azione limitata, per esempio l'inserimento delle disponibilità di un professore fino a una data di scadenza. #### Procedura — Invitare un gruppo di utenti 1. Apra la schermata adatta al ruolo: professori, studenti, personale o tutti gli utenti. 2. Selezioni le righe interessate. 3. Faccia clic su Invitare uno user. 4. Verifichi che ogni utente abbia un login e un'e-mail. 5. Invii gli inviti. Gli utenti definiscono poi la loro password tramite il link ricevuto. #### Vedi anche - [Architettura e ruoli](#page-overview.architecture-and-roles) - [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) - [Ruoli personalizzati](#page-admin.customroles) - [Gestire i membri del personale](#page-admin.staff) ### 8.2 Gestire gli amministratori *Source: `help/it/admin/admins.md` · id: admin.admins · Audience: admin · Updated: 2026-05-14* La schermata **Amministratori** è la vista filtrata degli utenti che possiedono il ruolo di amministratore (vedere la tabella dei ruoli in [Utenti e ruoli](#page-admin.users-and-roles)). Questo ruolo dà accesso alle operazioni di configurazione della scuola: utenti, orari, assenze, parametri, importazioni, esportazioni e pubblicazione. #### Creare un amministratore Utilizzi Aggiungi un amministratore dall'elenco. Il modulo è quello degli utenti: - nome e cognome; - genere; - e-mail e telefono, se utili; - identificativo esterno / matricola, se l'istituto ne utilizza uno; - login generato in base ai parametri dell'account; - ruolo di amministratore; - commento. L'account creato possiede già un identificativo di accesso. Per attivare l'accesso della persona, apra la sua scheda nell'elenco degli utenti: può **definire una password** (Password), **inviarle un'e-mail** (Inviare una mail) e **attivare o disattivare** l'account (Attivare). L'accesso tramite provider di identità (SSO) resta un'alternativa, vedere [OIDC / SSO](#page-integrations.oauth2). #### Cumulare più ruoli Uno stesso account può possedere più ruoli. Un coordinatore può essere al tempo stesso professore e amministratore: mantiene il suo portale professore e accede anche alle schermate di amministrazione. I ruoli personalizzati permettono di limitare un amministratore a un perimetro più preciso. Senza un ruolo personalizzato, il ruolo di amministratore resta globale. #### Rimuovere un accesso di amministratore Per rimuovere i diritti di amministrazione, modifichi l'account e rimuova il ruolo di amministratore. Eviti di creare un secondo account per la stessa persona salvo reale necessità: il cumulo di ruoli su un unico utente è previsto per questo caso. Mantenga sempre almeno un account amministratore operativo prima di modificare i diritti degli altri amministratori. #### Procedura — Creare un amministratore 1. Apra Amministratori. 2. Faccia clic su Aggiungi un amministratore. 3. Compili l'identità, l'e-mail se intende inviarle un messaggio, poi verifichi che il ruolo di amministratore sia presente. 4. Salvi. Deve inserire la **Sua** password di amministratore, per confermare qualsiasi creazione o modifica di un account amministratore, per motivi di sicurezza. 5. Se necessario, selezioni l'account nell'elenco per **definire la sua password**, **inviarle un'e-mail** o **attivare / disattivare** l'accesso, a seconda della modalità di distribuzione. #### Vedi anche - [Utenti e ruoli](#page-admin.users-and-roles) - [Ruoli personalizzati](#page-admin.customroles) - [OIDC / SSO](#page-integrations.oauth2) ### 8.3 Ruoli personalizzati di amministrazione *Source: `help/it/admin/customroles.md` · id: admin.customroles · Audience: admin · Options: customroles · Updated: 2026-06-13* > **Option: Ruoli personalizzati** I **ruoli personalizzati** permettono di limitare i diritti di un account amministratore. Il principio è sottrattivo: si parte da un perimetro di amministrazione, poi si rimuovono i moduli o le operazioni che la persona non deve poter utilizzare. È l'opzione da attivare per delegare una parte dell'amministrazione senza concedere tutti i diritti globali. #### Perché non concedere tutti i diritti di amministrazione? Il ruolo di amministratore standard concede tutti i diritti sull'account della scuola. Per molte funzioni di coordinamento, è troppo: - un coordinatore delle assenze deve vedere e gestire le assenze, ma non modificare gli orari o i parametri globali; - un gestore degli orari deve costruire gli orari senza necessariamente accedere all'importazione / esportazione; - un ufficio risorse umane può avere bisogno di modificare le schede dei professori senza toccare le lezioni; - un ufficio tecnico può consultare aule, pannelli o risorse senza gestire gli utenti. #### Ciò che il modulo permette La schermata **Ruoli personalizzati** propone: - un **nome di ruolo**; - autorizzazioni per modulo; - autorizzazioni per operazione, in base a ciò che ogni modulo espone. Le autorizzazioni riguardano i moduli e le loro operazioni, non i dati stessi: un ruolo personalizzato non limita l'accesso a una classe, un sito, una materia o un periodo in particolare. Esso delimita ciò che la persona può fare, non i dati su cui può agire. #### Assegnare un ruolo personalizzato Una volta creato, il ruolo compare nei selettori di ruolo delle schede utente. Lo assegna a un account amministratore come un altro ruolo. Un utente può cumulare più ruoli standard e personalizzati. Ottiene allora l'unione delle autorizzazioni rimanenti. #### Casi d'uso tipici - **Vita scolastica / sorveglianti** — diritti sulle assenze, sul Servizio del personale e la consultazione degli orari, senza accesso alla configurazione. - **Coordinatori didattici** — diritti sulle schermate degli orari utili, senza parametri globali. - **Ufficio tecnico** — accesso ad aule, pannelli o risorse a seconda delle operazioni autorizzate. - **Assistenti amministrativi** — gestione degli studenti o dei professori senza accesso alla configurazione sensibile. #### Verificabilità Le azioni effettuate con un ruolo personalizzato compaiono nei log quando l'opzione dei log è attiva e la rotta interessata è registrata. Vedere [Registro delle attività (logs)](#page-admin.logs). #### Procedura — Creare un ruolo « Coordinateur absences » 1. Apra **Ruoli personalizzati** nell'amministrazione. 2. Crei un ruolo denominato `Coordinateur absences`. 3. Autorizzi le azioni necessarie sul modulo Gestione delle assenze. 4. Mantenga la lettura degli orari se il coordinatore deve contestualizzare un'assenza, ma rimuova la modifica. 5. Escluda i moduli che non devono essere accessibili, in particolare Gestione degli orari, parametri globali o importazione / esportazione se non è il suo perimetro. 6. Salvi, poi assegni il ruolo agli account amministratori interessati. 7. Se i registri di attività sono attivi, controlli le azioni da [Registro delle attività (logs)](#page-admin.logs). #### Vedi anche - [Utenti e ruoli](#page-admin.users-and-roles) - [Gestire gli amministratori](#page-admin.admins) - [Restrizioni di visibilità](#page-admin.visibility-restrictions) - [Registro delle attività (logs)](#page-admin.logs) ### 8.4 Gestire i professori *Source: `help/it/admin/teachers.md` · id: admin.teachers · Audience: admin · Updated: 2026-05-15* La schermata **Professori** elenca gli utenti che possiedono il ruolo di professore. A seconda del contesto dell'istituto, si parla anche di docenti, di collaboratori o di formatori. Questa schermata serve a creare gli account, gestire le loro informazioni, le loro materie, le loro disponibilità e la consultazione del loro orario. #### Campi della scheda Una scheda professore contiene i campi comuni di un utente e dei campi propri dei professori: - nome, cognome e genere; - data di nascita; - e-mail e telefono; - identificativo esterno / matricola; - login; - ore di servizio; - materie insegnate; - stato esterno per i collaboratori o i professori a contratto; - disponibilità e vincoli orari; - commento. La scheda **Orario** riunisce l'orario completo del professore, sull'insieme degli anni scolastici, con le sue disponibilità consolidate sullo sfondo. È una vista di consultazione: le assegnazioni didattiche si effettuano negli orari. Dalla scheda, il pulsante **Condivisione** apre la schermata di condivisione, che fornisce in particolare un abbonamento iCal proprio del professore, valido su tutti gli anni scolastici. #### Materie insegnate Le materie collegate a un professore servono a filtrare o preparare le assegnazioni. Si scelgono nel repertorio delle materie ufficiali o personalizzate. #### Disponibilità La scheda **Disponibilità** permette all'amministratore di inserire o correggere le disponibilità di un professore. A seconda della configurazione della scuola, l'inserimento avviene in modalità settimanale, calendario, mista o disattivata. Il professore può anche inserire le proprie disponibilità dal suo portale se l'istituto lo consente. #### Azioni in blocco Selezionando i professori nell'elenco principale, può anche invitarli, definire loro una password o inviare loro un messaggio, a seconda delle funzioni attivate per l'account. Può filtrarli preventivamente. Il pulsante **Importare dati** apre una griglia di tipo foglio di calcolo: vi si aggiungono, correggono o eliminano più professori alla volta, e se ne esporta l'elenco. Due colonne sono in sola lettura, destinate unicamente all'esportazione: - **Disponibilità**: riportate come testo, così come sono state registrate; - **Classi**: quelle in cui il professore ha lezioni, consolidate dagli orari attivi dell'anno corrente. > _Premium_ I professori possono essere sincronizzati da un sistema esterno: Sincronizzare apre l'allineamento con quel sistema. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Procedura — Creare un professore 1. Apra Professori. 2. Faccia clic su Aggiungere un professore. 3. Compili l'identità, l'e-mail, il login o l'identificativo esterno secondo la Sua regola interna. 4. Aggiunga le materie insegnate. 5. Compili le ore di servizio se sono utilizzate dal Suo istituto. 6. Salvi, poi inviti il professore se desidera che si connetta. #### Vedi anche - [Utenti e ruoli](#page-admin.users-and-roles) - [Gestire gli studenti](#page-admin.students) - [Gestire le materie](#page-admin.subjects) - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [Insegnanti esterni (a contratto)](#page-higher-ed.external-faculty) ### 8.5 Gestire gli studenti *Source: `help/it/admin/students.md` · id: admin.students · Audience: admin · Plan: standard · Updated: 2026-05-15* La schermata **Studenti** elenca gli utenti che possiedono il ruolo di studente. A seconda del contesto dell'istituto, si parla anche di alunni o di allievi. Questa schermata serve a creare gli account, a monitorarne lo stato e a gestire i loro inserimenti nelle classi e nei gruppi, anno scolastico per anno scolastico. #### Campi della scheda Una scheda studente contiene i campi comuni di un utente: - nome, cognome e genere; - data di nascita; - e-mail e telefono; - identificativo esterno / matricola; - login; - commento. I rappresentanti legali, i giustificativi e le notifiche ai genitori non sono campi di questa scheda. #### Inserimenti nelle classi e nei gruppi Le assegnazioni didattiche si gestiscono nella scheda di inserimento dello studente. Un inserimento indica in particolare: - la classe principale; - l'anno scolastico interessato; - le date di inizio e di fine se l'inserimento non copre tutto l'anno; - i gruppi seguiti, settimana per settimana se necessario; - le eventuali sovrapposizioni da correggere. Uno studente può avere più inserimenti nel corso di un anno scolastico, per esempio dopo un cambio di classe, un percorso parziale o una ripetizione parziale. #### Azioni in blocco Selezionando gli studenti nell'elenco principale, può assegnarli a una classe con **Assegna a una classe** o a gruppi con **Gruppi** (se appartengono alla stessa classe), invitarli, definire loro una password, inviare loro un messaggio, disattivarli quando lasciano l'istituto o eliminarli definitivamente. Può filtrarli preventivamente, in particolare per classe di assegnazione. Il pulsante **Importare dati** apre una griglia di tipo foglio di calcolo: vi si aggiungono o correggono più studenti alla volta, e se ne esporta l'elenco (CSV, Excel, PDF). Per ogni anno scolastico, due colonne sono in sola lettura, destinate unicamente all'esportazione: - **Classi**: la o le classi in cui lo studente è inserito nell'anno corrente e in quelli successivi; - **Gruppi**: i gruppi seguiti nell'anno corrente e in quelli successivi. #### Ripetizioni e percorsi fuori curriculum Una ripetizione parziale — uno studente che segue lezioni ripartite su due livelli — si gestisce inserendolo nelle due classi interessate nello stesso periodo: il suo orario riunisce allora le lezioni delle due classi. Omniscol non controlla le sovrapposizioni di orario tra di esse, spetta a Lei verificarle. #### Procedura — Creare e inserire uno studente 1. Apra Studenti. 2. Crei lo studente o lo importi in blocco. 3. Apra la sua scheda, poi la scheda di inserimento dell'anno scolastico interessato. 4. Aggiunga una classe, verifichi le date, poi selezioni i gruppi seguiti se necessario. 5. Salvi gli inserimenti. 6. Inviti lo studente se desidera che si connetta al portale. #### Vedi anche - [Utenti e ruoli](#page-admin.users-and-roles) - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Importazione ed esportazione](#page-admin.import-export) ### 8.6 Gestire i membri del personale *Source: `help/it/admin/staff.md` · id: admin.staff · Audience: admin · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-25* > **Option: Servizio del personale** La schermata **Membri del personale** elenca gli utenti che ricoprono il ruolo **Personale**. Compare solo sugli account dotati del modulo **Servizio del personale**: è qui che dichiara le persone (sorveglianti, coordinatori, assistenti educativi…) che pianificherà poi nel [Servizio del personale](#page-staffing.overview). Questa scheda serve a creare gli account, gestire le loro informazioni e le loro ore di servizio. **L'assegnazione ai compiti** (turni di sorveglianza, sorveglianze, esami…) avviene invece nel modulo Servizio del personale — vedi [Assegnazioni](#page-staffing.assignments). #### Campi della scheda Una scheda di membro del personale contiene i campi comuni di un utente e alcuni campi propri del personale: - nome, cognome e genere; - data di nascita; - e-mail e telefono; - identificativo esterno / matricola; - login; - **ore di servizio** (volume di riferimento per il monitoraggio); - ruoli e commento. Una **scheda dettagliata** è accessibile dall'elenco (Dettagli) per consultare e completare queste informazioni membro per membro. #### Membro del personale e Servizio del personale La separazione è intenzionale: **qui** gestisce le *persone* (il repertorio dei membri), **nel [Servizio del personale](#page-staffing.overview)** gestisce la loro *pianificazione* — griglie, compiti e assegnazioni. Un membro creato su questa schermata diventa selezionabile come coordinatore autorizzato nelle [assegnazioni](#page-staffing.assignments). #### Azioni di elenco Dall'elenco, Aggiungi un membro del personale aggiunge un membro, e Importare dati apre la creazione o la correzione **in massa**. Le azioni di selezione permettono anche di invitare i membri, di definire password, di attivare gli account o di eliminarli, secondo le API disponibili. #### Procedura — Creare un membro del personale 1. Apra Membri del personale. 2. Clicchi su Aggiungi un membro del personale. 3. Inserisca l'identità, l'e-mail, il login o l'identificativo esterno secondo la sua regola interna. 4. Inserisca le **ore di servizio** se il suo istituto ne effettua il monitoraggio. 5. Salvi, poi inviti il membro se vuole che si connetta al suo portale. 6. Pianifichi poi i suoi compiti nel [Servizio del personale](#page-staffing.assignments). #### Vedi anche - [Utenti e ruoli](#page-admin.users-and-roles) - [Gestire i professori](#page-admin.teachers) - [Servizio del personale — panoramica](#page-staffing.overview) - [Assegnazioni](#page-staffing.assignments) - [Servizio del personale](#page-glossary.staffing) ### 8.7 Gestire le materie (ufficiali e personalizzate) *Source: `help/it/admin/subjects.md` · id: admin.subjects · Audience: admin · Updated: 2026-05-14* La schermata **Materie** gestisce le materie personalizzate della scuola e, se il repertorio comune è attivo, permette di cercare le materie ufficiali del paese configurato. #### Materie comuni e personalizzate - Le **materie comuni** provengono dal repertorio Omniscol per il paese della scuola. Possono essere cercate e aggiunte quando questo repertorio non è disattivato. - Le **materie personalizzate** appartengono alla scuola. Coprono le denominazioni locali, i moduli, le opzioni o le unità che non sono nel repertorio comune. #### Campi di una materia personalizzata | Campo | Obbligatorio? | Ruolo | | --- | --- | --- | | **codice** | Sì | Codifica breve della materia, in coppia con il nome (che può essere lungo, soprattutto nell'istruzione superiore). Spesso un riferimento ufficiale — per esempio i codici delle materie dei ministeri dell'istruzione (Francia, Italia) — generalmente in maiuscolo e/o cifre. | | **nome** | Sì | Etichetta completa della materia, visualizzata nei selettori delle lezioni, sull'orario e nelle esportazioni. | | **nome breve** | No | Etichetta abbreviata per la visualizzazione sull'orario, più corta del nome completo. | | **materia madre** | No | Collega la materia a un'altra materia per costruire una gerarchia di materie. | | **famiglia** | No | Raggruppa le materie. Il selettore propone le famiglie predefinite del repertorio del paese e le famiglie proprie dell'account. | | **colore** | No | Colore di identificazione visiva. Alla creazione, sceglie in una tavolozza di tonalità leggibili a schermo; in mancanza, un colore viene calcolato automaticamente a partire dal nome. | Il codice e il nome sono entrambi richiesti alla creazione. Eviti di cambiare il codice una volta che serve da riferimento nelle Sue importazioni, esportazioni o scambi con un sistema esterno. #### Creazione e modifica in blocco Il pulsante [table] apre la creazione e la modifica **in blocco** delle materie personalizzate: inserire o sostituire più materie in un'unica operazione, in una griglia di tipo foglio di calcolo. Eliminare una riga dalla griglia e poi confermare rimuove la materia corrispondente dal catalogo: la griglia sostituisce l'insieme delle materie personalizzate con il proprio contenuto. In questa griglia, il colore accetta un valore esadecimale libero, senza la tavolozza di tonalità proposta alla creazione — a rischio di una resa meno leggibile. Una materia personalizzata può essere eliminata anche se è servita in orari passati o pubblicati. Può così ripulire il catalogo delle materie da un anno all'altro senza toccare tali orari: ogni classe conserva una copia locale dell'etichetta della materia (nome, nome breve, codice), e l'orario mantiene il colore che le era stato attribuito. La materia continua quindi a visualizzarsi dopo la sua eliminazione dal catalogo. Vedere [Modello di dati completo](#page-integrations.data-model-full) per il principio della copia locale. > _Premium_ Se la sincronizzazione con un sistema esterno è configurata, Sincronizzare apre l'allineamento con quel sistema. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Tipi di lezione La stessa schermata visualizza anche l'elenco semplice dei tipi di lezione. Vedere [Tipi di lezione](#page-admin.lesson-types). > _Premium_ I tipi di lezione possono anche essere sincronizzati da un sistema esterno: Sincronizzare apre l'allineamento. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Procedura — Aggiungere una materia 1. Apra Materie. 2. Per una materia comune, utilizzi la ricerca del repertorio se è disponibile. 3. Per una materia propria dell'istituto, faccia clic su **Creare** con Creare. 4. Compili il codice e il nome, entrambi obbligatori, poi completi il nome breve, la famiglia, la materia madre o il colore se necessario. 5. Salvi. La materia diventa disponibile nei selettori delle lezioni e nelle schede dei professori. #### Vedi anche - [Tipi di lezione](#page-admin.lesson-types) - [Gestire i professori](#page-admin.teachers) - [Materia](#page-glossary.subject) ### 8.8 Tipi di lezione *Source: `help/it/admin/lesson-types.md` · id: admin.lesson-types · Audience: admin · Updated: 2026-05-14* Nel modulo **Amministrazione**, un **tipo di lezione** è un'etichetta breve associata alle lezioni per distinguere formati come `lezione frontale`, `esercitazione`, `laboratorio`, `esame` o `progetto`. I tipi di lezione formano un elenco di etichette testuali, senza colore né icona associati. #### Dove gestirli L'elenco dei tipi di lezione si gestisce dalla schermata **Materie** e dalla schermata **Parametri**, nella sezione **Tipo di lezione**. I pulsanti utilizzati sono: - **Creare** per aggiungere un nuovo tipo; - **Salvare** per salvare l'elenco. L'ordine di visualizzazione si riorganizza tramite trascinamento. #### Parametro “Tipo di lezione obbligatorio” Il parametro Tipo di lezione obbligatorio si imposta nella schermata **Parametri**. Quando è attivato, l'inserimento di una lezione, ossia una materia assegnata a una classe in un orario, deve includere un tipo. È utile quando esporta le lezioni verso un ERP che richiede questa informazione. #### Buone pratiche - Mantenga un elenco breve e stabile. - Eviti di rinominare un tipo utilizzato in produzione senza verificare le importazioni ed esportazioni che vi si appoggiano. - Utilizzi i tipi per distinguere formati didattici, non per sostituire le materie o le modalità di erogazione (in presenza/a distanza). #### Procedura — Aggiungere un tipo 1. Apra la schermata **Materie**. 2. Nella sezione **Tipo di lezione**, faccia clic su **Creare**. 3. Inserisca l'etichetta del tipo. 4. Riordini l'elenco se necessario. 5. Salvi con **Salvare**. #### Vedi anche - [Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types) - [Gestire le materie](#page-admin.subjects) ### 8.9 Anno scolastico e vacanze *Source: `help/it/admin/school-year.md` · id: admin.school-year · Audience: admin · Plan: standard · Updated: 2026-06-26* Nel modulo **Amministrazione**, la schermata **Anni scolastici** definisce i periodi sui quali gli orari, le vacanze, le assenze e i collocamenti degli studenti vengono interpretati. Si parla anche di anno accademico. #### Creare un anno scolastico Un anno scolastico contiene: - un **nome**; - una **data di inizio**; - una **data di fine**. Alla creazione, Omniscol può proporre l'importazione delle vacanze comuni del paese configurato quando sono disponibili dati per l'intervallo scelto. Può deselezionare quelle che non la riguardano. #### Anno scolastico in corso Il selettore **Anno scolastico in corso** indica l'anno visualizzato per impostazione predefinita nell'applicazione e nei portali. Modificare questo valore cambia il contesto predefinito degli utenti. È anche l'unico anno accessibile agli studenti. Mantenga l'anno in corso sull'anno realmente utilizzato ogni giorno. La preparazione dell'anno successivo avviene creando un nuovo anno e poi lavorando sugli orari corrispondenti senza impostarlo troppo presto come anno in corso. #### Vacanze Ogni anno scolastico contiene un elenco di vacanze: - nome; - data di inizio; - data di fine. Può aggiungerle una a una, modificarle, eliminarle o gestirle in tabella con **Tabella**. #### Settimane alternate Se le settimane alternate sono attivate nei parametri generali, la schermata mostra una fascia che permette di regolare le alternanze dell'anno. Il salvataggio avviene con **Salvare**. Il formato delle etichette (`A, B, ...`, `1, 2, ...`, o disattivato) si regola nei parametri generali. **Sfasamento tramite le vacanze**: se era in settimana A appena prima delle vacanze e vuole riprendere in settimana B dopo, clicchi sulle settimane interessate della fascia per creare uno **sfasamento virtuale**. L'alternanza si riallinea allora sul resto del calendario. #### Procedura — Preparare l'anno successivo 1. Apra la schermata **Anni scolastici**. 2. Crei l'anno successivo con il suo nome, la sua data di inizio e la sua data di fine. 3. Importi o inserisca le vacanze. 4. Configuri le settimane alternate se il suo istituto le utilizza. 5. Crei o duplichi poi gli orari nel modulo **Gestione degli orari**. 6. Modifichi l'anno scolastico in corso solo nel momento in cui gli utenti devono vedere quest'anno per impostazione predefinita. #### Vedi anche - [Anno scolastico](#page-core-concepts.school-year) - [Anno scolastico](#page-glossary.school-year) - [Pubblicare (attivare) un orario](#page-timetables.publication) - [Preparare il nuovo anno scolastico](#page-timetables.next-school-year) ### 8.10 Parametri generali della scuola *Source: `help/it/admin/parameters.md` · id: admin.parameters · Audience: admin · Updated: 2026-05-14* Nel modulo **Amministrazione**, la schermata **Parametri** contiene la configurazione globale della scuola. Alcuni parametri si applicano immediatamente a tutto l'account e altri fungono da valore predefinito per gli orari futuri. #### Parametri principali La schermata permette in particolare di regolare: - **nome della scuola**; - **fuso orario**; - **anno scolastico in corso**; - **livelli di classe** con Creare; - **orari di apertura** per gli account che utilizzano il Servizio del personale; - **modalità di inserimento delle disponibilità dei professori**; - **restrizione di visibilità per gli studenti**; - **restrizione di visibilità per i professori**; - **restrizione di accesso per ruolo**; - **gestione del secondo nome**; - **regola di capitalizzazione dei nomi**; - **sintassi del login**; - **primo giorno della settimana**; - **formato delle settimane alternate**; - **carattere obbligatorio o meno del tipo di lezione**; - **attivazione o disattivazione del repertorio comune delle materie**; - **logo della scuola**. Le quote dei punti di backup o la profondità di conservazione dei logs non sono impostazioni ordinarie di questa schermata. Sono attivate o adattate da Omniscol secondo il contratto dell'istituto. #### Livelli I **livelli** servono a classificare le classi per progressione didattica: 1ª media, 2ª media, Bachelor, Master, anno 1, anno 2, ecc. Fanno parte delle impostazioni **generali** dell'account. Può crearli, eliminarli e riordinarli da questa schermata. Servono poi nelle classi, in alcuni filtri e in diverse viste di diagnostica. #### Parametri di visibilità e di accesso I parametri Restrizione della consultazione degli orari delle lezioni da parte degli studenti., Restrizione della consultazione degli orari delle lezioni da parte dei professori e Restrizione di accesso all’applicazione sono documentati in [Restrizioni di visibilità](#page-admin.visibility-restrictions). #### Tipi di lezione e materie comuni Il parametro Tipo di lezione obbligatorio impone o meno la presenza di un tipo durante l'inserimento di una lezione. Il parametro delle materie comuni controlla l'accesso al repertorio ufficiale del paese. #### Logo Il logo caricato viene memorizzato nell'account e utilizzato dall'interfaccia quando il contesto lo prevede, in particolare nelle schermate di accesso e nell'applicazione. #### Procedura — Configurare l'account 1. Apra **Parametri**. 2. Verifichi il nome della scuola, il fuso orario e l'anno scolastico in corso. 3. Configuri i livelli, il primo giorno della settimana e le settimane alternate prima di creare gli orari. 4. Regoli le restrizioni di visibilità e di accesso secondo la politica del suo istituto. 5. Salvi i parametri generali con Salvare. #### Vedi anche - [Configurare l'account della scuola](#page-getting-started.setup-school) - [Anno scolastico e vacanze](#page-admin.school-year) - [Gestire le materie](#page-admin.subjects) - [Restrizioni di visibilità](#page-admin.visibility-restrictions) - [Parametri avanzati e personalizzazione](#page-admin.advanced-parameters) ### 8.11 Parametri avanzati e personalizzazione *Source: `help/it/admin/advanced-parameters.md` · id: admin.advanced-parameters · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Nel modulo **Amministrazione**, la schermata **Parametri** riunisce, sugli account Premium, impostazioni **avanzate** oltre ai parametri generali. Questa pagina documenta queste funzioni avanzate; per le impostazioni di base, vedere [Parametri generali della scuola](#page-admin.parameters). #### Campus I **campus** servono a classificare le classi per organizzazione interna: sede, facoltà, polo, programma o altro perimetro proprio dell'istituto. Questa nozione è **facoltativa** e resta distinta dai siti: un sito è un luogo fisico, con la sua griglia oraria, le sue aule e i suoi tempi di percorrenza, mentre un campus è una semplice maglia di organizzazione logica. Il campus diventa soprattutto utile quando la geografia non ricalca bene la Sua organizzazione logica: più facoltà negli stessi edifici, o più scuole di un gruppo che condividono più siti in modo incrociato. Anche quando campus e sito si sovrappongono, questa maglia può restare utile per i filtri e i raggruppamenti. Crei con **Creare** solo i campus che servono realmente a organizzare o filtrare il lavoro. Diventano poi disponibili nelle schermate di creazione delle classi e in alcuni filtri di diagnostica. #### Ridefinizioni di traduzione e di terminologia La schermata permette anche di **ridefinire le traduzioni** per adattare il vocabolario visualizzato al Suo istituto. Quest'area serve a personalizzare le etichette visibili nell'interfaccia, senza modificare la struttura funzionale del prodotto. Vi sono due meccanismi distinti: - Regole di sostituzione delle traduzioni: sostituiscono un termine con un altro in un insieme di etichette; - Ridefinizioni delle traduzioni: sostituiscono direttamente il valore di una traduzione precisa. ##### Regole di sostituzione Le regole di sostituzione servono ad armonizzare un vocabolario in numerose etichette contemporaneamente. Esempi tipici: - sostituire `Professeur` con `Intervenant`; - sostituire `Élève` con `Étudiant`; - adattare certi termini alla cultura dell'istituto. Le regole sono **ordinate**. L'ordine conta: una regola posta più in alto si applica prima delle successive. La schermata permette di: - inserire un testo di origine e un testo di destinazione, poi confermare con **Aggiungere**; - visualizzare in anteprima le etichette interessate; - riordinare le regole; - eliminare una regola. Le opzioni disponibili servono a precisare il tipo di sostituzione: - `Aa`: distinzione alfabetica / maiuscole-minuscole; - `ab` sottolineato: corrispondenza completa; - `.*`: espressione regolare. Utilizzi le regole quando desidera cambiare un termine in modo coerente in più schermate. Le regole si salvano **nella loro area dedicata**: aggiunta, eliminazione e riordinamento sono registrati separatamente dagli altri parametri della pagina. ##### Ridefinizioni di chiavi complete Le ridefinizioni di chiavi complete servono a correggere o riscrivere un'etichetta **caso per caso**. La schermata permette di: - cercare una traduzione esistente; - aggiungerla all'elenco delle ridefinizioni; - inserire la propria versione; - salvare o eliminare questa ridefinizione. Utilizzi questa modalità quando una regola generale sarebbe troppo ampia, o quando desidera riscrivere un'intera frase anziché un semplice termine. Ogni ridefinizione di chiave si salva **riga per riga** con il proprio pulsante di salvataggio o di eliminazione. ##### Buon uso Le regole e le ridefinizioni servono a personalizzare il **vocabolario visualizzato**. Non cambiano né i concetti funzionali sottostanti, né gli identificativi interni, né i comportamenti dell'applicazione. Preferisca: - una **regola** per una ridenominazione ricorrente; - una **ridefinizione di chiave** per un'eccezione locale o un'etichetta completa. Eviti le sostituzioni troppo ampie o ambigue che renderebbero l'aiuto, le ricerche o la terminologia incoerenti da una schermata all'altra. #### Procedura 1. Apra **Parametri** nel modulo **Amministrazione**. 2. Individui l'area avanzata corrispondente alla Sua esigenza: campus o ridefinizioni di traduzione. 3. Per i campus, crei e ordini le etichette utili alla Sua organizzazione. 4. Per le traduzioni, scelga tra regola globale e ridefinizione puntuale a seconda del perimetro della modifica. 5. Salvi ogni area con il proprio meccanismo: le regole sono registrate nel loro blocco, e le ridefinizioni di chiavi si confermano riga per riga. #### Vedi anche - [Parametri generali della scuola](#page-admin.parameters) - [Restrizioni di visibilità](#page-admin.visibility-restrictions) - [Campus](#page-glossary.campus) - [Conflitti e diagnostica](#page-timetables.conflicts) ### 8.12 Restrizioni di visibilità e di accesso *Source: `help/it/admin/visibility-restrictions.md` · id: admin.visibility-restrictions · Audience: admin · Plan: standard · Updated: 2026-05-14* Nel modulo **Amministrazione**, la schermata **Parametri** raggruppa alcune restrizioni mirate: un orizzonte di consultazione per gli studenti, il mascheramento degli orari tra professori e il blocco dell'accesso per ruolo. #### Restrizione lato studenti Il parametro Restrizione della consultazione degli orari delle lezioni da parte degli studenti. definisce il numero di settimane future, settimana in corso compresa, durante le quali gli orari pubblicati restano visibili agli studenti. Lo imposta su un numero di settimane o su **Illimitato**. Questa restrizione riguarda la finestra temporale aperta agli studenti: ciascuno consulta gli orari pubblicati fino all'orizzonte scelto. #### Restrizione lato professori Il parametro Restrizione della consultazione degli orari delle lezioni da parte dei professori maschera gli orari degli altri professori. Agisce sui filtri e sulle viste di consultazione: un professore ritrova il proprio orario, senza accedere a quello dei suoi colleghi. #### Restrizione di accesso Il parametro Restrizione di accesso all’applicazione blocca l'accesso dei profili selezionati: **Professori**, **Membri del personale** o **Studenti**. Un utente che cumula più ruoli si connette finché almeno uno dei suoi ruoli resta autorizzato. #### Procedura — Limitare la visibilità lato studenti 1. Apra la schermata **Parametri**. 2. Individui Restrizione della consultazione degli orari delle lezioni da parte degli studenti.. 3. Scelga **Illimitato** o un numero di settimane. 4. Confermi con **Salvare**. #### Vedi anche - [Parametri generali](#page-admin.parameters) - [Utenti e ruoli](#page-admin.users-and-roles) - [Portale dello studente](#page-portal.student-portal) - [Portale del professore](#page-portal.teacher-portal) ### 8.13 Importazione ed esportazione *Source: `help/it/admin/import-export.md` · id: admin.import-export · Audience: admin · Updated: 2026-06-03* Nel modulo **Amministrazione**, la schermata **Importare/Esportare** raggruppa le operazioni di trasferimento dei dati dell'account: esportazione JSON, scambi aSc, snapshot, sincronizzazione con sistemi esterni e opzioni API attivate sull'account. Tutto dipende dal paese, possono esserci anche gli scambi con i protocolli standard. Per gli istituti sotto la tutela del Ministero dell'Istruzione francese, degli scambi propri della Francia (STS, UnDeuxTemps, École Directe) sono descritti in [admin.french-formats](#page-admin.french-formats). #### Esportazione JSON Il pulsante **Scarica** avvia un'esportazione JSON completa dell'account. Questo file contiene i dati dell'account e deve essere trattato come un backup sensibile. L'esportazione JSON è disponibile per tutti gli amministratori. Se desidera limitarne l'accesso, occorre l'opzione dei [Ruoli personalizzati](#page-admin.customroles). #### Importazione JSON L'importazione JSON completa utilizza lo stesso formato dell'esportazione. Resta riservata al team Omniscol nell'ambito del supporto: il reinserimento si effettua su sua richiesta, e non come operazione corrente della schermata di amministrazione. Per un ripristino dell'account, privilegi gli snapshot quando sono attivati, o contatti Omniscol se un reinserimento JSON è necessario. Prima di qualsiasi importazione distruttiva, crei un punto di backup se la funzionalità è attiva. #### aSc Timetables La schermata contiene anche una sezione aSc Timetables: - importazione di un file XML aSc; - esportazione XML aSc con opzioni. Questo scambio riguarda un file aSc completo. Per aggiungere lezioni a partire da un foglio di calcolo, utilizzi piuttosto [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import). #### Punti di backup Se i **punti di backup** sono attivati, il pulsante **Punti di backup** ne apre la gestione. Vedere [Punti di backup](#page-admin.snapshots). #### Sincronizzazione con sistemi esterni e opzioni API > _Premium_ La schermata propone anche: - la configurazione della sincronizzazione con sistemi esterni con **Configura**; - la condivisione globale / OpenAPI; - le impostazioni API; - la configurazione MCP; - la gestione OAuth2 / OIDC. #### Procedura — Esportare l'account 1. Apra **Importare/Esportare**. 2. Faccia clic su **Scarica**. 3. Conservi il file in una posizione sicura. 4. Se l'obiettivo è un'operazione rischiosa, crei piuttosto uno snapshot in aggiunta all'esportazione. #### Vedi anche - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) - [Punti di backup](#page-admin.snapshots) - [Panoramica](#page-migration.overview) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) - [admin.french-formats](#page-admin.french-formats) ### 8.14 Punti di backup *Source: `help/it/admin/snapshots.md` · id: admin.snapshots · Audience: admin · Plan: premium · Feature: snapshots · Updated: 2026-05-15* > **Premium** > _Premium_ Un **punto di backup** o *snapshot* è un'istantanea dell'account Omniscol. La funzione è disponibile solo se il team Omniscol ha attivato una quota di punti di backup per l'account, secondo il contratto dell'istituto. Questa quota è definita con Omniscol secondo l'esigenza della scuola (backup manuali, automazioni, conservazione attesa) e può essere adattata su richiesta. Non viene impostata direttamente dall'amministratore da questo pannello. #### Aprire i punti di backup Nel modulo **Amministrazione**, apra **Importare/Esportare** poi clicchi su **Punti di backup**. Il pannello elenca i punti di backup esistenti, la quota utilizzata e, quando è disponibile, un **digest** del contenuto: volumi di utenti, anni scolastici, pannelli, eventi, orari e principali contatori di attività. #### Azioni disponibili Secondo i suoi diritti, può: - creare un punto di backup con **Creare**; - esportare un punto di backup in JSON con **Scarica**; - eliminare un punto di backup con **Eliminare**; - bloccare un punto di backup per evitarne l'eliminazione; - definire o modificare una data di scadenza; - ispezionare il digest per identificare rapidamente ciò che contiene il punto di backup; - ripristinare un punto di backup (in tutto o in parte) con **Ripristina**. I punti di backup sono conservati su uno storage replicato. Ogni punto di backup può essere esportato in JSON per un'analisi o un confronto condotti con i suoi strumenti. #### Ripristino Il ripristino richiede una conferma esplicita. Il pannello propone tre modalità, secondo le famiglie di dati selezionate: - **Sovrascrivere i dati**: i dati selezionati vengono sostituiti dallo stato del punto di backup. È la modalità di rollback; - **Ripristinare solo i dati eliminati**: Omniscol reinserisce solo gli elementi assenti quando la modalità è supportata, per esempio dopo un'eliminazione involontaria di utenti; - **Ripristinare senza sovrascrivere**: Omniscol ripristina sotto forma di copia quando è supportato, al fine di confrontare o reintegrare manualmente senza sostituire lo stato corrente, per esempio quando un orario è divergente e non si vuole sovrascrivere ciò che è stato fatto dal momento in cui il punto di backup è stato creato. Possono quindi comparire dei duplicati. Il ripristino può riguardare tutto l'account o dei sottoinsiemi come gli orari, gli eventi, i pannelli, le assenze, gli utenti, le materie, gli anni scolastici o la configurazione. #### Automazioni Il pulsante **Automazione** permette di configurare delle creazioni automatiche di punti di backup. Il ritmo dipende dalla configurazione scelta per l'account: quotidiano, settimanale, in piena notte — decide lei la politica adatta al suo istituto. Le date di scadenza e il blocco governano la conservazione: - un punto di backup scaduto può essere eliminato automaticamente, a meno che non sia bloccato; - un punto di backup bloccato è protetto dall'eliminazione manuale e dalla pulizia automatica; - quando un backup automatico deve rientrare in una quota già raggiunta, Omniscol elimina il più vecchio punto di backup automatico non bloccato per fare spazio. Se nessun punto di backup può essere eliminato (tutti bloccati), il nuovo backup non riesce. Questo funzionamento offre una cronologia di backup simile a una Time Machine in ambiente Apple: utile per tornare indietro, recuperare dati cancellati per errore o ripristinare una copia per un confronto. Resta limitato dalla quota definita con Omniscol, adattabile su richiesta. #### Da definire prima dell'attivazione Prima di attivare o estendere l'opzione, verifichi con Omniscol: - la quota di punti di backup e il margine desiderato per i backup manuali; - il ritmo dei backup automatici che vorrà configurare; - la durata di conservazione attesa; - le famiglie di dati interessate dai ripristini parziali; - il formato di esportazione atteso per i controlli esterni. Ogni punto di backup può essere esportato in JSON. #### Procedura — Creare un punto di backup prima di un'operazione rischiosa 1. Apra **Importare/Esportare**. 2. Clicchi su **Punti di backup**. 3. Clicchi su **Creare**. 4. Verifichi che il nuovo punto di backup compaia nell'elenco. 5. Avvii poi l'importazione, la riorganizzazione o il cambio di configurazione previsto. In caso di problema grave, potrà tornare indietro nel tempo. #### Vedi anche - [Importazione ed esportazione](#page-admin.import-export) - [Registro delle attività (logs)](#page-admin.logs) ### 8.15 Registro delle attività (logs) *Source: `help/it/admin/logs.md` · id: admin.logs · Audience: admin · Feature: logs · Updated: 2026-05-15* > **Premium** Nel modulo **Amministrazione**, la schermata **Registro delle attività** mostra le voci di registro disponibili per l'account quando l'opzione dei logs è attiva. La profondità di conservazione è definita con il team Omniscol secondo il contratto dell'istituto e può essere adattata su richiesta. Il pannello serve a consultare ed esportare le tracce presenti nel flusso di logs. #### Che cosa viene registrato Il registro riporta le azioni che modificano l'account, non ogni consultazione. - **Ogni modifica** dei dati (scheda utente, orario, parametri…) — creazione, aggiornamento o eliminazione — genera una voce con il suo autore, l'azione e la marca temporale. - **Gli accessi** — ogni tentativo di accesso registra l'identificativo utilizzato. - **Le azioni sulle password** — impostazione, modifica, eliminazione o reimpostazione sono tracciate: l'azione e il suo autore, mai la password stessa. - **Le esportazioni** — l'esportazione JSON dell'account viene registrata. Le semplici consultazioni (aprire una schermata, elencare dati) non vengono registrate, salvo alcune operazioni sensibili. Il registro risponde quindi alla domanda «chi ha fatto cosa e quando», non «chi ha consultato cosa». #### Che cosa mostra la schermata Ogni riga può contenere: - una marca temporale; - l'azione eseguita; - la route risolta quando è nota; - i parametri e gli extra registrati; - il metodo HTTP; - l'URL web associato; - l'utente interessato. Il contenuto esatto dipende da ciò che è stato registrato da Omniscol: la schermata riflette le tracce presenti nel flusso di logs dell'account. #### Ricerca ed esportazione Quando l'elenco contiene abbastanza voci, una ricerca locale permette di filtrare la tabella. Il pulsante **Timestamp** apre una vista esportabile delle righe. #### Portata dei registri - Ogni riga indica l'azione eseguita, la route, i parametri e l'utente interessato; il dettaglio copre ciò che Omniscol ha registrato. - La conservazione dipende dall'opzione attivata sull'account e dalla pulizia periodica dei logs. - I registri si consultano e si esportano da questa schermata; Omniscol non li trasmette automaticamente a uno strumento di monitoraggio esterno. Per ricostruire con precisione lo stato di un account a una data precisa, combini i registri con i punti di backup. #### Da verificare in un contratto La profondità di conservazione, gli obblighi di audit e le esportazioni attese rientrano nel contratto e nei documenti di sicurezza forniti su richiesta. Questa pagina non sostituisce tali documenti. #### Vedi anche - [Punti di backup](#page-admin.snapshots) - [Utenti e ruoli](#page-admin.users-and-roles) --- ## 9. Integrazioni ### 9.1 Panoramica delle integrazioni *Source: `help/it/integrations/overview.md` · id: integrations.overview · Audience: admin · Updated: 2026-06-13* Omniscol si integra con il suo sistema informativo attraverso diverse vie, secondo il bisogno. Per esempi di strumenti di terze parti e partner regolarmente collegati a Omniscol, si veda anche [integrations.partners](#page-integrations.partners). #### Vista d'insieme | Meccanismo | A cosa serve | Senso del flusso | | --- | --- | --- | | [iCal](#page-integrations.ical) | Consentire a professori / studenti di vedere il proprio orario nel proprio calendario personale | Omniscol → calendario | | [Link di condivisione](#page-glossary.share-link) | Diffondere un orario in sola lettura o aprire un inserimento mirato secondo il contesto | Omniscol → web pubblico | | [Iframe](#page-portal.share-links) | Integrare un orario in una pagina sullo **stesso dominio** di Omniscol; bloccato su un sito esterno (sicurezza) | Omniscol → stesso dominio | | [API Omniscol](#page-integrations.api-tokens) | Integrazioni da sistema a sistema secondo i diritti e le opzioni dell'account | Secondo la configurazione | | [MCP](#page-integrations.mcp) | Collegare un agente IA compatibile con MCP a Omniscol | Agente IA ↔ Omniscol | | [OAuth2 / OIDC (server)](#page-integrations.oauth-server) | Collegare un servizio di terze parti identificato da client registrato + consenso + token con scope (base di MCP e OneRoster) | Servizio ↔ Omniscol | | [OIDC / SSO (accesso)](#page-integrations.oauth2) | Autenticazione degli utenti tramite provider di identità (Google Workspace, Microsoft Entra ID, OIDC generico) | Secondo la configurazione | | [Sincronizzazione con sistemi esterni](#page-integrations.extsync) | Framework di connettori ERP: Aurion, Auriga, nuovi connettori su progetto | Bidirezionale | | [Pannelli informativi](#page-panels.lobby-panel) | Mostrare l'orario su schermi pubblici | Omniscol → schermi | #### Scegliere l'integrazione adatta - **Diffondere un orario a un professore / studente** — abbonamento [iCal](#page-integrations.ical). - **Dare accesso in lettura a un genitore / un audit** — [link di condivisione](#page-glossary.share-link). - **Sincronizzare gli studenti dal suo ERP / sistema informativo** — si veda [Sincronizzazione con sistemi esterni](#page-integrations.extsync) che elenca i connettori disponibili. Se il suo ERP non vi figura, l'aggiunta di un connettore si concorda con l'assistenza Omniscol. - **Autenticazione unica** — [OIDC / SSO](#page-integrations.oauth2). - **Assistente IA esterno** sull'account, se l'opzione è attivata — [MCP](#page-integrations.mcp) per i client compatibili. - **Affissione pubblica nei locali** — [pannelli informativi](#page-panels.lobby-panel). #### Buone pratiche di sicurezza - Utilizzare **OIDC / SSO**, quando l'opzione è attivata, per autenticare utenti reali. - Riservare i **token API** alle integrazioni da sistema a sistema, con scope minimo e rotazione periodica. - Impostare **date di scadenza** brevi sui link di condivisione. - Non inserire un token API in un repository Git pubblico. #### Vedi anche - [iCal](#page-integrations.ical) - [API Omniscol](#page-integrations.api-tokens) - [MCP](#page-integrations.mcp) - [OAuth2 / OIDC (server)](#page-integrations.oauth-server) - [OIDC / SSO (accesso)](#page-integrations.oauth2) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) - [integrations.partners](#page-integrations.partners) ### 9.2 Come funziona Omniscol — una sola API, un'unica fonte di verità *Source: `help/it/integrations/architecture.md` · id: integrations.architecture · Audience: admin · Plan: standard · Updated: 2026-07-12* Alcuni aspetti su come è costruito Omniscol meritano di essere conosciuti prima di integrarlo: spiegano perché l'API è così completa, come l'interfaccia si adatta a ogni utente, e un punto di riservatezza da tenere presente. #### Una sola applicazione su una sola API Omniscol funziona come un'**unica applicazione web** nel suo browser. Ogni schermata, pulsante e tabella viene disegnato chiamando l'**API pubblica** di Omniscol — la stessa API che Lei può chiamare — documentata nel riferimento API interattivo di Omniscol, la pagina **Sviluppatori** ([omniscol.com/it/developers](https://www.omniscol.com/it/developers)). Non esiste un'API nascosta, «reale», dietro quella che Lei integra: ciò che l'interfaccia usa *è* ciò che Lei ottiene. Alcune operazioni vanno nella direzione opposta — offerte per l'integrazione ma **non utilizzate dall'applicazione stessa** —: per esempio, i punti di accesso di **ricerca avanzata e risoluzione di entità** (pensati per un agente IA tramite [MCP](#page-integrations.mcp)), o quelli che permettono a un sistema esterno di **alimentare Omniscol** (un ETL che mantiene sincronizzato un database esterno). #### operationId — una chiave, un'unica fonte di verità Ogni operazione è una **coppia metodo + URL** (per esempio `GET /api/schedules/lessons/{datesrange}`), e ciascuna porta un identificatore stabile: il suo **operationId** (qui `os_schedules_dates_get`). Il nome è strutturato: **`os`** (Omniscol), poi il **modulo** (`schedules`), poi ciò su cui agisce l'**operazione** (`dates` — a volte più segmenti uniti da trattini) e sempre il **metodo HTTP** per ultimo (`get`, `post`, `put`, `delete`). È questa chiave unica che Omniscol usa ovunque — per nominare l'operazione sulla pagina **Sviluppatori**, per costruire lo strumento [MCP](#page-integrations.mcp) corrispondente e per designarla da una personalizzazione dell'API o da questa guida. Definita una sola volta, mantiene sincronizzate tutte le superfici: la documentazione, gli strumenti e l'interfaccia non possono divergere, poiché leggono tutti la stessa definizione. #### L'interfaccia segue i suoi diritti Un **elemento grafico dotato di un'azione** — un pulsante, una scheda, una voce di menu — appare solo quando l'operazione che lo sostiene le è **accessibile**. Ciò dipende dal suo ruolo e dai suoi [ruoli personalizzati](#page-admin.customroles) (vedere [Utenti e ruoli](#page-admin.users-and-roles)), dalla sua offerta e dalle sue opzioni (vedere [Piani e opzioni di Omniscol](#page-overview.plans-and-options)). Modifichi uno di questi elementi e l'interfaccia si ricompone: elementi, e persino interi moduli, appaiono o scompaiono di conseguenza. Lo stesso principio agisce oltre i suoi diritti personali. Il reparto informatico può disattivare alcune operazioni tramite una **personalizzazione dell'API**, e gli elementi corrispondenti scompaiono dall'interfaccia (vedere [Personalizzazione dell'API](#page-integrations.api-customization)). Lo stesso vale quando un dato è mantenuto aggiornato da una **sincronizzazione esterna**: la sua creazione e la sua modifica locali possono essere disattivate, e i relativi comandi cedono allora il posto alla sincronizzazione (vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync)). Ecco perché Omniscol non ha **alcun portale separato** per gli studenti o gli insegnanti. C'è una sola applicazione; ogni persona vede l'interfaccia sincronizzata con i propri diritti — uno studente, un insegnante, un amministratore e il titolare di un ruolo personalizzato ottengono esattamente le operazioni a cui hanno diritto, e nient'altro. #### L'interfaccia è una comodità, non il lucchetto Poiché l'interfaccia è guidata dai suoi diritti, si potrebbe essere tentati di considerare un pulsante nascosto come un confine di sicurezza. Non lo è. **Ogni chiamata viene riverificata sul server** rispetto alla sua identità e ai suoi diritti; un'operazione a cui non ha diritto viene lì rifiutata, qualunque cosa l'interfaccia mostri. L'interfaccia si adatta per chiarezza e comodità; il confine reale è applicato lato server, a ogni richiesta. #### Token e link di condivisione, lo stesso modello Un [token API](#page-integrations.api-tokens) o un link di condivisione è **limitato a un insieme di operazioni**: quelle che Lei autorizza al momento della creazione. Il server applica questa restrizione a ogni chiamata, esattamente come per un utente connesso. Un link di condivisione, un token e una persona nell'interfaccia sono tre modi di raggiungere la stessa API controllata dai diritti — mai una porta di servizio che la aggira. #### Attraversare un'interruzione di connessione Poiché ogni schermata legge l'API, Omniscol può anche conservare nel suo browser le risposte già ricevute, affinché una breve perdita di rete non interrompa la sua lettura. Questa **copia locale** risiede nel suo database (IndexedDB), accanto alla normale cache di pagine del browser. È una **cache di lettura**: se la connessione cade, continua a vedere ciò che aveva già aperto. **Non** mette le sue modifiche in coda e non le riproduce — una modifica passa sempre dal server. Questa copia locale si basa sul suo **consenso**. La prima volta su un browser, Omniscol le chiede se si fida di esso; la copia inizia una volta che ha accettato. La voce Cache offline del menu utente la attiva o la cancella in seguito in qualsiasi momento — un segno di spunta indica che è attiva. Due cose da sapere: - **I dati personali ne sono esclusi.** Vengono conservate solo le letture riuscite; le risposte che il server contrassegna come non memorizzabili (dati di sessione e di autenticazione) non vengono mai messe in cache, e da ciò che *viene* messo in cache il software rimuove i dati di contatto delle persone — e-mail, telefono, data di nascita, login, numero di identificazione, stato della password — ed elimina completamente gli account amministratore. La copia locale contiene i normali dati di lavoro, non l'elenco nominativo. - **Su una postazione condivisa, preferisca una finestra di navigazione privata (incognito).** La disconnessione non cancella questa copia locale (né la normale cache del browser); una finestra privata elimina entrambe alla chiusura. È la cura che merita qualsiasi applicazione web su una macchina che non controlla. #### Vedi anche - [Panoramica delle integrazioni](#page-integrations.overview) - [Personalizzazione dell'API](#page-integrations.api-customization) - [API Omniscol](#page-integrations.api-tokens) - [MCP — collegare un agente IA esterno](#page-integrations.mcp) ### 9.3 iCal — abbonamento e link dinamico *Source: `help/it/integrations/ical.md` · id: integrations.ical · Plan: standard · Updated: 2026-05-15* Il formato **iCal** (`.ics`) è lo standard per la condivisione di calendari tra applicazioni. Omniscol espone ogni orario (individuale, di classe, di aula, di professore) sotto forma di **link di abbonamento iCal** che l'utente può incollare in Google Calendar, Apple Calendar, Outlook, Thunderbird o in qualsiasi altra applicazione che consumi calendari standardizzati. #### Link di abbonamento vs export puntuale Due usi molto diversi: - **Link di abbonamento** (consigliato) — URL HTTPS che punta a Omniscol. L'applicazione client lo consulta regolarmente (ogni ora, ogni giorno a seconda delle impostazioni del client) e aggiorna il calendario dell'utente in modo continuo. Quando una lezione si sposta in Omniscol, l'utente la vede nel proprio calendario senza fare nulla. - **Export puntuale** — download di un file `.ics` in un dato momento. Comodo per archiviare, condividere via e-mail, o alimentare un sistema che non è in grado di abbonarsi. Ma è statico: se l'orario cambia, il file non viene aggiornato. Preferisca il link di abbonamento quando il client finale è un'applicazione moderna in grado di aggiornare un calendario remoto (Google Calendar, Apple Calendar, Outlook). #### Recuperare il proprio link di abbonamento Dalle schermate in cui la condivisione è disponibile, il pulsante Condivisione apre una finestra modale che può proporre: - uno o più URL di abbonamento iCal firmati, - un pulsante «Copia l'URL», - un codice QR da scansionare, - il download di un file `.ics`. L'URL contiene un token segreto: non lo condivida — chiunque lo ottenga può vedere l'orario incluso nell'ambito del link fino alla scadenza o all'invalidazione. #### Dove generare un iCal I principali punti di accesso sono: - **In alto nel modulo Orario** — il pulsante Condivisione può generare un iCal di tutti gli orari visualizzati, un iCal combinato che li unisce in un unico abbonamento, e poi gli iCal individuali. Questi link sono delimitati dall'anno scolastico visualizzato. - **Su ogni orario visualizzato** — la barra del titolo dell'orario dà accesso, al passaggio del mouse, a una condivisione atomica per quell'orario. Il link copre l'anno scolastico interessato. - **Sulla scheda di un professore** — in **Amministrazione**, il pulsante Condivisione della scheda genera l'iCal personale del professore, concepito per restare valido nel tempo finché il link, l'account titolare e la scadenza scelta lo consentono. - **In anteprima di un orario calendario** — in **Gestione degli orari**, il pulsante Condivisione dell'anteprima genera l'iCal di ciò che è visualizzato, anche se quell'orario non è ancora attivato o pubblicato. A ogni generazione, l'utente può fissare una data di invalidazione. Questa data è codificata nel token dell'URL: non si modifica in seguito. Per cambiare la scadenza, occorre generare un nuovo link. Come gli altri link di condivisione, l'iCal è anch'esso legato all'account che l'ha generato: il cambio di password, la disattivazione o l'eliminazione dell'account titolare invalidano i link associati. #### Link pubblico per una classe o un'aula L'amministratore può generare un link di abbonamento per una **classe** o un'**aula** (per esempio per condividerlo con i genitori o con un servizio esterno). Questi link sono firmati e portano una data di scadenza. Vedere anche [Condividere un orario tramite link pubblico](#page-schedules.share-link) che descrive l'insieme delle opzioni di condivisione (iCal, pagina web responsive, JSON tramite API). #### Configurazione lato client ##### Google Calendar 1. In Google Calendar, a sinistra, accanto ad **Altri calendari**, fare clic sul **+** > **Da URL**. 2. Incollare l'URL di abbonamento Omniscol. 3. Il calendario appare con un'etichetta indicativa e un colore predefinito — modificabili. Google aggiorna l'abbonamento all'incirca ogni 8-24 ore. Modifiche urgenti: prevedere un ritardo. ##### Apple Calendar (macOS, iOS) 1. **File > Nuovo abbonamento a un calendario**. 2. Incollare l'URL Omniscol. Il link iCal Omniscol è impostato per un aggiornamento automatico ogni mezz'ora. ##### Outlook (Microsoft 365) 1. **Aggiungi calendario > Da Internet**. 2. Incollare l'URL Omniscol. Outlook aggiorna con una frequenza variabile a seconda delle versioni; per il desktop più datato, prevedere ritardi. #### Limitazioni - Le modifiche lato client (spostare un evento in Google Calendar) non vengono ripercosse in Omniscol — l'abbonamento è in sola lettura. - L'utente deve avere un account Omniscol attivo per generare il proprio URL personale. - La scadenza del link è iscritta nell'URL generato: non si prolunga in seguito; generi un nuovo link se necessario. - Gli eventi al di fuori dell'orario vengono inclusi solo se la condivisione o il filtro iCal li include. #### Procedura — Abbonarsi al proprio orario da Google Calendar 1. **L'abbonamento iCal** sincronizza il Suo orario Omniscol con il Suo calendario personale (Google Calendar, Apple Calendar, Outlook). Aggiornamento automatico continuo: nessun copia-incolla da rifare a ogni cambiamento di orario. 2. **Dalla Sua schermata Omniscol** (studente, professore o vista condivisa), faccia clic su Condivisione quando il pulsante è disponibile. Si apre una finestra modale con gli URL generati per il Suo ambito. 3. **Copi l'URL di abbonamento** (pulsante Copia). Non lo condivida: chiunque lo abbia può vedere l'ambito incluso nel link fino alla scadenza o all'invalidazione. 4. **In Google Calendar**: pannello a sinistra, **Altri calendari → + → Da URL**, incollare, confermare. Il calendario appare con etichetta e colore (modificabili). **In Apple Calendar**: `File → Nuovo abbonamento a un calendario`, incollare. **In Outlook M365**: `Aggiungi calendario → Da Internet`, incollare. 5. **Importante**: abbonamento = **sola lettura**. Le modifiche nel Suo calendario personale non vengono ripercosse in Omniscol. Le modifiche lato Omniscol arrivano nel Suo calendario alla prossima sincronizzazione lato client. #### Vedi anche - [iCal (esportazione calendario)](#page-glossary.ical) - [Condividere un orario tramite link pubblico](#page-schedules.share-link) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.4 API Omniscol — token di autenticazione *Source: `help/it/integrations/api-tokens.md` · id: integrations.api-tokens · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ L'**API Omniscol** è un'API REST documentata in OpenAPI. Serve per le integrazioni da sistema a sistema: dashboard esterna, visualizzazione su misura, sincronizzazione ERP/sistema informativo, o agente IA via MCP. I token API amministrabili dall'interfaccia sono disponibili sui conti che propongono questa integrazione. Un token derivato dà accesso unicamente agli endpoint API selezionati al momento della sua generazione; non presuma che copra tutta l'API. #### Chiave e token: due oggetti distinti Omniscol distingue due oggetti che non vanno confusi. Una **chiave** è un oggetto persistente, conservato lato Omniscol. Riunisce: - un **identificativo** corto, generato casualmente, pubblico: è quello che la lista mostra, e che viaggia in ogni token per designare la chiave da verificare; - un'**etichetta** descrittiva, modificabile in qualsiasi momento; - una **data di scadenza** facoltativa, modificabile in qualsiasi momento; - un **segreto casuale** lungo, estratto lato server, che funge da chiave di firma crittografica. L'identificativo, l'etichetta e la data di scadenza sono informazioni di amministrazione: l'identificativo è solo un riferimento pubblico, non un elemento segreto. Il **segreto**, invece, è l'unico materiale di firma: generato casualmente alla creazione della chiave, resta lato server, non è modificabile, e **non viene mai mostrato né restituito** — né alla creazione, né nella lista delle chiavi. E anche se trapelasse, non basterebbe a forgiare un token: la firma lo combina con un **sale proprio del conto** e con un **segreto server** che, anch'essi, non lasciano mai Omniscol. Un **token** è un **JWT** (JSON Web Token) autonomo, firmato con il segreto della chiave. È quello che trasmette al sistema esterno. Il suo contenuto firmato porta il conto interessato, la lista degli endpoint autorizzati, la chiave da cui deriva e la sua stessa data di scadenza. In altre parole: **una chiave firma, un token è firmato.** Una stessa chiave può firmare più token — tutti verificabili con lo stesso segreto, quindi tutti revocati insieme se la chiave scompare. Omniscol non memorizza il token: lo genera, lo mostra una volta, poi lo riverifica a ogni chiamata ricostituendo la sua firma a partire dal segreto della chiave (HMAC SHA-256). Nessuna autorizzazione portata dal token può quindi essere alterata senza quel segreto. #### Creare un token La schermata Condivisione è disponibile in Amministrazione → Importare/Esportare sui conti Premium. La creazione avviene in due tempi: si crea prima una **chiave**, poi si **genera un token** a partire da quella chiave. 1. **Creare una chiave** — inserisca un'etichetta esplicita e, se l'accesso è temporaneo, una data di scadenza. La sua etichetta e la sua scadenza restano modificabili in seguito; il suo segreto di firma, no. 2. **Generare un token** — selezioni la chiave, spunti gli endpoint autorizzati, scelga eventualmente una data di scadenza propria del token, poi generi il JWT. Alla generazione, Omniscol mostra il token **una sola volta**. Lo copi immediatamente in un gestore di segreti: non sarà più mostrato. La scadenza del token è iscritta nel suo contenuto firmato: non si modifica a posteriori. Per cambiare questa data, generi un nuovo token. Ci sono quindi due livelli di scadenza, indipendenti l'uno dall'altro: - **scadenza della chiave** — modificabile dalla lista delle chiavi; quando viene raggiunta, **tutti** i token derivati da quella chiave sono rifiutati (la chiamata fallisce con un 401); - **scadenza del token** — fissata alla generazione, iscritta nel JWT, e non modificabile in seguito. #### Endpoint autorizzati Un token dà accesso **solo agli endpoint spuntati alla sua generazione**: non presuma mai che copra tutta l'API. La lista autorizzata è trasportata nel token e verificata a ogni chiamata; una chiamata verso un endpoint non autorizzato è rifiutata (401). Oltre agli endpoint individuali, la lista di selezione propone delle **scorciatoie per modulo**: - la voce di un modulo da sola autorizza **tutti** i suoi endpoint; - le varianti per operazione — **lettura**, **modifica**, **creazione**, **eliminazione** — restringono il modulo a un solo tipo di chiamata. Spuntare «**Orario** [lettura]» concede così tutta la lettura degli orari senza aprire alcuna scrittura, senza spuntare ogni endpoint uno per uno. Resti al minimo indispensabile: conceda solo i moduli e le operazioni strettamente necessari all'integrazione. #### Utilizzare un token Due modi consueti per inviare il token all'API: - **Intestazione HTTP**: `Authorization: Bearer ` (raccomandato). - **Query string**: `?auth=` (pratico per il debug, ma appare nei log HTTP — da evitare in produzione). Esempio `curl`, da adattare con un endpoint reale tratto dall'OpenAPI: ```bash curl -H "Authorization: Bearer $TOKEN" \ https://vostra-scuola.omniscol.com/api// ``` #### Documentazione OpenAPI La schermata Importare/Esportare mostra un link **OpenAPI 3.1** che apre la specifica disponibile per il conto in Swagger Editor. Vi troverà: - la lista degli endpoint API esposti, - gli schemi dei dati scambiati, - i metodi e i parametri, - le risposte attese. La specifica è anche servita direttamente dal Suo conto, senza autenticazione: - `/api/guest/openapi.json` — specifica in formato JSON; - `/api/guest/openapi.yaml` (o `/api/guest/openapi?yaml=true`) — stesso contenuto in formato YAML; - `/api/guest/school_schema.json` — schema JSON dei dati del conto. #### La guida completa per il Suo assistente IA Il portale pubblica anche l'intera guida di Omniscol in un unico file di testo, pronto a servire da base di conoscenza per un assistente IA (progetto Claude, GPT personalizzato…): - [omniscol.com/it/llms-full.txt](https://www.omniscol.com/it/llms-full.txt) — la guida completa in Markdown, disponibile in ogni lingua della guida (`/en/llms-full.txt`, `/fr/llms-full.txt`…); - [omniscol.com/llms.txt](https://www.omniscol.com/llms.txt) — l'indice secondo lo standard `llms.txt`, scoperto automaticamente dai motori IA. #### Revocare un accesso La revoca avviene a livello della **chiave**, non del singolo token. La schermata elenca le **chiavi** che sono servite a generare token. **Eliminare una chiave** cancella il suo segreto di firma lato Omniscol: da quel momento, nessuna firma derivata da quel segreto può più essere verificata, e ogni chiamata che presenti un token proveniente da quella chiave fallisce con un **401**. È l'assenza del segreto a invalidare i token, non una lista di revoca. Per il servizio informatico, due conseguenze: - **Non c'è revoca token per token.** Omniscol non conserva i JWT emessi e non può disattivarne uno isolatamente: un token già generato resta valido fino alla sua stessa scadenza, o finché la sua chiave non venga eliminata o scada. - **Modificare la scadenza di una chiave** agisce immediatamente su tutti i suoi token: anticipare questa data taglia l'accesso all'insieme dei token provenienti dalla chiave. Buona pratica: elimini senza attendere ogni chiave di cui sospetti la fuga, poi ricrei una chiave di sostituzione con un'etichetta esplicita. ##### Una chiave per destinazione e per uso Poiché la revoca è per chiave, **dedichi una chiave a ogni integrazione** (un software esterno = una chiave). Il segreto di una chiave firma solo i suoi propri token: eliminare quella chiave invalida solo gli accessi dell'integrazione interessata, senza toccare gli altri. Al contrario, una chiave unica condivisa tra più sistemi rende ogni revoca brutale: eliminare la chiave compromessa taglia in un colpo tutti i sistemi che se ne servivano. #### Per quali integrazioni L'API è tipicamente utilizzata per: - **sistemi di signage** personalizzati (oltre ai pannelli informativi Omniscol nativi; vedi [Personalizzazione dei pannelli](#page-panels.customization)), - **dashboard esterne** che consolidano Omniscol e altre fonti, - **connettori o sincronizzazioni** con un ERP o un sistema informativo operativo, - **agenti IA compatibili MCP** che consumano Omniscol tramite il server MCP; vedi [MCP — collegare un agente IA esterno](#page-integrations.mcp). Per un accesso delegato a un **servizio terzo identificato** (token con perimetro, consenso dell'utente, revocabile disattivando il client), preferisca il server OAuth2 di Omniscol: vedi [OAuth2 / OIDC (provider)](#page-integrations.oauth-server). #### Procedura — Generare un token API 1. **Un token di autenticazione** permette a un sistema esterno (dashboard, signage, agente IA via MCP) di interrogare gli endpoint API che ha selezionato. 2. **Vada in Amministrazione → Importare/Esportare**, poi apra la schermata di condivisione con Condivisione. Vi vede le chiavi esistenti, le loro etichette e le loro eventuali date di scadenza. 3. **Crei una chiave** se necessario. Inserisca un'etichetta esplicita (`Dashboard finanze`, `Signage atrio principale`, `Agente IA Claude desktop`) e una scadenza se l'integrazione è temporanea. Potrà modificare questa scadenza di chiave in seguito. 4. **Selezioni la chiave**, poi spunti gli endpoint API che il token deve poter chiamare. Mantenga la lista il più corta possibile. Scelga anche la scadenza del token se l'accesso deve essere limitato. 5. **Generi il token**, poi copi immediatamente il JWT mostrato. Non sarà più mostrato e la sua scadenza non potrà essere modificata. Lo utilizzi poi nell'intestazione HTTP `Authorization: Bearer `. 6. **Per revocare l'accesso**, elimini la chiave corrispondente. I token derivati da quella chiave diventano invalidi. #### Vedi anche - [Panoramica delle integrazioni](#page-integrations.overview) - [MCP — collegare un agente IA esterno](#page-integrations.mcp) - [Interrogazione avanzata](#page-integrations.advanced-queries) - [OAuth2 / OIDC (provider)](#page-integrations.oauth-server) - [Personalizzazione dei pannelli](#page-panels.customization) ### 9.5 OAuth2 / OIDC — collegare un servizio a Omniscol *Source: `help/it/integrations/oauth-server.md` · id: integrations.oauth-server · Audience: admin · Plan: premium · Updated: 2026-06-29* > **Premium** > _Premium_ Questa pagina si rivolge al **servizio informatico**. Descrive Omniscol nel suo ruolo di **server di autorizzazione OAuth2 / OpenID Connect**: come un servizio terzo si registra come **client**, come un utente **consente** a dargli accesso, e come il servizio riceve un **token** limitato agli **scope** concessi. #### Ciò che fa Omniscol come server OAuth2 Un servizio esterno — un agente IA, un connettore, una dashboard — diventa un **client** dichiarato nel Suo account; un utente della scuola **approva** il suo accesso tramite una schermata di consenso; il servizio riceve allora un **token di accesso** a breve durata, il cui perimetro è limitato agli **scope** concessi e ai diritti dell'utente. Questo meccanismo è distinto dal **SSO utente** descritto in [OIDC / SSO](#page-integrations.oauth2), dove Omniscol è al contrario **client** del Suo provider di identità per connettere i Suoi utenti. Qui, Omniscol è dal lato **server**: sono i servizi che si connettono a lui. Due integrazioni Omniscol consumano questo server: - **MCP** — l'autenticazione standard di un agente IA passa da questo server OAuth2 (vedi [MCP — collegare un agente IA esterno](#page-integrations.mcp)); - **OneRoster** — il produttore OneRoster si autentica tramite un token OAuth2 da macchina a macchina emesso da questo stesso server (vedi [OneRoster](#page-integrations.oneroster)). Qualsiasi altro servizio conforme a OAuth2 / OIDC può connettersi allo stesso modo. #### Discovery e endpoint del protocollo Omniscol pubblica i suoi **metadati di discovery** agli indirizzi standard `.well-known`, serviti alla radice del dominio del Suo account (per esempio `https://vostra-scuola.omniscol.com`). Un client conforme vi trova da solo tutti gli endpoint, senza configurazione manuale: - `/.well-known/oauth-authorization-server` — metadati del server di autorizzazione (RFC 8414); - `/.well-known/openid-configuration` — metadati OpenID Connect (contenuto identico al precedente); - `/.well-known/jwks.json` — chiavi pubbliche di verifica (JWKS), che permettono di verificare la firma degli `id_token`; - `/.well-known/oauth-protected-resource` — metadati di risorsa protetta (RFC 9728). Questi metadati annunciano gli endpoint del protocollo: - `/oauth/authorize` — richiesta di autorizzazione (schermata di connessione poi di consenso); - `/oauth/token` — scambio del codice contro un token, e rinnovo; - `/oauth/register` — **registrazione dinamica dei client** (RFC 7591); - `/oidc/userinfo` — informazioni sull'utente connesso (OIDC); - `/oauth/revoke` — revoca di un token (RFC 7009). Questi endpoint del protocollo sono **pubblici**: non sono riservati agli account Premium e non devono essere aperti manualmente. Solo la **schermata di gestione dei client** descritta più sotto rientra nel Premium. #### I flussi di autorizzazione Omniscol gestisce tre flussi OAuth2: - **Authorization code con PKCE** — il flusso predefinito per un servizio che agisce **per conto di un utente**. Il servizio reindirizza l'utente verso `/oauth/authorize`; dopo la connessione e il consenso, Omniscol restituisce un **codice di autorizzazione** (valido 5 minuti) che il servizio scambia su `/oauth/token`. Il metodo PKCE adottato è **S256**, e il solo `response_type` accettato è `code`. - **Rinnovo (`refresh_token`)** — per prolungare un accesso delegato senza ripassare dal consenso. - **Client credentials** — flusso da **macchina a macchina**, senza utente, usato in particolare dai consumatori **OneRoster**. Il client si autentica direttamente e riceve un token di accesso. Allo scambio, il server emette un **token di accesso** (`Bearer`, valido **1 ora**) e, per i flussi utente, un **token di rinnovo** (valido **30 giorni**). Quando lo scope `openid` è richiesto, un **`id_token`** OIDC firmato è emesso anch'esso; la sua firma si verifica tramite `/.well-known/jwks.json`. Il flusso `client_credentials` emette solo un token di accesso, senza rinnovo né `id_token`. Il token di accesso si presenta poi nell'intestazione HTTP `Authorization: Bearer `. A ogni chiamata, Omniscol verifica la sua firma, controlla che il client sia sempre **attivo**, che l'utente esista ancora e possieda il ruolo richiesto, e che gli **scope** del token coprano bene l'endpoint chiamato — in caso contrario la chiamata è rifiutata. #### Gli scope e il consenso Gli scope che gestisce su un client sono: - **`read:basic`** — lettura degli orari, delle dashboard e delle consultazioni (moduli Pagina Iniziale, Orario, Dashboard, Gestione degli orari); - **`read:user`** — lettura della lista degli utenti; - **`write:data`** — scrittura su questi stessi moduli di consultazione; - **`admin`** — accesso di amministrazione (moduli Amministrazione, Gestione delle assenze, Gestione degli orari). Il server conosce anche gli scope OIDC (`openid`, `email`, `profile`) e gli scope **OneRoster** in sola lettura (prefisso `imsglobal.org`). Questi ultimi sono **privilegiati**: un client **non può** auto-attribuirseli tramite la registrazione dinamica; devono essere provisionati da un amministratore sulla scheda del client. Lo scope effettivamente concesso è l'**intersezione** di ciò che il client richiede e di ciò che gli è registrato: un client non ottiene mai più di quanto figura sulla sua scheda. Durante il flusso utente, la **schermata di consenso** (`/oauth/consent`) mostra il **nome** e il **logo** del servizio richiedente nonché la **lista leggibile** degli scope richiesti, con i pulsanti **Accetta** e **Rifiuta**. Approvare emette il codice di autorizzazione e rimanda l'utente verso il servizio; rifiutare lo rimanda con un errore `access_denied`. #### La registrazione dinamica dei client L'endpoint `/oauth/register` implementa la **registrazione dinamica** (Dynamic Client Registration, RFC 7591): un servizio conforme può **dichiararsi da solo** come client, senza intervento manuale preliminare. È ciò che permette a un agente MCP di configurarsi a partire dal solo URL del server. La registrazione dinamica **non può** attribuirsi uno scope privilegiato (gli scope OneRoster): questi sono silenziosamente scartati, e se nessuno scope valido sussiste, `read:basic` è concesso per impostazione predefinita. Gli scope privilegiati restano riservati a un provisioning da parte di un amministratore. #### La schermata di gestione dei client OAuth2 Sugli account **Premium**, amministra i client da **Amministrazione → Importare/Esportare**, sezione **OAuth2**, con il pulsante OAuth2. L'accesso richiede prima la **password amministratore** — una conferma supplementare prima di aprire la schermata. La schermata elenca i client registrati e, per ciascuno, mostra il suo **stato** (attivo / inattivo), il suo **nome**, i suoi **scope**, i suoi **contatti** e i suoi **URI** (sito, logo, URI di reindirizzamento). Può: - **Registrare un client** — inserisca il nome, un `software_id` facoltativo, gli scope, i contatti, il sito, il logo e gli URI di reindirizzamento. Alla creazione, Omniscol mostra **una sola volta** il `client_id` e il `client_secret`. - **Modificare** un client — solo campi sicuri sono modificabili: nome, scope, contatti, sito e logo. Gli URI di reindirizzamento, il `software_id` e il segreto non si modificano qui. - **Attivare o disattivare** un client — un client disattivato vede i suoi token rifiutati dalla chiamata successiva. - **Eliminare** un client — l'eliminazione è **definitiva**. ##### Il segreto del client Il `client_secret` è mostrato **una sola volta**, alla registrazione. Omniscol conserva accanto ad esso solo un'**impronta** del segreto, mai il segreto in chiaro: **non può** essere ri-mostrato né recuperato in seguito. Lo copi immediatamente in un gestore di segreti. Il `client_id`, invece, è **deterministico**: deriva dal nome dell'account, dal nome del client e da un'impronta dei suoi metadati tecnici. Due registrazioni strettamente identiche ricadono così sullo stesso identificativo. ##### Rinnovare il segreto (rotazione) La **rotazione** del segreto esiste: emette un nuovo segreto, ne conserva solo la nuova impronta, e restituisce questo nuovo segreto **una sola volta**. Si effettua tramite l'endpoint di gestione della registrazione dinamica (`/oauth/register//rotation`) e presuppone di presentare il **token di registrazione** consegnato al client al momento della sua registrazione dinamica. Non è quindi attivata dalla schermata di gestione qui sopra, che non manipola questo token. #### OAuth2 o chiave API: quale scegliere Omniscol propone due meccanismi di accesso da macchina, con modelli di fiducia differenti: - **OAuth2** (questa pagina) — un **terzo registrato** ottiene, dopo il **consenso** di un utente, un token a durata di vita **breve** (1 h), limitato agli scope concessi, **rinnovabile** e **revocabile** (disattivando il client). Il flusso `client_credentials` copre inoltre la macchina a macchina senza utente. È la modalità adatta a un servizio terzo identificato, a MCP e a OneRoster. - **Chiave API** (vedi [API Omniscol](#page-integrations.api-tokens)) — un **token autonomo** firmato dal server, che integra una **lista di endpoint** autorizzati e che consegna Lei stesso al sistema esterno: nessun terzo registrato, nessuna schermata di consenso, nessun rinnovo. È una delega, da parte dell'amministratore, dei propri diritti a un sistema che controlla. In sintesi: la **chiave API** è adatta quando consegna Lei stesso un accesso a un sistema che controlla; **OAuth2** è adatto quando un servizio terzo identificato deve ottenere un accesso delegato, con scope e revocabile, o quando il protocollo lo impone (MCP, OneRoster). #### Procedura — Registrare un client OAuth2 1. **Apra la schermata OAuth2.** In **Amministrazione → Importare/Esportare**, sezione OAuth2, clicchi su OAuth2, poi inserisca la password amministratore. 2. **Registri il client.** Inserisca il suo nome, i suoi scope (`read:basic`, `read:user`, `write:data`, `admin`), i suoi URI di reindirizzamento e, se utile, contatti, sito e logo. Gli scope OneRoster non si attribuiscono qui tramite la registrazione dinamica; rientrano in un provisioning amministratore. 3. **Copi il `client_id` e il `client_secret`** mostrati. Il segreto appare **una sola volta**: lo conservi in un gestore di segreti. 4. **Lato servizio**, configuri il client con questi identificativi e l'URL del server; un client conforme scopre da solo gli endpoint tramite `/.well-known/`. 5. **Per interrompere un accesso**, torni sulla schermata e **disattivi** o **elimini** il client. #### Vedi anche - [MCP — collegare un agente IA esterno](#page-integrations.mcp) - [API Omniscol](#page-integrations.api-tokens) - [OneRoster](#page-integrations.oneroster) - [OIDC / SSO](#page-integrations.oauth2) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.6 Personalizzazione dell'API: override degli endpoint e hook *Source: `help/it/integrations/api-customization.md` · id: integrations.api-customization · Audience: admin · Plan: premium · Updated: 2026-06-27* > **Premium** > _Premium_ La **Personalizzazione dell'API** è una schermata tecnica destinata al **servizio informatico**. Permette di adattare il comportamento dell'API di Omniscol per il Suo conto secondo **tre leve**: - una **configurazione generale** (intestazioni HTTP comuni); - l'**override di un endpoint** — reindirizzare l'applicazione web verso un altro URL, oppure disattivare un endpoint; - gli **hook** — chiamate in uscita (webhook) che Omniscol emette verso il Suo sistema quando ha luogo un'operazione. #### Dove trovarlo Modulo **Amministrazione**, schermata **Importare/Esportare**, sezione **API tweaks**, pulsante **API**. La schermata è **riservata ai conti Premium** e protetta da un'**autenticazione rafforzata**: Omniscol richiede nuovamente la password dell'amministratore prima di aprire la finestra. Poiché ogni azione su questa schermata tocca il contratto tecnico della Sua integrazione, la sua messa in opera avviene in collaborazione con Omniscol. #### Configurazione generale Qui definisce delle **intestazioni HTTP** (formato `chiave1:valore1;chiave2:valore2`) applicate a **tutti gli hook**. È il luogo naturale per veicolare un **token di autenticazione** verso il Suo server (ad esempio un `Authorization: Bearer …` che il Suo server si attende). Per un **override**, l'autenticazione va invece nelle intestazioni proprie dell'endpoint (vedi sotto). #### Override di un endpoint Un **override** ridefinisce un endpoint dell'API di Omniscol affinché l'**applicazione web** chiami **un altro URL** al suo posto. Tre usi, dal più potente al più semplice. ##### Servire un dato in diretta dal Suo sistema informativo È l'uso più potente. Reindirizza un endpoint **in lettura** verso un **URL esterno** — tipicamente un **ETL** che si interfaccia con il **sistema informativo interno** del Suo istituto. L'applicazione web va allora a cercare il dato **in diretta** in quel sistema, invece che nella copia locale detenuta da Omniscol. Concretamente: quando l'URL di reindirizzamento è un **indirizzo esterno assoluto**, l'applicazione web lo chiama direttamente, senza ripassare per i server di Omniscol, e **consuma la risposta così com'è** — esattamente come se provenisse da Omniscol. L'unico vincolo è che il Suo sistema risponda nel **formato atteso da Omniscol** per quell'endpoint (stessa struttura JSON): non c'è alcuna transcodifica intermedia. Per quell'endpoint, la copia locale di Omniscol non è più interrogata; il dato visualizzato è quello, vivo, del Suo sistema. Esempio: il **catalogo delle materie** dell'istituto servito al volo dal Suo sistema informativo, in modo che ogni aggiornamento lato scuola sia visibile immediatamente in Omniscol, senza reimportazione. L'autenticazione verso il Suo sistema va qui nelle **intestazioni proprie dell'endpoint** (ad esempio un `Authorization: Bearer …`), inserite sulla riga dell'override. Anche il **metodo** HTTP può essere imposto per endpoint. Ricollegare un endpoint dell'applicazione stessa a una fonte esterna viva è una possibilità tanto potente quanto esigente: da maneggiare con il Suo servizio informatico, e in collaborazione con Omniscol. ##### Interporre il Suo server o un proxy Può anche far passare le chiamate attraverso **il Suo server** o un **proxy** — ad esempio per autorizzare la condivisione di risorse tra origini (CORS), oppure per interporre una logica interna tra l'applicazione web e Omniscol. ##### Disattivare un endpoint **Disattiva** un endpoint non assegnandogli **alcun URL di reindirizzamento** (metodo `null`). Valuti l'effetto sull'interfaccia. Omniscol è un'**applicazione web a pagina singola** (SPA) i cui elementi di interfaccia sono pilotati dagli **endpoint disponibili**: pulsanti, schede e menu si mostrano solo se l'endpoint da cui dipendono esiste. Disattivare un endpoint **fa quindi scomparire dinamicamente**, alla successiva visualizzazione, gli elementi di interfaccia che ne dipendono — e se disattiva tutti gli endpoint di un modulo, è il **modulo intero** a scomparire dalla navigazione. Questi elementi sono rimossi, non semplicemente nascosti, e il tutto avviene **senza alcun intervento sul codice**: basta modificare la configurazione e ricaricare l'applicazione. La tabella elenca, per endpoint: la sua **chiave** (il codice interno dell'operazione), il suo **URL di origine**, il **metodo** HTTP, il **nuovo URL** di reindirizzamento e delle **intestazioni** specifiche. Un campo di ricerca permette di ritrovare l'endpoint da sovrascrivere. #### Hook (chiamate in uscita) Un **hook** chiede a Omniscol di **inviare una richiesta HTTP al Suo URL** **dopo** che un'operazione è riuscita. È il meccanismo per **tenere un sistema esterno aggiornato in tempo reale** — un pannello informativo, uno spazio digitale di lavoro, un sistema di risorse umane, una sincronizzazione interna… Un hook si collega in due modi: - a un **endpoint preciso** (la chiave dell'operazione); - a un **evento raggruppato**, che copre in una volta una famiglia di operazioni. Esistono tre eventi raggruppati: - **modifica di orario** — un cambiamento che tocca l'**orario in vigore**, effetti collaterali compresi: salvataggio di un orario, creazione, spostamento o eliminazione di lezioni, attivazione di un orario, assenze di professore o di classe non appena una data viene toccata, e ritiri strutturali (un'aula, una materia…) su un orario **pubblicato (attivo)** — ritirare una materia elimina le lezioni che la utilizzavano, un cambiamento in sé. Le modifiche confinate a una bozza inattiva non lo attivano; - **modifica di un professore** (aggiunta, aggiornamento o eliminazione); - **modifica di una materia** (materie personalizzate). Per ogni hook, inserisce l'**URL di callback**, il **metodo** HTTP, la casella **«con dati»** (occorre allegare il corpo della richiesta originale?) e delle **intestazioni** proprie. ##### Ciò che il Suo server riceve La chiamata è inviata in `application/json` e porta, oltre alle Sue intestazioni: - il **corpo della richiesta originale** se l'opzione «con dati» è attivata; - un blocco di **metadati** Omniscol: l'URL chiamato, il codice dell'endpoint, il metodo, i parametri, il token di autenticazione dell'utente, l'identificativo dell'istituto e la configurazione dell'hook stesso; - intestazioni di tracciabilità: `X-OS-original-query`, `X-OS-original-endpoint`, `X-OS-auth` e `X-School`. Per l'evento **modifica di orario**, quando l'opzione «con dati» è attiva, la chiamata include in più un **differenziale delle lezioni** (lezioni aggiunte, modificate, eliminate) — pratico per propagare solo ciò che è cambiato. ##### Comportamento Gli hook partono **in background**, **dopo** che l'operazione dell'utente è andata a buon fine: non rallentano l'interfaccia e **non la bloccano** in caso di errore del Suo server. Una chiamata in uscita che non va a buon fine viene **registrata**, senza interrompere il lavoro in Omniscol. Ogni chiamata ha un breve tempo di scadenza (qualche secondo): il Suo server deve **confermare la ricezione rapidamente** e trattare il resto dal proprio lato. #### Da sapere - L'API di Omniscol espone un **sottoinsieme** di operazioni; un override o un hook si applica solo agli endpoint effettivamente esposti. Vedi [API Omniscol](#page-integrations.api-tokens) per l'elenco e l'autenticazione. - Per un'**integrazione con un software gestionale** (ERP, sistema HR, spazio digitale di lavoro), la sincronizzazione dedicata è spesso più adatta — vedi [Sincronizzazione con sistemi esterni](#page-integrations.extsync). Internamente, si utilizza lo stesso sistema di hook. - Affinché un **agente IA** consulti i Suoi dati senza sviluppo, vedi [MCP — collegare un agente IA esterno](#page-integrations.mcp). #### Vedi anche - [API Omniscol](#page-integrations.api-tokens) - [MCP — collegare un agente IA esterno](#page-integrations.mcp) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) ### 9.7 Modello di dati completo: entità JSON, relazioni e ontologia *Source: `help/it/integrations/data-model-full.md` · id: integrations.data-model-full · Audience: admin · Status: stable · Updated: 2026-06-18* Questa pagina descrive il **modello di dati completo** di un account Omniscol: le entità, i loro campi principali e le loro relazioni. Estende la pagina concettuale [Organizzazione dei dati](#page-core-concepts.data-model), che spiega il *perché* (repertorio della scuola ↔ orario, copie locali); qui l'obiettivo è il *cosa* — una mappa strutturale utilizzabile, in particolare per **mettere in relazione il modello con un repertorio esterno** (gestionale, directory, sistema informativo). > **Pagina tecnica.** Questo riferimento si rivolge all'integrazione e > all'appaiamento con un sistema esterno. **Non è necessario all'uso > corrente** di Omniscol: per comprendere l'organizzazione dei dati sul > piano operativo, si veda [Organizzazione dei dati](#page-core-concepts.data-model). Tutti i dati di un istituto sono organizzati sotto forma di albero. Le entità descritte di seguito (utenti, anni scolastici, orari, assenze, eventi, ecc.) corrispondono ai diversi rami di questa struttura. Il riferimento normativo è lo **schema JSON** dell'account. Può essere consultato in due forme: - la **sorgente grezza** (lo schema JSON così com'è), servita dall'account all'indirizzo `https://api.omniscol.com/api/guest/school_schema.json`; - il **visualizzatore ad albero**, leggibile su [omniscol.com/it/datamodel](https://www.omniscol.com/it/datamodel) (e il riferimento API corrispondente su [omniscol.com/it/developers](https://www.omniscol.com/it/developers)). Questo schema descrive esattamente l'archiviazione fisica nel database, sotto forma di documento JSON. Questa pagina ne fornisce una lettura organizzata e stabile nel tempo. #### Il documento scuola: la radice Il documento radice riunisce il repertorio durevole dell'istituto e tutte le sue pianificazioni. I suoi sottoalberi di primo livello: | Chiave radice | Entità | Ruolo | | --- | --- | --- | | `config` | `SchoolConfig` | Impostazioni dell'account (paese, opzioni, fuso orario, sincronizzazione esterna) | | `subjects_custom` | dizionario di `SubjectFull` | Materie personalizzate della scuola | | `families_custom` | dizionario di `Family` | Famiglie di materie personalizzate | | `users` | dizionario di `User` | Directory degli utenti (tutti i ruoli) | | `school_years` | array di `SchoolYear` | Anni scolastici e vacanze | | `timetables` | dizionario di `Timetable` | Orari | | `absences` | raggruppamento di `Absence*` | Assenze (professori, classi, personale, studenti) | | `staffing` | `Staffing` | Modulo membri del personale e sorveglianza | | `panels` | dizionario di `Panel` | Pannelli informativi | | `events` | dizionario di `Event` | Eventi di tipo agenda | | `api`, `snapshots`, `jobs`, `translations`, `logo` | vari | Impostazioni tecniche e cronologia | I sottoalberi indicati come «dizionario» sono oggetti JSON le cui **chiavi sono identificativi stabili** (il perno di qualsiasi messa in relazione esterna — si veda la sezione finale). ```mermaid erDiagram SCHOOL ||--|| CONFIG : "config" SCHOOL ||--o{ SUBJECT : "subjects_custom" SCHOOL ||--o{ FAMILY : "families_custom" SCHOOL ||--o{ USER : "users" SCHOOL ||--o{ SCHOOL_YEAR : "school_years" SCHOOL ||--o{ TIMETABLE : "timetables" SCHOOL ||--o| STAFFING : "staffing" SCHOOL ||--o{ ABSENCE : "absences" SCHOOL ||--o{ PANEL : "panels" SCHOOL ||--o{ EVENT : "events" SCHOOL { string _id "dominio dell'istituto" string name "nome dell'account" string country "paese dell'account" string current_school_year "anno scolastico corrente" } ``` #### Campi trasversali: `_extids` e `wishes` Due campi ricorrono su molte entità. Per non ripeterli in ogni schema, sono descritti qui una sola volta. - **`_extids`** (`ExternalIds`) — tabella degli identificativi dell'entità nei sistemi esterni, ad esempio `{ "auriga": "12345" }`. Presente sulle entità sincronizzabili (materie, famiglie, utenti, siti, aule, risorse, professori, classi, gruppi…). È il **punto di ancoraggio di un appaiamento con un repertorio esterno** (si veda la sezione finale). - **`wishes`** — **vincoli orari**: disponibilità, fasce orarie preferite o da evitare, volume orario massimo, aula preferita… Presente sulla maggior parte delle entità pianificabili: utenti, professori e materie di un orario, gruppi, classi, aule, fasce orarie di sito, griglie di sorveglianza. A seconda del perimetro, questi vincoli sono globali (livello scuola) o propri di un orario. #### Livello 1 — Il repertorio della scuola Il repertorio della scuola contiene ciò che è vero per l'istituto, indipendentemente da un orario: il catalogo delle materie, la directory degli utenti, il calendario degli anni scolastici. ```mermaid erDiagram FAMILY ||--o{ SUBJECT : "family" SUBJECT ||--o{ SUBJECT : "parent" USER ||--o{ PLACEMENT : "collocamenti per anno" PLACEMENT ||--o{ PLACEMENT_GROUP : "groups" SCHOOL_YEAR ||--o{ HOLIDAY : "holidays" SUBJECT { string name string short "etichetta breve (visualizzazione)" string code string parent "materia genitore" string family "famiglia" string color object _extids "identificativi esterni" } FAMILY { string name string code } USER { string login string first_name string middle_name "(se pertinente per il paese)" string last_name string idnumber "identificativo ufficiale" array roles "admin teacher staff student" string customrole "Ruolo personalizzato" int servicehours "servizio orario di riferimento" bool external "collaboratore esterno" object subjects "materie insegnate" object wishes "disponibilità globale" object _extids } PLACEMENT { string class "classe assegnata" string date_start string date_end array groups "gruppi assegnati" } PLACEMENT_GROUP { string group "gruppo groupset o virtuale" array weeks "intervalli di settimane" } SCHOOL_YEAR { string name string date_start string date_end array altweeks "settimane alternate" } HOLIDAY { string name string begin string end } ``` ##### Materie — `SubjectFull` / `Subject` / `Family` Una materia personalizzata (`SubjectFull`) estende la materia di base (`Subject`: `name`, `short`, `code`, `type`, `_extids`) con `parent`, `family` e `color`. Due origini coesistono a livello scuola: le **materie comuni** al paese (sola lettura) e le **materie personalizzate** dell'istituto. Dettagli funzionali: [Gestire le materie](#page-admin.subjects). ##### Utenti — `User` (professori compresi) Un `User` è l'**entità unica** della directory: identità (cognome, nome, `idnumber`, contatto), autenticazione (`login`), `roles`, servizio orario di riferimento (`servicehours`), disponibilità globale (campo `wishes`) e `placements`. Un **professore** non è un'entità distinta: è un `User` che ha `teacher` tra i suoi `roles` (uno stesso utente può cumulare più ruoli). Il campo `placements` (indicizzato per anno scolastico) collega uno **studente** a una `class` e a dei `groups` su un periodo. Dettagli: [Gestire i professori](#page-admin.teachers). ##### Anni scolastici — `SchoolYear` / `Holiday` Un `SchoolYear` definisce `date_start → date_end`, l'elenco delle `holidays` e le `altweeks` (settimane alternate). È un **quadro temporale**, non un contenitore: gli orari vi si dispiegano senza esservi annidati. Si veda [Anno scolastico](#page-core-concepts.school-year). #### Livello 2 — L'orario Un `Timetable` è un'unità di pianificazione coerente. Porta la propria copia locale di professori, classi, gruppi e materie — si veda il principio della copia locale in [Organizzazione dei dati](#page-core-concepts.data-model). ```mermaid erDiagram TIMETABLE ||--|| TIMETABLE_CONFIG : "config" TIMETABLE ||--o{ TIMETABLE_SITE : "sites" TIMETABLE ||--o{ TIMETABLE_TEACHER : "teachers" TIMETABLE ||--o{ TIMETABLE_CLASS : "classes" TIMETABLE ||--o{ LESSON : "lessons (gruppi di gruppi, multi-gruppo)" TIMETABLE_SITE ||--o{ TIMETABLE_CLASSROOM : "classrooms" TIMETABLE_SITE ||--o{ TIMETABLE_RESOURCE : "resources" TIMETABLE_CLASS ||--o{ TIMETABLE_CLASS_SUBJECT : "subjects" TIMETABLE_CLASS ||--o{ TIMETABLE_CLASS_GROUP : "groups" TIMETABLE_CLASS ||--o{ LESSON : "courses" TIMETABLE_CLASS_GROUP ||--o{ TIMETABLE_CLASS_GROUP : "parent (gerarchia)" TIMETABLE_CLASS_SUBJECT }o--|| SUBJECT : "origine (copia locale parziale)" TIMETABLE_CLASS_SUBJECT }o--o{ TIMETABLE_TEACHER : "professori predefiniti" TIMETABLE_TEACHER }o--o| USER : "copia locale parziale e collegamento implicito tramite identificativo" GROUPSET_ITEM }o--o{ TIMETABLE_CLASS_GROUP : "gruppi costitutivi" TIMETABLE { bool active "pubblicato?" array lessons "lezioni trasversali" } TIMETABLE_CONFIG { string type "week cycle calendar" int time_period "durata della fascia" int time_unit "suddivisione della fascia" array weekdays "giorni lavorativi" string displaymode "hours periods agenda" int cycle "lunghezza del ciclo" array dates "estremi se calendar" object date_windows "finestre di generazione" } TIMETABLE_SITE { string name object distances "distanze tra siti" object hours "griglie orarie" } TIMETABLE_CLASSROOM { string name int capacity string specialisation "specializzazione libera" int maxclasses "classi simultanee" string building string description "descrizione libera" array tags "etichette di caratteristiche o attrezzature" } TIMETABLE_RESOURCE { string name int number "quantità disponibile" } TIMETABLE_TEACHER { string first_name string last_name string virtual_name "posto da coprire" array subjects "materie del posto virtuale" string idnumber int servicehours "sovrascrivibile per orario" string classroom "aula preferita" } TIMETABLE_CLASS { string name string level string campus array sites "un solo sito preso in considerazione" int studentsnb "numero di studenti teorici (per il calcolo dell'aula adeguata)" string classroom "aula predefinita" bool offgrid "fuori griglia (calendar)" string videolink "link di videoconferenza predefinito su tutte le lezioni" string resourcelink "link di risorsa (LMS) predefinito su tutte le lezioni" } TIMETABLE_CLASS_SUBJECT { string code "ereditato da Subject" array incompatibilities "incompatibilità" number pweight "peso pedagogico" array teachers "professori predefiniti" number minutes "volume orario previsto" string specialisation "aula richiesta" } TIMETABLE_CLASS_GROUP { string name string code bool free "gruppo libero" string parent "gruppo genitore" int studentsnb "numero di studenti teorici (per il calcolo dell'aula adeguata)" } GROUPSET_ITEM { string name string code array groups "identificativi di gruppi" } ``` ##### Configurazione — `TimetableConfig` Il campo determinante è `type`: `week` (settimanale ripetuto), `cycle` (ciclo multi-giorno, si veda `cycle`) o `calendar` (date reali, si veda `dates`). `time_period` e `time_unit` definiscono la trama della griglia; `weekdays` i giorni lavorativi; `date_windows` le finestre di vincolo per la generazione automatica. ##### Siti, aule, risorse Un `TimetableSite` (sito) contiene le sue `classrooms` (`TimetableClassroom`: `capacity`, `specialisation`, `maxclasses`, `building`) e le sue `resources` (`TimetableResource`: `number` = quantità disponibile, di cui il sistema garantisce la non sovraprenotazione). `distances` modella i tempi di percorrenza tra siti. Si veda [Siti, aule e risorse](#page-core-concepts.sites-rooms-resources) e [Specializzazioni delle aule](#page-core-concepts.classroom-specializations). ##### Professori dell'orario — `TimetableTeacher` Copia parziale arricchita di un `User`: solo alcuni campi identificativi vengono ricopiati (`first_name`, `last_name`, `idnumber`), ai quali si aggiungono campi propri della pianificazione (`servicehours` sovrascrivibile, `classroom` preferita, `wishes` per orario). Un `virtual_name` non vuoto designa un **professore virtuale** (posto da coprire, senza un `User` reale dietro). ##### Classi, materie di classe, gruppi - **`TimetableClass`**: `name`, `level`, `campus`/`sites`, `studentsnb`, e tre sottoalberi chiave — `subjects`, `groups`, `courses`. - **`TimetableClassSubject`**: copia locale di una materia (estende `Subject`) arricchita per la pianificazione — `minutes` (volume previsto), `pweight` (peso pedagogico), `incompatibilities`, `teachers` predefiniti, `specialisation` di aula. Assegnare una materia **con un tipo di lezione** crea una voce distinta per tipo. Si veda [Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types). - **`TimetableClassGroup`**: un sottoinsieme di una classe. `free=true` disattiva i conflitti con il resto della classe ([gruppo libero](#page-core-concepts.free-groups)); `parent` stabilisce la [gerarchia di gruppi](#page-core-concepts.group-hierarchy). ##### Regole tra gruppi — partizioni, allineamenti, gruppi di gruppi Le relazioni tra gruppi sono portate dal sottoalbero `groups` dell'orario, in tre forme: | Schema | Entità | Significato | Pagina | | --- | --- | --- | --- | | `TimetableGroupTimeset` | partizione | Gruppi di una **stessa classe** mutuamente esclusivi, collocati in parallelo (mezze classi, opzioni) | [Partizioni di classe](#page-core-concepts.class-divisions) | | `TimetableGroupSpaceset` | allineamento | Gruppi di **classi differenti** che lavorano insieme su fasce orarie speculari | [Allineamenti](#page-core-concepts.alignments) | | `TimetableGroupGroupset` | gruppo di gruppi | Meta-gruppo (`GroupsetItem`: `name`, `code`, `groups[]`) che riunisce più gruppi | [Gruppi di gruppi](#page-core-concepts.groups-of-groups) | Si veda anche la panoramica [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups). #### Livello 3 — Le lezioni Una **lezione** (`Lesson`) è l'unità di insegnamento effettivamente collocata nell'orario: durata, materia, gruppo, professore/i, aula, risorse, posizione e stato. È generata a partire da una materia di classe (si veda il livello 2) e collegata **a una classe** (`class.courses`) **oppure direttamente all'orario** (`timetable.lessons`) — quest'ultimo caso per i gruppi di gruppi e le lezioni multi-gruppo, trasversali a più classi. ```mermaid erDiagram TIMETABLE_CLASS ||--o{ LESSON : "courses (lezioni di una classe)" TIMETABLE ||--o{ LESSON : "lessons (gruppi di gruppi, multi-gruppo)" LESSON ||--o{ LESSON : "assoc · concat · weekalt (lezioni complesse)" LESSON }o--o| TIMETABLE_CLASS_GROUP : "group" LESSON }o--o{ TIMETABLE_TEACHER : "teachers" LESSON }o--o| TIMETABLE_CLASSROOM : "classroom" LESSON }o--o{ TIMETABLE_RESOURCE : "resources" LESSON ||--o{ MEMO : "memos" LESSON ||--|| POSITION : "position" LESSON { int duration "in numero di periodi" int duration_actual "minuti reali" int duration_accounted "minuti fatturati" string modality "in_person remote hybrid self_study" string subject "identificativo di materia" string group "identificativo di gruppo" array teachers "null forza nessun professore" string classroom "null forza nessuna aula" string status "planned draft canceled done" string _id "identità stabile della lezione" string _osrev "revisione (blocco ottimistico)" } MEMO { string comment string pub "visibilità del commento" string owner int tstp "marca temporale" } POSITION { string day "data, giorno della settimana o n° di giorno di ciclo" int period "indice della fascia nella griglia" string start "ora di inizio esatta HH:MM (solo fuori griglia)" string end "ora di fine esatta HH:MM (solo fuori griglia)" bool fixed "lezione fissata (bloccata alla generazione)" } ``` ##### Il nucleo di una lezione Una lezione porta i campi di pianificazione — `duration` (in periodi), `duration_actual` / `duration_accounted` (minuti reali / fatturati), `modality`, `subject`, `group`, `teachers`, `classroom`, `resources` — ai quali si aggiungono la sua `position`, il suo `status`, i suoi `memos` e un'identità (`_id`, `_osrev`). Impostare `teachers` o `classroom` a `null` **forza esplicitamente** l'assenza di professore o di aula. ##### Lezioni complesse Una lezione può **raggrupparne altre**: - `assoc` — lezioni **associate**: i gruppi si scambiano insieme. - `concat` — lezioni **concatenate**: rigorosamente consecutive. - `weekalt` — **settimane alternate**: una variante di lezione per settimana. Questi meccanismi coprono le **lezioni complesse** — si veda [Lezioni complesse: alternate, associate, concatenate](#page-core-concepts.complex-lessons). ##### Posizione di una lezione La `position` è un **oggetto** che colloca la lezione nel tempo. Riunisce i campi seguenti: - **`position.day`** — il giorno della lezione, **polimorfo a seconda della modalità dell'orario**: un nome di giorno (`monday`…`sunday`) in modalità settimanale, un **numero di giorno di ciclo** (`"1"`, `"2"`…) in modalità ciclica, o una **data** `YYYY-MM-DD` in modalità calendario. È un unico e medesimo campo che cambia forma a seconda della modalità; è sempre presente. - **`position.period`** — l'**indice della fascia** nella griglia oraria. Una lezione senza `period` né `start`/`end` corrisponde a un giorno festivo. - **`position.start`** / **`position.end`** — ore esatte di inizio e di fine (`HH:MM`), per le lezioni **fuori griglia** o in modalità calendario che non si allineano a una fascia standard. - **`position.fixed`** — booleano (falso per impostazione predefinita): una lezione **fissata**, che la **generazione automatica non sposterà**. Le lezioni di una classe risiedono in `class.courses`; l'array `timetable.lessons` porta le lezioni **trasversali** legate ai gruppi di gruppi. ##### Identità di una lezione Ogni lezione porta due campi tecnici di identità, **presenti sugli account Premium**: - **`_id`** — identificativo **stabile**, assegnato alla creazione della lezione e immutabile in seguito (combina una marca temporale e un'impronta del contenuto). È la **chiave di una lezione** per l'editing collaborativo e per uno strumento esterno che segue le lezioni nel tempo. Per le **occorrenze ricorrenti** di un orario calendario (settimane alternate, concatenazioni, associazioni), l'`_id` di ogni occorrenza è **derivato** da quello della lezione di base, che rimane riconoscibile. - **`_osrev`** — token di **revisione** (blocco ottimistico), incrementato a ogni modifica (marca temporale + indice di modifica), in modo rigorosamente ordinato in ordine alfabetico (il che permette di sapere facilmente se una revisione è più recente di un'altra). Permette all'editing collaborativo di **rilevare e fondere le modifiche concorrenti**: una revisione client scaduta segnala un conflitto, che il server dirime o fonde invece di sovrascrivere silenziosamente. #### Assenze Le assenze condividono una base comune (`Absence`: `date_start`, `date_end`, `reason`, `hours`, `comment`, stato) declinata per soggetto. ```mermaid erDiagram ABSENCE ||--o{ ABSENCE_TEACHER : "teachers" ABSENCE ||--o{ ABSENCE_CLASS : "classes" ABSENCE ||--o{ ABSENCE_STAFF : "staff" ABSENCE ||--o{ ABSENCE_STUDENT : "students" ABSENCE_TEACHER ||--o{ SUBSTITUTE : "substitutes" ABSENCE_TEACHER { string date_start string date_end string reason "chiave di traduzione o etichetta" array subjects "materie interessate" array classes "classi interessate" string status } SUBSTITUTE { string substitute "nome del sostituto" string date_start "inizio della regola (data)" string date_end "fine della regola (data)" array hours "fasce orarie interessate (begin/end in minuti, day)" array classes "classi interessate" array subjects "materie interessate" string comment "commento" } ABSENCE_STUDENT { string date_start string reason array subjects "materie escluse" string status } ``` Un'`AbsenceTeacher` può essere ristretta a determinate `subjects`/`classes` e porta un **array di regole di sostituzione** (`substitutes`, ciascuna un `AbsenceTeacherSubstitute`: sostituto, periodo, fasce orarie, classi e materie coperte). Gli stati differiscono per soggetto (ad esempio `ok`/`aborted` per una classe). Si veda la voce di glossario [Sostituzione / Supplenza](#page-glossary.substitution) e il modulo **Gestione delle assenze**. #### Membri del personale Modulo distinto (venduto anche in autonomo) per la sorveglianza e i servizi di vigilanza. ```mermaid erDiagram STAFFING ||--o{ STAFFING_GRID : "grids" STAFFING ||--o{ STAFFING_ASSIGNMENT : "assignments" STAFFING ||--o{ STAFFING_STAFF_MEMBER : "staff" STAFFING ||--|| STAFFING_SCHEDULE : "schedule" STAFFING_ASSIGNMENT ||--o{ STAFFING_NEED_SPAN : "needs" STAFFING_GRID { array dates "intervalli di attività" array days array periods "fasce orarie" } STAFFING_ASSIGNMENT { string name int req "minimo di sorveglianti" int ideal "organico auspicato" string site string priority "high normal low" array allowed_staff } STAFFING_NEED_SPAN { string day "giorno o data" string begin "HH:MM" string end "HH:MM" int headcount "organico richiesto" } STAFFING_STAFF_MEMBER { string first_name string last_name string virtual_name "posto da coprire" string color } STAFFING_SCHEDULE { object dates "turni per data" } ``` Una `StaffingGrid` è il modello (giorni, periodi); gli `assignments` descrivono i posti (`req`/`ideal`, `priority`, `needs` dettagliati per fascia oraria tramite `StaffingNeedSpan`); lo `schedule` concretizza i turni effettivi per data. Si veda il modulo Servizio del personale. #### Eventi Un **`Event`** è una voce di **agenda posta sopra la griglia**: qualcosa che accade nell'istituto **senza essere una lezione regolare** — un consiglio di classe, un colloquio genitori-professori, un esame su una giornata, un'uscita, una giornata di porte aperte. Gli eventi sono raccolti nel dizionario `events` (chiavi `event-`) e fanno parte delle funzionalità Premium. Campi di un `Event` (obbligatori: `title`, `start`, `end`): - **`title`** — titolo visualizzato. - **`start`** / **`end`** — inizio e fine, nel formato `YYYYMMDDTHHmmSS`. - **`rrule`** — regola di **ricorrenza** eventuale. - **`attendees`** — partecipanti: un utente, una classe, un gruppo, un' etichetta libera (`custom`), oppure l'intero istituto (`everybody`) / qualunque persona volontaria (`anyone`). - **`location`** — luogo/luoghi: un'aula dell'orario o un'etichetta libera. - **`resources`** — risorse riservate per l'evento. - **`videolink`** — link di videoconferenza per assistervi a distanza. - **`memos`** — commenti; **`color`** — colore (esadecimale). Il funzionamento sul piano dell'uso (creazione, posa sulla griglia, campi dell'interfaccia) è descritto in [Eventi puntuali](#page-schedules.events). #### Pannelli informativi Un **`Panel`** è un **pannello informativo** delle lezioni del giorno (atrio, aula, schermo di accoglienza…). Definisce la selezione delle `columns`, la `topline`, i `filters`/`exclusions` e delle impostazioni di aspetto. Si veda la voce di glossario [Pannello informativo](#page-glossary.panel). #### Identificativi, copie locali e messa in relazione con un ERP Per collegare il modello Omniscol a un repertorio esterno, tre principi prevalgono: 1. **Le chiavi di dizionario sono gli identificativi stabili.** Le materie, gli utenti, i professori, le classi, i gruppi, le aule, le risorse sono indicizzati da un identificativo immutabile (la chiave JSON), e non dalla loro etichetta. È questo perno — mai il `name` — che occorre utilizzare per qualsiasi corrispondenza. 2. **Il campo `_extids` (`ExternalIds`) porta gli identificativi esterni.** Presente sulle entità sincronizzabili (`Subject`, `Family`, `TimetableSite`, `TimetableClassroom`, `TimetableResource`, `TimetableTeacher`, `TimetableClass`, `TimetableClassGroup`, `User`…), associa a ogni entità i suoi identificativi nei sistemi terzi, ad esempio `{ "auriga": "12345", "aimaira": "67890" }`. È il punto di ancoraggio canonico di un appaiamento bidirezionale. 3. **La copia locale scuola ↔ orario è volontaria.** Una materia di classe o un professore di orario è una copia arricchita, non un riferimento vivo. Un repertorio esterno deve quindi decidere a quale livello si appaia: il **repertorio della scuola** (catalogo durevole) o un **orario** preciso (pianificazione datata). Il dettaglio delle regole di propagazione figura in [Organizzazione dei dati](#page-core-concepts.data-model). La configurazione di sincronizzazione risiede in `config.extsync` (`SchoolConfigExtsync`): `systems` (connettori configurati), `sync` (direzione ed entità), `export` e `schedules`, oltre a tabelle di corrispondenza (`mappings`) per chiave e identificativo Omniscol. Sul piano dell'accesso programmatico, l'API REST e i token sono descritti in [Token API](#page-integrations.api-tokens); i connettori di sincronizzazione in [Sincronizzazione esterna](#page-integrations.extsync). > La forma esatta ed esaustiva di ogni campo resta definita dallo schema > JSON di riferimento dell'account > (`https://api.omniscol.com/api/guest/school_schema.json`, > visualizzatore leggibile su > [omniscol.com/it/datamodel](https://www.omniscol.com/it/datamodel)). In caso > di divergenza tra questa pagina e lo schema, **fa fede lo schema**. #### Vedi anche - [Organizzazione dei dati](#page-core-concepts.data-model) - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Partizioni di classe](#page-core-concepts.class-divisions) · [Allineamenti](#page-core-concepts.alignments) · [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types) · [Lezioni complesse](#page-core-concepts.complex-lessons) - [Siti, aule e risorse](#page-core-concepts.sites-rooms-resources) - [Anno scolastico](#page-core-concepts.school-year) - [Token API](#page-integrations.api-tokens) · [Sincronizzazione esterna](#page-integrations.extsync) ### 9.8 Interrogazione avanzata — filtrare, proiettare e paginare l'API *Source: `help/it/integrations/advanced-queries.md` · id: integrations.advanced-queries · Audience: admin · Plan: premium · Updated: 2026-07-11* > **Premium** > _Premium_ Oltre a chiamare un endpoint alla volta, l'API Omniscol propone **tre superfici di ricerca**. Insieme coprono la ricerca full-text, la risoluzione di un nome umano verso un identificativo tecnico, e l'esecuzione di una query **filtrata, proiettata e paginata** sopra qualsiasi endpoint in lettura — senza dover concatenare Lei stesso più chiamate. Questi stessi mattoni rispondono alle domande che un **intranet**, uno strumento di prenotazione o un **ETL** pongono più spesso — a cominciare da *«quale aula o quale professore è libero su questo slot?»* (vedi [Trovare un'aula o un professore disponibile](#trovare-unaula-o-un-professore-disponibile)). #### Le tre superfici in un colpo d'occhio | Endpoint | Cosa fa | Ideale per | | --- | --- | --- | | `POST /api/search` | Ricerca full-text globale su tutto il conto. Suddivide il Suo testo in parole (insensibile a maiuscole e accenti) e restituisce i **percorsi** JSON dove ogni parola è stata trovata. | Un rapido «dove compare questo termine?». | | `POST /api/search/entity` | Risolve un nome verso un'entità. Gestisce accenti, jolly e corrispondenza approssimativa (similarità di Dice), e restituisce il tipo, l'identificativo e il contesto dell'entità. | Trasformare `« 6A »` nella classe, o `« Martine Dupont »` nel professore. | | `POST /api/search/query` | **Orchestratore di query**: chiama un endpoint in lettura, poi applica un filtro `where`, una proiezione di campi, un ordinamento e una paginazione sul risultato. | Le domande complesse e filtrate che richiederebbero altrimenti più chiamate. | Tutte e tre figurano nel riferimento API interattivo (la pagina **/developers**), sotto la sezione **Search**, ed esigono un'autenticazione — vedi [API Omniscol](#page-integrations.api-tokens). #### Il filtro `where` (in stile Mango / MongoDB) `/api/search/entity` e `/api/search/query` accettano entrambi una clausola `where`: un filtro strutturato a **operatori in stile MongoDB**. Un campo corrisponde o a un valore diretto (uguaglianza implicita), o a un oggetto di operatori; più operatori sullo stesso campo si combinano con un **AND** implicito. I nomi dei campi accettano la **notazione puntata** per raggiungere un contesto padre (ad esempio `sites.name`). | Operatore | Significato | | --- | --- | | `$eq` / `$ne` | Uguale / diverso | | `$gt` `$gte` `$lt` `$lte` | Confronti | | `$in` / `$nin` | Valore in / fuori da una lista | | `$exists` | Il campo è presente | | `$regex` | Espressione regolare (insensibile alle maiuscole) | | `$contains` | Una stringa o un array contiene un valore (insensibile alle maiuscole) | | `$like` | Corrispondenza approssimativa, ignorando accenti e punteggiatura (Dice) | | `$and` `$or` `$not` | Composizione logica | Qualche esempio: ```json { "capacity": { "$gte": 20, "$lte": 50 } } { "level": { "$in": ["L1", "L2", "L3"] } } { "name": { "$regex": "^lab" } } { "city": { "$like": "ivry sur seine" } } { "$or": [ { "capacity": { "$gte": 50 } }, { "specialisation": "chemistry" } ] } ``` #### Proiezione, ordinamento e paginazione Su `/api/search/query`, quattro leve in più mantengono la risposta compatta e ordinata — ciò che conta per una dashboard, e ancor più per un agente IA fatturato a token: - **`project`** — la lista dei campi da conservare (notazione puntata ammessa). Tutto il resto viene scartato. - **`sort`** — un campo, `asc` o `desc`. Lo pseudo-campo `_count.` ordina secondo la lunghezza di un campo array. - **`limit`** e **`offset`** — paginano i risultati. La risposta restituisce anche un blocco `meta`: quanti elementi esistevano prima del filtraggio, quanti hanno superato il filtro, e quanti sono stati restituiti. #### Un esempio completo Trovare le aule di almeno 30 posti, conservare solo il loro nome e la loro capacità, dalla più grande alla più piccola, e prendere le prime 20: ```bash curl -X POST "https://vostra-scuola.omniscol.com/api/search/query" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "call": "os_dashboard_classrooms_get", "where": { "capacity": { "$gte": 30 } }, "project": ["name", "capacity"], "sort": { "capacity": "desc" }, "limit": 20 }' ``` `call` è il nome interno dell'endpoint in lettura da eseguire (così come mostrato sulla pagina **/developers**), `params` porta i parametri propri di quell'endpoint, e `extract_path` designa all'occorrenza il array da filtrare all'interno del risultato — omesso qui, viene rilevato automaticamente. #### Trovare un'aula o un professore disponibile L'integrazione più comune — alimentare un intranet, uno strumento di prenotazione o un **ETL** — è *«chi o cosa è libero in tale momento?»*. Gli endpoint **availability** vi rispondono direttamente: restituiscono, per entità, solo gli slot **liberi** sulle date richieste, tenendo già conto delle lezioni, delle assenze e delle disponibilità obbligatorie. La disponibilità si chiede in due modi: - **Scopata** — `GET /api/schedules/availability/{datesrange}/{entity}` (all'occorrenza `/{entityId}`) per un tipo di entità — `teachers`, `classrooms`, `groups`, `resources`… - **Filtro esplicito** — `GET /api/schedules/availability/{datesrange}` con un `filter`, dove si restringe l'insieme con lo stesso `$where` visto sopra. `{datesrange}` si scrive in `YYYYMMDD`, e **segmenti separati da virgole chiedono date sparse** — perfetto per «due lunedì precisi»: `20261005,20261012`. Ogni slot restituito porta `day`, `start`, `end` e `time` (in minuti): «almeno 3 ore» diventa quindi un test `time >= 180` dal Suo lato. ##### Un professore libero su uno slot preciso *«Quali professori sono liberi lunedì 5 ottobre?»* — una sola chiamata scopata: ```bash curl -G "https://vostra-scuola.omniscol.com/api/schedules/availability/20261005/teachers" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ --data-urlencode "with_entities=true" ``` Gli slot liberi tornano raggruppati per natura, poi per professore — ad esempio `{ "availability": { "teachers": { "t.dupont": [ { "day": "2026-10-05", "start": "14:00", "end": "17:00", "time": 180 } ] } } }` — e il Suo strumento trattiene quello che copre lo slot voluto. ##### Aule di una certa dimensione, libere su due lunedì Combini un filtro di entità e la disponibilità in una sola chiamata, con un **sottoinsieme utile** della sintassi — solo `$where` sulla capacità: ```bash curl -G "https://vostra-scuola.omniscol.com/api/schedules/availability/20261005,20261012" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ --data-urlencode 'filter={"classrooms":[{"$where":{"capacity":{"$gte":30}}}]}' \ --data-urlencode "with_entities=true" ``` Omniscol restituisce gli slot liberi, su entrambi i lunedì, di ogni aula di almeno 30 posti. Il Suo ETL trattiene poi le aule che hanno una finestra di **3 ore** (`time >= 180`) su **ciascuna** delle date — la composizione su più giorni resta dal Suo lato, il che mantiene la regola esplicita e verificabile. Il `filter` accetta, per tipo di entità, una semplice lista di identificativi (`{"classrooms":["A101","B204"]}`), un jolly (`{"teachers":"*"}`), una corrispondenza di campo semplice (`{"teachers":[{"email":"…"}]}`) o il `$where` strutturato mostrato qui. #### Scegliere la superficie giusta - **«Dove compare questa parola?»** → `POST /api/search`. - **«A quale entità corrisponde questo nome?»** → `POST /api/search/entity`. - **«Dammi le aule di più di 30 posti, ordinate, prima pagina»** → `POST /api/search/query`. - **«Chi o cosa è libero su questo slot?»** → `GET /api/schedules/availability/…`. #### Per un agente IA Queste superfici esistono in gran parte **per gli agenti IA**. La ricerca full-text e la risoluzione di entità trasformano la formulazione di un utente (`« professore Jean Dupont »`, `« classe 6A »`) in identificativi precisi; l'orchestratore di query risponde poi a una domanda filtrata in una sola chiamata e restituisce solo i campi richiesti — invece di più chiamate e di una risposta sovradimensionata. Quando collega un agente tramite [MCP — collegare un agente IA esterno](#page-integrations.mcp), questi strumenti fanno parte di ciò che può utilizzare. #### Collegarlo a un intranet, un ETL o uno strumento partner Queste stesse superfici in lettura sono ciò che uno strumento terzo consuma quotidianamente. Forme comuni: - **Un tiraggio verso un intranet o una dashboard** — la Sua pagina chiama gli endpoint in lettura (disponibilità, l' [endpoint delle lezioni](#page-integrations.lessons-api), le dashboard) con un **token API** ristretto, e mostra il risultato. Nulla da installare lato Omniscol. - **Un ETL notturno** — un'attività pianificata recupera ciò di cui ha bisogno (le lezioni su una finestra di date, le ore di un professore, l'occupazione delle aule) e le carica nel Suo sistema informativo. `search/query` mantiene ogni tiraggio filtrato, proiettato e paginato, per una risposta compatta. - **Una spinta dal Suo sistema** — il senso inverso, per mantenere Omniscol allineato alla Sua fonte di verità: un'attività notturna può aggiornare classi e professori (`POST /api/external/classes`, `POST /api/external/teachers`) o caricare un catalogo di materie personalizzate (`POST /api/admin/subjects/custom`) dalla Sua base. - **Un software gestionale SIS / ERP** — per Aurion, Auriga e simili, il connettore dedicato è lo strumento adatto — vedi [Sincronizzazione con sistemi esterni](#page-integrations.extsync). - **Guidato dagli eventi** — per essere notificato di un cambiamento invece che interrogare in continuazione, registri un **hook** — vedi [Personalizzazione dell'API](#page-integrations.api-customization). Mantenga ogni integrazione **ristretta**: un token limitato agli endpoint realmente utili, rinnovato regolarmente, e in sola lettura ovunque non faccia che leggere. Vedi [API Omniscol](#page-integrations.api-tokens). #### Vedi anche - [API delle lezioni](#page-integrations.lessons-api) - [API Omniscol](#page-integrations.api-tokens) - [MCP — collegare un agente IA esterno](#page-integrations.mcp) - [Modello di dati completo](#page-integrations.data-model-full) - [Assistente IA integrato](#page-integrations.ai-assistant) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.9 L'API delle lezioni — recuperare le lezioni per qualsiasi data *Source: `help/it/integrations/lessons-api.md` · id: integrations.lessons-api · Audience: admin · Plan: premium · Updated: 2026-07-11* > **Premium** > _Premium_ Quando qualcosa fuori da Omniscol ha bisogno di sapere *cosa succede, e quando*, è questo l'endpoint da chiamare: ``` GET /api/schedules/lessons/{datesrange} ``` Restituisce le **lezioni datate** dei Suoi orari — ogni lezione posata sulla sua data reale — per le date e le entità richieste. Quasi ogni integrazione (un intranet, un ETL, uno strumento partner) parte da qui. Questa pagina percorre le leve che ne fanno un solo endpoint per numerosi usi. #### Lezioni vs strutture Due endpoint, due ruoli: - **`GET /api/schedules/lessons/{datesrange}`** — le **lezioni**: ogni lezione posata su una data reale, con la sua materia, i suoi professori, la sua aula, il suo gruppo e la sua durata. È ciò che si legge per sapere chi è dove e quando. - **`GET /api/schedules/`** — le **strutture**: gli orari pubblicati stessi (classi, materie, sedi, la griglia). Da leggere quando si ha bisogno del modello sottostante piuttosto che delle lezioni datate. Si possono anche ripiegare le strutture nella chiamata delle lezioni con `with_timetables=true` (vedi più sotto): una sola richiesta restituisce allora entrambe. #### Scegliere le date `{datesrange}` si scrive in `YYYYMMDD` e si vuole volutamente flessibile: | Forma | Significato | | --- | --- | | `20261005` | Un giorno preciso | | `20261005-20261011` | Un intervallo chiuso (una settimana) | | `20260901-` / `-20260630` | Aperto da un lato | | `20261005,20261012,20261019` | Date **sparse** — tre lunedì precisi | | `20261005-20261011,20261102-20261108` | Più intervalli in una volta | | `` o `-` | Tutte le date | La forma sparsa (separata da virgole) è ciò che rende una domanda come «questi tre lunedì» una sola chiamata. #### Mirare a ciò di cui ha bisogno Un `filter` restringe la richiesta alle entità che contano — la stessa grammatica di filtro degli endpoint di disponibilità ([Interrogazione avanzata](#page-integrations.advanced-queries)): - una semplice lista di identificativi — `{"classes":["3a","3b"]}`, - un jolly — `{"teachers":"*"}`, - una corrispondenza di campo semplice — `{"classrooms":[{"site":"nord"}]}`, - o un `$where` strutturato — `{"classrooms":[{"$where":{"capacity":{"$gte":30}}}]}`. Il risultato è raggruppato **per tipo di filtro, poi per identificativo di entità** — ad esempio `schedules.classes.3a.courses[]`, `schedules.teachers.j-doe.courses[]`. Altri due regolaggi inquadrano l'estrazione, e un ultimo la limita: - **`timetables_restrict`** / **`timetables_exclude`** — limitare o escludere degli identificativi di orario (stringa, CSV o array). - **`limit`** — limitare il numero di lezioni restituite per filtro. #### A cosa somiglia una lezione Ogni voce di `courses[]` è una lezione posata: ```json { "position": { "day": "2026-10-05", "period": 0, "start": "8:15", "end": "9:10" }, "duration": 2, "subject": "maths", "teachers": ["j-doe"], "classroom": "nord:B12", "class": "3a", "schedid": "3" } ``` - **`position.day`** è la data della lezione. - **`position.period`** è l'indice della lezione sulla griglia dell'orario — presente per le lezioni posate sulla griglia. Una lezione fuori griglia (con i suoi propri `start`/`end` espliciti, fuori dagli slot regolari) porta `start`/`end` al suo posto, senza `period`. - **`position.start`** / **`position.end`** (orari) accompagnano sempre una lezione fuori griglia, e si aggiungono alle lezioni di griglia quando passa **`with_hours=true`** (orari pre-calcolati). Da attivare quando il Suo sistema target ha bisogno delle ore d'orologio piuttosto che dell'indice di griglia. #### Assenze, annullamenti e sostituzioni Per impostazione predefinita, l'endpoint **consolida le assenze**: un professore assente è ritirato dalla lezione, e una lezione senza professore rimasto è considerata annullata e scartata. Diversi indicatori cambiano ciò: - **`without_absences`** — ignorare completamente le assenze; restituire la griglia pianificata grezza. - **`with_absences`** — aggiungere le assenze grezze del periodo accanto alle lezioni. - **`with_cancelcourses`** — conservare le lezioni annullate (tutti gli professori assenti) invece di scartarle. - **`with_studentcancelcourses`** — mantenere solo le lezioni annullate dall'assenza di un allievo. - **`with_removedcourses`** — restituire le lezioni ritirate (esclusivo con `with_cancelcourses`). - **`without_teacher_consolidation`** — mantenere i professori assenti nella lista `teachers` di ogni lezione invece di ritirarli. - **`without_holidays`** — non iniettare le vacanze nell'intervallo. Per impostazione predefinita, quando un sostituto è stato designato per un'assenza, esso **sostituisce semplicemente il professore assente nella lista `teachers`** della lezione — la sostituzione è trasparente, senza campo supplementare. Passi **`with_cancelcourses`** o **`without_teacher_consolidation`** e la lezione porta in più un blocco **`substitutes`** (l'identificativo del sostituto, il motivo di assenza e l'assenza che l'ha imposta), per vedere chi è stato sostituito e perché nello stesso payload. #### Strutture e rubriche Attacchi i dati di riferimento utili, nella stessa chiamata: - **`with_timetables=true`** — le strutture grezze degli orari che sono servite a calcolare le lezioni (classi, materie, griglia, per identificativo). Da attivare per risolvere gli identificativi; da lasciare disattivato per una risposta compatta. - **`with_entities=true`** — nome/codice leggero (e campi di nome di persona) delle entità del risultato. - **`with_teachers`** / **`with_all_teachers`** — i professori utilizzati sulle lezioni, o tutti i professori dell'orario e della rubrica. - **`with_students`** — gli allievi, con i loro posizionamenti per data. - **`with_events=true`** — gli eventi fuori griglia (consigli, incontri genitori-professori…) sullo stesso intervallo. #### Un tiraggio ETL notturno Recuperare una settimana di lezioni per tutte le classi, con gli orari, e caricarla nel Suo sistema informativo: ```bash curl -G "https://vostra-scuola.omniscol.com/api/schedules/lessons/20261005-20261011" \ -H "Authorization: Bearer $OMNISCOL_TOKEN" \ --data-urlencode 'filter={"classes":"*"}' \ --data-urlencode "with_hours=true" ``` La risposta raggruppa le lezioni sotto `schedules.classes..courses[]`. Le assenze sono già consolidate: ciò che carica riflette l'orario reale e aggiornato — aggiunga `with_absences=true` se vuole anche registrare la ragione di un cambiamento. #### Spingere verso Omniscol L'integrazione funziona anche nell'altro senso — per mantenere Omniscol allineato a una fonte di verità esterna. Questi endpoint esistono **unicamente** per questa sincronizzazione esterna; l'interfaccia Omniscol non li chiama mai da sé: - **`POST /api/external/classes`** (`os_external_classes_post`) — aggiornare delle classi esistenti (nome, sede, livello, aula, effettivo) da un payload indicizzato per identificativo di classe. Aggiorna le classi conosciute; non ne crea di nuove. Metta un campo a `null` per cancellarlo (il nome della classe eccetto — una classe conserva il suo nome). - **`POST /api/external/teachers`** (`os_external_teachers_post`) — inserire o aggiornare dei professori per identificativo, sia negli orari sia nella rubrica (creando l'utente con il ruolo professore e un login auto-generato all'occorrenza). Le varianti `DELETE` ritirano una classe o un professore. - **`POST /api/admin/subjects/custom`** (`os_admin_subjects-custom_post`) — caricare un **catalogo di materie personalizzate**. Il corpo è `{ "subjects": [ … ], "replace": false, "nodoubles": true }`: incrementale per impostazione predefinita, `replace: true` per un aggiornamento completo, `nodoubles: true` per riconciliare le materie esistenti per identificativo esterno, codice o nome. È l'endpoint di un push notturno di materie. Esiste anche un endpoint speciale, **solo sovrascrivibile**, `os_external_classes_get`: Omniscol non ne fornisce alcuna implementazione predefinita, ma quando un partner o un fornitore lo punta verso il suo proprio servizio (via [Personalizzazione dell'API](#page-integrations.api-customization)), la schermata di creazione di classe si pre-compila da questa **lista chiusa di classi** invece che dal modulo manuale. Senza sovrascrittura, non fa semplicemente nulla. Per un software gestionale SIS / ERP (Aurion, Auriga…), preferisca il connettore dedicato a questi endpoint grezzi — vedi [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Vedi anche - [Interrogazione avanzata](#page-integrations.advanced-queries) - [API Omniscol](#page-integrations.api-tokens) - [Modello di dati completo](#page-integrations.data-model-full) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) - [Personalizzazione dell'API](#page-integrations.api-customization) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.10 MCP — collegare un agente IA esterno a Omniscol *Source: `help/it/integrations/mcp.md` · id: integrations.mcp · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Il **Model Context Protocol (MCP)** è uno standard aperto che permette a un assistente IA compatibile con MCP di consumare strumenti di lavoro esposti da un servizio esterno. Omniscol espone gran parte della sua API sotto forma di **server MCP**: un agente IA può interrogare il Suo account con gli endpoint API o i permessi autorizzati, una volta autenticato — tramite OAuth2, la modalità standard di MCP, o tramite un token. #### Ciò che l'agente può fare L'agente MCP funziona molto bene sulle **domande di consultazione** in cui il dato si trova in Omniscol: - *«Dammi il tasso di occupazione delle aule rispetto agli orari di apertura questa settimana.»* - *«Trovami un'aula disponibile tre lunedì di ottobre sullo stesso slot di 2 ore.»* - *«Quante ore di lezione ha erogato Jean Dupont nell'anno scolastico corrente?»* - *«Quali sono tutte le lezioni di matematica di oggi?»* - *«Elenca i professori che hanno svolto meno del 70% delle loro ore di servizio in questo trimestre.»* Queste richieste incrociano tipicamente più strumenti: orario, dashboard statistiche, disponibilità calcolate, schede professori. L'agente orchestra le chiamate e formula la risposta in linguaggio naturale. #### Gli strumenti esposti Il server MCP costruisce i suoi strumenti a partire dalle route API Omniscol autorizzate per MCP. Le route ignorate esplicitamente, e alcuni moduli tecnici (per esempio, relativi all'autenticazione degli utenti) non diventano strumenti. La lista riflette quindi l'API esposta a MCP, non l'intera superficie interna dell'applicazione. È tuttavia una parte molto ampia. Per di più, esiste un certo numero di route dedicate a MCP e non utilizzate da Omniscol stesso. È il caso di strumenti di ricerca avanzata perché il testo libero che designa un'entità ("professore Jean Dupont", "classe 6A") sia ritrovato da Omniscol con il suo identificativo tecnico, poi usato per interrogare precisamente i dati. È anche il caso di strumenti complessi in cui Omniscol non possiede un'interfaccia grafica, perché ciò si presta meglio a un prompt: la ricerca di occupazione e di disponibilità di un'entità, per esempio ("trovami un'aula disponibile per 2 ore il pomeriggio 3 lunedì di fila", "un professore di matematica è disponibile nella settimana del 14 ottobre per 3 ore?"). Gli strumenti coprono in particolare: - modulo **Amministrazione** (utenti, materie, anni scolastici, parametri), - modulo **Gestione degli orari** (configurazione, sedi, aule, classi, lezioni), - modulo **Orario** (planning, dashboard, ricerche), - modulo **Gestione delle assenze** (dichiarazione, statistiche), - ricerca globale. Le route di lettura sono le più adatte a un uso agentico. Alcune operazioni di scrittura possono esistere nel catalogo, a seconda dei diritti del token e dell'API disponibile, ma devono restare inquadrate: una richiesta che modifica più oggetti di lavoro deve essere verificata da un utente prima di essere considerata affidabile. #### Attivare il server MCP Il server MCP è disponibile sugli account **Premium**. Tutto parte dalla **schermata MCP**, aperta dal modulo **Amministrazione** con **Configura**: mostra l'**URL del server** secondo il perimetro scelto (globale o ristretto a un modulo) e fornisce, pronti da copiare, gli elementi di configurazione del Suo client. **L'autenticazione standard di MCP è OAuth2.** Un client compatibile (come Claude) si connette semplicemente all'URL del server, vi scopre la configurazione OAuth2 dell'account, e l'utente approva l'accesso tramite una schermata di consenso: non c'è **nient'altro da fornire oltre all'URL**. Il perimetro concesso segue i diritti dell'account e le sue restrizioni di visibilità. Il server OAuth2 di Omniscol, la sua schermata di gestione dei client e il dettaglio del consenso sono descritti in [OAuth2 / OIDC (provider)](#page-integrations.oauth-server). Per un client che non gestisce OAuth2, la stessa schermata genera un **token** (chiave API, scadenza, utente associato facoltativo, diritti di scrittura da spuntare) poi propone, pronti da incollare, i formati utili secondo il caso: intestazione `Authorization: Bearer`, URL con token, blocco di configurazione **Claude Desktop** (modalità gratuita) e comando di proxy locale. Il token si appoggia sul sistema di chiavi descritto in [API Omniscol](#page-integrations.api-tokens). #### Buone pratiche di sicurezza - **Autenticazione OAuth2** — più pratica e da preferire quando il Suo agente la supporta (Claude versione a pagamento). - **Token dedicato all'IA** — crei un token con un'etichetta parlante (`Agente IA — Claude desktop`) che può revocare se necessario. - **Perimetro minimo** — con un token API, selezioni solo gli endpoint API necessari. Con un token OAuth, limiti gli scope al bisogno reale. - **Registri di attività (log)** — una chiamata compare nei registri associati al token quando la route interessata è registrata. Questi registri tracciano la chiamata; non conservano né il dettaglio dei dati restituiti né il contenuto riproducibile della richiesta. - **Restrizioni di visibilità** — l'agente vede ciò che Omniscol gli restituisce. Se ha configurato restrizioni di visibilità strette per il ruolo del token, esse si applicano. #### Procedura — Collegare Claude a Omniscol La via consigliata è l'**autenticazione OAuth2**: collega Claude al server MCP tramite il suo URL, senza manipolare alcun token. 1. **Attivi il server MCP** sul Suo account Premium e ne recuperi l'URL (tipicamente `https://vostra-scuola.omniscol.com/mcp`). La schermata MCP (modulo **Amministrazione**, pulsante **Configura**) lo mostra secondo il perimetro scelto, con un pulsante di copia. 2. **Aggiunga Omniscol come connettore in Claude.** Nelle impostazioni dei connettori di Claude, aggiunga un connettore personalizzato e incolli l'URL del server MCP Omniscol. 3. **Approvi l'accesso.** Claude La reindirizza verso la schermata di consenso Omniscol: si connetta e autorizzi l'accesso. Il perimetro concesso segue i diritti del Suo account e le eventuali restrizioni di visibilità. 4. **Gli strumenti compaiono in Claude**, che li chiama quando la Sua richiesta si presta a ciò. 5. **Primo test**: *«Quante ore di lezione ha erogato Jean Dupont quest'anno?»* — Claude incrocia i dati accessibili e risponde in linguaggio naturale. **Metodo alternativo tramite token.** Per un client MCP che non gestisce OAuth2, generi un token dedicato dalla schermata MCP (etichetta parlante, endpoint limitati al bisogno reale, diritti di scrittura spuntati esplicitamente) e lo trasmetta nell'intestazione `Authorization: Bearer`. La schermata MCP fornisce il blocco di configurazione corrispondente. Preferisca OAuth2 non appena il Suo client lo supporta. #### Vedi anche - [Assistente IA integrato](#page-integrations.ai-assistant) - [API Omniscol](#page-integrations.api-tokens) - [Interrogazione avanzata](#page-integrations.advanced-queries) - [OAuth2 / OIDC (provider)](#page-integrations.oauth-server) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.11 Assistente IA integrato *Source: `help/it/integrations/ai-assistant.md` · id: integrations.ai-assistant · Audience: admin · Status: stable · Updated: 2026-06-28* L'**assistente IA integrato** è la superficie di conversazione di Omniscol per porre una domanda in linguaggio naturale dall'interfaccia. Si apre nella scheda **Assistente IA** del pannello di aiuto, riservata agli amministratori. L'assistente si basa sul corpus di aiuto e, secondo il contratto del conto, sugli strumenti Omniscol esposti all'agente. Il perimetro dipende dal conto: un assistente documentale risponde a partire dall'aiuto in linea, e i conti il cui contratto lo prevede aggiungono l'accesso a strumenti operativi che interrogano i dati del conto. Per collegare un agente IA esterno al Suo conto, utilizzi [MCP — collegare un agente IA esterno](#page-integrations.mcp). #### Ciò che l'assistente copre L'assistente è progettato per due famiglie di richieste: - **domande documentali** — ritrovare una procedura, spiegare un concetto, indirizzare alla pagina di aiuto corretta; - **domande operative** — interrogare i dati del conto tramite gli strumenti autorizzati, ad esempio sulle lezioni, aule, professori, assenze o statistiche. Esempi: - *«Come si pubblica un orario?»* - *«Dove si configurano i link iCal?»* - *«Quali lezioni di matematica sono previste oggi?»* - *«Perché questa generazione dell'orario lascia delle lezioni non posizionate?»* #### Diritti e perimetro L'assistente non ha un accesso illimitato al conto. Le sue risposte e le sue azioni dipendono: - dal contratto del conto, che determina se gli strumenti operativi sono attivati; - dai diritti dell'amministratore connesso; - dagli strumenti effettivamente esposti all'agente; - dai dati disponibili in Omniscol. Un'azione che modifica dati operativi passa attraverso una conferma esplicita prima di essere applicata. Per le integrazioni agentiche esterne, utilizzi [MCP — collegare un agente IA esterno](#page-integrations.mcp) e token dedicati. #### Buone pratiche - Verifichi le azioni proposte prima di applicarle. - Non copi dati sensibili in una conversazione se non sono necessari alla richiesta. - Per un agente esterno, crei un token dedicato con un perimetro minimo e una scadenza adeguata. #### Vedi anche - [MCP — collegare un agente IA esterno](#page-integrations.mcp) - [API Omniscol](#page-integrations.api-tokens) - [Piani e opzioni di Omniscol](#page-overview.plans-and-options) ### 9.12 OIDC / SSO — accesso tramite provider di identità *Source: `help/it/integrations/oauth2.md` · id: integrations.oauth2 · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ OpenID Connect (OIDC), costruito su OAuth2, consente ai suoi utenti di accedere a Omniscol **con l'account aziendale** anziché con una password Omniscol dedicata. Tre vantaggi: una sola password da ricordare, disattivazione centralizzata all'arrivo o alla partenza di un collaboratore, applicazione automatica dei criteri di sicurezza (MFA, lunghezza della password, scadenza…) gestiti lato sistema informativo. Questa pagina descrive l'**SSO utente**: l'accesso delle persone a Omniscol tramite il suo provider di identità. Il caso inverso — Omniscol come **server** OAuth2 / OIDC a cui si connettono servizi di terze parti, con la relativa schermata di gestione dei client — è trattato su [OAuth2 / OIDC (provider)](#page-integrations.oauth-server). #### Provider supportati Omniscol supporta: - **Google Workspace**, - **Microsoft Entra ID** (in precedenza Azure AD), - **Keycloak**, - un provider **OIDC generico** tramite il suo issuer / discovery URL (qualsiasi provider conforme a OIDC). #### Configurazione lato Omniscol In **Amministrazione** → **Parametri**, sezione **Sicurezza**, il pulsante **Configura** apre la schermata di configurazione OIDC, che consente di dichiarare il provider: - **Nome visualizzato** — l'etichetta che comparirà sul pulsante di accesso (ad esempio `Continua con Google`). - **Tipo di provider** — Google, Microsoft Entra ID (Azure AD), Keycloak o OIDC generico. - **Tenant / issuer** — il tenant Microsoft per Entra ID, oppure l'URL issuer per Keycloak e i provider OIDC generici. I metadati OIDC vengono poi individuati dall'applicazione. - **Client ID** e **Client secret** — ottenuti creando un'applicazione lato provider (si veda la documentazione del provider). - **Scope** — per impostazione predefinita `openid profile email`. Aggiungere gli scope specifici del provider se necessario. - **Domini autorizzati** — elenco facoltativo di domini di posta elettronica accettati all'accesso SSO; se lasciato vuoto, non viene applicato alcun filtro per dominio. - **URL di reindirizzamento** — Omniscol fornisce il valore esatto da copiare nella configurazione lato provider (nonché l'URL di reindirizzamento post-disconnessione se il provider lo richiede). - Accesso solo tramite SSO — una volta convalidato l'SSO, questa opzione rifiuta l'accesso con password Omniscol, salvo per gli **account di emergenza** descritti di seguito. La configurazione SSO corrente è definita a livello dell'account scuola. #### Accesso di emergenza (break-glass) In modalità **Accesso solo tramite SSO**, l'accesso con password Omniscol viene rifiutato: tutti passano attraverso il provider di identità. Se questo provider diventa non disponibile — guasto, secret scaduto, errore di configurazione — l'accesso a Omniscol risulterebbe bloccato per tutti. L'**account di emergenza (« break-glass »)** è la protezione contro questo blocco: un account **amministratore** autorizzato ad accedere con password Omniscol anche quando la modalità SSO esclusiva è attiva. - Nella scheda di un account **amministratore**, quando l'opzione **Accesso solo tramite SSO** è attiva, compare una casella **Break-glass (SSO only)**. Selezionarla autorizza questo account ad accedere con password se il provider di identità è non disponibile. Solo gli account amministratore possono esserlo. - L'assistenza Omniscol conserva inoltre un accesso di emergenza indipendente. Designi almeno un account di emergenza **prima** di attivare la modalità SSO esclusiva, e ne conservi la password in un luogo sicuro: è la sua rete di sicurezza se il provider di identità viene meno. #### Configurazione lato provider (esempi) ##### Google Workspace 1. Console Google Cloud > **APIs & Services > Credentials**. 2. **Crea una credenziale OAuth 2.0**, tipo **Applicazione Web**. 3. Incollare l'URL di reindirizzamento fornito da Omniscol in **Authorized redirect URIs**. 4. Recuperare il **Client ID** e il **Client secret** per incollarli in Omniscol. ##### Microsoft Entra ID 1. Portale Azure > **Entra ID > App registrations**. 2. **New registration**, tipo **Web**, URL di reindirizzamento Omniscol. 3. **Certificates & secrets** > creare un client secret. 4. **API permissions** > aggiungere `openid`, `profile`, `email`. 5. Recuperare **Application (client) ID** e il secret. ##### Keycloak 1. Realm > **Clients > Create client**, tipo **OpenID Connect**. 2. **Valid redirect URIs**: l'URL fornito da Omniscol. 3. **Credentials** > recuperare il client secret. #### Collegare gli account Omniscol Quando un utente fa clic sul pulsante SSO, Omniscol: 1. Lo reindirizza al provider, 2. Recupera il suo indirizzo e-mail dopo l'autenticazione, 3. Cerca un account Omniscol con **lo stesso indirizzo e-mail**. Se l'account esiste ed è attivo, l'utente viene connesso. In caso contrario, l'accesso è rifiutato. Conseguenza: affinché l'SSO funzioni, gli utenti devono esistere in Omniscol con l'indirizzo e-mail corretto — la creazione non è automatica lato Omniscol per impostazione predefinita. #### Provisioning automatico degli account La creazione automatica di account al primo accesso SSO (`just-in-time provisioning`) non è il comportamento predefinito della schermata di configurazione. Se questa modalità è necessaria, va concordata con Omniscol. #### Procedura — Configurare un provider OIDC / SSO 1. **OIDC / SSO** consente ai suoi utenti di accedere con l'account aziendale (Google Workspace, Microsoft Entra ID, Keycloak, Okta…). La parte lato provider dipende dal provider. 2. **Lato provider**, creare prima un'applicazione OIDC **Applicazione Web**: recuperare il **Client ID** e il **Client secret**, copiare l'**URL di reindirizzamento** fornito da Omniscol negli *Authorized redirect URIs* del provider. 3. **Lato Omniscol**, aprire i parametri e poi la configurazione OIDC. Compilare il **nome visualizzato** (etichetta del pulsante di accesso), il tipo di provider, l'issuer o il tenant secondo il caso, il Client ID, il Client secret e gli **scope** (predefinito: `openid profile email`). 4. **Fare clic su Testare.** Verificare che la configurazione funzioni. Omniscol esegue un ciclo OIDC; in caso di errore di discovery, di secret o di reindirizzamento, il messaggio di errore è esplicito. 5. **Salvare.** Il pulsante di accesso SSO compare sulla pagina di accesso quando la configurazione è attiva. 6. **Importante: gli account devono esistere** in Omniscol con l'indirizzo e-mail corretto. L'accesso SSO abbina tramite e-mail; nessun provisioning automatico per impostazione predefinita. #### Vedi anche - [Primo accesso](#page-getting-started.first-login) - [Utenti e ruoli](#page-admin.users-and-roles) - [OAuth2 / OIDC (provider)](#page-integrations.oauth-server) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.13 Sincronizzazione con sistemi esterni (ERP) *Source: `help/it/integrations/extsync.md` · id: integrations.extsync · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Omniscol si interfaccia con gli ERP e i sistemi informativi esterni degli istituti tramite un framework unificato di **sincronizzazione**. Omniscol vi svolge il ruolo di **punto centrale**: è Omniscol a pilotare gli import e gli export, mentre il sistema esterno rimane la fonte di verità amministrativa. La sincronizzazione con sistemi esterni è disponibile sugli account **Premium**, quando un connettore è configurato per l'account. Ciò che viene trattato **a livello di progetto** è l'aggiunta di un nuovo ERP o di un nuovo sistema informativo non ancora supportato, con la definizione del mapping e dei flussi. #### Modello di flusso Il framework copre due direzioni di circolazione: - **Entità (in entrata)** — Omniscol può recuperare dall'ERP i professori, le materie, le aule, le classi, gli studenti e i loro identificativi esterni, a seconda del connettore e della configurazione. I riferimenti ext-id vengono conservati in Omniscol per i raccordi. - **Lezioni (in uscita)** — Omniscol invia all'ERP le lezioni prodotte dalla sua pianificazione, con i riferimenti ext-id corretti. A seconda del connettore, l'export può essere attivato su richiesta, programmato, oppure rieseguito in batch completo per recuperare le divergenze. Omniscol orchestra gli import e gli export configurati, conserva gli identificativi esterni, gestisce i passaggi di sincronizzazione ed espone schermate di verifica per riconciliare i dati tra Omniscol e il sistema esterno. #### Fonte e diritti di creazione locale Per ciascun tipo di entità (professori, materie, aule, ecc.), seleziona il sistema di origine e indica se la creazione locale e l'aggiornamento locale restano consentiti. La schermata espone anche un pulsante **Associazione** per raccordare un'entità Omniscol locale con un'entità ERP quando entrambe esistono già. #### Ponte tra le ontologie Ogni ERP ha il proprio vocabolario (per esempio «materia» in Omniscol = **Unité Pédagogique** in Auriga = **Cours** in Aurion). Il framework gestisce il **mapping**: è Omniscol a collegare i concetti di un lato a quelli dell'altro, e Lei non deve riscrivere la Sua nomenclatura. #### Connettori disponibili ##### Disponibili - **Aurion** — connettore disponibile in produzione. Un ERP **edito dalla società Auriga**, particolarmente diffuso nell'istruzione superiore francese (scuole di ingegneria e di economia). Vedere [integrations.aurion](#page-integrations.aurion). - **Auriga** — connettore disponibile in produzione. **Auriga il software** è l'evoluzione full-web di Aurion, della stessa società. Vedere [integrations.auriga](#page-integrations.auriga). ##### Standard di directory - **OneRoster** — invece di un connettore proprio di un editore, Omniscol supporta lo standard internazionale **OneRoster** (1.2 e gruppi avanzati) per scambiare una directory scolastica con un SIS, uno spazio di lavoro digitale o un LMS conforme. L'import di una directory OneRoster rientra in questa sincronizzazione Premium; l'export, invece, viene servito in sola lettura e controllato tramite scope OAuth2. Vedere [OneRoster](#page-integrations.oneroster). ##### Su richiesta Qualsiasi ERP o sistema informativo che espone un'**API documentata** per le azioni di import / export e una **sandbox** di lavoro può essere integrato a livello di progetto. Contatti il supporto Omniscol per definire l'aggiunta di un nuovo connettore. #### Differenza con i sistemi che interrogano Omniscol Alcuni sistemi possono anche consumare Omniscol tramite gli endpoint **GET** dell'API pubblica: in tal caso, Omniscol non orchestra una sincronizzazione ERP, il sistema di terze parti interroga soltanto i dati a cui il suo token dà accesso. Questo modello è diverso dalla sincronizzazione orchestrata da Omniscol: | Modello | Chi orchestra? | Direzione | Esempio | | --- | --- | --- | --- | | **Sincronizzazione con sistemi esterni** | Omniscol | Bidirezionale (entità in ingresso, lezioni in uscita) | Auriga, Aurion | | **Partner pull** | Il partner | Il partner effettua chiamate GET | Connettore di terze parti tramite API | Il modello partner-pull non richiede alcuna configurazione di sincronizzazione con sistemi esterni: l'API pubblica e i token di autenticazione sono sufficienti. Vedere [API Omniscol](#page-integrations.api-tokens). #### Configurazione Una configurazione di sincronizzazione con sistemi esterni richiede tipicamente una sessione con il supporto Omniscol per: 1. **Elencare gli oggetti da sincronizzare** — utenti, classi, docenti, materie, aule, ecc. 2. **Calibrare il mapping ontologico** — quale concetto ERP corrisponde a quale concetto Omniscol. 3. **Definire l'esclusività** per tipo di entità. 4. **Programmare la frequenza** dei passaggi (su richiesta, oraria, giornaliera, più frequente per il recupero delle divergenze). 5. **Testare su una sandbox** ERP prima della messa in servizio. #### Verifiche e operazioni correnti - **Verifica** dei preferiti o dei dataset configurati, a seconda del connettore. - **Attivazione manuale** di un export di lezioni dalla schermata di amministrazione. - **Export completo programmato** quando l'opzione è configurata nel blocco di export. - **XML Pivot Aurion** quando viene utilizzato il connettore Aurion. - **Verifica dei raccordi**: le schermate di associazione segnalano le entità da appaiare o da correggere. #### Procedura — Verificare e attivare una sincronizzazione 1. **Una volta configurata la sincronizzazione** dal supporto Omniscol, le operazioni correnti si effettuano dalla schermata di amministrazione: verificare i preferiti/dataset, appaiare le entità, attivare un export puntuale, scaricare il pivot Aurion se disponibile, oppure svuotare lo stato di export in caso di transizione. 2. **Nella configurazione del sistema**, utilizzi i pulsanti **Verificare** dei preferiti o dei dataset compilati. Omniscol recupera i dati del connettore e segnala gli errori di configurazione o di formato quando il connettore li riporta. 3. **Per inviare immediatamente** le lezioni all'ERP senza attendere il prossimo passaggio programmato, faccia clic su **Attivare**. Utile dopo una modifica urgente. 4. **Con Aurion**, il pulsante **XML Pivot** scarica un file che l'amministratore ERP inietta manualmente tramite la console dell'ERP quando viene scelta questa modalità. 5. **In caso di transizione importante** (cambio di struttura, fine dell'anno), il pulsante **Purge Omniscol** elimina **lato ERP** tutte le lezioni che Omniscol vi ha esportato, per ripartire da zero. L'azione riguarda il connettore selezionato ed è **irreversibile**: da utilizzare solo dopo un accordo con il supporto. #### Vedi anche - [integrations.aurion](#page-integrations.aurion) - [integrations.auriga](#page-integrations.auriga) - [OneRoster](#page-integrations.oneroster) - [API Omniscol](#page-integrations.api-tokens) - [Importazione ed esportazione](#page-admin.import-export) - [Panoramica delle integrazioni](#page-integrations.overview) ### 9.14 OneRoster (1.2 e gruppi avanzati) *Source: `help/it/integrations/oneroster.md` · id: integrations.oneroster · Audience: admin · Plan: standard · Updated: 2026-06-29* OneRoster è uno standard internazionale di scambio di anagrafiche scolastiche (pubblicato da 1EdTech): descrive, in un formato comune, gli **istituti**, gli **anni scolastici**, i **corsi**, le **classi**, le **iscrizioni** e gli **utenti** di una scuola. Serve a collegare un SIS, un ambiente digitale di apprendimento o un LMS a un altro strumento senza reinserimento né formato proprietario. Questa pagina si rivolge alla **direzione dei sistemi informativi (l'IT)** dell'istituto. Descrive ciò che Omniscol espone e consuma in OneRoster, l'autenticazione prevista e il perimetro reale di ciascun senso di scambio. #### Versioni supportate Omniscol supporta **OneRoster 1.2 Rostering** — la base (Org, AcademicSession, Course, Class, Enrollment, User, Demographics) — nonché il livello **OR-Groups (Advanced Groups Service)**, lo standard di gruppi additivo che aggiunge tre entità (Group, GroupMembership, GroupAssociation) al di sopra della 1.2. Il livello OR-Groups è uno **standard in corso di pubblicazione**. È strettamente additivo sulla 1.2: un Group si limita a **fare riferimento** alle entità Class / User / Org / AcademicSession della 1.2, in sola lettura. La versione 1.3 di OneRoster è annunciata per rendere Class una specializzazione di Group — orientamento verso cui l'implementazione di Omniscol converge già. #### Omniscol produttore (Omniscol → ambiente digitale / LMS) Come **produttore**, Omniscol espone l'anagrafica dell'istituto in **sola lettura**, tramite un'API REST conforme a OneRoster, affinché un ambiente digitale di apprendimento o un LMS la legga. - La base Rostering 1.2 è servita sotto `/ims/oneroster/rostering/v1p2/…` (ad esempio `/orgs`, `/schools`, `/academicSessions`, `/courses`, `/classes`, `/enrollments`, `/users`, `/teachers`, `/students`, `/demographics`, ciascuno con le sue varianti annidate). - Il livello gruppi è servito sotto `/ims/oneroster/groups/v1p0/…` (`/groups`, `/groupMemberships`, `/groupAssociations` e le loro varianti annidate). - Il perimetro è l'anno scolastico **corrente** per impostazione predefinita; un parametro consente di puntare a un altro anno o di coprire tutti gli anni. I dati riflettono la pianificazione consolidata di Omniscol (orari attivi / pubblicati). Il produttore è **in sola lettura per scelta**: nessuna scrittura (PUT / DELETE) è esposta — un sistema remoto non guida la creazione o l'eliminazione di entità in Omniscol. ##### Autenticazione del produttore Gli endpoint del produttore sono protetti da **OAuth2 con flusso `client_credentials`** (token da macchina a macchina, senza utente), emesso dal server OAuth2 di Omniscol. **Non** sono riservati agli account Premium: l'accesso è controllato dagli **scope** OAuth2, non dal piano. Ogni scope è specifico di un servizio e l'accesso ai dati demografici è compartimentato all'interno della 1.2: | Endpoint | Scope accettati | | --- | --- | | Rostering 1.2 (esclusa la demografia) | `https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly`, `https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly` | | Rostering 1.2 `/demographics` | `https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly`, `https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly` | | OR-Groups (tutti) | `https://purl.imsglobal.org/spec/or-groups/v1p0/scope/roster-group.readonly` | Un token OR-Groups non dà accesso alla base Rostering, e viceversa. Nessuno scope di scrittura è dichiarato. Gli scope privilegiati sono attribuiti dall'amministrazione Omniscol al momento della registrazione del client OAuth2; un client non può autoattribuirseli. La gestione dei client OAuth2 e dei token è descritta su [OAuth2 / OIDC (provider)](#page-integrations.oauth-server) e [API Omniscol](#page-integrations.api-tokens). ##### Il perimetro degli studenti è portato dal livello gruppi Scelta strutturante: l'elenco degli studenti di una classe o di un gruppo è esposto tramite **OR-Groups** (GroupMembership), non dalla sola base 1.2. Un consumatore che legge unicamente la Rostering 1.2 ottiene il catalogo (Courses, Classes), le iscrizioni professore → corso e l'anagrafica degli utenti, ma **non** l'appartenenza degli studenti. Per sapere chi è in quale classe o quale gruppo, il consumatore deve implementare il livello OR-Groups. Questa scelta riflette il modello francese: uno studente è iscritto in una **classe** o in un **gruppo**, non materia per materia. Il produttore si espone in REST. Il formato **bundle CSV OneRoster** (archivio zip con un file per collezione), invece, è supportato lato importazione, per i fornitori che consegnano la loro anagrafica per file anziché per API — si veda la sezione consumatore di seguito. #### Omniscol consumatore (SIS → Omniscol) > _Premium_ Come **consumatore**, Omniscol importa l'anagrafica di un SIS conforme a OneRoster e la riconcilia nell'istituto. Questa configurazione di consumo fa parte della **sincronizzazione con sistemi esterni**: è disponibile sui conti **Premium** e si concorda su progetto con il team Omniscol (si veda [Sincronizzazione con sistemi esterni](#page-integrations.extsync)). - **Trasporto** — o l'**API REST** del fornitore (l'indirizzo di base è configurato, si segue la paginazione standard OneRoster), con autenticazione OAuth2 in flusso `client_credentials` verso il server del fornitore; oppure un **bundle CSV** (archivio zip). - **Profilo** — un profilo di configurazione indica l'ampiezza da leggere: sola base 1.2, livello gruppi o mappatura francese per l'istruzione scolastica. Un fornitore puramente 1.2, senza servizio di gruppi, si importa correttamente. - **Applicazione controllata** — l'importazione segue lo stesso principio degli altri connettori: Omniscol recupera e poi riconcilia i dati, e un **amministratore convalida** la loro applicazione all'istituto. Il sistema remoto non spinge mai direttamente in Omniscol. - **Reimportazioni idempotenti** — le corrispondenze di identificativi esterni sono conservate, cosicché una reimportazione non crea duplicati anche quando il fornitore rinomina un'etichetta. #### Profilo francese (istruzione scolastica) Il **profilo francese per l'istruzione scolastica** mette in corrispondenza le nozioni francesi con il modello OneRoster: una **divisione** (la classe in senso effettivo) diventa un Group di tipo organizzativo principale; un **gruppo** diventa un Group di erogazione didattica; un **gruppo di gruppi** un Group trasversale; le **partizioni** e gli **allineamenti** diventano associazioni di gruppi; un'assegnazione di un **professore** a un corso diventa un'iscrizione professore. Gli identificativi come l'INE o l'identificativo agente sono portati nei `userIds` dell'utente. #### Identificativi e riservatezza Ogni entità esposta porta un identificativo stabile, il `sourcedId`. - Gli identificativi **strutturali** (istituto, anno, corso, classe, gruppo) sono stabili e immutabili da un'esportazione all'altra: un consumatore può farvi affidamento per correlare i dati nel tempo. - L'identificativo dell'**utente** è **anonimizzato**: Omniscol non mette mai il proprio identificativo nominativo sul filo. Il token messo sul filo è derivato da una funzione a senso unico (HMAC) propria dell'account; le iscrizioni e le appartenenze riutilizzano questo token senza mai esporre l'identificativo di origine. #### Stato - **Produttore** — disponibile e dimostrabile senza partner remoto (l'esportazione è autosufficiente). Rostering 1.2 e il livello OR-Groups sono serviti in sola lettura, con autenticazione OAuth2. - **Consumatore** — la configurazione di importazione fa parte della sincronizzazione Premium. La messa in servizio di una sincronizzazione **in tempo reale** con un SIS dipende dal fornitore e, se del caso, dai calendari ministeriali: si concorda **su richiesta**, connettore per connettore. Non si tratta di una sincronizzazione chiavi in mano immediata. #### Vedi anche - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) - [OAuth2 / OIDC (provider)](#page-integrations.oauth-server) - [API Omniscol](#page-integrations.api-tokens) - [Modello di dati completo](#page-integrations.data-model-full) - [integrations.partners](#page-integrations.partners) ### 9.15 Account collegati e risorse condivise *Source: `help/it/integrations/linked-accounts.md` · id: integrations.linked-accounts · Audience: admin · Updated: 2026-06-13* Gli **account collegati** collegano **più account Omniscol distinti — quindi più istituti** — che condividono, nella realtà, **professori e aule**. Il collegamento rende visibile, da un account all'altro, l'**occupazione** di queste risorse comuni: quando consulta o costruisce un orario, Omniscol riporta le lezioni degli account collegati che riguardano un professore o un'aula che condivide, e le segnala come già occupate. Evita così di prenotare due volte la stessa persona o la stessa aula, senza dover chiamare l'altro istituto. È un'opzione attivata su richiesta dal team Omniscol. Ogni account resta **totalmente autonomo**: mantiene i suoi utenti, le sue impostazioni, i suoi anni scolastici e il suo ambito amministrativo. #### Ciò che il collegamento condivide - **Condiviso**: l'**occupazione** dei professori e delle aule presenti in entrambi gli account. È essa ad alimentare le viste di occupazione e il rilevamento dei conflitti tra account. - **Non condiviso**: gli utenti, gli studenti, le classi, le impostazioni e i dati amministrativi propri di ciascun account. Vedere una fascia oraria occupata non apre l'accesso al dettaglio dell'altro account. Il raccordo è **automatico**: Omniscol riconosce uno stesso professore dal suo nome (la data di nascita dirime gli omonimi) e una stessa aula dal nome della sua sede e dal nome dell'aula. Perché funzioni, questi professori e queste aule devono quindi portare gli **stessi nomi** in ciascun account. #### Casi d'uso Tutti mettono in gioco **più istituti distinti**, ciascuno con il proprio account Omniscol: - Un **gruppo di scuole** che mettono in comune professori o aule — per esempio una rete di istituti di una stessa città. - **Istituti giuridicamente separati** insediati nello stesso edificio, e che si condividono quindi le aule. - Un campus in cui **più entità** (scuola di ingegneria, scuola di economia…), gestite su account distinti, utilizzano le stesse aule magne e gli stessi docenti. #### Attivazione Gli account collegati si definiscono con il team Omniscol, perché occorre decidere insieme: - quali account sono collegati; - quali risorse comuni — professori, aule — sono condivise; - l'armonizzazione dei nomi dei professori e delle aule comuni, su cui si basa il raccordo automatico; - quale account resta responsabile di ciascun dato; - come trattare i conflitti rilevati tra gli ambiti. Una volta attiva l'opzione, l'occupazione condivisa appare nelle viste di occupazione e alimenta il rilevamento dei conflitti tra account, senza altra operazione da parte Sua. #### Attivare o disattivare una sincronizzazione Quando un orario è sincronizzato con altri orari attivi — dello stesso account o di account collegati — appare un pulsante **Sincronizzazione**: in **modalità riorganizzazione** di un orario, così come in **modifica di un orario calendario**, sulle **date condivise**. Apre l'elenco di queste sincronizzazioni: ciascun **altro orario attivo** dell'account e ciascun **account collegato** che condivide professori o aule. Tutte sono **attive per impostazione predefinita**. Ne deselezioni una per **cessare di tenere conto** dell'occupazione di quell'orario o di quell'account nella vista corrente, poi la riselezioni per riattivarla. Il pulsante appare solo quando esiste almeno una sincronizzazione da gestire. #### Caso affine: più orari attivi in un solo account Gli account collegati coordinano istituti distinti; la stessa esigenza si presenta anche **all'interno di un solo account**, quando un istituto fa girare **più orari attivi in parallelo**. Lo stesso principio di occupazione condivisa impedisce allora che un'aula, un professore o una **classe** sia prenotata due volte da due orari simultanei. È tipicamente il caso di un'**organizzazione multi-programma** con ritmi diversi — un EMBA su 18 mesi, una Grande École a semestri di calendario, una preparatoria con orario settimanale — che condivide aule e docenti tra i suoi programmi; oppure di una **classe a cavallo di due calendari**, con un'organizzazione ricorrente al mattino e puntuale al pomeriggio. Questo coordinamento è incluso di base in **Premium** e può, in via eccezionale, essere attivato su un account Standard dopo una definizione con Omniscol. Vedere [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). #### Vedi anche - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) --- ## 10. Portali ### 10.1 Portale dello studente *Source: `help/it/portal/student-portal.md` · id: portal.student-portal · Audience: student/admin · Plan: standard · Updated: 2026-06-13* Il **portale dello studente** è l'interfaccia dedicata agli studenti. Più semplice e più mirata dell'interfaccia amministratore, espone esattamente ciò di cui uno studente ha bisogno ogni giorno: il suo orario personale, quello della sua o delle sue classi, le sue assenze e la condivisione del suo calendario. #### Orario personale All'apertura, lo studente vede **il proprio orario** sulla settimana corrente: materie, orari, aule, professori. Sono proposte tre viste classiche: - **Settimana** — griglia standard 5 o 7 giorni a seconda della configurazione della scuola. - **Giorno** — agenda cronologica, utile su dispositivo mobile. - **Elenco** — vista sequenziale delle prossime lezioni, senza griglia. Le modifiche dell'ultimo minuto (spostamento di lezione, cambio di aula, annullamento) vengono prese in considerazione: lo studente vede lo stato aggiornato a ogni apertura o ricarica della vista. #### Consultare l'orario della propria classe Oltre al suo orario personale, lo studente può consultare l'**orario della sua o delle sue classi** e quello dei **gruppi** di tali classi. Il suo accesso si ferma qui: non consulta né l'orario di un'altra classe, né quello di un professore, né quello di un'aula. L'amministratore può limitare l'**orizzonte di consultazione** degli studenti: un'impostazione definisce il numero di settimane a venire visibili, oppure imposta l'accesso su **Illimitato**. Vedere [Restrizioni di visibilità](#page-admin.visibility-restrictions). #### Sincronizzare con un'agenda personale L'icona di condivisione Condivisione della vista orario apre la finestra Condivisione. La sua scheda **iCal** fornisce l'URL di abbonamento personale, da incollare in Google Calendar, Apple Calendar o Outlook. L'URL può essere copiato, scaricato come file `.ics` o scansionato tramite un QR code. Vedere [iCal — abbonamento e link dinamico](#page-integrations.ical) per i dettagli. L'applicazione di agenda aggiorna l'abbonamento a intervalli regolari: quando l'orario evolve in Omniscol, la modifica compare nell'agenda dello studente. #### Dichiarare un'assenza Se l'istituto lo consente, lo studente può dichiarare la propria assenza dal portale: date, eventuali orari, motivo e commento. Vedere [Dichiarare un'assenza](#page-absences.declaring). La richiesta compare nel modulo Gestione delle assenze con uno stato in sospeso fino alla convalida da parte di un amministratore. Il modulo di richiesta non prevede il deposito di un giustificativo. #### Lingua dell'interfaccia La lingua dell'interfaccia segue la lingua del browser dell'utente. Lo studente può sceglierne un'altra dalla voce Lingua del menu utente; questa scelta viene memorizzata sul suo account per gli accessi successivi. #### Vedi anche - [Portale del professore](#page-portal.teacher-portal) - [Portale ospite (genitori, osservatori)](#page-portal.guest-portal) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Dichiarare un'assenza](#page-absences.declaring) - [Restrizioni di visibilità](#page-admin.visibility-restrictions) ### 10.2 Portale del professore *Source: `help/it/portal/teacher-portal.md` · id: portal.teacher-portal · Audience: teacher/admin · Plan: standard · Updated: 2026-06-26* Il **portale del professore** è l'interfaccia dedicata ai professori. Copre le tre esigenze quotidiane di un professore: consultare il proprio orario, inserire le proprie disponibilità, dichiarare le proprie assenze. Per impostazione predefinita, dà accesso anche agli orari dei colleghi, delle classi e delle aule. #### Orario del professore Il professore vede sulla settimana corrente le **lezioni che tiene**: materia, classe, gruppo, aula, orari. Tre viste disponibili: - **Settimana** — vista a griglia standard. - **Giorno** — vista agenda cronologica. - **Elenco** — sequenza cronologica senza griglia, comoda su dispositivo mobile. Le modifiche dell'orario (spostamento o annullamento di una lezione, aggiunta di una lezione eccezionale) vengono prese in considerazione: il professore vede lo stato aggiornato a ogni apertura o ricarica della vista. #### Inserire le proprie disponibilità Se l'istituto ha attivato l'inserimento delle disponibilità, il professore apre la sua scheda personale tramite la voce **Informazioni** del menu utente; la scheda **Disponibilità** presenta una griglia dove dichiara le proprie preferenze per la prossima costruzione dell'orario: - gli slot **Indisponibile** — vincolo bloccante, l'algoritmo non vi colloca mai una lezione, e il pianificatore manuale vi creerebbe un conflitto, - gli slot **Indesiderato** — l'algoritmo evita di collocarvi una lezione, senza divieto assoluto, e il pianificatore manuale vi vede un avviso, - gli slot **Preferito** — l'algoritmo favorisce questi slot. Le fasce non contrassegnate restano neutre: disponibili, senza preferenza. Vedere [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) per la semantica esatta dei colori e le buone pratiche di inserimento. Il professore può anche aggiungere **commenti liberi** (`nessun insegnamento il venerdì a causa di un altro impegno professionale`) che aiutano l'amministrazione a comprendere il contesto. #### Dichiarare un'assenza Il pulsante **Dichiara un'assenza** consente al professore di segnalare la propria indisponibilità: - date interessate; - giornata intera o slot precisi; - motivo; - commento breve. La richiesta compare nel modulo **Gestione delle assenze** con uno stato **in sospeso** fino alla convalida da parte di un amministratore. Le sostituzioni si gestiscono poi in questo stesso modulo; il modulo di dichiarazione del portale non sposta le lezioni e non allega un giustificativo. Vedere [Dichiarare un'assenza](#page-absences.declaring). #### Consultare gli orari dei colleghi e delle classi Per impostazione predefinita, il professore può consultare gli orari degli altri professori (utile per fissare riunioni), delle classi (per individuare uno slot libero dove collocare un'uscita) e delle aule. Un'impostazione restrittiva (vedere [Restrizioni di visibilità](#page-admin.visibility-restrictions)) nasconde gli orari degli **altri professori**; riguarda solo questi orari tra colleghi, mentre l'accesso agli orari delle classi e delle aule resta aperto. #### Sincronizzare con un'agenda personale Come dal lato studente, l'icona di condivisione **Condivisione** della vista orario apre la finestra **Condivisione**, la cui scheda **iCal** fornisce l'URL di abbonamento personale da incollare in Google Calendar, Apple Calendar o Outlook. Vedere [iCal — abbonamento e link dinamico](#page-integrations.ical). Comodo per i professori che vogliono vedere le loro lezioni nella stessa agenda delle loro riunioni e della loro vita personale. #### Vedi anche - [Portale dello studente](#page-portal.student-portal) - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Dichiarare un'assenza](#page-absences.declaring) - [Restrizioni di visibilità](#page-admin.visibility-restrictions) ### 10.3 Portale ospite (link pubblici) *Source: `help/it/portal/guest-portal.md` · id: portal.guest-portal · Plan: standard · Updated: 2026-05-15* Il **portale ospite** indica qui la consultazione di un orario da parte di una persona che non ha un account Omniscol nell'istituto. Il caso più frequente è il link pubblico firmato: un URL limitato a un perimetro preciso, aperto in sola lettura. #### Modalità di accesso A seconda dell'esigenza, scelga tra: - **Link pubblico firmato** — un URL contenente un token segreto dà accesso a un orario preciso (uno studente, una classe, un'aula, un professore) senza autenticazione. Comodo per condividere con un genitore: un solo link, nessuna password da ricordare. Vedere [Link di condivisione pubblici](#page-portal.share-links). - **Account Omniscol limitato** — se la persona deve avere un accesso duraturo, autenticato o multi-perimetro, crei piuttosto un account con il ruolo e i diritti adeguati. Non presenti questo caso come un link pubblico anonimo. #### Ciò che vede un ospite L'ospite vede l'orario in modalità **sola lettura rigorosa**: - nessuna modifica possibile, - nessuna dichiarazione di assenza, - nessun inserimento di disponibilità, - nessun accesso ad altri orari oltre al perimetro incluso nel link. Il link apre la vista di consultazione prevista, in sola lettura. Per un **orario**, la visualizzazione è automaticamente essenziale — senza la barra in alto né il menu dell'applicazione — il che dà una pagina centrata sul solo calendario. Questo aspetto corrisponde al parametro `raw=true` dell'URL: attivato automaticamente sui link di orario, opzionale sulle altre schermate, e che un utente esperto può aggiungere manualmente. Non modifica né l'autenticazione né il perimetro del link. Alcuni link di condivisione servono a un'azione mirata anziché a una consultazione: il link di inserimento delle disponibilità dei professori autorizza unicamente il modulo previsto, fino alla sua data di scadenza. #### Caso d'uso: genitore di uno studente (scolastico) Lo scenario tipico nella scuola secondaria: 1. L'amministratore (o lo studente stesso) genera il link di condivisione dell'orario dello studente. 2. Il link viene inviato al genitore per e-mail. 3. Il genitore apre il link: vede l'orario di suo figlio. 4. Può, da questo stesso link, abbonarsi in iCal e avere l'orario direttamente in Google Calendar / Apple Calendar. Nessun account da creare, nessuna password da gestire. #### Caso d'uso: osservatore permanente Se un referente pedagogico esterno deve seguire un programma durante tutto l'anno, eviti per principio il link pubblico anonimo. Crei un account Omniscol limitato al perimetro necessario, oppure predisponga una condivisione firmata con scadenza breve e rinnovo controllato. #### Sicurezza - Un link pubblico firmato resta utilizzabile fino alla sua data di scadenza. Viene invalidato se la password dell'account a cui è collegato cambia (o se tale account viene disattivato); un link iCal lo è anche con la rotazione della chiave di accesso dell'istituto. - Un account Omniscol limitato può essere disattivato come gli altri account utente. - Un accesso tramite link pubblico non deve essere trattato come un utente interno autenticato. #### Vedi anche - [Link di condivisione pubblici](#page-portal.share-links) - [Portale dello studente](#page-portal.student-portal) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Condividere un orario tramite link pubblico](#page-schedules.share-link) ### 10.4 Link di condivisione pubblici *Source: `help/it/portal/share-links.md` · id: portal.share-links · Audience: admin · Plan: standard · Updated: 2026-06-13* Un **link di condivisione pubblico** è un URL firmato che dà accesso a una schermata di consultazione — il più delle volte un orario — in sola lettura senza login. È il canale più semplice per diffondere un calendario a qualcuno che non ha (e non avrà) un account Omniscol: un genitore, un partner esterno, un servizio amministrativo. #### Formati proposti A seconda del contesto e dei diritti dell'utente che condivide, Omniscol può generare più URL firmati: - **Pagina web responsive** — visualizzazione navigabile in stile portale, con viste settimana / giorno / elenco. È ciò che vede chi apre il link in un browser. - **Flusso iCal (`.ics`)** — abbonamento dinamico per Google Calendar, Apple Calendar, Outlook. Vedere [iCal — abbonamento e link dinamico](#page-integrations.ical). - **JSON (API)** — per gli sviluppatori e le integrazioni macchina-a-macchina, quando questo formato è autorizzato. Questi formati non sono una promessa universale: la finestra di dialogo mostra le schede realmente generate per la selezione corrente. #### Che cosa si può condividere? La condivisione non si limita alla schermata di consultazione degli orari: la stessa icona di condivisione **Condivisione** compare sulla maggior parte delle schermate di Omniscol. **In sola lettura**, può condividere: - l'**orario di un'entità** — studente, classe, professore, aula o materia: il caso più frequente (genitori, colleghi, docenti a contratto, servizi tecnici); - la **schermata orario completa** del modulo **Orario**; - i sei **Dashboard** (professori, aule, risorse, materie, classi, studenti); - le schermate di **monitoraggio delle assenze** (professori, classi, studenti, personale); - i **prospetti di servizio** del modulo **Servizio del personale** (griglia, assegnazioni, pianificazione, foglio presenze); - le schermate di **visualizzazione**, di **riorganizzazione** e di **impaginazione** di un orario; - la schermata dei dettagli di un professore o di un membro del personale. **In lettura-scrittura** — i due soli casi — condivide l'**inserimento delle disponibilità** di un professore o di un membro del personale: il link dedicato consente alla persona interessata di indicare e confermare le sue disponibilità, e di modificare il proprio profilo, fino alla data di scadenza, **senza account né password** Omniscol. Il link è collegato alla sua identità ed è proposto solo sulla sua stessa scheda. Le disponibilità di classe, di aula, di gruppo o di materia restano schermate di modifica interne: non si raccolgono tramite link di condivisione. Ogni URL firmato porta il perimetro richiesto e una data di scadenza. #### Creare un link di condivisione Dal modulo **Orario**, selezioni l'orario da condividere (studente, classe, aula…) poi clicchi sull'icona di condivisione **Condivisione**. La finestra **Condivisione** che si apre propone: - **Data di scadenza** — data fino alla quale gli URL generati restano validi. - **Schede Web, iCal e JSON** — visibili a seconda dei formati generati per la condivisione. Copia poi l'URL desiderato. La finestra di dialogo può mostrare un QR code per i link destinati a una consultazione umana. #### Limitare o invalidare un link La condivisione pubblica non tiene un registro dei link emessi: Omniscol non fornisce né un elenco consolidato dei link già trasmessi, né un contatore di accessi, né la revoca link per link. L'invalidazione passa quindi attraverso l'account portante (password, disattivazione) e attraverso la data di scadenza. Per limitare il rischio: - scelga una data di scadenza breve; - condivida unicamente il perimetro necessario; - utilizzi, per le diffusioni di squadra, un **account di servizio identificato** anziché un account personale; - in caso di diffusione non desiderata, cambi o reimposti la password dell'account portante, oppure disattivi tale account se necessario. Il cambio di password invalida i link portati da questo account, anche se la nuova password è identica in chiaro, poiché l'hash memorizzato cambia. La disattivazione o l'eliminazione dell'account portante interrompe anch'essa l'accesso. #### Sicurezza - L'URL contiene un token firmato e difficile da indovinare. - Il link espone **unicamente le schermate iscritte nel suo token**, non il resto dell'account. Per un **orario di entità** (e per qualsiasi flusso **iCal**), il filtro è fissato nel token: il destinatario resta confinato a questa entità — un genitore che dispone del link dell'orario di suo figlio non può raggiungere l'orario di un altro studente. Una condivisione di **schermata orario completa**, invece, riflette i **diritti dell'account che l'ha generata**: per una diffusione esterna mirata, condivida l'orario dell'entità precisa anziché l'intera schermata. - La validità è delimitata dalla data di scadenza. - La validità dipende anche dall'account portante: cambio di password, disattivazione o eliminazione invalidano i link associati. - Chiunque possieda l'URL può consultare il perimetro condiviso fino alla scadenza o all'invalidazione. #### Integrare un orario in una pagina (iframe) **Oggi non è possibile su un altro sito.** Per proteggersi dal dirottamento del clic, Omniscol vieta di essere visualizzato in una cornice (`iframe`) ospitata su un dominio diverso dal proprio. Se prova a integrare un orario nel suo ambiente digitale di apprendimento, nella sua intranet o nel suo sito pubblico, il browser **rifiuta** di visualizzare la cornice. Questo blocco di sicurezza è imposto da Omniscol e non si modifica dall'account dell'istituto. L'unica eccezione, rara nella pratica, è una pagina servita esattamente sullo stesso dominio della sua istanza Omniscol. Per diffondere comunque un orario su un sito esterno, tre soluzioni semplici: - **un link** verso l'URL di condivisione: il lettore apre l'orario in una nuova scheda, senza cornice integrata; - **un abbonamento iCal**, affinché l'orario compaia nell'agenda della persona (Google Calendar, Outlook…) — vedere [iCal — abbonamento e link dinamico](#page-integrations.ical); - **un pannello informativo**, per uno schermo pubblico nei locali — vedere [Pannello informativo](#page-panels.lobby-panel). #### Procedura — Creare un link per i genitori con scadenza 1. **Per condividere l'orario di una classe con i genitori** senza creare loro account: un link pubblico firmato, limitato nel tempo. 2. **Apra l'orario di destinazione** nel modulo **Orario**: selezioni la classe interessata. L'icona di condivisione **Condivisione** si trova nella barra del titolo della vista. 3. **Finestra di condivisione**: scelga la **data di scadenza**. Per una condivisione con i genitori, utilizzi al massimo la fine del periodo scolastico interessato. 4. **Copi il formato utile.** Web per una consultazione diretta, iCal per un abbonamento agenda, JSON unicamente se è prevista un'integrazione API. Omniscol può anche mostrare un QR code per una diffusione stampata. 5. **Trasmetta il link** tramite il canale previsto: riunione genitori, newsletter, ambiente digitale di apprendimento, intranet o messaggio mirato. 6. **Se il link circola fuori dalla cerchia voluta**, crei un nuovo link più limitato poi invalidi i link portati dal vecchio account se necessario: cambio di password, disattivazione o eliminazione dell'account portante. #### Vedi anche - [Portale ospite (genitori, osservatori)](#page-portal.guest-portal) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Condividere un orario tramite link pubblico](#page-schedules.share-link) --- ## 11. Pannelli di affissione ### 11.1 Configurare un pannello informativo per un atrio o un corridoio *Source: `help/it/panels/lobby-panel.md` · id: panels.lobby-panel · Audience: admin · Plan: standard · Updated: 2026-05-12* Un **pannello informativo** è una pagina web da caricare a schermo intero in un browser, su un televisore, un monitor o un tablet, per diffondere al pubblico della scuola le lezioni e gli eventi del giorno. È il modulo da usare per uno schermo di accoglienza, uno schermo in un corridoio, davanti a un laboratorio o di fronte a un'aula magna: il contenuto dipende unicamente da ciò che si filtra, non dal luogo in cui lo schermo è collocato. Può creare quanti pannelli desidera, ciascuno con il proprio filtro e il proprio URL di accesso. #### Creare un nuovo pannello Nel modulo **Orario**, il pulsante **Pannello informativo** apre la schermata di configurazione. L'elenco a sinistra mostra i pannelli esistenti; il pulsante **Aggiungere** (verde) crea un nuovo pannello vuoto. Può anche **duplicare** un pannello esistente con **Duplicare**, il che è più rapido se gestisce una flotta di schermi che condividono la stessa veste grafica. Ogni pannello riporta un'**Etichetta**, per ritrovarlo nell'elenco, e un **Titolo**, mostrato in alto sullo schermo pubblico. I due possono differire: `Atrio principale — campus A` lato amministrazione, `Benvenuti alla Scuola X — campus A` lato schermo. #### Filtrare le lezioni mostrate Il filtro principale — la proprietà **Mostrare** — sceglie ciò che va sullo schermo. Quattro assi complementari: - **Livelli** — tutte le classi di un livello in una volta sola (per esempio tutte le classi della prima media). - **Classi** — selezione esplicita di una o più classi. - **Siti** — tutte le aule di un sito (utile per uno schermo collocato nell'atrio di un sito preciso). - **Aule** — selezione esplicita di una o più aule (utile per un pannello che copre un'ala di un edificio). Filtro vuoto = tutte le lezioni. È il valore predefinito adatto per uno schermo di atrio centrale che deve mostrare ciò che accade ovunque nella scuola. Un secondo elenco — **Nascondere** — permette di escludere puntualmente alcune lezioni dal flusso mantenuto: - **Materie** da nascondere (per esempio non mostrare l'educazione fisica se si svolge lontano dall'edificio principale), - **Tipi di lezione** da nascondere (per esempio nascondere gli esami che non devono essere annunciati al pubblico). Filtro e maschera si sommano: si mantiene tutto ciò che corrisponde al filtro, poi si rimuove ciò che corrisponde alla maschera. #### Regolare la fascia oraria mostrata La proprietà **Fasce orarie** controlla quante lezioni in avanti il pannello mostra: - **Fine della giornata** (predefinito) — scorre le lezioni in corso e in programma per oggi (la lezione in corso resta mostrata fino alla sua ora di fine). Adatto a uno schermo che serve tutta la giornata. - **finestra scorrevole** — a intervalli di 30 min fino a **+ 2 h**, poi a ore intere fino a **+ 12 h**. Il pannello mostra solo ciò che inizia nella finestra scelta a partire dall'ora corrente. Utile per uno schermo di atrio molto affollato in cui si vuole evitare il muro di informazioni: mostrare solo le due ore successive, per esempio. L'aggiornamento è automatico lato browser, senza ricaricamento manuale; quando l'ora corrente avanza, le lezioni passate escono dalla finestra e le successive vi entrano. #### Aggiungere messaggi temporanei La sezione **Informazioni** permette di mostrare uno o più messaggi di testo sul pannello, ciascuno con una fascia oraria propria. Casi tipici: - annunciare un evento (`Riunione genitori-insegnanti in aula B204 alle 17\:30`), - avvisare di un disagio (`Lavori nell'ala sud, accesso dall' ingresso posteriore`), - diffondere un messaggio di benvenuto (`Benvenuti alla giornata di porte aperte`). Ogni messaggio riporta un testo libero, un'ora di inizio e un'ora di fine. Al di fuori di questa fascia, il messaggio scompare automaticamente — non deve tornare a rimuoverlo in seguito. #### Recuperare l'URL pubblico del pannello Una volta salvato, ogni pannello ha un **URL unico** da aprire a schermo intero sul dispositivo di destinazione. L'URL contiene un hash segreto che autorizza l'accesso senza autenticazione — è ciò che permette a un televisore non autenticato di mostrare il contenuto. Finché l'hash non è diffuso pubblicamente, il pannello non è accessibile. Buona pratica: aprire questo URL in un browser in modalità **chiosco a schermo intero** (Chrome `--kiosk`, Firefox F11), preferibilmente su un mini-PC o su un box per segnaletica collegato allo schermo. Il browser gestisce da solo l'aggiornamento e lo scorrimento. #### Procedura — Creare un pannello informativo 1. **Un pannello informativo è una pagina web** da caricare a schermo intero su un televisore o un monitor per diffondere le lezioni del giorno. 2. **Faccia clic su** **Aggiungere** per creare un nuovo pannello vuoto. Può anche duplicare un pannello esistente per ripartire da una base — risparmio di tempo se gestisce una flotta di schermi con la stessa veste grafica. 3. **Inserisca l'etichetta** (**Etichetta** — lato amministrazione, per ritrovarsi nell'elenco) e il **titolo** (mostrato in alto sullo schermo pubblico). Per esempio: `Atrio principale — campus A` lato amministrazione, `Benvenuti alla Scuola X` lato schermo. 4. **Scelga il filtro delle lezioni** nella proprietà **Mostrare**: livelli, classi, siti o aule. Filtro vuoto = tutte le lezioni. Per un pannello di atrio centrale, di solito è vuoto. Per uno schermo davanti a un'aula, selezioni quell'aula. 5. **Aggiunga eventualmente messaggi temporanei** con la loro fascia oraria (riunione, disagio, accoglienza). Al di fuori della fascia, il messaggio scompare automaticamente dalla visualizzazione. 6. **Salvi.** Recupera l'URL unico del pannello, da aprire a schermo intero sul dispositivo di destinazione (Chrome `--kiosk`, Firefox F11). L'aggiornamento è poi automatico. #### Vedi anche - [Pannello informativo](#page-glossary.panel) - [Pannello davanti a un'aula](#page-panels.room-panel) - [Personalizzazione dei pannelli](#page-panels.customization) ### 11.2 Configurare un pannello informativo davanti a un'aula *Source: `help/it/panels/room-panel.md` · id: panels.room-panel · Audience: admin · Plan: standard · Updated: 2026-06-13* Un **pannello davanti a un'aula** è un caso particolare del pannello informativo: la configurazione è la stessa di un pannello d'atrio, ma il filtro punta a **una sola aula** invece che a un sito o a un livello. Lo schermo mostrato accanto a una porta mostra solo l'occupazione dell' aula corrispondente, il che risponde alla domanda che si pongono le persone nel corridoio: *«che cosa succede in quest'aula adesso e dopo?»* Casi tipici: - una porta di aula magna, - l'ingresso di un laboratorio o di un'aula informatica, - un'aula polivalente condivisa da più indirizzi, - uno studio o un'officina (musica, design, video). #### Configurazione Il modulo **Orario** propone lo stesso pulsante **Pannello informativo** di un pannello d'atrio. La differenza sta nel filtro: nella sezione **Mostrare**, scelga **Aule** e selezioni la singola aula corrispondente. Gli altri parametri sono identici al pannello d'atrio: - **Etichetta** lato amministrazione (per esempio `Porta B204`), **titolo** lato schermo (per esempio `Aula B204 — Scienze sperimentali`). - **Fascia oraria**: preferisca **+ 2 h** o **+ 4 h** anziché tutta la giornata — per un'aula, l'utente vuole soprattutto sapere la lezione in corso e quella successiva. - **Dimensione del carattere**: **Grande** è spesso adatta per uno schermo letto a 1-2 metri in un corridoio, più piccola se lo schermo è vicino. - **Messaggi**: pratici per annunciare una prenotazione puntuale (`Aula riservata per il consiglio di classe alle 14`) o un' indisponibilità (`Aula in manutenzione fino alle 15`). #### Più aule sullo stesso schermo Se uno schermo copre più aule vicine (un'ala di un edificio, le aule di uno stesso laboratorio), può selezionare più aule nel filtro. Le lezioni di tutte le aule mantenute vengono allora **unite in un unico elenco ordinato per orario**; se supera lo schermo, il pannello lo **impagina** (scorrimento di pagine). Non alterna aula per aula. Per una visualizzazione realmente distinta per aula, crei un pannello per aula — ciascuno ha il proprio URL. Uno stesso mini-PC può mostrare più pannelli facendo ruotare più schede a schermo intero, tramite la funzione chiosco del browser o del sistema (non è un parametro Omniscol). #### URL e distribuzione Ogni pannello ha il proprio URL unico, senza login, da aprire in modalità chiosco a schermo intero sul dispositivo installato accanto alla porta. L' aggiornamento è automatico, per interrogazione periodica: la visualizzazione si ri-filtra secondo l'ora corrente circa ogni minuto, e i dati vengono ricaricati ogni cinque minuti — nessuna azione manuale, ma l'aggiornamento non è istantaneo. #### Procedura — Creare un pannello davanti a un'aula 1. **Un pannello davanti a un'aula** mostra l'occupazione di quell'aula nelle ore successive. Differenza rispetto al pannello d'atrio: filtro mono-aula, fascia oraria breve, dimensione del carattere adatta a una lettura da corridoio. 2. Faccia clic su **Aggiungere** nel modulo **Orario** per creare un nuovo pannello (oppure duplichi un pannello d'atrio esistente e lo regoli). 3. **Inserisca etichetta e titolo.** Etichetta lato amministrazione (`Porta B204`), titolo lato schermo (`Aula B204 — Scienze sperimentali`). Il titolo è ciò che vedono le persone nel corridoio. 4. **Filtro: sezione Mostrare → Aule**, selezioni **l'aula corrispondente**. Per uno schermo che copre un'ala (più aule vicine), le selezioni tutte — le loro lezioni vengono unite in un elenco ordinato per orario, impaginato se necessario. 5. **Parametri specifici della porta di un'aula:** - **Fascia oraria**: preferisca `+ 2 h` o `+ 4 h` anziché la giornata intera — l'utente vuole sapere la lezione in corso e quella successiva. - **Dimensione del carattere**: `Grande` per uno schermo letto a 1-2 m. - **Messaggi**: utile per annunciare una prenotazione puntuale o un'indisponibilità. 6. **Salvi.** Recuperi l'URL unico del pannello, da aprire in modalità chiosco a schermo intero sul dispositivo installato accanto alla porta. Aggiornamento automatico per interrogazione periodica (ri-filtraggio circa ogni minuto, ricaricamento dei dati ogni cinque minuti). #### Vedi anche - [Pannello informativo](#page-glossary.panel) - [Pannello informativo](#page-panels.lobby-panel) - [Personalizzazione dei pannelli](#page-panels.customization) ### 11.3 Personalizzazione visiva dei pannelli informativi *Source: `help/it/panels/customization.md` · id: panels.customization · Audience: admin · Plan: standard · Updated: 2026-05-12* I pannelli informativi Omniscol sono concepiti per integrarsi visivamente nella sua veste grafica. Sono possibili due livelli di personalizzazione: (1) i parametri **nell'interfaccia** (sufficienti per la maggior parte dei casi), (2) la **sostituzione completa** della pagina web che rende il pannello (per le installazioni con forte identità visiva). #### Parametri nell'interfaccia Nel modulo **Orario**, il pulsante **Pannello informativo** apre la schermata di configurazione dei pannelli. Questa schermata espone le seguenti opzioni di resa, modificabili senza toccare il codice: - **Dimensione del carattere** — piccola, media o grande. La visualizzazione usa unità relative alla dimensione della finestra (`vmin`), quindi la leggibilità resta coerente qualunque sia il formato dello schermo (`16:9`, `4:3`, verticale). - **Colori** — colore di sfondo, colore del testo, colori delle righe pari e dispari della griglia delle lezioni. Sono accettati tutti i codici esadecimali; può riprodurre la palette della sua veste grafica. - **Banda di testata** — combinazione ordinata di: **titolo**, **logo**, **data del giorno**. Sceglie ciò che appare in testata e in quale ordine. - **Colonne della griglia** — selezione e ordine tra: **aula**, **classi**, **professori**, **materia**, **orari**. Nascondere una colonna (per esempio i professori su un pannello pubblico all' ingresso) o riordinarla è immediato. - **Formato del nome dei professori** — nome-cognome, cognome-nome, titolo + cognome (Sig.ra Durand), titolo + nome. I titoli `Sig.` e `Sig.ra` seguono automaticamente la lingua dell'interfaccia; ciò che si imposta per pannello è il **formato** scelto. - **Logo** — il logo dell'istituto caricato nella configurazione della scuola può essere mostrato nella banda di testata. Questi parametri vengono salvati nella configurazione del pannello. Attenzione: a differenza delle lezioni e dei messaggi, che si aggiornano da soli, queste opzioni **visive** (colori, dimensione, colonne, banda, formato dei nomi) sono integrate nella pagina nel momento in cui si carica. Dopo averli salvati, **ricarichi le schede** già aperte sugli schermi (F5 o riavvio della pagina chiosco) affinché adottino la nuova resa. #### Sostituzione completa del modello (licenza MIT) Il modello che rende la pagina di visualizzazione è esplicitamente sotto **licenza MIT** e può essere copiato e poi adattato per personalizzare un pannello di istituto. Questo apre diversi scenari per gli istituti che vogliono andare oltre i parametri: - **Ridisegno visivo completo** — riscrivere l'HTML/CSS del modello per aderire a una veste grafica forte (carattere proprietario, animazioni specifiche, impaginazione non standard). - **Integrazione in una segnaletica esistente** — incorporare il contenuto di un pannello Omniscol in una pagina di visualizzazione globale che combina lezioni, meteo, notizie della scuola, video… - **Viste operative specifiche** — creare una visualizzazione per esempio per i sorveglianti (chi deve fare che cosa), per un servizio tecnico (occupazione delle aule con fabbisogni materiali), ecc. A tal fine, due approcci complementari: 1. **Fork del modello** — se ospita autonomamente Omniscol, duplichi `panel.dot`, lo modifichi e distribuisca la sua versione. La licenza MIT autorizza esplicitamente le modifiche, le ridistribuzioni e gli usi commerciali. 2. **API JSON del pannello** — se vuole mantenere Omniscol come fonte di dati ma rendere la visualizzazione lato terzi, l'URL del pannello espone anche una variante JSON (`GET /panels/:accesshash/lessons`). Restituisce l'elenco delle lezioni filtrate secondo la configurazione del pannello, pronte a essere consumate da un sistema di segnaletica di terzi (Yodeck, Xibo, ScreenCloud, un cruscotto interno). Questo URL si apre con la chiave di accesso del pannello, senza token aggiuntivo. Per integrazioni sistema a sistema più ampie, l'API REST Omniscol è descritta in [API Omniscol](#page-integrations.api-tokens). #### Raccomandazioni pratiche Alcuni punti che ricorrono spesso nelle installazioni: - **Contrasto** — uno sfondo scuro + testo chiaro riposa di più su uno schermo che gira 12 h al giorno di uno sfondo bianco. - **Carattere di dimensione «Grande»** non appena lo schermo è letto a più di 2 m (tipico di un atrio di ingresso). Mantenga «Media» per gli schermi di porta di aula, visti più da vicino. - **Logo nella banda di testata** — sempre utile per l'identificazione rapida quando più pannelli coesistono in un grande campus. - **Data nella banda di testata** — utile in atrio (i visitatori verificano la data), meno utile davanti a un'aula (il contesto è evidente). - **Nascondere la colonna professori** sui pannelli pubblici se il suo istituto ha regole interne sulla visualizzazione dei nomi. #### Procedura — Riprodurre la veste grafica della scuola su un pannello 1. **Due livelli di personalizzazione**: (1) parametri nell' interfaccia (sufficienti nel 90 % dei casi), (2) sostituzione completa del modello MIT per le vesti grafiche forti. 2. **Apra la configurazione del pannello** nel modulo **Orario**, tramite il pulsante **Pannello informativo**. La schermata mostra le opzioni di resa: colori, dimensione, banda di testata, colonne, formato dei nomi. 3. **Allinei i colori alla sua veste grafica**: colore di sfondo, colore del testo, colori delle righe pari/dispari. Codici esadecimali accettati. Per uno schermo 12h/giorno, preferisca **sfondo scuro + testo chiaro** (più riposante). 4. **Banda di testata**: scelga l'ordine di **logo**, **titolo**, **data**. Logo utile non appena vi sono più pannelli su un campus. Data utile in atrio, superflua davanti a un'aula. 5. **Colonne della griglia**: selezioni e riordini tra aula, classi, professori, materia, orari. Per un pannello **pubblico all'ingresso** in cui il suo regolamento vieta la visualizzazione dei nomi, nasconda la colonna **professori**. **Formato dei nomi** (se mantenuto): nome-cognome, cognome-nome, titolo+cognome, titolo+nome. 6. **Dimensione del carattere**: grande non appena letto a più di 2 m (atrio), media per porta di aula (vista da vicino). Unità relative in `vmin` — la leggibilità resta coerente qualunque sia il formato dello schermo. 7. **Salvi, poi ricarichi gli schermi.** Questi parametri visivi sono integrati nella pagina al caricamento: ricarichi (F5) le schede già aperte sui pannelli affinché adottino la nuova resa. **Per andare oltre** (ridisegno completo, integrazione di segnaletica di terzi Yodeck/Xibo/ScreenCloud): il modello `panel.dot` è sotto **licenza MIT**, fork autorizzato. La variante JSON dell'URL del pannello (`GET /panels/:accesshash/lessons`) espone il dato pronto a essere consumato da un sistema esterno, con la chiave di accesso del pannello. Per l'API REST più ampia, si veda [API Omniscol](#page-integrations.api-tokens). #### Vedi anche - [Pannello informativo](#page-panels.lobby-panel) - [Pannello davanti a un'aula](#page-panels.room-panel) - [Pannello informativo](#page-glossary.panel) - [API Omniscol](#page-integrations.api-tokens) --- ## 12. Migrazione da un altro software ### 12.1 Migrazione da un altro programma — Panoramica *Source: `help/it/migration/overview.md` · id: migration.overview · Audience: admin · Updated: 2026-05-10* Arriva su Omniscol da un altro programma di gestione degli orari? Esistono diverse vie a seconda del programma di origine e della ricchezza dell'esportazione disponibile. #### Approcci disponibili ##### 1. Importatori di formato nativo Per due programmi, Omniscol legge direttamente il file di esportazione nativo, senza passare per un foglio di calcolo intermedio: Lei seleziona il file o i file dalla schermata Importazione / Esportazione (l'importazione UnDeuxTEMPS, in più file `.DBF`, si trova nella sezione dei formati francesi). | Programma di origine | Formato letto direttamente | Pagina dedicata | | --- | --- | --- | | ASC Timetables | file XML aSc | [Da aSc Timetables](#page-migration.from-asc) | | UnDeuxTEMPS | file UDT (`.DBF`) | [migration.from-undeuxtemps](#page-migration.from-undeuxtemps) | Per gli altri programmi (Hyperplanning, EDT / Pronote, ADE), il recupero passa per l'**importazione massiva** da foglio di calcolo descritta al punto 2: Lei esporta i suoi dati dal programma di origine, li mette in forma in un foglio di calcolo, poi li importa. Ogni pagina qui sotto descrive le corrispondenze e le insidie proprie del programma in questione: - [Da Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [Da EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [Da ADE / ADE Campus](#page-migration.from-ade) > **Aurion e Auriga** sono **ERP** (gestione amministrativa scolastica), > e non programmi di pianificazione. Omniscol si interfaccia con essi ma > non li sostituisce. Vedere [integrations.aurion](#page-integrations.aurion) e > [integrations.auriga](#page-integrations.auriga) per le modalità di integrazione. ##### 2. Importazione generica da foglio di calcolo Se il suo programma di origine non ha un importatore nativo, oppure se preferisce controllare la messa in forma: estragga i suoi dati in un foglio di calcolo (Excel, Google Sheets, Numbers, Calc) e utilizzi l'**importazione massiva** di Omniscol. Vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import). ##### 3. API diretta Per una migrazione **automatizzata** (per esempio se desidera sincronizzare durante un periodo di transizione tra due programmi), può scrivere uno script che invia i dati tramite l'API di Omniscol. Vedere [API Omniscol](#page-integrations.api-tokens). ##### 4. Reinserimento manuale Per i piccoli istituti o le migrazioni parziali, l'inserimento manuale resta possibile. Preveda da qualche ora a qualche giorno a seconda delle dimensioni. #### Strategia di migrazione consigliata 1. **Mappare i propri dati** — prima di tutto, faccia l'inventario di ciò che desidera trasferire: professori, studenti, aule, materie, struttura delle classi, orario attuale, disponibilità, assenze. 2. **Decidere il perimetro** — spesso non si trasferisce tutto. Gli studenti possono restare nel SIS ed essere sincronizzati in seguito. Gli orari storici possono restare archiviati a parte. 3. **Effettuare un'importazione parziale di prova** — su un sottoinsieme (una classe, una coorte) per validare la qualità del trasferimento. 4. **Definire il calendario** — spesso si passa all'**inizio dell'anno scolastico successivo** anziché in corso d'anno, per evitare di gestire la continuità. 5. **Formare gli utenti** — Omniscol ha convenzioni diverse dai programmi concorrenti. Preveda del tempo di formazione, soprattutto sui concetti di dominio ([Partizione di classe](#page-glossary.class-division), [Allineamento dei gruppi](#page-glossary.alignment), [Gruppo di gruppi](#page-glossary.groups-of-groups)). #### Specificità terminologiche a seconda del programma di origine | Termine del programma concorrente | Equivalente Omniscol | | --- | --- | | « ressource » nel senso di Hyperplanning (professore, aula, classe…) | Più entità a seconda del caso | | « cours » nel senso di EDT/Pronote (l'unità collocata) | [Lezione / Sessione](#page-glossary.lesson) | | « cours » nel senso didattico (materia di una classe) | [Corso](#page-glossary.course) | | « bâtiment » | Tag o edificio sulla [Aula](#page-glossary.classroom) | | « formation » nell'istruzione superiore | [Classe](#page-glossary.class) o insieme di classi | | « UE / EC / ECUE » | [Materia](#page-glossary.subject) con convenzione di denominazione | #### Vedi anche - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) - [API Omniscol](#page-integrations.api-tokens) - [FAQ — casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) - [FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) ### 12.2 Migrare da Hyperplanning (Index Education) *Source: `help/it/migration/from-hyperplanning.md` · id: migration.from-hyperplanning · Audience: admin · Updated: 2026-06-30* Hyperplanning (Index Education) è lo strumento di gestione degli orari più diffuso nell'istruzione superiore francese. Migrare verso Omniscol richiede di recuperare i dati esistenti (utenti, strutture, orari in corso) e di adattarli ai concetti di Omniscol. Questa pagina riassume le corrispondenze e le insidie note. #### Ciò che si trasferisce direttamente | Hyperplanning | Omniscol | | --- | --- | | Promotion (tronco comune) | Classe | | Partizione di una promotion | Gruppi disgiunti; **partizione di classe** se questi gruppi condividono la stessa fascia oraria (esercitazioni/laboratori simultanei) | | Gruppo di esercitazione (derivato da una partizione) | Gruppo di una partizione di classe | | Opzione | Gruppo | | Raggruppamento | Gruppo di gruppi (o allineamento tra classi/promotion diverse) | | Cours | Corso (e le sue lezioni) | | Materia / modulo (UE, EC) | Materia (spesso personalizzata) | | Calendario / periodi | Vista calendario (orario datato, Premium); finestre di date per l'inclusione/esclusione di periodi | | Aula | Aula (specializzazione da recuperare) | | Docente esterno / a contratto | Professore contrassegnato come «esterno» (opzione Premium) | #### Ciò che richiede attenzione - **Allineamenti**: in Hyperplanning, far seguire uno stesso corso a gruppi di esercitazione o a opzioni di più promotion nello stesso momento avviene tramite un **corso condiviso** (spesso creato con un raggruppamento). Quando questo corso condiviso impone la stessa fascia oraria, la stessa aula e lo stesso professore a gruppi di classi diverse, si tratta dell'**allineamento** Omniscol. Vedere [Allineamenti di gruppi](#page-core-concepts.alignments). - **Raggruppamenti**: un raggruppamento Hyperplanning riunisce più gruppi affinché seguano uno stesso corso; in Omniscol si tratta di un **gruppo di gruppi** (disponibile su tutte le offerte). Vedere [Gruppi di gruppi](#page-core-concepts.groups-of-groups). A seconda del caso, un raggruppamento tra classi o promotion diverse può anche rientrare nell'**allineamento** descritto sopra. - **Lezioni associate** (alternanza tra mezze classi): Omniscol gestisce questo nativamente tramite le **lezioni associate**. Vedere [Lezioni complesse](#page-core-concepts.complex-lessons). - **Servizio di insegnamento**: la continuità didattica (stesse risorse da una lezione all'altra) si riproduce mantenendo lo stesso professore e la stessa aula sulle lezioni di un corso — non esiste un'entità dedicata. - **Corsi su calendario**: se utilizza Hyperplanning in vista calendario per moduli con date precise, Omniscol copre le stesse esigenze con la sua [modalità calendario](#page-timetables.calendar-mode), inclusa nell'offerta Premium. - **Hyperplanning e Aurion**: se il suo istituto utilizza Hyperplanning **e** Aurion, la migrazione riguarda unicamente la pianificazione; Aurion continua ad alimentare la struttura amministrativa. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Procedura 1. **Recuperare i dati** da Hyperplanning verso un foglio di calcolo — elenchi dei docenti, degli studenti, delle aule e dei corsi. A seconda della sua versione, ciò avviene tramite copia-incolla di un elenco o tramite la sua esportazione; faccia riferimento alla documentazione Hyperplanning. 2. **Preparare i file Omniscol** nel formato di importazione: utenti CSV, corsi CSV. Vedere [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data). 3. **Creare un account Omniscol sandbox** per testare l'importazione senza rischi. 4. **Importare in più passaggi**: - utenti (professori, studenti), - classi e gruppi, - materie, - corsi tramite l'[importazione massiva da foglio di calcolo](#page-timetables.mass-import). 5. **Ricostruire i corsi complessi** (allineamenti, lezioni associate, settimane alternate) a mano se l'importazione li ha appiattiti. 6. **Verificare la diagnostica** e correggere le incoerenze rilevate. 7. **Avviare una generazione di prova** per validare la fattibilità. 8. **Snapshot** prima di passare all'account di produzione. #### Migrare gli utenti in modo graduale Buona pratica: importare gli utenti in Omniscol dapprima in stato **inattivo**. Lei valida i dati, applica la configurazione (SSO se applicabile) e attiva gli account in un unico passaggio quando tutto è pronto. Questo evita che gli utenti ricevano un invito prematuro. #### Ciò che non si migra - **Lo storico di Hyperplanning** oltre gli orari in corso — per conservare lo storico, mantenga Hyperplanning in sola lettura come archivio anziché migrare tutto. - **Le personalizzazioni visive** di Hyperplanning — le rifaccia in Omniscol secondo la sua identità grafica. Vedere [Personalizzazione dei pannelli](#page-panels.customization). #### Procedura — Migrazione Hyperplanning → Omniscol 1. **Migrare da Hyperplanning**: la sequenza in 8 passaggi segue l'ordine esportazione → preparazione → sandbox → importazione multi-passaggio → correzione dei corsi complessi → diagnostica → generazione di prova → passaggio. 2. **Passaggio 1 — Recupero da Hyperplanning**: estragga gli elenchi (docenti, studenti, aule, corsi) verso un foglio di calcolo. A seconda della versione, tramite copia-incolla di un elenco o tramite la sua esportazione — vedere la documentazione Hyperplanning. Più i dati sono puliti a monte, più il seguito è rapido. 3. **Passaggi 2-3 — Preparazione + sandbox**: adatti le colonne al modello Omniscol (vedere [Preparare i propri dati](#page-getting-started.preparing-data)). Crei un **account Omniscol sandbox** per testare l'importazione senza rischi sulla produzione. 4. **Passaggio 4 — Importazione multi-passaggio** nell'ordine: **utenti** → **classi e gruppi** → **materie** → **corsi** tramite [importazione massiva](#page-timetables.mass-import). L'ordine conta: i corsi fanno riferimento alle classi e ai professori, che devono preesistere. 5. **Passaggio 5 — Corsi complessi**: allineamenti (corsi comuni a più promotion lato Hyperplanning → allineamenti Omniscol), lezioni associate (alternanza tra mezze classi), settimane alternate A/B. L'importazione spesso li appiattisce — li ricostruisca a mano tramite le icone dei casi complessi sulla scheda del corso. 6. **Passaggi 6-7 — Diagnostica + generazione di prova**: lasci funzionare la diagnostica, corregga le incoerenze. Avvii una **generazione automatica** per verificare la fattibilità complessiva prima di migrare in produzione. 7. **Passaggio 8 — Messa in produzione**: crei uno **snapshot** prima di passare. Attivi gli account utente (importati come inattivi fino a questo punto). Pubblichi. Mantenga Hyperplanning in sola lettura come archivio — la migrazione non trasferisce lo storico oltre gli orari in corso. Se dispone anche di **Aurion**: la migrazione riguarda unicamente la pianificazione, Aurion resta fonte amministrativa. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Vedi anche - [Panoramica della migrazione](#page-migration.overview) - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) ### 12.3 Migrare da EDT / PRONOTE (Index Education) *Source: `help/it/migration/from-edt.md` · id: migration.from-edt · Audience: admin · Updated: 2026-06-30* **EDT** e **PRONOTE** (Index Education) sono gli strumenti più diffusi nell'istruzione secondaria francese — scuole secondarie di primo e secondo grado, pubbliche e private. La coppia copre l'orario (EDT) e la vita scolastica — voti, pagelle, registro di classe (PRONOTE). Migrare verso Omniscol riguarda innanzitutto la parte relativa all'orario; per la vita scolastica avanzata (voti, pagelle, comunicazioni ai genitori), PRONOTE può restare in parallelo. #### Il percorso più diretto: l'export STSweb EDT costruisce le sue strutture a partire da **STSweb**: i **servizi** (un insegnante assicura un volume orario di una materia in una classe) provengono da STSweb e vi risalgono al termine della preparazione. È una buona notizia per la migrazione, perché **Omniscol importa direttamente un export STSweb** (file STS) dalla schermata [Importazione ed esportazione](#page-admin.import-export). Questa importazione ricostituisce in un colpo solo i dati di struttura: istituto (codice UAI), anno scolastico, **materie**, **livelli** (MEF) e la relativa griglia oraria regolamentare, **classi** (divisioni), **gruppi**, **insegnanti** e i **servizi** — che diventano **corsi** Omniscol. Il dettaglio dei formati francesi supportati è descritto in [admin.french-formats](#page-admin.french-formats). Il foglio di calcolo resta utile per ciò che STSweb non porta (aule, raggruppamenti particolari, preferenze di dettaglio): vedere l'importazione massiva qui sotto. #### Ciò che si riprende in altro modo - **Aule, siti remoti**: STSweb non descrive le aule in modo dettagliato. Le riprenda dal foglio di calcolo o le reinserisca, poi ricostituisca i siti. Per un insieme di aule interscambiabili (l'equivalente di un « gruppo di aule » EDT), utilizzi una **specializzazione dell'aula** condivisa che il solver rispetterà. Vedere [Specializzazioni delle aule](#page-core-concepts.classroom-specializations). - **Preferenze e indisponibilità degli insegnanti**: la granularità differisce da quella di EDT; prevedere un reinserimento (invio dei link di inserimento prima dell'inizio dell'anno) o un'importazione approssimativa da regolare. - **Vacanze e calendario scolastico**: si definiscono nella configurazione dell'anno scolastico (modello per paese o inserimento), non tramite l'export. #### Ciò che resta in PRONOTE Omniscol non riprende (e può lasciarli in PRONOTE): - voti, valutazioni, pagelle, competenze; - registro di classe, compiti; - vita scolastica in senso ampio (comunicazioni ai genitori, sondaggi); - le assenze possono restare in PRONOTE, oppure essere seguite in Omniscol se preferisce trasferirvele. #### Corrispondenze principali | EDT / STSweb | Omniscol | | --- | --- | | Classe (divisione) | Classe | | Parte di classe | Gruppo; **partizione di classe** per la relazione di esclusività nella stessa fascia oraria | | Gruppo (bisogni, specialità, opzione, lingua) | Gruppo (intra-classe); allineamento o gruppo di gruppi se inter-classi | | Servizio (STSweb) | Corso (le lezioni ne derivano al posizionamento) | | Materia | Materia | | Aula / gruppo di aule | Aula; pool interscambiabile = aula non fissata (assegnazione automatica) o specializzazione condivisa | | Sito remoto | Sito (con tempo di spostamento) | | Preferenza / indisponibilità insegnante | Disponibilità; livello « impossibile » (nero) per un'indisponibilità | | Alternanza Q1 / Q2 (quindicine) | Settimane alternate A / B | | Studio assistito / biblioteca (CDI) | Servizio del personale (sorveglianza) + un corso « studio » per il gruppo senza lezione | #### Procedura 1. **Recuperare l'export STSweb** (file STS) dell'istituto — è la fonte ufficiale delle strutture e dei servizi. 2. **Importare il file STS** in un account Omniscol sandbox, dalla schermata [Importazione ed esportazione](#page-admin.import-export). La struttura (istituto, anno, materie, livelli, classi, gruppi, insegnanti, servizi → corsi) si ricostituisce in un colpo solo. Vedere [admin.french-formats](#page-admin.french-formats). 3. **Completare dal foglio di calcolo** ciò che STSweb non porta (aule, specializzazioni, raggruppamenti particolari) tramite l'importazione massiva. Vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) e [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data). 4. **Verificare l'alternanza delle settimane**: la convenzione Q1/Q2 di EDT deve corrispondere alle settimane alternate **A/B** di Omniscol. 5. **Riprendere le preferenze e le indisponibilità** degli insegnanti — reinserimento o importazione approssimativa da regolare. 6. **Avviare la diagnostica** Omniscol, poi una generazione di prova. 7. **Snapshot** prima di passare all'account di produzione. #### Coesistenza EDT + Omniscol durante la transizione Durante un periodo transitorio (spesso un trimestre), è frequente mantenere PRONOTE per la vita scolastica e trasferire l'orario su Omniscol. PRONOTE riceve normalmente il suo orario da EDT; se desidera continuare a visualizzarvi orari gestiti altrove, verifichi con Index Education che cosa PRONOTE è in grado di consumare — non presuma che un flusso esterno venga ripreso così com'è. #### Migrazione scolastica tipica Caso standard di una scuola secondaria di primo o secondo grado che passa da EDT a Omniscol: - export STSweb a giugno, - importazione e prove Omniscol durante l'estate, - passaggio all'inizio dell'anno scolastico a settembre, - PRONOTE mantenuto per la vita scolastica se l'istituto lo desidera. #### Procedura — Migrazione scolastica tipo giugno → settembre 1. **Il caso tipo di un istituto** che passa da EDT/PRONOTE a Omniscol: export a giugno, prove durante l'estate, passaggio all'inizio dell'anno. PRONOTE mantenuto per la vita scolastica se desiderato. 2. **Giugno — Export STSweb**: recuperi il file STS dell'istituto (la fonte ufficiale delle strutture e dei servizi). In mancanza, esporti gli elenchi di EDT (corsi, servizi, classi) verso un foglio di calcolo — a seconda della Sua versione, tramite export di elenchi o copia-incolla; veda la documentazione EDT. 3. **Luglio — Account sandbox Omniscol**: importi il file STS dalla schermata [Importazione ed esportazione](#page-admin.import-export) (vedere [admin.french-formats](#page-admin.french-formats)). La struttura si ricostituisce in un colpo solo. Prova senza pressione: se qualcosa non va, itera con calma. 4. **Agosto — Completare dal foglio di calcolo** ciò che STSweb non porta (aule, specializzazioni delle aule, raggruppamenti) tramite l'importazione massiva (vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import)). Allinei l'**alternanza delle settimane** (Q1/Q2 di EDT → A/B di Omniscol). 5. **Agosto — Preferenze e disponibilità** degli insegnanti: la granularità differisce. Prevedere un **reinserimento** (invio dei link di inserimento prima dell'inizio dell'anno), oppure un'**importazione approssimativa** da regolare in seguito. 6. **Fine agosto — Diagnostica** Omniscol per individuare le incoerenze (materie mancanti, conflitti, disponibilità non trasposte). Avvii una **generazione di prova** sulle settimane di inizio anno per convalidare la fattibilità. 7. **Settembre — Passaggio**: snapshot prima, poi pubblicazione degli orari. **PRONOTE mantenuto** per la vita scolastica se lo desidera. #### Vedi anche - [Panoramica](#page-migration.overview) - [Da Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [admin.french-formats](#page-admin.french-formats) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) ### 12.4 Migrare da aSc Timetables *Source: `help/it/migration/from-asc.md` · id: migration.from-asc · Audience: admin · Updated: 2026-06-30* **aSc Timetables** (Slovacchia) è un software di generazione degli orari di lunga data e molto diffuso, in particolare negli istituti internazionali e in vari paesi dell'Europa centrale. Buona notizia: Omniscol legge e scrive direttamente il file nativo di aSc Timetables, senza foglio di calcolo intermedio né rimappatura manuale delle strutture. #### Un file, in entrambi i sensi aSc Timetables salva un orario in un file **XML** (formato « aSc Timetables 2012 »). Omniscol è in grado di: - **leggere** questo file per ricostituire un orario completo (classi, gruppi, professori, materie, aule, corsi); - **riscrivere** un file dello stesso tipo a partire da un orario Omniscol, per riaprirlo in aSc o Edupage (soluzione di vita scolastica dello stesso editore). Tutto avviene dalla schermata [Importazione ed esportazione](#page-admin.import-export), senza manipolazioni tecniche: per esportare, il pulsante Esportare in formato aSc (.xml) ; per importare, si seleziona semplicemente il file XML prodotto da aSc. Il percorso di andata e ritorno è **reversibile**: esportare e poi reimportare restituisce la stessa struttura lato Omniscol, a meno delle convenzioni di denominazione. #### Ciò che viene trasposto Ripreso automaticamente alla lettura del file: - **Classi** e i relativi **gruppi** (comprese le partizioni per i laboratori). - **Materie** con i loro codici. - **Aule** con la loro capienza. - **Professori** (cognome, nome, recapiti). - **Corsi** (materia, volume, professore) e le loro **lezioni** posizionate (giorno, fascia oraria, aula). - **Ricreazioni e pause** della giornata. - **Settimane alternate** (A/B) se sono configurate in aSc. #### Ciò che richiede un'occhiata dopo l'importazione - **Vincoli complessi** propri di aSc (vincoli di sequenza, aula condizionale, anti-concatenamento molto specifico): Omniscol li converte al meglio, ma alcune regole si esprimono in altro modo e meritano una rilettura. L'aula condizionale rientra piuttosto nelle [Specializzazioni delle aule](#page-core-concepts.classroom-specializations); le altre, nelle [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) e nei [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints). - **Corsi condivisi da più classi** (una materia comune a più classi): convertiti in [Gruppi di gruppi](#page-core-concepts.groups-of-groups). Verificare che il risultato corrisponda alla Sua intenzione. - **Rinomina e andata e ritorno**: Omniscol non conserva gli identificativi interni di aSc; quando riscrive un file aSc, ricostruisce le corrispondenze a partire dalle entità, in particolare dal loro **nome**. In pratica, se prevede di riesportare verso aSc, eviti di rinominare nel frattempo le classi, i professori e le materie, altrimenti le corrispondenze si disallineano. #### Procedura 1. **In aSc**: salvi il Suo orario in formato **XML** (versione 2012 o quella più prossima proposta dal Suo aSc). 2. **Crei un account Omniscol sandbox** per fare prove senza rischi. 3. **Importi il file** dalla schermata [Importazione ed esportazione](#page-admin.import-export): selezioni il file XML aSc, poi confermi. 4. **Legga la diagnostica** Omniscol per individuare le incoerenze (corsi senza aula, disponibilità non trasposte, ecc.). 5. **Regoli i vincoli complessi** che non è stato possibile convertire automaticamente. 6. **Avvii una generazione di prova** per verificare che i vincoli producano un risultato conforme a quello che aveva in aSc. 7. **Effettui uno snapshot** prima di passare all'account di produzione. #### Continuare ad alimentare aSc in parallelo Se mantiene aSc per il tempo di una transizione, l'export inverso consente di continuare ad alimentarlo da Omniscol — utile, ad esempio, quando istituti partner consultano ancora aSc. Il file prodotto si riapre in aSc Desktop (versione 2012 o successiva). #### Punti di attenzione - **Caratteri accentati**: se alcuni accenti risultano errati dopo un'andata e ritorno, si tratta di una questione di codifica del file. L'export Omniscol utilizza per impostazione predefinita la codifica attesa da aSc Desktop; verifichi semplicemente che un nome accentato sopravviva all'andata e al ritorno. - **Motori di generazione differenti**: aSc e Omniscol non hanno lo stesso profilo di solver. Un orario che si generava facilmente in aSc può richiedere qualche regolazione in Omniscol, e viceversa. - **Versioni di aSc**: la lettura mira al formato 2012. Versioni più vecchie possono non essere direttamente compatibili — in tal caso, passi per un salvataggio in formato 2012 da aSc Desktop. #### Procedura — Andata e ritorno XML aSc ↔ Omniscol 1. **Omniscol legge e scrive il file nativo di aSc Timetables 2012**: andata e ritorno diretto, senza foglio di calcolo intermedio. 2. **Lato aSc**: salvi l'orario in formato **XML 2012** (o la versione più prossima) e conservi il file sul Suo computer. 3. **Lato Omniscol sandbox**: apra [Importazione ed esportazione](#page-admin.import-export) e selezioni il file XML aSc. L'importazione ricostituisce classi, gruppi, materie, aule, professori, corsi, settimane alternate e ricreazioni. 4. **Verifichi la diagnostica**: corsi senza aula, disponibilità non trasposte, corsi multi-classe convertiti in [Gruppi di gruppi](#page-core-concepts.groups-of-groups). Promemoria: per un'andata e ritorno pulita, non rinomini classi, professori e materie se prevede di riesportare — Omniscol si basa sul loro nome per ricostruire le corrispondenze. 5. **Regoli i vincoli complessi** propri di aSc (sequenze, anti-concatenamento molto specifico): la conversione fa del suo meglio, alcune regole si esprimono in altro modo in Omniscol. Vedere [Disponibilità dei professori](#page-core-concepts.wishes-and-availability). 6. **Avvii una generazione di prova** in Omniscol per verificare che il risultato sia conforme. ⚠ aSc e Omniscol non hanno lo stesso profilo di solver; un orario facile in aSc può richiedere regolazioni in Omniscol, e reciprocamente. 7. **Export inverso** (se mantiene aSc in parallelo): pulsante Esportare in formato aSc (.xml) in [Importazione ed esportazione](#page-admin.import-export). Il file si riapre in aSc Desktop 2012+; l'andata e ritorno preserva la struttura (perdite minori solo sulle convenzioni di denominazione). #### Vedi anche - [Panoramica](#page-migration.overview) - [Importazione ed esportazione](#page-admin.import-export) - [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) ### 12.5 Migrare da ADE / ADE Campus *Source: `help/it/migration/from-ade.md` · id: migration.from-ade · Audience: admin · Updated: 2026-06-30* **ADE** (dell'editore Adesoft), spesso utilizzato nella sua versione web **ADE Campus**, è diffuso nell'istruzione superiore, in particolare nelle università e nelle grandes écoles. ADE è **incentrato sull'attività** (la « sessione di corso ») e si sincronizza di frequente con il sistema informativo dell'istituto (Apogée, Pegase, Aurion, UNIT4…). Il passaggio a Omniscol riguarda innanzitutto la pianificazione; la sincronizzazione con il Suo sistema informativo resta da riconfigurare lato Omniscol. #### Ambito Ciò che viene trasposto: - **programmi** (PGE, CPGE, BBA…) e i relativi gruppi (gruppi di servizio, mezze promozioni); - **docenti** (permanenti, non permanenti, a contratto); - **attività** (sessioni di corso) con il loro tipo, la loro durata e il numero di ripetizioni; - **aule e attrezzature** (per edificio e piano, con la loro capienza); - **disponibilità e indisponibilità** delle risorse. ADE e Omniscol hanno modelli complessivamente compatibili, ma le convenzioni di denominazione differiscono. Prevedere una mappatura iniziale. #### Corrispondenze | ADE (ADE Campus) | Omniscol | | --- | --- | | Programma (PGE, CPGE, BBA…) | Più classi (una **promozione**/anno = una classe) | | Gruppo di servizio / mezza promozione | Gruppo; **partizione di classe** se due mezze promozioni seguono lezioni diverse nella stessa fascia oraria | | Docente | Professore | | Attività (sessione di corso) | Corso (e le sue lezioni) | | Tipologia di attività (lezione frontale, esercitazione, laboratorio…) | Tipo di lezione | | Modalità (in presenza, a distanza…) | Modalità (attributo Premium) | | Limite / iscritti | Effettivo teorico — nessun limite distinto (il limite di posti deriva dalla capienza dell'aula) | | Aula / attrezzatura (edificio, piano, capienza) | Aula (sito, capienza); solo l'attrezzatura **mobile** diventa una risorsa | | Disponibilità / indisponibilità (scala di colori) | Disponibilità: 4 livelli — impossibile / indesiderato / preferito / neutro | | Associazione di attività | A seconda del legame: allineamento, concatenazione o lezioni associate | | Codice CURSUS / UNIT4 | Identificativo esterno (traccia della sincronizzazione con il SI) | #### Procedura 1. **Recuperare i dati** da ADE — programmi, docenti, aule, attività. ADE presenta i dati in **elenchi configurabili** (viste Listing, scelta delle colonne) che è possibile stampare o esportare verso un foglio di calcolo tramite il menu **Stampa**. 2. **Preparare i file Omniscol** a partire da questi export (vedere [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data)). 3. **Importare da un foglio di calcolo** in un orario di prova (vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import)). 4. **Ricostituire i collegamenti**: allineamenti (le associazioni di attività lato ADE), alternanze, partizioni di mezze promozioni — ADE e Omniscol non utilizzano esattamente le stesse primitive. 5. **Avviare una generazione di prova**. #### Punti di attenzione - **ADE pianifica su date precise**: la vista **Placement** (settimana, giorno, inizio, fine) e la barra delle settimane fanno di ADE uno strumento di tipo calendario. Per ritrovare questo comportamento, utilizzare la modalità calendario di Omniscol, inclusa nell'offerta Premium (vedere [Modalità calendario](#page-timetables.calendar-mode)). - **Mezze promozioni e gruppi di servizio**: un programma si suddivide spesso in gruppi di servizio e mezze promozioni. Lato Omniscol, le mezze promozioni corrispondono a una **partizione di classe**; pensare alla granularità dei gruppi fin dall'avvio. - **Aule imposte o « a scelta »**: in ADE, un'aula può essere imposta a un'attività oppure lasciata alla scelta del motore. Lato Omniscol, un'aula imposta viene mantenuta tale e quale dall'algoritmo; per un'aula « a scelta », lasciare la lezione senza un'aula precisa — l'algoritmo ne sceglie una sul sito, rispettando la capienza e l'eventuale **specializzazione dell'aula** richiesta (un insieme di aule interscambiabili si modella con una specializzazione condivisa). Vedere [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) e [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment). - **Disponibilità graduate**: ADE gestisce disponibilità su più livelli (dal verde al rosso, più uno strato dinamico). Omniscol utilizza **disponibilità** a 4 livelli (impossibile, indesiderato, preferito, neutro) — riprendere soprattutto gli estremi (impossibile e preferito), i livelli intermedi si rielaborano in seguito. - **Responsabile didattico**: ADE associa un responsabile didattico a ciascuna attività. Omniscol non porta questo ruolo a livello di corso; conservare l'informazione tramite una convenzione di denominazione o un promemoria se Le è utile. - **Flussi iCal**: ADE pubblica spesso gli orari in flussi iCal. L'importazione Omniscol non legge l'iCal; un export iCal dovrà prima essere convertito in una tabella. - **Sincronizzazione con il sistema informativo**: se ADE era sincronizzato con il Suo SI (Apogée, Pegase, Aurion, UNIT4…), dovrà riconfigurare questa sincronizzazione lato Omniscol — spesso tramite l'API o la sincronizzazione con sistemi esterni. Il campo **Codice CURSUS / UNIT4** di ADE ne è la traccia lato sorgente. Vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync). #### Procedura — Migrazione ADE → Omniscol (istruzione superiore) 1. **ADE (Adesoft), spesso in versione ADE Campus**, è diffuso nell'istruzione superiore. La migrazione riguarda innanzitutto la pianificazione; la sincronizzazione con il sistema informativo (Apogée, Pegase, Aurion, UNIT4) resta da riconfigurare lato Omniscol. 2. **Recupero dei dati ADE**: programmi, docenti, aule, attività (con tipo, durata, ripetizioni, limite). ADE presenta questi dati in elenchi configurabili (viste Listing) che si stampano o si esportano tramite il menu **Stampa**. Un flusso iCal dovrà prima essere convertito in una tabella (l'importazione non legge l'iCal). Se pianifica su date precise, conservi anche questo aspetto. 3. **Mappatura iniziale**: ADE e Omniscol hanno modelli compatibili ma convenzioni di denominazione diverse. Preparare i file secondo il modello Omniscol (vedere [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data)). Pensare alla granularità dei **gruppi di studenti** (mezze promozioni, gruppi di servizio) fin dall'avvio — è il punto delicato nell'istruzione superiore. 4. **Importazione da un foglio di calcolo** in un orario di prova: docenti, programmi, materie, aule, poi attività (vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import)). Il foglio di calcolo dei corsi non comprende una colonna di identificativo esterno; per i futuri abbinamenti con il Suo sistema informativo, prevedere piuttosto la sincronizzazione esterna (vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync)). 5. **Ricostituzione dei collegamenti**: allineamenti multi-programma (le **associazioni** di attività lato ADE), alternanze, partizioni di mezze promozioni. Riprendere anche le aule lasciate « a scelta » lasciando che l'algoritmo le assegni (tramite una specializzazione condivisa se necessario). ADE e Omniscol non utilizzano esattamente le stesse primitive — prevedere una passata manuale di rifinitura. Se ADE pianificava su date precise, utilizzare la **modalità calendario** di Omniscol (inclusa in Premium) per preservare questo comportamento (vedere [Modalità calendario](#page-timetables.calendar-mode)). 6. **Generazione di prova** Omniscol per convalidare la fattibilità. Diagnostica, correzioni, iterazione. Più prove esegue prima del passaggio, meno correzioni dovrà apportare dopo. 7. **Riconfigurazione del sistema informativo**: se ADE era sincronizzato con Apogée, Pegase, Aurion o UNIT4, dovrà riconfigurare questa sincronizzazione lato Omniscol tramite l'API (vedere [API Omniscol](#page-integrations.api-tokens)) o la sincronizzazione con sistemi esterni (vedere [Sincronizzazione con sistemi esterni](#page-integrations.extsync)). Per Aurion in particolare, vedere [integrations.aurion](#page-integrations.aurion) — 3 modalità possibili. #### Vedi anche - [Panoramica](#page-migration.overview) - [API Omniscol](#page-integrations.api-tokens) - [Sincronizzazione con sistemi esterni](#page-integrations.extsync) - [Modalità calendario](#page-timetables.calendar-mode) ### 12.6 Migrare da un foglio di calcolo Excel artigianale *Source: `help/it/migration/from-spreadsheet.md` · id: migration.from-spreadsheet · Audience: admin · Updated: 2026-05-12* Molti istituti — soprattutto le piccole strutture, le scuole private, i percorsi formativi brevi — gestiscono ancora il proprio orario in un foglio di calcolo Excel artigianale. Migrare verso Omniscol è in questo caso particolarmente semplice: nessun formato proprietario da decodificare, solo un po' di disciplina per strutturare i dati. #### Prima di iniziare: fare ordine Un foglio di calcolo dell'orario riunisce spesso più «schede» di natura diversa: l'elenco dei professori, quello delle classi, quello delle materie, la griglia dell'orario, note varie. Prima dell'importazione, chiarisca: - l'**elenco dei professori** (una scheda pulita), - l'**elenco degli studenti** (una scheda pulita, se esiste), - l'**elenco delle classi** e dei loro effettivi, - l'**elenco delle aule**, - i **corsi**: per ogni riga, classe, materia, professore, aula, giorno, ora, durata. Se il suo foglio di calcolo non separa queste informazioni, lo faccia ora — è comunque necessario per l'importazione. #### Formato di importazione atteso L'importazione avviene tramite **copia-incolla** dal suo foglio di calcolo (Excel, Google Sheets, Numbers, Calc…), in un modello di colonne documentato. Le colonne vengono riconosciute in base alla loro **posizione** (Lei riorganizza il modello affinché corrisponda al suo file), non in base al nome dell'intestazione. Vedere [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) per i dettagli (ordine delle colonne, formati delle date, codici delle materie, ecc.). Per i corsi, l'[Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) è lo strumento dedicato: Lei **copia-incolla** direttamente le righe del suo foglio di calcolo in un'area modificabile, con una struttura riga = corso. #### Procedura 1. **Pulire** il foglio di calcolo di origine: rimuovere le colonne inutili, uniformare le diciture (un professore non deve comparire con tre grafie diverse). 2. **Preparare una scheda per tipo di entità**: professori, studenti, classi, aule, corsi — incollerà ogni scheda a turno. 3. **Account Omniscol di prova** per validare l'importazione senza rischi. 4. **Importazioni successive**, iniziando dai dati di riferimento (professori, aule, materie) prima dei corsi che vi fanno riferimento. 5. **Verificare la diagnostica** Omniscol per rilevare ciò che non è stato interpretato correttamente. 6. **Avviare una generazione di prova** (anche se mantiene il posizionamento manuale del suo foglio di calcolo) per validare la fattibilità. #### Vantaggi della migrazione - **Un unico strumento** riunisce il foglio di calcolo, i PDF degli orari e gli aggiornamenti che circolavano via e-mail. - **Aggiornamento in tempo reale**: ognuno vede l'ultima versione non appena cambia. - **Diffusione automatica**: iCal, pannelli di affissione, portali studenti e professori. - **Diagnostica**: Omniscol rileva i conflitti che il suo foglio di calcolo lascia passare. #### Mantenere il foglio di calcolo in sola lettura come archivio Non è necessario eliminare il suo foglio di calcolo storico. Lo mantenga in sola lettura come archivio (per esempio in una cartella condivisa) — può servire se desidera ritrovare una configurazione passata. Omniscol diventa allora la fonte di verità operativa; il foglio di calcolo resta una testimonianza storica. #### Procedura — Migrare un orario Excel artigianale 1. **Il caso più semplice**: un orario gestito in un Excel artigianale. Nessun formato proprietario da decodificare, solo disciplina per strutturare i dati prima dell'importazione. 2. **Prima dell'importazione — fare ordine** nel foglio di calcolo di origine. Se il suo file mescola professori, classi, aule e corsi sulla stessa scheda, separi dapprima in schede tematiche: professori, studenti, classi, aule, corsi. 3. **Pulisca** ogni scheda: niente colonne inutili, **uniformi le diciture** (un professore non deve comparire con tre grafie diverse), elimini le righe unite. Una riga = un'entità. 4. **Account Omniscol di prova**: crei un account di prova prima di toccare la produzione. Valida le importazioni senza rischi. 5. **Importazioni successive**, nell'ordine delle dipendenze: **prima i dati di riferimento** (professori, aule, materie), **poi i corsi** (che vi fanno riferimento). Utilizzi l'[Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) per i corsi — vi incolla le sue righe direttamente dal foglio di calcolo. 6. **Diagnostica**: Omniscol rileva le incoerenze (corsi senza aula, professori sconosciuti, conflitti) che il suo foglio di calcolo non vede. Corregga prima di passare. 7. **Generazione di prova** (facoltativa — se desidera mantenere il posizionamento manuale) per validare la fattibilità. **Passaggio**: il suo vecchio Excel resta in sola lettura come archivio; Omniscol diventa la fonte di verità, con diffusione automatica (iCal, pannelli, portali) e aggiornamento in tempo reale. #### Vedi anche - [Panoramica](#page-migration.overview) - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) --- ## 13. Specificità dell'istruzione superiore ### 13.1 Specificità dell'istruzione superiore — panoramica *Source: `help/it/higher-ed/overview.md` · id: higher-ed.overview · Updated: 2026-06-13* L'istruzione superiore, la formazione continua e i centri di formazione hanno vincoli molto diversi da quelli della scuola primaria e secondaria. Questa sezione raccoglie le pagine che trattano tali specificità. #### Caratteristiche tipiche - **Modalità [calendario](#page-glossary.calendar-mode)** anziché settimanale — gli insegnamenti sono raramente ricorrenti per tutto l'anno, le lezioni tendono a essere datate una per una. - **Numerosi docenti esterni** — docenti a contratto, professori ospiti, esperti. Si veda [Docenti esterni](#page-higher-ed.external-faculty). - **Coorti parallele** anziché classi uniche — un master può avere più percorsi che condividono alcuni corsi, con specializzazioni in comune ma progetti propri. - **Co-docenza** frequente (coppie di docenti, doppia competenza). - **Esami su più aule** (anfiteatri sdoppiati). Si veda [Esami in più aule](#page-higher-ed.multi-room-exams). - **Link alla videoconferenza per corso** (corso ibrido, parziale a distanza). Si veda [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links). - **Studenti ripetenti o fuori percorso** da gestire. #### Raccomandazioni di configurazione - **Account [Premium](#page-overview.plans-and-options)** — include la modalità calendario, le disponibilità datate, più orari attivi e gli **eventi occasionali** (discussioni di tesi, commissioni, giornate di orientamento). Anche la qualificazione a distanza / ibrida delle lezioni — la loro **[modalità](#page-glossary.lesson-modality)** — ne fa parte; il solo **link alla videoconferenza** resta disponibile su tutti gli account. - **Modalità calendario** per l'orario o gli orari principali, indispensabile nella maggior parte dei casi dell'istruzione superiore. - **Più orari attivi in parallelo** se si combinano corsi ricorrenti e corsi occasionali, se l'istituto comprende più facoltà indipendenti, oppure se si tratta di un gruppo di scuole. - **Gruppi di gruppi** per i raggruppamenti in evoluzione. - **Inserimento delle disponibilità in modalità calendario** — disponibilità inserite data per data dai docenti, consolidate in tempo reale. - **API + integrazioni** con il Suo SIS o ERP — spesso [la sincronizzazione con sistemi esterni](#page-integrations.extsync) nelle scuole di business e di ingegneria. Sincronizza le entità (professori, aule) e il catalogo dell'offerta formativa, e riporta le lezioni come interventi verso il sistema centrale, fonte di verità dell'istituto. #### Terminologia Ciò che le scuole di istruzione superiore chiamano **piano di studi**, **programma**, **offerta formativa** o **syllabus** corrisponde, sul versante Omniscol, all'**insieme dei [corsi](#page-glossary.course)** di una classe o di un percorso formativo — dove ciascun corso è una materia tipizzata, assegnata a una classe, con il suo monte ore e i suoi vincoli. Le sue **[lezioni](#page-glossary.lesson)** ne sono le occorrenze pianificate. Gli altri termini dell'istruzione superiore designano entità Omniscol più generiche, documentate nel glossario: **corsista** e **partecipante** rimandano allo [studente](#page-glossary.student); **docente esterno**, **docente a contratto**, **professore di ruolo** ed **esperto** al [professore](#page-glossary.teacher); **coorte**, **sessione** e **percorso di ingresso** alla [classe](#page-glossary.class). #### Casi d'uso dell'istruzione superiore - [FAQ — casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) - [FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) #### Vedi anche - [Modalità Calendario](#page-glossary.calendar-mode) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Docenti esterni](#page-higher-ed.external-faculty) - [Esami in più aule](#page-higher-ed.multi-room-exams) - [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links) ### 13.2 Sessioni, coorti, programmi, percorsi *Source: `help/it/higher-ed/sessions-and-tracks.md` · id: higher-ed.sessions-and-tracks · Updated: 2026-05-12* Nell'istruzione superiore la struttura didattica è meno lineare che nella scuola. Uno studente appartiene a una **coorte** (il suo gruppo di anno), ma anche a **percorsi** o **programmi** (la sua specializzazione) e a **gruppi** di esercitazione o di laboratorio. A volte segue più coorti contemporaneamente (minor, doppio percorso). Questa pagina riassume come Omniscol modella queste situazioni. #### Coorte = classe Omniscol La **coorte** (informalmente, la «classe» di un dato anno) corrisponde alla classe Omniscol in senso amministrativo, per esempio *«L3 Informatica 2026»* o *«M2 Finanza 2025-2027»*. È l'entità che raccoglie il gruppo di studenti entrato nella stessa sessione. Le classi sono nominate senza ambiguità, con la data di ingresso per i percorsi più ampi: - `L1 SI 2026` — Laurea triennale primo anno in Scienze per l'Ingegneria, ingresso 2026, - `M1 Marketing 2026-2028` — Laurea magistrale primo anno, due anni. #### Percorsi e specializzazioni Un **percorso** è un indirizzo didattico all'interno di una coorte o trasversale a più coorti: *«opzione Data»*, *«minor Imprenditorialità»*, *«doppio diploma XYZ»*. La modellazione Omniscol dipende dalla complessità: - **Percorso semplice** all'interno di una coorte — un **gruppo** dentro la classe (per esempio `L3-Info 2026-Parcours Data`). - **Percorso trasversale** che attraversa più coorti — un **gruppo di gruppi** che raccoglie i gruppi corrispondenti di più classi. Si veda [Gruppi di gruppi](#page-core-concepts.groups-of-groups). - **Doppio percorso** (studenti che seguono due percorsi completi) — un caso particolare in cui lo stesso studente riceve **due assegnazioni di classe** durante l'anno. È l'eccezione alla regola generale secondo cui due classi non condividono studenti. #### Sessioni Una **sessione** è un periodo di insegnamento definito: un semestre, un trimestre, un modulo intensivo di 2 settimane. Omniscol gestisce le sessioni tramite: - gli **intervalli di pubblicazione** degli orari (un orario per sessione, pubblicato sulle settimane corrispondenti), - gli **anni scolastici** (un anno scolastico può coprire più sessioni). Per i percorsi formativi brevi o non ricorrenti (seminari, moduli di formazione continua), è preferibile la **modalità calendario** (inclusa nel piano Premium) rispetto alla classica griglia settimanale. Si veda [Modalità calendario](#page-higher-ed.calendar-mode). #### Studenti con percorsi atipici Casi frequenti nell'istruzione superiore: - **Studenti ripetenti** che superano alcuni esami e non altri. - **Studenti in mobilità** (Erasmus, scambio) — assegnati a una classe ospitante con adeguamenti di percorso. - **Studenti in apprendistato** — alternano settimane a scuola e settimane in azienda; il ritmo è modellato tramite le settimane alternate o tramite un orario calendario dedicato. #### Vedi anche - [Panoramica](#page-higher-ed.overview) - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [Modalità calendario](#page-higher-ed.calendar-mode) ### 13.3 Docenti esterni (a contratto, visiting) *Source: `help/it/higher-ed/external-faculty.md` · id: higher-ed.external-faculty · Audience: admin · Updated: 2026-06-13* L'istruzione superiore ricorre ampiamente a **docenti esterni**: docenti a contratto di settore, professionisti che intervengono in modo occasionale, professori invitati da altri istituti (visiting). La loro gestione è diversa da quella dei docenti di ruolo: poche ore, un calendario subìto dall'istituto anziché scelto, talvolta un contratto a ora. #### Contrassegnare un docente come esterno Nella scheda professore ([Gestire i professori](#page-admin.teachers)), l'interruttore **Insegnante esterno** (disponibile con il piano Premium) consente di distinguere i docenti a contratto da quelli di ruolo. Il contrassegno ha due effetti concreti: - un'**icona** [user-tie] davanti al nome del docente negli elenchi e nelle descrizioni delle lezioni, - una **colonna dedicata** nelle viste a tabella e nelle esportazioni a foglio di calcolo, per isolare i docenti a contratto (per esempio per seguire le ore svolte dai docenti di ruolo rispetto agli esterni). #### Inserimento delle disponibilità La disponibilità di un docente a contratto è spesso **per data** anziché settimanale: accetta di intervenire martedì 12 marzo e martedì 19 marzo, ma non tutti i martedì. Per questo caso, l'inserimento delle [disponibilità in modalità calendario](#page-timetables.calendar-wishes), incluso nel piano Premium, è la soluzione naturale. Senza il piano Premium, inserisca **disponibilità settimanali** approssimative (martedì pomeriggio) e poi blocchi le lezioni una a una a mano. #### Servizio orario e contratto I docenti a contratto hanno in genere un **monte ore** definito al momento del reclutamento (`30 ore sull'anno`, `un modulo di 15 ore`). Il campo **Servizio orario** nella scheda consente di tracciare il monte ore; la diagnosi segnala se le ore pianificate lo superano. Per il contratto a ora (pagamento a lezione anziché al mese), l'esportazione delle statistiche per professore alimenta il processo di retribuzione / fatturazione esterna. #### Comunicazione I docenti a contratto hanno meno accessi all'applicazione rispetto a un docente di ruolo. Tre casi d'uso: - **Account completo** — il docente a contratto riceve le sue credenziali e consulta il suo orario, inserisce le sue disponibilità, dichiara le sue assenze dal portale professore. - **Solo link iCal** — nessun account, solo un link di abbonamento iCal per sincronizzare le sue lezioni con l'agenda personale. - **Promemoria via e-mail (fuori dall'applicazione)** — l'amministratore avvisa il docente a contratto via e-mail prima dei suoi interventi; il docente non si collega mai. Questo promemoria è manuale: Omniscol non invia una notifica automatica per lezione. Un promemoria di questo tipo si sviluppa facilmente al di fuori di Omniscol tramite l'API di recupero degli orari, filtrando sui professori. Un'elaborazione settimanale, per esempio, costruisce un riepilogo inserito in un modello proprio dell'istituto, poi lo invia tramite il servizio di posta dell'istituto. Passare per questo servizio preserva la reputazione del mittente e limita i falsi positivi anti-spam. Da calibrare in base al profilo (un consulente senior non ha il tempo di gestire l'ennesimo account; un dottorando che insegna qualche ora vi si adatterà facilmente). #### Procedura — Onboarding di un docente a contratto 1. **Un docente a contratto che interviene 15 ore sull'anno**: contrassegno esterno, disponibilità per data, monte ore, modalità di comunicazione adeguata. 2. **Crei la scheda professore** in **Professori**. Compili nome, cognome, e-mail e attivi **Insegnante esterno**. Il contrassegno aggiunge l'icona [user-tie] davanti al nome e una colonna dedicata nelle viste a tabella e nelle esportazioni. 3. **Monte ore**: campo **Servizio orario**, inserisca il monte ore contrattuale (`15`). La diagnosi segnala se le ore pianificate lo superano. Utile per la retribuzione a ora e il monitoraggio del contratto. 4. **Disponibilità**: su un account Premium, il docente a contratto inserisce le sue disponibilità **data per data** tramite le [disponibilità in modalità calendario](#page-timetables.calendar-wishes) — si addice perfettamente a un calendario subìto. Altrimenti, **disponibilità settimanali approssimative** + blocco delle lezioni una a una a mano. 5. **Modalità di comunicazione** — scelga in base al profilo: - **Account completo** — per un dottorando che insegna qualche ora; credenziali, portale professore, disponibilità, assenze; - **Solo link iCal** — per un consulente senior troppo occupato per l'ennesimo account; solo l'abbonamento all'agenda; - **Promemoria via e-mail (fuori dall'applicazione)** — l'amministratore avvisa il docente a contratto via e-mail, a mano (Omniscol non invia un promemoria automatico per lezione); il docente non si collega mai. 6. **Esportazione statistiche** a fine mese o di semestre per la **retribuzione/fatturazione esterna**: ore svolte per lezione, materia, classe. Si veda [Stampare e condividere](#page-schedules.print-and-export). La colonna Esterno delle esportazioni consente di isolare i docenti a contratto. #### Vedi anche - [Gestire i professori](#page-admin.teachers) - [Disponibilità al calendario](#page-timetables.calendar-wishes) - [Insegnante esterno](#page-glossary.external-teacher) - [Panoramica](#page-higher-ed.overview) ### 13.4 Aule sdoppiate ed esami in più aule *Source: `help/it/higher-ed/multi-room-exams.md` · id: higher-ed.multi-room-exams · Audience: admin · Updated: 2026-06-13* Nell'istruzione superiore, alcune lezioni occupano **più aule contemporaneamente**. Una prova parziale riunisce una coorte di 200 studenti ripartiti in 5 aule magne. Una lezione frontale sdoppiata si tiene su 2 aule magne sincronizzate in videoconferenza. Una commissione impegna 3 aule in parallelo. Omniscol gestisce questi casi tramite il concetto di **più aule**. #### Più aule: principio Una lezione (o un evento) può avere **più aule**. Tutte queste aule risultano allora occupate sulla fascia oraria, e tutti i vincoli (capienza, specializzazione, disponibilità) sono verificati in parallelo. Le più aule sono disponibili in **tutti i tipi di orario** (settimanale, ciclico, calendario). Si veda [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources). > _Premium_ Gli scenari d'esame e di commissione qui sotto si basano su **eventi occasionali** (lezioni con data collocate sopra la griglia), disponibili sugli account **Premium**. Le **più aule** su una lezione regolare restano invece disponibili su tutti gli account. #### Caso d'uso tipico: esame su più aule Una coorte `L1 Info 2026` (200 studenti) sostiene una prova parziale di algoritmica. Nessuna aula magna dell'istituto ha 200 posti, quindi l'esame si svolge contemporaneamente in: - `Amphi A` (80 posti), - `Amphi B` (70 posti), - `Amphi C` (50 posti). Modellazione Omniscol: - creare un **evento esame** sulla data e sull'orario interessati (si veda [Eventi puntuali](#page-schedules.events)), - come partecipanti: la classe `L1 Info 2026`, - come aule: `Amphi A`, `Amphi B`, `Amphi C` (più aule), - come sorveglianza: da 1 a 3 sorveglianti per aula tramite il modulo **Servizio del personale** (si veda [Panoramica del Servizio del personale](#page-staffing.overview)). Verifichi che la capienza complessiva delle aule magne (80 + 70 + 50 = 200) copra l'effettivo. Per un esame modellato come **evento**, Omniscol non calcola questa somma automaticamente: la diagnosi di capienza riguarda solo le lezioni regolari collocate sulla griglia. #### Lezione frontale sdoppiata in videoconferenza Una lezione frontale molto richiesta può essere ritrasmessa in videoconferenza da un'aula magna principale verso un'aula magna di supporto. Modellazione: - una sola lezione con due aule, - il professore è fisicamente nell'aula magna principale, - il **link di videoconferenza** della lezione contiene l'URL di ritrasmissione verso l'aula magna secondaria (un promemoria può precisare l'organizzazione). #### Commissione per le discussioni di tesi Una commissione che ascolta 10 dottorandi in parallelo in 3 aule (rotazione per terzi): - un evento per seduta di commissione, - più aule per ciascuna seduta, - **Servizio del personale** per i membri di commissione assegnati a ciascuna aula. #### Ripartizione automatica degli studenti Omniscol non assegna automaticamente quale studente va in quale aula magna. La ripartizione resta una decisione dell'istituto (ordine alfabetico, livello, tipo di prova, regole interne). Avviene a mano, oppure tramite un'esportazione a foglio di calcolo trasmessa ai sorveglianti. #### Procedura — Programmare una prova parziale su 3 aule magne 1. **Il caso tipico dell'istruzione superiore**: una prova parziale di 200 studenti su 3 aule magne simultanee. Le più aule, l'evento e il modulo **Servizio del personale** sono sufficienti. 2. **Crei l'evento esame**: nel modulo **Orario**, visualizzi il filtro **Eventi** (modalità riorganizzazione) e **clicchi e trascini** sull'agenda per tracciare la fascia con data. Titolo: `Partiel algorithmique L1 Info`, poi date e orari di inizio e di fine. Si veda [Eventi puntuali](#page-schedules.events). 3. **Partecipanti**: aggiunga la classe `L1 Info 2026` (200 studenti). Tutti gli studenti interessati si ritrovano automaticamente sull'evento, indipendentemente dall'aula magna in cui sosterranno fisicamente la prova. 4. **Aule — sono le più aule**: aggiunga le 3 aule magne (`Amphi A` 80, `Amphi B` 70, `Amphi C` 50). Le 3 aule magne risultano allora occupate contemporaneamente sulla fascia oraria. Verifichi Lei stesso che la capienza complessiva (200) copra l'effettivo (200): su un evento, questa somma non è diagnosticata automaticamente. 5. **Sorveglianti**: apra il modulo **Servizio del personale** e crei i compiti di sorveglianza per ciascuna aula magna (da 1 a 3 sorveglianti per aula secondo la Sua politica). Si veda [Panoramica del Servizio del personale](#page-staffing.overview). 6. **Ripartizione degli studenti tra le aule magne**: Omniscol non la esegue automaticamente. Questa scelta dipende dalle Sue regole interne (ordine alfabetico, livello, bilanciamento). Esporti l'elenco degli studenti in formato foglio di calcolo, effettui la ripartizione a mano o secondo le Sue regole, poi la trasmetta ai sorveglianti. Si veda [Stampare e condividere](#page-schedules.print-and-export). #### Vedi anche - [Più aule](#page-glossary.multi-room) - [Modalità](#page-glossary.lesson-modality) - [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) - [Panoramica del Servizio del personale](#page-staffing.overview) - [Eventi puntuali](#page-schedules.events) ### 13.5 Co-docenza e alternanza di docenti *Source: `help/it/higher-ed/co-teaching.md` · id: higher-ed.co-teaching · Audience: admin · Updated: 2026-06-13* Due situazioni frequenti nell'istruzione superiore: - **co-docenza** — due professori (o più) conducono insieme la stessa lezione. Caso tipico: un teorico + un professionista su una lezione di strategia, un professore di ruolo + un esperto a contratto su uno studio di caso. - **alternanza di docenti** — un corso su un periodo (un modulo, un semestre) è tenuto a turno da più professori che si alternano. Caso tipico: un modulo settoriale suddiviso in lezioni tematiche, ciascuna affidata a un esperto diverso. Entrambi i meccanismi sono gestiti nativamente da Omniscol. #### Co-docenza (compresenza) Una lezione può avere **più professori contemporaneamente**. Nel modulo **Gestione degli orari**, il selettore del professore **Assegnare i professori** accetta più voci su una stessa lezione. Gli orari individuali dei professori interessati mostrano la lezione come condotta in compresenza. Conseguenze: - Le **disponibilità** di tutti i professori in compresenza devono essere compatibili sulla fascia oraria. - Sul piano del **servizio**, la lezione compare **per intero** nell'orario di ciascun docente in compresenza. Se la Sua politica ripartisce l'ora in proporzione tra i docenti, questo calcolo avviene al momento dell'esportazione (retribuzione, fatturazione). Si veda [Lezioni complesse](#page-core-concepts.complex-lessons) per il dettaglio tecnico delle lezioni in compresenza. #### Alternanza di docenti su un modulo Più complessa: 12 lezioni di un modulo, ciascuna tenuta da un professore diverso. Due approcci: ##### Approccio A — Una materia, più corsi Crei **un corso per docente** nel modulo, ciascuno con il suo professore titolare. L'inserimento è lungo, ma il risultato resta chiaro per i docenti: ciascuno vede le sue lezioni nel proprio orario e il modulo compare come una materia con più corsi. ##### Approccio B — Modalità calendario con date precise Se le lezioni hanno date precise note, utilizzi la [modalità calendario](#page-timetables.calendar-mode), inclusa nel piano Premium: - una materia `Module Stratégie d'entreprise`, - N lezioni con data e un docente per lezione, - l'algoritmo rispetta le disponibilità di ciascun docente. Questo approccio è più compatto e naturale per i moduli intensivi. #### Promemoria per descrivere la sequenza Può aggiungere un **promemoria** Commento su ciascuna lezione per spiegare la collocazione della lezione all'interno del modulo (`Séance 3 / 12 — Stratégie financière`). Il promemoria compare negli orari e aiuta gli studenti a orientarsi. #### Procedura — Modulo con 12 docenti in rotazione 1. **Il caso del modulo settoriale**: 12 lezioni, ciascuna affidata a un esperto diverso. Qui si combinano due meccanismi: l'**approccio calendario** per datare le lezioni che si alternano, e la **compresenza** sulle sole lezioni tenute in coppia. 2. **Per questa variante con date precise**: orario in **modalità calendario**. Tutti i docenti esterni sono contrassegnati come **Esterni** sulle loro schede professore. Si veda [Docenti esterni](#page-higher-ed.external-faculty). 3. **Crei la materia unica** `Module Stratégie d'entreprise`. È il contenitore didattico del modulo. **Tipo di lezione** adeguato: spesso un mix di lezioni frontali + studi di caso. 4. **Inserisca le 12 lezioni** con date precise, ciascuna con **il suo docente**. Il titolo della lezione + il suo tema (`Séance 3/12 — Stratégie financière`) nel promemoria per aiutare gli studenti a orientarsi nella progressione. 5. **Per le lezioni in coppia** (teorico + professionista su uno studio di caso), utilizzi la **compresenza**: sulla lezione interessata, selezioni **più docenti** in **Assegnare i professori**. Gli orari individuali dei professori interessati mostrano la lezione come condotta in compresenza. 6. **Servizio orario**: la lezione compare **per intero** nell'orario di ciascun docente in compresenza. Una ripartizione proporzionale tra i docenti si gestisce al momento dell'esportazione (retribuzione, fatturazione), non in Omniscol. 7. **Verifica**: apra il portale studente per verificare la visualizzazione del modulo — le 12 lezioni compaiono nell'orario con i rispettivi docenti. I promemoria di progressione (`Séance N/12`) sono visibili al passaggio del mouse. #### Vedi anche - [Co-docenza](#page-glossary.co-teaching) - [Lezioni complesse](#page-core-concepts.complex-lessons) - [Docenti esterni](#page-higher-ed.external-faculty) - [Modalità calendario](#page-timetables.calendar-mode) ### 13.6 Modalità calendario per i percorsi senza ricorrenza *Source: `help/it/higher-ed/calendar-mode.md` · id: higher-ed.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ L'istruzione superiore non segue sempre una **ricorrenza settimanale**: moduli intensivi su 2 settimane, seminari di 3 giorni, sedute di discussione delle tesi distribuite su un mese, laboratori occasionali animati da collaboratori esterni. Per questi casi, la **modalità calendario** di Omniscol è più naturale di una griglia settimanale ricca di eccezioni. #### Quando preferire la modalità calendario Indicatori: - le lezioni hanno **date precise** anziché una fascia oraria settimanale ripetuta, - i **docenti variano** da una lezione all'altra, - i **luoghi variano** (uscita sul territorio, visita in azienda, videoconferenza), - il **ritmo** non è settimanale (a volte 3 lezioni in 2 giorni, a volte nulla per 3 settimane). Se descriverebbe il modulo con un calendario anziché con una griglia settimanale, la modalità calendario fa al caso Suo. #### Casi d'uso tipici nell'istruzione superiore - **Moduli intensivi** — un seminario di 3 giorni pieni o un intensivo su 2 settimane. - **Formazione continua** — sessioni occasionali non reiterabili in una griglia annuale. - **Seminari di ricerca** — lezioni occasionali con ospiti diversi ogni settimana. - **Discussioni di tesi e commissioni** — distribuite su alcune settimane, date precise, aule precise. - **Attività sul campo / progetti** — fasi brevi, luoghi variabili. #### Modellazione Definisce **un elenco ordinato di lezioni con data**, senza passare per una griglia settimanale: - **data e ora** precise, - **durata** (libera), - **luogo**, - **docente** (può variare da una lezione all'altra), - **destinatari**: classe/i, gruppo/i, gruppi di gruppi. La modalità calendario impiega la stessa struttura di classi / gruppi della modalità settimanale — non perde alcuno strumento organizzativo. La [generazione automatica](#page-timetables.generation) funziona anche in modalità calendario: il solver colloca le lezioni in una finestra di date obiettivo e può compattare le giornate di lezione all'inizio o alla fine del periodo. Si veda [Modalità calendario](#page-timetables.calendar-mode). #### Combinazione con un orario settimanale Può avere **un orario settimanale** per il tronco comune ricorrente al mattino e **un orario calendario** per le lezioni occasionali del pomeriggio, entrambi pubblicati in parallelo per le stesse classi; oppure i primi anni in modalità settimanale e le classi di specializzazione dell'ultimo anno in modalità calendario (si veda [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables)). #### Disponibilità dei docenti in modalità calendario L'inserimento delle [disponibilità in modalità calendario](#page-timetables.calendar-wishes) è particolarmente utile qui: i docenti a contratto inseriscono la loro disponibilità sulle date esatte, non su un ritmo settimanale. #### Vedi anche - [Modalità calendario — vista prodotto](#page-timetables.calendar-mode) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Docenti esterni](#page-higher-ed.external-faculty) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [Disponibilità in modalità calendario](#page-timetables.calendar-wishes) ### 13.7 Link alla videoconferenza per corso *Source: `help/it/higher-ed/videoconference-links.md` · id: higher-ed.videoconference-links · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Nell'istruzione superiore, molti corsi sono **a distanza** o **ibridi** (alcuni studenti in presenza, altri collegati). Ogni lezione ha allora un **link alla videoconferenza** (Zoom, Teams, Google Meet, Jitsi) che deve comparire nell'orario affinché tutti sappiano dove cliccare. #### Come associare un link Su una lezione o un evento, il campo Link alla videoconferenza accetta un URL. Per una lezione, si compila nella finestra di selezione dell'aula. Una volta compilato, l'orario mostra il link con un'icona [video]; il link si apre in una nuova scheda. Il link compare: - nel portale studente e professore sulla lezione, - nell'esportazione iCal tramite le proprietà di conferenza o di URL quando il link è presente, - nell'API JSON. #### Corsi a distanza o ibridi Il campo **[Modalità](#page-glossary.lesson-modality)** della lezione ne qualifica il formato: **In presenza**, **A distanza**, **Ibrido** oppure **Studio autonomo**. Si compila nella stessa finestra dell'aula e del link alla videoconferenza. Per un corso **interamente a distanza**, scelga la modalità **A distanza**, inserisca il link alla videoconferenza e non forzi un'aula fisica se il corso non ne utilizza alcuna. Per un corso **ibrido** (presenza + videoconferenza in parallelo), scelga **Ibrido**, mantenga l'aula fisica e inserisca anche il link. #### Link permanenti vs link per lezione A seconda del Suo strumento di videoconferenza: - **Link permanente** — Zoom personale, riunione Teams ricorrente. Lo stesso link serve per tutte le lezioni di un corso. Lo inserisca una sola volta sul corso (tutte le sue lezioni lo ereditano), oppure direttamente sulla classe per applicare un link predefinito a tutte le sue lezioni. - **Link per lezione** — ogni lezione ha il proprio URL, inserito sulla lezione (nella stessa finestra dell'aula). Riservi questo caso alle lezioni il cui link cambia ogni volta (riunione Zoom generata al momento, per esempio). #### Sicurezza Alcune buone pratiche: - **Nessun link pubblico sui corsi sensibili** — per un corso privato / esame sorvegliato, configuri la sala di videoconferenza con accesso autenticato (e non tramite link diretto). - **Link in iCal** — l'iCal è consultabile da chiunque possieda il link di condivisione. Un link alla videoconferenza inserito sulla lezione si diffonde quindi tramite iCal — verifichi che sia effettivamente ciò che desidera. - **Rinnovo** — se un link permanente è compromesso, lo rinnovi sul versante Zoom / Teams e propaghi l'aggiornamento in Omniscol (il corso o la classe, non ogni lezione). #### Vedi anche - [Modalità](#page-glossary.lesson-modality) - [Tipi di lezione](#page-admin.lesson-types) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [FAQ — casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) ### 13.8 Multi-sito nell'istruzione superiore *Source: `help/it/higher-ed/multi-site.md` · id: higher-ed.multi-site · Audience: admin · Updated: 2026-06-13* Il multi-sito è una funzionalità **disponibile a partire dal piano Standard** (disattivata solo in Lite); i principi generali sono descritti in [Siti, aule, risorse, più aule](#page-core-concepts.sites-rooms-resources). Questa pagina elenca le **specificità frequenti nell'istruzione superiore**, dove il multi-sito è quasi la norma: scuole di ingegneria su più campus, business school con sedi regionali, università multi-sito. Attenzione: in Omniscol, il [campus](#page-glossary.campus) è una nozione organizzativa distinta dal [sito](#page-glossary.site). I due spesso si sovrappongono (un campus per sito, con le sue classi dedicate). Quando occorre gestire una griglia oraria, delle aule o dei tempi di percorrenza, modelli il luogo come un sito. > Questi scenari valgono anche nell'istruzione primaria e secondaria quando l'istituto è > geograficamente distribuito (secondaria di primo grado + secondaria di secondo grado separate, scuola con > succursale dell'infanzia, ecc.). #### Caso tipico: un sito principale + sedi regionali Caso frequente nelle scuole di ingegneria o di commercio: - 1 **sito principale** (di norma la sede centrale), - da 1 a N **sedi regionali** dove coorti distaccate seguono una parte del percorso, - **docenti** che fanno la spola tra i siti. Modellazione Omniscol: un sito per luogo, tempi di percorrenza dichiarati per coppia (i treni ad alta velocità / voli / spostamenti in auto tra i siti). Si veda [Politica multi-sito](#page-core-concepts.sites-rooms-resources) per la meccanica esatta (vincoli bloccanti al minuto, pausa pranzo ridotta del tempo di percorrenza, ecc.). #### Orario separato per sito o orario globale Due filosofie a seconda dell'organizzazione interna: - **Orario globale consolidato** — un solo orario copre tutti i siti. Adatto quando i team di pianificazione sono centralizzati e i docenti circolano molto. La diagnosi incrocia tutto in un'unica passata. - **Un orario per sito** — grazie agli [più orari attivi in parallelo](#page-timetables.multiple-active-timetables), inclusi nel piano Premium. Ciascun sito ha il suo team locale, il proprio orario attivo sulle stesse settimane; alla consultazione, le viste sono fuse dinamicamente per gli studenti o i docenti che interessano più siti. #### Siti virtuali e lezioni a distanza Caso particolare: una lezione **ritrasmessa in videoconferenza** da un sito principale verso una coorte interamente a distanza. Modellazione possibile: - creare un **sito virtuale** «A distanza» senza tempo di percorrenza con il sito di ritrasmissione, il che elimina ogni vincolo temporale di spostamento, - collocarvi un'aula «Video» per coorte a distanza, - collegare questa aula alla lezione in più aule con l'aula magna di origine. > Questa modellazione resta limitata se si hanno **molte > coorti a distanza**: moltiplicare le aule virtuali > «Video» diventa oneroso da mantenere e la gestione della loro capienza > non ha davvero senso. In questo caso, documenti l'esigenza come > specifica e privilegi il link di videoconferenza direttamente sulla > lezione (o, in Premium, come impostazione predefinita sulla classe), senza creare un'aula > virtuale per coorte. Si veda [Esami in più aule](#page-higher-ed.multi-room-exams) per la meccanica delle più aule, e [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links) per i relativi link Zoom / Teams / Meet. #### Filtri e statistiche per sito Gli schermi di Omniscol espongono filtri **per sito**, per isolare un luogo fisico. Utile per: - visualizzare l'orario di un luogo preciso, - monitorare l'occupazione delle aule di una sede separatamente, - generare statistiche per sito (ore insegnate, tasso di occupazione). #### Pannelli di affissione per sito Un [pannello informativo](#page-panels.lobby-panel) può filtrare su un sito preciso, il che corrisponde in genere a un pannello installato **nell'atrio** di un sito. Si veda [Configurare un pannello per un atrio o un corridoio](#page-panels.lobby-panel). #### Vedi anche - [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) - [Sito](#page-glossary.site) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) - [Esami in più aule](#page-higher-ed.multi-room-exams) - [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links) - [Modalità](#page-glossary.lesson-modality) - [Configurare un pannello di affissione](#page-panels.lobby-panel) - [Panoramica sull'istruzione superiore](#page-higher-ed.overview) --- ## 14. Specificità primaria / secondaria (scuola) ### 14.1 Specificità primaria / secondaria — panoramica *Source: `help/it/k12/overview.md` · id: k12.overview · Updated: 2026-06-13* Questa sezione raccoglie le pagine che coprono le specificità della primaria e della secondaria (scuola elementare, secondaria di primo grado, secondaria di secondo grado). #### Caratteristiche tipiche - **Orario [settimanale](#page-glossary.weekly-timetable)** — la settimana tipo ricorrente è la norma, con o senza [settimane alternate](#page-glossary.alternate-lessons) (A/B). - **Aule dedicate per classe** — molte scuole funzionano con un'aula associata a ciascuna classe; sono i professori a spostarsi. - **Mezze classi / gruppi opzionali** — gestiti tramite [partizioni di classe](#page-core-concepts.class-divisions) all'interno di una stessa classe. - **Latinisti / grecisti / indirizzi della secondaria di secondo grado** — gestiti tramite [allineamenti](#page-core-concepts.alignments) interclasse. - **Generazione automatica** — il risolutore funziona, ed è il cuore del valore nella scuola. - **Studio assistito / ore di studio** — fasce in cui gli studenti sono a scuola senza lezione assegnata. Veda [Studio assistito e studio sorvegliato](#page-k12.study-halls). - **Classi multilivello** — tipiche delle piccole scuole rurali. Veda [Classi multilivello](#page-k12.multi-grade-classes). #### Raccomandazioni di configurazione - Un **account standard** è sufficiente per la maggior parte dei casi (il livello Premium non è necessario nella scuola standard). - **Modalità settimanale** per impostazione predefinita. - **Attivi l'inserimento delle disponibilità dei professori** in modalità settimanale; l'inserimento può essere effettuato o rivisto dall'amministrazione. - **Un'aula dedicata per classe** quando applicabile — inserita sulla classe. - **Cura dei livelli** nel modulo **Amministrazione**, tramite **Creare** (1ª primaria, 2ª primaria, …, 1ª media, 2ª media, …, 1º liceo, 2º liceo, 3º liceo, ecc.). - **Vacanze ufficiali del paese** — alla creazione dell'anno scolastico, Omniscol propone di importare le vacanze comuni del paese. Veda [Anno scolastico e vacanze](#page-admin.school-year). #### Casi d'uso scolastici La base storica di Omniscol è la secondaria (secondaria di primo e secondo grado): molte convenzioni predefinite provengono da lì. Gli scenari passo passo applicabili alla scuola sono raccolti negli [scenari di casi d'uso](#page-use-cases.overview) e nella [FAQ sulla creazione degli orari](#page-faq.timetables). #### Vedi anche - [Che cos'è Omniscol](#page-overview.what-is-omniscol) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Mezze classi e opzionali in partizione di classe](#page-k12.half-classes-and-options) - [Studio assistito e studio sorvegliato](#page-k12.study-halls) - [Classi multilivello](#page-k12.multi-grade-classes) ### 14.2 Mezze classi e opzionali in partizione di classe *Source: `help/it/k12/half-classes-and-options.md` · id: k12.half-classes-and-options · Audience: admin · Updated: 2026-06-13* Nella scuola, la gestione di una classe si complica rapidamente con le **mezze classi** (laboratorio / esercitazioni pratiche a effettivo ridotto) e con gli **opzionali** che ripartiscono gli studenti di una stessa classe in più sottogruppi simultanei. Il concetto Omniscol che struttura tutto questo è la **partizione di classe**: sottogruppi che devono avere lezione nello stesso momento ma con contenuti diversi. #### Mezze classi per i laboratori Caso tipico nei primi anni della scuola secondaria: 28 studenti in classe intera la maggior parte del tempo, suddivisi in 2 gruppi di 14 per i laboratori di scienze. I due mezzi gruppi devono svolgere il laboratorio nello stesso momento (altrimenti non potrebbero avere un'altra lezione in parallelo), ciascuno con il proprio professore e la propria aula. Modellizzazione in Omniscol: - creare due **gruppi** `6A-TP1` e `6A-TP2` nella classe `6A`, - dichiararli in **partizione di classe**: Omniscol garantisce che siano occupati simultaneamente, - creare **due corsi di laboratorio di scienze**, ciascuno con il proprio gruppo, professore e aula, sullo stesso slot settimanale. L'algoritmo rispetta la partizione di classe: `6A-TP1` non può mai avere scienze mentre `6A-TP2` è in francese. #### Opzionali in partizione di classe Caso tipico negli ultimi anni della scuola secondaria di primo grado: su uno stesso slot, alcuni studenti seguono Latino, altri Tedesco potenziato, altri non prendono nulla (studio assistito). Tre gruppi simultanei all'interno di una stessa classe. Modellizzazione: - gruppi `2A-Latino`, `2A-Francese`, `2A-Studio-assistito` nella classe `2A`, - dichiarati in **partizione di classe** (tutti e tre sono simultanei), - un corso per gruppo sullo stesso slot, ciascuno con professore / aula propri. #### Studenti che cambiano opzionale durante l'anno Un opzionale può evolvere durante l'anno (uno studente abbandona il latino per unirsi allo studio assistito, per esempio). L'appartenenza ai gruppi si gestisce **settimana per settimana** nella scheda dello studente: le settimane già trascorse conservano la vecchia assegnazione, le settimane successive assumono quella nuova. #### Partizione di classe + allineamento Per le lingue svolte in **multi-classe** (per esempio latino aperto alle 4A, 4B, 4C), combini: - una **partizione di classe** per classe (`2A-Latino` / `2A-Altra-opzione`, `2B-Latino` / `2B-Altra-opzione`, ecc.), - un **allineamento** tra i tre gruppi Latino affinché siano sullo stesso slot, nella stessa aula, con lo stesso professore. Veda [Allineamenti di gruppi](#page-core-concepts.alignments). #### Procedura — Creare uno slot Latino/Francese/Studio assistito per una classe 1. **Il caso tipico degli ultimi anni della secondaria di primo grado**: su uno stesso slot, alcuni seguono Latino, altri Tedesco, altri nulla (studio assistito). Tre gruppi simultanei. La partizione di classe Omniscol gestisce tutto ciò senza difficoltà. 2. **Crei tre gruppi** nella classe `2A`: `2A-Latino`, `2A-Francese`, `2A-Studio-assistito`. Assegni ciascuno studente al proprio gruppo secondo la scelta dell'opzionale. 3. **Dichiari la partizione di classe** `(2A-Latino, 2A-Francese, 2A-Studio-assistito)`: i tre gruppi sono **esclusivi e simultanei**. Omniscol garantirà che siano occupati sullo stesso slot. 4. **Crei tre corsi** sullo stesso slot settimanale: - Latino per `2A-Latino` con il professore di Latino e un'aula adatta; - Francese per `2A-Francese` con il professore di Francese; - studio assistito per `2A-Studio-assistito` con un sorvegliante (oppure lasci senza professore, secondo la sua politica). Il risolutore rispetta la partizione di classe: tutti e tre avranno necessariamente lo stesso slot. 5. **Per gli opzionali aperti a più classi** (Latino in 2A + 2B + 2C con un solo professore e una sola aula): combini una **partizione di classe per classe** (`2A-Latino` esclusivo degli altri gruppi 2A, idem per 2B e 2C) **+ un allineamento** tra i tre gruppi Latino. Veda [Allineamenti di gruppi](#page-core-concepts.alignments). 6. **Cambiamenti durante l'anno** (uno studente abbandona il latino per unirsi allo studio assistito): modifichi la sua appartenenza di gruppo nella scheda dello studente, a partire dalla settimana del cambiamento. Le settimane trascorse conservano la vecchia assegnazione. #### Vedi anche - [Partizioni di classe](#page-core-concepts.class-divisions) - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Allineamenti di gruppi](#page-core-concepts.alignments) - [Classi multilivello](#page-k12.multi-grade-classes) ### 14.3 Studio assistito e studio sorvegliato (scolastico) *Source: `help/it/k12/study-halls.md` · id: k12.study-halls · Audience: admin/staff · Updated: 2026-06-13* Lo **studio assistito** (o **studio sorvegliato**) è costituito da fasce durante le quali gli studenti senza lezione sono accolti in un'aula studio sotto sorveglianza. È un'istituzione tipica delle scuole secondarie francesi di primo e secondo grado: gli studenti il cui opzionale non si tiene in quella fascia, quelli esentati da educazione fisica, quelli il cui professore è assente. #### Perché non semplicemente un corso ordinario? Uno studio assistito non si gestisce esattamente come un corso: - **nessuna materia** nel senso classico, - **pubblico variabile** da uno slot all'altro (chi non ha lezione), - **sorveglianza anziché insegnamento** — chi è preposto non insegna, sorveglia, - **forte esigenza di equità**: il carico di sorveglianza deve essere ripartito tra i professori (e i sorveglianti) secondo una regola di equità. Per questo Omniscol propone il **Servizio del personale** dedicato a questo tipo di gestione. Veda [Panoramica del Servizio del personale](#page-staffing.overview). Questo modulo è un'**opzione** dell'account: senza di esso, modellizzi lo studio assistito con un **gruppo di studio** (sezione qui sotto); la griglia di sorveglianza, invece, rientra nel modulo. #### Modellizzazione con il **Servizio del personale** Lo studio assistito si traduce in griglie di servizio: - una **griglia settimanale** degli slot in cui gli studenti possono essere in studio assistito, - per ogni slot, una o più **postazioni** di sorveglianza (a seconda del numero di studenti attesi e del rapporto sorvegliante / studenti desiderato), - **assegnazione** dei sorveglianti (assistenti educativi, oppure professori dotati del ruolo **Personale**) su ciascuna postazione. Veda [Costruire una griglia di servizio](#page-staffing.building-grids) e [Assegnare il personale](#page-staffing.planner). #### Collegamento con gli orari degli studenti Quando uno studente non ha lezione su uno slot (la sua classe è in opzionale o metà classe è in laboratorio), il suo orario individuale mostra semplicemente uno **slot libero**: Omniscol non vi visualizza automaticamente una lezione « Studio assistito ». Per far comparire lo studio nell'orario degli studenti interessati, crei un **corso di studio assistito** per il gruppo che non ha lezione sullo slot, con l'aula studio — è lo schema del gruppo `4A-Étude` descritto in [Mezze classi e opzionali in partizione di classe](#page-k12.half-classes-and-options). La copertura della sorveglianza, invece, si governa lato **Servizio del personale** — veda [Panoramica del Servizio del personale](#page-staffing.overview). #### Studio sorvegliato vs studio libero Distinzione utile: - **Studio sorvegliato** — è presente un preposto, gli studenti lavorano in silenzio. Caso classico del **Servizio del personale**. - **Studio libero** (spazio comune, spazio di lavoro autonomo) — nessun preposto dedicato, semplicemente un luogo in cui gli studenti possono attendere. Non occorre il **Servizio del personale**: lo modellizzi come un'aula dedicata; una **specializzazione dell'aula** può, all'occorrenza, impedire che vi siano collocati corsi ordinari (senza per questo riservare l'aula per lo studio stesso, che non ha materia). Veda [Specializzazioni delle aule](#page-core-concepts.classroom-specializations). #### Vedi anche - [Panoramica del Servizio del personale](#page-staffing.overview) - [Costruire una griglia di servizio](#page-staffing.building-grids) - [Assegnare il personale](#page-staffing.planner) - [Mezze classi e opzionali in partizione di classe](#page-k12.half-classes-and-options) ### 14.4 Classi multilivello *Source: `help/it/k12/multi-grade-classes.md` · id: k12.multi-grade-classes · Audience: admin · Updated: 2026-06-13* Le **classi multilivello** riuniscono studenti di più livelli nella stessa aula, sotto la responsabilità di uno stesso professore. È la realtà delle **piccole scuole rurali** nella primaria, a volte delle **scuole speciali** o delle **scuole internazionali** a effettivo ridotto. #### Perché Omniscol gestisce questi casi Il modello Omniscol — che separa la classe (amministrativa) dai gruppi (sottoinsiemi didattici) — copre nativamente il multilivello. La stessa classe amministrativa `2ª-3ª elementare` può portare due gruppi `2ª elementare` e `3ª elementare`, a volte con corso comune, a volte con corsi separati per livello. #### Modellizzazione Due approcci a seconda della natura dei corsi impartiti: ##### Approccio A — una classe amministrativa, due gruppi didattici - Classe amministrativa: `2ª-3ª elementare` (per la gestione degli studenti, l'elenco dei genitori, l'aula). - Gruppi didattici: `2ª elementare` e `3ª elementare`. - I **corsi comuni** (musica, sport, ora di classe) sono attribuiti alla classe intera `2ª-3ª elementare`. - I **corsi separati** (lettura / matematica al livello di ciascun gruppo) utilizzano i gruppi `2ª elementare` e `3ª elementare`, dichiarati in **partizione di classe** affinché si svolgano simultaneamente (il maestro unico insegna a uno mentre l'altro lavora in autonomia). ##### Approccio B — due classi amministrative, professore unico - Classi amministrative separate: `2ª elementare` e `3ª elementare`. - Il professore unico è assegnato ai corsi di entrambe le classi. - Poiché un professore non può tenere due lezioni nello stesso momento, Omniscol segnala un conflitto se le sue lezioni di 2ª e di 3ª elementare sono collocate sullo stesso slot. L'approccio B è più raro perché complica la gestione amministrativa (due classi distinte per quello che in pratica è uno stesso insieme di studenti) e non offre un meccanismo tanto diretto quanto la partizione di classe per organizzare l'alternanza tra livelli. #### Triplo livello e oltre Il meccanismo si estende a tre livelli o più (caso delle scuole molto piccole: dalla 1ª alla 5ª elementare nella stessa aula). Omniscol non impone alcun limite numerico — la complessità viene dall'organizzazione didattica, non dalla modellizzazione. #### Ore di studio autonomo Quando il professore unico è con un livello, l'altro livello lavora in autonomia nella stessa aula. Non occorre modellizzarlo come uno studio assistito — è intrinseco al funzionamento della classe multilivello e non costituisce un incarico di sorveglianza distinto. #### Procedura — Modellizzare una pluriclasse 2ª/3ª elementare multilivello 1. **Il caso tipico della scuola rurale**: una classe `2ª-3ª elementare` con un maestro unico che alterna tra i due livelli. Approccio A (raccomandato): una classe amministrativa, due gruppi didattici. 2. **Crei la classe amministrativa** `2ª-3ª elementare` in **Classi**. È essa che porta l'elenco degli studenti, i genitori, l'aula, le comunicazioni. Livello: assegni il livello più rappresentativo oppure crei un livello dedicato `Multilivello primaria`. 3. **Crei i due gruppi didattici** `2ª elementare` e `3ª elementare` all'interno della classe. Assegni gli studenti al rispettivo gruppo. I due gruppi insieme = la classe intera. 4. **Dichiari i gruppi in partizione di classe** `(2ª elementare, 3ª elementare)`: la partizione **autorizza** il loro posizionamento **simultaneo** (leva il conflitto che altrimenti lo impedirebbe) e il risolutore **cerca** di collocare i corsi della 2ª e della 3ª elementare sugli stessi slot. L'aula e il professore restano assegnati corso per corso. Veda [Partizioni di classe](#page-core-concepts.class-divisions). 5. **Corsi comuni** (musica, sport, ora di classe): li assegni alla classe intera `2ª-3ª elementare`. Tutti gli studenti li seguono insieme. 6. **Corsi separati per livello** (lettura, matematica): crei un corso per gruppo `2ª elementare` e `3ª elementare`, sullo stesso slot (la partizione di classe lo richiede). Assegni il maestro al corso che conduce e lasci l'altro corso senza professore (lavoro in autonomia): uno stesso professore assegnato a due lezioni simultanee farebbe scattare un conflitto. Non occorre modellizzare uno studio assistito, l'autonomia è intrinseca al funzionamento multilivello. 7. **Per le scuole molto piccole** (dalla 1ª alla 5ª elementare nella stessa aula), il meccanismo si estende senza limite. Crei tanti gruppi quanti sono i livelli, dichiarati in partizione di classe. La complessità viene dall'organizzazione didattica, non dalla modellizzazione Omniscol. #### Vedi anche - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) - [Partizioni di classe](#page-core-concepts.class-divisions) - [Mezze classi e opzionali in partizione di classe](#page-k12.half-classes-and-options) --- ## 15. Scenari di casi d'uso ### 15.1 Scenari di casi d'uso — panoramica *Source: `help/it/use-cases/overview.md` · id: use-cases.overview · Updated: 2026-06-13* Questa sezione risponde a una richiesta ricorrente dei grandi istituti: disporre di un **elenco di scenari operativi** in formato *user story*, con una spiegazione concreta del «come si fa in Omniscol». Ogni scenario disponibile rimanda a una pagina di riferimento o a una visita guidata esistente; gli scenari ancora allo studio sono monitorati separatamente e non figurano in questo elenco. Gli scenari provengono da riscontri reali di clienti e potenziali clienti (scuole di commercio, scuole di ingegneria, università, formazione continua), resi anonimi e formulati in termini generici. #### Formato Ogni scenario segue il classico formato Agile: > **In qualità di** *(ruolo utente)* > **desidero** *(azione)* > **al fine di** *(obiettivo aziendale)* Seguito da una **soluzione in Omniscol**: un testo breve, un collegamento alla pagina di riferimento dettagliata, e una visita interattiva solo quando esiste già una visita guidata affidabile. #### Stati Ogni scenario riporta uno stato di implementazione: | Stato | Significato | | --- | --- | | ✓ **Disponibile** | Funzionalità in produzione, testata e convalidata. | | ◐ **Parziale** | Copertura incompleta; esiste una soluzione alternativa oppure la funzionalità si applica solo ad alcune modalità. | | △ **Roadmap** | Non disponibile nell'interfaccia attuale; esigenza identificata o piano di prodotto separato. | | — **Fuori ambito** | Gestita da un altro strumento dell'ecosistema, oppure al di fuori dell'ambito funzionale di Omniscol. | #### Sommario tematico - [Creazione e generazione degli orari](#page-use-cases.creation-and-generation) - [Posizionamento e modifica quotidiani](#page-use-cases.placement-and-modification) - [Multi-gruppo, multi-aula, multi-docente](#page-use-cases.multi-entities) - [Operazioni in massa](#page-use-cases.mass-operations) - [Esami ed eventi](#page-use-cases.exams-and-events) - [Assenze e sostituzioni (scenari)](#page-use-cases.absences-and-substitutions) - [Reportistica e statistiche](#page-use-cases.reporting-and-stats) - [Diffusione e condivisione](#page-use-cases.diffusion-and-sharing) #### Visite e video Quando uno scenario contiene una visita guidata convalidata, lo stesso contenuto può alimentare più superfici: - un **popover nel pannello di aiuto** (modalità interattiva, l'utente fa clic passo dopo passo), - un **sottotitolo incorporato nel video** (modalità passiva, lettura lineare), - un **file WebVTT** associato se viene prodotto un video. I sottotitoli sono sincronizzati con lo svolgimento dei passaggi: una sola sorgente produce tutti e tre i formati. Uno scenario senza passaggi verificati resta una semplice pagina di riferimento, senza visita guidata né video associato. #### Come leggere uno scenario Una pagina di scenario tipo contiene: ```markdown ## Nome breve dello scenario > **In qualità di** **, **desidero** **, **al fine di** > **. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Testo esplicativo, breve, operativo. [Collegamento alla pagina di riferimento dettagliata](id:timetables.publication) `` ``` Gli scenari con stato ✓ o ◐ sono **utilizzabili oggi**. Gli scenari con stato △ Roadmap sono monitorati separatamente e non sono elencati qui. #### Vedi anche - [FAQ — casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) - [FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) - [Specificità dell'istruzione superiore — panoramica](#page-higher-ed.overview) ### 15.2 Scenari — Creazione e generazione degli orari *Source: `help/it/use-cases/creation-and-generation.md` · id: use-cases.creation-and-generation · Updated: 2026-06-13* Creazione iniziale, generazione automatica, sandbox e duplicazione degli orari per prove e confronti. Per il formato di lettura e la legenda degli stati, si veda [Scenari — panoramica](#page-use-cases.overview). #### Avviare una generazione automatica dell'orario > **In qualità di** pianificatore, **desidero** avviare una generazione automatica dell'orario, **al fine di** produrre rapidamente una prima base utilizzabile. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** La generazione automatica è disponibile per i tre tipi di orario — settimanale, ciclico e calendario. Il risolutore colloca le lezioni create e non posizionate, e può riposizionare lezioni già collocate se ciò migliora il risultato, ad eccezione delle lezioni bloccate. Se non esiste una soluzione completa, Omniscol restituisce il miglior orario calcolato e lascia le lezioni rimanenti nell'elenco dei post-it non posizionati. [Generazione automatica](#page-timetables.generation) #### Riavviare una generazione dopo la modifica dei vincoli > **In qualità di** pianificatore, **desidero** riavviare una generazione dopo la modifica dei vincoli, **al fine di** provare configurazioni diverse senza ripartire da zero. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Regoli le disponibilità, i vincoli o i blocchi, quindi riavvii la generazione dalla stessa schermata. Le lezioni bloccate conservano la loro posizione; le altre possono essere riposizionate se ciò migliora il risultato. Per confrontare più configurazioni, lavori su copie dell'orario (« Lavorare su una copia (sandbox) di un orario »). [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) #### Lavorare su una copia (sandbox) di un orario > **In qualità di** pianificatore, **desidero** lavorare su una copia (sandbox) di un orario, **al fine di** effettuare prove senza incidere sulla versione ufficiale. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Duplichi l'orario dal modulo **Gestione degli orari** e lavori sulla copia: finché essa non è attivata, la versione ufficiale resta quella che vedono gli utenti. Attivi la copia quando è pronta. [Visualizzare, duplicare, riorganizzare](#page-timetables.visualize-duplicate), [Pubblicare (attivare) un orario](#page-timetables.publication) #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [Generazione automatica](#page-timetables.generation) - [Risolutore](#page-glossary.solver) ### 15.3 Scenari — Posizionamento e modifica quotidiani *Source: `help/it/use-cases/placement-and-modification.md` · id: use-cases.placement-and-modification · Updated: 2026-06-13* Ricerca di aule e professori disponibili, posizionamento e modifica di lezioni, rilevamento di conflitti e dimenticanze. Per il formato di lettura e la legenda degli stati, vedere [Scenari — panoramica](#page-use-cases.overview). #### Trovare un'aula disponibile adatta a una lezione (capienza, tipo, sito) e assegnarla > **In qualità di** pianificatore, **desidero** trovare un'aula disponibile adatta a una lezione (capienza, tipo, sito) e assegnarla a un intervento, **al fine di** posizionare rapidamente una lezione senza conflitti. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Il selettore aula accetta una ricerca testuale e filtri di capienza (`>20`, `<=50`, `=30`, `20-30`). Più criteri separati da uno spazio vengono interpretati come un E logico; più valori separati da una virgola come un O logico. La stessa ricerca accetta "ok" (vs "ko") per conservare solo le aule libere sulla fascia oraria. #### Trovare un professore disponibile che insegna la materia > **In qualità di** pianificatore, **desidero** trovare un professore disponibile che insegna la materia, **al fine di** sostituire o completare un'assegnazione facilmente. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** La selezione di un professore tiene conto della materia insegnata e delle sue disponibilità. A seconda dello schermo, la sostituzione si effettua direttamente dalla lezione o dall'elenco dei corsi. #### Identificare le fasce orarie disponibili per una classe o un gruppo > **In qualità di** pianificatore, **desidero** identificare le fasce orarie disponibili per una classe o un gruppo, **al fine di** posizionare una lezione manualmente in modo efficace. **Stato**: ◐ Parziale **Soluzione in Omniscol.** Sovrapponga gli orari della classe o del gruppo nelle viste di consultazione multi-entità per individuare le fasce orarie libere (vedere «Visualizzare gli orari»). #### Modificare rapidamente una lezione (aula, professore, orario) > **In qualità di** pianificatore, **desidero** modificare rapidamente una lezione (aula, professore, orario), **al fine di** regolare la pianificazione in tempo reale. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Apra la lezione per cambiare l'aula, il professore o l'orario nella sua finestra di modifica, oppure la riposizioni tramite il suo pulsante puntina [thumbtack] (clic su una fascia oraria colorata) nella vista pianificazione. Una **selezione multipla** (Maiusc+clic su più lezioni) apre la stessa finestra in modalità raggruppata: riposizionare, sbloccare o eliminare tutte le lezioni selezionate in un'unica operazione. [Modifiche puntuali](#page-schedules.ad-hoc-changes) #### Rilevare le lezioni senza professore o senza aula > **In qualità di** pianificatore, **desidero** rilevare le lezioni senza professore o senza aula, **al fine di** correggere immediatamente le dimenticanze critiche. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** La diagnostica dell'orario elenca esplicitamente le lezioni posizionate senza aula e le lezioni senza professore; anche le viste di pianificazione le segnalano. [Conflitti e diagnostica](#page-timetables.conflicts) #### Ricevere un avviso in caso di incoerenza (assenza di aula, di professore, conflitto) > **In qualità di** pianificatore, **desidero** ricevere un avviso in caso di incoerenza (assenza di aula, di professore, conflitto), **al fine di** garantire la qualità della pianificazione. **Stato**: ◐ Parziale **Soluzione in Omniscol.** Le incoerenze vengono segnalate nelle diagnostiche e nelle viste di pianificazione: lezione senza aula, senza professore, conflitti di aula, di classe o di professore. Il pannello di diagnostica si **filtra con precisione** — per gravità, per tipo di avviso, per entità (classe, professore, aula), per livello, sito o campus, e per intervallo di date in modalità calendario (funzione Premium; vedere [Conflitti e diagnostica](#page-timetables.conflicts)). **Soluzione alternativa (senza Premium).** Utilizzi l'elenco cronologico degli avvisi e i filtri di consultazione disponibili per isolare le lezioni interessate. Corregga i conflitti bloccanti prima della diffusione o prima della reimmissione verso un sistema di terze parti. #### Visualizzare rapidamente i conflitti residui > **In qualità di** pianificatore, **desidero** visualizzare rapidamente i conflitti residui, **al fine di** finalizzare una pianificazione affidabile prima della diffusione. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** La diagnostica dell'orario e le viste di pianificazione segnalano i conflitti residui. Tratti in via prioritaria i conflitti bloccanti prima della pubblicazione. [Conflitti e diagnostica](#page-timetables.conflicts) #### Raccogliere le disponibilità / preferenze dei docenti > **In qualità di** pianificatore, **desidero** raccogliere le disponibilità / preferenze dei docenti. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** I professori inseriscono le proprie disponibilità e indisponibilità dal proprio spazio; anche il pianificatore può inserirle per loro. Queste disponibilità sono visibili durante il posizionamento manuale e prese in considerazione dalla generazione automatica. [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) #### Gestire le fasce orarie / griglie orarie / fuori griglia > **In qualità di** pianificatore, **desidero** gestire le fasce orarie / griglie orarie / fuori griglia. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Le griglie orarie definiscono, sito per sito, le fasce orarie aperte al posizionamento, pause comprese. > _Premium_ Le [lezioni fuori griglia](#page-timetables.off-grid-lessons) coprono le lezioni che non corrispondono ad alcuna fascia oraria della griglia. [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) #### Gestire le pause / fuori griglia > **In qualità di** pianificatore, **desidero** gestire le pause / fuori griglia. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Vedere «Gestire le fasce orarie / griglie orarie / fuori griglia»: le pause si definiscono nella griglia oraria di ciascun sito, e il fuori griglia copre le lezioni al di fuori delle fasce orarie. #### Visualizzare gli orari (selezione multipla, viste personalizzate, sovrapposizione) > **In qualità di** pianificatore, **desidero** visualizzare gli orari (selezione multipla, viste personalizzate, sovrapposizione, visibilità, esportazione). **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Le viste di consultazione coprono la vista settimana, giorno, mese, elenco, vis-à-vis e diverse modalità di confronto. La consultazione multi-entità permette di visualizzare più orari affiancati, per colonna o a griglia a seconda del contesto. Non disponibili nell'interfaccia attuale: descrizione comando arricchita con il codice materia, occultamento automatico delle settimane senza lezioni, vista unica fusa senza colonna distintiva. #### Mostrare solo le aule disponibili > **In qualità di** pianificatore, **desidero** mostrare solo le aule disponibili, **al fine di** risparmiare tempo durante l'assegnazione delle aule. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Utilizzi il filtro di disponibilità nel selettore aula per nascondere le aule già occupate sulla fascia oraria (vedere anche «Trovare un'aula disponibile adatta a una lezione»). #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Consultare e filtrare](#page-schedules.consult-and-filter) - [Modifiche puntuali](#page-schedules.ad-hoc-changes) - [Conflitti e diagnostica](#page-timetables.conflicts) ### 15.4 Scenari — Multi-gruppo, multi-aula, multi-docente *Source: `help/it/use-cases/multi-entities.md` · id: use-cases.multi-entities · Updated: 2026-06-13* Condivisione di lezioni tra più gruppi, più aule, più docenti: co-docenza, allineamenti, gruppi di gruppi. Per il formato di lettura e la legenda degli stati, vedere [Scenari — panoramica](#page-use-cases.overview). #### Condividere lezioni (1 lezione per 2 gruppi alla stessa data/ora nella stessa aula) > **In qualità di** pianificatore, **desidero** condividere lezioni (1 lezione per 2 gruppi alla stessa data/ora nella stessa aula). **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Modelli la condivisione con un [allineamento](#page-core-concepts.alignments) o un [gruppo di gruppi](#page-core-concepts.groups-of-groups): la lezione comune riunisce i gruppi sulla stessa fascia oraria, nella stessa aula, con lo stesso professore. #### Posizionare una lezione con più docenti (co-docenza) > **In qualità di** pianificatore, **desidero** posizionare una lezione con più docenti (co-docenza). **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Una lezione può riportare più professori: aggiunga i co-docenti nel selettore professore **Assegnare i professori** della scheda della lezione. [Co-docenza](#page-higher-ed.co-teaching) #### Posizionare una lezione con più aule > **In qualità di** pianificatore, **desidero** posizionare una lezione con più aule. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Assegni più aule alla stessa lezione dal selettore aula **Assegnare un'aula**. [Esami in più aule](#page-higher-ed.multi-room-exams) #### Posizionare una lezione con più gruppi > **In qualità di** pianificatore, **desidero** posizionare una lezione con più gruppi. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Può **associare direttamente più gruppi** — di una stessa classe o di classi diverse — a una stessa lezione. Per raggruppamenti duraturi o ricorrenti, li strutturi piuttosto con un [gruppo di gruppi](#page-core-concepts.groups-of-groups) o un [allineamento](#page-core-concepts.alignments) a seconda del caso. #### Posizionare le lezioni per gruppo in blocco > **In qualità di** pianificatore, **desidero** poter posizionare le lezioni per gruppo in blocco, **al fine di** poter assegnare i gruppi in blocco, con un clic. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Due leve coprono il posizionamento in blocco. - **Selezione multipla, poi puntina.** Selezioni più lezioni contemporaneamente — con **Maiusc+clic**, oppure tramite il menu **Estendi la selezione** (per giorno, settimana, mese, giorno della settimana, materia o partizione di gruppi). La **puntina** mostra allora le fasce orarie compatibili con l'intera selezione: un solo clic le posiziona insieme sulla stessa fascia oraria. - **Generazione automatica.** Per posizionare in una volta sola l'insieme delle lezioni sulla griglia, lasci che l'algoritmo le distribuisca rispettando i vincoli (vedere [Generazione automatica](#page-timetables.generation)). Per riunire più gruppi su una stessa lezione, vedere «Posizionare una lezione con più gruppi» qui sopra; per monitorare i volumi posizionati, si appoggi alla [Distribuzione delle ore](#page-timetables.hour-distribution). #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Più aule](#page-glossary.multi-room) - [Co-docenza](#page-glossary.co-teaching) - [Partizioni di classe](#page-core-concepts.class-divisions) - [Allineamenti di gruppi](#page-core-concepts.alignments) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) ### 15.5 Scenari — Operazioni in massa *Source: `help/it/use-cases/mass-operations.md` · id: use-cases.mass-operations · Updated: 2026-06-28* Assegnazioni in massa, filtri avanzati e automazioni per gestire rapidamente le aule, le capienze e i programmi. Per il formato di lettura e la legenda degli stati, si veda [Scenari — panoramica](#page-use-cases.overview). #### Assegnare in massa unicamente le aule non attribuite > **In qualità di** pianificatore, **desidero** assegnare in massa unicamente le aule non attribuite. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Nella modalità elenco della schermata **Gestione degli orari**, ordini o filtri le colonne per isolare le lezioni **in attesa di aula**, le spunti, quindi avvii l'assegnazione automatica delle aule sulla selezione. Anche la generazione automatica propone una modalità limitata alle aule: avviata ignorando le aule già assegnate, completa unicamente le lezioni che ne sono prive, senza ricalcolare il posizionamento. [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) #### Assegnare in massa tutte le aule >115 posti per gli eventi > **In qualità di** pianificatore, **desidero** assegnare in massa tutte le aule >115 posti per gli eventi, **al fine di** ottimizzare la gestione delle aule. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Individui le grandi aule nelle statistiche delle aule, dove la ricerca accetta i comparatori di capienza (per esempio `>115`). Selezioni quindi le lezioni interessate nella modalità elenco della schermata **Gestione degli orari** e avvii l'assegnazione automatica delle aule: nel selettore di aule candidate, spunti solo le aule desiderate, poiché la capienza di ciascuna è visualizzata per orientare la scelta. #### Limitare l'assegnazione delle aule a un edificio o a un piano > **In qualità di** pianificatore, **desidero** limitare l'assegnazione in massa delle aule a un dato edificio o a un dato piano, **al fine di** raggruppare le lezioni nello stesso luogo e limitare gli spostamenti. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Nell'assegnazione automatica, il selettore di aule candidate raggruppa le aule per **sito** poi per **edificio**: spunti un intero sito o un intero edificio per autorizzare solo le sue aule, e l'algoritmo sceglie tra esse. Si veda [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment). #### Riassegnare le aule in base agli effettivi reali > **In qualità di** pianificatore, **desidero** riassegnare in massa le aule in base agli effettivi reali (elettivi, lingue, gruppi), **al fine di** adeguare la dimensione delle aule al numero di iscritti. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Isoli le lezioni interessate nella modalità elenco (ordinamento e filtri per colonna), quindi avvii l'assegnazione automatica: l'algoritmo confronta la **capienza** di ciascuna aula con l'**effettivo** della lezione e conserva l'aula più piccola che risulta adeguata. Si veda [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment). #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) - [Statistiche aule](#page-dashboard.classrooms) - [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - [Modifiche puntuali](#page-schedules.ad-hoc-changes) ### 15.6 Scenari — Esami ed eventi *Source: `help/it/use-cases/exams-and-events.md` · id: use-cases.exams-and-events · Updated: 2026-06-13* Creazione di lezioni specifiche: esami (in presenza o a distanza, configurazioni particolari), concorsi, manutenzioni. Per il formato di lettura e la legenda degli stati, si veda [Scenari — panoramica](#page-use-cases.overview). #### Creare un evento (concorso) > **In qualità di** pianificatore, **desidero** creare un evento (concorso), **al fine di** prenotare le aule e disporre di statistiche. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Crei un [evento puntuale](#page-schedules.events) con data, con le sue aule, partecipanti e risorse: le occupazioni concorrenti di un'aula, di una classe o di un professore sono segnalate come conflitti non appena l'evento coinvolge i partecipanti interessati. Gli eventi puntuali sono riservati agli account **Premium**. #### Creare una lezione specifica d'esame (1 posto su 2, gestione del tempo aggiuntivo, ecc.) > **In qualità di** pianificatore, **desidero** creare una lezione specifica d'esame (1 posto su 2, gestione del tempo aggiuntivo, ecc.), **al fine di** prenotare le aule e disporre di statistiche. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Crei una lezione o un evento dedicato con le aule e la durata adeguate alla configurazione della prova. [Esami in più aule](#page-higher-ed.multi-room-exams) #### Creare un evento (manutenzione) > **In qualità di** pianificatore, **desidero** creare un evento (manutenzione), **al fine di** prenotare le aule e disporre di statistiche. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Crei un [evento](#page-schedules.events) sulla fascia oraria interessata e vi aggiunga l'aula o la risorsa da immobilizzare: questa risulta allora occupata sulla fascia oraria ed esce dalle disponibilità. #### Creare un esame (a distanza o in presenza, 1h30 o 3h e altre durate, elettivo o corso obbligatorio) > **In qualità di** pianificatore, **desidero** creare un esame (a distanza o in presenza, 1h30 o 3h e altre durate, elettivo o corso obbligatorio), **al fine di** pianificare le prove. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Un esame si crea come una lezione di tipo **esame** (si veda [Tipi di lezione](#page-admin.lesson-types)): durata libera (1 h 30, 3 h…), in presenza o a distanza a seconda della sua [modalità](#page-glossary.lesson-modality), in una o [più aule](#page-glossary.multi-room). Il carattere elettivo si modella tramite un [gruppo](#page-glossary.group) anziché la classe intera. #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Eventi puntuali](#page-schedules.events) - [Lezioni fuori griglia](#page-timetables.off-grid-lessons) ### 15.7 Scenari — Assenze e sostituzioni *Source: `help/it/use-cases/absences-and-substitutions.md` · id: use-cases.absences-and-substitutions · Updated: 2026-06-13* Dichiarazione delle assenze e gestione delle sostituzioni dei professori su periodi brevi o lunghi. Per il formato di lettura e la legenda degli stati, si veda [Scenari — panoramica](#page-use-cases.overview). #### Dichiarare l'assenza di un professore > **In qualità di** segreteria didattica, **desidero** dichiarare l'assenza di un professore, **al fine di** segnalare le lezioni interessate e organizzare le sostituzioni necessarie. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Dichiari l'assenza dal modulo **Gestione delle assenze** (anche il professore può dichiararla lui stesso, previa convalida). Omniscol individua le lezioni interessate e Le consente di organizzare le sostituzioni. [Dichiarare un'assenza](#page-absences.declaring) #### Sostituire un professore con un altro su un dato periodo > **In qualità di** segreteria didattica, **desidero** sostituire un professore con un altro su un dato periodo, **al fine di** gestire i cambiamenti strutturali (malattia, cessazione…). **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Dichiari un'assenza su più giorni con una data di inizio e una data di fine: Omniscol calcola le lezioni interessate, che possono essere lasciate senza sostituto, coperte da una politica di sostituzione oppure regolate con sostituzioni puntuali. [Assenze su più giorni](#page-absences.multi-day), [Politiche di sostituzione](#page-absences.substitution-policies) #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Panoramica del modulo Assenze](#page-absences.overview) - [Dichiarare un'assenza](#page-absences.declaring) - [Politiche di sostituzione](#page-absences.substitution-policies) ### 15.8 Scenari — Reportistica e statistiche *Source: `help/it/use-cases/reporting-and-stats.md` · id: use-cases.reporting-and-stats · Updated: 2026-06-13* Statistiche di occupazione, controllo del carico didattico, rapporti a distanza/in presenza, volumi orari per gruppo e materia. Per il formato di lettura e la legenda degli stati, vedere [Scenari — panoramica](#page-use-cases.overview). #### Visualizzare le tensioni di occupazione delle aule > **In qualità di** pianificatore, **desidero** visualizzare le tensioni di occupazione delle aule, **al fine di** anticipare i punti di saturazione. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Le **statistiche aule** del **Dashboard** (vedere [Statistiche aule](#page-dashboard.classrooms)) forniscono i tassi di occupazione per aula e per periodo; il modulo **Orario** mostra invece la pianificazione di occupazione di ogni aula (fasce orarie occupate). #### Verificare il numero di ore insegnate da un professore > **In qualità di** responsabile pedagogico, **desidero** verificare il numero di ore insegnate da un professore, **al fine di** controllare il carico e la conformità. **Stato**: ◐ Parziale **Soluzione in Omniscol.** Durante la modifica di un orario nel modulo **Gestione degli orari**, la somma delle ore del professore viene visualizzata e aggiornata in tempo reale; il **Dashboard** fornisce il totale delle ore sul periodo. **Soluzione alternativa.** Per controllare un semestre preciso, selezioni l'intervallo di date corrispondente nel **Dashboard**: il totale delle ore viene ricalcolato sul periodo scelto, senza sottrazione manuale. #### Estrarre statistiche di attività (ore, occupazione, distribuzione) > **In qualità di** responsabile qualità, **desidero** estrarre statistiche di attività (ore, occupazione, distribuzione), **al fine di** soddisfare i requisiti di un audit di qualità o di certificazione. **Stato**: ◐ Parziale **Soluzione in Omniscol.** Le esportazioni del **Dashboard** e delle viste di pianificazione forniscono i volumi disponibili. Da soli, non costituiscono un rapporto di certificazione completo: l'inquadramento operativo e documentale resta a carico dell'istituto. > _Country: FR_ In Francia, queste esportazioni alimentano in particolare il monitoraggio **Qualiopi**. #### Analizzare l'occupazione delle aule e delle risorse > **In qualità di** direzione, **desidero** analizzare l'occupazione delle aule e delle risorse, **al fine di** ottimizzare l'utilizzo delle infrastrutture. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Il **Dashboard** fornisce l'occupazione delle aule e delle risorse; le esportazioni riprendono questi volumi. #### Visualizzare il tasso a distanza / in presenza per programma/coorte > **In qualità di** pianificatore, **desidero** visualizzare il tasso a distanza / in presenza per programma/coorte, **al fine di** applicare le regole (max 20% a distanza, min 20% fasce orarie indesiderabili il sabato). **Stato**: ◐ Parziale > _Premium_ **Soluzione in Omniscol.** Il **Dashboard** espone ripartizioni per **Modalità** sulle classi e le materie quando le lezioni riportano una modalità (vedere [Modifica di una lezione](#page-timetables.lesson-edit)) — **In presenza**, **A distanza**, **Ibrido** o **Studio autonomo**. Omniscol non fornisce un controllo normativo automatico delle soglie (per esempio «20% di formazione a distanza massimo»). #### Monitorare il volume orario pianificato e quello ancora da pianificare > **In qualità di** responsabile pedagogico, **desidero** monitorare il volume orario pianificato e ciò che resta da pianificare, **al fine di** controllare la coerenza con il piano di studi. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Durante la modifica, la [Distribuzione delle ore](#page-timetables.hour-distribution) mostra in tempo reale, materia per materia, il volume già posizionato e il **tempo ancora da posizionare**. Il **Dashboard** ne fornisce il monitoraggio a posteriori, per classe, materia e gruppo. #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [Dashboard](#page-glossary.dashboard) - [Panoramica del modulo Dashboard](#page-dashboard.overview) - [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) ### 15.9 Scenari — Diffusione e condivisione *Source: `help/it/use-cases/diffusion-and-sharing.md` · id: use-cases.diffusion-and-sharing · Updated: 2026-06-13* Esportazione dei dati, abbonamento iCal per docenti e discenti, link pubblico in sola lettura, prenotazione delle risorse. Per il formato di lettura e la legenda degli stati, si veda [Scenari — panoramica](#page-use-cases.overview). #### Esportare i dati dell'orario > **In qualità di** segreteria didattica, **desidero** esportare i dati dell'orario, **al fine di** riutilizzarli in altri strumenti (ERP, reportistica…). **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Le viste dell'orario e la Dashboard offrono esportazioni; l'API di Omniscol consente di automatizzare il recupero dei dati. [Stampare e condividere](#page-schedules.print-and-export), [API Omniscol](#page-integrations.api-tokens) #### Consultare il proprio orario tramite un link web sicuro senza autenticazione > **In qualità di** professore, **desidero** consultare il mio orario tramite un link web sicuro senza autenticazione, **al fine di** accedere facilmente alle mie lezioni. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Il link di condivisione è firmato e concede un accesso in sola lettura, senza autenticazione; può recare una data di scadenza e resta legato all'account che l'ha creato (disattivare tale account o cambiarne la password invalida il link). [Condividere un orario tramite link pubblico](#page-schedules.share-link) #### Abbonarsi al proprio orario tramite un flusso iCal > **In qualità di** professore o studente, **desidero** abbonarmi al mio orario tramite un flusso iCal, **al fine di** integrare automaticamente l'orario nella mia agenda personale. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Ogni utente può abbonarsi al proprio orario tramite un link iCal dinamico, compatibile con le agende consuete (Google Calendar, Outlook, Apple Calendar); l'agenda si aggiorna al ritmo delle proprie sincronizzazioni. [iCal — abbonamento e link dinamico](#page-integrations.ical) #### Esportare l'orario di un professore o di un gruppo in formato Excel > **In qualità di** segreteria didattica, **desidero** esportare l'orario di un professore o di un gruppo in formato Excel, **al fine di** condividere o rielaborare i dati. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** Si veda [Stampare e condividere](#page-schedules.print-and-export). #### Diffondere gli orari tramite un link pubblico controllato > **In qualità di** istituto, **desidero** diffondere gli orari tramite un link pubblico controllato, **al fine di** comunicare in modo semplice con docenti e discenti. **Stato**: ✓ Disponibile **Soluzione in Omniscol.** I link di condivisione pubblici sono firmati, in sola lettura e **recano una data di scadenza** (per impostazione predefinita la fine dell'anno scolastico, oppure +90 giorni, modificabile). Per una diffusione istituzionale, faccia gestire i link da un account di servizio identificato, responsabile della condivisione, anziché da un account personale. [Link di condivisione pubblici](#page-portal.share-links) #### Prenotare una risorsa (aula, docente, lezione, o altro) > **In qualità di** utente, **desidero** prenotare una risorsa (aula, docente, lezione, o altro), **al fine di** prenotare le aule e disporre di statistiche. **Stato**: ◐ Parziale **Soluzione in Omniscol.** Ad oggi non esiste alcun modulo di prenotazione dedicato. **Soluzione alternativa (account Premium).** Per bloccare una risorsa su un intervallo preciso, crei un [evento](#page-schedules.events); per renderla indisponibile su un intero **periodo**, utilizzi una [finestra di date](#page-glossary.date-windows). #### Vedi anche - [Scenari — panoramica](#page-use-cases.overview) - [iCal — abbonamento e link dinamico](#page-integrations.ical) - [Link di condivisione](#page-glossary.share-link) - [Link di condivisione pubblici](#page-portal.share-links) - [Stampare e condividere](#page-schedules.print-and-export) --- ## 16. FAQ — domande frequenti ### 16.1 FAQ — domande generali *Source: `help/it/faq/general.md` · id: faq.general · Updated: 2026-06-13* Le domande generali più frequentemente poste dai potenziali clienti e dai nuovi utenti. Per domande più specifiche, vedere le FAQ specializzate: [Creazione di orari](#page-faq.timetables), [Importazione dei dati](#page-faq.data-import), [Comportamento dell'algoritmo](#page-faq.solver-behavior), [Visualizzazione e UX](#page-faq.display-and-ux), [Sicurezza e hosting](#page-faq.security-and-hosting), [Tariffe e licenze](#page-faq.pricing-and-licenses). #### Omniscol funziona con una connessione internet limitata? Sì, a condizione di disporre di una connessione sufficiente al momento dei caricamenti e dei salvataggi. L'applicazione web memorizza nella cache dei dati già consultati nel browser, il che rende la consultazione più tollerante alle brevi interruzioni. Le modifiche, le importazioni, le esportazioni e le operazioni di amministrazione richiedono invece un accesso di rete disponibile al momento dell'azione. #### Quali browser sono supportati? Chrome è consigliato. Firefox, Safari ed Edge funzionano ugualmente. Internet Explorer non è supportato. #### Occorre installare un client? No. Il tutto funziona nel browser. Non è richiesta alcuna installazione locale. #### I miei dati vengono salvati? Sì. Omniscol si basa su salvataggi e meccanismi di ridondanza descritti nel quadro contrattuale e nei documenti di sicurezza dell'account. Vedere [Sicurezza e hosting](#page-faq.security-and-hosting). Per i salvataggi manuali, un'**esportazione completa in formato JSON** è disponibile da Importare/Esportare. In caso di problema grave, questo file può essere rinviato al team Omniscol per la reimmissione. #### Posso avere più orari contemporaneamente? Sì. Con un account Standard, su intervalli di settimane disgiunti (ad esempio semestre 1 vs semestre 2). Con un account [Premium](#page-overview.plans-and-options), più orari possono essere pubblicati **simultaneamente** sulle stesse settimane, con fusione dinamica delle viste — è incluso di base. Questa possibilità può anche essere attivata contrattualmente su alcuni account Standard (caso eccezionale, con un inquadramento adeguato). Vedere [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). #### Quanti amministratori possono lavorare contemporaneamente? Il numero di sessioni simultanee dipende dal Suo contratto e dal Suo utilizzo. Con l'opzione Collaborazione in tempo reale, gli amministratori vedono la presenza degli altri utenti connessi (un disco rosso segnala un rischio di modifica simultanea). Le viste operative non vengono sempre aggiornate automaticamente dopo un salvataggio effettuato da un collega. Vedere [Collaborazione tra amministratori](#page-core-concepts.collaboration). #### Come condividere un orario con qualcuno che non ha un account? Il pulsante Condivisione sulla schermata dell'orario genera un [link di condivisione](#page-glossary.share-link) in sola lettura, con data di scadenza obbligatoria. Per un abbonamento ad agenda dinamica (sincronizzazione automatica), l'opzione iCal è disponibile nella condivisione. Vedere [iCal — abbonamento e link dinamico](#page-integrations.ical). #### Quali lingue sono supportate? A oggi: francese, inglese, tedesco, spagnolo, italiano, portoghese, olandese, polacco, russo, cinese semplificato, arabo, ebraico, kazako, vietnamita. Le lingue scritte da destra a sinistra (arabo, ebraico) beneficiano di un'interfaccia adattata (RTL). #### La mia scuola si trova in un Paese non elencato. Posso utilizzare Omniscol? Sì. I parametri precompilati per Paese sono una comodità, non un vincolo. Nel caso più sfavorevole, personalizza manualmente i livelli, la griglia oraria, le vacanze e le materie. #### Come recuperare i miei dati se lascio Omniscol? Esportazione JSON completa da Importare/Esportare. Include tutti i dati della scuola, in un formato riutilizzabile. Lei resta proprietario dei Suoi dati, in conformità con il GDPR. #### Qual è la differenza tra i moduli **Orario** e **Gestione degli orari**? - **Gestione degli orari** serve a **creare, configurare, generare e pubblicare** gli orari. Uso occasionale (prima dell'inizio dell'anno, modifiche strutturali). - **Orario** serve a **consultare e modificare occasionalmente** gli orari pubblicati. Uso quotidiano. Vedere [Panoramica del modulo Gestione degli orari](#page-timetables.overview) e [Consultare e filtrare](#page-schedules.consult-and-filter). #### Vedi anche - [Creazione di orari](#page-faq.timetables) - [Importazione dei dati](#page-faq.data-import) - [Comportamento dell'algoritmo](#page-faq.solver-behavior) - [Sicurezza e hosting](#page-faq.security-and-hosting) - [FAQ — casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) - [FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) ### 16.2 FAQ — Creazione di orari *Source: `help/it/faq/timetables.md` · id: faq.timetables · Updated: 2026-07-10* Domande frequenti sulla creazione e la configurazione degli orari. Per il dettaglio di ogni tappa, vedere [Panoramica del modulo Gestione degli orari](#page-timetables.overview). #### Quale tipo di orario scegliere: settimanale, ciclico o a calendario? La scelta dipende dal ritmo del Suo istituto: - **Settimanale** — lezioni ricorrenti su una settimana tipo. Adatto al primario e al secondario. - **Ciclico** — lezioni ricorrenti su un ciclo di N giorni, diverso dalla settimana di 5 o 7 (tipico dei sistemi nordamericani). - **Calendario** — lezioni datate individualmente, senza ricorrenza (tipico dell'istruzione superiore e della formazione continua). Disponibile sui conti Premium. La generazione automatica funziona per tutti i tipi di orario. Vedere [Scegliere il tipo di orario giusto](#page-overview.timetable-modes). #### È possibile creare più orari in parallelo? Sì. Più orari possono coesistere nello stesso account (bozze, versioni, semestri, periodi). In un account Standard, le pubblicazioni devono riguardare intervalli di settimane disgiunti. In un account Premium, più orari possono essere pubblicati **simultaneamente** sulle stesse settimane, con fusione dinamica — un'attivazione contrattuale equivalente resta possibile su alcuni account Standard. Vedere [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). #### Qual è l'ordine consigliato per configurare un orario? L'ordine delle **tappe**: Generale, Siti, Professori, Classi (con i loro gruppi), Allineamento dei gruppi, Distribuzione delle ore, Generazione, poi Pubblicazione. Le prime sette sono le schede dell'editor di orari (da sinistra a destra); la **pubblicazione** si effettua invece dalla schermata di gestione dell'orario. Il dettaglio di ogni tappa è documentato nella sezione « Creazione di un orario » del sommario. #### La generazione automatica ha dei limiti? Il risolutore è potente ma rispetta rigorosamente i vincoli che gli vengono forniti. Se una configurazione è strutturalmente impossibile (disponibilità contraddittorie, capacità insufficiente, allineamenti incoerenti), Omniscol restituisce il miglior orario calcolato, lascia le lezioni mancanti nell'elenco dei post-it non posizionati e fornisce una diagnostica esplicita. Vedere [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). #### Quanto tempo richiede una generazione? La durata dipende dalla dimensione dell'orario, dal numero di lezioni e dai vincoli. Ogni generazione avvia un ambiente di calcolo dedicato e parallelizzato; l'inizializzazione richiede spesso una decina di secondi prima del calcolo effettivo. La finestra può essere chiusa durante il calcolo; una notifica appare al termine. Per gli ordini di grandezza, vedere [Comportamento dell'algoritmo](#page-faq.solver-behavior). #### Un orario generato viene pubblicato automaticamente? No. La pubblicazione (« distribuzione ») è una tappa distinta che deve essere effettuata esplicitamente dopo la verifica. Senza pubblicazione, l'orario resta una bozza non visibile agli utenti finali. Vedere [Pubblicare (attivare) un orario](#page-timetables.publication). #### È possibile tornare a uno stato precedente di un orario? Sì, sotto due forme: - **Duplicazione** di orario — ogni modifica strutturale può essere effettuata su una copia, con l'originale che funge da riferimento (disponibile su tutti i livelli). - **Snapshot** — punti di backup ripristinabili dell'intero account, automatizzati o manuali (opzione Snapshots, secondo contratto). Vedere [Punti di backup](#page-admin.snapshots). #### Come gestire le settimane alternate (A/B)? La funzionalità è attivata nei [Parametri generali](#page-admin.parameters), sezione **Settimane alternate** (lettere A/B/C o cifre 1/2/3, cadenza libera su tutte le settimane necessarie). Su un corso, Aggiungere una settimana aggiunge un intervallo per una nuova settimana alternata. Vedere [Lezioni alternate](#page-glossary.alternate-lessons). #### I diversi livelli possono pranzare a orari differenti (due turni di mensa)? Sì: è il modo corretto di **alleggerire la mensa** distribuendo gli studenti su due turni. Dichiari una pausa pranzo ampia e comune — per esempio **12:00 – 14:00** — con una durata di pranzo da preservare di **un'ora**, poi **fissi** il turno di ogni livello dipingendo un'indisponibilità (**Indisponibile**) sulla sua mezza fascia di pasto, nei vincoli orari della classe (Vincoli orari della classe). Esempio: livelli inferiori non disponibili su 12:00 – 13:00 (primo turno), livelli superiori non disponibili su 13:00 – 14:00 (secondo turno). La mensa riceve così due flussi distinti. Vedere [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) e [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints). #### Vedi anche - [Panoramica del modulo Gestione degli orari](#page-timetables.overview) - [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Comportamento dell'algoritmo](#page-faq.solver-behavior) - [FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) ### 16.3 FAQ — Importazione dei dati *Source: `help/it/faq/data-import.md` · id: faq.data-import · Updated: 2026-05-10* #### Quali formati di importazione sono supportati? CSV e TSV, tramite copia e incolla da Excel, Google Sheets, Numbers o Calc. L'**esportazione JSON** completa dell'account è accessibile all'amministratore (backup); la **reimportazione** di un account JSON completo, invece, è un'operazione di ripristino gestita da Omniscol, non un'azione ordinaria della schermata di amministrazione. Per le migrazioni dedicate, vedere [Panoramica](#page-migration.overview). #### L'identificativo è generato dal sistema? Sì. All'importazione di studenti, professori o classi, Omniscol genera un identificativo interno stabile: per le persone deriva dal nome e dal cognome, per un gruppo include la classe genitore (`:`). Il modello dell'**identificativo di accesso** (nome-cognome, cognome-nome o numero di identificazione) si imposta nei [Parametri generali](#page-admin.parameters), campo **Identificativo**. Può anche inserire un riferimento personale tramite il campo **identificativo esterno / matricola** — utile per la tracciabilità con il Suo sistema informativo scolastico e per distinguere gli omonimi. #### Per i gruppi, occorre sempre indicare la classe? Sì. Un gruppo è sempre una suddivisione di una classe. L'ID di un gruppo include la classe genitore. Nei file di importazione delle lezioni, le colonne «classe» e «gruppo» funzionano congiuntamente. Vedere [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups). #### L'ordine delle colonne della tabella è importante? La schermata di importazione apre un **modello di colonne** tipizzate per posizione (la materia, il professore, l'aula… occupano ciascuna una colonna attesa). Lei **riorganizza le colonne del modello** affinché corrispondano all'ordine del Suo foglio di calcolo di origine: il copia e incolla rimane così pulito, senza dover riscrivere il file. Vedere [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import). #### Quali separatori per gli elenchi (multi-professore, multi-gruppo, ecc.)? I separatori più comuni vengono riconosciuti all'interno di uno stesso campo: virgola, punto e virgola, barra, barra verticale, più, e commerciale o a capo. Il motore di importazione rileva la convenzione utilizzata nel campo. #### Cosa succede se la tabella contiene materie sconosciute? Al passaggio 4 dell'importazione, Omniscol propone la **creazione delle entità sconosciute**. Per le materie personalizzate e alcuni professori, può richiedere una creazione dal lato **Amministrazione** al fine di renderle disponibili in tutta la scuola. Le etichette si correggono al passaggio 3, durante la disambiguazione. #### Le lezioni complesse vengono importate correttamente? Parzialmente. Il motore di importazione riconosce bene: - le lezioni semplici (materia + classe + professore + aula + fascia oraria), - le lezioni ad alternanza di base (`A/B`), - le lezioni multi-professore (co-docenza), - le lezioni multi-aula. Riconosce meno bene, e richiede quindi una rifinitura manuale: - le lezioni associate (alternanza tra mezzi gruppi), - le concatenazioni complesse, - i gruppi di gruppi, - le lezioni fuori griglia con orari precisi. #### Cosa fare se l'importazione fallisce su un file di grandi dimensioni? - Verificare l'assenza di righe vuote o di celle unite. - Suddividere il file in sottoinsiemi (per classe, per campus, per semestre). - Privilegiare un'**esportazione completa** dell'account di origine, spesso più pulita di un'esportazione parziale manuale. #### Vedi anche - [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) - [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) - [Panoramica](#page-migration.overview) - [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) ### 16.4 FAQ — Comportamento dell'algoritmo di generazione *Source: `help/it/faq/solver-behavior.md` · id: faq.solver-behavior · Updated: 2026-05-15* Domande frequenti sul comportamento del motore di generazione automatica. Per la descrizione del risolutore in sé, vedere [Risolutore](#page-glossary.solver); per il dettaglio operativo, vedere [Generazione automatica](#page-timetables.generation). #### Su quali tipi di orario funziona il risolutore? Sugli orari [settimanali](#page-glossary.weekly-timetable), [ciclici](#page-glossary.cyclic-timetable) e [a calendario](#page-glossary.calendar-mode). In modalità calendario, le lezioni sono collocate su date reali e le opzioni di generazione includono limiti di date. #### Come funziona l'algoritmo? Omniscol avvia un'elaborazione di risoluzione in background. Il risolutore valuta le lezioni da collocare, i vincoli dichiarati e le preferenze di generazione. Il risultato dipende soprattutto dalla qualità dei dati: volumi orari, professori, aule, gruppi, disponibilità, incompatibilità e vincoli inter-sito. Ogni generazione avvia un ambiente di calcolo dedicato e parallelizzato. Non c'è alcuna coda da gestire lato scuola; l'inizializzazione richiede spesso una decina di secondi prima che il calcolo effettivo abbia inizio. Nel modulo **Gestione degli orari**, il pulsante **Generare un orario** avvia il calcolo, ne segue lo stato e permette di ispezionare il risultato. Il motore è un'IA di ottimizzazione **metaeuristica Monte-Carlo neuro-simbolica**: ricerca stocastica, vincoli simbolici e ottimizzazione progressiva dei punteggi. Non è una promessa di successo su un insieme di vincoli impossibile; in tal caso, Omniscol restituisce una diagnostica. #### Quanto tempo richiede una generazione? La durata dipende dalla dimensione dell'orario, dal numero di lezioni, dal numero di vincoli e dalle opzioni scelte. A titolo di ordine di grandezza, una scuola secondaria di circa 550 studenti, 45 professori e 16 classi, con molte disponibilità, può ottenere in meno di un minuto un orario completo, con pochissimi o nessun buco, quando i dati sono coerenti. Un caso più denso, molto vincolato o con ottimizzazioni onerose può richiedere nettamente più tempo. #### Il risolutore rispetta tutti i vincoli? I **vincoli rigidi** sono rispettati rigorosamente: - un professore in un solo luogo nello stesso momento; - una classe senza doppia collocazione, salvo i gruppi in partizione; - disponibilità e fasce orarie contrassegnate come **indisponibili**; - aula standard occupata da una sola lezione alla volta; - aula grande utilizzata solo entro i suoi limiti di capacità e di numero di classi; - aule specializzate, capacità, risorse materiali e spostamenti inter-sito compatibili; - lezioni bloccate mantenute al loro posto. I **vincoli flessibili** (disponibilità indesiderate, preferenze, ponderazione pedagogica, equilibrio delle giornate, numero di giorni di presenza, buchi negli orari) sono ottimizzati al meglio. Creano dei malus: il risolutore cerca la soluzione che ne accumula il minor numero, ma può conservarne alcuni se è il miglior compromesso compatibile con i vincoli rigidi. #### Cosa fare se la generazione fallisce? Quando non viene trovata alcuna soluzione completa, Omniscol restituisce il miglior orario calcolato e lascia le lezioni non posizionate nella barra dei post-it. L'orario parziale resta consultabile per capire ciò che è stato collocato, poi correggere i vincoli o riposizionare manualmente alcune lezioni. Le cause più frequenti sono descritte nella pagina [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). #### È possibile forzare manualmente la posizione di una lezione? Sì, tramite il **blocco** di una lezione dopo il posizionamento manuale. Il risolutore non sposta una lezione bloccata durante una nuova generazione, ma adatta le altre attorno ad essa. Utile per ancorare le lezioni immutabili (interventi esterni a data fissa, esami datati). #### Perché il risolutore non propone più soluzioni? Il risolutore ottimizza in base ai vincoli e alle preferenze dichiarate e restituisce **la migliore soluzione trovata**. Per ottenere più soluzioni da confrontare, duplichi l'orario prima di ogni generazione e regoli leggermente i vincoli o le ponderazioni tra due passaggi. #### Il risolutore tiene conto delle assenze dichiarate? Il risolutore si applica sull'orario **strutturale**, indipendentemente dalle assenze. Le assenze sono gestite **a posteriori** nel modulo **Gestione delle assenze** (vedere [Panoramica del modulo Assenze](#page-absences.overview)), con impatto sulla visualizzazione dell'orario pubblicato e sulle statistiche del [Dashboard](#page-glossary.dashboard) (non sulla struttura sottostante). #### Conflitto volontario e conflitto bloccante Non tutti i conflitti sono equivalenti: - **Conflitti non bloccanti** — possono essere lasciati come sono se si tratta di una scelta deliberata (per esempio, un'aula il cui organico visualizzato eccede la capacità perché si sa che non tutti gli iscritti si presenteranno). L'avviso resta visibile ma non blocca. - **Conflitti bloccanti** — impediscono alla generazione automatica di riuscire (nessuna aula compatibile, allineamento incoerente, ecc.). Il pulsante Generare un orario resta disattivato finché questi conflitti persistono. Vedere [Conflitto](#page-glossary.conflict). #### Vedi anche - [Risolutore](#page-glossary.solver) - [Generazione automatica](#page-timetables.generation) - [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) - [Conflitto](#page-glossary.conflict) - [Diagnostica](#page-glossary.diagnostic) ### 16.5 FAQ — Visualizzazione e interfaccia *Source: `help/it/faq/display-and-ux.md` · id: faq.display-and-ux · Updated: 2026-06-25* Domande frequenti sulla visualizzazione, sulle viste e sull'esperienza utente dell'interfaccia Omniscol. #### Quali viste sono disponibili per consultare un orario? Il componente di visualizzazione combina: - dei **modi di resa**: **griglia** (calendario standard), **elenco**, **tabella** in stile foglio di calcolo; - delle **varianti di lettura**: **giorno**, **mese**, **planning** (e **planning per ore**), **affiancato**. Il planning serve a incrociare più entità o più giorni in una stessa vista; il planning per ore fa altrettanto su una scala oraria. La tabella è una resa tabellare della vista corrente. Vedere [Visualizzazione degli orari](#page-schedules.schedule-display) e [Consultare e filtrare](#page-schedules.consult-and-filter). #### È disponibile una visualizzazione verticale dell'orario? Nel modulo **Orario**, il componente di visualizzazione degli orari non propone una vista verticale. Una vista verticale equivalente esiste nel modulo **Servizio del personale** (cfr. [Panoramica del Servizio del personale](#page-staffing.overview)) per contesti affini (griglie di sorveglianza). #### L'interfaccia è responsive (cellulare, tablet)? Sì, l'interfaccia si adatta agli schermi di ogni dimensione. Su smartphone, lo scorrimento orizzontale fa scorrere il periodo visualizzato (la settimana per impostazione predefinita, il giorno nella vista Giorno). #### Quali impostazioni di visualizzazione dei nomi sono disponibili? I nomi passano attraverso una funzione di formattazione parametrata in base alla configurazione della scuola: - Ordine nome/cognome (secondo le convenzioni del Paese). - Grassetto sul nome principale (variabile a seconda dei Paesi — gestione del *middle name* per le convenzioni americane, vietnamite, arabe). - Maiuscolo del nome, del secondo nome se attivo, e/o del cognome tramite l'impostazione di maiuscolo dei nomi. #### L'interfaccia è accessibile alle persone con disabilità? È in atto un audit di accessibilità (RGAA, WCAG). Un rapporto di conformità può essere fornito su richiesta. I miglioramenti individuati vengono trattati in modo continuativo. Per le esigenze specifiche (lettore di schermo, contrasto rafforzato, navigazione da tastiera), contattare l'assistenza. #### Le lingue scritte da destra a sinistra sono supportate? Sì. L'arabo e l'ebraico dispongono di un'interfaccia da destra a sinistra adattata. Le 14 lingue supportate sono elencate in [Domande generali](#page-faq.general). #### Come si stampa un orario? Il pulsante **Stampare** del modulo **Orario** avvia la stampa. La resa è ottimizzata per la carta (nessun elemento interattivo, impaginazione adattata). #### Come si esporta un orario verso Excel o un calendario esterno? - Esportazione Excel / CSV tramite **Tabella**. - Esportazione / abbonamento iCal tramite **Scarica** (cfr. [iCal — abbonamento e link dinamico](#page-integrations.ical)). - Link di condivisione pubblico in sola lettura (cfr. [Link di condivisione](#page-glossary.share-link)). #### È disponibile la modalità scura? Non nell'interfaccia attuale: Omniscol non propone un tema scuro e non passa automaticamente all'impostazione scura del sistema operativo. L'interfaccia tiene invece conto delle preferenze di accessibilità del sistema come il contrasto rafforzato. #### Posso personalizzare i colori delle materie? Sì. A ogni materia (cfr. [Materia](#page-glossary.subject)) può essere assegnato un colore specifico tramite **Colorpicker**. I tipi di lezione restano semplici etichette testuali, senza colore né icona associati. #### Vedi anche - [Consultare e filtrare](#page-schedules.consult-and-filter) - [FAQ — casi particolari e configurazioni avanzate](#page-faq.edge-cases) - [Pannello informativo](#page-panels.lobby-panel) - [Stampare e condividere](#page-schedules.print-and-export) ### 16.6 FAQ — casi d'uso dell'istruzione superiore *Source: `help/it/faq/higher-ed-cases.md` · id: faq.higher-ed-cases · Updated: 2026-06-13* Domande frequenti provenienti dagli istituti di istruzione superiore (business school, scuole di ingegneria, scuole di arte e design, università, centri di formazione continua). Le risposte si applicano trasversalmente a queste tipologie di istituto; per il dettaglio di merito si veda [Specificità dell'istruzione superiore](#page-higher-ed.overview). #### Più orari, ogni utente vede solo il proprio **D.** Come si possono gestire più orari in parallelo in modo che ogni utente veda, nel proprio calendario, solo le lezioni che lo riguardano? **R.** Tre meccanismi cooperano tra loro: - Lato amministratore, più orari possono essere pubblicati in parallelo sulle stesse settimane, con fusione dinamica — incluso di base in un account Premium (si veda [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables)). - Per impostazione predefinita, ogni utente vede solo le lezioni che lo riguardano — la sua classe, i suoi gruppi o, per un professore, le proprie lezioni. I filtri sono applicati automaticamente all'accesso in base al ruolo dell'utente. - Per consultare un altro ambito (un'altra classe, un altro professore…), l'utente applica un filtro manualmente, purché il suo ruolo lo consenta. Le [restrizioni di visibilità](#page-admin.visibility-restrictions) permettono ad esempio di impedire ai professori di vedere l'orario dei colleghi. #### Sincronizzazione iCal dopo la modifica di un orario **D.** Quando una lezione viene modificata in Omniscol, il flusso iCal è aggiornato automaticamente? **R.** Sì, a condizione di utilizzare un **link di iscrizione iCal** (e non un download statico). Il link di iscrizione è dinamico; l'applicazione calendario ripreleva il flusso a intervalli regolari, con un ritardo che va da alcuni minuti a diverse ore a seconda dell'applicazione e della sua configurazione. È l'applicazione calendario a decidere la cadenza di aggiornamento, non Omniscol. Si veda [iCal](#page-glossary.ical) e [iCal — abbonamento e link dinamico](#page-integrations.ical). #### Notifica a ogni modifica **D.** È possibile inviare una notifica a ogni modifica dell'orario? **R.** Nessuna notifica automatica a ogni modifica: il volume sarebbe ingestibile per i destinatari. Approccio attuale: pubblicare le modifiche a lotti tramite un'e-mail riepilogativa inviata a una selezione degli utenti interessati (Inviare una mail). #### Aula all'interno di un macro-tipo / categoria di aule **D.** Come si indica che un corso deve svolgersi in un'aula particolare appartenente a un macro-tipo — a seconda che si voglia forzare un'aula precisa o lasciare che il motore scelga all'interno della categoria? **R.** Tramite le [**specializzazioni delle aule**](#page-glossary.classroom-specialization), che sono campi liberi: - Crei una specializzazione corrispondente al macro-tipo (ad esempio «LABORATORIO», «AULA-INFO», «LABO-CHIMICA»). - Assegni questa specializzazione alle aule interessate. - Sul corso, indichi la specializzazione richiesta. Omniscol propone in via prioritaria le aule specializzate e il risolutore ne sceglie una tra quelle disponibili. - Per **forzare un'aula precisa**, la indichi direttamente (in aggiunta alla specializzazione, o al suo posto). Il risolutore rispetta la forzatura. Nell'importazione in blocco può indicare solo la specializzazione; il risolutore si occupa dell'assegnazione finale. #### Verificare l'occupazione delle aule prima della generazione **D.** Esiste un reporting che permette di verificare, prima della generazione, se le ore assegnate a un'aula o a un macro-tipo di aule rientrano nel totale di ore disponibili? **R.** La scheda Generazione esegue una diagnostica preliminare: controlli di capacità (numero di lezioni da posizionare confrontato con la capacità della griglia oraria) e controlli di compatibilità delle specializzazioni delle aule. Un avviso viene segnalato in caso di sovradimensionamento. La [dashboard](#page-glossary.dashboard) post-pubblicazione fornisce il dettaglio effettivo (tenendo conto delle assenze e delle sostituzioni). #### Durata per ogni corso individuale nell'importazione **D.** Nel file di importazione, la colonna «durata» contiene il totale orario di un'attività, che può raggruppare più corsi. Dove si indica la durata individuale di ciascun corso? **R.** Una **riga di importazione corrisponde a un corso**. La durata inserita è quella di questo corso, non del modulo. Per un modulo che comprende più corsi di durate diverse, serve quindi una riga di importazione per corso. Se la fonte aggrega («Algebra = 30 h totali»), occorre scomporre prima dell'importazione — oppure utilizzare la [distribuzione automatica](#page-timetables.hour-distribution) per ripartire un volume orario in corsi individuali. #### Corso solo in determinate settimane **D.** Come si indica che un corso si svolge solo in determinate settimane precise dell'anno accademico? **R.** Dipende dalla modalità: - In modalità [settimanale](#page-glossary.weekly-timetable), le [settimane alternate](#page-glossary.alternate-lessons) coprono il caso in cui un corso ricorre solo una settimana su N. Per un corso che cade solo in alcune settimane precise dell'anno, la modalità calendario è più adatta. - In modalità [calendario](#page-glossary.calendar-mode), ogni lezione è posizionata individualmente alla sua data: è nativo. - Nell'importazione, inserisca la **data** di ogni lezione nella colonna prevista (formato `AAAA-MM-GG`), oppure la lasci vuota per una lezione da posizionare manualmente in seguito. #### Corsi inter-classe / inter-coorte **D.** Come si modellano i corsi in cui, nella stessa fascia oraria e nella stessa aula, partecipano più gruppi di una stessa classe o di classi diverse, talvolta per materie diverse, talvolta su campus diversi? **R.** A seconda del caso: - **Più gruppi di una stessa classe nella stessa fascia oraria, stessa materia, stesso professore, stessa aula** — un unico corso assegnato a un super-gruppo. Composizione fissa → [partizione di classe](#page-glossary.class-division) se applicabile. Composizione variabile → [gruppo di gruppi](#page-glossary.groups-of-groups), disponibile su tutti gli account e tutti i tipi di orario. - **Più classi diverse nella stessa fascia oraria, stessa materia, stesso professore, stessa aula** — un [allineamento](#page-glossary.alignment) quando la composizione è fissa, oppure un [gruppo di gruppi](#page-glossary.groups-of-groups) (disponibile su tutti gli account, tutti i tipi di orario) quando il raggruppamento deve rimanere variabile. - **Materie diverse nella stessa fascia oraria e nella stessa aula** (caso raro) — occorrono due corsi distinti. Ogni studente vede, sul proprio orario, la materia del proprio gruppo. - **Tra due sedi** (due classi di luoghi diversi che condividono un corso) — supportato, a condizione che l'aula comune o la videoconferenza sia modellata correttamente (cfr. [siti virtuali](#page-glossary.site)). #### Alternanza di docenti sulla stessa fascia oraria **D.** Come si indica che due professori si alternano sulla stessa fascia oraria, lo stesso giorno della settimana, con la stessa classe / materia / gruppo — uno una settimana, l'altro la successiva? **R.** Si tratta di un'**alternanza di docenti**, non di una [compresenza](#page-glossary.co-teaching) in senso stretto (che implica due professori contemporaneamente sulla stessa lezione). Due implementazioni a seconda della cadenza: - **Alternanza regolare in modalità settimanale** — utilizzi le [settimane alternate](#page-glossary.alternate-lessons) con un professore diverso in ciascuna settimana. - **Alternanza a date precise in modalità calendario** — crei un corso per lezione con il professore corrispondente. Più prolisso ma più flessibile: ogni lezione può essere regolata individualmente. #### Co-conduzione occasionale (visiting professor) **D.** Come si indica che, per una o poche lezioni soltanto, un visiting professor conduce un corso insieme al professore titolare? **R.** In modalità [calendario](#page-glossary.calendar-mode), crei le lezioni ordinarie con il solo professore titolare, poi per le lezioni in cui interviene il visiting, lo aggiunga come [co-docente](#page-glossary.co-teaching) sulla lezione precisa. Ogni professore viene accreditato nelle proprie statistiche. #### Link di videoconferenza per corso **D.** Il link di videoconferenza può essere associato solo a un'intera classe, oppure può essere collegato a un corso o a una lezione precisa? **R.** Un link di videoconferenza può essere definito a tre livelli: sulla **classe** (si applica allora per impostazione predefinita a tutte le sue lezioni), su un **corso** preciso, o su una **lezione individuale** in modalità calendario. È adatto alle sessioni ibride in cui solo alcuni corsi sono in remoto. Si veda [Link alla videoconferenza per corso](#page-higher-ed.videoconference-links). #### Studenti ripetenti e fuori corso **D.** Come si gestisce uno studente che deve seguire una materia di un altro anno (ripetizione, riallineamento, *fuori corso*, ecc.)? **R.** Uno studente può essere assegnato a più classi contemporaneamente, e limitato a determinati gruppi di una classe. Quattro casi tipici: 1. **Un'intera altra classe + un gruppo preciso di una terza** — assegnarlo a entrambe e scegliere il gruppo. 2. **Più gruppi di un'altra classe senza tutta la classe** — assegnarlo direttamente ai gruppi. 3. **Una sola materia di un'altra classe tramite un gruppo preciso** — creare un gruppo dedicato nell'altra classe e assegnare lo studente a quel solo gruppo. 4. **Studente fuori corso che rifà una materia isolata** — stessa logica con un gruppo dedicato. #### ID del SIS come identificativo univoco **D.** È possibile utilizzare l'identificativo studente o professore proveniente dal nostro SIS come identificativo univoco in Omniscol, per evitare le omonimie? **R.** Sì, tramite il campo **Matricola / ID esterno** sulla scheda utente — è la sua ragion d'essere. Lo inserisca nell'importazione e Omniscol lo utilizzerà come chiave di identificazione. Particolarmente utile per le sincronizzazioni bidirezionali con il suo SIS (si veda [la sincronizzazione con sistemi esterni](#page-integrations.extsync) per Aurion / Auriga oppure [API Omniscol](#page-integrations.api-tokens) per un'integrazione specifica). #### Più indirizzi e-mail per utente **D.** È possibile importare due indirizzi e-mail per uno stesso professore (istituzionale e personale)? **R.** Non nell'interfaccia attuale: un indirizzo e-mail principale per utente. Se un secondo indirizzo deve essere conservato a titolo informativo, utilizzi il campo Commento della scheda utente. Questo campo non è utilizzato come indirizzo di invio. #### Corsisti, studenti, partecipanti — quale entità? **D.** Il nostro modello di riferimento distingue **corsista** (termine generale), **studente** (formazione iniziale), **partecipante** (formazione continua). Come si mappano queste sfumature? **R.** Tutti si riconducono all'entità Omniscol [studente](#page-glossary.student) (ruolo `student`). La distinzione tra formazione iniziale e continua è gestita da un attributo opzionale sulla scheda (matricola SIS, stato), non da entità separate. #### Docenti: di ruolo, a contratto, esperti, visiting **D.** Il nostro modello di riferimento distingue **professore di ruolo** (contratto a tempo indeterminato, tempo distribuito), **docente a contratto** (incarico occasionale), **esperto** (fornitore esterno raro), **visiting professor** (accademico invitato). Corrispondono tutti alla stessa entità Omniscol? **R.** Sì, tutti si riconducono all'entità [professore](#page-glossary.teacher) (ruolo `teacher`). Il **contrassegno nominativo «esterno / a contratto»** che li distingue dal personale di ruolo è un'opzione **Premium** (cfr. [insegnante esterno](#page-glossary.external-teacher)); senza Premium, i quattro profili restano un'unica entità professore, senza contrassegno dedicato. I ruoli «responsabile del corso» e «responsabile del programma» sono **ruoli di merito** interni al suo istituto. Omniscol non li modella in quanto tali, ma può rappresentarli tramite i [ruoli personalizzati](#page-admin.customroles). #### Programmi, curricula, percorsi didattici **D.** La nostra offerta è organizzata in **programmi** (PGE, MBA, MSc, PhD, ecc.), **corsi di management** (UE / EC / ECUE), **attività didattiche** (sessioni). Come si mappa tutto ciò in Omniscol? **R.** Mappatura consigliata: | Concetto di merito | Entità Omniscol | | --- | --- | | **Programma** | Una [classe](#page-glossary.class) (o un insieme di classi per le coorti parallele) | | **Corso / modulo / UE / EC** | Una [materia](#page-glossary.subject) (con o senza [tipo di lezione](#page-glossary.lesson-type)) | | **Sessione / attività didattica** | Una [lezione](#page-glossary.lesson) — occorrenza individuale posizionata di un corso | Per le nomenclature gerarchiche (UE → EC → ECUE), una convenzione di denominazione sulle materie («UE3-EC2-ECUE1 Algebra lineare») o l'utilizzo delle **famiglie di materie** permette di rappresentare il raggruppamento. #### Mobilità, scambi, doppio titolo **D.** Come si gestisce la mobilità in entrata e in uscita (scambi accademici, doppi titoli, *free movers*, *study abroad*)? **R.** Lato orario, questi corsisti sono **studenti ordinari assegnati a classi specifiche**. La gestione amministrativa (convenzioni, crediti, ECTS, stato) compete al SIS dell'istituto; Omniscol si concentra sulla domanda «chi assiste a quale corso, quando, dove». #### Raccomandazioni di configurazione per l'istruzione superiore Per un account di istruzione superiore, consideri: - **Account Premium**: la modalità calendario, le disponibilità calendario e più orari attivi sono inclusi di base, così come l'MCP (connessione di un assistente IA compatibile). Da completare secondo il bisogno con le opzioni contrattuali: ruoli personalizzati, snapshot, collaborazione in tempo reale. (I **gruppi di gruppi**, invece, sono disponibili su tutti gli account.) - **Modalità calendario** per la maggior parte degli orari (lezioni datate individualmente, docenti che variano da una sessione all'altra). - **Più orari attivi in parallelo** per programma (un orario per master, fusi dinamicamente quando i corsi sono comuni). - **Gruppi di gruppi** per i raggruppamenti trasversali variabili (tronco comune multi-percorso). - **Più aule** per gli esami in aule magne sdoppiate o per le lezioni ex cathedra ritrasmesse. - **Ruoli personalizzati** per modellare i responsabili di corso o di programma con permessi mirati al loro ambito. - **Integrazione SIS** ([la sincronizzazione con sistemi esterni](#page-integrations.extsync) per Aurion / Auriga, oppure [API Omniscol](#page-integrations.api-tokens) per un'integrazione specifica) per sincronizzare i corsisti. - **OIDC / SSO** sul provider di identità dell'istituto (Google Workspace, Microsoft Entra ID, Keycloak, ecc.). #### Vedi anche - [Specificità dell'istruzione superiore — panoramica](#page-higher-ed.overview) - [Più aule](#page-glossary.multi-room) - [Modalità](#page-glossary.lesson-modality) - [Co-docenza](#page-glossary.co-teaching) - [Modalità Calendario](#page-glossary.calendar-mode) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) - [FAQ — Creazione di orari](#page-faq.timetables) - [FAQ — Importazione dei dati](#page-faq.data-import) ### 16.7 FAQ — casi particolari e configurazioni avanzate *Source: `help/it/faq/edge-cases.md` · id: faq.edge-cases · Updated: 2026-06-13* Domande relative a configurazioni atipiche o a casi particolari: lezioni che non rispettano la griglia oraria, gestione di dettaglio delle aule e delle loro specializzazioni, conflitti non bloccanti, visualizzazioni specifiche, tracciabilità delle incoerenze. #### Lezioni con orario personalizzato **D.** Una parte delle lezioni del nostro istituto (circa il 20 %) non rispetta la griglia oraria standard: durata precisa di un esame, orari sfalsati per alcune esercitazioni pratiche. Come posizionare una lezione che deve iniziare alle 13:10 su una griglia con passo di 10 minuti, e ottenere un' ora di fine coerente? **R.** Sì. Una lezione può essere inserita con un orario di inizio e di fine propri, senza rispettare esattamente i limiti della griglia standard. Nella lezione posizionata, utilizzi il pulsante Orario personalizzato (Orario personalizzato) e poi inserisca l'inizio e la fine. La lezione resta considerata nei conflitti: professore, aula, classe, gruppo e risorsa sono ritenuti occupati non appena l'orario personalizzato si sovrappone a una fascia oraria. Per la generazione automatica, questa posizione è bloccata. La configurazione **Fuori griglia** di una classe è un caso diverso: serve alle classi in modalità calendario configurate fuori griglia le cui lezioni devono tutte essere memorizzate con orari precisi. Vedere [Lezioni fuori griglia](#page-timetables.off-grid-lessons) per i dettagli. #### Creazione di materie con genitore e famiglia esistenti **D.** Al momento della creazione di una materia personalizzata, è possibile selezionare una **materia genitore** già creata e una **famiglia** esistente, senza dover passare da una reimmissione esterna? **R.** Sì. La finestra di creazione o di modifica di una materia personalizzata permette di selezionare direttamente una materia genitore esistente (campo Materia Genitore) e una famiglia esistente (campo Famiglia), senza reimmissione esterna. Vedere [Gestire le materie](#page-admin.subjects). #### Modificare o eliminare una specializzazione dell'aula **D.** Perché la modifica o l'eliminazione diretta di una specializzazione dell'aula non è disponibile (ad esempio per correggere un errore di ortografia)? **R.** L'elenco delle specializzazioni è calcolato **dinamicamente** a partire dalle aule. Per far scomparire una specializzazione: - La rimuova da tutte le aule che la riportano. Al successivo salvataggio, scompare automaticamente dal repertorio. - Per **rinominarla**, crei la nuova specializzazione con l'etichetta corretta, la sostituisca sulle aule interessate; la precedente scompare poi da sola. L'interfaccia non propone quindi un pulsante di modifica o di eliminazione diretta di una specializzazione. Vedere [Specializzazione dell'aula](#page-glossary.classroom-specialization). #### Filtro orario per materia: distinzione tra materia semplice e con tipo **D.** Quando filtro gli orari per materia, alcune lezioni non compaiono, benché siano ben visibili quando filtro per classe. Qual è la causa? **R.** La coppia **(materia, tipo di lezione)** è trattata come una voce indipendente dalla sola materia. Conseguenze: - «Algebra» senza tipo e «Algebra — Esercitazione» corrispondono a **due voci diverse** nell'orario. - Per filtrare su entrambe contemporaneamente, non indichi un tipo nel filtro. - Se deve verificare tutti i tipi di una stessa materia, utilizzi i filtri disponibili nella vista e poi controlli i risultati nell'elenco dei corsi. #### Visualizzazione del cognome in maiuscolo **D.** È possibile visualizzare i cognomi in maiuscolo? Utile in particolare quando il cognome è anche un nome comune (ad esempio «Martin Pierre» vs «Martin PIERRE»). **R.** Sì. L'impostazione di maiuscolo dei nomi si imposta nei parametri della scuola. Può applicarsi al nome, al secondo nome se l'opzione è attiva, e/o al cognome secondo l'ordine dei nomi configurato per l'istituto. #### Blocco di una lezione che non compare in tutte le viste **D.** Il blocco del posizionamento di una lezione non compare sistematicamente quando si cambia vista (post-it ↔ elenco). **R.** Il marcatore di blocco dipende dalla vista e dalla natura della lezione. Nelle viste di distribuzione e in alcune righe di corso, il blocco è indicato da un'icona [lock]. Se una vista non lo mostra, verifichi il dettaglio della lezione prima di concludere che è modificabile dall'algoritmo. #### Assegnazione dell'aula: sito preferito e specializzazioni prioritarie **D.** Al momento dell'assegnazione di un'aula, le aule di un altro sito compaiono per prime benché il sito preferito sia selezionato. Perché? **R.** L'ordinamento adotta per impostazione predefinita il **sito associato alla classe**, non il sito preferito dell'utente. È un comportamento voluto: la classe guida la scelta dell'aula. Se l'ordine proposto non è quello atteso, verifichi che la classe sia associata al sito desiderato in Modifica. Per le **specializzazioni**, controlli le aule proposte e i loro avvisi di compatibilità nel selettore. Non presuma un ordinamento prioritario per migliore compatibilità. #### Capienza totale = somma delle aule (più aule) **D.** Quando più aule sono assegnate a una stessa lezione, Omniscol calcola correttamente la **capienza totale** come la somma delle capienze individuali, evitando così le false segnalazioni di sovraccapienza? **R.** Sì. La capienza totale è calcolata come la **somma** delle capienze delle aule assegnate. Se il gruppo rientra nella somma, non viene attivata alcuna segnalazione. Questa funzionalità è disponibile **su tutti i tipi di orario**: settimanale, ciclico, calendario. Se la somma resta inferiore al gruppo, il conflitto viene segnalato. L'amministratore può allora: - aggiungere un'aula supplementare, - ridurre il gruppo, - accettare il conflitto se è voluto (caso tipico: si sa che non tutti gli iscritti si presenteranno). Vedere [Più aule](#page-glossary.multi-room). #### Rilevare le incoerenze dei gruppi in partizione **D.** Omniscol segnala «Numero diverso di lezioni per i gruppi in partizione» senza precisare in quali materie si trovano le incoerenze. Come indagare nel dettaglio? **R.** Il pannello di **statistiche avanzate** della schermata di distribuzione delle ore permette l'ispezione dettagliata, in particolare isolando i gruppi che interagiscono sulle fasce orarie interessate. Per gli istituti in cui gli squilibri sono numerosi e intenzionali, un'euristica limita la visualizzazione delle segnalazioni oltre una soglia, per evitare un elenco ingestibile. Resta possibile esportare i corsi e filtrare in un foglio di calcolo per una diagnosi esaustiva. #### Più commenti con restrizioni diverse **D.** Su una stessa lezione, è possibile aggiungere due commenti con restrizioni di pubblicazione distinte (uno per gli amministratori soltanto, l'altro per i professori)? **R.** Sì. Ogni commento ha la propria restrizione di pubblicazione: amministratori, professori, o tutti gli utenti. Utilizzi il pulsante Commento per aggiungere più commenti e definirne la visibilità separatamente. #### Visualizzazione verticale di un orario (carico settimanale) **D.** Per visualizzare il carico di un gruppo o l'occupazione di un tipo di aule su una settimana completa, la visualizzazione orizzontale obbliga a utilizzare lo scorrimento. È disponibile una visualizzazione verticale? **R.** Nel modulo **Orario**, la visualizzazione degli orari avviene in orizzontale. Una vista verticale equivalente esiste nel modulo **Servizio del personale** per contesti affini (griglie di sorveglianza). Vedere [Panoramica del Servizio del personale](#page-staffing.overview) e [Visualizzazione e UX](#page-faq.display-and-ux). #### Statistiche: lezioni posizionate vs corsi creati **D.** Il contatore della schermata «distribuzione delle ore» indica quanti corsi sono creati. Dove vedere quante ore sono effettivamente **posizionate** nell'orario (vs create senza posizionamento)? **R.** Due schermate forniscono due misure complementari: - La **Dashboard** lavora sull'**orario operativo** (lezioni realmente posizionate, eventuale fusione di più orari pubblicati, considerazione delle assenze). Le percentuali visualizzate sono relative («93 % delle ore di questa classe»), non un tasso di posizionamento. - La schermata di **distribuzione delle ore** misura i corsi dichiarati e i volumi creati. Se ha bisogno del tasso di posizionamento, controlli i corsi nella vista planning o esporti l'elenco per filtrare le lezioni senza posizione. #### Docente a contratto / intervento esterno visibile sull'orario **D.** L'icona che distingue i docenti a contratto dai docenti di ruolo compare accanto al nome del professore nelle viste dell'orario? **R.** A seconda della vista: - **Vista griglia** — lo spazio è ridotto e i nomi possono esservi abbreviati o troncati in testo semplice; l'icona non vi compare sistematicamente. - **Elenchi, tooltip e selettori** — ovunque il nome completo sia reso, un'icona [user-tie] precede il nome degli intervenienti la cui scheda riporta il marcatore Insegnante esterno. Questo marcatore «esterno» è un'opzione **Premium**; senza di esso, nessuna icona distingue i docenti a contratto. Vedere [Insegnante esterno](#page-glossary.external-teacher). > _Premium_ #### Eventi occasionali: precisazioni richieste di frequente Alcune precisazioni sulla schermata degli eventi (cfr. [Eventi puntuali](#page-schedules.events)): - **Orari proposti** — la fascia oraria di un evento segue gli Orari di apertura del sito; se è troppo breve (evento serale ad esempio), ampli questi orari nella scheda del sito. - **Modifica dell'orario in loco** — l'orario di un evento si modifica direttamente, con un clic sull'evento. - **Partecipanti** — l'elenco dei partecipanti propone le classi e i gruppi, così come i professori e gli studenti individualmente. #### Vedi anche - [Lezioni fuori griglia](#page-timetables.off-grid-lessons) - [Eventi puntuali](#page-schedules.events) - [Più aule](#page-glossary.multi-room) - [Specializzazione dell'aula](#page-glossary.classroom-specialization) - [Visualizzazione e UX](#page-faq.display-and-ux) - [Comportamento dell'algoritmo](#page-faq.solver-behavior) ### 16.8 FAQ — Sicurezza e hosting *Source: `help/it/faq/security-and-hosting.md` · id: faq.security-and-hosting · Updated: 2026-05-10* Questa pagina riassume le domande più frequenti su sicurezza e hosting. Per una descrizione esaustiva, Omniscol fornisce su richiesta (o sotto NDA a seconda dei casi) i documenti ufficiali: - `SECURITY_OVERVIEW.md` — panoramica pubblica, - `SECURITY_ONE_PAGER.md` — sintesi per i CISO, - `SECURITY_FULL.md` — documentazione completa (governance, infrastruttura, controlli, conformità, incident response), - `ISO27001_MAPPING.md` — mappatura verso i controlli ISO 27001, - `SSI_QUESTIONNAIRE_STANDARD.md` — risposte al questionario standard sulla sicurezza delle informazioni. Per qualsiasi domanda sulla sicurezza: **[security@omniscol.com](mailto:security@omniscol.com)**. #### Dove sono ospitati i miei dati? Le note legali indicano un hosting nell'Unione europea, su AWS Parigi e Scaleway. Gli impegni precisi in materia di ridondanza, backup, conservazione e disponibilità dipendono dal quadro contrattuale applicabile al Suo account. #### Omniscol è conforme al GDPR? Omniscol è progettato per un utilizzo conforme al GDPR. Conseguenze pratiche: - Hosting esclusivamente nell'UE (Francia). - **Isolamento logico** per cliente: nessun accesso incrociato possibile tra gli account. - Nessuna **profilazione**, nessuna **rivendita** dei dati, nessun **uso secondario** dei contenuti della Sua scuola. - **Reversibilità**: esportazione completa in JSON tramite **Scarica**. - Gestione delle richieste degli interessati secondo il quadro contrattuale e normativo applicabile. #### Omniscol è certificato ISO 27001? Non certificato ad oggi, ma **le pratiche sono allineate** ai principi del riferimento e seguono un approccio basato sui rischi e continuamente rivisto. Il dettaglio dei controlli può essere fornito nell'ambito del quadro contrattuale o di sicurezza adeguato. #### Come sono protette le password? Omniscol protegge le password nel modo seguente: - **Pre-hashing lato client** con **scrypt** — la Sua password in chiaro non raggiunge mai i server. - Archiviazione lato server sotto forma di hash con sale. - Nessuna password in chiaro viene mai trasmessa né archiviata. - Nessun amministratore Omniscol può leggere, ritrovare o recuperare una password utente. In caso di sospetta compromissione di un account, la modifica della password invalida gli accessi derivati che dipendono da questo segreto, in particolare i link di condivisione legati alla password del creatore. #### Le comunicazioni sono cifrate? Gli accessi applicativi pubblici passano tramite HTTPS. La configurazione dell'esposizione di rete dipende dal deployment scelto e deve essere verificata nell'ambito del quadro di sicurezza o contrattuale dell'account interessato. #### Come funziona l'autenticazione? Le sessioni Omniscol utilizzano token firmati con una durata di vita limitata; l'accesso viene rinnovato mentre l'utente lavora nell'interfaccia. I link di condivisione e i token API seguono regole separate: - un link di condivisione può avere una data di scadenza e dipende anche dall'account che l'ha creato; modificare la password di questo account o disattivarlo invalida gli accessi interessati; - un token API dipende da una chiave creata nell'interfaccia; eliminare questa chiave o raggiungere la sua data di scadenza invalida i token associati. Vedere anche [Link di condivisione](#page-glossary.share-link) e [API Omniscol](#page-integrations.api-tokens). #### API: chiavi e token L'accesso API si gestisce dall'interfaccia con due oggetti visibili: 1. **Chiave** — creata con un'etichetta e, se necessario, una data di scadenza. Questa scadenza può essere modificata in seguito. 2. **Token** — generato da una chiave, con un elenco di punti di accesso API autorizzati e una scadenza propria. Questa scadenza non si modifica dopo la generazione; occorre creare un nuovo token. Buona pratica: una chiave per integrazione, con un'etichetta esplicita e una scadenza adeguata alle esigenze. In caso di dubbio, elimini la chiave e ne crei una nuova. Vedere [API Omniscol](#page-integrations.api-tokens). #### I miei utenti possono utilizzare il proprio account aziendale (SSO)? Sì, tramite [OIDC / SSO](#page-integrations.oauth2), quando la configurazione è attivata sull'account. Omniscol supporta Google Workspace, Microsoft Entra ID e i provider OIDC generici. Ogni utente si connette quindi con la propria identità aziendale e conserva i diritti configurati in Omniscol. #### Quali protezioni contro i tentativi di accesso abusivi? - Le risposte di autenticazione fallita sono volutamente rallentate. - Le schermate di amministrazione beneficiano di protezioni rafforzate. - Omniscol non indica se l'identificativo esiste o meno: il messaggio rimane generico. #### Ciclo di vita degli account utente - **Disattivazione senza eliminazione** — un account disattivato non può più connettersi, ma i dati associati sono preservati. - **Modifica obbligatoria al primo accesso** — quando una password viene impostata manualmente, l'utente deve modificarla alla prima connessione. - **Reimpostazione** — un amministratore può avviare un azzeramento senza conoscere la password esistente. #### Sicurezza di rete ed esercizio I documenti di sicurezza forniti su richiesta dettagliano l'hosting, la separazione di rete, le regole di accesso ai dati e le procedure operative applicabili all'account interessato. #### Esiste un registro di audit? Sì, quando l'opzione dei logs e la relativa conservazione sono attivate per l'account. Il perimetro visibile dipende dalle operazioni registrate e dalla profondità configurata da Omniscol. Vedere [Registro delle attività (logs)](#page-admin.logs). #### OWASP Top 10 Omniscol applica controlli allineati ai rischi OWASP Top 10: controllo degli accessi, cifratura, validazione degli input, configurazione sicura, monitoraggio delle dipendenze, protezione delle sessioni e registrazione. Il perimetro esatto può essere dettagliato nei documenti di sicurezza forniti su richiesta. #### Test di sicurezza automatizzati Controlli automatizzati sono integrati nel processo di sviluppo e di deployment di Omniscol. Il loro perimetro evolve con il prodotto; gli elementi dettagliati possono essere forniti nell'ambito del quadro di sicurezza adeguato. #### Come effettuare un backup manuale? Il pulsante **Scarica** scarica un'esportazione completa dell'account in formato JSON. Il file deve essere conservato con cura: contiene gli hash delle password e l'insieme dei dati personali. In caso di incidente grave, questo file può essere rinviato al team Omniscol per la reimportazione. Se l'opzione **Snapshots** è attivata sull'account, può anche automatizzare la creazione di punti di backup ripristinabili. Vedere [Punti di backup](#page-admin.snapshots). #### Storico degli incidenti Al censimento più recente (febbraio 2026): - **0 violazioni di dati dei clienti** (storico cumulato). - **0 incidenti di sicurezza** nel 2025. Queste cifre sono pubblicate in `SECURITY_ONE_PAGER.md`, documento rivisto trimestralmente. #### Vedi anche - [Architettura e ruoli](#page-overview.architecture-and-roles) - [Link di condivisione](#page-glossary.share-link) - [Token API](#page-glossary.api-token) - [API Omniscol](#page-integrations.api-tokens) - [OIDC / SSO](#page-integrations.oauth2) - [Backup e snapshot](#page-admin.snapshots) - [Registro delle attività (logs)](#page-admin.logs) ### 16.9 FAQ — Tariffe e licenze *Source: `help/it/faq/pricing-and-licenses.md` · id: faq.pricing-and-licenses · Updated: 2026-06-13* Domande frequenti sui piani di abbonamento, sulle funzioni incluse e sulle opzioni à la carte, oltre che sulla fatturazione. Per il dettaglio delle funzionalità per piano / opzione, si veda [Piani e opzioni di Omniscol](#page-overview.plans-and-options). #### Quali piani di abbonamento esistono? Tre piani principali, più un catalogo di opzioni à la carte: | Piano | Pubblico di riferimento | | --- | --- | | **Lite** | Istituti molto piccoli, liberi professionisti, formatori individuali, prove — generazione e stampa dell'orario soltanto (nessuna pubblicazione né gestione degli studenti) | | **Standard** | Istituto classico (scuola primaria, secondaria di primo o secondo grado), team di pianificazione unico, orario settimanale | | **Premium** | Istruzione superiore, formazione continua, grandi volumi, configurazioni multi-sede complesse | A questi si aggiungono **Standard Plus** (Standard completato con il modulo **Servizio del personale**) e l'offerta autonoma **Servizio del personale** (gestione della sorveglianza senza il resto di Omniscol). Si veda [Piani e opzioni di Omniscol](#page-overview.plans-and-options) per il dettaglio delle funzionalità. #### Quali funzioni sono incluse in Premium? Per impostazione predefinita su un account Premium: - Modalità calendario — orari datati lezione per lezione; - Disponibilità calendario — disponibilità inserite data per data; - Più orari attivi — pubblicazioni simultanee sulle stesse settimane. (I **gruppi di gruppi** non sono una funzione Premium: sono disponibili su tutti gli account, qualunque sia il piano.) #### Quali opzioni si possono sottoscrivere à la carte? Le opzioni contrattuali restanti sono attivabili in base al bisogno dell'account, a integrazione del piano scelto: - Più orari attivi su account Standard — caso eccezionale di attivazione contrattuale, con inquadramento e fatturazione dedicati (la funzione è inclusa di base in Premium); - Account collegati — account collegati e condivisione delle occupazioni delle risorse, attivato su richiesta da Omniscol; - Ruoli personalizzati — ruoli personalizzati con matrice di permessi; - Punti di ripristino — stati dell'account ripristinabili; - Collaborazione — modifica collaborativa in tempo reale; - **Servizio del personale** — modulo di sorveglianza / vigilanza (disponibile anche in offerta autonoma senza il resto di Omniscol); - Sincronizzazione con sistemi esterni — sincronizzazione con un ERP / SI esterno (Aurion, Auriga, o connettore aggiunto su progetto); - Registri di attività — consultazione dei registri quando la profondità di conservazione è configurata sull'account; - Moduli aggiuntivi — moduli opzionali supplementari, a seconda del modulo e del contratto. #### Esiste un'offerta «Servizio del personale da solo»? Sì. Per gli istituti che hanno bisogno solo della gestione della sorveglianza / vigilanza, il modulo **Servizio del personale** è commercializzato anche senza il resto di Omniscol. L'account espone allora solo il modulo **Servizio del personale** e le schermate utente minime. #### Dove trovare le tariffe? Le tariffe non sono indicate in questa documentazione: dipendono dal contratto con il suo istituto (dimensioni, funzionalità, durata, accompagnamento). Contatti **[contact@omniscol.com](mailto:contact@omniscol.com)** per un preventivo. #### Come conoscere il piano del mio account? Il piano attivo e le opzioni sottoscritte non sono esposti nell'interfaccia di amministrazione corrente (la sezione corrispondente dei **Parametri** è riservata a Omniscol). Per conoscere il piano di un account, contatti il team Omniscol. #### Si può cambiare piano o aggiungere opzioni nel corso dell'anno? Sì. L'aggiunta di un'opzione è effettiva immediatamente, senza interruzione del servizio. Il passaggio da Standard a Premium segue lo stesso principio. La disattivazione di un'opzione richiede che le funzionalità corrispondenti non siano più utilizzate sull'account (ad esempio nessuna condivisione di risorse tra account se si rimuovono gli account collegati, oppure nessuna pubblicazione simultanea se si rimuovono più orari attivi su un account Standard interessato). #### Esiste un periodo di prova? Sì. Un periodo di valutazione è generalmente proposto per i nuovi account, con accompagnamento da parte del team Omniscol per la configurazione iniziale. Condizioni su richiesta. #### Come funziona la fatturazione? La fatturazione è annuale per impostazione predefinita, con impegno sulla durata scelta. Le condizioni specifiche (ritmo di fatturazione, modalità di pagamento) sono definite nel contratto. #### Che cosa succede alla fine del contratto? I suoi dati restano accessibili durante un periodo di transizione definito contrattualmente, durante il quale l'esportazione JSON completa resta disponibile. La reversibilità è garantita per contratto (GDPR). #### Vedi anche - [Piani e opzioni di Omniscol](#page-overview.plans-and-options) - [Che cos'è Omniscol?](#page-overview.what-is-omniscol) - [Sicurezza e hosting](#page-faq.security-and-hosting) --- ## Glossario **Glossario** — 51 terms - [Allineamento dei gruppi](#page-glossary.alignment) - [Anno scolastico](#page-glossary.school-year) - [Assenza](#page-glossary.absence) - [Aula](#page-glossary.classroom) - [Aula grande (più lezioni simultanee)](#page-glossary.large-room) - [Campus](#page-glossary.campus) - [Classe](#page-glossary.class) - [Co-docenza](#page-glossary.co-teaching) - [Conflitto](#page-glossary.conflict) - [Corso](#page-glossary.course) - [Corso trasversale](#page-glossary.transverse-course) - [Dashboard](#page-glossary.dashboard) - [Diagnostica](#page-glossary.diagnostic) - [Disponibilità dei professori (desiderata)](#page-glossary.wishes) - [Finestra di date](#page-glossary.date-windows) - [Gruppo](#page-glossary.group) - [Gruppo di gruppi](#page-glossary.groups-of-groups) - [Gruppo libero](#page-glossary.free-group) - [iCal (esportazione calendario)](#page-glossary.ical) - [Incompatibilità (tra materie)](#page-glossary.incompatibility) - [Insegnante esterno / Docente a contratto](#page-glossary.external-teacher) - [Lezione / Sessione](#page-glossary.lesson) - [Lezioni alternate / Settimane A-B](#page-glossary.alternate-lessons) - [Lezioni associate (alternanza tra mezze classi)](#page-glossary.associated-lessons) - [Lezioni concatenate](#page-glossary.concatenated-lessons) - [Linea del tempo](#page-glossary.timeline) - [Link di condivisione](#page-glossary.share-link) - [Livello](#page-glossary.level) - [Materia](#page-glossary.subject) - [Modalità Calendario](#page-glossary.calendar-mode) - [Modalità di una lezione](#page-glossary.lesson-modality) - [Modalità di visualizzazione dell'orario](#page-glossary.schedule-view-mode) - [Orario](#page-glossary.timetable) - [Orario ciclico](#page-glossary.cyclic-timetable) - [Orario settimanale](#page-glossary.weekly-timetable) - [Pannello informativo](#page-glossary.panel) - [Partizione di classe](#page-glossary.class-division) - [Più aule (una lezione in più aule)](#page-glossary.multi-room) - [Professore / Relatore](#page-glossary.teacher) - [Pubblicazione / Attivazione di un orario](#page-glossary.publication) - [Risolutore / Algoritmo di generazione automatica](#page-glossary.solver) - [Risorsa](#page-glossary.resource) - [Servizio del personale](#page-glossary.staffing) - [Sito](#page-glossary.site) - [Sostituzione / Supplenza](#page-glossary.substitution) - [Specializzazione dell'aula](#page-glossary.classroom-specialization) - [Stato di una lezione](#page-glossary.lesson-status) - [Studente / Alunno / Discente](#page-glossary.student) - [Tipo di lezione](#page-glossary.lesson-type) - [Token API](#page-glossary.api-token) - [Vacanze](#page-glossary.holidays) ### Allineamento dei gruppi *Source: `help/it/glossary/alignment.md` · id: glossary.alignment · Updated: 2026-06-26* *Also known as : raggruppamento trasversale* Un **allineamento** raggruppa più [gruppi](#page-glossary.group) provenienti da **classi diverse** che devono condividere **la stessa fascia oraria, lo stesso professore e la stessa aula**. L'esempio classico: i latinisti di 8A, 8B e 8C seguono insieme un'unica lezione di latino. Invece di creare tre lezioni in parallelo (che si contenderebbero professore e aula), si crea un **gruppo «Latinisti»** in ciascuna delle tre classi, poi li si **allinea**. Il risolutore colloca allora un'unica lezione, collegata contemporaneamente ai tre gruppi. Casi tipici: - gruppi di seconda lingua straniera tra classi diverse (gruppi di francese riuniti da più classi), - opzioni tra classi diverse (latino, greco, scienze politiche), - insegnamenti di specializzazione nei licei francesi (dalla riforma), - co-moduli nell'istruzione superiore (uno stesso corso del tronco comune per più percorsi). #### Potenza e restrizioni L'allineamento è estremamente potente — evita la duplicazione, garantisce la coerenza delle modifiche (una lezione spostata è spostata ovunque) e semplifica la consultazione. **Ma è anche molto restrittivo**: - Una volta allineato, un gruppo non può più avere una lezione indipendente in quella fascia precisa: se una delle tre classi ha una lezione in deroga, occorre **duplicare** il suo gruppo e disallineare il clone. - Tutti i gruppi allineati devono avere, nelle rispettive classi, esattamente lo stesso volume orario e la stessa configurazione. Uno squilibrio produce un avviso di coerenza (cfr. la scheda Generazione). - Le modifiche (aggiungere una lezione, cambiare l'aula) devono essere fatte una sola volta, sull'allineamento — Omniscol le propaga. Ma modificare la lezione tramite una sola delle classi può produrre effetti collaterali. #### Differenze importanti | Concetto | Ambito | Vincolo | | --- | --- | --- | | [Partizione di classe](#page-glossary.class-division) | Gruppi di **una** classe | Stessa fascia, professore/aula **diversi** | | **Allineamento** | Gruppi di **più** classi | Stessa fascia, **stesso** professore, **stessa** aula | | [Gruppo di gruppi](#page-glossary.groups-of-groups) | Uguali all'allineamento | Stessa fascia, professore/aula unici, **modifica flessibile a posteriori** | #### In modalità calendario In un orario in modalità [calendario](#page-glossary.calendar-mode), si preferisce il [gruppo di gruppi](#page-glossary.groups-of-groups) all'allineamento: più facile da modificare, si può aggiungere o togliere un gruppo man mano senza dover ricreare la struttura. #### Vedi anche - [Gruppo](#page-glossary.group) - [Partizione di classe](#page-glossary.class-division) - [Gruppi di gruppi](#page-glossary.groups-of-groups) - [Corso trasversale](#page-glossary.transverse-course) - [Allineamenti di gruppi](#page-core-concepts.alignments) ### Anno scolastico *Source: `help/it/glossary/school-year.md` · id: glossary.school-year · Updated: 2026-05-10* *Also known as : anno accademico · anno universitario · esercizio* Un **anno scolastico** in Omniscol è il periodo di riferimento su cui vengono pubblicati gli orari. È un oggetto dichiarato a livello di scuola in Anni scolastici. #### Perché è obbligatorio È necessario avere almeno **un** anno scolastico dichiarato per poter pubblicare un orario. L'anno scolastico concretizza la **linea del tempo** su cui si attiveranno poi gli orari per intervalli specifici. #### Convenzioni di denominazione Per una visualizzazione ordinata, denominare gli anni con le rispettive date: «2025-2026» anziché «Anno in corso». In questo modo è possibile conservare lo storico degli anni passati e preparare il successivo in parallelo. #### Vacanze È possibile indicare le vacanze dell'anno scolastico: - **tramite copia-incolla** di una tabella (da Excel, Numbers, ecc.), - **tramite importazione automatica** delle date precompilate per il proprio paese (proposta alla creazione dell'anno se il database le conosce), - **inserendo manualmente** i periodi. Le vacanze vengono rimosse dalla linea del tempo — gli orari pubblicati non si applicano a esse. #### Sfasamenti di alternanza Se la scuola utilizza [settimane alternate](#page-glossary.alternate-lessons) (A/B), le vacanze possono perturbare l'alternanza. È possibile creare uno **sfasamento virtuale** per gestire questi casi (facendo clic sulle settimane interessate nella linea del tempo). #### Più anni in parallelo In qualsiasi momento è possibile avere più anni scolastici definiti: l'anno in corso, l'anno precedente (storico) e il successivo in preparazione. Il pulsante Anno scolastico successivo (▶︎) sulla linea del tempo commuta tra gli anni. L'**anno scolastico in corso** è definito in Anno scolastico in corso. È questo a determinare ciò che gli utenti vedono in modo predefinito. #### Vedi anche - [Lezioni alternate / settimane A/B](#page-glossary.alternate-lessons) - [Gestire un anno scolastico](#page-admin.school-year) - [Preparare il nuovo anno scolastico](#page-timetables.next-school-year) ### Assenza *Source: `help/it/glossary/absence.md` · id: glossary.absence · Updated: 2026-05-14* *Also known as : indisponibilità · congedo · permesso · assenza puntuale* Un'**assenza** in Omniscol è la dichiarazione che un'entità non sarà presente in un dato periodo. Le entità gestite sono i professori, le classi, gli studenti e, se il Servizio del personale è attivo, i membri del personale. Un'assenza accettata può modificare la visualizzazione delle lezioni: - **professore assente non sostituito**: lezione contrassegnata come interessata, con il professore barrato; - **professore assente con [sostituto](#page-glossary.substitution)**: sostituto visualizzato accanto al titolare barrato; - **classe assente**: le lezioni della classe vengono rimosse dalla visualizzazione per il periodo; - **studente assente**: monitoraggio associato allo studente, senza modificare le lezioni della sua classe. #### Stati di un'assenza - **accettato**: l'assenza è convalidata e presa in considerazione. - **in sospeso**: richiesta dichiarata dall'utente interessato, da convalidare da parte di un amministratore. - **respinto**: richiesta respinta. - **abbandonato**: richiesta annullata da chi l'ha dichiarata. Solo le assenze con stato **accettato** incidono sulla visualizzazione degli orari. #### Campi di un'assenza - **Entità**: professore, classe, studente o personale se il Servizio del personale è attivo. - **Intervallo di date**: inizio e fine. Un'assenza realmente a tempo indeterminato deve essere seguita esplicitamente; la fine dell'anno scolastico può fungere da limite tecnico se non viene fornita una fine. - **Fascia oraria**: intera giornata o fasce orarie precise. - **Filtri**: classi, materie o assegnazioni in base al tipo di entità. - **Motivo**: scelto dall'elenco proposto; un amministratore può inserire un motivo personalizzato. - **Commento**: breve testo libero. - **Stato**: accettato, in sospeso, respinto o abbandonato. #### Vedi anche - [Sostituzione / supplenza](#page-glossary.substitution) - [Modulo Assenze — panoramica](#page-absences.overview) - [Dichiarare un'assenza](#page-absences.declaring) ### Aula *Source: `help/it/glossary/classroom.md` · id: glossary.classroom · Updated: 2026-06-13* *Also known as : aula scolastica · aula didattica · locale · sala · aula dedicata* Un'**aula** in Omniscol è un locale fisico in cui può svolgersi una lezione. Ogni aula è collegata a un [sito](#page-glossary.site). Un'aula riporta: - un **nome** (« A102 », « Amphi Newton », « Lab. Chimie 3 »), - una **capacità** (numero di studenti che possono essere accolti; campo fondamentale per il risolutore), - eventualmente un Numero massimo di classi quando si tratta di un'**[aula grande](#page-glossary.large-room)** in grado di accogliere più lezioni contemporaneamente (aula d'esame, teatro, palestra, piscina, spazio esterno), - eventualmente una **[specializzazione](#page-glossary.classroom-specialization)** (chimica, informatica, sport, multimedia, ecc. — un solo valore per aula), - eventualmente dei **tag** o commenti liberi (lavagna a fogli mobili, videoproiettore fisso, prese elettriche per gli studenti, ecc.), - eventualmente un **edificio**, - degli **orari di apertura** (utili per le aule condivise con un altro istituto, o per le aule aperte soltanto in alcuni giorni). #### Assegnazione alle lezioni Una lezione può avere una o [più aule](#page-glossary.multi-room). Quando assegna manualmente un'aula, Omniscol: - **prefiltra** le aule inadeguate (specializzazione errata, capacità insufficiente, indisponibilità, sito errato) mostrandole in semitrasparenza, - **ordina** le aule compatibili per adeguatezza (stelle: riempimento ottimale, ecc.), - Le consente di forzare un'assegnazione incoerente, ma emette un avviso. #### Capacità e dimensionamento La capacità è un campo critico. In caso di dubbio, e se è certo che l'aula sarà abbastanza grande, inserisca un numero elevato. Se la sottodimensiona, il risolutore rifiuterà configurazioni valide oppure emetterà avvisi. #### Aula grande: più lezioni contemporanee Il campo **Numero massimo di classi** trasforma un'aula in **[aula grande](#page-glossary.large-room)**: può quindi accogliere più lezioni diverse nello stesso momento (professori e gruppi distinti), entro il limite di tale numero e della sua capacità totale — tipicamente un'aula d'esame, un teatro, una palestra, una piscina o uno spazio esterno. Questa impostazione compare solo su un'aula dotata di una **[specializzazione](#page-glossary.classroom-specialization)**. Se lasciata vuota, l'aula accoglie una sola lezione per volta. #### Specializzazione La **specializzazione** (chimica, informatica, sport, multimedia, aula per i compiti in classe…) è un valore libero, unico per aula. Serve poi a indicare, al momento dell'assegnazione di una materia a una classe, che è richiesta un'aula che riporta esattamente tale valore. Il motore rispetta rigorosamente questo vincolo. #### Aula dedicata a una classe Molte configurazioni della scuola primaria/secondaria associano un'aula a ciascuna classe (le lezioni vi si svolgono per impostazione predefinita, si spostano soltanto i professori). Può configurarlo sulla classe (cfr. [creazione di una classe](#page-timetables.creating-classes)). #### Aule in due siti virtuali Se ha creato due [siti](#page-glossary.site) virtuali per uno stesso luogo fisico (tipicamente una scuola secondaria di primo grado e una di secondo grado che condividono i locali), un'aula può appartenere a uno solo dei due siti alla volta. Per renderla utilizzabile sia sul lato primo grado **sia** sul lato secondo grado, la duplichi nei due siti e **inserisca orari di apertura esclusivi**. Omniscol non distingue una stessa aula condivisa tra due siti da due aule omonime: non incrocia quindi automaticamente le due voci, e sta a Lei evitare una doppia prenotazione del locale fisico reale. #### Vedi anche - [Sito](#page-glossary.site) - [Campus](#page-glossary.campus) - [Specializzazione dell'aula](#page-glossary.classroom-specialization) - [Più aule](#page-glossary.multi-room) - [Aula grande](#page-glossary.large-room) - [Risorsa](#page-glossary.resource) ### Aula grande (più lezioni simultanee) *Source: `help/it/glossary/large-room.md` · id: glossary.large-room · Updated: 2026-06-25* *Also known as : numero massimo di classi · aula esami · teatro · palestra · piscina · spazio esterno* Un'**aula grande** è un'[aula](#page-glossary.classroom) che può ospitare **più lezioni diverse nello stesso momento**, con professori diversi e gruppi senza relazione tra loro. La si dichiara compilando il campo **Numero massimo di classi** sull'aula: questo numero fissa quante lezioni distinte possono svolgersi lì in parallelo. Esempi tipici: un'**aula esami**, un **atrio**, uno **spazio esterno** (cortile, teatro, campo sportivo, museo...), una **palestra**, una **piscina** — tutti luoghi in cui più attività indipendenti coesistono. #### Riservato alle aule specializzate Il campo Numero massimo di classi compare solo su un'aula dotata di una **[specializzazione](#page-glossary.classroom-specialization)**. Occorre quindi prima assegnare una specializzazione all'aula (sport, esami, piscina, spazio esterno…), poi indicare il suo numero massimo di classi simultanee. È coerente: un'aula grande condivisa è sempre uno spazio specializzato per un'attività particolare, e la specializzazione serve quindi anche a indirizzarvi le materie giuste. #### Come Omniscol la usa A ogni fascia oraria, l'[algoritmo di generazione](#page-glossary.solver) e il rilevamento dei conflitti autorizzano a collocare nell'aula tante lezioni quante il Numero massimo di classi ne consente, purché la somma dei loro effettivi resti entro la **[capienza](#page-glossary.classroom)** dell'aula. Oltre l'uno o l'altro di questi limiti — troppe lezioni in parallelo, o capienza superata — Omniscol segnala un conflitto. Un'aula lasciata senza Numero massimo di classi si comporta come un'aula ordinaria: una sola lezione alla volta. #### Aula grande o più aule? Le due nozioni giocano sulla coppia aula ↔ lezione, in due sensi opposti: - un'**aula grande** riunisce **più lezioni in una stessa aula**; - una lezione in **[più aule](#page-glossary.multi-room)** occupa al contrario **più aule per una stessa lezione** (la sua capienza è allora la somma delle aule assegnate). #### Vedi anche - [Aula](#page-glossary.classroom) - [Specializzazione dell'aula](#page-glossary.classroom-specialization) - [Più aule](#page-glossary.multi-room) - [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) ### Campus *Source: `help/it/glossary/campus.md` · id: glossary.campus · Plan: premium · Updated: 2026-06-13* > **Premium** *Also known as : sede · facoltà · polo* > _Premium_ Un **campus** consente di distinguere più sedi, facoltà o poli all'interno di uno stesso account Omniscol. La nozione di campus è **riservata agli account Premium** e resta opzionale: ne crei solo se la aiuta realmente a rispecchiare la sua organizzazione. La nozione è **organizzativa**. Non sostituisce il [sito](#page-glossary.site), che descrive piuttosto una realtà geografica o fisica: luogo, griglia oraria, aule, tempo di percorrenza. Il campus diventa particolarmente utile quando la nozione di sito non coincide con la sua organizzazione logica. Esempi: - più facoltà condividono gli stessi edifici; - più scuole di uno stesso gruppo condividono più siti, in modo incrociato; - uno stesso sito fisico ospita più poli o programmi. Anche quando campus e sito coincidono in larga misura, la nozione può restare utile per agevolare i filtri e i raggruppamenti. #### A cosa serve un campus Un campus serve principalmente a: - raggruppare le classi secondo una stessa organizzazione; - agevolare alcuni filtri e raggruppamenti, in particolare nel diagnostico dei conflitti. Il campus non definisce da solo una griglia oraria, un tempo di percorrenza o un vincolo di posizionamento rigido. Questi comportamenti restano gestiti dai siti, dalle aule, dalle risorse e dai vincoli dell'orario. #### Dove configurarlo I campus si creano nei [parametri generali](#page-admin.parameters), sotto i livelli di classe. Ogni classe può poi essere collegata a un campus, il che alimenta i filtri e i raggruppamenti corrispondenti. #### Vedi anche - [Sito](#page-glossary.site) - [Aula](#page-glossary.classroom) - [Classe](#page-glossary.class) - [Livello](#page-glossary.level) - [Rilevare e risolvere i conflitti](#page-timetables.conflicts) ### Classe *Source: `help/it/glossary/class.md` · id: glossary.class · Updated: 2026-07-05* *Also known as : coorte · sezione · sessione · gruppo classe* In Omniscol, una **classe** è l'entità principale che riunisce gli studenti che seguono uno stesso percorso in una stessa scuola, in un periodo dato. È il soggetto delle lezioni: una lezione si rivolge a una classe (per intero, o tramite un [gruppo](#page-glossary.group) che ne è una suddivisione), non il contrario. Una classe porta: - un **nome** (per esempio « 2A », « 1º Liceo Scientifico », « Coorte 2028 »), - un **livello** (i livelli sono definiti in Creare — per esempio 1ª media/2ª media/3ª media nella scuola secondaria di primo grado, 1º/2º/3º anno alla laurea triennale), - eventualmente un **campus** (opzione Premium; sede, facoltà, polo o altro raggruppamento organizzativo), - un **sito** predefinito (luogo fisico e aule utilizzate per impostazione predefinita), - eventualmente un'**aula dedicata** in cui le lezioni si svolgeranno per impostazione predefinita, - un **numero teorico di iscritti** (numero di studenti previsto; opzionale ma utile al dimensionamento delle aule). #### Vocabolario secondo il contesto La parola « classe » assume sfumature molto diverse secondo il tipo di istituto. Tutte si riconducono alla stessa entità Omniscol: - **Primaria / secondaria** — « classe » nel senso scolastico classico: un gruppo stabile di alunni associato a un anno o a una sezione (per esempio « 2A », « 1º Liceo Scientifico », « 5ª primaria B »). - **Istruzione superiore** — spesso « coorte », « sessione », « anno », a volte « percorso » o « specializzazione ». Una coorte di 200 studenti è una classe; i sottogruppi di esercitazione/laboratorio sono [gruppi](#page-glossary.group), non classi. - **Formazione continua** — « sessione », « coorte », « gruppo di apprendenti ». > _Premium_ Nell'istruzione superiore, « classe » indica qui un gruppo stabile di studenti o alunni che condivide lo stesso orario o lo stesso percorso complessivo. Spesso corrisponde a una coorte, a un gruppo di formazione o talvolta a un percorso. Non va confusa con un corso, un'unità o un modulo. Quando legge « classe » in Omniscol, legga « la coorte che segue questo percorso in questo periodo », non « il locale fisico » (che è un'[aula](#page-glossary.classroom)). #### Distinzione classe e gruppo Un tranello classico: confondere una classe e un gruppo. I gruppi sono **sempre** suddivisioni di una classe. Se ha bisogno di mescolare studenti provenienti da più classi (per esempio gli studenti di latino delle classi 2A, 2B e 2C che seguono una stessa lezione di latino), non crea una nuova classe: usa un [allineamento di gruppi](#page-glossary.alignment) o un [gruppo di gruppi](#page-glossary.groups-of-groups). #### Vedi anche - [Gruppo](#page-glossary.group) - [Livello](#page-glossary.level) - [Partizione di classe](#page-glossary.class-division) - [Allineamento dei gruppi](#page-glossary.alignment) - [Campus](#page-glossary.campus) - [Sito](#page-glossary.site) - [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) ### Co-docenza *Source: `help/it/glossary/co-teaching.md` · id: glossary.co-teaching · Updated: 2026-05-10* *Also known as : compresenza · doppio docente · docente principale e secondario* La **co-docenza** indica una lezione tenuta contemporaneamente da **due o più professori**, nella stessa aula, con lo stesso pubblico di studenti. Omniscol modella questo caso in modo semplice: un corso può avere **più docenti**. Ciascuno di essi viene accreditato della lezione nelle sue statistiche e nel suo servizio orario. #### Casi tipici - **Supervisione rafforzata** — un professore di ruolo + un assistente educativo, oppure due professori per un organico numeroso. - **Visiting professor occasionale** — un corso la cui sessione del giorno è tenuta in compresenza da un docente esterno (cfr. [supplente / docente esterno](#page-glossary.external-teacher)). - **Co-titolari** — un modulo insegnato in coppia per l'intero semestre. - **Doppia competenza** — un modulo multidisciplinare (ad esempio « informatica per la salute » con un medico e un informatico). #### Differenza con l'alternanza La co-docenza significa **due professori nello stesso momento sulla stessa lezione**. L'**alternanza** ([lezioni alternate](#page-glossary.alternate-lessons)) significa **due professori sulla stessa fascia oraria, ma in settimane diverse**. Se i Suoi due professori si alternano ogni settimana ma non sono mai insieme, si tratta di lezioni alternate, non di co-docenza. Se uno di essi interviene solo per alcune sessioni occasionali, la soluzione più semplice è creare un corso separato per quelle date precise con il visiting professor, oltre al corso principale — soprattutto in modalità [calendario](#page-glossary.calendar-mode). #### Vedi anche - [Lezione / Sessione](#page-glossary.lesson) - [Insegnante esterno](#page-glossary.external-teacher) - [Co-docenza nell'istruzione superiore](#page-higher-ed.co-teaching) ### Conflitto *Source: `help/it/glossary/conflict.md` · id: glossary.conflict · Updated: 2026-06-25* *Also known as : avviso · incompatibilità rilevata · sovrapposizione · collisione* Un **conflitto** in Omniscol è una situazione in cui due vincoli non possono essere soddisfatti contemporaneamente. Esempi: - un professore assegnato a due lezioni sulla stessa fascia oraria, - un'aula prenotata da due lezioni nello stesso momento, - un gruppo di studenti che dovrebbe trovarsi in due luoghi contemporaneamente, - una lezione che non rispetta la specializzazione richiesta per la sua materia, - una lezione la cui capacità totale (somma delle aule assegnate) è inferiore all'organico del gruppo, - un allineamento in cui i gruppi allineati hanno volumi orari diversi. #### Rilevamento in tempo reale Omniscol rileva i conflitti **man mano che inserisce i dati**, non solo al momento della generazione: - banner rosso in alto nella schermata di distribuzione delle ore, - icona [triangle-exclamation] sulle lezioni e sulle classi interessate, - elenco cliccabile dei conflitti (la « lente » porta al dettaglio). #### Conflitti voluti Non tutti i conflitti devono essere risolti. Alcuni sono voluti: - lo stesso gruppo su un esame + un'aula con tempo aggiuntivo (la stessa coorte di studenti è attesa in due aule a seconda delle condizioni), - organico > capacità dell'aula quando sa che non tutti gli iscritti saranno presenti. Può **lasciare il conflitto**; l'avviso rimane visualizzato ma non blocca il funzionamento. #### Conflitti bloccanti Alcune incoerenze impediscono la riuscita della **generazione automatica**: - nessuna aula compatibile con una materia + un volume orario, - disponibilità di un professore del tutto incompatibili con i suoi corsi, - allineamento strutturalmente impossibile. Questi conflitti sono contrassegnati come **critici**; finché sussistono, il pulsante Generare un orario resta non disponibile. #### Vedi anche - [Diagnostica](#page-glossary.diagnostic) - [Risolutore](#page-glossary.solver) - [Rilevare e risolvere i conflitti](#page-timetables.conflicts) ### Corso *Source: `help/it/glossary/course.md` · id: glossary.course · Updated: 2026-06-26* *Also known as : materia di classe · corso di una classe · riga di corso* Un **corso** è l'insegnamento di una [materia](#page-glossary.subject) a una [classe](#page-glossary.class) (o a uno dei suoi [gruppi](#page-glossary.group)), su un periodo determinato. È l'unità di base della Sua **offerta formativa**: ciò che deve essere insegnato, a chi e in quale volume — indipendentemente dal momento in cui cadrà nell'orario. Un corso riporta: - una **materia** (la disciplina insegnata), - eventualmente un **[tipo di lezione](#page-glossary.lesson-type)** (lezione frontale, esercitazione, laboratorio, esame…) — la coppia `(materia, tipo)` forma un corso distinto, - un **volume orario** previsto (ore a settimana, o numero di lezioni), - uno o più **professori** assegnati, - eventualmente dei **vincoli**: peso pedagogico, aula specializzata richiesta, incompatibilità, preferenze di posizionamento. #### Corso, materia, lezione: da non confondere - La [materia](#page-glossary.subject) è la disciplina pura (la matematica), nel catalogo della scuola. - Il **corso** è quella materia *riferita a una classe*, con un volume e degli attributi: « la matematica nella 2A, 4 h a settimana, come esercitazione ». - Le [lezioni](#page-glossary.lesson) sono le **occorrenze** concrete che realizzano il corso nella griglia (i quattro slot settimanali effettivamente posizionati). Un corso dà quindi luogo a una o più lezioni; eliminare una lezione non elimina il corso. #### Un concetto implicito nell'interfaccia L'interfaccia non dice « corso » in questo punto: lo costruisce **assegnando una materia a una classe** (scheda Corsi di una classe), e poi indicando volume, tipo e professori. La nozione resta utile per ragionare — in particolare nell'istruzione superiore, dove si distingue nettamente il corso (la definizione) dalle sue lezioni (le occorrenze). #### L'insieme dei corsi: il programma L'insieme dei corsi di una classe — o di un percorso di studi — costituisce il suo **programma**. A seconda del livello e del vocabolario dell'istituto, si parla anche di **piano di studi**, **offerta formativa**, **curriculum** o **syllabus**. Omniscol non impone questo vocabolario: gestisce dei corsi (delle materie di classe, tipizzate); la loro somma *è* il piano di studi. #### Vedi anche - [Materia](#page-glossary.subject) - [Lezione / Sessione](#page-glossary.lesson) - [Tipo di lezione](#page-glossary.lesson-type) - [Corsi, lezioni, tipi di lezione](#page-core-concepts.lessons-and-types) - [Organizzazione dei dati: materie, classi, orari](#page-core-concepts.data-model) - [Configurare le materie per classe](#page-timetables.creating-classes) ### Corso trasversale *Source: `help/it/glossary/transverse-course.md` · id: glossary.transverse-course · Updated: 2026-06-21* *Also known as : corsi trasversali · corso condiviso · corso comune · insegnamento trasversale · raggruppamento trasversale* Un **corso trasversale** riunisce studenti di **più classi, percorsi o coorti** attorno a uno stesso corso — tronco comune, minor, opzioni inter-percorso, conferenze inter-coorti. In Omniscol, lo si modella nella maggior parte dei casi con un **[gruppo di gruppi](#page-glossary.groups-of-groups)** (altri software parlano di «raggruppamento»): si aggregano i gruppi interessati in un'unica entità, sulla quale si posiziona il corso. Compare quindi in tutte le classi genitore e resta **modificabile in un secondo momento** — si aggiunge o si rimuove un gruppo senza toccare la struttura. È l'opzione da privilegiare, in particolare nell'istruzione superiore e in modalità calendario. Per un'esigenza **occasionale**, senza creare un'entità con nome, è anche possibile **assegnare più gruppi direttamente alla lezione** dal suo selettore di gruppo. Più rapido, ma meno leggibile e meno riutilizzabile. Quando le classi sono **parallele e di struttura identica** (stessi volumi orari), soprattutto in orario settimanale o ciclico, l'**[allineamento](#page-glossary.alignment)** resta pertinente: un solo corso condiviso tra i gruppi, stesso spazio orario, stesso professore, stessa aula — al prezzo di una composizione fissa. #### Vedi anche - [Gruppo di gruppi](#page-glossary.groups-of-groups) - [Allineamento dei gruppi](#page-glossary.alignment) - [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) ### Dashboard *Source: `help/it/glossary/dashboard.md` · id: glossary.dashboard · Updated: 2026-05-18* *Also known as : statistiche · indicatori · cruscotto* Il modulo **Dashboard** fornisce statistiche calcolate sull'orario effettivo (lezioni posizionate, assenze prese in considerazione, sostituzioni applicate) su un periodo scelto: settimana, mese, anno scolastico o intervallo di date personalizzato. #### Indicatori disponibili Le statistiche sono organizzate per assi di analisi: professori, aule, risorse, materie, classi e studenti. La pagina completa del modulo descrive nel dettaglio gli indicatori disponibili per ciascun asse. #### Casi d'uso - **Reporting HR** — rendiconto delle ore insegnate per le retribuzioni, le certificazioni, gli accreditamenti. - **Ottimizzazione delle aule** — individuare le aule sottoutilizzate o sovraccariche. - **Controllo delle risorse** — verificare l'utilizzo effettivo del materiale mobile. - **Audit pedagogico** — verificare che tutti i volumi previsti siano stati effettivamente erogati. #### Esportazione Il pulsante Stampare apre una tabella che si può copiare e incollare, stampare o esportare in CSV per un'elaborazione esterna (Excel, Power BI, ecc.). #### Calcolo Importante: la Dashboard lavora sull'**orario operativo** (le lezioni realmente posizionate e pubblicate, unendo [più orari attivi in parallelo](#page-timetables.multiple-active-timetables) se necessario) e **tiene conto delle assenze convalidate e delle sostituzioni**. È un calcolo della realtà, non della configurazione previsionale. #### Vedi anche - [Panoramica del modulo Dashboard](#page-dashboard.overview) - [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) - [Statistiche professori](#page-dashboard.teachers) - [Statistiche aule](#page-dashboard.classrooms) - [Statistiche materie](#page-dashboard.subjects) - [Statistiche classi](#page-dashboard.classes) ### Diagnostica *Source: `help/it/glossary/diagnostic.md` · id: glossary.diagnostic · Updated: 2026-06-26* *Also known as : verifica · controllo · avviso di configurazione · avviso di coerenza* Una **diagnostica** in Omniscol è una verifica di coerenza eseguita in continuo dal sistema, che segnala i problemi di configurazione dell'orario prima che facciano fallire la generazione o producano un risultato errato. #### Livelli di gravità - **Critico** (rosso, bloccante) — impedisce alla generazione di riuscire: allineamento strutturalmente impossibile, capacità totale insufficiente, professore senza alcun intervallo libero… - **Avvertimento** (arancione) — può essere lasciato invariato ma segnala un rischio o un'incoerenza da convalidare: squilibrio nei volumi allineati, aula leggermente sottodimensionata, disponibilità molto vincolante. - **Informazione** (blu) — nota non bloccante: «alcune aule non vengono mai utilizzate», «un professore ha un servizio orario molto inferiore a quello dei suoi pari». #### Dove vedere le diagnostiche - Nella **barra superiore** sulla schermata di distribuzione delle ore e nella visualizzazione dell'orario. - Accanto al **nome della classe** o del professore interessato negli elenchi. - Descritte nel dettaglio nella scheda Generazione (o verifica a seconda della modalità dell'orario) con una spiegazione contestuale per ciascuna diagnostica. #### Diagnostiche frequenti | Diagnostica | Causa tipica | Come risolvere | | --- | --- | --- | | Nessuna aula compatibile | Specializzazione richiesta senza aula corrispondente | Creare l'aula o rimuovere la specializzazione | | Volume orario incoerente in un allineamento | Una classe ha 2h, l'altra 3h sullo stesso gruppo allineato | Allineare i volumi, oppure disallineare | | Capacità insufficiente | Numero di iscritti > capacità dell'aula | Assegnare un'aula più grande, oppure più aule ([più aule](#page-glossary.multi-room)) | | Disponibilità senza alcun intervallo possibile | Tutti gli intervalli sono contrassegnati come impossibili per questo professore | Ampliare le disponibilità o ridistribuire le lezioni | | Lezione durante un periodo di assenza | Lezione posizionata in un intervallo in cui il professore è assente | Spostare la lezione o rimuovere l'assenza | #### Vedi anche - [Conflitto](#page-glossary.conflict) - [Risolutore](#page-glossary.solver) - [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) ### Disponibilità dei professori (desiderata) *Source: `help/it/glossary/wishes.md` · id: glossary.wishes · Updated: 2026-06-21* *Also known as : indisponibilità · preferenze · vincoli orari* Le **disponibilità** di un professore indicano al software le fasce orarie che sono **impossibili** (nero, vincoli rigidi), **indesiderate** (rosso, vincoli morbidi) o **preferite** (verde). Nella scuola secondaria si parla anche di **desiderata** — è lo stesso concetto, quando il professore indica le proprie disponibilità teoriche settimanali e la scuola le utilizza per la generazione dell'orario (eventualmente dopo averle modificate o ponderate). L'algoritmo di generazione rispetta **rigorosamente** le impossibilità e cerca per quanto possibile di rispettare le fasce indesiderate / preferite in funzione degli altri vincoli. #### Due modalità a seconda del tipo di orario - **Orario settimanale** — disponibilità inserite sulla settimana tipo, convalidate dall'amministrazione prima della generazione. Una modifica successiva viene segnalata ma non interferisce. - **Orario calendario** (sugli account Premium) — disponibilità inserite data per data, consolidate in tempo reale. I conflitti vengono rilevati man mano. #### Inserimento da parte del professore stesso I professori possono inserire le proprie disponibilità dal loro account ([portale professore](#page-portal.teacher-portal)) — un notevole risparmio di tempo per l'amministrazione. Possono anche ricevere un **link di condivisione diretto alla schermata delle disponibilità** (senza doversi connettere), generato da Scarica con una data di scadenza. #### Vedi anche - [Professore](#page-glossary.teacher) - [Risolutore](#page-glossary.solver) - [Disponibilità e vincoli orari dei professori](#page-core-concepts.wishes-and-availability) - [Disponibilità in modalità calendario](#page-timetables.calendar-wishes) ### Finestra di date *Source: `help/it/glossary/date-windows.md` · id: glossary.date-windows · Plan: premium · Updated: 2026-06-20* > **Premium** *Also known as : finestre di date · finestra di inclusione · finestra di esclusione · sovrapposizione di date* > _Premium_ Una **finestra di date** è un periodo di **inclusione** o di **esclusione** di date, **riutilizzabile**, che limita quando determinate lezioni possono essere pianificate. Definita una volta nella schermata di modifica di un orario calendario, si applica in seguito come una **sovrapposizione** sui vincoli orari di più entità — classi, gruppi, materie o aule. Riservata agli **orari di tipo calendario**, sugli account **Premium**. #### Due tipi - **Lezioni autorizzate** — le lezioni possono essere pianificate solo durante queste date. - **Lezioni escluse** — le lezioni non possono esservi pianificate. Più finestre si sommano; in caso di sovrapposizione, un'esclusione prevale su un'autorizzazione. #### Vedi anche - [Finestre di date](#page-timetables.date-windows) - [Modalità Calendario](#page-glossary.calendar-mode) ### Gruppo *Source: `help/it/glossary/group.md` · id: glossary.group · Updated: 2026-05-10* *Also known as : sottogruppo · mezza classe · gruppo opzionale · td-a · td-b* In Omniscol, un **gruppo** è una **suddivisione di una classe**. Tutti gli studenti di un gruppo sono anche studenti della classe genitore. Si crea un gruppo ogni volta che un sottoinsieme degli studenti di una classe deve seguire un corso diverso dal resto della classe — anche solo temporaneamente, per una singola lezione. Esempi: - mezzi gruppi di laboratorio («Laboratorio-A», «Laboratorio-B»), - gruppi opzionali («Latinisti», «Ellenisti», «Francese seconda lingua», «Spagnolo seconda lingua»), - gruppi di livello («Inglese Potenziato», «Inglese Standard»). #### Raccomandazione forte: un gruppo per corso Anche se i latinisti e gli ellenisti di una classe sono in pratica gli stessi studenti, **crei due gruppi distinti**. Altrimenti gli [allineamenti](#page-glossary.alignment) con altre classi diventano ambigui e i conflitti sono difficili da diagnosticare. Al contrario: non è necessario creare un gruppo «Tutta la classe». Quando un corso è rivolto all'intera classe, non si associa alcun gruppo, il corso è semplicemente assegnato alla classe. #### Effettivo teorico Indichi il numero di studenti previsto nel gruppo. Campo facoltativo ma consigliato: serve al [motore di generazione](#page-glossary.solver) per scegliere le [aule](#page-glossary.classroom) di capienza adeguata. #### Per mescolare studenti di più classi Il concetto di gruppo si ferma al perimetro di una classe. Per mescolare i latinisti di 8A, 8B e 8C che hanno lezione insieme: - crei un gruppo «Latinisti» in ciascuna delle tre classi, - poi crei un [allineamento](#page-glossary.alignment) che associ i tre. Può anche usare un [gruppo di gruppi](#page-glossary.groups-of-groups), più flessibile da modificare quando il raggruppamento deve evolvere. #### Gruppi liberi Per iscrizioni aperte (laboratori serali, opzioni non vincolate dalla classe), veda la nozione di [gruppo libero](#page-glossary.free-group) — la composizione non è fissata in anticipo, gli studenti possono unirsi o lasciare senza generare conflitti. È un caso **eccezionale** (un sottogruppo satellite semi-autonomo): per **riunire o mettere insieme gruppi esistenti** in una lezione comune, usi un gruppo di gruppi, non un gruppo libero. #### Vedi anche - [Classe](#page-glossary.class) - [Partizione di classe](#page-glossary.class-division) - [Allineamento dei gruppi](#page-glossary.alignment) - [Gruppi di gruppi](#page-glossary.groups-of-groups) - [Gruppo libero](#page-glossary.free-group) ### Gruppo di gruppi *Source: `help/it/glossary/groups-of-groups.md` · id: glossary.groups-of-groups · Updated: 2026-05-10* *Also known as : supergruppo · raggruppamento di gruppi* Un **gruppo di gruppi** è un raggruppamento, più flessibile di un [allineamento](#page-glossary.alignment), di più [gruppi](#page-glossary.group) provenienti dalla stessa classe o da classi diverse. Disponibile come meccanismo di raggruppamento di base in Omniscol. #### Differenza chiave con l'allineamento L'allineamento è **fissato alla creazione**: l'elenco dei gruppi allineati è stabilito e ogni disallineamento richiede di clonare il gruppo. Un gruppo di gruppi, invece, **si modifica a posteriori**. Può aggiungere o rimuovere gruppi senza dover ricreare la struttura. È ciò che lo rende prezioso nell'istruzione superiore, dove la composizione dei raggruppamenti evolve spesso nel corso dell'anno (un nuovo percorso che si aggiunge a un corso comune, un sottogruppo che si stacca per un progetto). #### Quando usarlo - Corsi comuni a più percorsi (scuola di ingegneria o di economia), - Conferenze tra coorti, seminari trasversali, - Corsi di tronco comune nella formazione continua, - Eventi didattici aperti (visita, intervento esterno). Un corso assegnato a un gruppo di gruppi è visibile (e modificabile) da ciascuna delle classi genitore dei gruppi membri. #### Particolarità Il gruppo di gruppi è particolarmente utile quando la composizione del pubblico evolve nel corso dell'anno o quando si vogliono evitare i vincoli di simmetria di un allineamento. #### Vedi anche - [Allineamento dei gruppi](#page-glossary.alignment) - [Corso trasversale](#page-glossary.transverse-course) - [Modalità Calendario](#page-glossary.calendar-mode) - [Gruppi di gruppi](#page-core-concepts.groups-of-groups) ### Gruppo libero *Source: `help/it/glossary/free-group.md` · id: glossary.free-group · Updated: 2026-06-13* *Also known as : gruppo satellite · gruppo semi-autonomo · gruppo aperto · gruppo a iscrizione libera* Un **gruppo libero** è un **gruppo di lavoro semi-autonomo**: una parte della classe lavora in autonomia, generalmente **nella stessa aula e con lo stesso professore** della lezione principale, in parallelo a quest'ultima — una sorta di **gruppo satellite** del corso. Il pianificatore vuole **farlo comparire sull'orario** senza allestire, di fronte, una partizione di classe formale. È da qui che deriva la parola **libero**: poiché questo sottogruppo condivide l'aula e il professore del corso da cui proviene, un [gruppo](#page-glossary.group) classico (anche in partizione) provocherebbe un **conflitto di aula e di professore**. Il gruppo libero è la **carta jolly** che **disattiva tutti i conflitti** — né con il resto della classe, né con il professore, né con l'aula. Coesiste quindi con la lezione da cui ha origine. Questa esigenza si presenta in particolare nelle **scuole d'arte** e nei **percorsi di lavoro sociale**, dove una parte del tempo si svolge in **lavoro autonomo guidato**: un sottogruppo procede sul proprio progetto in un angolo dell'aula mentre il resto della classe segue la lezione. Più in generale, il gruppo libero rappresenta qualsiasi gruppo la cui composizione **non è fissa**, senza generare conflitti. #### Differenza con un gruppo classico Un gruppo classico è preso in considerazione dal risolutore: verifica che i suoi studenti non siano prenotati due volte (due lezioni in contemporanea) e che sia la sua **aula** sia il suo **professore** siano liberi. È esattamente ciò che impedirebbe il gruppo satellite: l'aula e il professore del corso principale sono già occupati. Un gruppo libero **rimuove questi controlli**. La sua lezione può quindi condividere l'aula e il professore del corso da cui proviene; e uno studente può appartenere a più gruppi liberi che si sovrappongono senza che scatti alcun avviso. #### In pratica: posizionamento manuale La generazione automatica **gestisce** i gruppi liberi, ma è consigliabile **non** utilizzarla in questo caso: **collochi e blocchi a mano** la lezione principale e la sua lezione satellite sulla fascia oraria desiderata. Il risolutore non sa quale sia la principale e quale il satellite — lasciate alla generazione, potrebbero finire ovunque. Dato il suo carattere molto occasionale e specifico, il gruppo libero rientra in un **uso manuale**. #### Creazione Al momento di creare il gruppo, selezionare l'opzione «gruppo libero» su Aggiungere un gruppo. Visivamente, questi gruppi sono contrassegnati nell'interfaccia per non essere confusi con i gruppi vincolati. > _Premium_ I gruppi liberi sono una funzionalità degli account Premium. #### Vedi anche - [Gruppo](#page-glossary.group) - [Gruppi liberi](#page-core-concepts.free-groups) ### iCal (esportazione calendario) *Source: `help/it/glossary/ical.md` · id: glossary.ical · Updated: 2026-05-15* *Also known as : ics · abbonamento calendario · link ical · esportazione ical* **iCal** (estensione `.ics`) è il formato standard di scambio dei calendari, letto da tutte le applicazioni di calendario in commercio: Apple Calendar, Google Calendar, Outlook, Thunderbird, Fastmail, ecc. Omniscol propone due tipi di esportazione iCal: #### 1. Download statico Pulsante Scarica su un orario selezionato. Ottiene un file `.ics` da importare nella sua applicazione di calendario. **Istantanea** al momento del download: non viene aggiornato se l'orario cambia in seguito. Utile per condividere una pianificazione occasionale via e-mail. #### 2. Link di abbonamento dinamico Il pulsante Scarica su un orario (o su una schermata di professore, ecc.) genera un URL di abbonamento iCal. Una volta copiato nella sua applicazione di calendario come **abbonamento**, il calendario si aggiorna automaticamente man mano che l'orario evolve in Omniscol. È così che i professore e gli studente sincronizzano il proprio orario Omniscol con il proprio calendario personale, senza dover riscaricare un file a ogni modifica. I link iCal Omniscol sono firmati, con scadenza e legati all'account che li ha generati. La scadenza è iscritta nel token dell'URL; per cambiarla, occorre generare un nuovo link. Un cambio di password, una disattivazione o un'eliminazione dell'account titolare invalida i link associati. #### Sincronizzazione e aggiornamenti L'iCal di abbonamento è **aggiornato dall'applicazione di calendario**, a una cadenza variabile secondo il client: - Apple Calendar: 5-15 min in genere. - Google Calendar: fino a 24h nel caso peggiore (ma spesso più rapido). - Outlook: variabile. Questa latenza è insita nel protocollo iCal e non dipende da Omniscol — una modifica nell'orario Omniscol compare nel calendario abbonato non appena quest'ultimo scarica di nuovo il flusso. #### Vedi anche - [Link di condivisione](#page-glossary.share-link) - [iCal — abbonamento e link dinamico](#page-integrations.ical) ### Incompatibilità (tra materie) *Source: `help/it/glossary/incompatibility.md` · id: glossary.incompatibility · Updated: 2026-06-13* *Also known as : esclusione · conflitto tra materie · divieto di sequenza* Un'**incompatibilità** è un vincolo pedagogico che impedisce a una materia di **seguirne** un'altra. È una regola **orientata**: si dichiara che « la materia A non deve essere seguita dalla materia B » — il verso conta, A-poi-B e B-poi-A sono due regole distinte. Il caso tipico: « niente lezione di matematica subito dopo educazione fisica ». Configurata a livello di classe nella scheda Incompatibilità dell'orario in corso. #### Ambito del divieto Al momento di creare la regola Lei sceglie la finestra entro la quale il divieto si applica: - **Consecutivo** — non nella lezione che segue immediatamente, lo stesso giorno. - **Mezza giornata** — non più tardi nella stessa mezza giornata. - **Giornata** — non più tardi nella stessa giornata. - **Settimana** — non più tardi nella stessa settimana. - **Sempre** *(orario a ciclo o a calendario)* — mai in seguito, sull'intero periodo. È lo strumento di **sequenziamento**: concludere un modulo prima di passare a quello che ne dipende. A parte: l'opzione **auto-incompatibilità** di una materia (parametro globale) impedisce che una stessa materia ricompaia due volte nella giornata per uno studente — spesso più semplice di una moltitudine di regole a coppie. #### Differenza con i vincoli orari di materia Da non confondere con i **vincoli orari** di una materia ([clock]), che fissano il posizionamento **assoluto** di una singola materia nella griglia. L'incompatibilità, invece, riguarda l'ordine **relativo** di due materie. | Vincolo | Riguarda | Esempio | | --- | --- | --- | | **Incompatibilità** | l'**ordine** di due materie | « niente matematica dopo educazione fisica » | | Vincolo orario di materia | il **posizionamento** assoluto di una materia | « niente matematica alla prima ora » | | Specializzazione | l'**aula** richiesta da una materia | « la chimica richiede un laboratorio » | #### Un vincolo di ottimizzazione, non un blocco Un'incompatibilità non è un vincolo bloccante: l'algoritmo di generazione la tratta come una penalità che cerca di eliminare, allo stesso modo delle disponibilità indesiderate. Se gli altri vincoli non lasciano alcuna alternativa, un'incompatibilità può quindi persistere nell'orario generato; la [diagnosi](#page-glossary.diagnostic) la segnala allora affinché Lei possa arbitrare. Eviti la valanga di incompatibilità: ciascuna riduce la libertà dell'algoritmo di generazione e allunga il calcolo. Per equilibrare una materia sulla settimana, la ponderazione pedagogica della materia è spesso più efficace. #### Vedi anche - [Materia](#page-glossary.subject) - [Algoritmo di generazione — come arbitra i vincoli](#page-glossary.solver) ### Insegnante esterno / Docente a contratto *Source: `help/it/glossary/external-teacher.md` · id: glossary.external-teacher · Updated: 2026-06-13* *Also known as : professore esterno · docente esterno · visiting professor* Un **insegnante esterno** (o *docente a contratto*, *visiting professor*, *esperto* a seconda dei contesti) è un professore la cui relazione contrattuale con l'istituto è temporanea o occasionale. Dal punto di vista del solver, un insegnante esterno è un [professore](#page-glossary.teacher) come un altro: stesse disponibilità, stesse assegnazioni. La distinzione è principalmente **amministrativa**: - contratto breve (a ora, a lezione, a missione), - volume di ore più ridotto rispetto ai professori di ruolo, - utente spesso non ospitato sugli stessi sistemi dei professori di ruolo (e-mail diversa, nessun accesso agli stessi strumenti interni). > _Premium_ Il contrassegno dedicato Insegnante esterno, selezionato sulla scheda dell'utente, è riservato agli account Premium. Serve a identificare esplicitamente gli insegnanti esterni e alimenta la visualizzazione specifica descritta di seguito. #### Visualizzazione specifica Un'icona [user-tie] distingue gli insegnanti esterni da quelli di ruolo in alcuni schermi (in particolare la descrizione della lezione e la vista elenco degli orari). Sulla griglia oraria principale, la visualizzazione predefinita non li distingue per motivi di spazio, ma l'informazione resta leggibile nella descrizione al passaggio del mouse. #### Caso particolare: visiting professor per alcune lezioni Per una lezione occasionale in cui un visiting professor coinsegna con l'insegnante principale senza alternarsi, vedere [co-docenza](#page-glossary.co-teaching). Per un'alternanza settimanale di due insegnanti sullo stesso intervallo, vedere [lezioni alternate](#page-glossary.alternate-lessons). #### Vedi anche - [Professore](#page-glossary.teacher) - [Co-docenza](#page-glossary.co-teaching) - [Insegnanti esterni nell'istruzione superiore](#page-higher-ed.external-faculty) ### Lezione / Sessione *Source: `help/it/glossary/lesson.md` · id: glossary.lesson · Updated: 2026-06-13* *Also known as : ora di lezione · fascia oraria* Una **lezione** (o *lezione di corso*) è l'unità pianificata posata sulla griglia di un orario: è ciò che Lei posiziona, sposta, blocca, modifica, annulla o sostituisce. Una lezione riporta: - una **classe** o un [gruppo](#page-glossary.group) (il pubblico), - una **materia** ([materia](#page-glossary.subject)), - uno o più **professori** ([compresenza](#page-glossary.co-teaching)), - una o più **aule** (vedi [più aule](#page-glossary.multi-room)), - una o più **risorse** (videoproiettore mobile, kit di tablet…), - una **durata** (di norma 1 o 2 unità di tempo della griglia del sito), - eventualmente un **tipo** (esercitazione, laboratorio, lezione frontale, esame, ecc., definito in Creare), - eventualmente un **promemoria** (commento libero, con restrizione di pubblicazione: solo amministratori, amministratori + professori, oppure tutti). #### Lezione o corso? L'interfaccia di Omniscol dice « lezione » per l'unità posata sulla griglia. Il **[corso](#page-glossary.course)** resta la parola giusta per l'insegnamento in sé — la materia insegnata a una classe, con il suo volume e i suoi attributi: si parla del corso di inglese, delle ore di corso, delle giornate di corso, e uno stesso corso dà luogo a una o più lezioni nell'orario. L'etichetta Tipo di lezione designa il tipo attribuito al corso, e la nozione di [lezioni complesse](#page-core-concepts.complex-lessons) riguarda anch'essa i corsi che combinano più lezioni. #### Vocabolario secondo il contesto - **Lezione** — termine dell'interfaccia per l'unità pianificata, qualunque sia il tipo di istituto. - **Ora di lezione** — sinonimo corrente nella scuola primaria e secondaria. - **Fascia oraria** — indica piuttosto la posizione oraria sulla griglia che la lezione che la occupa. - Una **sessione a contratto** designa una lezione tenuta da un collaboratore esterno (in contrapposizione a un docente di ruolo); non è un tipo di lezione diverso, cambia soltanto la persona che la tiene. #### Lezioni semplici, corsi complessi Una lezione semplice = un pubblico, un professore, un'aula, in una fascia oraria. I **corsi complessi** combinano più lezioni: - **[Concatenate](#page-glossary.concatenated-lessons)** — due lezioni che si susseguono (un laboratorio di 2h = un laboratorio di 1h concatenato con un altro laboratorio di 1h). - **[Associate](#page-glossary.associated-lessons)** — alternanza di gruppi su due lezioni consecutive (il gruppo A in biologia poi in fisica, il gruppo B in fisica poi in biologia). - **[Alternate](#page-glossary.alternate-lessons)** — lezioni che ricorrono solo una settimana su due (settimana A vs settimana B), una settimana su tre, ecc. Configurate in Salvare. #### Lezioni e classi fuori griglia oraria Per impostazione predefinita, le lezioni si allineano alle fasce orarie della griglia oraria del sito. Ma Omniscol gestisce anche le lezioni che non vi rientrano (un esame di 2h che inizia alle 10:20 su una griglia con passo di 50 min). Vedi [lezioni e classi fuori griglia](#page-timetables.off-grid-lessons). #### Vedi anche - [Corso](#page-glossary.course) - [Tipo di lezione (esercitazione, laboratorio, lezione frontale…)](#page-glossary.lesson-type) - [Stato di una lezione](#page-glossary.lesson-status) - [Modalità di una lezione](#page-glossary.lesson-modality) - [Materia](#page-glossary.subject) - [Lezioni complesse](#page-core-concepts.complex-lessons) - [Più aule](#page-glossary.multi-room) ### Lezioni alternate / Settimane A-B *Source: `help/it/glossary/alternate-lessons.md` · id: glossary.alternate-lessons · Updated: 2026-05-10* *Also known as : settimane alternate · settimane A/B · settimana pari dispari · alternanza settimanale* Le **lezioni alternate** sono lezioni che non ricorrono ogni settimana, ma si alternano con altre lezioni sulla stessa fascia. Il caso classico: una lezione nella settimana A, un'altra nella settimana B, nello stesso giorno alla stessa ora. #### Configurazione della cadenza L'alternanza si configura in Salvare. Tre opzioni: - **Disattivata** — nessuna alternanza. - **Lettere** — settimana A, B (e C, D… se ne aggiunge di più). - **Numeri** — settimana 1, 2 (e 3, 4… se si estende). Omniscol non impone un ciclo di 2 — è possibile alternare su 3, 4 o più settimane. #### Creazione di una lezione alternata Al momento di configurare la distribuzione delle ore: 1. Posizionare il mouse sulla lezione da alternare. Un'icona [plus] appare in alto a destra, fare clic. 2. Viene aggiunta una nuova fascia libera per la settimana alternata. 3. Creare la lezione corrispondente a questa nuova fascia. 4. Posizionarla con il suo pulsante puntina [thumbtack], poi fare clic sulla fascia giorno/ora desiderata tra le pastiglie colorate. È possibile ripetere l'operazione per aggiungere altre settimane alternate alla stessa lezione. #### Combinazione con altre complessità Una lezione alternata può essere: - **semplice** — alternanza pura tra due lezioni, - **[concatenata](#page-glossary.concatenated-lessons)** — una lezione che si alterna ed è anche una doppia fascia, - **[associata](#page-glossary.associated-lessons)** — combinata con lezioni associate (permutazione di gruppi: A in biologia poi fisica, B in fisica poi biologia). La permutazione di gruppi è una complessità **distinta** dall'alternanza A/B, ma può combinarsi con essa. #### Sfasamento dovuto alle vacanze Se ci si trovava nella settimana A appena prima delle vacanze e si vuole riprendere nella settimana B dopo, creare uno **sfasamento virtuale** sulla linea del tempo delle settimane dell'anno (cfr. [anno scolastico](#page-glossary.school-year)). Senza sfasamento, l'alternanza riprende semplicemente il suo ciclo normale. #### Vedi anche - [Lezione / Sessione](#page-glossary.lesson) - [Lezioni complesse](#page-core-concepts.complex-lessons) - [Anno scolastico e vacanze](#page-glossary.school-year) ### Lezioni associate (alternanza tra mezze classi) *Source: `help/it/glossary/associated-lessons.md` · id: glossary.associated-lessons · Updated: 2026-05-10* *Also known as : alternanza dei gruppi a/b · swap* Le **lezioni associate** sono due lezioni simultanee in mezze classi che **si alternano consecutivamente**. Il caso tipico: ``` Fascia 1: gruppo A in biologia, gruppo B in fisica Fascia 2: gruppo A in fisica, gruppo B in biologia ``` Entrambi i gruppi hanno visto le due materie al termine delle due fasce, ma in un ordine diverso. Questa struttura è molto diffusa nelle scienze sperimentali (laboratori di biologia + laboratori di fisica con due professori specialisti che «ruotano»), nelle arti (una mezza classe in pratica, l'altra in teoria, poi permutazione), ecc. #### Creazione 1. Creare prima due lezioni [concatenate](#page-glossary.concatenated-lessons) (una sotto l'altra). 2. Passare con il mouse sul confine tra le due: appare un pulsante «associazione». 3. Fare clic e designare i **due gruppi** che devono alternarsi — idealmente dichiarati in [partizione di classe](#page-glossary.class-division). #### Coerenza con i gruppi I gruppi utilizzati in un'associazione devono essere dichiarati in **partizione di classe** nella classe — altrimenti il risolutore emette un avviso di coerenza (un gruppo non può trovarsi in due posti nello stesso momento). #### Vedi anche - [Lezioni concatenate](#page-glossary.concatenated-lessons) - [Partizione di classe](#page-glossary.class-division) - [Lezioni complesse](#page-core-concepts.complex-lessons) ### Lezioni concatenate *Source: `help/it/glossary/concatenated-lessons.md` · id: glossary.concatenated-lessons · Updated: 2026-05-10* *Also known as : lezioni accostate · lezioni consecutive · lezioni doppie · lezioni collegate* Le **lezioni concatenate** sono due lezioni che devono essere posizionate **consecutivamente** nella giornata. Il risolutore garantisce che si susseguano senza nulla in mezzo. Casi tipici: - un'**esercitazione pratica di 2 h** ottenuta da due blocchi di 1 h, - una **lezione frontale seguita da un'esercitazione** (una lezione frontale introduttiva e poi un'esercitazione applicativa), - una **doppia sessione d'esame** di 2 h su uno slot da 1 h × 2. #### Creazione Trascini e rilasci una lezione sotto un'altra nella vista di distribuzione delle ore. Le due lezioni appaiono allora **accostate** una sotto l'altra, formando un unico blocco. #### Staccare Il pulsante « forbici » che compare al passaggio del mouse tra due lezioni concatenate consente di **separare** la concatenazione. Le due lezioni tornano allora indipendenti. #### Perché non creare un'unica lezione più lunga? Buona domanda. Due ragioni principali per concatenare anziché allungare: 1. Le lezioni possono avere **tipi diversi** (una lezione frontale concatenata con un'esercitazione), oppure **professori diversi**, oppure **aule diverse**. 2. Vuole conteggiare nelle statistiche due lezioni distinte (due voci del registro) anziché una. Se tutti gli attributi sono identici, allungare un'unica lezione è più semplice. La concatenazione offre flessibilità dove serve. #### Vedi anche - [Lezioni associate](#page-glossary.associated-lessons) - [Lezioni complesse](#page-core-concepts.complex-lessons) ### Linea del tempo *Source: `help/it/glossary/timeline.md` · id: glossary.timeline · Updated: 2026-06-29* *Also known as : barra-temporale · barra di navigazione temporale · striscia · fascia temporale* La **linea del tempo** è la striscia orizzontale presente in alto in ogni schermata che mostra una pianificazione o delle statistiche. È con essa che si **naviga nel tempo**: scegliere l'anno scolastico, il periodo visualizzato e, a seconda della schermata, passare da una vista settimana, mese o anno. Le sue **frecce sinistra / destra** fanno arretrare o avanzare di un intero anno scolastico. L'anno (o il periodo) visualizzato è indicato in chiaro sopra la linea del tempo. [Linea del tempo e navigazione temporale](#page-core-concepts.timeline-navigation) ### Link di condivisione *Source: `help/it/glossary/share-link.md` · id: glossary.share-link · Updated: 2026-06-13* *Also known as : link condiviso · link pubblico · condivisione tramite token* Un **link di condivisione** in Omniscol è un URL firmato che concede l'accesso a una risorsa senza necessità di connessione preventiva: - l'orario di una classe o di un professore, - una schermata di inserimento mirata, per esempio delle disponibilità, - il modulo Gestione delle assenze in sola consultazione, - una vista specifica per un team esterno (verifica, comunicazione). Per gli orari pubblici, l'accesso è in sola lettura. Alcuni link di condivisione interni possono tuttavia autorizzare un'azione limitata, come la compilazione di un modulo preciso. Il caso tipico è il link per l'inserimento delle disponibilità dei professori: l'istituto può inviarlo a un professore con una scadenza, senza creargli un login Omniscol. #### Sicurezza Ogni link incorpora un **JWT** firmato. Per i link web e API, la firma dipende dall'account che ha generato il link e dall'hash della sua password. Per i link iCal, l'hash di verifica è costruito sullo stesso principio. Quattro conseguenze: 1. **Data di scadenza obbligatoria** — il link scade automaticamente alla data scelta. È una protezione importante: nessun link eterno. 2. **Invalidazione al cambio di password** — se l'account titolare cambia la propria password (o la reimposta identica, il che modifica il sale casuale), tutti i link che ha generato vengono invalidati immediatamente. 3. **Invalidazione tramite l'account titolare** — se tale account viene disattivato o eliminato, i link di cui era titolare cessano di funzionare. 4. **Perimetro limitato** — il link apre unicamente la vista o l'azione prevista. Non va descritto come un accesso globale all'account. Per una diffusione collettiva, utilizzare un account di servizio chiaramente identificato anziché un account personale. L'account di servizio diventa il titolare amministrativo dei link emessi e può essere ruotato o disattivato se una campagna di condivisione deve essere invalidata. #### Differenza con un token API | Aspetto | Link di condivisione | [Token API](#page-glossary.api-token) | | --- | --- | --- | | Pubblico | Persona in un browser | Software di terze parti | | Autorizzazione | Perimetro delimitato, spesso in sola lettura | In base agli endpoint selezionati | | Caso d'uso | Diffusione occasionale | Integrazione software | | Autenticazione | JWT nell'URL | JWT nell'intestazione `Authorization` | | Livello richiesto | Ruolo del creatore | Diritti di amministrazione | #### Creazione di un link Il pulsante Condivisione compare sulle schermate condivisibili (orari, disponibilità, assenze). Fare clic, scegliere una data di scadenza, quindi copiare l'URL nel formato utile. #### Vedi anche - [Token API](#page-glossary.api-token) - [Condividere un orario](#page-schedules.share-link) - [Link di condivisione pubblici](#page-portal.share-links) ### Livello *Source: `help/it/glossary/level.md` · id: glossary.level · Updated: 2026-06-21* *Also known as : livello di classe · grado* Un **livello** ordina le [classi](#page-glossary.class) per **progressione didattica**: 1ª media, 2ª media, 3ª media nella scuola secondaria di primo grado; L1, L2, L3 in una laurea triennale; Bachelor, Master, anno 1, anno 2… a seconda dell'istituto. È un'**etichetta di organizzazione**, non un vincolo di posizionamento: il livello non impone nulla al risolutore. Serve a **ordinare e ritrovare** le classi — nelle schermate delle classi, in diversi filtri e in certe viste di diagnostica. #### Dove configurarlo I livelli fanno parte delle impostazioni **generali** dell'account. Dai [parametri generali](#page-admin.parameters), sotto **Livelli**, può crearne tramite Creare, eliminarli e **trascinarli per riordinarli** — l'ordine riflette la progressione. A ogni classe viene poi attribuito un livello al momento della sua creazione (cfr. [Creare le classi](#page-timetables.creating-classes)). #### Livello, campus e sito Tre nozioni vicine da non confondere: - il **livello** colloca la classe in una **progressione** (a che punto è la classe nel percorso); - il [campus](#page-glossary.campus) la collega a un'**entità organizzativa** (facoltà, polo, sede); - il [sito](#page-glossary.site) ne indica il **luogo fisico** e le aule usate per impostazione predefinita. Una stessa classe riporta di norma tutte e tre: un livello, eventualmente un campus e un sito predefinito. #### Vedi anche - [Classe](#page-glossary.class) - [Campus](#page-glossary.campus) - [Sito](#page-glossary.site) - [Creare le classi e i loro gruppi](#page-timetables.creating-classes) - [Parametri generali](#page-admin.parameters) ### Materia *Source: `help/it/glossary/subject.md` · id: glossary.subject · Updated: 2026-05-10* *Also known as : disciplina · unità di insegnamento · UE · modulo* Una **materia** è la disciplina insegnata da un [corso](#page-glossary.course): matematica, fisica, inglese, diritto contabile, machine learning, metodologia di progetto… La materia è la disciplina pura; il corso è questa materia riferita a una classe precisa. Per ciascun paese Omniscol fornisce un **catalogo di materie comuni** (a volte qualche centinaio, a volte qualche migliaio a seconda delle nomenclature ufficiali), precompilato a livello di account. Se una materia manca, crea una **materia personalizzata** in Creare. #### Vocabolario nell'istruzione superiore Le nomenclature pedagogiche dell'istruzione superiore francese utilizzano livelli di aggregazione diversi: - **UE** (unità di insegnamento) — insieme di corsi / moduli, - **EC** (elemento costitutivo) — sotto-unità di una UE, - **ECUE** (elemento costitutivo di una UE) — ancora più fine, - **modulo** — termine generico nella formazione continua. Tutti questi livelli si riconducono all'entità Omniscol «materia». Se ha bisogno di rappresentare la gerarchia pedagogica stessa (UE → EC → ECUE), lo faccia tramite una convenzione di denominazione (per esempio prefissando i codici: `UE3-EC2-ECUE1 Algèbre linéaire`) oppure tramite le [famiglie di materie](#page-admin.subjects). #### Materia copiata nell'orario Quando assegna una materia a una classe in un orario, Omniscol effettua una **copia interna** della materia nella struttura dell'orario. È una scelta deliberata: se in seguito elimina o rinomina la materia a livello di scuola, gli orari esistenti conservano la loro versione storica. Di conseguenza, **curi l'ortografia** delle materie personalizzate prima di utilizzarle negli orari — una correzione a posteriori non si propaga negli orari già configurati. #### Tipo di lezione associato Al momento di assegnare una materia a una classe, può precisare un **[tipo di lezione](#page-glossary.lesson-type)** (esercitazione, laboratorio, esame, lezione frontale…). La coppia `(materia, tipo)` costituisce un identificativo indipendente: per esempio, il «corso di matematica» e l'«esercitazione di matematica» sono due voci indipendenti nella struttura dell'orario. #### Specializzazione dell'aula richiesta Una materia può **richiedere una specializzazione dell'aula** (chimica → laboratorio di chimica, sport → palestra). Questo vincolo è rispettato rigorosamente dal risolutore. Vedi [specializzazione dell'aula](#page-glossary.classroom-specialization). #### Ponderazione pedagogica Può definire un **peso pedagogico** su una materia in una classe: il risolutore cercherà allora di distribuire la materia sui giorni della settimana invece di concentrare tutto. #### Vedi anche - [Corso](#page-glossary.course) - [Tipo di lezione](#page-glossary.lesson-type) - [Lezione / Sessione](#page-glossary.lesson) - [Gestire le materie](#page-admin.subjects) - [Specializzazione dell'aula](#page-glossary.classroom-specialization) ### Modalità Calendario *Source: `help/it/glossary/calendar-mode.md` · id: glossary.calendar-mode · Plan: premium · Updated: 2026-06-13* > **Premium** *Also known as : modalità agenda · orario datato · senza ricorrenza* > _Premium_ Un orario in **modalità Calendario** organizza le lezioni **per data**, senza settimana tipo ricorrente. Ogni lezione viene collocata singolarmente su una data precisa, come in un'agenda. È la modalità preferita per: - **l'istruzione superiore** (scuole di ingegneria, business school, università), - **la formazione continua** (sessioni occasionali, programmi brevi), - **i centri di formazione** dove le lezioni non si ripetono ogni settimana. Modalità disponibile sugli account **Premium**. #### Differenze rispetto alla modalità settimanale | Aspetto | Settimanale | Calendario | | --- | --- | --- | | Ricorrenza | Settimana tipo | Data per data | | Generazione automatica | Sì | Sì (con finestra di date e compattamento delle giornate) | | Disponibilità | Validate in anticipo | Consolidate in tempo reale | | Modifica di una lezione | Interessa tutte le settimane attive | Interessa una data precisa | | Gruppi di gruppi | Sì | Sì | | Pubblicazione | Su intervalli di settimane | Binaria (pubblicato o no) | | Visualizzazione predefinita | Vista settimana | Vista settimana o mese | | Cancellazione per le vacanze | Automatica | Nessuna (le lezioni sono già datate) | #### Generazione automatica in modalità Calendario Il risolutore funziona anche in modalità Calendario: colloca le lezioni non posizionate sulle date disponibili, rispettando gli stessi vincoli (un professore o una classe non possono essere in due posti contemporaneamente, aule compatibili, disponibilità bloccanti). La schermata di generazione espone inoltre impostazioni proprie del calendario: una **finestra di date obiettivo** per limitare il calcolo a un periodo, e il **compattamento delle giornate** (raggruppare all'inizio o alla fine della finestra, oppure lasciar decidere il risolutore). L'assistenza al posizionamento manuale resta disponibile in parallelo: conflitti rilevati in tempo reale, proposte di aula filtrate, disponibilità considerate istantaneamente. #### Disponibilità in modalità Calendario Su un orario in modalità Calendario, le disponibilità dei relatori esterni possono evolvere nel tempo. Omniscol consolida in tempo reale ed emette avvisi di conflitto man mano che le disponibilità cambiano. Vedere [Disponibilità in modalità Calendario](#page-timetables.calendar-wishes). #### Combinare settimanale + calendario nella stessa scuola In Premium, può **pubblicare simultaneamente** un orario settimanale (le lezioni ricorrenti del mattino, ciclo preparatorio integrato) e un orario in modalità Calendario (le masterclass occasionali del pomeriggio, ciclo grande école) sulle stesse settimane, grazie a [più orari attivi in parallelo](#page-timetables.multiple-active-timetables). Se i due orari condividono entità (professori, aule), Omniscol fonde dinamicamente le viste e ne rileva i conflitti incrociati. #### Vedi anche - [Orario](#page-glossary.timetable) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Modalità calendario](#page-timetables.calendar-mode) - [Gruppi di gruppi](#page-glossary.groups-of-groups) ### Modalità di una lezione *Source: `help/it/glossary/lesson-modality.md` · id: glossary.lesson-modality · Plan: premium · Updated: 2026-06-25* > **Premium** *Also known as : in presenza · lezione a distanza · didattica a distanza · ibrido · studio autonomo · videoconferenza* > _Premium_ Sugli account **Premium**, la **Modalità** indica **come** si svolge una [lezione](#page-glossary.lesson). Si sceglie nel selettore di aula Assegnare un'aula, accanto all'assegnazione. Quattro valori, ciascuno con la propria icona sulla lezione: - **In presenza** — la lezione si svolge in un'[aula](#page-glossary.classroom) (il caso predefinito). - **A distanza** — la lezione si tiene a distanza (icona [video]); non è richiesta alcuna aula. - **Ibrido** — la lezione si svolge in aula **e** viene ritrasmessa a distanza (per esempio una lezione frontale diffusa in videoconferenza): occupa quindi un'aula e ha bisogno di un link. - **Studio autonomo** — lavoro svolto in autonomia, senza aula richiesta. Equivale al blocco sull'assenza di aula (che disattiva l'avviso quando un'aula non è assegnata alla lezione). #### Effetto sull'aula e sulla generazione La modalità ha un effetto concreto sulla pianificazione: una lezione **A distanza** o in **Studio autonomo** **non richiede un'aula**. L'[algoritmo di generazione](#page-glossary.solver) non gliene riserva una, e l'assegnazione automatica delle aule la ignora. Le lezioni **In presenza** e **Ibrido** richiedono invece un'aula. #### Link di videoconferenza Per le lezioni a distanza o ibride, Lei può inserire un **link di videoconferenza** nello stesso selettore di aula. Un link può anche essere definito come predefinito sulla classe e applicarsi allora alle sue lezioni. In assenza di link, viene visualizzato un avviso. #### Statistiche per modalità La [diagnosi](#page-glossary.diagnostic) propone una tabella di ripartizione **per modalità**: totalizza il tempo di insegnamento erogato in presenza, a distanza, in modalità ibrida e in studio autonomo. È utile per misurare, per esempio, la quota di didattica a distanza di un percorso. Quando la modalità non è indicata esplicitamente, Omniscol la **deduce** dagli elementi presenti: un'aula **e** un link di videoconferenza danno una lezione ibrida; una sola aula, la presenza; un solo link di videoconferenza, la distanza; una lezione esplicitamente senza aula, lo studio autonomo. Una scelta esplicita prevale sempre su questa deduzione. #### Vedi anche - [Modifica di una lezione](#page-timetables.lesson-edit) - [Stato](#page-glossary.lesson-status) - [Lezione / Sessione](#page-glossary.lesson) - [Aula](#page-glossary.classroom) ### Modalità di visualizzazione dell'orario *Source: `help/it/glossary/schedule-view-mode.md` · id: glossary.schedule-view-mode · Updated: 2026-06-13* *Also known as : vista a griglia · vista a elenco · vista tabella · cambiare vista* Tre rappresentazioni intercambiabili delle stesse lezioni sullo stesso orario, scelte tramite i pulsanti della barra del titolo: - **Griglia** (Vista a griglia): vista calendario classica, lezioni posizionate su una griglia giorno × ora. Modalità predefinita per la consultazione rapida. - **Elenco** (Visualizzazione in elenco): successione cronologica delle lezioni, una per riga, con giorno, orari, durata, classe, gruppo, materia, professori, sito e aula. Comoda per scorrere in sequenza. - **Tabella** (Tabella): resa tipo foglio di calcolo della vista in corso — giorni in colonne e fasce orarie in righe (o il contrario), oppure una lezione per riga quando la vista a elenco è attiva. Utile per una verifica, una copia verso un foglio di calcolo o un'esportazione file a seconda della schermata (PDF, CSV, Excel / XLSX). Questa modalità è riservata agli amministratori, su computer. Le tre modalità operano sullo **stesso insieme di dati**; commutare non modifica né filtra, è semplicemente una presentazione diversa. La scelta non viene memorizzata: vale per la visualizzazione in corso. ### Orario *Source: `help/it/glossary/timetable.md` · id: glossary.timetable · Updated: 2026-06-13* *Also known as : orario scolastico · planning · orario settimanale · orario delle lezioni · agenda delle lezioni* Un **orario** in Omniscol rappresenta l'organizzazione completa delle lezioni di una scuola su un periodo. È l'oggetto centrale del software. Un orario riunisce: - delle [classi](#page-glossary.class) con i loro [gruppi](#page-glossary.group) e le loro [partizioni](#page-glossary.class-division), - dei [professori](#page-glossary.teacher) assegnati, - dei [siti](#page-glossary.site) con le loro griglie orarie, aule e risorse, - dei vincoli (disponibilità, incompatibilità, allineamenti), - delle [lezioni](#page-glossary.lesson) (posizionate o meno). #### Tre modalità di orario Al momento di creare un orario, ne sceglie la modalità: - **[Settimanale](#page-glossary.weekly-timetable)** — le lezioni seguono una settimana tipo, ricorrente. Tipica della scuola primaria e secondaria. - **[Ciclico](#page-glossary.cyclic-timetable)** — le lezioni sono ricorrenti su un numero arbitrario di giorni (5, 6, 7… a seconda del Suo ciclo). Tipica dei sistemi nordamericani. - **[Calendario](#page-glossary.calendar-mode)** — le lezioni hanno una data individuale, come in un'agenda. Tipica dell'istruzione superiore (scuole di ingegneria, formazione continua). #### Più orari per scuola È possibile avere più orari in parallelo nello stesso account: - delle **bozze** non pubblicate, - degli orari per **periodi** diversi (S1 e S2, preparazione dell'inizio dell'anno e orario in corso), - in Premium (o, in via eccezionale, su un account Standard con un'attivazione regolata da contratto), degli orari **attivi simultaneamente** sulle stesse settimane (per esempio un orario mattutino ricorrente + un orario pomeridiano in modalità calendario) — si veda [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables). #### Ciclo di vita di un orario ``` Creazione → Configurazione → (Generazione automatica?) → Visualizzazione → Pubblicazione → Modifiche quotidiane ``` - **Creazione** — scelta della modalità, etichetta, parametri di base. - **Configurazione** — siti, aule, professori, classi, gruppi, materie, lezioni. - **Generazione** — automatica tramite il risolutore (disponibile su tutte e tre le modalità: settimanale, ciclica, a calendario) o posizionamento manuale. - **Visualizzazione** — verifica prima della pubblicazione. - **Pubblicazione** — l'orario diventa l'orario attivo sulle settimane scelte dell'anno scolastico. Visibile nel modulo *Orario* da tutti gli utenti autorizzati. - **Modifiche quotidiane** — nel corso dell'anno (spostamenti di lezioni, cambi di aula, gestione delle assenze) senza ripassare dalla fase di generazione. #### Vedi anche - [Settimanale, ciclico o a calendario](#page-overview.timetable-modes) - [Creazione di un orario](#page-timetables.overview) - [Pubblicare un orario](#page-timetables.publication) ### Orario ciclico *Source: `help/it/glossary/cyclic-timetable.md` · id: glossary.cyclic-timetable · Updated: 2026-05-10* *Also known as : ciclo · giorni numerati* Un **orario ciclico** definisce lezioni ricorrenti su un numero arbitrario di giorni (Day 1, Day 2, … Day 6, ecc.), non necessariamente allineato con la settimana di 5 o 7 giorni. Viene utilizzato tipicamente nei **sistemi nordamericani** (cicli di 6 o 8 giorni), in alcune scuole internazionali e più raramente in Europa. #### Differenza rispetto al settimanale | Aspetto | Settimanale | Ciclico | | --- | --- | --- | | Unità di ripetizione | Settimana (5-7 giorni) | Ciclo di N giorni | | Numerazione | Lunedì, martedì… | Day 1, Day 2… | | Alla pubblicazione | Si scelgono le settimane attive | Si scelgono i giorni della settimana in cui si applica il ciclo | | Generazione automatica | Sì | Sì | #### Quando utilizzarlo Se il Suo istituto funziona su un ciclo di 6 giorni (per esempio Day 1 lunedì, Day 2 martedì, Day 3 mercoledì, Day 4 giovedì, Day 5 venerdì, Day 6 il lunedì successivo, Day 1 il martedì successivo…), la modalità settimanale non è adatta: l'orario ciclico è pensato per questo caso. Se si trova in Europa con un ciclo di 5 giorni strettamente allineato alla settimana, rimanga in modalità settimanale: è più semplice da configurare e da pubblicare. #### Vedi anche - [Orario](#page-glossary.timetable) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) ### Orario settimanale *Source: `help/it/glossary/weekly-timetable.md` · id: glossary.weekly-timetable · Updated: 2026-05-15* *Also known as : settimana tipo · ricorrente · planning settimanale* Un **orario settimanale** si basa su una **settimana tipo**: le lezioni sono definite come ricorrenti sui giorni della settimana. Alla pubblicazione, si scelgono le **fasce di settimane** dell'anno in cui la settimana tipo si applica. È la modalità usata in: - istruzione primaria e secondaria (scuole primarie, medie, superiori), - primo ciclo universitario in alcune facoltà, - centri di formazione linguistica con orari fissi. #### Generazione automatica Il risolutore di generazione automatica funziona in questa modalità. Cerca il posizionamento ottimale delle lezioni nella settimana tipo rispettando: - disponibilità dei professori, - specializzazioni di aule richieste, - partizioni, allineamenti, incompatibilità, - ponderazione pedagogica (bilanciamento delle materie sui giorni). Si veda [Risolutore](#page-glossary.solver). #### Settimane alternate Con la funzione [settimane alternate](#page-glossary.alternate-lessons), può avere lezioni che compaiono solo una settimana su due (o una su tre, ecc.) — settimane A/B, 1/2, ecc. Configurata in Salvare. #### Vacanze e alternanza Le vacanze scolastiche possono perturbare l'alternanza A/B. Se era in settimana A appena prima delle vacanze e vuole riprendere in settimana B dopo, può creare uno **sfasamento virtuale** sulla linea del tempo (clic sulle settimane interessate). #### Disponibilità convalidate a priori Le disponibilità dei professori vengono convalidate a monte (prima della generazione). Ogni modifica successiva di un professore viene segnalata ma non interferisce con l'orario già calcolato. È diverso dalla modalità [calendario](#page-glossary.calendar-mode), dove le disponibilità vengono consolidate in tempo reale. #### Vedi anche - [Orario](#page-glossary.timetable) - [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - [Generazione automatica](#page-glossary.solver) - [Lezioni alternate](#page-glossary.alternate-lessons) ### Pannello informativo *Source: `help/it/glossary/panel.md` · id: glossary.panel · Updated: 2026-06-13* *Also known as : schermo di accoglienza · schermo all'ingresso · schermo di atrio* Un **pannello informativo** in Omniscol è uno schermo di affissione pubblico, configurato per mostrare in continuo un orario filtrato. Casi tipici: - **pannello d'atrio** — schermo all'ingresso della scuola, scorre le lezioni del giorno per tutte le classi, - **pannello davanti a un'aula** — schermo fissato accanto a una porta, che mostra l'occupazione di quell'aula nella giornata, - **pannello di aula magna / laboratorio** — affissione delle prossime lezioni in uno spazio specializzato. #### URL unico per ogni pannello Ogni pannello creato ha un **URL unico** da aprire a schermo intero in un browser. Lo scorrimento e l'aggiornamento avvengono automaticamente. #### Personalizzazione Al momento di definire un pannello, Lei configura: - **filtro delle lezioni mostrate**: quale/i livello/i, quale/i classe/i, quale/i sito/i, quale/i aula/e, - **fascia oraria** mostrata, - **dimensione del carattere**, - **banda informativa** (testo scorrevole, logo), - **colori e tema**. Per le installazioni con una forte identità visiva, è anche possibile sostituire interamente la pagina web che mostra il pannello, così da integrarlo in un dispositivo di segnaletica dinamica esistente. Vedi [Personalizzazione visiva](#page-panels.customization). #### Vedi anche - [Pannello d'atrio](#page-panels.lobby-panel) - [Pannello davanti a un'aula](#page-panels.room-panel) - [Personalizzazione visiva](#page-panels.customization) ### Partizione di classe *Source: `help/it/glossary/class-division.md` · id: glossary.class-division · Updated: 2026-05-10* *Also known as : divisione · partizione di gruppi* Una **partizione** raggruppa più [gruppi](#page-glossary.group) di **una stessa classe** che devono **condividere la stessa fascia oraria**. In concreto: poiché gli studenti non sono sdoppiati (uno stesso studente non può essere in due posti contemporaneamente), se i suoi mezzi gruppi Laboratorio-A e Laboratorio-B devono svolgere due esercitazioni diverse simultaneamente, il risolutore deve sapere che costituiscono una partizione. Il motore sa quindi come: - collocare le due esercitazioni nella stessa fascia oraria, - con due aule diverse, - con due professori diversi, - senza generare un avviso di conflitto. #### Quando creare una partizione Ogni volta che una stessa fascia oraria deve ospitare lezioni diverse per sottoinsiemi disgiunti di una classe: - mezzi gruppi di esercitazione (Laboratorio-A vs Laboratorio-B, mezza classe Matematica vs Inglese, ecc.), - gruppi linguistici (Francese seconda lingua vs Spagnolo seconda lingua), - opzioni esclusive (Latino vs Greco moderno), - mezzi gruppi di informatica (perché si dispone solo di 15 postazioni in aula informatica). Il criterio di validità: **nessuno studente deve appartenere a due gruppi della stessa partizione**. Altrimenti, ci si trova in un allineamento anziché in una partizione (il che comunque non è possibile se i gruppi fanno parte della stessa classe). #### Come creare una partizione Nella pagina dei [gruppi di una classe](#page-core-concepts.classes-and-groups), selezioni i gruppi interessati e clicchi su Aggiungere una partizione. Più partizioni possono coesistere in una stessa classe (una per le esercitazioni di scienze, una per le lingue, una per le opzioni di filosofia). #### Differenza rispetto a un allineamento Una **partizione** = gruppi di **una sola classe** che devono essere nella stessa fascia oraria. Un [**allineamento**](#page-glossary.alignment) = gruppi di **classi diverse** che devono essere nella stessa fascia oraria, **con lo stesso professore e la stessa aula**. #### Vedi anche - [Gruppo](#page-glossary.group) - [Allineamento dei gruppi](#page-glossary.alignment) - [Pagina completa sulle partizioni](#page-core-concepts.class-divisions) ### Più aule (una lezione in più aule) *Source: `help/it/glossary/multi-room.md` · id: glossary.multi-room · Updated: 2026-06-13* *Also known as : aule multiple · più di un'aula · sdoppiamento dell'aula · multi-aula* Omniscol consente di assegnare **più aule** a una stessa lezione. Questa funzionalità è disponibile **su tutti i tipi di orario**: [settimanale](#page-glossary.weekly-timetable), [ciclico](#page-glossary.cyclic-timetable) e [calendario](#page-glossary.calendar-mode). #### Casi d'uso tipici - **Esami in aule magne sdoppiate** — un esame di 200 candidati ripartito su tre aule magne (capienza 70 + 60 + 80) con un solo docente responsabile. La capienza è calcolata come la somma delle aule assegnate. - **Lezione frontale ritrasmessa** — una lezione frontale in un'aula magna principale, ritrasmessa in videoconferenza in un'aula satellite (per esempio su un altro sito, o addirittura da un intero corso a distanza). - **Laboratori sdoppiati senza sdoppiamento del gruppo** — quando un laboratorio di 30 studenti non entra in nessuna singola aula informatica, ma può essere sorvegliato simultaneamente in due aule contigue (15 + 15) dallo stesso professore. #### Capienza totale = somma delle aule Quando assegna più aule a una lezione, Omniscol addiziona le loro capienze per verificare che il gruppo vi entri. Nessun falso allarme di sovraffollamento fintantoché la somma è sufficiente. > **Suggerimento.** Se vede sparire gli allarmi di sovraffollamento dopo > l'aggiunta di una seconda aula, è esattamente il comportamento previsto: > la somma copre l'effettivo. #### Limite da conoscere Se la somma delle capienze resta **inferiore** al gruppo, Omniscol mostra comunque un conflitto — spetta all'amministratore decidere se risolverlo (aggiungendo un'aula, riducendo il gruppo o accettando il conflitto se è deliberato, per esempio quando si sa che non tutti gli iscritti si presenteranno). #### Vedi anche - [Aula](#page-glossary.classroom) - [Esami in più aule nell'istruzione superiore](#page-higher-ed.multi-room-exams) - [Sito](#page-glossary.site) ### Professore / Relatore *Source: `help/it/glossary/teacher.md` · id: glossary.teacher · Updated: 2026-05-10* *Also known as : docente · insegnante · formatore · istruttore* In Omniscol, **professore** indica qualsiasi persona che svolge l'attività didattica di una lezione. Il termine comprende: - i **docenti permanenti** (di ruolo, faculty), - i **contrattisti** (relatori esterni occasionali), - i **visiting professor** (accademici invitati, conferenzieri), - i **formatori** (formazione continua, laboratori), - gli **esperti** (relatori occasionali reclutati per la loro competenza). A seconda della cultura del Suo istituto, potrà parlare di «professore», di «docente», di «relatore» o di «formatore» — Omniscol si adatta al Suo vocabolario tramite le etichette (cfr. impostazioni), ma sotto il cofano sono tutti rappresentati dalla stessa entità. #### Creazione I professori vengono creati a livello di scuola in Professori. Va indicato: - nome, cognome, login, password, - e-mail (usata per l'invito e per la procedura «password dimenticata»), - eventualmente un identificativo esterno (matricola, ID SIS), - le **materie insegnate** (semplifica in seguito l'assegnazione alle lezioni), - il **servizio orario** (numero di ore settimanali previste, ripreso come impostazione predefinita nei nuovi orari). #### Assegnazione a un orario Una volta creati a livello di scuola, i professori devono essere **assegnati a un orario** da Assegnare professori. Questo passaggio distingue il «personale disponibile» (a livello di scuola) dal «personale impegnato su questa pianificazione» (a livello di orario). #### Disponibilità Un professore può indicare le proprie [disponibilità](#page-glossary.wishes) (fasce non disponibili, sgradite, preferite). Per gli orari settimanali richiedono una convalida amministrativa; per gli orari a calendario vengono consolidate in tempo reale. Nella scuola secondaria si parla anche di **preferenze**. #### Contrattisti (relatori esterni) Per i **contrattisti**, si veda la voce dedicata: [Contrattista / relatore esterno](#page-glossary.external-teacher). #### Professore virtuale Il pulsante Virtuale crea un *professore virtuale* — una scheda provvisoria per un posto da coprire, che compare con un fantasma accanto al nome. Una volta reclutata la persona reale, la scheda si trasforma in un vero professore tramite il pulsante sulla sua riga. Utile per preparare l'inizio dell'anno prima che tutti i reclutamenti siano finalizzati. #### Vedi anche - [Contrattista (relatore esterno)](#page-glossary.external-teacher) - [Disponibilità](#page-glossary.wishes) - [Gestire i professori](#page-admin.teachers) - [Assegnare i professori a un orario](#page-timetables.assigning-teachers) ### Pubblicazione / Attivazione di un orario *Source: `help/it/glossary/publication.md` · id: glossary.publication · Updated: 2026-06-13* *Also known as : messa in servizio · attivare un orario · settimane attive* **Pubblicare** (o *attivare*) un orario significa renderlo **visibile** nel modulo Orario consultato da tutti, sulle **settimane dell'anno scolastico** che Lei sceglie. Un orario generato **non è pubblicato automaticamente**. Finché non è pubblicato è una bozza: visibile solo nel modulo Gestione degli orari dagli amministratori. #### Come pubblicare Nella pagina iniziale del modulo Gestione degli orari: 1. Selezioni l'anno scolastico interessato. 2. Faccia clic su Aggiungere un periodo (Ripartizione degli orari). 3. Sulla griglia che appare, scelga le settimane di ogni orario. 4. Salvi. #### Una sola pubblicazione per settimana (account standard) Con un account standard è consentita **una sola pubblicazione** per settimana. Se vuole pubblicare due orari diversi, questi devono coprire intervalli di settimane disgiunti. #### Pubblicazioni simultanee In Premium — oppure, in via eccezionale, su un account Standard con un'attivazione delimitata da contratto — più orari possono essere pubblicati sulle stesse settimane e fusi al momento della consultazione. Questo caso è descritto in [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) e nella pagina completa sulla pubblicazione. #### Orario calendario: pubblicazione binaria Un orario in modalità [calendario](#page-glossary.calendar-mode) non si pubblica per intervalli di settimane (le lezioni sono già datate individualmente): la pubblicazione è binaria — l'orario è pubblicato, oppure non lo è. #### Vedi anche - [Orario](#page-glossary.timetable) - [Anno scolastico](#page-glossary.school-year) - [Pubblicare un orario — pagina completa](#page-timetables.publication) - [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables) ### Risolutore / Algoritmo di generazione automatica *Source: `help/it/glossary/solver.md` · id: glossary.solver · Updated: 2026-06-13* *Also known as : solver* Il **risolutore** di Omniscol calcola automaticamente il posizionamento delle lezioni di un orario [settimanale](#page-glossary.weekly-timetable), [ciclico](#page-glossary.cyclic-timetable) o [calendario](#page-glossary.calendar-mode). Posiziona le lezioni create che non sono ancora collocate, può spostare le lezioni già collocate se ciò migliora l'orario e mantiene le lezioni bloccate al loro posto. #### Come funziona Quando si avvia una generazione, Omniscol predispone un ambiente di calcolo dedicato e parallelizzato. Non c'è alcuna coda da gestire lato scuola; l'inizializzazione richiede spesso circa una decina di secondi prima dei primi calcoli visibili. Il risultato dipende dalla qualità dei dati inseriti: siti, aule, professori, gruppi, volumi orari, disponibilità e incompatibilità. Più i vincoli sono numerosi o contraddittori, più la generazione può essere lunga o produrre un risultato parziale. Il motore è un'IA di ottimizzazione **metaeuristica Monte Carlo neuro-simbolica**: combina ricerca stocastica, regole di business simboliche e scoring dei vincoli. Il punto importante è operativo: il risolutore è progettato per casi molto vincolati, segnalando al contempo le situazioni impossibili invece di nascondere i conflitti. #### Vincoli rigidi Il risolutore rispetta rigorosamente i vincoli che renderebbero l'orario non valido: - un professore non può trovarsi in due luoghi contemporaneamente; - una classe non può seguire due lezioni contemporaneamente, salvo i casi previsti da gruppi in partizione; - le disponibilità e i vincoli di livello **impossibile** bloccano il posizionamento; - un'aula standard non può ospitare due lezioni nello stesso momento; - un'aula grande può ospitare più lezioni solo entro i limiti di capacità e di numero di classi configurati; - le aule specializzate, le capacità, le risorse materiali e gli spostamenti tra siti devono restare compatibili; - una lezione bloccata conserva la propria posizione. #### Vincoli di ottimizzazione I vincoli morbidi servono a valutare e migliorare le soluzioni trovate. Non vengono ignorati: diventano penalità che il risolutore cerca di ridurre. Esempi frequenti: - disponibilità o vincoli **indesiderati** per un professore, un'aula, una materia, un gruppo o una classe; - incompatibilità pedagogiche tra materie, per esempio evitare un laboratorio prima della lezione frontale corrispondente, evitare lo sport subito dopo una lezione molto intensa, oppure imporre l'ordine di una progressione; - evitare di avere due volte la stessa materia nello stesso giorno per una classe; - minimo o massimo di ore di lezione al giorno o a settimana; - equilibrio delle giornate; - riduzione dei buchi negli orari delle classi e dei professori; - numero di giorni di presenza dei professori, secondo le consuetudini della scuola o del paese. La ricerca di una soluzione valida è la prima fase. L'ottimizzazione delle penalità può poi diventare la parte più lunga del calcolo. #### Disponibilità - **Orari settimanali** — disponibile. - **Orari ciclici** — disponibile. - **Orari calendario** — disponibile con lezioni datate e un intervallo di date. #### Cosa fare se la generazione non riesce Se non viene trovata alcuna soluzione completa, Omniscol conserva il miglior orario calcolato e lascia le lezioni impossibili da collocare nell'elenco dei post-it non posizionati. Può quindi ispezionare l'orario parziale, leggere la diagnostica e correggere i vincoli. Cause frequenti: - disponibilità troppo restrittive (un professore non ha alcuna fascia oraria libera compatibile), - aule insufficienti, oppure nessuna aula specializzata disponibile, - allineamento incoerente (volumi orari diversi tra i gruppi allineati), - incompatibilità troppo numerose o troppo rigide, - effettivo teorico della classe > capacità di tutte le aule candidate. Vedi [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation). #### Forzare il posizionamento di una lezione Può **bloccare** la posizione di una lezione prima di rilanciare la generazione: il risolutore non la sposta più, ma adatta le altre intorno. Utile per ancorare le lezioni «immutabili» (interventi esterni fissati per contratto, esami datati, ecc.). #### Vedi anche - [Orario settimanale](#page-glossary.weekly-timetable) - [Disponibilità](#page-glossary.wishes) - [Diagnostica e conflitti](#page-glossary.conflict) - [Generazione automatica](#page-timetables.generation) ### Risorsa *Source: `help/it/glossary/resource.md` · id: glossary.resource · Updated: 2026-05-10* *Also known as : attrezzatura · materiale mobile · videoproiettore · valigetta · kit* Una **risorsa** in Omniscol è un'attrezzatura **mobile**, non associata a un'aula specifica. Ogni risorsa ha un **nome** e una **quantità disponibile**. Esempi: tre videoproiettori portatili, una valigetta di 30 tablet (la valigetta conta come 1, non come 30 — si inserisce la quantità di valigette, non la quantità di tablet), un kit di microfoni, un insieme di manichini per il primo soccorso. #### Come viene utilizzata Al momento di configurare un corso, si indicano le risorse che gli sono necessarie. Il risolutore garantisce che **le lezioni simultanee non richiedano più risorse di quante ne esistano**: se si dispone di 3 videoproiettori portatili, non più di 3 lezioni simultanee potranno richiederne uno ciascuna. #### Differenza con le aule Un'[aula](#page-glossary.classroom) è associata a un [sito](#page-glossary.site) e non si sposta. Una risorsa non è associata ad alcuna aula (ma è associata a un sito, il che impedisce di utilizzare una valigetta del sito A per una lezione del sito B). #### Casi tipici in cui non si utilizza alcuna risorsa Molti corsi non hanno alcuna risorsa dichiarata — è l'impostazione predefinita. Dichiarare una risorsa solo se costituisce **un vero limite**: se si dispone di 30 videoproiettori portatili e al massimo 4 lezioni simultanee, è inutile modellizzarlo; se se ne hanno 3 e più lezioni che ne richiedono uno, si desidera che il risolutore arbitri. #### Vedi anche - [Sito](#page-glossary.site) - [Aula](#page-glossary.classroom) ### Servizio del personale *Source: `help/it/glossary/staffing.md` · id: glossary.staffing · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Servizio del personale** *Also known as : pianificazione della sorveglianza · griglia di sorveglianza · griglia di supervisione* Il **Servizio del personale** pianifica il **personale per compiti** invece che per lezione. È stato concepito in origine per la vita scolastica: squadre di assistenti educativi, personale di sorveglianza, sorveglianti e personale equivalente che nel corso della giornata copre il cortile, l'accoglienza, i corridoi, la biblioteca, la mensa, le uscite di scienze motorie, le aule studio, ecc. Il modulo gestisce inoltre: - la **sorveglianza degli esami** (sessioni di prove parziali, esami di maturità, concorsi), - le **supervisioni occasionali** (uscite, viaggi, consigli di classe), - le **pedagogie attive** (Montessori) in cui i professori sono pianificati per attività invece che per lezione. #### Modello dei dati - **Compiti** = esigenze da coprire, definite da luogo + fascia oraria + numero di persone + eventuale elenco del personale autorizzato. - **Griglia** = insieme dei compiti su un intervallo di date, tipicamente con granularità al quarto d'ora. - **Assegnazione** = associare un membro del personale a una casella della griglia. - **Tabella di servizio** = vista per persona dei propri compiti. #### Indipendenza rispetto alle lezioni Il Servizio del personale può essere utilizzato: - come **complemento** agli orari didattici (i compiti degli assistenti educativi si aggiungono alle lezioni nel conteggio); - come **offerta autonoma**, senza gestione di orari didattici. #### Ruolo Personale Il ruolo **Personale** è concepito per il team della vita scolastica (personale di sorveglianza, assistenti educativi, sorveglianti, custodi): accesso al Servizio del personale, alle proprie assenze e al proprio planning personale; nessun accesso alla configurazione globale. Può essere cumulato con il ruolo Professore quando la stessa persona è al contempo insegnante e pianificata nel Servizio del personale. Vedi [Utenti e ruoli](#page-admin.users-and-roles). #### Vedi anche - [Panoramica del Servizio del personale](#page-staffing.overview) - [Costruire una griglia di servizio](#page-staffing.building-grids) - [Definire i compiti da coprire](#page-staffing.assignments) - [Assegnare il personale](#page-staffing.planner) - [Turni di servizio](#page-staffing.roster) ### Sito *Source: `help/it/glossary/site.md` · id: glossary.site · Updated: 2026-05-10* *Also known as : luogo · edificio principale · plesso* Un **sito** in Omniscol rappresenta un luogo fisico in cui si svolgono lezioni. Un sito ospita [aule](#page-glossary.classroom) e [risorse](#page-glossary.resource). Da non confondere con il [campus](#page-glossary.campus), che è una nozione organizzativa: sede, facoltà, polo o raggruppamento interno. Il sito comprende gli orari, le aule e i tempi di percorrenza; il campus serve piuttosto a classificare e filtrare. Ogni orario ha almeno un sito. Se tutti i propri edifici si trovano nello stesso luogo geografico, un solo sito è sufficiente. Se il proprio istituto è multi-sito con docenti o studenti che si spostano, creare tanti siti quanti ne servono — e **indicare il tempo di percorrenza tra di essi**, altrimenti il risolutore rischia di teletrasportare i professori o gli studenti. #### Griglia oraria a livello del sito Ogni sito ha la propria **griglia oraria** (orari delle lezioni, pause, pranzo, chiusure). Viene ricavata automaticamente a partire dalle informazioni inserite, ma va personalizzata aggiungendo le pause, la pausa pranzo, le chiusure (mercoledì pomeriggio, sabato). #### Caso pratico: due siti virtuali per uno stesso luogo Configurazione talvolta utile (ma rara): creare due «siti virtuali» per un unico luogo fisico condiviso tra due entità (scuola secondaria di primo grado + scuola secondaria di secondo grado) che non hanno la stessa griglia oraria ma hanno professori in comune. Il tempo di percorrenza tra i due siti virtuali è allora zero. Prestare attenzione a duplicare le aule condivise nei due siti e a indicare orari di apertura esclusivi (cfr. [aula](#page-glossary.classroom)). #### Quando preferire due account anziché due siti Se due istituti distinti non hanno **alcun docente in comune** (o se i rari professori comuni sono assegnati in sequenza a un sito e poi all'altro in giorni ben definiti), è spesso più semplice utilizzare due account Omniscol separati. I siti multipli si impongono non appena vi è una vera circolazione di docenti o di studenti da modellizzare. In **Premium**, un'altra opzione è pubblicare **due orari attivi contemporaneamente** sullo stesso account (vedere [Più orari attivi in parallelo](#page-timetables.multiple-active-timetables)), ciascuno corrispondente a un sito, anziché configurare due siti in un unico orario. Sia con più account sia con più orari in parallelo, è possibile condividere le occupazioni dei professori e delle aule, con un rilevamento di conflitti incrociati (che può essere disattivato dal pianificatore). Se si tratta di più account, occorre rivolgersi al team di Omniscol per configurare il collegamento tra di essi. Solo gli orari operativi, pubblicati, fungono da fonte per determinare le occupazioni delle entità comuni. #### Vedi anche - [Aula](#page-glossary.classroom) - [Risorsa](#page-glossary.resource) - [Campus](#page-glossary.campus) - [Multi-sito per l'istruzione superiore](#page-higher-ed.multi-site) ### Sostituzione / Supplenza *Source: `help/it/glossary/substitution.md` · id: glossary.substitution · Updated: 2026-05-14* *Also known as : supplente · sostituto* Una **sostituzione** indica l'assegnazione di un altro professore a una lezione il cui titolare è [assente](#page-glossary.absence). #### Sostituzione occasionale Per una lezione precisa, l'amministratore apre la gestione dei sostituti dell'assenza e utilizza Assegna un sostituto. Questa assegnazione vale unicamente per la lezione scelta e prevale sulle regole di lunga durata. #### Regola di sostituzione Per un'assenza di lunga durata, l'amministratore crea una o più regole con Assegna un sostituto. Una regola può precisare: - il sostituto; - delle date di validità; - delle fasce orarie; - delle materie; - delle classi; - un commento. Le regole si applicano nell'ordine visualizzato. Se nessuna regola copre una lezione, questa resta interessata dall'assenza del titolare. #### Visualizzazione delle sostituzioni Sull'orario, il professore sostituito resta visibile come titolare assente e il sostituto compare sulla lezione. I dettagli del motivo e del commento dell'assenza dipendono dai diritti di consultazione. #### Vedi anche - [Assenza](#page-glossary.absence) - [Politiche di sostituzione](#page-absences.substitution-policies) - [Sostituzione puntuale di una lezione](#page-absences.single-lesson-replacement) ### Specializzazione dell'aula *Source: `help/it/glossary/classroom-specialization.md` · id: glossary.classroom-specialization · Updated: 2026-05-10* *Also known as : tipo di aula · aula specializzata · aula dedicata alla materia* Una **specializzazione dell'aula** indica che un'aula è dedicata a un certo tipo di attività: laboratorio di chimica, aula informatica, palestra, aula multimediale, aula di studio assistito, laboratorio artistico, studio di musica, ecc. È un campo **libero** — crei le specializzazioni che le occorrono, con la sua nomenclatura. Nessun elenco chiuso imposto da Omniscol. #### Comportamento del risolutore Quando una materia richiede una specializzazione, il risolutore assegna **solo** le aule che portano tale specializzazione. Un'aula di laboratorio di chimica non verrà mai usata per una lezione di letteratura se ha richiesto « chimica » sulla materia di laboratorio. Forzare un'assegnazione incoerente (attribuire manualmente a una lezione di chimica un'aula che non ha la specializzazione chimica) **non blocca** ma mostra un avviso. #### Ordinare o eliminare una specializzazione Una specializzazione esiste finché è usata da almeno un'aula. Per eliminarla, la rimuova da tutte le aule che la portano — al successivo salvataggio, scompare dal repertorio. Per **rinominare**, crei la nuova specializzazione con il nome corretto, la sostituisca sulle aule, e la precedente scomparirà automaticamente (a condizione che non sia più referenziata da nessuna parte, incluso sul versante delle materie). #### Vedi anche - [Aula](#page-glossary.classroom) - [Materia](#page-glossary.subject) - [Specializzazioni delle aule](#page-core-concepts.classroom-specializations) ### Stato di una lezione *Source: `help/it/glossary/lesson-status.md` · id: glossary.lesson-status · Plan: premium · Updated: 2026-06-25* > **Premium** *Also known as : stato della lezione · stato del corso · pianificato · bozza · lezione annullata · lezione realizzata* > _Premium_ Sugli account **Premium**, lo **Stato** indica a che punto è una [lezione](#page-glossary.lesson) nel ciclo di pianificazione. Si imposta lezione per lezione — dall'icona Stato — oppure **in blocco** dalla modalità elenco. Quattro valori: - **Pianificato** — Stato predefinito per le lezioni pianificate. È lo stato di una lezione ordinaria, posta sulla griglia. - **Bozza** — lezione in preparazione, **ignorata dalla generazione automatica** e dalle **dashboard**. Utile per preparare una lezione senza ancora imporla all'orario né al [algoritmo di generazione](#page-glossary.solver). - **Annullato** — la lezione resta **visualizzata come annullata** (conservata per memoria) ma è anch'essa **ignorata dalla generazione automatica** e dalle **dashboard**. - **Realizzato** — la lezione è contrassegnata come **realizzata**, il che la integra con questa precisione nella **dashboard** dei professori, per la **fatturazione**. #### Visualizzazione Quando sono visualizzate sulla griglia di pianificazione, queste lezioni si riconoscono dalla loro resa: - una lezione **Bozza** porta un **bordo arancione tratteggiato** e resta leggermente sfumata; - una lezione **Annullato** è **barrata** e fortemente sfumata — torna leggibile al passaggio del mouse, il che consente di conservarla per memoria senza ingombrare la griglia. #### Effetto sulla generazione Le lezioni **Bozza** e **Annullato** sono messe da parte dall'[algoritmo di generazione](#page-glossary.solver): non le colloca, e non pesano sui conflitti (occupazione delle aule, collisioni di professori, capienze). Le lezioni **Pianificato** restano le lezioni reali che la generazione posiziona. #### « Realizzato »: solo in modalità calendario Lo stato **Realizzato** è proposto solo sugli orari di tipo **[calendario](#page-glossary.calendar-mode)**: è lì, su lezioni datate, che contrassegnare una lezione come effettivamente erogata ha un senso. Alimenta allora il **monitoraggio delle ore realmente svolte dai professori** (dashboard dei professori) e la loro **fatturazione**. Su un orario settimanale o a ciclo, questo stato non compare. #### Vedi anche - [Modifica di una lezione](#page-timetables.lesson-edit) - [Modalità](#page-glossary.lesson-modality) - [Lezione / Sessione](#page-glossary.lesson) - [Modalità Calendario](#page-glossary.calendar-mode) ### Studente / Alunno / Discente *Source: `help/it/glossary/student.md` · id: glossary.student · Updated: 2026-05-14* *Also known as : partecipante · corsista* Uno **studente** in Omniscol è un individuo iscritto a una [classe](#page-glossary.class), che segue delle lezioni ed eventualmente membro di uno o più [gruppi](#page-glossary.group) all'interno di questa classe. **Studente** è il termine canonico dell'interfaccia; a seconda del contesto dell'istituto, il vocabolario corrente cambia: - **Primaria / secondaria** — «alunno», - **Istruzione superiore** — «studente», - **Formazione continua** — «discente», «partecipante», «corsista». Tutti rimandano alla stessa entità Omniscol. #### Gli studenti sono **facoltativi** Punto importante: Omniscol funziona molto bene **senza alcuno studente inserito**. Gli orari, le disponibilità dei professori, la generazione e le statistiche del cruscotto operano a livello di classe / gruppo / professore. L'interesse di inserire gli studenti individualmente: - **Orari personalizzati** — ogni studente visualizza il proprio orario dopo l'accesso, filtrato in base alla sua classe e ai suoi gruppi. - **Statistiche dettagliate** — cruscotto per studente (ore di lezione, giorni di presenza). - **Assenze** — uno studente può dichiarare le proprie assenze (con convalida amministrativa). - **Studenti ripetenti / fuori corso** — gestione degli studenti che devono seguire lezioni di una classe diversa dalla propria. Se non ha bisogno di queste funzionalità, non inserisca gli studenti — non perde nulla di essenziale. #### Assegnazione a una classe e a dei gruppi L'assegnazione di uno studente alla sua classe e ai suoi gruppi si effettua in Studenti, dopo la pubblicazione del primo orario dell'anno. Può anche assegnare in blocco tramite l'operazione Assegna a una classe su una selezione multipla. #### Caso dei ripetenti e dei fuori corso Uno studente può essere assegnato a più classi (per esempio, uno studente del 3° anno che deve seguire anche un modulo del 2° anno) oppure essere assegnato solo ad alcuni gruppi di una classe (un *fuori corso* che ripete una sola materia). Questi casi sono gestiti tramite la selezione multi-classe / multi-gruppo della schermata di assegnazione. #### Vedi anche - [Classe](#page-glossary.class) - [Gruppo](#page-glossary.group) - [Gestire gli studenti](#page-admin.students) ### Tipo di lezione *Source: `help/it/glossary/lesson-type.md` · id: glossary.lesson-type · Updated: 2026-05-10* *Also known as : tipo di corso · lezione frontale · esercitazione · laboratorio · esercitazioni pratiche · prova valutata* Un **tipo di lezione** qualifica il formato pedagogico di una lezione. Esempi canonici: - **Lezione frontale** — insegnamento rivolto all'intera coorte, - **Esercitazione** — lavoro guidato in piccoli gruppi, - **Laboratorio** — attività pratica in laboratorio, - **Esame** — prova valutata, - **Conferenza** — relatore esterno invitato, - **Laboratorio didattico**, **Seminario**, **Forum**, **Discussione di tesi**… I tipi di lezione sono definiti a livello di scuola in Creare. Ne può creare quanti la sua nomenclatura pedagogica richiede (gli istituti di istruzione superiore hanno talvolta 25-30 tipi). #### Abbinamento materia + tipo Un tipo di lezione si assegna a un corso, in aggiunta alla sua [materia](#page-glossary.subject). La coppia `(materia, tipo)` è trattata come un identificativo indipendente: per esempio, nelle statistiche o nei filtri, il « corso di matematica » e l'« esercitazione di matematica » compaiono separatamente. Se vuole interrogare entrambi contemporaneamente (senza distinzione di tipo), utilizzi un filtro aperto che non precisa il tipo. #### Filtraggio e visualizzazione - **Filtro nel modulo Orari** — selezione di un tipo per vedere solo i laboratori, o solo le lezioni frontali. - **Statistiche** — conteggio delle ore di esercitazione vs laboratorio vs lezione frontale per classe o per professore. - **Visualizzazione** — colore o marcatore visivo per tipo sulla griglia, a seconda dei parametri di visualizzazione. #### Vedi anche - [Corso](#page-glossary.course) - [Materia](#page-glossary.subject) - [Lezione / Sessione](#page-glossary.lesson) - [Configurare i tipi di lezione](#page-admin.lesson-types) ### Token API *Source: `help/it/glossary/api-token.md` · id: glossary.api-token · Updated: 2026-05-15* *Also known as : chiave api · token di autenticazione · token di accesso* Un **token API** consente a un software di terze parti di chiamare i punti di accesso API di Omniscol per conto della scuola, in lettura e, se sono selezionati punti di accesso API di scrittura, in scrittura. È potente — quindi da maneggiare con cautela. #### Generazione Un token viene generato in Condivisione (Importare/Esportare > Condivisione). Occorre fornire: - una chiave (generata in Omniscol, con etichetta e scadenza eventuale; la sua data di scadenza può essere modificata in seguito), - un ambito: la lista dei punti di accesso API che questo token potrà chiamare (concedere solo ciò che è strettamente necessario), - eventualmente una **scadenza del token**. Questa data è iscritta nel JWT generato e non può essere modificata in seguito. Eliminare la chiave, o raggiungerne la scadenza, revoca immediatamente i token derivati. Per cambiare la scadenza di un singolo token, generare un nuovo JWT. #### Utilizzo Il token si trasmette nell'intestazione HTTP `Authorization: Bearer `, oppure (meno consigliato per la produzione) nell'URL tramite `?auth=`. #### Buone pratiche - **Una chiave per integrazione** — facilita la revoca indipendente. - **Ambito minimo** — selezionare solo le API necessarie, non tutto per impostazione predefinita. - **Scadenza al livello giusto** — usare la scadenza della chiave per gestire un'integrazione nel tempo; usare la scadenza del token per un accesso temporaneo non modificabile. - **Rotazione periodica** — rigenerare la chiave ogni 6-12 mesi. - **Non in Git** — il token non deve finire versionato in un repository pubblico. Usare le variabili d'ambiente del proprio server. #### Differenza con OIDC / SSO Per connettere utenti reali con la loro identità istituzionale, usare [OIDC / SSO](#page-integrations.oauth2). Il token API è destinato alle integrazioni tecniche da server a server, non alla connessione quotidiana degli utenti. #### Vedi anche - [Link di condivisione](#page-glossary.share-link) - [API Omniscol](#page-integrations.api-tokens) - [MCP — collegare un agente IA esterno](#page-integrations.mcp) ### Vacanze *Source: `help/it/glossary/holidays.md` · id: glossary.holidays · Updated: 2026-06-26* *Also known as : ferie · giorni festivi · vacanze scolastiche* Le **vacanze** sono periodi di chiusura dell'istituto collegati a un [anno scolastico](#page-glossary.school-year): vacanze scolastiche, ponti e giorni festivi. Ciascuna ha un nome, una data di inizio e una data di fine. Alla creazione di un anno scolastico, Omniscol può proporre l'importazione delle vacanze comuni del Paese configurato, quando esistono dati per l'intervallo scelto. L'elenco si completa e si regola poi manualmente. #### Effetto sull'orario L'effetto di un periodo di vacanze dipende dal tipo di orario: - **Orario ricorrente (settimanale o ciclico)**: alla pubblicazione, le vacanze annullano le lezioni delle giornate interessate — le lezioni ricorrenti non si tengono in quei giorni e le statistiche ne tengono conto. - **Orario calendario**: una lezione può essere posizionata su un giorno di vacanza, ma questo crea un conflitto; la generazione automatica si riserva allora il diritto di riposizionare tale lezione se non è bloccata. Le vacanze descrivono una chiusura **generale** dell'istituto. Per neutralizzare un periodo su un perimetro più ristretto: - un'[assenza di classe](#page-absences.class-and-student-absences) esclude una classe su un periodo determinato; - in orario calendario, le [finestre di date](#page-glossary.date-windows) restringono il periodo di attività di un corso preciso. #### Dove configurarle Le vacanze si gestiscono per anno scolastico, negli [anni scolastici](#page-admin.school-year), una per una o in tabella. #### Vedi anche - [Anno scolastico](#page-glossary.school-year) - [Finestra di date](#page-glossary.date-windows) - [Anni scolastici](#page-admin.school-year) --- ## Index ### A - **Allineamento dei gruppi** — [Definition](#page-glossary.alignment) · [Allineamenti di gruppi](#page-core-concepts.alignments) · [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) · [Gruppi di gruppi](#page-core-concepts.groups-of-groups) · [Modello di dati completo](#page-integrations.data-model-full) · [Panoramica](#page-k12.overview) - **Anno scolastico** — [Definition](#page-glossary.school-year) · [Configurare l'account della scuola](#page-getting-started.setup-school) · [Modello di dati completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organizzazione dei dati](#page-core-concepts.data-model) · [Parametri generali](#page-admin.parameters) · [Prerequisiti](#page-timetables.prerequisites) · [Pubblicare (attivare) un orario](#page-timetables.publication) · [Visita guidata](#page-getting-started.onboarding-tour) - **Assenza** — [Definition](#page-glossary.absence) · [Dichiarare un'assenza](#page-absences.declaring) · [Panoramica del modulo Assenze](#page-absences.overview) · [Politiche di sostituzione](#page-absences.substitution-policies) · [Statistiche professori](#page-dashboard.teachers) · [Statistiche studenti e risorse](#page-dashboard.students-resources) - **Aula** — [Definition](#page-glossary.classroom) · [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) · [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) · [Lezioni fuori griglia](#page-timetables.off-grid-lessons) · [Modifica di una lezione](#page-timetables.lesson-edit) · [Panoramica del modulo Dashboard](#page-dashboard.overview) · [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) · [Ricerca e filtri](#page-core-concepts.search-and-filter) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) · [Statistiche aule](#page-dashboard.classrooms) · [Statistiche materie](#page-dashboard.subjects) - **Aula grande** — [Definition](#page-glossary.large-room) · [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) ### C - **Campus** — [Definition](#page-glossary.campus) · [Conflitti e diagnostica](#page-timetables.conflicts) · [Creare le classi e i loro gruppi](#page-timetables.creating-classes) · [Parametri avanzati e personalizzazione](#page-admin.advanced-parameters) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - **Classe** — [Definition](#page-glossary.class) · [Architettura e ruoli](#page-overview.architecture-and-roles) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) · [Creare le classi e i loro gruppi](#page-timetables.creating-classes) · [Modello di dati completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organizzazione dei dati](#page-core-concepts.data-model) · [Statistiche classi](#page-dashboard.classes) · [Visita guidata in cinque minuti](#page-overview.quick-tour) - **Co-docenza** — [Definition](#page-glossary.co-teaching) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Lezioni complesse](#page-core-concepts.complex-lessons) - **Conflitto** — [Definition](#page-glossary.conflict) · [Bloccare una lezione](#page-timetables.lesson-lock) · [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Comportamento dell'algoritmo](#page-faq.solver-behavior) · [Conflitti e diagnostica](#page-timetables.conflicts) · [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) · [Filosofia generale di Omniscol](#page-overview.philosophy) · [Generazione automatica](#page-timetables.generation) · [Modifiche puntuali](#page-schedules.ad-hoc-changes) - **Corso** — [Definition](#page-glossary.course) - **Corso trasversale** — [Definition](#page-glossary.transverse-course) ### D - **Dashboard** — [Definition](#page-glossary.dashboard) · [Panoramica del modulo Dashboard](#page-dashboard.overview) · [Statistiche aule](#page-dashboard.classrooms) · [Statistiche classi](#page-dashboard.classes) · [Statistiche materie](#page-dashboard.subjects) · [Statistiche professori](#page-dashboard.teachers) · [Statistiche studenti e risorse](#page-dashboard.students-resources) · [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) - **Diagnostica** — [Definition](#page-glossary.diagnostic) · [Comportamento dell'algoritmo](#page-faq.solver-behavior) · [Conflitti e diagnostica](#page-timetables.conflicts) · [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) · [Generazione automatica](#page-timetables.generation) - **Disponibilità dei professori (desiderata)** — [Definition](#page-glossary.wishes) · [Assegnare i professori](#page-timetables.assigning-teachers) · [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) · [Gruppi di gruppi](#page-core-concepts.groups-of-groups) · [Modello di dati completo](#page-integrations.data-model-full) · [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints) ### F - **Finestra di date** — [Definition](#page-glossary.date-windows) ### G - **Gruppo** — [Definition](#page-glossary.group) · [Allineamenti di gruppi](#page-core-concepts.alignments) · [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) · [Creare le classi e i loro gruppi](#page-timetables.creating-classes) · [Gerarchia di gruppi](#page-core-concepts.group-hierarchy) · [Gruppi di gruppi](#page-core-concepts.groups-of-groups) · [Gruppi liberi](#page-core-concepts.free-groups) · [Lezioni fuori griglia](#page-timetables.off-grid-lessons) · [Modello di dati completo](#page-integrations.data-model-full) · [Modifica di una lezione](#page-timetables.lesson-edit) · [OneRoster](#page-integrations.oneroster) · [Partizioni di classe](#page-core-concepts.class-divisions) · [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) · [Statistiche classi](#page-dashboard.classes) · [Statistiche studenti e risorse](#page-dashboard.students-resources) - **Gruppo di gruppi** — [Definition](#page-glossary.groups-of-groups) · [Allineamenti di gruppi](#page-core-concepts.alignments) · [Allineamenti e gruppi di gruppi](#page-timetables.alignments-and-groups-of-groups) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) · [Gruppi di gruppi](#page-core-concepts.groups-of-groups) · [Modello di dati completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Panoramica](#page-higher-ed.overview) · [Piani e opzioni di Omniscol](#page-overview.plans-and-options) - **Gruppo libero** — [Definition](#page-glossary.free-group) · [Gruppi liberi](#page-core-concepts.free-groups) · [Modello di dati completo](#page-integrations.data-model-full) ### I - **iCal (esportazione calendario)** — [Definition](#page-glossary.ical) · [Panoramica delle integrazioni](#page-integrations.overview) - **Incompatibilità (tra materie)** — [Definition](#page-glossary.incompatibility) · [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints) - **Insegnante esterno** — [Definition](#page-glossary.external-teacher) · [Assegnare i professori](#page-timetables.assigning-teachers) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Panoramica](#page-higher-ed.overview) ### L - **Lezione / Sessione** — [Definition](#page-glossary.lesson) · [Bloccare una lezione](#page-timetables.lesson-lock) · [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Consultare e filtrare](#page-schedules.consult-and-filter) · [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) · [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) · [Lezioni fuori griglia](#page-timetables.off-grid-lessons) · [Modello di dati completo](#page-integrations.data-model-full) · [Modifica di una lezione](#page-timetables.lesson-edit) · [Modifiche puntuali](#page-schedules.ad-hoc-changes) · [Organizzazione dei dati](#page-core-concepts.data-model) · [Posizionamento manuale](#page-timetables.manual-placement) · [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) · [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) · [Visita guidata in cinque minuti](#page-overview.quick-tour) - **Lezioni alternate** — [Definition](#page-glossary.alternate-lessons) · [Lezioni complesse](#page-core-concepts.complex-lessons) · [Parametri generali](#page-admin.parameters) · [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - **Lezioni associate** — [Definition](#page-glossary.associated-lessons) · [Lezioni complesse](#page-core-concepts.complex-lessons) · [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - **Lezioni concatenate** — [Definition](#page-glossary.concatenated-lessons) · [Lezioni complesse](#page-core-concepts.complex-lessons) · [Ripartire le ore e creare le lezioni](#page-timetables.hour-distribution) - **Linea del tempo** — [Definition](#page-glossary.timeline) · [Linea del tempo e navigazione temporale](#page-core-concepts.timeline-navigation) - **Link di condivisione** — [Definition](#page-glossary.share-link) · [Architettura e ruoli](#page-overview.architecture-and-roles) · [Panoramica delle integrazioni](#page-integrations.overview) · [Sicurezza e hosting](#page-faq.security-and-hosting) - **Livello** — [Definition](#page-glossary.level) ### M - **Materia** — [Definition](#page-glossary.subject) · [Creare le classi e i loro gruppi](#page-timetables.creating-classes) · [Modello di dati completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organizzazione dei dati](#page-core-concepts.data-model) · [Panoramica del modulo Dashboard](#page-dashboard.overview) · [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) · [Prerequisiti](#page-timetables.prerequisites) · [Statistiche classi](#page-dashboard.classes) · [Statistiche materie](#page-dashboard.subjects) · [Visita guidata](#page-getting-started.onboarding-tour) - **Modalità** — [Definition](#page-glossary.lesson-modality) - **Modalità Calendario** — [Definition](#page-glossary.calendar-mode) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Creazione di orari](#page-faq.timetables) · [Panoramica](#page-higher-ed.overview) · [Panoramica del modulo](#page-timetables.overview) · [Piani e opzioni di Omniscol](#page-overview.plans-and-options) · [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - **Modalità di visualizzazione dell'orario** — [Definition](#page-glossary.schedule-view-mode) ### O - **Orario** — [Definition](#page-glossary.timetable) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Consultare e filtrare](#page-schedules.consult-and-filter) · [Creazione di orari](#page-faq.timetables) · [Filosofia generale di Omniscol](#page-overview.philosophy) · [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) · [Lezioni fuori griglia](#page-timetables.off-grid-lessons) · [Panoramica del modulo](#page-timetables.overview) · [Panoramica del modulo Dashboard](#page-dashboard.overview) · [Parametri generali](#page-timetables.general-settings) · [Pubblicare (attivare) un orario](#page-timetables.publication) · [Ricerca e filtri](#page-core-concepts.search-and-filter) · [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) · [Statistiche aule](#page-dashboard.classrooms) · [Statistiche professori](#page-dashboard.teachers) · [Utilizzare tabelle e grafici](#page-dashboard.tools-and-filters) · [Visita guidata](#page-getting-started.onboarding-tour) · [Visita guidata in cinque minuti](#page-overview.quick-tour) · [Visualizzazione degli orari](#page-schedules.schedule-display) · [Visualizzazione e UX](#page-faq.display-and-ux) - **Orario ciclico** — [Definition](#page-glossary.cyclic-timetable) · [Creazione di orari](#page-faq.timetables) · [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) - **Orario settimanale** — [Definition](#page-glossary.weekly-timetable) · [Comportamento dell'algoritmo](#page-faq.solver-behavior) · [Creazione di orari](#page-faq.timetables) · [Panoramica](#page-k12.overview) · [Panoramica del modulo](#page-timetables.overview) · [Scegliere il tipo di orario giusto](#page-overview.timetable-modes) ### P - **Pannello informativo** — [Definition](#page-glossary.panel) · [Modello di dati completo](#page-integrations.data-model-full) · [Visualizzazione e UX](#page-faq.display-and-ux) - **Partizione di classe** — [Definition](#page-glossary.class-division) · [Allineamenti di gruppi](#page-core-concepts.alignments) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) · [Classe, gruppo, sottogruppo](#page-core-concepts.classes-and-groups) · [Creare le classi e i loro gruppi](#page-timetables.creating-classes) · [Gerarchia di gruppi](#page-core-concepts.group-hierarchy) · [Modello di dati completo](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Panoramica](#page-k12.overview) · [Partizioni di classe](#page-core-concepts.class-divisions) - **Più aule** — [Definition](#page-glossary.multi-room) · [Casi d'uso dell'istruzione superiore](#page-faq.higher-ed-cases) · [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) · [Importazione massiva dei corsi da foglio di calcolo](#page-timetables.mass-import) · [Panoramica](#page-higher-ed.overview) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - **Professore** — [Definition](#page-glossary.teacher) · [Architettura e ruoli](#page-overview.architecture-and-roles) · [Assegnare i professori](#page-timetables.assigning-teachers) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) · [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) · [Lezioni fuori griglia](#page-timetables.off-grid-lessons) · [Modello di dati completo](#page-integrations.data-model-full) · [Modifica di una lezione](#page-timetables.lesson-edit) · [OneRoster](#page-integrations.oneroster) · [Organizzazione dei dati](#page-core-concepts.data-model) · [Panoramica del modulo Dashboard](#page-dashboard.overview) · [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) · [Prerequisiti](#page-timetables.prerequisites) · [Statistiche classi](#page-dashboard.classes) · [Statistiche materie](#page-dashboard.subjects) · [Statistiche professori](#page-dashboard.teachers) · [Utenti e ruoli](#page-admin.users-and-roles) · [Visita guidata](#page-getting-started.onboarding-tour) · [Visita guidata in cinque minuti](#page-overview.quick-tour) - **Pubblicazione / Attivazione di un orario** — [Definition](#page-glossary.publication) · [Creazione di orari](#page-faq.timetables) · [Pubblicare (attivare) un orario](#page-timetables.publication) · [Visita guidata](#page-getting-started.onboarding-tour) ### R - **Risolutore** — [Definition](#page-glossary.solver) · [Bloccare una lezione](#page-timetables.lesson-lock) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Comportamento dell'algoritmo](#page-faq.solver-behavior) · [Creazione di orari](#page-faq.timetables) · [Diagnosticare una generazione che fallisce](#page-timetables.diagnosing-generation) · [Disponibilità dei professori](#page-core-concepts.wishes-and-availability) · [Filosofia generale di Omniscol](#page-overview.philosophy) · [Generazione automatica](#page-timetables.generation) · [Posizionamento manuale](#page-timetables.manual-placement) · [Vincoli orari (sistema generale)](#page-core-concepts.time-constraints) - **Risorsa** — [Definition](#page-glossary.resource) · [Modello di dati completo](#page-integrations.data-model-full) · [Modifica di una lezione](#page-timetables.lesson-edit) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) · [Statistiche studenti e risorse](#page-dashboard.students-resources) ### S - **Servizio del personale** — [Definition](#page-glossary.staffing) · [Modello di dati completo](#page-integrations.data-model-full) - **Sito** — [Definition](#page-glossary.site) · [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) · [Griglia oraria, fasce orarie e durate](#page-core-concepts.timetable-grid) · [Modello di dati completo](#page-integrations.data-model-full) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - **Sostituzione / Supplenza** — [Definition](#page-glossary.substitution) · [Modello di dati completo](#page-integrations.data-model-full) · [Panoramica del modulo Assenze](#page-absences.overview) · [Politiche di sostituzione](#page-absences.substitution-policies) · [Statistiche professori](#page-dashboard.teachers) - **Specializzazione dell'aula** — [Definition](#page-glossary.classroom-specialization) · [Assegnazione automatica delle aule](#page-timetables.auto-room-assignment) · [Casi particolari e configurazioni avanzate](#page-faq.edge-cases) · [Modello di dati completo](#page-integrations.data-model-full) · [Siti, aule, risorse](#page-core-concepts.sites-rooms-resources) · [Siti, griglie orarie, aule, risorse](#page-timetables.sites-rooms) - **Stato** — [Definition](#page-glossary.lesson-status) - **Studente / Alunno / Discente** — [Definition](#page-glossary.student) · [Architettura e ruoli](#page-overview.architecture-and-roles) · [Che cos'è Omniscol](#page-overview.what-is-omniscol) · [Invitare e attivare i propri utilizzatori](#page-getting-started.inviting-users) · [OneRoster](#page-integrations.oneroster) · [Preparare i propri dati per un'importazione massiva](#page-getting-started.preparing-data) · [Statistiche studenti e risorse](#page-dashboard.students-resources) · [Utenti e ruoli](#page-admin.users-and-roles) · [Visita guidata](#page-getting-started.onboarding-tour) ### T - **Tipo di lezione** — [Definition](#page-glossary.lesson-type) · [Modello di dati completo](#page-integrations.data-model-full) · [Organizzazione dei dati](#page-core-concepts.data-model) - **Token API** — [Definition](#page-glossary.api-token) · [API delle lezioni](#page-integrations.lessons-api) · [Architettura](#page-integrations.architecture) · [Interrogazione avanzata](#page-integrations.advanced-queries) · [Panoramica delle integrazioni](#page-integrations.overview) · [Sicurezza e hosting](#page-faq.security-and-hosting) ### V - **Vacanze** — [Definition](#page-glossary.holidays)