Vai al contenuto

Pubblicazione

Questa sezione copre l'organizzazione del lavoro, i ruoli coinvolti e le opzioni per rendere gli scenari accessibili agli utenti finali.

Ruoli e responsabilità

In un contesto aziendale, due figure distinte interagiscono con ChoiceMap.

Utente finale

L'utente finale utilizza solo il Navigator per fruire degli scenari. Non ha accesso agli editor e non modifica i contenuti.

Aspetto Dettaglio
Usa Solo choicemap.html
Accede a Cartella di pubblicazione con file minimi
Competenze richieste Nessuna, solo aprire un link nel browser
File visibili Navigator + config + scenario + tema

Amministratore

L'amministratore crea, modifica e pubblica gli scenari. Ha accesso completo a tutti gli strumenti.

Aspetto Dettaglio
Usa Navigator + Scenario Editor + Theme Editor
Accede a Repository di lavoro completo
Competenze richieste Gestione file, comprensione della struttura
File gestiti Tutti i file del progetto

In contesti piccoli, la stessa persona può coprire entrambi i ruoli. In organizzazioni più grandi, i ruoli sono tipicamente separati.

Workflow dell'amministratore

Repository di lavoro

L'amministratore mantiene un repository locale (una cartella sul proprio computer o su un server) con tutti i file del progetto:

choicemap/
├── choicemap.html    # Navigator
├── scenario-editor.html        # Editor scenari
├── theme-editor.html           # Editor temi
├── config.json                 # Configurazione
├── defaults.json               # Valori predefiniti
├── shared-styles.css           # Stili condivisi
├── scenari/                    # Scenari in lavorazione
│   ├── onboarding-v1.json
│   ├── onboarding-v2.json
│   └── compliance-draft.json
├── temi/                       # Temi personalizzati
│   └── tema-aziendale.json
└── risorse/                    # Documenti allegati
    ├── manuale.pdf
    └── checklist.docx

Ciclo di lavoro tipico

  1. Creare o modificare lo scenario usando scenario-editor.html
  2. Personalizzare il tema usando theme-editor.html (se necessario)
  3. Configurare config.json per puntare allo scenario e tema corretti
  4. Testare aprendo choicemap.html nel browser
  5. Iterare fino a raggiungere il risultato desiderato
  6. Pubblicare copiando solo i file necessari nella destinazione

Versionamento

È buona pratica mantenere versioni degli scenari:

  • conservare le versioni precedenti (es. scenario-v1.json, scenario-v2.json)
  • annotare le modifiche significative
  • usare un sistema di controllo versione (Git) per progetti complessi

Preparare la pubblicazione

File necessari per l'utente finale

Per pubblicare uno scenario, servono solo questi file:

File Obbligatorio Note
choicemap.html Il Navigator
config.json Punta a scenario e tema
defaults.json Valori predefiniti
File JSON dello scenario Es. scenario-onboarding.json
File JSON del tema Solo se personalizzato Es. tema-aziendale.json
Cartella risorse Solo se usate PDF, documenti, ecc.

