SailPortal
Suite SailFor · Educasoftware

SailPortal: il portale che porta la formazione davanti alle persone.

SailPortal è l’estensione pubblica dell’ambiente Sail: la parte che parla ai fruitori dei corsi. Una sezione aperta a tutti, dove si consulta il catalogo e ci si informa; una sezione riservata dove ci si iscrive, si segue il corso online, si consulta lo storico della propria formazione e si scaricano ricevute, attestati e dichiarazioni di presenza. Dietro, a governare progettazione, erogazione e conformità, c’è il CRM SailFor.

166rotte applicative
5modi di accedere
4sistemi in catena
188chiavi di configurazione
La giunzione

Un’iscrizione attraversa quattro sistemi. Il portale è il primo.

SailPortal non tiene per sé quello che raccoglie. Quando una persona si iscrive, il portale non scrive l’iscrizione nel database: la delega a SailFor. È così che restano coerenti la disponibilità dei posti, la tracciatura delle modifiche e l’iscrizione al corso online. Il portale guarda fuori, il CRM governa dentro.

Sei qui

SailPortal

Catalogo, identità, iscrizione, area personale, documenti. È la faccia pubblica.

Delega HTTP

SailFor

Riceve l’iscrizione, assegna il posto, registra chi ha cambiato cosa e quando.

Anagrafica

CRM formativo

Corsi, edizioni, contatti, aziende, professioni, crediti: la fonte di verità.

E-learning

Moodle

Il corso online vero e proprio. L’utenza viene creata e iscritta a valle.

SailFor tiene in una sola piattaforma la formazione sanitaria ECM e quella obbligatoria per la sicurezza sul lavoro, in ogni modalità di erogazione: residenziale, sul campo, e-learning. Il vantaggio si vede quando qualcosa cambia. Una edizione spostata, un posto liberato, un corso chiuso: la decisione la prende il CRM, e il portale la mostra senza doverla ricostruire. Chi compra la suite non compra due prodotti da tenere allineati a mano — la spiegazione completa dell’ambiente sta su sailfor.it.

Senza account

L’area pubblica: trovare un corso prima ancora di registrarsi

Tutto quello che serve a decidere è accessibile senza credenziali. Chi si registra lo fa perché ha già trovato il corso, non per poterlo cercare.

Home del portale

Corsi in evidenza, categorie con almeno un corso pubblicato, nuovi corsi in programma, avvisi e scadenze dell’ufficio formazione.

  • Multiportale: più portali, ognuno con il proprio catalogo, i propri contenuti e il proprio colore, sulla stessa installazione /portale/{nome}
  • Bacheca degli avvisi a carosello, navigabile da tastiera

Catalogo e ricerca

L’elenco dei corsi a catalogo, con filtri per categoria, periodo, sede e modalità.

  • Filtri che non ricaricano la pagina — e che continuano a funzionare anche a JavaScript spento
  • Ricerca globale su tutto il portale /cerca
  • Elenco per categoria e paginazione

Scheda corso

Tutto quello che l’ufficio formazione ha pubblicato su una singola edizione.

  • Programma, requisiti, obiettivi, docenti, crediti
  • Sede con mappa, date, posti e finestra di iscrizione
  • Professioni ammesse, con la disciplina quando serve
  • Allegati verificati prima di aprire una scheda nuova: niente link che portano a un errore

Calendario dei corsi

Il mese in forma di calendario o di griglia, e l’agenda delle edizioni in programma.

  • Vista mensile e vista annuale
  • Il mese si aggiorna senza ricaricare

Storico pubblico

I corsi già erogati restano consultabili: chi valuta un ente vuole vedere cosa ha fatto, non solo cosa farà.

  • Tabella dello storico con filtri
  • Scheda del singolo corso concluso

Pagine istituzionali

Informativa privacy, cookie policy e regolamento non sono scritti nel codice: arrivano dal CMS e si aggiornano dal back office.

  • Dichiarazione di accessibilità nel formato AgID
  • Modulo per segnalare una barriera
Identità

Cinque modi di entrare, un solo profilo dietro

L’identità digitale non è un accessorio: un ente pubblico ha bisogno di SPID, un’azienda del proprio tenant Microsoft, un ordine professionale del proprio provider. Il portale li accetta tutti e li riconduce allo stesso contatto.

