Zum Inhalt springen

OmniSeller.ini Referenz: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:


= OmniSeller.ini Referenz =
 
Die <code>OmniSeller.ini</code> ist die zentrale Konfigurationsdatei des OmniSeller Upload-Service. Sie befindet sich im Installationsverzeichnis des Services.
= OmniSellerUpload.ini Referenz =
Die <code>OmniSellerUpload.ini</code> ist die zentrale Konfigurationsdatei des OmniSeller Upload-Service. Sie befindet sich im Installationsverzeichnis des Services.


== Dateiformat ==
== Dateiformat ==
Zeile 10: Zeile 11:
Schluessel = Wert
Schluessel = Wert


</source>'''Hinweis:''' Bei Boolean-Werten gilt: <code>0</code> = deaktiviert, <code>1</code> = aktiviert.
</source>
 
'''Hinweis:''' Bei Boolean-Werten gilt: <code>0</code> = deaktiviert, <code>1</code> = aktiviert.


== Sektionen ==
== Sektionen ==
Zeile 17: Zeile 20:
Datenbankverbindung zur ERP-Datenbank (Sage 100).
Datenbankverbindung zur ERP-Datenbank (Sage 100).
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>ConnectionString</code>
|     <code>ConnectionString</code>
|String
| String
|–
| –
|SQL Server Connection String
| SQL Server Connection String
|-
|-  
|<code>ConnectionStringEncrypted</code>
|     <code>ConnectionStringEncrypted</code>
|0/1
| 0/1
|0
| 0
|Ob der ConnectionString verschlüsselt ist
| Ob der ConnectionString verschlüsselt ist
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 40: Zeile 43:
ConnectionStringEncrypted = 0
ConnectionStringEncrypted = 0


</source>'''Hinweis:''' Der ConnectionString kann über das Setup oder den Service selbst verschlüsselt werden. Bei <code>ConnectionStringEncrypted = 1</code> wird DPAPI zur Entschlüsselung verwendet.
</source>
 
'''Hinweis:''' Der ConnectionString kann über das Setup oder den Service selbst verschlüsselt werden. Bei <code>ConnectionStringEncrypted = 1</code> wird DPAPI zur Entschlüsselung verwendet.


=== [Host] ===
=== [Host] ===
Netzwerk-Einstellungen für die TCP-Kommunikation.
Netzwerk-Einstellungen für die TCP-Kommunikation.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Port</code>
|     <code>Port</code>
|Integer
| Integer
|10084
| 10084
|TCP-Port für Client-Signale (z.B. vom Setup)
| TCP-Port für Client-Signale (z.B. vom Setup)
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 62: Zeile 67:


</source>
</source>
=== [OmniSellerAPI] ===
=== [OmniSellerAPI] ===
Verbindung zur OmniSeller Cloud-API.
Verbindung zur OmniSeller Cloud-API.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>BaseURL</code>
|     <code>BaseURL</code>
|String
| String
|<nowiki>https://api.omnisellerservices.de</nowiki>
| <nowiki>https://api.omnisellerservices.de</nowiki>
|API-Basis-URL
| API-Basis-URL
|-
|-  
| -
| -
| -
| -
|–
| –
| -
| -
|-
|-  
|<code>Heartbeat</code>
|     <code>Heartbeat</code>
|0/1
| 0/1
|0
| 0
|Azure Service Bus Heartbeat aktivieren
| Azure Service Bus Heartbeat aktivieren
|-
|-  
|<code>Endpoint</code>
|     <code>Endpoint</code>
|String
| String
|(intern)
| (intern)
|Optionaler Custom Service Bus Endpoint
| Optionaler Custom Service Bus Endpoint
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 102: Zeile 106:


</source>
</source>
=== [ERP] ===
=== [ERP] ===
ERP-System Einstellungen.
ERP-System Einstellungen.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Type</code>
|     <code>Type</code>
|Integer
| Integer
|0
| 0
|ERP-Typ (0 = Sage 100)
| ERP-Typ (0 = Sage 100)
|}
|}


Zeile 120: Zeile 123:
Cache-Einstellungen für Artikeldaten.
Cache-Einstellungen für Artikeldaten.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>EnableTextCache</code>
|     <code>EnableTextCache</code>
|0/1
| 0/1
|0
| 0
|Text-Cache für Artikeltexte aktivieren
| Text-Cache für Artikeltexte aktivieren
|-
|-  
|<code>EnableLazyLoad</code>
|     <code>EnableLazyLoad</code>
|0/1
| 0/1
|0
| 0
|Lazy Loading für Cache aktivieren
| Lazy Loading für Cache aktivieren
|-
|-  
|<code>DailyFullRefreshHour</code>
|     <code>DailyFullRefreshHour</code>
|Integer
| Integer
| -1
| -1
|Stunde für täglichen Cache-Refresh (-1 = deaktiviert)
| Stunde für täglichen Cache-Refresh (-1 = deaktiviert)
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 151: Zeile 154:


</source>
</source>
=== [Upload] ===
=== [Upload] ===
Upload-Verhalten.
Upload-Verhalten.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>DoStorageAreas</code>
|     <code>DoStorageAreas</code>
|0/1
| 0/1
|0
| 0
|Lagerorte mit hochladen
| Lagerorte mit hochladen
|-
|-  
|<code>DoXMLMediaAttributs</code>
|     <code>DoXMLMediaAttributs</code>
|0/1
| 0/1
|0
| 0
|XML-Media-Attribute verarbeiten
| XML-Media-Attribute verarbeiten
|}
|}


Zeile 174: Zeile 176:
JSON-Logging in die Datenbank.
JSON-Logging in die Datenbank.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>RetentionDays</code>
|     <code>RetentionDays</code>
|Integer
| Integer
|3
| 3
|Anzahl Tage die Log-Einträge aufbewahrt werden
| Anzahl Tage die Log-Einträge aufbewahrt werden
|-
|-  
|<code>DropRecreateOnCleanupFail</code>
|     <code>DropRecreateOnCleanupFail</code>
|0/1
| 0/1
|1
| 1
|Tabelle neu anlegen wenn Cleanup fehlschlägt
| Tabelle neu anlegen wenn Cleanup fehlschlägt
|}
|}


Zeile 193: Zeile 195:
Spezielle Logging-Optionen.
Spezielle Logging-Optionen.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Pricelog</code>
|     <code>Pricelog</code>
|0/1
| 0/1
|0
| 0
|Detailliertes Preis-Debugging aktivieren
| Detailliertes Preis-Debugging aktivieren
|}
|}
Bei <code>Pricelog = 1</code> wird eine Datei <code>preislogiclog.txt</code> im Service-Verzeichnis erstellt mit:
Bei <code>Pricelog = 1</code> wird eine Datei <code>preislogiclog.txt</code> im Service-Verzeichnis erstellt mit:


* Queue-Einträge die verarbeitet werden
* Queue-Einträge die verarbeitet werden
* Aktivierte Tracking-Optionen
* Aktivierte Tracking-Optionen
* SQL-Abfragen
* SQL-Abfragen
* Übersprungene Artikel und Gründe
* Übersprungene Artikel und Gründe


Zeile 216: Zeile 215:
Automatische Erkennung von Datenänderungen. Siehe auch: [[OmniSeller Upload-Service: Change Tracking]]
Automatische Erkennung von Datenänderungen. Siehe auch: [[OmniSeller Upload-Service: Change Tracking]]
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Enabled</code>
|     <code>Enabled</code>
|0/1
| 0/1
|0
| 0
|'''Master-Switch''' – muss 1 sein damit Change Tracking funktioniert
| '''Master-Switch''' – muss 1 sein damit Change Tracking funktioniert
|-
|-  
|<code>IntervalMs</code>
|     <code>IntervalMs</code>
|Integer
| Integer
|5000
| 5000
|Prüf-Intervall in Millisekunden
| Prüf-Intervall in Millisekunden
|}
|}


