Contenuti: comportamenti, scripting
- Tutorial
Training
Questa sezione dettaglia il Indice orientato Comportamenti e Scrittura : come creare, versionare, pubblicare e applicare script e regole che guidano l'interfaccia utente e il gemello digitale dal lato Beholder.
Lo scripting è un modo potente, semplice e particolarmente efficace per modificare il comportamento dell'osservatore.
Modificare il comportamento dei dispositivi in risposta ai dati recuperati dalla rete, modificare l'interfaccia utente per semplificare le azioni dei tuoi utenti, accedere alle API o eseguire l'elaborazione? Lo scripting è una risposta adeguata a qualsiasi tipo di evoluzione del Beholder senza chiedere agli utenti di aggiornare i loro strumenti.

In questo articolo discuteremo:
Tutte le azioni in questo tutorial sono svolte dalla categoria "Business > Content" del tuo Immersive Backend.

Creare uno spazio di lavoro
Gli "Workspace" rappresentano un insieme di "Controller" che agiscono sull'ergonomia e sulla rappresentazione dei dati.
Gli utenti possono accedere a uno o più Workspace, tuttavia quando viene avviato Beholder, durante la sessione sarà attivo solo uno Workspace.
Per creare un nuovo spazio di lavoro, clicca su "Crea un nuovo spazio di lavoro". Il pannello di creazione del flusso di lavoro si apre a destra dell'interfaccia, inserisci il nome, la descrizione (opzionale) e convalida la creazione.

Una volta creato lo Workspace, ora appare nell'elenco degli Workspace nel tuo ambiente. Basta cliccare su uno degli Workspace per accedere al suo file dettagliato.
Le diverse sottoparti di un foglio Workspace permettono di:
- Modifica delle proprietà dello spazio di lavoro
- Accesso all'elenco dei controller associati allo Workspace, con la possibilità di aggiungere o rimuovere un link
- Modificare i diritti di sicurezza dello Workspace per permetterne l'accesso a un gruppo di utenti.
- Rimozione dello spazio di lavoro

Per associare un Controller allo Workspace, clicca su "Modifica l'elenco dei controller del Workspace" e clicca sul pulsante toggle link sulla linea del Controller.
Solo i Controllori collegati allo Workspace caricati nel Beholder saranno attivi, gli altri non saranno utilizzati. Nel seguente esempio, sarà attivo solo il Controller "Semaforo".

Creazione di un controller
Un Controller rappresenta uno script che verrà eseguito dall'Osservatore. Esistono diversi tipi di controller che verranno interpretati in modo differente, ognuno con uno scopo specifico.
Attualmente, i diversi tipi di controller sono:
- Controllori di parametrizzazione
- Utilizzo: Configurare le impostazioni del beholder al lancio.
- Prefisso: Info.
- Formato: JSON
- Regola di importazione: Non utilizzata
- Controllori di scripting per apparecchiature
- Utilizzo: Scripting di uno o più apparecchiature.
- Prefisso: Nessuno
- Formato: Javascript
- Regola di importazione: nome di una famiglia di apparecchiature, oppure $(nome di un handle)
- Controllori di scripting applicativo
- Utilizzo: Scripting dell'intero beholder senza alcun collegamento a un apparecchiatura.
- Prefisso: App.
- Formato: Javascript
- Regola di importazione: Non utilizzata
- Controllori di posizione
- Utilizzo: Aggiunta di chiavi di traduzione al sistema di localizzazione.
- Prefisso: Traduzione.
- Formato: Testo
- Regola di importazione: il linguaggio associato (esempio fr-FR)
Per creare un nuovo controller, clicca su "Crea un nuovo controller". Il pannello di creazione del Controller si apre a destra dell'interfaccia, inserisci il suo nome, una descrizione (opzionale), la regola di importazione e convalida la creazione.
Il nome del controller è importante, perché a seconda del suo prefisso, verrà interpretato in modo diverso dall'osservatore.
La regola di importazione dipende dal tipo di controller, consulta i diversi tutorial che descrivono ciascun tipo di controller per sapere quali regole applicare in base al caso.

Una volta creato il Controller, ora appare nella lista dei Controller nel tuo ambiente. Basta cliccare su uno dei Controller per accedere alla sua scheda dettagliata.
Le diverse sottoparti della spina di un controller permettono di:
- Modifica delle proprietà del controller
- Accesso all'elenco degli Workspace utilizzando questo Controller, con la possibilità di aggiungere o rimuovere un link
- Modifica dello script associato al controller
- Rimozione del controller

Un controller senza script non ha senso, quindi devi creare una nuova versione dello script e pubblicarla per attivarlo.
Un controller può salvare diverse versioni degli script (ai fini di storizzazione per modifiche temporanee), ma solo la versione pubblicata viene recuperata e utilizzata dal Beholder.
Per creare la prima versione di uno script, clicca su "Modifica script" poi su "Crea" e inserisci un numero di versione. Non è necessario inserire una nuova regola di importazione, la regola generale di importazione al Controller viene utilizzata se non viene sovrascritta nella versione script.

