# List Viewer für PROFFIX
Listen und Auswertungen aus PROFFIX remote betrachten, freigeben, teilen und skripten...
# Features
- Zugriff auf sämtliche Listen und Auswertungen aus PROFFIX
- Unabhängige Benutzerverwaltung (keine PROFFIX Benutzer nötig)
- Individueller Zugriff auf Listen konfigurierbar
- Einfaches Teilen / Freigeben von Auswertungen und Listen via WebUI
- Erweiteres Skripting / Ansteuern der Listen mittels Javascript
- Kann lokal oder auf Server als Dienst installiert werden
- Plattformunabhängig. Siehe auch Installation
# Listen
Jeder Benutzer kann Listendefinitionen aus PROFFIX importieren und mit Selektionen / Sortierungen vorbefüllen.
Die so gespeicherten Listen können direkt als PDF exportiert oder auf einen mit der PROFFIX REST-API verbundenen Drucker gesendet werden.
Jede Liste kann mehrfach und in anderer Konstellation gespeichert werden.
# Selektionen / Sortierung
Die aus PROFFIX gewohnte Selektion können pro Benutzer und Liste gespeichert - aber auch jederzeit vor dem Export / Druck übersteuert werden.
Analog dazu sind die Listen auch sortierbar.
# Freigabe
Ähnlich wie bei grossen Onlinediensten können Sie Listen freigeben. Im Unterschied zu statischen PDF's sind die Listen in ListViewer dynamisch, das heisst sie werden erst bei Abruf generiert. In Kombination mit Skripts sind dadurch interessante, unkomplizierte und trotzdem sehr sichere Kombinationen möglich, z.B:
- Report für Verwaltungsrat / Geschäftsleitung in Form einer freigegebenen, passwortgeschützten Liste welche tagesaktuelle Zahlen enthält
- Report für Kunden welches alle offenen Projektkosten enthält
- Report für Kunden mit allen gelieferten Artikeln ...
# Freigabe erstellen
Um eine Freigabe zu erstellen muss der Benutzer über das Recht CreateShares verfügen. Die Freigabe kann dann auf der entsprechenden Liste im Tab Freigabe erfolgen.
Individuelle Freigabemöglichkeiten sind konfigurierbar.
Variante | Funktion |
---|---|
Mit Passwort schützen | Freigabe verlangt vor jedem Abruf / Download ein Passwort |
Drucker erlauben | Erlaubt die via REST-API ansprechbaren Drucker zu nutzen |
Anzahl Abrufe limitieren | Erlaubt nur eine bestimmte Anzahl von Aufrufen der Liste |
Zeitraum einschränken | Liste kann nur bis zum definierten Datum abgerufen werden |
TIP
Wenn der Endbenutzer Selektionen und Sortierungen vornehmen möchte, eignet sich eine Freigabe weniger. Erstellen Sie in diesem Fall einen neuen Benutzer mit vordefinierten Listen.
# Skripts
Als Erweiterung zu den herkömmlichen Listen, erlaubt ListViewer die Parameter der einzelnen Listen mittels Javascript zu übersteuern.
Die jeweils verfügbaren Variablen pro Liste werden im Tab Variablen ausgegeben:
Zusätzlich sind diverse Hilfsfunktionen und -variablen verfügbar:
Name | Typ | Funktion |
---|---|---|
pxdate | Funktion | Wandelt ein Javascript Datum in ein PROFFIX Datum um |
userUUID | string | Gibt die einzigartige UUID des angemeldeten Benutzers zurück |
userRoles | array | Gibt die Rollen des angemeldeten Benutzers zurück |
ipAddress | string | Gibt die IP-Adresse des anfragenden Benutzers zurück |
TIP
Die Skripts laufen getrennt vom Hauptsystem und werden vor jedem Aufruf der Liste neu berechnet.
# Benutzer
Es können beliebig viele Benutzer konfiguriert werden.
Folgende Rollen können den Benutzern vergeben werden:
Rolle | Berechtigung |
---|---|
Administrator | Administrator: Kann und darf alles |
ViewLogs | Logs betrachten und löschen |
EditHilfstabellen | Hilftstabellen editieren und löschen |
EditLists | Persönliche Listen erstellen, vordefinieren und löschen |
CreateShares | Für persönliche Listen Freigaben erstellen und diese teilen |
# Benutzer mit eingeschränkten / vordefinierten Listen
Wenn ein Benutzer nur über bestimmte Listen verfügen soll bzw. nur bestimmte Auswertungen machen darf:
- Benutzer erstellen mit Recht EditLists
- Gewünschte Listen zu persönlichen Listen hinzufügen
- Benutzer das Recht EditLists wieder entziehen
Der Benutzer kann die Listen dann nicht mehr löschen oder neue hinzufügen.
# Hilfstabellen
Die Funktion Hilfstabellen ist ein Work-Around um Selektionen in ListViewer besser darzustellen. Der Benutzer ist sich aus PROFFIX gewohnt, bei Listenselektionen eine Auswahlschaltfläche für Hilfs- und Zusatztabellen zur Verügung zu haben. Leider werden diese Zuweisungen / Angaben in der PROFFIX REST-API nicht so übermittelt, d.h. diese Zuweisung muss einmalig erfolgen (viele Zuweisungen wurden vordefiniert)
ListViewer erstellt für jede Liste beim erstmaligen Generieren automatisch die fehlenden Hilftabellen / Zuweisungen. Diese werden auf inaktiv gesetzt und müssen im Tab Hilftsabellen wie folgt ergänzt werden.
Beispiel:
Obige Werte können aus der PROFFIX REST-API Dokumentation (opens new window) entnommen werden
Nr | Name | Zweck |
---|---|---|
1 | Feld | Feldname; Wird verwendet wenn der Pfad nicht abgefüllt ist |
2 | Pfad | Pfad gemäss Listendefinition; Spezifischer Pfad, wenn zwei gleiche Felder vorhanden sind |
3 | Kurzbezeichnung | Häufig "Bezeichnung": Wert welcher in Dropdown-Listen als Selektion angezeigt wird |
4 | Schlüsselfeld | Schlüsselfeld des Endpunktes. In der Dokumentation immer unterstrichen dargestellt |
5 | Endpunkt | Endpunkt für die Abfrage in der REST-API |
6 | Queryfields | Normalerweise gleich wie Suchfelder. Filtert die Abfrage nur nach diesen Feldern |
7 | Suchfelder | Normalerweise gleich wie Queryfields. Sucht im Endpunkt nach Werten in diesen Feldern |
WARNING
Wenn Werte falsch abgefüllt werden, können einzelne Selektionen temporär nicht mehr funktionieren. Wenn Sie unsicher sind - rufen Sie uns kurz an.
# Installation
Das Tool / Webservice besteht aus einer einzigen, kompilierten Datei und muss grundsätzlich nicht installiert sondern kann auch einfach ausgeführt werden.
Für den produktiven Einsatz empfiehlt sich die Installation als Service (Windows / Linux / Mac).
# Erstinstallation
Beim erstmaligen Öffnen erstellt das Tool automatisch folgende Dateien:
- cfg.json (Datei für Konfiguration Webservice)
- listviewer.db (SQLight Datenbank)
In der Standardkonfiguration ist das App dann unter http://127.0.0.1:1323 (opens new window) erreichbar. Die Anmeldedaten für den erstmaligen Login sind admin mit dem Passwort 123456
# Installation als Service
- Neuen Ordner erstellen (z.B. C:\Listviewer)
- Tool hineinkopieren. Evtl. vorgängig erstellte cfg.json / listviewer.db mitkopieren
- Die Kommandozeile als administrativer Benutzer öffnen und das Tool mit dem Parameter -install installieren
- Das Tool ist nun als Dienst installiert und kann z.B. über die Windows Diensteverwaltung gestartet / gestoppt werden
TIP
Bei Änderungen an der Konfiguration (z.B. neuer Port, neues SSL-Zertifikat) muss der Dienst neu gestartet werdens
# Konfiguration Webservice
Beim Start / Installation wird im Ordner der ausführbaren Datei automatisch ein cfg.json erstellt.
{
"Port": 1323,
"SSLCert": "",
"SSLKey": "",
"LetsEncrypt": false
}
Parameter | Typ | Bemerkung |
---|---|---|
Port | int | Port des Webapps |
SSLCert | string | Pfad zum .crt - File des SSL - Zertifikats (fakultativ) |
SSLKey | string | Pfad zum .key - File des SSL - Zertifikats (fakultativ) |
LetsEncrypt | bool | Wenn aktiv wird automatisch ein LetsEncrypt - Zertifikat generiert. |
Um automatisch ein LetsEncrypt Zertifikat zu generieren, muss der Aufruf via DNS - Adresse und nicht via IP - Adresse erfolgen.
- ❌ 192.168.1.189:1323
- ❌ 127.0.0.1:1323
- ✅ demo.mycompany.ch:1323
TIP
Um sämtliche Features des Webapps (PWA / progressives Webapp) zu nutzen, muss SSL konfiguriert werden!
# Demoversion
Eine Demoversion dieses Tools kann einfach und unkompliziert automatisch bezogen werden. Details dazu finden Sie unter Demo