# Webviews für PROFFIX
Webviews für Proffix sind direkt in Proffix integrierbare kleine Javascript - Projekte.
# Features
- Zugriff auf sämtliche Funktionalitäten der Proffix REST-API
- Unabhängige GUI direkt in Proffix implementiert
- Vollautoamtische Konfiguration inkl. Benutzer und Mandantenwechsel
- Schnelle und einfache Installation
# Installation
Die WebView kann ganz einfach in Proffix installiert werden.
Zuerst wird die als ZIP - Datei gelieferte WebView in einem Order entpackt. Ideal ist z.B. ein Unterordner WebViews im Proffix - Ordner zu erstellen und dort die WebView in einen weiteren Ordner zu entpacken. (z.B: P:\WebViews\DemoWebView)
Dann entweder im Hauptfenster (empfohlen bei grossen bzw. hohen oder breiten WebViews mit viel Interaktion):
Oder auf jeder beliebigen Maske mittels Zusatzfeld (empfohlen bei spezifischen WebViews):
Die in obigen Screenshots rot markierte URL kann wie folgt eingegeben werden:
# Automatische URL - Konfiguration (empfohlen)
Im produktiven Betrieb wird folgende Konfiguration empfohlen, da dann alle Werte und die gesamte Authentifizierung direkt über Proffix läuft. So werden auch bei wechselnden Mandanten und Benutzern vollautomatisch immer die korrekten Zugangsdaten verwendet.
Die einfachst, mögliche Konfiguration ist:
file:///P:/Proffix/Webviews/DemoWebView/index.html#/?pxtoken=[LoginToken]&pxurl=[RESTApiUrl]&pxdatabase=[DBName]
wobei der Pfad P:/Proffix/WebViews/DemoWebView natürlich mit dem aktuellen Pfad der WebView ersetzt werden muss.
Beispiele:
https://localhost:3000/#/?pxtoken=[LoginToken>]&pxurl=[RESTApiUrl]&pxdatabase=[DBName]&volliz=true
file:///P:/Proffix/Webviews/DemoWebView/index.html#/?pxtoken=[LoginToken]&pxurl=[RESTApiUrl]&pxdatabase=[DBName]
Parameter | Typ | Bemerkung | Platzhalter |
---|---|---|---|
pxtoken | string | Token Proffix | [LoginToken] |
pxurl | string | URL REST - API Proffix | [RESTApiUrl] |
pxdatabase | string | Datenbank Proffix | [DBName] |
volliz | boolean | Volumenlizenz verwenden |
# Manuelle URL - Konfiguration (Debug)
Zu Debugzwecken oder in Sonderfällen kann die Konfiguration manuell mitgegeben werden. Diese Werte sind jeweils fix, d.h die Webview bekommt einen Mandanten oder Benutzerwechsel nicht mit.
Beispiele:
https://localhost:3000/#/?pxuser=sp&pxpassword=d87f6a3be8ad48c61e2ce6325924cf7a9c5ba3d21d717afe13b2b0f9e6880be7&pxurl=https://int.restapipx.ch:12212&pxdatabase=DEMODB
file:///P:/Proffix/Webviews/DemoWebView/index.html#/?pxuser=sp&pxpassword=d87f6a3be8ad48c61e2ce6325924cf7a9c5ba3d21d717afe13b2b0f9e6880be7&pxurl=<https://int.restapipx.ch:12212&pxdatabase=DEMODB
Parameter | Typ | Bemerkung |
---|---|---|
pxuser | string | Benutzer Proffix |
pxpassword | string | Passwort Proffix (SHA256-Hash) |
pxurl | string | URL REST - API Proffix |
pxdatabase | string | Datenbank Proffix |
volliz | boolean | Volumenlizenz verwenden |
# LoginToken für WebViews verlängern
Die Gültigkeit der Logintokens in Proffix sind nicht immer kongruent und zum Teil sehr kurz (zwischen 5 Minuten und einigen Stunden) Damit kann es sein, dass ein Token abläuft während eine Benutzeransicht noch geöffnet ist. Das ist unschön, kann mittels folgendem Trigger aber unkompliziert korrigiert werden.
USE [DEMODB] /*** DEMODB mit dem effektiven Datenbanknamen ersetzen */
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[ExtendLoginDuration]
ON [dbo].[PRO_LoginToken]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @laufnr AS INT
DECLARE @gueltigBis AS DATETIME
SELECT @laufnr = LaufNr,@gueltigBis = GueltigBis
FROM INSERTED
UPDATE PRO_LoginToken
SET GueltigBis = DATEADD(DAY,1,@gueltigBis)
WHERE LaufNr = @laufnr
END
GO
ALTER TABLE [dbo].[PRO_LoginToken] ENABLE TRIGGER [ExtendLoginDuration]
GO
Einfach obigen Trigger kopieren, den Datenbanknamen in der ersten Zeile ersetzen und auf der betroffenen Proffix - Datenbank ausführen. Anschliessend sind sämtliche LoginTokens mindestens einen Tag lang gültig.