Non includere nella pubblicazione:

  • scenario-editor.html (non serve all'utente finale)
  • theme-editor.html (non serve all'utente finale)
  • shared-styles.css (usato solo dagli editor)
  • Scenari in bozza o versioni di test
  • File di lavoro dell'amministratore

Configurare config.json

Prima di pubblicare, verificare che config.json punti ai file corretti:

{
    "scenario": "scenario-onboarding.json",
    "theme": "tema-aziendale.json",
    "showCredits": false
}

L'opzione showCredits: false rimuove il footer con i crediti, per un aspetto più pulito.

Destinazioni di pubblicazione

Intranet aziendale

Per uso interno, copiare i file in una cartella condivisa sul file server aziendale.

\\server\condivisione\formazione\
├── choicemap.html
├── config.json
├── defaults.json
└── scenario-onboarding.json

Gli utenti accedono aprendo direttamente il file HTML o tramite un link sulla intranet.

File locali vs web server

Il Navigator funziona anche aperto direttamente come file locale, senza bisogno di un web server, purché tutti i file JSON siano nella stessa cartella.

Sito web pubblico

Per pubblicazione su web, caricare i file su qualsiasi hosting statico:

  • GitHub Pages (gratuito)
  • Netlify, Vercel (gratuiti con limitazioni)
  • Amazon S3, Google Cloud Storage
  • Hosting tradizionale

Non serve supporto per PHP, database o altri componenti server-side.

LMS aziendale

Per integrare in un Learning Management System:

  • alcuni LMS supportano il caricamento di pacchetti HTML
  • altri permettono embedding via iframe
  • verificare le policy di sicurezza del LMS specifico

GitHub Pages

GitHub Pages è la soluzione più semplice per pubblicare su web gratuitamente.

Procedura

  1. Creare un repository su GitHub
  2. Caricare i file necessari (solo quelli per l'utente finale)
  3. In Settings → Pages, attivare la pubblicazione dal branch main
  4. Attendere il deploy (1-2 minuti)

URL risultante

https://nomeutente.github.io/nome-repository/choicemap.html

Esempio: se il repository è training-onboarding dell'utente azienda-xyz:

https://azienda-xyz.github.io/training-onboarding/choicemap.html

Aggiornamenti

Per aggiornare uno scenario pubblicato:

  1. Modificare i file localmente
  2. Caricare le nuove versioni su GitHub
  3. Attendere il rebuild automatico

Se le modifiche non appaiono subito, forzare il refresh (Ctrl+Shift+R) o attendere qualche minuto per il caching.

Gestire scenari multipli

Un'organizzazione può avere diversi scenari: onboarding, compliance, formazione tecnica.

Opzione 1: cartelle separate

Ogni scenario ha la propria cartella con tutti i file necessari:

formazione/
├── onboarding/
│   ├── choicemap.html
│   ├── config.json
│   ├── defaults.json
│   └── scenario-onboarding.json
├── compliance/
│   ├── choicemap.html
│   ├── config.json
│   ├── defaults.json
│   └── scenario-compliance.json

Vantaggi: ogni scenario è indipendente, facile da gestire e aggiornare separatamente.

URL distinti: - .../formazione/onboarding/choicemap.html - .../formazione/compliance/choicemap.html

Opzione 2: installazione condivisa

Un'unica installazione del Navigator, scenari multipli selezionabili:

formazione/
├── choicemap.html
├── defaults.json
├── config-onboarding.json
├── config-compliance.json
├── scenario-onboarding.json
└── scenario-compliance.json

Richiede di rinominare il config appropriato in config.json per cambiare scenario, oppure modificare il Navigator per accettare un parametro URL (personalizzazione avanzata).

Embedding in altri siti

Il Navigator può essere incorporato in pagine esistenti tramite iframe.

Codice base

<iframe 
    src="https://tuodominio.com/choicemap.html" 
    width="100%" 
    height="600" 
    frameborder="0">
</iframe>

Versione responsive

<div style="position: relative; width: 100%; height: 100vh;">
    <iframe 
        src="https://tuodominio.com/choicemap.html" 
        style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;" 
        frameborder="0"
        allowfullscreen>
    </iframe>
</div>

Considerazioni

  • Verificare eventuali restrizioni CORS se Navigator e pagina sono su domini diversi
  • I link esterni si aprono nell'iframe a meno di target="_blank"
  • La navigazione da tastiera può comportarsi diversamente dentro un iframe

Sicurezza e accesso

ChoiceMap non ha autenticazione integrata. Chiunque abbia l'URL può accedere.

Per limitare l'accesso:

  • Repository privato su GitHub (richiede account Pro per GitHub Pages)
  • Hosting su server aziendale dietro VPN
  • Autenticazione a livello di web server (basic auth, SSO aziendale)
  • URL non indicizzato (sicurezza tramite oscurità, non consigliato per contenuti sensibili)

Per scenari con informazioni riservate, valutare attentamente l'infrastruttura e le policy aziendali.