Ogni via d’accesso si accende o si spegne dal pannello di configurazione.
Via d’accesso Come funziona Per chi
Credenziali del portale E-mail e password, verificate a ogni richiesta contro il contatto nel CRM. Il caso ordinario
SPID e CIE Richiesta firmata verso il proxy Armonia, verifica della firma al ritorno, messaggi d’errore SPID tradotti in italiano leggibile. Pubbliche amministrazioni
Microsoft Entra ID OAuth con controllo dello state e del dominio e-mail ammesso. Non crea anagrafiche da sé: riconosce un contatto che esiste. Aziende con tenant Microsoft
OpenDoctor OAuth2 authorization code, state monouso, riconoscimento tramite codice fiscale. Professionisti sanitari
Collegamento firmato dal CRM Il CRM manda un’e-mail con un link firmato: chi lo apre entra senza digitare nulla, e il portale sa che quella persona la password può non conoscerla. Campagne e solleciti

Registrazione in due passi

  • Primo passo: il codice fiscale, validato davvero — non solo per forma
  • Secondo passo: i dati, precompilati con quello che il codice fiscale già dice
  • Percorso dedicato per chi un codice fiscale italiano non ce l’ha
  • reCAPTCHA e limite ai tentativi su ogni modulo sensibile

Gestione delle credenziali

  • Verifica dell’indirizzo e cambio e-mail con conferma via link
  • Recupero e cambio password
  • Politica di scadenza e storico delle password precedenti, attivabili per tutta la popolazione
  • Anagrafica obbligatoria: i campi che mancano vengono chiesti quando servono, non tutti all’inizio
Area riservata

Quattro aree, e ognuna compare solo a chi le serve

Il menu dell’area personale non è uguale per tutti. Un dipendente vede la propria formazione; un responsabile vede anche quella della sua squadra; un facilitatore vede le richieste da istruire. Ogni voce segue il proprio interruttore, e quando l’interruttore è spento non sparisce solo il link: l’indirizzo smette di rispondere.

Gruppo 01 · Panoramica

Dove sono, adesso

  • Dashboard — indicatori di sintesi, ore di formazione per mese in grafico, corsi in evidenza con la barra di avanzamento, agenda dei prossimi appuntamenti, accesso rapido alle azioni più frequenti
  • Corsi in erogazione — stato dell’iscrizione, giorni che restano, «Vai al corso» che porta dentro Moodle già autenticati, documenti, presenze, cambio edizione, annullamento
  • L’avanzamento conta le attività Moodle quando il corso ne dichiara, e ricade sulle ore quando non ne dichiara
  • Calendario personale — iscrizioni, incarichi, attività e promemoria nello stesso mese
  • Notifiche in campanella, avvisi di portale e messaggio di benvenuto
Gruppo 02 · Formazione

Che cosa ho fatto, e che cosa mi manca

  • Curriculum / Dossier formativo — tre fonti in un solo elenco: corsi interni, incarichi e corsi svolti altrove; ore, crediti e filtri
  • Stampa in PDF del curriculum, in una richiesta sola
  • Cruscotto formazione — ore e crediti in grafico, tabelle interne ed esterne, dati esportabili
  • Fabbisogno formativo — la persona dichiara di cosa ha bisogno, con una procedura guidata; il responsabile lo valuta da «Gestione fabbisogni»
  • Attività formative periodiche — elenco, dettaglio, partecipanti, fascicolo, creazione
  • Richieste di formazione — per chi ha il ruolo di facilitatore: elenco, stato, costi, documenti
Gruppo 03 · Organizzazione

La squadra, le pratiche, i documenti

  • Collaboratori — l’elenco della propria squadra con ore e iscrizioni dell’anno scelto, ricerca, scheda del singolo, esportazione
  • Iscrizione dei collaboratori — si sceglie il corso e si iscrivono più persone insieme, con il controllo dei requisiti su ciascuna
  • Il responsabile può cambiare lo stato di un’iscrizione della propria squadra
  • Pratiche — elenco, dettaglio, milestone, cronologia e fascicolo documentale
  • Fascicolo digitale — cartelle, ricerca, tabella dei documenti, caricamento, download tracciato; si aggancia anche ai corsi svolti fuori
Gruppo 04 · Account

Chi sono, per il sistema

  • Profilo — anagrafica, professione, azienda, responsabile, esperienze, curriculum
  • La professione è una tassonomia a più livelli: quando è generica, il portale chiede la disciplina invece di indovinarla
  • Fatturazione — si cerca l’azienda; se non c’è, la partita IVA viene verificata sull’anagrafica delle imprese e l’ente pubblico su IndicePA. Se il servizio non risponde, il modulo resta compilabile a mano
  • Privacy e GDPR — consensi, revoca, richiesta dei propri dati
  • Cambio password e cambio indirizzo di accesso
