# FINN.ghost Systemhandbuch # System- und Installationsvoraussetzungen #### FINN.ghost Technologie und Architektur FINN.ghost stellt die Verbindung zwischen der SelectLine Software und Drittprogrammen (z.B. Webshops, Artikelkataloge, ERP-Drittsystemen, Webservices, EDI-Systemen) her. Darüber hinaus können auf dieser Technologie individuelle, kundenspezifische Applikationen erstellt werden, die plattformunabhängig genutzt werden können, da sie ein Web-UI nutzen. ##### Technische Grundlagen FINN.ghost: - läuft als Windows Dienstprogramm - Die Administrationsoberfläche oder mögliche Programmmasken werden im WEB-UI ausgeführt und sind somit plattformunabhängig (IOS, Windows, Android). - Die Programmadministration oder individuelle Programmmasken können wahlweise im Browserfenster oder innerhalb der SelectLine Dashboards ausgeführt werden. - Die Software benötigt keine eigene Datenbank bzw. stellt sie innerhalb der Module automatisch bereit. - Nutzt die SelectLine REST-API ##### Systemvoraussetzungen - SelectLine Warenwirtschaft in der Standard-Ausführung - Die Version der SelectLine muss mit der Version des FINN.ghosts übereinstimmen (23.1.X = 23.1.X) - Aktive SL API-Lizenz für den AppKey: **FINN.ghost;** bei der Lizenz **"SelectLine Shopify-Anbindung"** ist die API in der Lizenz bereits enthalten ##### Installationsvoraussetzungen - Info über SQL-Benutzer mit dem Recht Tabellen anzulegen (z.B. sa) - Info über Windows Administrator Kennwort - Zugangsdaten (URL, Benutzer) von sl.mobile Admin-Oberfläche - SL Benutzer in SL anlegen mit den Rechten auf den Shop Mandanten - API-Benutzer in sl.mobile angelegt und mit SL Benutzer verknüpft (Rechte anpassen) - (Vorzugsweise ein Zugang zum Server mit sl.mobile per RDP-Verbindung) # Installation & Konfiguration # Installation und Update #### Installation ##### Setup herunterladen [AKTUELLE VERSION](https://dako-it.com/ghost/latest.php) [TEST VERSION](https://dako-it.com/ghost/downloadTest/) [ÄLTERE VERSIONEN](https://dako-it.com/ghost/download/) ##### Installationsschritte Starten Sie die Installation mit der "SelectLine.ghost Setup xx.x.x.xxxxxx.exe". Der Ordner-Name wird für den Namen des "Dienstes" und der Bezeichnung des Browser-Tap übernommen.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-09/scaled-1680-/2R2image.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-09/2R2image.png)
Aktivieren Sie den Punkt "Öffne SelectLine.ghost im Browser" und gehen auf "Fertigstellen".
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-09/scaled-1680-/9Erimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-09/9Erimage.png)
Im geöffnetem Standard Browser können Sie mit der Anpassung der Einstellungen vom SelectLine.ghost beginnen. #### Update > Durch die Schnittstellen- Funktionen der SelectLine-API und der Shopify-API sowie die Wünsche der Anwender, wird die Anwendung ständig weiterentwickelt. > In der Fußzeile des Browser finden Sie die Version ihrer Installation. Die Version sollte immer der aktuell gültigen SelectLine Version entsprechen. > >
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/puMimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/puMimage.png) > >
Auf der Startseite des SelectLine.ghosts sehen Sie neben den News den Changelog und bekommen angezeigt, ob ein Update verfügbar ist. Ab Version 23.1.6.240831 Tastenkombination: strg + alt + u Damit starten Sie ein Update vom Ghost. Dies wird vollständig automatisch im Hintergrund durchgeführt Bei älteren Versionen
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-09/scaled-1680-/sjcimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-09/sjcimage.png)
Nach dem Herunterladen des Setups führen Sie die gleichen Schritte wir bei der Installation durch. Beachten Sie dabei, den selben Ordner für das Installationsverzeichnis zu wählen:
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-01/scaled-1680-/5YBimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-01/5YBimage.png)
Diesen Dialog können Sie bestätigen. Nach Abschluss des Updates prüfen Sie bitte, ob sich der Ghost über den Browser starten lässt. Ist dies erfolgreich, ist das Update abgeschlossen. # SelectLine - Einstellungen ### Start der SelectLine-Einstellungen Nach einer erfolgreichen Installation haben Sie mit dem Link über den Browser das Back End des FINN.ghost|Dienst aufgerufen.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/W8timage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/W8timage.png)
**Über das Menü wechseln Sie auf SelectLine -> Einstellungen**
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/Sx1image.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/Sx1image.png)
Hier werden alle Anpassungen zur Integration in ihre Datenstruktur vorgenommen. Der Zugriff auf ihre Daten wird über die SL API (Bestandteil von SL Mobile) und die SL SQL Datenbank hergestellt. ### Konfigurationsbereiche #### Datenbank
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/BcRimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/BcRimage.png)
An dieser Stelle wird die Verbindung zu der MS-SQL Datenbank der SelectLine hergestellt.
**Name**Name der SQL Datenbank des gewünschten SL Mandant (Beispiel: SL\_MMandant)
**Host**SQL Server Instanz (Beispiel: srv\_ghost\\sqlexpress)
**Nutzer & Passwort**An dieser Stelle wird ein Benutzer der SQL-Servers benötigt, der entsprechende Rechte auf die Tabellen der Datenbank besitzt. (Beispiel: sa)
#### API
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/2Q3image.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/2Q3image.png)
Hier erfolgt die Verbindung zu der SelectLine-API.
**URL**URL zum Aufruf der API. Nehmen Sie die URL zum SL-Mobile und ändern "slmobile" zu "slmobileApi". (Beispiel: https://localhost/slmobileApi)
**AppKey**tragen Sie den AppKey "SelectLine.ghost" ein *(nicht erforderlich bei der SelectLine Shopify Anbindung). Diesen haben Sie beim Erwerb der API Schnittstelle von SelectLine vorab angegeben. Die kann auch in SelectLine unter Hilfe -> Lizenzierung -> AppKeys eingesehen werden. Sind hier Abweichungen, muss der aus Key aus SelectLine in den Ghost übernommenen werden.*
**Nutzer & Passwort**tragen Sie hier den in der SL-API-Konfiguration (SL Mobile) konfigurierten API-Benutzer ein
#### Lizenz
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/qnHimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/qnHimage.png)
Die Lizenz wird vom Fachhändler oder Dako-IT bereitgestellt. Sie steuert, welche Module des SelectLine.ghosts freigeschalten werden. #### FINN.ghost
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/8puimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/8puimage.png)
**Port**Über diesen Port ist die Oberfläche des SelectLine.ghots aufzurufen. Planen Sie mehrere Ghosts zu betrieben, empfiehlt es sich, diesen Port anzupassen.
**Bildformat**Hier legen Sie fest, in welchem Bildformat die Bilder aus der SelectLine an das angeschlossene Shopsystem übertragen werden. Dabei spielt es keine Rolle, in welchem Format die Bilder in SL gespeichert sind. Sie können aktuell zwischen png, jpg, webp und original wählen.
**Nutzeranmeldung**Bei Aktivierung ist eine Benutzeranmeldung erforderlich. Die Login Daten entsprechen den API Benutzern aus SL-Mobile.
**EU-Auslands-Kontogruppen (OSS-Verfahren)**An dieser Stelle kann das OSS-Verfahren konfiguriert werden. Sie können für jedes Land festlegen, welche Kontengruppe bei dem Import von Bestellungen für den Kunden verwendet werden soll. Hierbei wird das Land der Lieferadresse berücksichtigt.
**Zertifikat**Damit das Zertifikat im Browser als sicher angezeigt wird, muss dieses Installiert werden. Siehe hierzu: [Zertifikat einrichten](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/zertifikat-einrichten)
#### E-Mail
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/D3Eimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/D3Eimage.png)
Die Konfiguration für den E-Mail Versand (SMTP) ist optional. Die E-Mail-Funktion dient dem Versand von Log Informationen.
**Host**SMTP Server
**Port**Port des Protokolls
**Verschlüsselte Verbindung**aktiviert Verschlüsselung
**Microsoft365**aktiviert die Verwendung eines Microsoft365 Account
**Nutzer**Benutzername
**Passwort**Kennwort
**Absender**Absender Mail Adresse
**Absender Name**Absender Anzeigename
**Empfänger**Ziel Mailadresse
**Betreff**Individueller Mail Betreff
**Intervall**Zeit Intervall zum versenden von Mails (in Minuten)
##### E-Mail - M365 OAuth
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-05/scaled-1680-/Jk1image.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-05/Jk1image.png)
Um OAuth zu aktivieren muss im Azure Portal eine neue App Registrierung angelegt werden. Dabei sollte ein eindeutiger Name vergeben werden und die Umleitungs-URI muss die URL der FINN.ghost Installation sein die auf `/api/settings/oauth/redirect` endet. [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-05/scaled-1680-/roMimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-05/roMimage.png) Als nächstes muss im Reiter **Zertifikate & Geheimnisse** ein neuer Clientschlüssel erstellt werden. Nach der Erstellung wird ihnen der Wert angezeigt, diesen fürs erste abspeichern. [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-05/scaled-1680-/tczimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-05/tczimage.png) Als letzten Schritt müssen wir im Reiter **API-Berechtigungen** zwei neue Berechtigungen hinzufügen und diese einwilligen. 1. Microsoft Graph -> Delegierte Berechtigungen -> offline\_access 2. Microsoft Graph -> Delegierte Berechtigungen -> SMTP.Send [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-05/scaled-1680-/wbVimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-05/wbVimage.png) Jetzt muss lediglich aus dem Reiter Übersicht die Daten in die FINN.ghost Konfiguration übernommen werden.
Azure FeldFINN.ghost Feld
Anwendungs-ID (Client)Client ID
Verzeichnis-ID (Mandant)Tenant ID
Die Redirect URI ist der Wert der beim Anlegen der App hinterlegt wurde. ( in unserem Fall https://192.168.2.35:8083/api/settings/oauth/redirect ) Und als Client Secret wird der zuvor abgespeicherte Wert eingefügt. [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-05/scaled-1680-/Brpimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-05/Brpimage.png) Nachdem Klick auf **Verbinden**, werden Sie aufgefordert sich mit einem Microsoft Konto anzumelden. ### Weitere Module Je nach erworbener Lizenz, werden weitere Module als Menü eingeblendet.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/PEjimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/PEjimage.png)
# Zertifikat einrichten Das der Browser beim Zugriff auf den Ghost eine sichere Verbindung erkennt, muss ein Zertifikat eingerichtet werden. Dazu sind zwei Schritte erforderlich. **Voraussetzung:** Im Link zum Ghost muss der PC Name und nicht die IP enthalten sein. https://ihrghostserver:8084 ##### **1. Zertifikat auf in der Ghost Installation hinterlegen** SelecLine -> Einstellung -> FINN.ghost
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/dphimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/dphimage.png)
Mit dem Button "ZERTIFIKAT DOWNLOAD" bitte die Datei cert.zip runterladen und entpacken. Die beiden Dateien (server.cert, server,key) in das folgende Verzeichnis ihrer Ghost-Installation verschieben. C:\\DAKO\\FINN.ghost\\data\\ssl Die Dateien im Ordner "ssl" können Sie überschreiben. Danach bitte unter "Dienste" den Ghost Dienst neu starten. ##### **2. Zertifikat am Client PC installieren** Dazu laden Sie sich dieses mit dem Button "ROOT ZERTIFIKAT DOWNLOAD" herunter und installieren es, je nach verwendetem Browser. Die Schritte zur Einrichtung weichen je nach verwendetem Browser ab. ##### Firefox Firefox verwaltet die Zertifikate in den eigenen Einstellungen unter [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/vFPimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/vFPimage.png) Hier "Importieren" Sie bitte die heruntergeladenen Datei "RootCA.crt" [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/q2pimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/q2pimage.png) ##### Chrome und andere Verwaltung über das Betriebssystem Windows. Installieren Sie das Zertifikat mit einem Doppelklick auf die Datei "RootCA.crt". [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/gaCimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/gaCimage.png) in diesem Dialog wählen Sie bitte das aus und bestätigen alle weiteren Dialoge
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-10/scaled-1680-/image.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-10/image.png) [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-10/scaled-1680-/dsoimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-10/dsoimage.png)
# Zertifikat erstellen (optional) #### Root-Zertifikat erstellen ```bash openssl req -x509 -nodes -new -sha256 -days 10000 -newkey rsa:2048 -keyout RootCA.key -out RootCA.pem -subj "/C=DE/CN=DAKO-Root-CA" openssl x509 -outform pem -in RootCA.pem -out RootCA.crt ``` Das RootCA.crt muss dann am Rechner installiert werden werden. Siehe: [Zertifikat einrichten](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/zertifikat-einrichten) #### Server-Zertifikat ausstellen ```bash openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj "/C=DE/ST=Brandenburg/L=Spremberg/O=DAKO-IT/CN=XXXXXDOMAINNAMEXXXXX" openssl x509 -req -sha256 -days 7000 -in server.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -extfile domains.ext -out server.cert ``` server.key und server.pem müssen im Ghost hinterlegt werden. Siehe: [Zertifikat einrichten](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/zertifikat-einrichten) # Makros In den Ghost Modulen finden Sie den Punkt Makro. Hier können in SL erstellte Makros eingetragen werden, um Daten selektiert vor bzw. nach der Übertragung zu bearbeiten.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-10/scaled-1680-/TlCimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-10/TlCimage.png)
Tragen Sie im entsprechendem Feld den Dateinamen (nicht die Bezeichnung) den SL automatisch vergibt ein.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-10/scaled-1680-/sp9image.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-10/sp9image.png)
Wenn Sie den Kurser im Feld haben, werden ihnen die erforderlichen "Parameter" des Makros angezeigt. Diese müssen gleichlautend vorhanden sein. # Zeitsteuerung der Module (allgemein) #### Die Prozesse Die Zeitsteuerung kann aktiviert bzw. deaktiviert werden, dies wirkt sich auf alle Module innerhalb einer Ghost-Installationen aus. Bei inaktiv, sind Anpassungen an den Einstellungen ebenfalls nicht möglich. Das manuelle starten einzelner Prozesse ist über den Play Button immer möglich.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/gFiimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/gFiimage.png)
In der Spalte "Timer" sind die verschiedenen Prozesse zur besseren Übersicht in Gruppen aufgelistet. Bei vorhandenen Einstellungen zum Intervall ist unter "letzte Ausführung" und "nächste Ausführung" der Status zu erkennen. Unter dem Punkt Intervall können mit einem Klick auf die Uhrzeit Einstellungen vorgenommen werden,
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/LpJimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/LpJimage.png)
Tragen Sie eine Uhrzeit ein (zum Beispiel 05:00:00), wird die Aufgabe alle 5 Stunden ausgeführt. Aktivieren Sie zusätzlich **"Feste Zeit"**, so wird die Aufgabe jeden Tag im 05:00 Uhr ausgeführt. In der Regel werden nie zwei Aufgaben gleichzeitig durchgeführt. Bei parallelen Aufgaben kommt keine Warteschlange zum Einsatz. Die jeweilige Aufgabe bekommt dann den Status "warten". Möchten Sie die Warteschlange für eine Aufgabe ausschalten, so wählen Sie den Schalter **"Parallel ausführen"** an. #### Status-, Log Meldungen: Hier sieht man aktuelle Statusmeldungen vom Ghost. Für Detaillierte Informationen können Sie [hier](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/log-informationen) den kompletten Log einsehen. [![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/WGFimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/WGFimage.png) # Log Informationen In der oberen Spalte rechts finden Sie den Button für die Anzeige der Log Einträge:
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2023-08/scaled-1680-/NIMimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2023-08/NIMimage.png)
In der ersten Spalte steht der Typ der Meldung. Hier können DEBUG, INFO oder ERROR als Typen auftauchen. In der zweiten Spalte wird das Datum mit Uhrzeit angezeigt. Die letzte Spalte beinhaltet die Nachricht.
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-01/scaled-1680-/6vUimage.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-01/6vUimage.png)
In dieser Ansicht werden die letzten 10000 Einträge der letzten 25 Stunden angezeigt. #### Alle Log-Einträge einsehen und dem DAKO-Support bereitstellen Um alle Logs einzusehen und dem DAKO-Support zur Verfügung zu stellen, kann das vollständige Log als ZIP-File heruntergeladen werden:
[![image.png](https://wiki.dako-it.com/uploads/images/gallery/2025-01/scaled-1680-/q3Limage.png)](https://wiki.dako-it.com/uploads/images/gallery/2025-01/q3Limage.png)
# Anpassungen über die "config.json" In der `config.json` werden alle Anpassungen gespeichert. Die Datei befindet sich im Haupt-Installationsverzeichnis und wird bei einem Update vom Ghost nicht überschrieben. Im gleichem Verzeichnis befindet sich die Datei `config.json.tmp`. Diese ist immer eine Kopie von der "config.json" vor der letztem Änderung. ### Dateien im Dateisystem ablegen Wenn die Dateien von Journalen nicht in der Datenbank abgelegt werden sollen, kann konfiguriert werden, dass dies im Dateisystem erfolgt. Hier muss der Pfad des System-Ordners der SelectLine hinterlegt werden. Sollte die Schnittstelle nicht auf dem selben System wie die SelectLine installiert sein, so muss es ein Netzwerkpfad sein. ```json { ... "systemPath": "\\\\sql03\\SelectLineSQL2022_SRV\\SYSTEM", ... } ```