==== Tracking-Optionen ====
==== Tracking-Optionen ====
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Tabelle
! Tabelle
!Beschreibung
! Beschreibung
|-
|-  
|<code>TrackPrices</code>
|     <code>TrackPrices</code>
|KHKPreislistenArtikel
| KHKPreislistenArtikel
|Einzelpreise in Preislisten
| Einzelpreise in Preislisten
|-
|-  
|<code>TrackKHKPreislisten</code>
|     <code>TrackKHKPreislisten</code>
|KHKPreislisten
| KHKPreislisten
|Gültigkeitsänderung der Preisliste selbst
| Gültigkeitsänderung der Preisliste selbst
|-
|-  
|<code>TrackPriceListValidity</code>
|     <code>TrackPriceListValidity</code>
|–
| –
|Täglicher Check ob Preislisten gültig/ungültig wurden
| Täglicher Check ob Preislisten gültig/ungültig wurden
|-
|-  
|<code>TrackAttributes</code>
|     <code>TrackAttributes</code>
|oHTKAttributeEntities
| oHTKAttributeEntities
|Artikelattribute
| Artikelattribute
|-
|-  
|<code>TrackKHKArtikel</code>
|     <code>TrackKHKArtikel</code>
|KHKArtikel
| KHKArtikel
|Artikel-Stammdaten
| Artikel-Stammdaten
|-
|-  
|<code>TrackKHKArtikelVarianten</code>
|     <code>TrackKHKArtikelVarianten</code>
|KHKArtikelVarianten
| KHKArtikelVarianten
|Artikelvarianten
| Artikelvarianten
|-
|-  
|<code>TrackKHKArtikelLagerbewegungen</code>
|
|KHKArtikelLagerbewegungen
<br>
|Lagerbewegungen
|
|-
<br>
|<code>TrackKHKArtikelStueckliste</code>
|
|KHKArtikelStueckliste
<br>
|Stücklisten
|-  
|-
|     <code>TrackKHKArtikelStueckliste</code>
|<code>TrackHTKOmniAlternativeSKU</code>
| KHKArtikelStueckliste
|HTKOmniAlternativeSKU
| Stücklisten
|Alternative SKUs
|-  
|-
|     <code>TrackHTKOmniAlternativeSKU</code>
|<code>TrackOHTKSyncData</code>
| HTKOmniAlternativeSKU
|oHTKSyncData
| Alternative SKUs
|Sync-Daten
|-  
|-
|     <code>TrackOHTKSyncData</code>
|<code>TrackOHTKSyncDataClient</code>
| oHTKSyncData
|oHTKSyncDataClient
| Sync-Daten (nur Trigger als Auslöser möglich)
|Client-Sync-Daten
|-  
|     <code>TrackOHTKSyncDataClient</code>
| oHTKSyncDataClient
| Client-Sync-Daten (Medien)
|}
|}
'''Beispiel für Preis-Tracking:'''<source lang="ini">
'''Beispiel für Preis-Tracking:'''<source lang="ini">
Zeile 297: Zeile 299:


</source>
</source>
 
==  <br>Neue Funktion betreffend CrossSelling im Bereich Upload:<br>[Upload]<br>  CrossSellingOnFirstUpload=0   ; Default: kein CrossSelling beim ersten Upload<br>  CrossSellingOnFirstUpload=1   ; NEU: CrossSelling auch beim ersten Upload laden<br><br><br>Vollständiges Beispiel ==
=== [Portal''N''] ===
Portal-spezifische Einstellungen (N = Portal-ID).
{| class="wikitable"
!Schlüssel
!Typ
!Beschreibung
|-
|<code>Enabled</code>
|0/1
|Portal aktiviert
|-
|<code>Type</code>
|String
|Portal-Typ (z.B. "Shopware6", "Magento2")
|-
|<code>URL</code>
|String
|Shop-URL
|-
|<code>APIKey</code>
|String
|API-Schlüssel
|-
|<code>APISecret</code>
|String
|API-Secret
|}
'''Beispiel:'''<source lang="ini">
 
[Portal1]
 
Enabled = 1
 
Type = Shopware6
 
URL = https://meinshop.de
 
APIKey = SWIA...
 
APISecret = ...
 
</source>
 
== Vollständiges Beispiel ==
<source lang="ini">
<source lang="ini">


Zeile 418: Zeile 376:
TrackOHTKSyncDataClient = 0
TrackOHTKSyncDataClient = 0


[Portal1]
[Upload]
 
Enabled = 1
 
Type = Shopware6


URL = https://meinshop.de
DefaultLanguage = DE
 
APIKey = SWIA...
 
APISecret = ...


</source>
</source>
== Hinweise ==
== Hinweise ==


* Nach Änderungen an der INI-Datei muss der Service neu gestartet werden
* Nach Änderungen an der INI-Datei muss der Service neu gestartet werden
* Die Datei wird beim ersten Start automatisch mit Standardwerten erstellt
* Die Datei wird beim ersten Start automatisch mit Standardwerten erstellt
* Fehlende Schlüssel werden mit Standardwerten behandelt
* Fehlende Schlüssel werden mit Standardwerten behandelt
* Bei verschlüsseltem ConnectionString: Nicht manuell bearbeiten!
* Bei verschlüsseltem ConnectionString: Nicht manuell bearbeiten!


Zeile 445: Zeile 391:


* [[OmniSeller Upload-Service Installation]]
* [[OmniSeller Upload-Service Installation]]
* [[OmniSeller Upload-Service: Change Tracking]]
* [[OmniSeller Upload-Service: Change Tracking]]
* [[OmniSeller Preislogik]]
* [[OmniSeller Preislogik]]