Il flusso

Dall’interesse all’attestato

È il percorso che il portale segue per intero. Ogni passo ha un controllo che lo precede: nessuno arriva al pagamento senza aver superato il requisito, e nessuna iscrizione entra nel sistema per una strada diversa da questa.

01

La finestra si apre

Una regola sola, letta da tutte le pagine: date di apertura e chiusura, posti disponibili, eventuale sovrapprenotazione. Il pulsante dice sempre perché è chiuso, quando lo è.

02

L’anagrafica si completa

Se mancano i campi obbligatori per quel corso, vengono chiesti adesso. Chi ha una professione generica indica la disciplina.

03

Le dichiarazioni

Il passo che precede l’iscrizione: dichiarazioni di partecipazione, requisiti, consensi. Restano modificabili anche dopo.

04

L’iscrizione viene delegata

Il portale non scrive l’iscrizione: la consegna a SailFor. È il CRM ad assegnare il posto, tracciare la modifica e avviare l’iscrizione al corso online.

05

Il pagamento, se dovuto

PayPal con ordine, ritorno, notifica firmata e riconciliazione dell’importo prima di confermare. pagoPA predisposto

06

I documenti

Il fascicolo dell’iscrizione raccoglie quello che l’ente chiede di allegare, e quello che restituisce.

07

L’aula, o lo schermo

In presenza la presenza si registra col QR; online si entra nel corso già autenticati, senza una seconda password.

08

Il curriculum si aggiorna

Ore, crediti e attestato finiscono nello storico della persona — e nel PDF che può stampare quando le serve.

In presenza

Il totem all’ingresso dell’aula

La formazione obbligatoria si fa ancora in gran parte di persona, e il registro cartaceo è il punto in cui i dati si perdono. Il portale porta lo stesso sistema fin sulla porta dell’aula.

Iscrizione al banco

Una schermata pensata per il touch: si cerca il corso, si verifica il codice fiscale, si indica la professione, si accettano privacy e cookie. Chi non è ancora registrato lo diventa lì.

Presenza con QR

Il totem mostra in aula un codice QR generato per quella sessione. I partecipanti lo inquadrano col telefono e la presenza è registrata, sul loro nome, senza fila davanti al banco.

Stato sempre esplicito

Il pulsante d’iscrizione della griglia ha tre stati e li dichiara: iscrivibile, iscrivibile in sovrapprenotazione, oppure chiuso — con il motivo scritto.

Configurazione

Lo stesso software, portali diversi

Un’azienda sanitaria e uno studio di consulenza non vogliono lo stesso portale. Qui la differenza non si ottiene con un ramo di codice per cliente: si ottiene con la configurazione, che il back office cambia da solo.

188 chiavi, di cui 113 interruttori

Aree, voci di menu, colonne, pulsanti e interi flussi si accendono e si spengono da una tabella di configurazione. Il controllo protegge sempre anche l’indirizzo, non solo il collegamento.

Più portali, una installazione

Ogni portale ha il proprio catalogo, i propri contenuti editoriali e il proprio colore. Il tema viene ricalcolato dal colore dell’ente, con la palette chiara e quella scura derivate — non scelte a mano una per una.

Contenuti dal back office

Privacy, cookie policy, regolamento, avvisi di portale e messaggio di benvenuto sono righe del CMS: si pubblicano con una data di inizio e una di fine, e il portale li mostra nel periodo giusto.

Pannello di amministrazione

Doppio cancello all’ingresso, modifica dei valori con registrazione di chi ha cambiato cosa, svuotamento delle cache dal pannello o su chiamata dei sistemi collegati.

Aiuto dov’è il problema

  • Guida contestuale: ogni pagina conosce il proprio articolo di aiuto sulla base di conoscenza nadia.sailfor.it
  • Videoguida a pillole per l’area riservata
  • Chat di assistenza, configurabile e disattivabile

Dati che escono

  • Esportazione dell’elenco collaboratori e del cruscotto
  • Curriculum formativo in PDF
  • Percorso formativo di una persona esposto come servizio, per applicazioni di terzi
  • Tracciamento Google Analytics, dietro il proprio interruttore
Accessibilità e qualità

Un portale pubblico ha obblighi, non buone intenzioni

L’interfaccia è costruita su Bootstrap Italia, il design system della pubblica amministrazione italiana. Da lì arrivano i componenti, le distanze e i comportamenti che gli utenti della PA già conoscono.

