wiki:Documentatie/Beheerder/Modules/ProtocolHandler

Version 14 (modified by raymond, 3 years ago) (diff)

--

TOC(heading=Protocol handler)? TOC(heading=Moduleconfiguratie, sectionindex, compact, depth=3, allactive, Documentatie/Beheerder/Modules/)? TOC(heading=Beheerder, sectionindex, compact, depth=2, allactive, indirect=Documentatie/Beheerder/TOC)? TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)?

Protocol handler

Inleiding

Soms moet OpenAC kunnen communiceren met software en hardware die lokaal geïnstalleerd is op het werkstation van een gebruiker. Denk hierbij aan het printen van een batch documenten, het starten van meetapparatuur of het bewerken van een Word document. Om dit mogelijk maken is een zogenaamde protocol handler nodig. Dit is software die de communicatie verzorgt tussen OpenAC en lokale software en hardware.

Gebruik van de protocol handler is optioneel en is niet nodig voor de kernfunctionaliteit van OpenAC.

Implementatie

Voor OpenAC hebben we een eigen protocol handler ontwikkeld. Dit is een applicatie die weet hoe moet worden omgegaan met speciale hyperlinks.

Alle hyperlinks beginnen met een schema gevolgd door ":". De bekendste schema's zijn http en https. Deze worden door de browser afgehandeld door de opgegeven pagina te laden. Een andere bekend schema is "mailto". Bij een klik op "mailto:adres@…" wordt de bij het besturingssysteem geregistreerde mail applicatie gestart.

OpenAC gebruikt het schema openac-protocol om lokaal geïnstalleerde software te starten. Alle OpenAC URL's die beginnen met schema openac-protocol: worden door deze protocol handler afgehandeld. De OpenAC protocol handler moet zijn geïnstalleerd op elk werkstation waarop lokale software moet worden gestart. Het installatieprogramma koppelt schema openac-protocol aan de OpenACProtocolHandler.exe. Hierdoor weet Windows welke applicatie moet worden gestart bij een klik op een link met schema openac-protocol:.

Schematisch ziet de communicatie tussen OpenAC en lokale software en hardware er als volgt uit:

Installatie

De OpenAC protocol handler kan worden geínstalleerd met de installer die als bijlage is toegevoegd aan deze pagina.

Controle installatie

Het is mogelijk om in OpenAC te controleren of de installatie is geslaagd. De controle moet worden uitgevoerd op een werkstation waarop de protocol handler is geïnstalleerd.

Versienummer

Het versienummer van de protocol handler wordt teruggegeven als antwoord op een ping. Zie de sectie "Ping" hieronder.

Ping

Onder Beheer -> Server status is een sectie "Protocol handler". Klik op "Ping protcol handler" en typ een bericht in de dialoog die verschijnt. Klik op de knop "Ping" om het bericht te versturen. Het duurt maximaal 30 seconden voordat er een bericht terugkomt van de protocol handler. Als de protocol handler goed is geïnstalleerd verschijnt een melding dat de protocol handler goed functioneert. Het antwoord bestaat uit het verstuurde bericht voorafgegaan door het versienummer:

Als er een probleem is met de installatie van de protocol handler verschijnt de volgende melding:

De eerste stap voor het oplossen van installatie problemen is controleren van het Windows applicatielogboek. Hierin schrijft de protocol handler zijn logberichten weg. De volgende stap is controleren van het OpenAC logbestand.

Maken van een nieuwe Protocolhandler build

Maak nieuwe build:

  1. Kies in Visual Studio bovenaan in de dropdown list voor project OpenACProtocolhandler.
  2. Verhoog het versienummer op twee plaatsen:
    1. in OpenACProtocolhandler\AssemblyInfo.cs (na versie 1.9 komt versie 1.10, etc.)
    2. in OpenACProtocolhandler\Setup\OpenACProtocolHandler.iss, in regel: #define MyAppVersion "1.8"
  3. Kies in de Visual Studio menubalk voor Build -> Publish.
  4. Klik button Publish.
  5. Het resultaat van de publish actie is een aantal dll's, .json files, een .exe en wat .pdb files. Deze komen terecht in map OpenACProtocolHandler\bin\Release\netcoreapp3.1\publish.

Maak een installatiepackage met Inno Setup:

  1. Inno Setup kun je via onderstaande links downloaden. Gebruik versie 6.2.0.
    https://jrsoftware.org/isdl.php
    https://files.jrsoftware.org/is/6/
  2. De Inno Setup Compiler gebruikt een script en dit script gebruikt environment variable WORKSPACE.
    Deze variabele moet wijzen naar de root map van je Visual Studio projecten.
    Als dit het pad naar het script is: C:\Projecten\OpenACWebCore\OpenACProtocolHandler\Setup\OpenACProtocolHandler.iss,
    dan moet de WORKSPACE variabele zijn: C:\Projecten.
    Stel de WORKSPACE variabele in met setx vanaf een command prompt: setx WORKSPACE "C:\Projecten"
    Sluit hierna de command prompt en open een nieuwe om te controleren of de variabele goed is ingesteld met: echo %WORKSPACE%
  3. Open bestand OpenACProtocolHandler.iss in de Inno Setup Compiler.
    N.B. Als je net de environment variabele hebt aangemaakt, start dan de Inno Setup Compiler door in de Windows Explorer te dubbelklikken op de .iss file. Als je vanuit Visual Studio de .iss file opent in de Inno Setup Compiler, dan is de nieuwe environment variabele nog niet beschikbaar. (Wel nadat je Visual Studio opnieuw gestart hebt.)
  4. Kies in de menubalk voor Build -> Compile.
  5. Inno Setup Compiler creëert een map Output naast het OpenACProtocolHandler.iss script: OpenACWebCore\OpenACProtocolHandler\Setup\Output
  6. In de map Output staat het nieuwe installatiebestand OpenACProtocolHandlerSetup.exe.
  7. Open de Properties van deze .exe en kijk op tabblad 'Details' of het versienummer klopt.
  8. Zip deze .exe naar OpenACProtocolHandlerSetup.zip.

Wiki updaten:

  1. Vervang de bestaande .zip file in de Wiki door de nieuwe .zip file.
  2. Ga naar https://www.fenac.nl/openac/wiki/Documentatie/Beheerder/Modules/ProtocolHandler
  3. Klik onderaan op button Attach file.
  4. Kies de nieuw gemaakte .zip file.
  5. Vink aan Replace existing attachment of the same name.
  6. Klik op button Add attachment.

Installeer de nieuwe protocolhandler ook zelf:

  1. In Inno Setup Compiler 6.2.0 klik op de Run button.

Attachments (3)

Download all attachments as: .zip