Nel caso in cui il Controller non abbia alcuna versione attiva, o se la versione modificata non è quella attuale, basta cliccare sul pulsante "Pubblica questa versione" per assegnarla come versione attiva.

Il contenuto dello script può essere modificato nel blocco di modifica e salvato usando il pulsante "Salva". La prossima volta che avvii il Beholder, le modifiche applicate allo script saranno efficaci se la versione viene rilasciata e il Controller è collegato allo Workspace che stai avviando.

Controllori di parametrizzazione
Un controller di tipo parametro viene utilizzato per configurare i parametri del Beholder al lancio. I parametri possono essere usati, ad esempio, per configurare la scheda da caricare, l'ambito da caricare, l'indirizzo del server (Hub).
Per essere interpretato come un controller di configurazione dal Beholder, il nome del controller deve essere preceduto da "Info.", ad esempio "Info.My Factory"
Il contenuto dello script di un controller di parametri deve essere in formato JSON, associando una chiave di parametrizzazione al suo valore.
Poiché la regola di importazione non viene interpretata, non è necessario compilare queste informazioni.
Esempio di un controller di configurazione che configura l'osservatore per caricare la scheda con il nome "Factory", il suo ambito associato e cambia il titolo dell'applicazione.
{
"DefaultMapName": "Factory",
"Supervisione.ScopeName": "Factory",
"Supervisione.NomeTitolo": "La mia fabbrica di Graphicstream",
}
Le impostazioni più comunemente utilizzate nei Controller sono le seguenti:
- DefaultMapName: Il nome della mappa da caricare?
- DefaultLevelName: Il nome del livello da evidenziare al lancio.
- Supervision.ScopeName: Il nome o i nomi degli scope da caricare. Per caricare più scopi, devono essere separati da una virgola ",".
- Supervisione.TitoloNome: Il titolo del Beholder mostrato nella barra del titolo.
- Supervision.HubAddress: L'URL per connettersi all'Hub.
- Supervisione.AggiornamentiPunto: La frequenza di aggiornamento delle chiamate all'Hub. (predefinito 2 secondi)
Per altri parametri, consulta l'elenco completo dei parametri di configurazione Beholder: << link al documento>>
Controllori di scripting per apparecchiature (Javascript)
Un asset scripting controller è uno script Javascript che viene eseguito per tutti i dispositivi che controlla ogni volta che si verifica un evento. Sono molto utili perché ti permettono di personalizzare come un'attrezzatura reagisce a un cambiamento di dati e come viene rappresentato nell'interfaccia o nella mappa 3D.
Tutti i controller senza prefisso sono interpretati come script di apparecchiature.
Per poter associare uno script di comportamento a un dispositivo, ci sono diverse regole che possono essere configurate nella regola di importazione dello script.
Associa uno script a una famiglia di dispositivi:
Il modo più semplice per associare uno script a tutti i dispositivi di una famiglia è semplicemente inserire il cognome nella regola di importazione.
Nel seguente esempio, creiamo uno script per personalizzare il comportamento di tutte le apparecchiature appartenenti alla famiglia dei "lampioni stradali".

Associa uno script a più famiglie di equipaggiamenti:
Nel caso in cui si voglia che lo script si applichi a diverse famiglie di dispositivi, è possibile separare i diversi cognomi con il carattere "|".
Nel seguente esempio, creiamo uno script per personalizzare il comportamento di tutte le apparecchiature appartenenti alla famiglia "Lampioni stradali" o "Sensori di temperatura".

Associa uno script a tutta l'attrezzatura:
In alcuni casi, vuoi che venga eseguito uno script per tutte le attrezzature, basta inserire come regola di importazione: ".*"

Associa uno script a dispositivi con una determinata variabile:
Molto utile per gli script generici, è possibile che uno script venga eseguito solo per dispositivi che hanno una variabile. Per farlo, basta circondare il nome di una variabile con "$( )".
Nel seguente esempio, lo script di documentazione verrà eseguito solo per dispositivi che hanno una variabile chiamata "Documentation Url". Così, lo script poteva aggiungere un pulsante per aprire la documentazione e usare il valore della variabile "Documentation URL" per aprire la documentazione corretta.

Per maggiori informazioni sulla scrittura del contenuto di uno script comportamentale, consulta i tutorial "Scripting"; per ora ecco un esempio di script che mostra un messaggio quando viene selezionato un apparecchiatura.
function OnSelectionChanged(equipement, isSelected)
{
if(isSelected)
Immersive.App.ShowPopup(«Message», « Hello World ! ») ;
}