Regolazioni per chi legge male

Quattro comandi disponibili in ogni pagina, e ricordati.

  • Accessibilità massima: alza il contrasto di testi, bordi e superfici e sottolinea tutti i collegamenti
  • Scala contenuti: ingrandisce l’intera pagina
  • Dimensione del carattere: cresce il testo e con lui riquadri e spaziature, così le parole non escono dai bordi
  • Spaziatura del testo fra lettere, parole e righe

Funziona anche senza JavaScript

I filtri, il calendario e gli elenchi sono costruiti come moduli veri: lo script li rende più rapidi, non li rende possibili. Chi naviga con JavaScript disattivato, o con una connessione che lo perde, continua a usare il portale.

Dichiarazione e segnalazione

La dichiarazione di accessibilità è pubblicata nel formato richiesto da AgID, con lo stato di conformità dichiarato apertamente e i casi noti elencati. Accanto c’è un modulo per segnalare una barriera, che allega da sé le informazioni sul dispositivo utili a riprodurla.

Test automatici

184 file

2.669 metodi di prova, più una suite che guida un browser vero sulle pagine reali.

Interfaccia

100 viste

Rese sul server: il contenuto è già nell’HTML, per i motori di ricerca e per i lettori di schermo.

Difese

Per regola

Nessun HTML non filtrato nelle pagine, nessun gestore JavaScript scritto nel markup: è un test a impedirlo, non una consuetudine.

Limiti

Su misura

Login, registrazione, iscrizione, pagamenti e allegati hanno ciascuno il proprio limite di tentativi.

Integrazioni

Quello che entra, e quello che esce

Un portale che sta in mezzo a quattro sistemi si giudica dai suoi confini. Questi sono dichiarati uno per uno, e ognuno ha una verifica all’ingresso.

Collegamento Direzione Che cosa fa Come è protetto
SailFor in uscita Riceve iscrizioni e aggiornamenti. È l’unico modo in cui un’iscrizione nasce. Un solo punto di contatto in tutto il codice
Moodle in uscita Crea l’utenza, iscrive al corso, restituisce l’indirizzo a cui mandare la persona. Iscrizione verificata prima del rimando
PayPal uscita e ingresso Crea l’ordine, riceve la notifica di incasso, riconcilia l’importo con il dovuto. Firma della notifica verificata presso PayPal
Anagrafica imprese in uscita Verifica una partita IVA che nel CRM non c’è ancora. Se tace, il modulo resta compilabile a mano
IndicePA in uscita Recupera i dati di una pubblica amministrazione per la fatturazione elettronica. Idem: un servizio muto non fa cadere la pagina
Accesso dal CRM in ingresso Emette e consuma i collegamenti firmati che portano dentro senza password. Firma asimmetrica, origine ammessa, limite di frequenza
Svuotamento cache in ingresso Il pannello di governo avvisa il portale che una chiave di configurazione è cambiata. Origine ammessa e limite di frequenza
Percorso formativo in ingresso Espone a un’applicazione di terzi la formazione di una persona: una riga per corso, più gli insiemi in corso, futuri e conclusi. Attivabile a richiesta, con limite dedicato
Stato del servizio in ingresso L’indirizzo che i sistemi di monitoraggio interrogano per sapere se il portale risponde. Pubblico per necessità
Tecnologia

Costruito per durare più a lungo di una moda

Nessuna applicazione a pagina singola, nessun contenuto costruito dal browser. Le pagine arrivano già scritte dal server: è la scelta che tiene insieme indicizzazione, lettori di schermo e prima apertura veloce — le tre cose che un portale pubblico non può permettersi di sbagliare.

Piattaforma

PHP 8.2 e Laravel 12, con le viste rese sul server. L’accesso ai dati è isolato in una lista chiusa di repository: le pagine non interrogano il database.

Interfaccia

Bootstrap Italia, Chart.js per i grafici, JavaScript solo come miglioramento progressivo, costruito con Vite.

Documenti

PDF del curriculum, esportazioni in foglio di calcolo, codici QR per la presenza, validazione del codice fiscale con l’elenco aggiornato dei comuni.

Database

Lo schema è quello del CRM: condiviso, esistente, non riscritto dal portale. Il portale lo legge; a scriverlo, dove conta, è SailFor.

Per saperne di più

SailPortal è una parte della suite SailFor.

Su sailfor.it c’è l’ambiente completo: come si progettano i corsi, come si governano l’erogazione e la conformità, come si accreditano i crediti. A svilupparlo e ad assisterlo è Educasoftware.