Web operatörsmiljö


Utöver den vanliga operatörsmiljön i X windows, innehåller ProivewR också en operatörsmiljö
skriven i HTML5 och javascript. Miljön är körbar på de flesta webläsare på telefoner,
surfplattor och persondatorer.

Gränssnittet består av tre delar
- ett operatörsfönster som öppnas i webläsaren.
- en server process som förser operatörsfönstret med information via en websocket.
- en katalog där filer är tillgängliga för webläsaren.

Operatörsfönster



Fig Operatörsfönstret

Operatörsfönstret konfigureras med ett OpPlaceWeb-objekt i nodhierarkin. Förstret innehåller
en meny till vänster och ett startsida till höger.

Menyn är indelad i tre sektioner. Den första innehåller att antal standardfunktioner
- val av språk.
- in och utloggning.
- öppna larm och händelselistor.
- öppna händlseloggen.
- öppna runtime-navigatorn.
- länk till projektets hjälptext.
- länk till dokumentationen för ProviewR.

Om de här knapparna ska visas eller inte kan konfigureras med Enable/Disable attributen
i OpPlaceWeb-objektet.

Den andra sektionen innehåller knappar för att öppna Ge grafer konfigurerade med
WebGraph-objekt. WebGraph-objekten är placerade som barn till OpPlace-objektet och innehåller
namnet på Ge grafens pwg-fil.

Den tredje sektionen innehåller länkar definierade med WebLink-objekt. WebLink-objekten
innehåller en URL och är placerade under OpPlaceWeb-objektet.

Den högra sidan innehåller hjältexten för projektet, skriven i filen $pwrp_cnf/xtt_help.dat.
Om någon annan sida ska visas, kan den anges i StartURL attributet i OpPlaceWeb objektet.

Det kan finnas flera OpPlaceWeb-objekt på en nod, som konfigurerar websidor med olika layout.
OpPlaceWeb-objeken ska ha olika filnamn angivna i FileName-attributet, och kan öppnas med
en URL till den specificerade filen. Default-filen är index.html för det första
OpPlaceWeb-objektet och index2.html etc för de nästkommande OpPlaceWeb objekten.

Opertörsplatsen med FileName index.html kan öppnas med URL'en

http://'hostname'/pwrp_web/index.html


Fig Konfigurering av weboperatör

Serverprocess

Serverprocessen konfigureras med ett WebSocketServer-objekt i nodhierarkin. Servern är en
java process och kräver att java är installerat. Servern lyssnar efter förfrågningar från
operatörsfönster att öppna en websocket, och tillhandahåller information om realtidsdatabasen
till operatörsfönstret.

Larm och händelselista

För larm och händelselistorna måste EventSelectList-attributet i WebSockerServer-objektet
fyllas i med hierarkier från vilka larm och händelser ska visas.

Web katalogen

Operatörsfönstret omfattar ett antal filer, och dessa samlas på web-katalogen, pwrp_web.
Katalogen registreras i webservern och görs tillgänglig från webben.

Här listas några filer som ska finnas på katalogen

- pwg-filer for Ge grafer som används i WebGraph-objekt. Ska kopieras från $pwrp_pop.
- pwg-filer för objektsbilder, kan kopieras från $pwr_exe.
- flw-filer för plc trace, ska kopieras från $pwrp_load.
- korsreferensfiler, rtt_crr*.dat ska kopieras från $pwrp_load.
- html-filer för xtt hjälptexter. Genereras när noden byggs.
- dokumentation av lokala klasser genereras när klassvolymen byggs.
- Alla filer på $pwr_web kopieras till $pwrp_web vid installation av pwrrt-paketet.

Vissa filer genereras eller kopieras vid installationen, men andra måste kopieras manuellt
eller med automatik genom att skapa Build-objekt i direktory-volymen. I exemplet nedan
visas BuildCopy objekt för att kopiera

- pwg-filer från $pwrp_pop.
- flw-filer från $pwrp_load.
- korsreferensfiler från $pwrp_load.


Fig Build konfigurering för pwrp_web-katalogen

Hjälptexter

Hjälptexterna för projektet i filen xtt_help.dat konverteras till html-filer på $pwrp_web
av bygg-metoden för OpPlaceWeb objektet. Startsidan för hjälptexterna är
$pwrp_web/xtt_help_index.html. Denna visas som default till höger i operatörsfönstret om inte
någon annan URL är angiven in StartURL-attributet i OpPlaceWeb-objektet.

Om hjälptexen innehåller image taggar, måste png eller gif-filerna för dessa kopieras till
$pwrp_web.

Distribution

Filerna på $pwrp_web ska ingå i distributionspaketet, och distribueras till $pwrp_web på
process eller operatörsstationen. Det görs genom att sätta WebFiles i Distributions-objektet
under NodeConfig-objektet i directoryvolymen.

Konfigurering av webservern

$pwrp_web katalogen ska vara tillgänglig från webben, och läggas in i webserverns konfigurering.
För nginx och apache gör detta vid installeringen av pwrrt-paketet, men om projektet t ex
ska visas från utvecklingsstationen måste det göras manuellt. Här följer några exempel.

nginx
Lägg till de här raderna i /etc/nginx/sites-enabled/default (byt /pwrp/common/web/ mot den
verkliga katalogen för $pwrp_web)

location /pwrp_web/ {
   alias /pwrp/common/web/;
}

apache
Lägg till de här raderna i /etc/apache2/apache2.conf (byt /pwrp/common/web/ mot den verkliga
katalogen för $pwrp_web)

Alias /pwrp_web/ /pwrp/common/web/


     AllowOverride None
     Require all granted



Auktorisering

Om inloggnings-funktionen är aktiverad, kan en användare logga in med ett giltigt namn och
passerord, och erhålla de privilegier som tillhör den inloggade användaren. Auktoriserade
användare är medlemmar av den systemgrupp som är angiven i WebSystemGroup i Security-objektet.

I exemplet nedan, används systemgruppen 'Common' som innehåller de ordinare användaren pwrp,
system etc, men rekommandationen är att skapa en specifik systemgrupp med särskilda användare
för webben.

För ej inloggade användare bestäms privilegierna av DefaultWebPriv i Security-objektet. Det
rekommenderas att DefaultWebPriv är RtRead eller noll (inga privilegier). Användare utan
privilegier kan endast aktivera login-funktionen.


Fig Konfiguration av auktorisering